/* MST Parent Portal v2 — Mobile-First + Calendar */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700&family=JetBrains+Mono:wght@400;500&display=swap');
:root{--pp-bg:#0B0F1A;--pp-surface:#131825;--pp-surface-2:#1A2035;--pp-border:#1E2A42;--pp-border-2:#253352;--pp-green:#22C55E;--pp-green-dim:rgba(34,197,94,.12);--pp-green-glow:rgba(34,197,94,.25);--pp-blue:#3B82F6;--pp-blue-dim:rgba(59,130,246,.12);--pp-purple:#A855F7;--pp-amber:#F59E0B;--pp-amber-dim:rgba(245,158,11,.12);--pp-red:#EF4444;--pp-red-dim:rgba(239,68,68,.12);--pp-text:#F1F5F9;--pp-text-2:#CBD5E1;--pp-text-3:#A0AABB;--pp-text-4:#7888A0;--pp-font:'DM Sans',system-ui,-apple-system,sans-serif;--pp-mono:'JetBrains Mono',monospace;--pp-r:14px;--pp-r-sm:10px;--pp-r-xs:6px;--pp-safe-b:env(safe-area-inset-bottom,0px)}

/* Base */
[x-cloak]{display:none!important}
.mst-pp,.mst-pp *{box-sizing:border-box;margin:0;padding:0}
.mst-pp{font-family:var(--pp-font);background:var(--pp-bg);color:var(--pp-text);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh}
.mst-pp a{color:var(--pp-green);text-decoration:none}
.mst-pp h1{font-size:20px;font-weight:700;letter-spacing:-.03em}
.mst-pp h2{font-size:15px;font-weight:700}
.mst-pp h3{font-size:14px;font-weight:600}
.t3{font-size:13px;color:var(--pp-text-3)}.t4{font-size:12px;color:var(--pp-text-4)}
.pp-mono{font-family:var(--pp-mono);font-size:13px;font-weight:600}
.pp-row{display:flex}.pp-row--between{justify-content:space-between;align-items:center}.pp-row--center{align-items:center}
.pp-hide-mob{display:none !important}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.3)}100%{transform:scale(1)}}
@keyframes slideUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 8px var(--pp-green-glow)}50%{box-shadow:0 0 20px var(--pp-green-glow)}}
.pp-anim{animation:fadeUp .35s ease both;animation-delay:var(--d,0s)}
.v-enter{transition:all .3s ease}.v-from{opacity:0;transform:translateY(8px)}.v-to{opacity:1;transform:translateY(0)}
.mo-enter{transition:all .25s cubic-bezier(.4,0,.2,1)}.mo-from{opacity:0;transform:translateY(40px)}.mo-to{opacity:1;transform:translateY(0)}.mo-out{transition:all .2s ease}

/* Buttons */
.pp-btn{font-family:var(--pp-font);cursor:pointer;border:none;border-radius:var(--pp-r-sm);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;font-size:14px;padding:10px 18px}
.pp-btn--primary{background:linear-gradient(135deg,var(--pp-green),#16a34a,#059669,var(--pp-green));background-size:300% 300%;animation:gradientShift 4s ease infinite;color:#fff;box-shadow:0 4px 16px var(--pp-green-glow)}
.pp-btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px var(--pp-green-glow)}
.pp-btn--primary:active{transform:translateY(0)}
.pp-btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none}
.pp-btn--outline{background:transparent;border:1px solid var(--pp-border);color:var(--pp-text-3)}
.pp-btn--outline:hover{border-color:var(--pp-green);color:var(--pp-green)}
.pp-btn--ghost{background:transparent;border:none;color:var(--pp-text-4);padding:6px 10px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--pp-font)}
.pp-btn--ghost:hover,.pp-btn--ghost.active{color:var(--pp-green)}
.pp-btn--sm{padding:7px 14px;font-size:12px}
.pp-btn--xs{padding:4px 10px;font-size:11px;border-radius:var(--pp-r-xs)}
.pp-btn span:first-child{font-size:16px;line-height:1}

/* Cards */
.pp-card{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-r);padding:16px;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.pp-card:hover{border-color:var(--pp-border-2);box-shadow:0 4px 24px rgba(0,0,0,.2);cursor:pointer}
.pp-card--mini{min-width:260px;flex-shrink:0;cursor:pointer;transition:.15s}.pp-card--mini:active{transform:scale(.98)}
.pp-card__bar{position:absolute;top:0;left:0;right:0;height:3px}
.pp-card__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}

/* Avatar */
.pp-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--pp-purple),var(--pp-blue));flex-shrink:0}
.pp-avatar--sm{width:28px;height:28px;font-size:11px;border-radius:8px}
.pp-avatar--md{width:40px;height:40px;font-size:16px;border-radius:12px}
.pp-avatar--lg{width:48px;height:48px;font-size:18px;border-radius:14px}

/* Badge */
.pp-badge{display:inline-flex;padding:3px 10px;border-radius:var(--pp-r-xs);font-size:11px;font-weight:600}

/* List item */
.pp-li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--pp-r-sm);transition:.15s}
.pp-li--tap{cursor:pointer}.pp-li--tap:active{background:rgba(255,255,255,.04)}
.pp-li__bar{width:3px;min-height:32px;border-radius:2px;flex-shrink:0}
.pp-li__body{flex:1;min-width:0}
.pp-li__title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-li__sub{font-size:11px;color:var(--pp-text-4);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-li__end{text-align:right;flex-shrink:0;display:flex;align-items:center;gap:8px}
.pp-li__date{font-size:13px;font-weight:600}.pp-li__time{font-size:11px;color:var(--pp-text-4)}

/* Dots */
.pp-dot{display:inline-block;width:8px;height:8px;border-radius:50%}
.pp-dot--green{background:var(--pp-green);box-shadow:0 0 6px var(--pp-green)}
.pp-dot--amber{background:var(--pp-amber);box-shadow:0 0 6px var(--pp-amber)}

/* Pills */
.pp-pills{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.pp-pills::-webkit-scrollbar{display:none}
.pp-pills--wrap{flex-wrap:wrap;overflow-x:visible;justify-content:center;gap:6px}
.pp-pill{padding:5px 14px;border-radius:20px;border:none;cursor:pointer;font-size:12px;font-weight:500;font-family:var(--pp-font);background:transparent;color:var(--pp-text-4);white-space:nowrap;transition:.15s}
.pp-pill:hover{color:var(--pp-text-2)}.pp-pill.active{background:var(--pp-green-dim);color:var(--pp-green)}

/* Options */
.pp-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;cursor:pointer;border:1px solid var(--pp-border);margin-bottom:8px;transition:.15s}
.pp-opt:active{transform:scale(.98);background:rgba(255,255,255,.03)}
.pp-opt__img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0}
.pp-opt--dashed{border-style:dashed}
.pp-opt__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}
.pp-opt__body{flex:1;min-width:0}
.pp-opt__title{font-size:14px;font-weight:600}
.pp-opt__sub{font-size:12px;color:var(--pp-text-4);margin-top:1px}
.pp-opt__price{font-size:14px;font-weight:600;color:var(--pp-green);flex-shrink:0}

/* Steps */
.pp-steps{display:flex;gap:4px;margin-bottom:4px}
.pp-step{flex:1;height:3px;border-radius:2px;background:var(--pp-border);transition:.4s}
.pp-step.active{background:var(--pp-green)}.pp-step.current{box-shadow:0 0 8px var(--pp-green-glow)}

/* Slots */
.pp-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pp-slot{padding:10px;border-radius:8px;border:1px solid var(--pp-border);text-align:center;cursor:pointer;transition:.15s;background:transparent;font-family:var(--pp-font);font-size:13px;font-weight:600;color:var(--pp-text)}
.pp-slot:active{transform:scale(.96)}
.pp-slot:hover{background:var(--pp-green-dim);border-color:var(--pp-green)}
.pp-slot.active{background:var(--pp-green-dim);border-color:var(--pp-green);color:var(--pp-green)}

/* Confirm */
.pp-confirm{padding:16px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--pp-border)}
.pp-confirm__row{display:flex;justify-content:space-between;padding:8px 0;gap:12px}
.pp-confirm__row:not(:last-child){border-bottom:1px solid var(--pp-border)}
.pp-confirm__row span,.pp-confirm__row strong{font-size:13px}

/* Success */
.pp-success{text-align:center;padding:32px 16px}
.pp-success__icon{font-size:48px;margin-bottom:16px;animation:checkPop .4s ease both}
.pp-success h3{font-size:18px;margin-bottom:8px}

/* Inputs */
.pp-input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--pp-border);background:var(--pp-bg);color:var(--pp-text);font-size:14px;font-family:var(--pp-font);transition:.2s}
.pp-input:focus{outline:none;border-color:var(--pp-green)}

/* Alert */
.pp-alert{padding:12px 16px;border-radius:var(--pp-r-sm);margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500}
.pp-alert--info{background:var(--pp-blue-dim);border:1px solid rgba(59,130,246,.25);color:var(--pp-blue)}

/* Labels */
.pp-label{font-size:11px;color:var(--pp-text-4);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}

/* Empty */
.pp-empty{text-align:center;padding:24px 16px;color:var(--pp-text-4)}

