:root{--sweatt-red: #b91c1c;--sweatt-red-deep: #8a1612;--sweatt-red-soft: #fdf2f1;--sweatt-red-line: #f3d6d3;--sweatt-ink: #100f0c;--sweatt-ink-2: #1a1916;--bg: #f6f4ef;--bg-2: #efece5;--surface: #ffffff;--surface-2: #fbfaf6;--surface-hover: #f0ede4;--text: #14130f;--text-2: #2a2823;--text-3: #6f6c63;--text-4: #9a978d;--text-on-dark: #fafaf7;--text-on-dark-2: #c8c5b9;--text-on-dark-3: #76736a;--border: #e6e2d8;--border-strong: #d4cfc1;--border-soft: #f0ede4;--ok: #1f7a4d;--ok-soft: #e7f3ec;--warn: #a76a14;--warn-soft: #faf0db;--danger: var(--sweatt-red);--danger-soft: var(--sweatt-red-soft);--info: #2c5fa0;--info-soft: #e8eef7;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 0 rgba(20,19,15,.04), 0 1px 2px rgba(20,19,15,.03);--shadow: 0 1px 0 rgba(20,19,15,.04), 0 8px 24px -12px rgba(20,19,15,.1);--shadow-lg: 0 24px 48px -16px rgba(20,19,15,.18), 0 2px 0 rgba(20,19,15,.04);--font-sans: "Space Grotesk", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Menlo", "Monaco", monospace;--rail: 232px;--topbar: 60px}*{box-sizing:border-box}html,body,#root{height:100%;max-width:100%;overflow-x:hidden}body{margin:0;font-family:var(--font-sans);font-feature-settings:"ss01","ss02","cv11";font-variant-numeric:tabular-nums;letter-spacing:-.005em;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,video,canvas,svg{max-width:100%}a{color:var(--sweatt-red);text-decoration:none}a:hover{text-decoration:underline}.button-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sweatt-red);background:var(--sweatt-red);color:#fff;padding:8px 14px;border-radius:var(--radius-sm);font-weight:500;font-size:13.5px;letter-spacing:-.005em;text-decoration:none;transition:background .12s ease,border-color .12s ease}.button-link:hover{background:var(--sweatt-red-deep);border-color:var(--sweatt-red-deep);text-decoration:none}.ghost-link{background:transparent;color:var(--text);border:1px solid var(--border)}.ghost-link:hover{background:var(--surface-2);border-color:var(--border-strong)}button{font:inherit;cursor:pointer;border:1px solid var(--text);background:var(--text);color:var(--surface);padding:8px 14px;border-radius:var(--radius-sm);font-weight:500;font-size:13.5px;letter-spacing:-.005em;transition:background .12s ease,border-color .12s ease,color .12s ease}button:hover{background:#000;border-color:#000}button:active{transform:translateY(0)}button:focus-visible{outline:2px solid var(--sweatt-red);outline-offset:2px}button.accent,button.primary{background:var(--sweatt-red);border-color:var(--sweatt-red);color:#fff}button.accent:hover,button.primary:hover{background:var(--sweatt-red-deep);border-color:var(--sweatt-red-deep)}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}button.ghost:hover{background:var(--surface-2);border-color:var(--border-strong)}button.subtle{background:var(--bg-2);color:var(--text);border:1px solid var(--border-soft)}button.subtle:hover{background:var(--surface-hover)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover{background:var(--sweatt-red-deep);border-color:var(--sweatt-red-deep)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}input,select,textarea{font:inherit;width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13.5px;transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--text);box-shadow:0 0 0 3px #14130f14}label{display:block;font-size:10.5px;font-weight:500;color:var(--text-3);text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px}.field{margin-bottom:14px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.coach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.coach-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface),var(--surface-2));padding:16px;display:grid;gap:14px;box-shadow:var(--shadow-sm)}.coach-card-top{display:flex;gap:14px;align-items:flex-start}.coach-card-top img,.coach-avatar-fallback{width:76px;height:76px;border-radius:20px;object-fit:cover;flex:0 0 auto}.coach-avatar-fallback{display:grid;place-items:center;background:var(--sweatt-red-soft);color:var(--sweatt-red);font-size:24px;font-weight:700}.coach-card h3{margin:0 0 4px;font-size:20px;letter-spacing:-.03em}.coach-card p{margin:0}.coach-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.coach-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-3);font-size:12px}.coach-meta span{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:5px 9px}.coach-modal{max-width:720px}.coach-edit-hero{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);margin-bottom:16px}.coach-edit-hero img,.coach-edit-hero .coach-avatar-fallback{width:96px;height:96px;border-radius:24px;object-fit:cover}.pill-grid{display:flex;flex-wrap:wrap;gap:8px}.pill-grid button{font-size:12px;padding:7px 10px}.coach-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0 18px}.coach-toggle-grid label{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);letter-spacing:0;text-transform:none;font-size:13px}.coach-toggle-grid input{width:auto}.shell{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:var(--rail);background:var(--sweatt-ink);color:var(--text-on-dark);padding:22px 14px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid #1d1c18}.mobile-menu-btn,.mobile-sidebar-close,.mobile-sidebar-scrim{display:none}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px;margin-bottom:6px;border-bottom:1px solid #1d1c18}.sidebar-brand img{height:24px;display:block}.sidebar-brand .wordmark{font-family:var(--font-sans);font-weight:700;font-size:22px;letter-spacing:-.04em;color:#fafaf7;display:inline-flex;align-items:baseline}.sidebar-brand .wordmark .accent-letter{color:var(--sweatt-red)}.sidebar-brand .wordmark .dot{display:inline-block;width:6px;height:6px;background:var(--sweatt-red);border-radius:50%;margin-left:3px;transform:translateY(-9px)}.sidebar-brand .role-tag{margin-left:auto;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#b3afa1;border:1px solid #2a2824;background:#1a1916;padding:3px 7px;border-radius:4px;font-weight:500}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-section+.nav-section{margin-top:18px}.nav-label{font-size:10px;letter-spacing:.16em;color:#76736a;padding:0 10px 8px;font-weight:500;text-transform:uppercase}.sidebar nav a,.nav-section a{display:flex;align-items:center;gap:10px;color:#c8c5b9;padding:8px 10px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:450;letter-spacing:-.005em;text-decoration:none;transition:background .15s ease,color .15s ease;position:relative}.sidebar nav a:hover,.nav-section a:hover{background:#1a1815;color:#f0ede2}.sidebar nav a.active,.nav-section a.active{background:#1c1a16;color:#fafaf7}.sidebar nav a.active:before,.nav-section a.active:before{content:"";position:absolute;left:-14px;top:6px;bottom:6px;width:2px;background:var(--sweatt-red);border-radius:0 2px 2px 0}.sidebar-spacer{flex:1}.provider-switcher{margin:12px 4px 14px;padding:10px 10px 12px;background:#1a1916;border:1px solid #2a2824;border-radius:var(--radius-sm)}.provider-switcher label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#76736a;margin-bottom:6px;font-weight:500}.provider-switcher select{background:#100f0c;color:var(--text-on-dark);border:1px solid #2a2824;font-size:12.5px}.provider-switcher select:focus{border-color:var(--sweatt-red);box-shadow:0 0 0 2px #b91c1c40}.sidebar .user{padding:12px 4px 0;border-top:1px solid #1d1c18;font-size:12px;color:var(--text-on-dark-2)}.sidebar .user .email{margin-bottom:8px;word-break:break-all;color:var(--text-on-dark);font-weight:500}.sidebar .user .row-bottom{display:flex;align-items:center;gap:8px}.sidebar .user button{background:transparent;border:1px solid #2a2824;padding:5px 10px;font-size:12px;color:var(--text-on-dark);font-weight:500}.sidebar .user button:hover{background:#1a1916;border-color:#3a3833}.content{flex:1;padding:32px 40px 80px;overflow:auto;min-width:0;max-width:1480px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:16px}.page-header h1{margin:0;font-size:30px;font-weight:600;letter-spacing:-.025em}.page-header .subtitle{font-size:13.5px;color:var(--text-3);margin-top:4px}.page-header-actions{display:flex;gap:10px;align-items:center}.eyebrow{font-size:10.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-3)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:16px}.page-head h1{margin:6px 0 4px;font-size:30px;font-weight:600;letter-spacing:-.025em}.page-head .sub{font-size:13.5px;color:var(--text-3);max-width:70ch}.page-head .actions{display:flex;gap:10px;align-items:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm)}.card+.card{margin-top:16px}.card h2{margin:0 0 14px;font-size:18px;font-weight:600;letter-spacing:-.015em}.card .card-subtitle{margin-top:-10px;margin-bottom:16px;font-size:13.5px;color:var(--text-3)}.card .hd{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--border-soft)}.card .hd h2,.card .hd h3{margin:0}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:22px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px 20px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat .lbl,.stat .label{color:var(--text-3);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;margin-bottom:12px}.stat .num,.stat .value{font-family:var(--font-mono);font-size:30px;font-weight:500;letter-spacing:-.025em;line-height:1.05;font-variant-numeric:tabular-nums}.stat .num .currency,.stat .value .ccy{font-family:var(--font-sans);font-size:12.5px;font-weight:500;color:var(--text-3);margin-right:4px;letter-spacing:.04em}.stat .delta{font-family:var(--font-mono);font-size:11.5px;color:var(--ok);margin-top:8px;font-weight:500;font-variant-numeric:tabular-nums}.stat .delta.down{color:var(--danger)}.stat .spark{margin-top:10px;display:block}.stat.hilite,.stat.featured{background:radial-gradient(420px 220px at 100% 120%,rgba(185,28,28,.45),transparent 60%),linear-gradient(135deg,#161512,#0c0b09);border-color:#0c0b09;color:#fafaf7;box-shadow:var(--shadow)}.stat.hilite .lbl,.stat.featured .lbl,.stat.hilite .label,.stat.featured .label{color:#fafaf78c}.stat.hilite .num,.stat.hilite .value,.stat.featured .num,.stat.featured .value{color:#fafaf7}.stat.hilite .num .currency,.stat.featured .num .currency,.stat.hilite .value .ccy,.stat.featured .value .ccy{color:#fafaf7b3}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border-soft);font-size:13.5px}th{color:var(--text-3);font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;background:var(--surface-2);border-bottom:1px solid var(--border)}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}td.num,th.num,.tnum{font-family:var(--font-mono);font-variant-numeric:tabular-nums}table.compact th,table.compact td{padding:9px 12px;font-size:13px}.badge,.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.02em;background:var(--bg-2);color:var(--text-2);border:1px solid var(--border)}.badge .led,.chip .led{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.badge.green,.chip.ok{background:var(--ok-soft);color:var(--ok);border-color:#1f7a4d2e}.badge.red,.chip.bad{background:var(--danger-soft);color:var(--danger);border-color:var(--sweatt-red-line)}.badge.amber,.chip.warn{background:var(--warn-soft);color:var(--warn);border-color:#a76a1433}.badge.blue,.chip.info{background:var(--info-soft);color:var(--info);border-color:#2c5fa02e}.badge.gray,.chip.neutral{background:var(--bg-2);color:var(--text-2);border-color:var(--border)}.chip.ink{background:var(--text);color:var(--surface);border-color:var(--text)}.role-pill{display:inline-flex;align-items:center;font-size:10.5px;padding:4px 10px;background:var(--bg-2);color:var(--text-2);border:1px solid var(--border);border-radius:999px;letter-spacing:.12em;font-weight:500;text-transform:uppercase}.role-pill.big{font-size:11px;padding:5px 12px;background:var(--text);color:var(--surface);border-color:var(--text);letter-spacing:.12em}.error{color:var(--danger);font-size:13px;margin-top:10px;font-weight:500}.success{color:var(--ok);background:var(--ok-soft);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px;font-size:13px;font-weight:600}.empty{padding:50px 20px;text-align:center;color:var(--text-3);font-size:14px}.empty .empty-icon{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;background:var(--surface-hover);border-radius:16px;margin-bottom:14px;font-size:26px}.muted{color:var(--text-3);font-size:13px}.hint{color:var(--text-3);font-size:12px;margin-top:8px}.form-actions{display:flex;align-items:center;gap:10px;margin-top:6px}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-actions button{padding:7px 10px;font-size:12px}.ad-editor-grid{display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(300px,.85fr);gap:20px;align-items:start}.ad-preview-card{position:sticky;top:24px}.ad-preview{position:relative;aspect-ratio:8 / 3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:linear-gradient(135deg,rgba(226,35,49,.16),transparent),var(--surface-2)}.ad-preview img{width:100%;height:100%;object-fit:cover;display:block}.ad-preview-empty{height:100%;display:grid;place-items:center;color:var(--text-3);font-size:13px}.ad-preview-pill{position:absolute;top:12px;left:12px;background:#0b1426b8;color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:1px}.ad-thumb{width:112px;height:42px;object-fit:cover;border-radius:7px;border:1px solid var(--border);display:block}@media (max-width: 1080px){.ad-editor-grid{grid-template-columns:1fr}.ad-preview-card{position:static}}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(900px 480px at 50% -10%,rgba(185,28,28,.06),transparent 60%),var(--bg);padding:24px}.login-card{width:420px;max-width:100%;background:var(--surface);padding:36px;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.login-card .login-logo{height:36px;margin-bottom:18px;display:block}.login-card h1{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.2px}.login-card p{margin:0 0 26px;color:var(--text-2);font-size:14px}.login-card button{width:100%;padding:12px}.login-footer{margin-top:18px;font-size:12px;color:var(--text-3);text-align:center}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b14268c;display:grid;place-items:center;z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:28px;width:540px;max-width:calc(100vw - 40px);max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal h2{margin:0 0 6px;font-size:20px;font-weight:700}.modal .modal-subtitle{margin:0 0 22px;color:var(--text-2);font-size:14px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.section-title{font-size:11px;font-weight:800;letter-spacing:1.6px;color:var(--text-3);text-transform:uppercase;margin:8px 0 12px}.content::-webkit-scrollbar{width:10px}.content::-webkit-scrollbar-thumb{background:#0b14262e;border-radius:8px;border:2px solid var(--bg)}.content::-webkit-scrollbar-track{background:transparent}.portal-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;margin-bottom:24px;padding:24px 26px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text)}.portal-hero h1{margin:4px 0 10px;font-size:30px;font-weight:600;letter-spacing:-.025em}.portal-hero p{margin:0;max-width:62ch;color:var(--text-3);line-height:1.55;font-size:13.5px}.portal-hero .eyebrow{font-size:10.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-3)}.hero-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.portal-hero-panel{display:grid;gap:10px;align-content:start}.hero-kpi{padding:14px 16px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border-soft)}.hero-kpi span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-3);margin-bottom:6px;font-weight:500}.hero-kpi strong{font-family:var(--font-mono);font-size:22px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mini-list{display:grid;gap:10px}.mini-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-soft);background:transparent}.mini-list-row:last-child{border-bottom:none}.mini-list-value{font-family:var(--font-mono);font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-tile{display:block;padding:16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .12s ease,background .12s ease;position:relative}.action-tile:hover{text-decoration:none;border-color:var(--border-strong);background:var(--surface-2)}.action-tile span{display:block;font-size:10.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.action-tile strong{font-size:14px;line-height:1.35;font-weight:600;letter-spacing:-.01em}.compliance-callout{padding:16px 18px;border-radius:16px;background:linear-gradient(180deg,#fff7eb,#fffdf9);border:1px solid #f2d39a;color:#613d00;margin-bottom:16px}.compliance-callout p{margin:8px 0 0;line-height:1.5}.filters-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;margin-bottom:18px}.compliance-banner{margin-bottom:16px;padding:14px 16px;border-radius:14px;background:linear-gradient(180deg,#fff0f2,#fff8f8);border:1px solid #f6c7cd;display:grid;gap:4px}.compliance-banner span{color:var(--text-2);font-size:13px;line-height:1.45}.stack-sections{display:grid;gap:18px}.booking-group{border:1px solid var(--border);border-radius:16px;overflow:hidden}.booking-group-head{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:18px 18px 14px;background:linear-gradient(180deg,#fff,var(--surface-2));border-bottom:1px solid var(--border)}.booking-group-head h2{margin:0 0 6px;font-size:18px}.booking-group-summary{font-weight:700;color:var(--text)}.request-stack{display:grid;gap:14px}.request-card{border:1px solid var(--border);border-radius:16px;padding:18px;background:linear-gradient(180deg,#fff,var(--surface-2))}.request-card-top{display:flex;justify-content:space-between;gap:16px}.request-card-title{font-size:18px;font-weight:700;margin-bottom:10px}.request-card-meta{display:flex;gap:8px;flex-wrap:wrap}.request-card-side{text-align:right;color:var(--text-3);font-size:13px}.request-card-body p{margin:14px 0;color:var(--text-2);line-height:1.55}.request-extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.request-extra-grid div,.request-resolution{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--border)}.request-extra-grid strong,.request-resolution strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-3);margin-bottom:6px}.request-card-actions{display:flex;gap:10px;margin-top:16px}.scanner-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.scanner-card .scanner-frame{min-height:320px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#e2233129,#2c7cd824),#0f1b35;display:grid;place-items:center}.scanner-card video{width:100%;height:100%;min-height:320px;object-fit:cover}.scanner-status-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.scanner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.scanner-overlay span{padding:10px 14px;border-radius:999px;background:#0b1426b8;color:#fff;font-size:12px;font-weight:700;letter-spacing:.4px}.scanner-placeholder{display:grid;place-items:center;color:#ffffffd1;gap:10px}.scanner-icon{width:78px;height:78px;border-radius:24px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;font-size:32px}.scanner-result{margin-top:16px;padding:16px;border-radius:14px;background:linear-gradient(180deg,#eef8f2,#fff);border:1px solid #cfead8}.scanner-result-title{font-size:17px;font-weight:700;margin-bottom:6px}.scanner-booking{margin-top:12px;display:grid;gap:4px}.scanner-detected-panel{margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--border)}.scanner-detected-panel strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-3);margin-bottom:6px}.scanner-detected-panel div{font-family:var(--font-mono);font-size:12px;word-break:break-all;color:var(--text)}@media (max-width: 1120px){.portal-hero,.two-col-grid,.scanner-grid,.action-grid,.request-extra-grid,.filters-grid{grid-template-columns:1fr}}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar);display:flex;align-items:center;gap:16px;padding:0 40px;background:#f6f4efc7;backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--border)}.topbar .crumbs{font-size:12.5px;color:var(--text-3);display:flex;align-items:center;gap:8px}.topbar .crumbs .sep{color:var(--text-4)}.topbar .crumbs .current{color:var(--text);font-weight:500}.topbar .spacer{flex:1}.topbar .search{width:280px;display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-3);font-size:12.5px}.topbar .search input{flex:1;border:none;padding:0;background:transparent;font-size:12.5px;color:var(--text)}.topbar .search input:focus{box-shadow:none;outline:none}.topbar .search .kbd{font-family:var(--font-mono);font-size:10.5px;color:var(--text-3);padding:1px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2)}.topbar .icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:var(--radius-sm);padding:0;position:relative}.topbar .icon-btn:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.topbar .icon-btn .led{position:absolute;top:6px;right:6px;width:6px;height:6px;background:var(--sweatt-red);border-radius:50%}.topbar .ccy-select{font-size:12.5px;padding:6px 10px;width:auto;background:var(--surface)}.shell .has-topbar{padding-top:24px}.tab-row{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--border);margin-bottom:18px}.tab-row button{background:transparent;border:none;color:var(--text-3);padding:10px 14px;font-size:13px;font-weight:500;letter-spacing:-.005em;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;transition:color .12s ease,border-color .12s ease}.tab-row button:hover{color:var(--text);background:transparent;border-color:transparent}.tab-row button.active{color:var(--text);border-bottom-color:var(--sweatt-red)}.spark{width:100%;display:block}.court-svg{width:100%;height:60px;color:var(--text-3);display:block}.court-tile{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;height:88px;display:grid;place-items:center}.av{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,var(--sweatt-red),var(--sweatt-ink));color:#fafaf7;font-weight:600;letter-spacing:-.02em;flex-shrink:0}.av.dk{background:linear-gradient(135deg,var(--sweatt-ink),#2a2823)}.av.lt{background:var(--bg-2);color:var(--text)}.switch{width:30px;height:18px;border-radius:999px;background:var(--border);position:relative;cursor:pointer;transition:background .15s ease;flex-shrink:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #14130f26;transition:transform .15s ease}.switch.on{background:var(--text)}.switch.on:after{transform:translate(12px)}.toggle-row,.seg-group{display:inline-flex;border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);padding:2px;gap:2px}.toggle-row button,.seg-group button{background:transparent;border:none;color:var(--text-3);padding:5px 10px;font-size:12.5px;font-weight:500;border-radius:4px}.toggle-row button.active,.seg-group button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.toggle-row button:hover,.seg-group button:hover{color:var(--text);background:transparent}.toggle-row button.active:hover,.seg-group button.active:hover{background:var(--surface)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.stepper button{background:transparent;border:none;color:var(--text-2);padding:4px 10px;font-size:14px;font-weight:500}.stepper button:hover{background:var(--surface-2)}.stepper .val{padding:0 10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;min-width:28px;text-align:center}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media (max-width: 980px){.shell{display:block;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:70;width:min(86vw,320px);height:100dvh;transform:translate(-105%);transition:transform .22s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:28px 0 70px #100f0c47}.sidebar.open{transform:translate(0)}.mobile-sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#100f0c6b;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mobile-sidebar-scrim.show{display:block}.mobile-sidebar-close{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:6px;padding:0;border:1px solid #2a2824;border-radius:8px;background:#1a1916;color:var(--text-on-dark);font-size:20px;line-height:1}.mobile-sidebar-close:hover{background:#25231f;border-color:#3a3833}.mobile-menu-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 auto;padding:0;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);font-size:18px}.mobile-menu-btn:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.topbar{height:56px;padding:0 14px;gap:10px}.topbar .crumbs{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar .search,.topbar .icon-btn,.topbar .ccy-select{display:none}.content{width:100%;max-width:none;padding:20px 16px 96px;overflow:visible}.shell .has-topbar{padding-top:18px}.page-header,.page-head,.booking-group-head,.request-card-top,.card .hd{align-items:flex-start;flex-direction:column;gap:12px}.page-header{margin-bottom:20px}.page-header h1,.page-head h1{font-size:clamp(24px,7vw,30px);line-height:1.05}.page-header-actions,.page-head .actions,.form-actions,.modal-actions,.request-card-actions,.hero-actions{width:100%;flex-wrap:wrap;align-items:stretch}.page-header-actions>*,.page-head .actions>*,.form-actions>*,.modal-actions>*,.request-card-actions>*,.hero-actions>*{flex:1 1 150px}.row,.coach-edit-hero,.portal-hero,.two-col-grid,.scanner-grid,.action-grid,.request-extra-grid,.filters-grid,.ad-editor-grid{grid-template-columns:1fr}.coach-edit-hero{align-items:start}.grid-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card,.stat,.coach-card,.request-card,.membership-card,.ad-preview-card{min-width:0;border-radius:var(--radius)}.card,.stat{padding:16px}.stat .num,.stat .value{font-size:24px}.tab-row,.toggle-row,.seg-group,.pill-grid,.coach-tags{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-row::-webkit-scrollbar,.toggle-row::-webkit-scrollbar,.seg-group::-webkit-scrollbar,.pill-grid::-webkit-scrollbar,.coach-tags::-webkit-scrollbar{display:none}.tab-row button,.toggle-row button,.seg-group button,.pill-grid button{flex:0 0 auto;white-space:nowrap}.modal-bg{place-items:end center}.modal{width:100%;max-width:100%;max-height:88dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:22px 16px calc(22px + env(safe-area-inset-bottom))}}@media (max-width: 720px){.login-wrap{padding:18px;place-items:stretch;align-content:center}.login-card{width:100%;padding:26px 20px}.grid-stats{grid-template-columns:1fr}table{display:block;width:100%}table thead{display:none}table tbody{display:grid;gap:12px}table tr{display:block;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;background:var(--surface);box-shadow:var(--shadow-sm)}table tbody tr:hover{background:var(--surface)}table td{display:block;width:100%;padding:10px 0;border-bottom:1px solid var(--border-soft);word-break:break-word}table td:last-child{border-bottom:0}table td:empty{display:none}table.compact th,table.compact td{padding:9px 0}.table-actions{width:100%}.table-actions button,.table-actions a{flex:1 1 100%;justify-content:center}.provider-switcher{margin-inline:0}.sidebar .user .row-bottom{flex-wrap:wrap}.sidebar .user .row-bottom>div[style]{display:none}.sidebar .user button{flex:1 1 auto}.ad-thumb{width:100%;height:auto;aspect-ratio:8 / 3}}@media (max-width: 520px){.topbar .crumbs span:first-child,.topbar .crumbs span:nth-child(3),.topbar .crumbs .sep{display:none}.content{padding-inline:12px}.page-header-actions>*,.page-head .actions>*,.form-actions>*,.modal-actions>*,.request-card-actions>*,.hero-actions>*{flex-basis:100%}button,.button-link,input,select,textarea{min-height:38px}}