/* Billing */
.pp-billing-hero{background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(59,130,246,.06));border-radius:var(--pp-r-sm);padding:16px;border:1px solid var(--pp-border)}
.pp-billing-total{font-size:28px;font-weight:700;letter-spacing:-.03em}
/* Billing stat boxes */
.pp-bstat{text-align:center;padding:8px 12px;background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:8px;min-width:52px}
.pp-bstat--warn{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}
.pp-bstat--link:hover{border-color:var(--pp-green);background:rgba(34,197,94,.06)}
.pp-bstat--link .pp-bstat__num{transition:color .15s}
.pp-bstat--link:hover .pp-bstat__num{color:var(--pp-green)}
.pp-billing-total--owed{color:#f87171!important}
.pp-bstat__num{font-size:18px;font-weight:700;color:var(--pp-text);line-height:1.1}
.pp-bstat__num--warn{color:#f87171}
.pp-bstat__lbl{font-size:8px;display:block;margin-top:2px;letter-spacing:.04em}

/* Skeletons */
.pp-skel{border-radius:8px;background:linear-gradient(90deg,var(--pp-surface) 25%,var(--pp-surface-2) 50%,var(--pp-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite}
.pp-skel--row{height:48px;margin-bottom:8px}.pp-skel--box{height:100px;margin-bottom:12px}

/* Loading */
.pp-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:var(--pp-text-3)}
.pp-spinner{width:32px;height:32px;border:3px solid var(--pp-border);border-top-color:var(--pp-green);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:12px}
.pp-spinner--sm{width:20px;height:20px;border-width:2px;margin:0}
.pp-loader-inline{display:flex;align-items:center;justify-content:center;padding:24px}

/* Welcome */
.pp-welcome{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.pp-welcome h1{margin-bottom:2px}
.pp-welcome__text{flex:1;min-width:0}

/* Horizontal scroll */
.pp-hscroll{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.pp-hscroll::-webkit-scrollbar{display:none}
.pp-hscroll>.pp-card{scroll-snap-align:start}

/* Grid */
.pp-grid{display:grid;gap:16px}

/* Logo */
.pp-logo{width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,var(--pp-green),#16a34a);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;flex-shrink:0}
.pp-logo-img{width:46px;height:46px;border-radius:9px;object-fit:contain;flex-shrink:0;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}

/* Desktop top nav (hidden mobile) */
.pp-mob-brand{display:flex;align-items:center;gap:10px;padding:10px 16px 8px;background:var(--pp-bg);border-bottom:1px solid var(--pp-border);min-height:48px;overflow:hidden}
.pp-mob-brand__img{width:34px;height:34px;object-fit:contain;border-radius:8px;display:block!important;flex-shrink:0}
.pp-mob-brand__letter{width:28px;height:28px;border-radius:7px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}
.pp-mob-brand__name{font-size:18px;font-weight:400;color:var(--pp-text);font-family:'Bebas Neue',var(--pp-font);letter-spacing:.01em}
@media(min-width:900px){.pp-mob-brand{display:none}}
.pp-header{display:none}

/* Mobile bottom nav */
.pp-bnav{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;justify-content:center;background:rgba(19,24,37,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--pp-border);padding:6px 0 calc(6px + var(--pp-safe-b))}
.pp-bnav__btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:var(--pp-text-4);cursor:pointer;padding:4px 12px;font-family:var(--pp-font);transition:.2s;flex:0 1 72px;-webkit-tap-highlight-color:transparent}
.pp-bnav__btn svg{width:20px;height:20px}
.pp-bnav__btn span{font-size:10px;font-weight:500}
.pp-bnav__btn.active{color:var(--pp-green)}
.pp-bnav__btn--book svg{background:var(--pp-green);color:#fff;border-radius:50%;padding:5px;width:34px;height:34px;box-shadow:0 2px 12px var(--pp-green-glow)}
.pp-bnav__btn--book{color:var(--pp-green)!important}

/* Main */
.pp-main{padding:16px 16px calc(80px + var(--pp-safe-b));max-width:1600px;margin:0 auto}

/* Modal */
.pp-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:210}
.pp-modal__box{background:var(--pp-surface);border-radius:18px 18px 0 0;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.pp-modal__head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--pp-border);position:sticky;top:0;background:var(--pp-surface);z-index:1}
.pp-modal__head h3{font-size:17px;font-weight:700;letter-spacing:-.02em}
.pp-modal__close{background:none;border:none;color:var(--pp-text-4);font-size:22px;cursor:pointer;padding:4px 8px;border-radius:8px}
.pp-modal__close:hover{background:rgba(255,255,255,.05)}
.pp-modal__body{padding:20px}

/* Toast */
.pp-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:300;padding:12px 20px;border-radius:10px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;animation:slideUp .3s ease;box-shadow:0 8px 32px rgba(0,0,0,.5);max-width:90vw;text-align:center;line-height:1.4}
.pp-toast--ok{background:var(--pp-green);color:#fff}
.pp-toast--err{background:var(--pp-red);color:#fff}
.pp-toast--info{background:#1e293b;color:#fff;border:1px solid rgba(59,130,246,.4)}
.pp-toast--warn{background:linear-gradient(135deg,#451a03,#78350f);color:#fde68a;border:1px solid rgba(251,191,36,.35);text-shadow:0 1px 2px rgba(0,0,0,.3)}

/* ===== CALENDAR ===== */

/* Dashboard toolbar (portal.php) */
.pp-cal-toolbar{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;align-items:center}
.pp-cal-toolbar__left{text-align:center;width:100%}
.pp-cal-toolbar__right{display:flex;align-items:center;gap:6px;justify-content:center;flex-wrap:wrap}
@media(min-width:700px){
    .pp-cal-toolbar{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
    .pp-cal-toolbar__left{text-align:left;flex-shrink:0}
    .pp-cal-toolbar__right{justify-content:flex-end;flex:1}
}

/* ===== DESKTOP TITLE ===== */
.pp-cal-heading{text-align:center;margin-bottom:10px;display:none}
@media(min-width:768px){.pp-cal-heading{display:block}}
.pp-cal-title{font-size:22px;font-weight:700;letter-spacing:-.03em;color:#fff;line-height:1.2}

/* ===== MOBILE TOP BAR (Google Calendar style) ===== */
.pp-cal-mobbar{display:flex;align-items:center;gap:4px;padding:8px 2px;margin-bottom:4px}
.pp-cal-menubtn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--pp-text);cursor:pointer;border-radius:8px;transition:.15s;padding:0;flex-shrink:0}
.pp-cal-menubtn svg{width:20px;height:20px}
.pp-cal-menubtn:hover{background:rgba(255,255,255,.08)}
.pp-cal-mobbar__nav{display:flex;align-items:center;gap:2px;flex:1;min-width:0}
.pp-cal-mobbar__nav strong{font-size:14px;white-space:nowrap;padding:0 4px;min-width:0}
.pp-cal-mobbar__r{display:flex;align-items:center;gap:4px;flex-shrink:0}
@media(min-width:768px){.pp-cal-mobbar{display:none}}

/* ===== MENU DRAWER ===== */
.pp-cal-drawer-bg{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}
.pp-cal-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:80vw;z-index:501;background:var(--pp-bg);border-right:1px solid var(--pp-border);overflow-y:auto;-webkit-overflow-scrolling:touch}
.dr-enter{transition:transform .25s ease}.dr-from{transform:translateX(-100%)}.dr-leave{transition:transform .2s ease}
.pp-cal-drawer__hd{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--pp-border);font-weight:700;font-size:15px}
.pp-cal-drawer__hd button{width:32px;height:32px;border-radius:8px;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}
.pp-cal-drawer__body{padding:16px;display:flex;flex-direction:column;gap:8px}
.pp-cal-drawer__lbl{font-size:11px;font-weight:600;color:var(--pp-text-4);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.pp-cal-drawer__sel{width:100%;padding:8px 28px 8px 10px;border-radius:8px;border:1px solid var(--pp-border);background:var(--pp-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;background-size:12px;-webkit-appearance:none;appearance:none;font-size:14px;font-family:var(--pp-font);color:var(--pp-text);cursor:pointer;line-height:20px;box-sizing:border-box}
.pp-cal-drawer__sel:focus{outline:none;border-color:var(--pp-green)}
.pp-cal-drawer__tog{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer;font-size:14px;margin-top:4px}
.pp-cal-drawer__chk{width:22px;height:22px;border-radius:6px;border:2px solid var(--pp-border);display:flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0}
.pp-cal-drawer__chk.is-on{background:var(--pp-green);border-color:var(--pp-green)}
.pp-cal-drawer__chk svg{width:14px;height:14px;color:#fff}
.pp-cal-drawer__clr{width:100%;padding:10px;border-radius:8px;border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.08);color:#ef4444;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--pp-font);margin-top:8px;transition:.15s}
.pp-cal-drawer__clr:hover{background:rgba(239,68,68,.15)}
.pp-cal-search--drawer{max-width:none;flex:none;position:relative}
.pp-cal-search--drawer .pp-cal-search__input{height:36px;font-size:14px;padding:8px 32px 8px 32px;border-radius:8px}
.pp-cal-search--drawer .pp-cal-search__clear{right:8px;top:50%;transform:translateY(-50%);font-size:14px;padding:4px 6px}
.pp-cal-search--drawer .pp-cal-search__icon{width:16px;height:16px;left:10px}

/* ===== DESKTOP CONTROLS BAR ===== */
.pp-cal-deskbar{display:none;align-items:center;gap:8px;margin-bottom:10px;justify-content:space-between;flex-wrap:wrap}
@media(min-width:768px){.pp-cal-deskbar{display:flex}}

/* Search input */
.pp-cal-search{position:relative;flex:1 1 120px;min-width:80px;max-width:200px}
.pp-cal-search__icon{position:absolute;left:7px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--pp-text-4);pointer-events:none}
.pp-cal-search__input{width:100%;padding:5px 22px 5px 26px;border-radius:6px;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text);font-size:12px;font-family:var(--pp-font);transition:.2s;height:30px;box-sizing:border-box;line-height:20px}
.pp-cal-search__input:focus{outline:none;border-color:var(--pp-green);box-shadow:0 0 0 2px rgba(34,197,94,.12)}
.pp-cal-search__input::placeholder{color:var(--pp-text-4)}
.pp-cal-search__clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--pp-text-4);cursor:pointer;font-size:11px;padding:2px 3px;line-height:1}

/* Filters */
.pp-cal-filters{display:flex;gap:6px;align-items:center;flex-shrink:1}
.pp-cal-filters select{padding:5px 24px 5px 8px;border-radius:6px;border:1px solid var(--pp-border);background:var(--pp-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 6px center;background-size:10px;-webkit-appearance:none;appearance:none;font-size:12px;font-family:var(--pp-font);color:var(--pp-text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:30px;box-sizing:border-box;transition:.15s;line-height:20px;max-width:140px}
.pp-cal-filters select:focus{outline:none;border-color:var(--pp-green)}
.pp-cal-filters select:hover{border-color:rgba(255,255,255,.25)}

/* Available toggle */
.pp-cal-avail-btn{display:flex;align-items:center;gap:4px;padding:0 10px;border-radius:6px;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text-4);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--pp-font);transition:.2s;white-space:nowrap;height:30px;box-sizing:border-box;flex-shrink:0}
.pp-cal-avail-btn svg{width:14px;height:14px;flex-shrink:0}
.pp-cal-avail-btn:hover{border-color:var(--pp-green);color:var(--pp-green);background:rgba(34,197,94,.04)}
.pp-cal-avail-btn.active{background:var(--pp-green-dim);border-color:var(--pp-green);color:var(--pp-green)}

/* Clear all */
.pp-cal-clear-btn{display:flex;align-items:center;gap:4px;padding:0 10px;border-radius:6px;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text-4);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--pp-font);transition:.2s;white-space:nowrap;height:30px;box-sizing:border-box;flex-shrink:0}.pp-cal-clear-btn--hidden{visibility:hidden;pointer-events:none}
.pp-cal-clear-btn svg{width:14px;height:14px;flex-shrink:0}
.pp-cal-clear-btn:hover{border-color:var(--pp-red,#ef4444);color:var(--pp-red,#ef4444);background:rgba(239,68,68,.06)}

/* Nav */
.pp-cal-nav{display:flex;align-items:center;gap:3px;font-size:12px;flex-shrink:0}
.pp-cal-nav strong{min-width:90px;text-align:center;font-size:13px;white-space:nowrap;padding:0 2px}
.pp-nav-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text);cursor:pointer;font-size:16px;font-weight:600;transition:.15s;padding:0;font-family:var(--pp-font)}
.pp-nav-btn:hover{border-color:var(--pp-green);color:var(--pp-green);background:rgba(34,197,94,.04)}
.pp-nav-btn--sm{width:28px;height:28px;font-size:15px}
.pp-nav-btn--today{width:auto;padding:0 14px;font-size:12px;font-weight:600;height:30px;min-width:52px}

/* View icon buttons */
.pp-cal-views{display:flex;gap:1px;background:var(--pp-surface);border-radius:6px;padding:2px;border:1px solid var(--pp-border);height:30px;box-sizing:border-box;flex-shrink:0}
.pp-cal-views--mob{height:28px}
.pp-cal-view-btn{width:30px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:var(--pp-text-4);cursor:pointer;transition:.15s;padding:0;flex-shrink:0}
.pp-cal-views--mob .pp-cal-view-btn{width:26px;height:22px}
.pp-cal-view-btn svg{width:16px;height:16px}
.pp-cal-views--mob .pp-cal-view-btn svg{width:14px;height:14px}
.pp-cal-view-btn:hover{color:var(--pp-green);background:rgba(34,197,94,.08)}
.pp-cal-view-btn.active{background:var(--pp-green-dim);color:var(--pp-green)}

/* Legacy controls row (dashboard) */
.pp-cal-controls{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;align-items:center}
.pp-cal-controls .pp-cal-filters{justify-content:center}
.pp-cal-controls .pp-cal-nav{justify-content:center}
@media(min-width:600px){.pp-cal-controls{flex-direction:row;align-items:center;justify-content:space-between}}

/* Month grid */
.pp-cal-grid{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-r);overflow:hidden}
.pp-cal-past-toggle{padding:8px 12px;text-align:center;font-size:12px;font-weight:600;color:var(--pp-text-4);cursor:pointer;transition:.15s;border-bottom:1px solid var(--pp-border);-webkit-user-select:none;user-select:none}
.pp-cal-past-toggle:hover{color:var(--pp-green);background:rgba(34,197,94,.04)}
.pp-cal-dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;padding:6px 0;border-bottom:1px solid var(--pp-border)}
.pp-cal-dow span{font-size:10px;font-weight:700;color:var(--pp-text-4);text-transform:uppercase;letter-spacing:.04em}
.pp-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.pp-cal-day{min-height:72px;display:flex;flex-direction:column;align-items:stretch;border:none;background:transparent;cursor:default;font-family:var(--pp-font);transition:.12s;position:relative;border-right:1px solid var(--pp-border);border-bottom:1px solid var(--pp-border);padding:2px;text-align:left;overflow:hidden;min-width:0}
.pp-cal-day:nth-child(7n){border-right:none}
.pp-cal-day.is-other{opacity:.55}
.pp-cal-day.is-past{opacity:.35}
.pp-cal-day.is-unavail{opacity:.45}
.pp-cal-day.has-slots{cursor:pointer;-webkit-tap-highlight-color:transparent}
.pp-cal-day.has-slots:hover{background:rgba(255,255,255,.03)}
.pp-cal-day.is-today .pp-cal-day__num{background:var(--pp-green);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;box-shadow:0 0 8px var(--pp-green-glow)}
.pp-cal-day.is-selected{background:var(--pp-green-dim);box-shadow:inset 0 0 0 1px var(--pp-green)}
.pp-cal-day__num{font-size:10px;font-weight:600;color:var(--pp-text-3);padding:1px 2px;margin-bottom:1px;display:flex;align-items:center;justify-content:center}

/* Session blocks — ALWAYS VISIBLE (Google Calendar style) */
.pp-cal-day__sessions{display:flex;flex-direction:column;gap:1px;overflow:hidden;flex:1}
.pp-cal-session{font-size:9px;line-height:1.2;padding:1px 3px;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;max-width:100%;display:block}
.pp-cal-session:hover{filter:brightness(1.2);transform:scale(1.02)}
.pp-cal-session.is-past-session{background:rgba(255,255,255,.04)!important;color:var(--pp-text-4)!important;border-left-color:var(--pp-text-4)!important;cursor:default;pointer-events:none}
.pp-cal-more{font-size:9px;color:var(--pp-green);padding:2px 4px;font-weight:700;cursor:pointer;display:block;text-align:center;border-radius:3px;background:rgba(74,222,128,.08);margin-top:1px;min-height:16px;line-height:16px}
.pp-cal-more:hover{background:rgba(74,222,128,.2)}

/* Week view */
.pp-cal-week{display:flex;flex-direction:column;gap:2px}
.pp-cal-weekday{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:8px;overflow:hidden;cursor:pointer;transition:.12s}
.pp-cal-weekday:hover{border-color:rgba(255,255,255,.15)}
.pp-cal-weekday.is-today{border-color:var(--pp-green);box-shadow:0 0 12px rgba(34,197,94,.15)}
.pp-cal-weekday.is-past{opacity:.35;cursor:default;pointer-events:none}
.pp-cal-weekday.is-unavail{opacity:.5}
.pp-cal-weekday__hd{padding:8px 12px;display:flex;justify-content:space-between;align-items:center}
.pp-cal-weekday__hd strong{font-size:13px}
.pp-cal-weekday__sessions{padding:2px 8px 6px;display:flex;flex-wrap:wrap;gap:4px}
.pp-cal-week-chip{font-size:11px;padding:3px 8px;border-radius:4px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;cursor:pointer;transition:.12s;-webkit-tap-highlight-color:transparent}
.pp-cal-week-chip:hover{filter:brightness(1.15);transform:scale(1.03)}
.pp-cal-week-chip.is-past-chip{background:rgba(255,255,255,.04)!important;color:var(--pp-text-4)!important;cursor:default;pointer-events:none}
.pp-cal-week-chip.is-unavail-chip{background:rgba(255,255,255,.04)!important;color:var(--pp-text-4)!important;cursor:default;pointer-events:none}
.pp-badge--muted{font-size:10px;opacity:.5;padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.06);color:var(--pp-text-4)}

/* Day view */
.pp-cal-dayview{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-r);overflow:hidden}
.pp-cal-dayview__head{padding:14px 16px;border-bottom:1px solid var(--pp-border);display:flex;justify-content:space-between;align-items:center}
.pp-cal-dayview__label{font-size:15px;font-weight:700;letter-spacing:-.02em}
.pp-cal-dayview__count{font-size:12px;color:var(--pp-green);font-weight:600}
.pp-cal-dayview__list{padding:8px}

/* Calendar slot list (day detail) */
.pp-cal-slot{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:.15s;-webkit-tap-highlight-color:transparent}
.pp-cal-slot:hover{background:rgba(255,255,255,.04)}
.pp-cal-slot:active{transform:scale(.99)}
.pp-cal-slot__time{font-size:14px;font-weight:700;color:var(--pp-green);min-width:65px;flex-shrink:0}
.pp-cal-slot__info{flex:1;min-width:0}
.pp-cal-slot__svc{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-cal-slot__meta{font-size:11px;color:var(--pp-text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-cal-slot__price{font-size:13px;font-weight:600;color:var(--pp-green);flex-shrink:0}
.pp-cal-slot__book{font-size:11px;font-weight:600;color:var(--pp-green);white-space:nowrap;opacity:0;transition:.2s}
.pp-cal-slot:hover .pp-cal-slot__book{opacity:1}
.pp-cal-slot__color{width:4px;border-radius:2px;align-self:stretch;flex-shrink:0}

/* Day detail overlay */
.pp-cal-detail{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--pp-surface);border-top:1px solid var(--pp-border);border-radius:16px 16px 0 0;padding:16px 16px calc(16px + var(--pp-safe-b));max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 -8px 40px rgba(0,0,0,.4)}
.pp-cal-detail__head{display:flex;justify-content:space-between;align-items:center;margin:-16px -16px 12px;padding:16px 16px 12px;position:sticky;top:-16px;background:var(--pp-bg);z-index:1;border-bottom:1px solid var(--pp-border);border-radius:16px 16px 0 0}
.pp-cal-detail__date{font-size:18px;font-weight:700;letter-spacing:-.02em}
.pp-cal-detail__close{width:36px;height:36px;border-radius:50%;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0}
.pp-cal-detail__close:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}
.pp-cal-detail__list{display:flex;flex-direction:column;gap:2px}
.pp-cal-backdrop{position:fixed;inset:0;z-index:199;background:rgba(0,0,0,.4);-webkit-tap-highlight-color:transparent}

/* Tablet (600px+) */
@media(min-width:600px){
    .mst-pp h1{font-size:22px}
    .pp-main{padding:20px 24px calc(80px + var(--pp-safe-b))}
    .pp-grid{grid-template-columns:1.3fr 1fr}
    .pp-slots{grid-template-columns:repeat(4,1fr)}
    .pp-card{padding:20px}
    .pp-modal__box{border-radius:18px;max-width:640px;align-self:center}
    .pp-modal{align-items:center}
    .pp-hide-mob{display:inline-flex !important}
    .pp-cal-day{min-height:90px;padding:3px}
    .pp-cal-day__num{font-size:11px;width:22px;height:22px}
    .pp-cal-day.is-today .pp-cal-day__num{width:22px;height:22px;font-size:11px}
    .pp-cal-session{font-size:10px;padding:1px 4px;border-radius:3px}
.pp-cal-more{font-size:9px;min-height:18px;line-height:18px}
    .pp-cal-dow span{font-size:10px}
    .pp-cal-dow{padding:8px 0}
    .pp-cal-detail{left:auto;right:16px;bottom:16px;width:400px;max-height:70vh;border-radius:16px;border:1px solid var(--pp-border)}
}

/* Desktop (900px+) */
@media(min-width:900px){
    .mst-pp h1{font-size:28px}
    .pp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;border-bottom:1px solid var(--pp-border);background:rgba(11,15,26,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:sticky;top:0;z-index:100}
    .pp-header__l{display:flex;align-items:center;gap:12px;overflow:visible}
    .pp-brand{display:block;font-size:22px;letter-spacing:.02em;font-family:'Bebas Neue',var(--pp-font);font-weight:400;line-height:1}
    .pp-brand-sub{display:block;font-size:10px;color:var(--pp-text-4);margin-top:-1px;line-height:1.2}
    .pp-header__r{display:flex;align-items:center;gap:12px}
    .pp-tnav{display:flex;gap:2px;background:var(--pp-surface);border-radius:var(--pp-r-sm);padding:3px;border:1px solid var(--pp-border)}
    .pp-tnav__btn{padding:7px 16px;border-radius:8px;border:none;cursor:pointer;font-size:13px;font-weight:500;font-family:var(--pp-font);background:transparent;color:var(--pp-text-3);transition:.2s}
    .pp-tnav__btn:hover{color:var(--pp-text)}
    .pp-tnav__btn.active{background:var(--pp-green-dim);color:var(--pp-green)}
    .pp-bnav{display:none}
    .pp-main{padding:28px 32px 40px}
    .pp-card{padding:22px}
    .pp-slots{grid-template-columns:repeat(5,1fr)}
    .pp-cal-day{min-height:100px}
    .pp-cal-session{font-size:11px;padding:2px 4px}
    .pp-cal-detail{width:440px;right:28px;bottom:28px}
    .pp-modal__box{max-width:680px}
}

/* Wide desktop (1200px+) — calendar fills available space */
@media(min-width:1200px){
    .pp-cal-day{min-height:120px;padding:4px}
    .pp-cal-session{font-size:11.5px;padding:2px 5px;border-radius:3px;margin-bottom:1px}
    .pp-cal-dow span{font-size:11px;font-weight:600}
    .pp-cal-more{font-size:10px}
    .pp-cal-day__num{font-size:12px;width:24px;height:24px}
    .pp-cal-day.is-today .pp-cal-day__num{width:24px;height:24px;font-size:12px}
}
/* Ultrawide (1600px+) — maximize readability */
@media(min-width:1600px){
    .pp-cal-day{min-height:140px;padding:4px 6px}
    .pp-cal-session{font-size:12px;padding:3px 6px;border-radius:4px}
    .pp-cal-dow span{font-size:12px}
}

/* ===== RESCHEDULE MODAL — combined calendar + time view ===== */
.pp-rsched-layout{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:540px){.pp-rsched-layout{grid-template-columns:1fr 1fr;align-items:start}}
.pp-rsched-times{background:var(--pp-surface-2,rgba(255,255,255,.04));border:1px solid var(--pp-border);border-radius:10px;padding:10px}
.pp-rsched-times__empty{color:var(--pp-text-4);font-size:12px;text-align:center;padding:20px 8px}
.pp-rsched-times__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:5px;margin-top:8px}
.pp-rsched-time-btn{-webkit-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;background:rgba(74,222,128,.08);color:var(--pp-green);border:1px solid rgba(74,222,128,.35);border-radius:8px;padding:10px 8px;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;text-align:center;font-family:var(--pp-font);line-height:1.2;gap:2px;box-sizing:border-box}
.pp-rsched-time-btn:hover,.pp-rsched-time-btn:active{background:var(--pp-green);color:#000;border-color:var(--pp-green)}
.pp-rsched-time-btn__loc{font-size:9px;font-weight:500;color:rgba(255,255,255,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block;transition:color .15s}
.pp-rsched-time-btn:hover .pp-rsched-time-btn__loc,.pp-rsched-time-btn:active .pp-rsched-time-btn__loc{color:rgba(0,0,0,.7)}
.pp-rsched-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.pp-rsched-filter-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.pp-rsched-clear{-webkit-appearance:none;appearance:none;background:transparent;border:1px solid var(--pp-border);color:var(--pp-text-3);cursor:pointer;font-size:10px;font-weight:600;line-height:1;padding:3px 8px;border-radius:5px;font-family:var(--pp-font);transition:.15s}
.pp-rsched-clear:hover{background:rgba(239,68,68,.12);color:#f87171;border-color:rgba(239,68,68,.35)}
/* Package-locked trainer notice */
.pp-pkg-trainer-lock{display:flex;align-items:flex-start;gap:7px;background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.2);border-radius:8px;padding:8px 10px;font-size:11px;color:var(--pp-green);margin-bottom:10px;line-height:1.4}
.pp-pkg-trainer-lock__icon{font-size:13px;flex-shrink:0;line-height:1.4}
/* Reschedule type badge */
.pp-rsched-type{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:20px;vertical-align:middle;line-height:1;margin-bottom:0}
.pp-rsched-type--regular{background:rgba(59,130,246,.15);color:#60a5fa;border:1px solid rgba(59,130,246,.25)}
.pp-rsched-type--package{background:rgba(74,222,128,.12);color:var(--pp-green);border:1px solid rgba(74,222,128,.25)}

/* ===== PUBLIC CALENDAR (standalone shortcode) ===== */
.pp--public-cal{padding:4px 4px 20px;border-radius:var(--pp-r);margin:0 auto;position:relative}
@media(min-width:600px){.pp--public-cal{padding:10px 14px 24px}}
@media(min-width:900px){.pp--public-cal{padding:16px 24px 28px}}
.pp--public-cal .pp-cal-title{font-size:22px;font-weight:700;letter-spacing:-.03em;color:#fff;line-height:1.2}
@media(min-width:900px){.pp--public-cal .pp-cal-title{font-size:24px}}

.pp-cal-legend{display:flex;gap:12px;flex-wrap:wrap;padding:12px 0;margin-top:12px;border-top:1px solid var(--pp-border)}
.pp-cal-legend__item{display:flex;align-items:center;gap:5px}

.pp-cal-cta{text-align:center;padding:16px;background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-r);margin-top:16px}
.pp-cal-cta p{font-size:13px;color:var(--pp-text-3);margin-bottom:10px}

/* Player picker overlay */
.pp-player-pick{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.5)}
.pp-player-pick__sheet{position:relative;z-index:1;background:var(--pp-bg);border-radius:16px 16px 0 0;width:100%;max-width:400px;max-height:70vh;overflow-y:auto;padding:20px}
.pp-player-pick__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.pp-player-pick__head h3{font-size:17px}
.pp-player-pick__list{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.pp-player-pick__item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;border:1px solid var(--pp-border);background:var(--pp-surface);cursor:pointer;transition:all .2s}
.pp-player-pick__item:hover{border-color:var(--pp-green);box-shadow:0 0 12px rgba(34,197,94,.1);transform:translateY(-1px)}
@media(min-width:600px){.pp-player-pick{align-items:center}.pp-player-pick__sheet{border-radius:16px}}

/* Amelia CSS — see AMELIA BOOKING FORM section below */

/* Home cards 3-col on desktop */
.pp-home-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:700px){.pp-home-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.pp-home-grid{grid-template-columns:1fr 1fr 1fr}}

/* Package progress bar */
.pp-pkg-bar{height:6px;border-radius:3px;background:var(--pp-border);overflow:hidden;margin-top:6px}
.pp-pkg-bar__fill{height:100%;border-radius:3px;background:var(--pp-green);transition:width .4s ease}

/* Event card accent */
.pp-event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--pp-green),var(--pp-green-dim));font-weight:700;font-size:16px;line-height:1}
.pp-event-date small{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.8}

/* ===== CUSTOMER PANEL ===== */
.pp-panel{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:92vw;z-index:201;background:var(--pp-bg);border-left:1px solid var(--pp-border);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:-8px 0 40px rgba(0,0,0,.4);display:flex;flex-direction:column}
.pp-panel__head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 16px 12px;border-bottom:1px solid var(--pp-border);flex-shrink:0}
.pp-panel__body{padding:16px;overflow-y:auto;flex:1}
@media(max-width:600px){.pp-panel{width:100%;max-width:100%;left:0;border-left:none}}

/* ===== SESSION CARDS ===== */
.pp-session-card{background:var(--pp-surface);border-radius:10px;padding:12px 14px;margin-bottom:8px;transition:all .15s;cursor:pointer}
.pp-sched-loc{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--pp-text-4);margin-top:2px}
.pp-loc-tag{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--pp-green);text-decoration:none;background:rgba(34,197,94,.08);padding:3px 8px;border-radius:5px;transition:.15s;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-loc-tag:hover{background:rgba(34,197,94,.14)}
.pp-session-card:hover{background:color-mix(in srgb, var(--pp-surface) 85%, white 15%);border-color:var(--pp-border-2)}
.pp-session-card__top{display:flex;align-items:flex-start;gap:10px}

/* ===== FIELD LABELS ===== */
.pp-field-label{display:block;font-size:11px;color:var(--pp-text-4);margin-bottom:3px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}
.pp-mono{font-variant-numeric:tabular-nums}
.pp-badge--amber{color:#F59E0B;background:rgba(245,158,11,.12)}
.pp-badge--red{color:#EF4444;background:rgba(239,68,68,.12)}
.pp-badge--muted{color:var(--pp-text-4);background:var(--pp-surface)}

/* ===== STYLED SCROLLBAR ===== */
.pp-panel__body{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}
.pp-panel__body::-webkit-scrollbar{width:4px}
.pp-panel__body::-webkit-scrollbar-track{background:transparent}
.pp-panel__body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:4px}
.pp-panel__body::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.18)}

/* ===== ACCOUNT GRID ===== */
.pp-acct-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}
@media(min-width:600px){.pp-acct-grid{grid-template-columns:repeat(3,1fr);gap:10px}}
@media(min-width:900px){.pp-acct-grid{grid-template-columns:repeat(4,1fr);gap:10px}}
@media(min-width:1200px){.pp-acct-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
.pp-acct-chip{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:7px;cursor:pointer;transition:border-color .15s,transform .1s,box-shadow .15s;position:relative;user-select:none}
.pp-acct-chip.is-drag-over{outline:2px solid var(--pp-green);transform:scale(.97);box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.pp-acct-chip[draggable]{cursor:grab}
.pp-acct-chip[draggable]:active{cursor:grabbing;opacity:.85}
.pp-acct-chip__reorder{position:absolute;top:5px;right:5px;display:flex;gap:2px;opacity:0;transition:opacity .15s;z-index:2}
.pp-acct-chip:hover .pp-acct-chip__reorder{opacity:1}
.pp-acct-reorder-btn{background:rgba(255,255,255,.1);border:none;color:var(--pp-text-2);font-size:8px;cursor:pointer;border-radius:3px;padding:2px 5px;line-height:1;transition:.12s;font-family:var(--pp-font)}
.pp-acct-reorder-btn:hover{background:var(--pp-green);color:#000}
.pp-acct-chip:hover{border-color:var(--pp-green);box-shadow:0 2px 12px rgba(34,197,94,.08)}
.pp-acct-chip:active{transform:scale(.98)}
.pp-acct-chip__top{display:flex;align-items:center;gap:9px}
.pp-acct-chip__info{flex:1;min-width:0}
.pp-acct-chip__name{font-size:13px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-acct-chip__role{font-size:10px;color:var(--pp-text-4);text-transform:uppercase;letter-spacing:.4px;margin-top:1px}
.pp-acct-chip__tags{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}

/* ===== SESSION CARD ===== */
.pp-session-card{background:var(--pp-surface);border-radius:10px;padding:12px 14px;margin-bottom:8px;transition:all .15s;cursor:pointer;border:1px solid transparent}
.pp-session-card:hover{background:color-mix(in srgb,var(--pp-surface) 85%,white 15%);border-color:var(--pp-border-2)}
.pp-session-card__top{display:flex;align-items:flex-start;gap:10px}

/* ===== SHOW MORE ===== */
.pp-show-more{display:block;width:100%;padding:8px;text-align:center;font-size:12px;font-weight:600;color:var(--pp-green);background:transparent;border:1px dashed var(--pp-border);border-radius:8px;cursor:pointer;margin-top:8px;transition:.15s}
.pp-show-more:hover{background:rgba(34,197,94,.06);border-color:var(--pp-green)}

/* ===== MINI CALENDAR ===== */
.pp-cal-today{box-shadow:inset 0 0 0 1.5px var(--pp-green) !important;border-radius:8px}

/* ===== AMELIA BOOKING FORM ===== */
/* Hide trigger container */
.mst-amelia-triggers{display:none !important;height:0;overflow:hidden;position:absolute}
/* Amelia popups above everything */
.amelia-app-booking,.amelia-app-booking-new,[id*="amelia-app-booking"],
.amelia-booking-wrap,.amelia-dialog-wrap{z-index:999999 !important}
body > .el-dialog__wrapper{z-index:999999 !important;position:fixed !important}
body > .v-modal{z-index:999998 !important}
.el-dialog__wrapper .el-dialog{z-index:999999 !important}
/* Ensure Amelia close button is clickable */
.el-dialog__wrapper .el-dialog__headerbtn,
.el-dialog__wrapper .el-dialog__close,
.amelia-app-booking .am-dialog-close,
.amelia-app-booking [class*="close"]{cursor:pointer !important;pointer-events:auto !important;z-index:10 !important}


/* ===== MOBILE IMPROVEMENTS ===== */
@media(max-width:600px){
    .pp-modal__box{margin:0 8px;max-height:92vh !important;border-radius:16px 16px 0 0;max-width:100% !important}
    .pp-session-card__top{flex-direction:column;gap:6px}
    .pp-session-card__top > div:last-child{text-align:left !important}
}

/* ===== PACKAGE BOOKING SERVICE CARD HOVER ===== */
.pp-modal__box button:hover svg path{stroke:var(--pp-green)}

/* ===== SCHEDULE SEARCH ===== */
.pp-sched-search{position:relative;flex:1;min-width:120px;max-width:220px}
.pp-sched-search input{width:100%;padding:4px 28px 4px 8px;border-radius:6px;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text);font-size:11px;font-family:var(--pp-font)}
.pp-sched-search input:focus{outline:none;border-color:var(--pp-green)}
.pp-sched-search__clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--pp-text-4);cursor:pointer;font-size:14px;padding:0 4px;line-height:1}
/* Mobile-only display */
.pp-show-mob{display:block}
@media(min-width:700px){.pp-show-mob{display:none !important}}

/* ===== SHOW PAST TOGGLE SLIDER ===== */
.pp-toggle{position:relative;width:36px;height:20px;cursor:pointer;display:inline-block;flex-shrink:0}
.pp-toggle input{opacity:0;width:0;height:0;position:absolute}
.pp-toggle__track{position:absolute;inset:0;background:var(--pp-border);border-radius:10px;transition:.2s}
.pp-toggle input:checked + .pp-toggle__track{background:var(--pp-green)}
.pp-toggle__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.pp-toggle input:checked ~ .pp-toggle__thumb{left:18px}



/* ===== CALENDAR MOBILE FIX ===== */
@media(max-width:699px){
    .pp-cal-day__sessions{overflow:hidden}
    .pp-cal-session{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px !important;padding:1px 3px !important}
    .pp-cal-day{min-height:60px;padding:2px !important}
    .pp-cal-day__num{font-size:10px !important;width:18px !important;height:18px !important}
.pp-cal-more{font-size:9px !important;min-height:20px;line-height:20px;padding:2px 5px}
    .pp-cal-week-chip{font-size:10px !important;padding:3px 6px !important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* ===== ACCOUNTS SEARCH ===== */
.pp-acct-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.pp-acct-topbar__left{display:flex;align-items:baseline;gap:10px;flex-shrink:0}
.pp-acct-topbar__right{display:flex;align-items:stretch;gap:8px;flex:1;justify-content:flex-end;min-width:0}
.pp-acct-search{display:flex;align-items:center;gap:8px;padding:0 12px;height:36px;border:1px solid var(--pp-border);border-radius:9px;background:var(--pp-surface);transition:border-color .15s;flex:1;max-width:380px;box-sizing:border-box}
.pp-acct-search:focus-within{border-color:var(--pp-green)}
.pp-acct-search input{background:none;border:none;outline:none;font-size:13px;color:var(--pp-text);font-family:var(--pp-font);flex:1;min-width:0;height:100%}
.pp-acct-search__clear{background:none;border:none;color:var(--pp-text-4);cursor:pointer;font-size:14px;padding:0;line-height:1;transition:color .15s;flex-shrink:0}
.pp-acct-search__clear:hover{color:var(--pp-text)}
.pp-acct-add-btn{display:flex;align-items:center;gap:7px;padding:0 14px;height:36px;border-radius:9px;border:none;background:var(--pp-green);color:#000;font-size:13px;font-weight:700;font-family:var(--pp-font);cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}
.pp-acct-add-btn:hover{filter:brightness(1.1)}
.pp-acct-add-btn.is-open{background:rgba(255,255,255,.1);border:1px solid var(--pp-border);color:var(--pp-text-3)}
.pp-acct-add-btn--new{background:rgba(255,255,255,.08);color:#E2E8F0;border:1px solid rgba(255,255,255,.12)}
.pp-acct-add-btn--new:hover{background:rgba(255,255,255,.12);filter:none}
.pp-acct-add-btn--new.is-open{background:rgba(255,255,255,.1);color:var(--pp-text-3)}
.pp-acct-btns{display:flex;gap:6px;flex-shrink:0}

/* ===== SCHEDULE BAR (search + filters in one row) ===== */
.pp-sched-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pp-sched-sel{font-size:11px !important;padding:4px 8px !important;min-width:0;max-width:none;flex-shrink:1}
@media(max-width:599px){
    .pp-sched-bar{display:grid;grid-template-columns:1fr 1fr;gap:6px}
    .pp-sched-bar .pp-sched-search{grid-column:1/-1;max-width:100% !important}
    .pp-sched-sel{max-width:100% !important;width:100%}
    .pp-sched-bar .pp-btn{grid-column:1/-1;justify-self:start}
}
.pp-sched-pills{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:4px;flex:1;min-width:0}
.pp-sched-pills::-webkit-scrollbar{display:none}
.pp-sched-pills .pp-pill{flex-shrink:0}
.pp-sched-pills-wrap{display:flex;align-items:center;gap:4px;position:relative}
.pp-pills-arrow{background:var(--pp-surface);border:1px solid var(--pp-border);color:var(--pp-text-3);border-radius:6px;width:24px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0;transition:.12s;padding:0;font-family:var(--pp-font)}
.pp-pills-arrow:hover{background:var(--pp-green-dim);color:var(--pp-green);border-color:var(--pp-green)}
.pp-pills-arrow[style*='none']{display:none!important}
@media(min-width:900px){.pp-pills-arrow--auto-hide{display:none}}

/* ===== UPCOMING SESSIONS HORIZONTAL (mobile) ===== */
@media(max-width:699px){
    .pp-session-card__top{gap:8px}
}

/* ===== SHOW-MORE BUTTONS SPACING ===== */
.pp-show-more{margin-top:8px}

/* ===== SCHEDULE: wider cards on desktop ===== */
@media(min-width:700px){
    .pp-view--schedule .pp-session-card{padding:10px 20px}
    .pp-view--schedule .pp-session-card > div:first-child{flex-wrap:nowrap}
    .pp-view--schedule .pp-session-card > div:last-child{padding-left:52px}
}
@media(min-width:1000px){
    .pp-view--schedule .pp-session-card{padding:10px 24px}
}

/* ===== UPCOMING SESSIONS: compact cards ===== */
.pp-up-card{padding:8px 12px !important}
.pp-up-card .pp-sched-loc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.pp-up-card .pp-sched-loc svg{display:inline-block;vertical-align:middle;margin-right:3px}

/* ── Upcoming card inner layout ── */
.pp-up-info{flex:1;min-width:0;overflow:hidden}
.pp-up-title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-up-meta{font-size:11px;color:var(--pp-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-up-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;min-width:0}
.pp-up-date{font-weight:600;font-size:11px;color:#fff;white-space:nowrap}
.pp-up-time{font-weight:700;font-size:13px;color:var(--pp-green);white-space:nowrap}

/* Tablet squeeze zone: tighten up cards */
@media(min-width:600px) and (max-width:999px){
    .pp-up-card{padding:6px 10px!important}
    .pp-up-title{font-size:12px}
    .pp-up-meta{font-size:10px}
    .pp-up-date{font-size:10px}
    .pp-up-time{font-size:12px}
    .pp-up-card .pp-sched-loc{font-size:9px}
    .pp-up-card .pp-zoom-link{font-size:9px;padding:1px 6px}
    .pp-up-card .pp-avatar--sm{width:24px!important;height:24px!important;font-size:10px!important}
}
@media(max-width:699px){
    .pp-up-card{padding:6px 10px !important}
}

/* ===== INVOICE NOTIFICATION BADGE ===== */
.pp-invoice-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:10px;font-size:12px;font-weight:600;border:1px solid rgba(239,68,68,.25);cursor:pointer;transition:.15s;white-space:nowrap;font-family:var(--pp-font);background:rgba(239,68,68,.08);color:#EF4444;flex-shrink:0}
.pp-invoice-badge:hover{background:rgba(239,68,68,.15);transform:translateY(-1px)}
.pp-invoice-badge__amt{padding:2px 8px;border-radius:6px;background:rgba(239,68,68,.12);font-size:11px;font-weight:700}
@media(max-width:699px){
    .pp-invoice-badge{font-size:11px;padding:5px 10px;gap:5px;border-radius:8px}
    .pp-invoice-badge__amt{font-size:10px;padding:1px 6px}
}
.pp-invoice-badge--full{width:100%;justify-content:flex-start;border-radius:10px;padding:10px 14px}
/* Toolbar notification pills (unused apts + unused pkg sessions) */
.pp-notif-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap;font-family:var(--pp-font);flex-shrink:0;border:1px solid}
.pp-notif-pill:hover{transform:translateY(-1px)}
.pp-notif-pill--apt{background:rgba(251,191,36,.08);color:#FCD34D;border-color:rgba(251,191,36,.25)}
.pp-notif-pill--apt:hover{background:rgba(251,191,36,.15)}
.pp-notif-pill--pkg{background:rgba(74,222,128,.08);color:var(--pp-green);border-color:rgba(74,222,128,.25)}
.pp-notif-pill--pkg:hover{background:rgba(74,222,128,.15)}
.pp-notif-pill__count{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;background:rgba(255,255,255,.1)}
@media(max-width:1100px){.pp-notif-pill .pp-notif-pill__label{display:none}.pp-notif-pill{padding:5px 8px}}
/* ── Unified notification bar ── */
/* ── Notification bar ── */
/* Mobile version: stacks above welcome as a flex-wrap row */
.pp-notif-bar--mob{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;align-items:center}
/* Desktop version: sits inline inside pp-welcome, hidden on mobile */
.pp-notif-bar--desk{display:none;flex-wrap:nowrap;gap:5px;align-items:center;flex-shrink:0}
@media(min-width:900px){
    .pp-notif-bar--mob{display:none}
    .pp-notif-bar--desk{display:flex}
}
.pp-notif-bar__pill{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:.12s;white-space:nowrap;font-family:var(--pp-font);border:1px solid;line-height:1.2;flex-shrink:0}
.pp-notif-bar__pill:hover{opacity:.85;transform:translateY(-1px)}
.pp-notif-bar__pill--invoice{background:rgba(239,68,68,.15);color:#fff;border-color:rgba(239,68,68,.4)}
.pp-notif-bar__pill--rebook{background:rgba(251,191,36,.15);color:#fff;border-color:rgba(251,191,36,.4)}
.pp-notif-bar__pill--pkg{background:rgba(74,222,128,.15);color:#fff;border-color:rgba(74,222,128,.4)}
.pp-notif-pkg-label{font-size:inherit}
@media(min-width:700px){.pp-notif-pkg-label{font-size:0}.pp-notif-pkg-label::after{content:'Packages';font-size:11px}}
@media(min-width:900px) and (max-width:1199px){.pp-notif-pkg-label{font-size:0}.pp-notif-pkg-label::after{content:'Packages';font-size:11px}}
.pp-notif-bar__amt{padding:2px 6px;border-radius:5px;background:#EF4444;color:#fff;font-size:10px;font-weight:700}
.pp-notif-bar__count{min-width:18px;height:18px;border-radius:9px;background:rgba(255,255,255,.25);color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
/* Shorten text on small phones */
@media(max-width:400px){.pp-notif-bar__pill{padding:5px 7px;font-size:10px}}

/* ===== PLAYER CARD BADGES ===== */
.pp-player-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:700;border:none;cursor:default;transition:.12s;font-family:var(--pp-font);line-height:1.4;letter-spacing:.01em}
.pp-player-badge[onclick],.pp-player-badge[\\@click\\.stop]{cursor:pointer}
.pp-player-badge:hover{transform:scale(1.05);filter:brightness(1.15)}
.pp-player-badge--upcoming{background:rgba(255,255,255,.09);color:var(--pp-text-2)}
.pp-player-badge--pkg{background:rgba(59,130,246,.2);color:#93c5fd;border:1px solid rgba(59,130,246,.3)}
.pp-player-badge--used{background:rgba(255,255,255,.07);color:var(--pp-text-3)}
.pp-player-badge--cancel{background:rgba(245,158,11,.2);color:#fcd34d;border:1px solid rgba(245,158,11,.3)}
.pp-player-badge--none{background:rgba(255,255,255,.04);color:var(--pp-text-4)}
.pp-version{text-align:center;padding:12px;font-size:10px;color:var(--pp-text-4);opacity:.4;letter-spacing:.04em;margin-top:8px}

/* ===== PROGRESS BAR ANIMATION ===== */
@keyframes pp-fill{from{width:0}to{width:var(--pp-fill)}}
.pp-pkg-fill{height:100%;border-radius:3px;transition:width .6s ease;animation:pp-fill .8s ease-out forwards}

/* ── Payment history rows ─────────────────────────────── */
.pp-payment-list{padding:0;overflow:hidden}
.pp-payment-row{display:flex;align-items:center;gap:0;padding:16px 20px;border-bottom:1px solid var(--pp-border);transition:background .2s;cursor:default;position:relative}
.pp-payment-row:last-child{border-bottom:none}
.pp-payment-row:hover{background:rgba(255,255,255,.05)}
.pp-payment-row--alt{background:rgba(255,255,255,.02)}
.pp-payment-row--alt:hover{background:rgba(255,255,255,.06)}
.pp-payment-row--unpaid{border-left:3px solid #EF4444}
.pp-payment-row__indicator{width:3px;align-self:stretch;border-radius:3px;margin-right:16px;flex-shrink:0}
.pp-payment-row--unpaid .pp-payment-row__indicator{display:none}
.pp-payment-row__indicator--paid{background:rgba(34,197,94,.35)}
.pp-payment-row__indicator--unpaid{background:#EF4444}
.pp-payment-row__body{flex:1;min-width:0}
.pp-payment-row__name{font-size:14px;font-weight:600;color:var(--pp-text);line-height:1.3}
.pp-payment-row__meta{font-size:11px;color:var(--pp-text-4);margin-top:3px}
.pp-payment-row__tags{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}
.pp-payment-row__actions{display:flex;align-items:center;gap:6px;margin-top:8px}
.pp-payment-action{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:5px;border:1px solid var(--pp-border);background:transparent;color:var(--pp-text-4);font-size:10px;font-weight:600;font-family:var(--pp-font);cursor:pointer;transition:.12s}
.pp-payment-action:hover{border-color:rgba(255,255,255,.3);color:var(--pp-text);background:rgba(255,255,255,.06)}
.pp-payment-row__right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;flex-shrink:0;padding-left:32px;min-width:100px}
.pp-payment-row__amount{font-size:17px;font-weight:700;font-family:var(--pp-mono,monospace);color:var(--pp-text);letter-spacing:-.02em}
.pp-payment-row__status{font-size:10px;font-weight:700;padding:3px 9px;border-radius:5px;letter-spacing:.05em;text-transform:uppercase}
.pp-payment-row__status--paid{background:rgba(34,197,94,.12);color:#22C55E}
.pp-payment-row__status--unpaid{background:rgba(239,68,68,.15);color:#EF4444}
.pp-payment-row__status--refunded{background:rgba(148,163,184,.12);color:#94A3B8}
.pp-payment-row--refunded{opacity:.55}
.pp-payment-row--refunded .pp-payment-row__indicator{background:#64748B!important}
.pp-payment-row--refunded .pp-payment-row__amount{text-decoration:line-through;color:var(--pp-text-4)}

/* ── Add Player panel ─────────────────────────────────── */
.pp-acct-addrow__btn{display:flex;align-items:center;gap:6px}
.pp-add-player-panel{overflow:hidden;margin-bottom:12px;border:none!important;outline:none!important}
.pp-add-player-panel--top{background:linear-gradient(135deg,rgba(34,197,94,.07),rgba(34,197,94,.02));border:1px solid rgba(34,197,94,.25);border-radius:12px}
.pp-add-player-panel__inner{padding:14px}
.pp-add-player-panel__search{display:flex;align-items:center;gap:8px;background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:10px;padding:10px 14px;margin-bottom:8px;transition:border-color .15s}
.pp-add-player-panel__search:focus-within{border-color:var(--pp-green)}
.pp-add-player-panel__input{flex:1;background:none;border:none;outline:none;font-size:13px;color:var(--pp-text);font-family:var(--pp-font);line-height:1.4;padding:2px 0}
.pp-add-player-panel__input::placeholder{color:var(--pp-text-4)}
.pp-add-player-result{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;background:var(--pp-bg);border:1px solid var(--pp-border);transition:.12s}
.pp-add-player-result:hover{border-color:var(--pp-green);background:rgba(34,197,94,.04)}
.pp-add-player-result--linked{opacity:.5}
/* Slide transition */
.pp-slide-enter{transition:all .3s cubic-bezier(.16,1,.3,1)}
.pp-slide-from{opacity:0;transform:translateY(-10px);max-height:0}
.pp-slide-to{opacity:1;transform:translateY(0);max-height:600px}
.pp-slide-out{transition:all .2s ease}

/* ── Player picker modal redesign ───────────────────── */
.pp-player-picker-box{max-width:440px;overflow:hidden}
.pp-player-picker-head{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 18px;gap:12px}
.pp-player-picker-head--pkg{background:linear-gradient(135deg,rgba(34,197,94,.12),rgba(34,197,94,.04));border-bottom:1px solid rgba(34,197,94,.2)}
.pp-player-picker-head--rebook{background:linear-gradient(135deg,rgba(251,191,36,.12),rgba(251,191,36,.04));border-bottom:1px solid rgba(251,191,36,.2)}
.pp-player-picker-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pp-player-picker-head--pkg .pp-player-picker-icon{background:rgba(34,197,94,.18);color:var(--pp-green)}
.pp-player-picker-head--rebook .pp-player-picker-icon{background:rgba(251,191,36,.18);color:#FBBF24}
.pp-player-picker-icon svg{width:20px;height:20px}
.pp-player-picker-title{font-size:17px;font-weight:700;margin:0;color:var(--pp-text)}
.pp-player-picker-sub{font-size:12px;color:var(--pp-text-3);margin:3px 0 0}
.pp-player-picker-close{background:rgba(255,255,255,.08);border:1px solid var(--pp-border);color:var(--pp-text-3);width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;flex-shrink:0;transition:.12s}
.pp-player-picker-close:hover{background:rgba(255,255,255,.14);color:var(--pp-text)}
.pp-player-picker-body{padding:14px}
.pp-player-picker-row{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;border:1px solid var(--pp-border);background:var(--pp-surface);cursor:pointer;text-align:left;transition:.14s;font-family:var(--pp-font)}
.pp-player-picker-row:hover{transform:translateX(2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.pp-player-picker-row--pkg:hover{border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.09)}
.pp-player-picker-row--rebook:hover{border-color:rgba(251,191,36,.5);background:rgba(251,191,36,.09)}
.pp-player-picker-row--pkg{border-left:3px solid rgba(34,197,94,.3)}
.pp-player-picker-row--rebook{border-left:3px solid rgba(251,191,36,.3)}
.pp-picker-count{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:5px 12px;border-radius:8px;white-space:nowrap;flex-shrink:0;border:1px solid transparent}
.pp-picker-count--pkg{background:rgba(34,197,94,.2);color:#4ade80;border-color:rgba(34,197,94,.35)}
.pp-picker-count--rebook{background:rgba(251,191,36,.2);color:#fde047;border-color:rgba(251,191,36,.35)}
.pp-player-picker-arrow{width:16px;height:16px;color:var(--pp-text-4);flex-shrink:0;transition:.14s}
.pp-player-picker-row:hover .pp-player-picker-arrow{color:var(--pp-text-2)}

/* ===== EVENT CARD ===== */
.pp-event-card{display:flex;border-radius:10px;overflow:hidden;background:var(--pp-surface);border:1px solid var(--pp-border);transition:.15s;margin-bottom:6px}
.pp-event-card:hover{border-color:rgba(168,85,247,.4);transform:translateY(-1px)}
.pp-event-card__accent{width:3px;flex-shrink:0}
.pp-event-card__body{flex:1;padding:10px 12px;min-width:0}
.pp-event-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}
.pp-event-card__title{font-weight:600;font-size:13px;color:var(--pp-text);line-height:1.3}
.pp-event-card__meta{font-size:11px;color:var(--pp-text-3);margin-top:2px}
.pp-event-card__badge{font-size:9px!important;padding:2px 7px!important;flex-shrink:0;margin-top:1px}
.pp-event-card__desc{font-size:11px;color:var(--pp-text-2);margin:6px 0;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pp-event-card__footer{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.pp-event-card__org{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--pp-text-3);font-weight:500}
.pp-event-card__players{display:flex;flex-wrap:wrap;gap:3px;width:100%;margin-top:2px}
.pp-event-player-tag{display:inline-flex;align-items:center;font-size:9px;padding:2px 6px;border-radius:4px;background:rgba(168,85,247,.1);color:#A855F7;font-weight:600}
.pp-badge--purple{color:#A855F7;background:rgba(168,85,247,.12)}

/* ===== ACCOUNTS PAGE REORDER ===== */
.pp-acct-reorder-card{cursor:default;user-select:none}
.pp-acct-reorder-card[draggable]{cursor:default}
.pp-acct-reorder-card.is-drag-over{outline:2px solid var(--pp-green);background:rgba(34,197,94,.04)}
.pp-acct-order-handle{display:flex;align-items:center;gap:4px;cursor:grab;padding:4px 6px;border-radius:6px;color:var(--pp-text-4);flex-shrink:0;opacity:.5;transition:opacity .15s}
.pp-acct-order-handle:hover{opacity:1;color:var(--pp-text-3)}
.pp-acct-order-handle:active{cursor:grabbing}

/* Website link in header */
.pp-website-link{display:none;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;border:1px solid var(--pp-border);color:var(--pp-text-3);font-size:12px;font-weight:500;text-decoration:none;transition:.15s;white-space:nowrap;font-family:var(--pp-font)}
.pp-website-link:hover{border-color:var(--pp-green);color:var(--pp-green)}
@media(min-width:900px){.pp-website-link{display:flex}}

/* ===== BOOK PACKAGE PURPLE BUTTON ===== */
.pp-btn--purple{background:linear-gradient(135deg,#7C3AED,#A855F7);color:#fff;border:1px solid rgba(168,85,247,.3);font-weight:700}
.pp-btn--purple:hover{background:linear-gradient(135deg,#6D28D9,#9333EA);border-color:rgba(168,85,247,.5)}

/* Book buttons wrapper */
.pp-book-btns{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.pp-book-btns .pp-btn{font-size:13px}
@media(max-width:600px){.pp-book-btns .pp-btn{font-size:12px;padding:6px 12px}}
@media(max-width:400px){.pp-book-btns .pp-btn--purple{display:none}}

.pp-text-link{background:none;border:none;cursor:pointer;padding:0;font-family:var(--pp-font);font-weight:600;text-decoration:none;transition:.15s;display:inline-flex;align-items:center;gap:3px}
.pp-text-link:hover{opacity:.8}

.pp-mob-website-link{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;border:1px solid var(--pp-border);color:var(--pp-text-3);font-size:11px;font-weight:500;text-decoration:none;margin-left:auto;white-space:nowrap;transition:.15s}
.pp-mob-website-link:hover{color:var(--pp-green);border-color:var(--pp-green)}

/* Header book button - hide on medium screens where dash book buttons visible */
@media(min-width:900px) and (max-width:1100px){.pp-header-book{display:none}}

/* ===== TABLET RESPONSIVE ===== */
@media(min-width:601px) and (max-width:899px){
    .pp-home-grid{grid-template-columns:1fr 1fr}
    .pp-home-grid>*:last-child{grid-column:span 2}
    .pp-acct-grid{grid-template-columns:repeat(3,1fr)}
    .pp-book-btns{gap:6px}
    .pp-book-btns .pp-btn{font-size:12px;padding:7px 12px}
}
@media(max-width:600px){
    .pp-home-grid{grid-template-columns:1fr}
    .pp-book-btns{gap:6px}
    .pp-book-btns .pp-btn{font-size:12px;padding:6px 10px}
}

/* ===== CALENDAR CLEAR BUTTON - NO LAYOUT SHIFT ===== */
.pp-cal-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px 8px}
.pp-cal-clear-wrap{min-width:70px;display:flex;align-items:center}
.pp-cal-clear{visibility:visible;opacity:1;transition:opacity .15s}
.pp-cal-clear--hidden{visibility:hidden;opacity:0;pointer-events:none}

@media(max-width:1050px){.pp-header-pkg{display:none!important}}

.pp-header-pkg:hover{background:linear-gradient(135deg,#6D28D9,#9333EA)!important;border-color:rgba(168,85,247,.6)!important}

/* ===== v2.37.0 ===== */

/* ── SVG logo sizing ── */
.pp-logo-img[src$=".svg"]{width:46px;height:46px;object-fit:contain}
.pp-mob-brand__img[src$=".svg"]{width:34px;height:34px;object-fit:contain}

/* ── Mobile brand vertical center ── */
.pp-mob-brand{align-items:center!important}
.pp-mob-brand__name{line-height:1!important;display:flex!important;align-items:center!important}

/* ── Large screen: just widen, don't inflate fonts ── */
@media(min-width:1600px){.pp-main{max-width:calc(100% - 40px)}}
@media(min-width:1900px){.pp-main{max-width:calc(100% - 60px)}}
@media(min-width:2200px){.pp-main{max-width:calc(100% - 80px)}}

/* ── Confirmation step ── */
.pp-confirm-step{padding:4px 0}
.pp-confirm__row{gap:12px}
.pp-confirm__row span{flex-shrink:0;color:var(--pp-text-3)}
.pp-confirm__row strong{text-align:right;word-break:break-word}

/* ── Welcome popup ── */
.pp-welcome-popup{overflow:hidden}
.pp-welcome-header{position:relative;overflow:hidden}
.pp-welcome-header__bg{position:absolute;inset:0;background:linear-gradient(135deg,#059669,#22C55E,#16a34a);opacity:.95}
.pp-welcome-header__bg::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='28' fill='none' stroke='rgba(255,255,255,.06)' stroke-width='1'/%3E%3C/svg%3E") repeat}
.pp-welcome-features{display:flex;flex-direction:column;gap:14px}
.pp-welcome-feature{display:flex;gap:12px;align-items:flex-start}
.pp-welcome-feature__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pp-welcome-feature__icon svg{width:20px;height:20px}
.pp-welcome-feature strong{display:block;font-size:13px;font-weight:700;color:var(--pp-text);margin-bottom:2px}
.pp-welcome-feature p{font-size:12px;color:var(--pp-text-3);line-height:1.5;margin:0}

/* ── Hamburger menu ── */
.pp-menu-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--pp-text);cursor:pointer;border-radius:8px;transition:.15s;padding:0;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.pp-menu-btn svg{width:20px;height:20px}
.pp-menu-btn:hover{background:rgba(255,255,255,.08);color:var(--pp-green)}
.pp-menu-btn--desk{display:none}
@media(min-width:900px){.pp-menu-btn--desk{display:flex}}
.pp-menudrawer-bg{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}
.pp-menudrawer{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:85vw;z-index:501;background:var(--pp-bg);border-right:1px solid var(--pp-border);display:flex;flex-direction:column;overflow:hidden;box-shadow:8px 0 40px rgba(0,0,0,.4)}
.pp-menudrawer__head{display:flex;align-items:center;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--pp-border);flex-shrink:0}
.pp-menudrawer__close{width:30px;height:30px;border-radius:8px;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text-3);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:.12s;flex-shrink:0}
.pp-menudrawer__close:hover{background:rgba(255,255,255,.1);color:var(--pp-text)}
.pp-menudrawer__body{flex:1;overflow-y:auto;padding:8px 0;-webkit-overflow-scrolling:touch}
.pp-menudrawer__section{padding:4px 10px}
.pp-menudrawer__label{font-size:10px;font-weight:700;color:var(--pp-text-4);text-transform:uppercase;letter-spacing:.08em;padding:10px 12px 6px}
.pp-menudrawer__divider{height:1px;background:var(--pp-border);margin:4px 18px}
.pp-menudrawer__item{width:100%;display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;border:none;background:transparent;color:var(--pp-text-2);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--pp-font);transition:all .15s;text-decoration:none;-webkit-tap-highlight-color:transparent}
.pp-menudrawer__item svg:first-child{width:20px;height:20px;flex-shrink:0;color:var(--pp-text-4);transition:color .15s}
.pp-menudrawer__item:hover{background:rgba(255,255,255,.05);color:var(--pp-text)}
.pp-menudrawer__item:hover svg:first-child{color:var(--pp-green)}
.pp-menudrawer__item.is-active{background:var(--pp-green-dim);color:var(--pp-green)}
.pp-menudrawer__item.is-active svg:first-child{color:var(--pp-green)}
.pp-menudrawer__item span{flex:1;text-align:left}
.pp-menudrawer__ext{width:14px;height:14px;color:var(--pp-text-4);flex-shrink:0;opacity:.4}
.pp-menudrawer__foot{padding:12px 18px;border-top:1px solid var(--pp-border);flex-shrink:0;text-align:center}

/* ── Package/Session type tags ── */
.pp-type-tag{font-size:8px;padding:1px 5px;border-radius:3px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.pp-type-tag--pkg{background:rgba(59,130,246,.12);color:#60a5fa}
.pp-type-tag--single{background:rgba(255,255,255,.06);color:var(--pp-text-4)}

/* ── Reviews embed ── */
.pp-reviews-embed{min-height:200px}

/* ── Calendar drawer search icon fix ── */
.pp-cal-search--drawer{position:relative}
.pp-cal-search--drawer .pp-cal-search__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;color:var(--pp-text-4)}
.pp-cal-search--drawer .pp-cal-search__input{padding-left:32px}

/* ── Schedule redesign ── */
.pp-sched-toprow{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.pp-sched-toprow__mid{display:flex;align-items:center;gap:8px;flex:1;min-width:0;justify-content:center}
.pp-sched-toprow__mid .pp-sched-search{flex:1;max-width:360px}
.pp-sched-views{flex-shrink:0}

.pp-sched-filters{display:flex;gap:5px;align-items:center;margin-bottom:8px}
.pp-sched-filters .pp-sched-sel{flex:1;min-width:0;max-width:none}
.pp-sched-clear{font-size:10px!important;white-space:nowrap;color:var(--pp-red);flex-shrink:0}

/* ── Schedule week view ── */
.pp-sched-nav{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:6px 0}
.pp-sched-nav__btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text);font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;font-family:var(--pp-font)}
.pp-sched-nav__btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.pp-sched-nav__label{font-size:15px;font-weight:700;color:var(--pp-text);min-width:120px;text-align:center}
.pp-sched-nav__today{padding:4px 12px;border-radius:6px;border:1px solid var(--pp-border);background:transparent;color:var(--pp-text-3);font-size:11px;font-weight:600;cursor:pointer;font-family:var(--pp-font);transition:.12s;margin-left:4px}
.pp-sched-nav__today:hover{background:rgba(255,255,255,.06);color:var(--pp-text)}
.pp-sched-weekview{display:flex;flex-direction:column;gap:2px}
.pp-sched-weekday{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:8px;overflow:hidden;margin-bottom:2px}
.pp-sched-weekday__hd{padding:6px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--pp-border)}
.pp-sched-weekday__hd.is-today{background:var(--pp-green-dim)}
.pp-sched-weekday__hd strong{font-size:12px}
.pp-sched-weekday__body{padding:4px 8px 6px;display:flex;flex-wrap:wrap;gap:4px}
.pp-sched-wk-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:5px;font-size:11px;background:rgba(255,255,255,.03);cursor:pointer;transition:.12s}
.pp-sched-wk-chip:hover{background:rgba(255,255,255,.06)}
.pp-sched-wk-chip__time{font-weight:700;color:var(--pp-green);font-size:11px;min-width:55px}
.pp-sched-wk-chip__name{color:var(--pp-text-2);font-weight:500}
.pp-sched-wk-chip__player{font-size:10px;color:var(--pp-text-4);font-weight:600}
.pp-sched-wk-chip__loc{font-size:9px;color:var(--pp-text-4);opacity:.6}

/* ── Schedule month view ── */
.pp-sched-monthview{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-r);overflow:hidden}
.pp-sched-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}

/* ── Book buttons: row on desktop, stack on mobile ── */
.pp-book-btns{display:flex;align-items:center;gap:6px;flex-shrink:0}
@media(max-width:480px){
    .pp-book-btns{flex-direction:column;gap:4px;align-self:stretch}
    .pp-book-btns .pp-btn{width:100%;justify-content:center;font-size:11px!important;padding:7px 12px!important}
    .pp-book-btns .pp-btn--purple{display:flex!important}
}

/* ── Notification center on mobile ── */
@media(max-width:899px){.pp-notif-bar--mob{justify-content:center}}

/* ── Accounts: remove blue glow from search, clean mobile ── */
.pp-acct-search{border-color:var(--pp-border)!important;box-shadow:none!important}
.pp-acct-search:focus-within{border-color:var(--pp-green)!important;box-shadow:none!important}
.pp-add-player-panel__search{border-color:var(--pp-border)!important;box-shadow:none!important}
.pp-add-player-panel__search:focus-within{border-color:var(--pp-green)!important;box-shadow:none!important}
@media(max-width:599px){
    .pp-acct-topbar{flex-direction:column;gap:6px;align-items:stretch}
    .pp-acct-topbar__left{display:flex;align-items:baseline;gap:8px}
    .pp-acct-topbar__right{width:100%;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
    .pp-acct-search{flex:1;max-width:none;min-width:140px}
    .pp-acct-btns{width:100%;display:flex;gap:6px}
    .pp-acct-btns .pp-acct-add-btn{flex:1;justify-content:center}
    .pp-acct-add-btn{flex-shrink:0}
    .pp-sched-toprow{gap:6px;flex-wrap:wrap}
    .pp-sched-toprow h1{font-size:18px!important;flex-shrink:0;width:100%}
    .pp-sched-toprow__mid{order:0;flex:1;min-width:0}
    .pp-sched-toprow__mid .pp-sched-search{max-width:none}
    .pp-sched-filters{flex-wrap:wrap}
    .pp-sched-filters .pp-sched-sel{flex:1 1 calc(50% - 4px);min-width:0}
}

/* ── Mobile ≤480px ── */
@media(max-width:480px){
    .pp-welcome__text h1{font-size:18px!important}
    .pp-welcome__text .t3{font-size:11px}
    .pp-notif-bar__pill{padding:4px 6px;font-size:9px;gap:3px}
    .pp-notif-bar__pill svg{width:10px;height:10px}
    .pp-notif-bar__amt{font-size:9px;padding:1px 4px}
}

/* ===== v2.42.0 ===== */

/* ── Reviews embed: center content, hide purchase link, style empty state ── */
.pp-reviews-embed{min-height:200px;max-width:900px;margin:0 auto}
.pp-reviews-embed>*{text-align:center}
.pp-reviews-embed .mst-portal,.pp-reviews-embed .mst-lib-app,.pp-reviews-embed [x-data]{text-align:center;display:flex;flex-direction:column;align-items:center}
.pp-reviews-embed p{text-align:center;max-width:400px;margin-left:auto;margin-right:auto}
.pp-reviews-embed h2,.pp-reviews-embed h3{text-align:center}
.pp-reviews-embed a[href*="product"],
.pp-reviews-embed a[href*="review"],
.pp-reviews-embed a[href*="cart"],
.pp-reviews-embed .mst-btn-primary,
.pp-reviews-embed a.mst-btn{display:none!important}

/* ── Back button ── */
.pp-back-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0;padding:0}
.pp-back-btn svg{width:18px;height:18px}
.pp-back-btn:hover{background:rgba(255,255,255,.08);color:var(--pp-green);border-color:var(--pp-green)}

/* ── Read-only inputs ── */
.pp-input--readonly{opacity:.6!important;cursor:not-allowed!important;background:rgba(255,255,255,.02)!important}
.pp-field-hint{display:block;font-size:10px;color:var(--pp-text-4);margin-top:2px;font-style:italic}
.pp-phone-code{width:62px!important;flex-shrink:0;padding:8px 4px!important;font-size:12px!important;text-align:center;-webkit-appearance:none;appearance:none}

/* ── No-link prompt ── */
.pp-nolink-prompt{border:1px solid rgba(34,197,94,.2)!important;background:rgba(34,197,94,.04)!important}
.pp-nolink-actions{display:flex;gap:8px;flex-shrink:0;align-items:center;flex-wrap:wrap}
.pp-nolink-or{font-size:11px;color:var(--pp-text-4);font-weight:600;text-transform:uppercase}
.pp-btn--outline{background:transparent!important;border:1px solid rgba(255,255,255,.15)!important;color:#E2E8F0!important;box-shadow:none!important}
.pp-btn--outline:hover{border-color:var(--pp-green)!important;color:var(--pp-green)!important;background:rgba(34,197,94,.06)!important}
@media(max-width:600px){.pp-nolink-actions{justify-content:center;width:100%}.pp-nolink-prompt>div{flex-direction:column;text-align:center}}

/* ── Zoom/meeting link in session cards ── */
.pp-zoom-link{display:inline-flex;align-items:center;gap:4px;margin-top:3px;font-size:10px;color:#60a5fa;text-decoration:none;background:rgba(59,130,246,.08);padding:2px 8px;border-radius:5px;transition:.15s;font-weight:600}
.pp-zoom-link svg{width:11px;height:11px;flex-shrink:0}
.pp-zoom-link:hover{background:rgba(59,130,246,.18);color:#93bbfd}

/* ── End of portal styles ── */

/* ── Booking Overlay — v2.46.5.7 ── */
/* ── Amelia-style Popup (iframe to /booking/) ── */
.mst-ap{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;animation:mstApFadeIn .2s ease}
@keyframes mstApFadeIn{from{opacity:0}to{opacity:1}}
.mst-ap-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.mst-ap-card{position:relative;z-index:1;width:min(98vw,960px);height:min(92vh,820px);display:flex;flex-direction:column;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.06);animation:mstApSlide .3s ease}
@keyframes mstApSlide{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.mst-ap-card--header{border-radius:12px}
.mst-ap-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:15px;color:#1a1a2e;flex-shrink:0}
.mst-ap-x{background:none;border:none;width:32px;height:32px;border-radius:8px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:.15s;line-height:1}
.mst-ap-x:hover{background:rgba(0,0,0,.08);color:#333}
.mst-ap-close{position:absolute;top:10px;right:10px;z-index:10;background:rgba(255,255,255,.9);border:none;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#555;transition:.2s;box-shadow:0 2px 8px rgba(0,0,0,.12);line-height:1}
.mst-ap-close:hover{background:#fff;color:#111;box-shadow:0 2px 12px rgba(0,0,0,.2)}
.mst-ap-body{flex:1;position:relative;overflow:hidden}
.mst-ap-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;background:#fff}
.mst-ap-dot{width:8px;height:8px;border-radius:50%;background:#1A84EE;animation:mstApBounce .6s ease-in-out infinite alternate}
.mst-ap-dot:nth-child(2){animation-delay:.2s}
.mst-ap-dot:nth-child(3){animation-delay:.4s}
@keyframes mstApBounce{from{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.1)}}
.mst-ap-frame{width:100%;height:100%;border:none;opacity:0;transition:opacity .3s ease}
@media(max-width:640px){.mst-ap-card,.mst-ap-card--header{width:100vw;height:100vh;height:100dvh;border-radius:0}.mst-ap-close{top:6px;right:6px}}
