:root{--bg:#f8fafc;--panel:#fff;--panel-muted:#f9fafb;--ink:#111827;--ink-strong:#0f172a;--muted:#6b7280;--line:#e5e7eb;--line-strong:#d1d5db;--accent:#10b981;--accent-hover:#059669;--accent-soft:#d1fae5;--accent-faint:#f0fdf4;--accent-line:#a7f3d0;--sidebar-bg:#065f46;--sidebar-bg-strong:#064e3b;--sidebar-text:#fff;--sidebar-muted:#ffffffb8;--sidebar-soft:#ffffff1f;--sidebar-active:#ffffff2e;--sidebar-border:#ffffff29;--danger:#dc2626;--radius:14px;--button-height:44px;--button-min-width:196px;--button-padding-x:18px;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a0f;--transition:.2s ease}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0}body{-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.login-shell{background:radial-gradient(circle at 18% 16%,#10b98138,#0000 32%),linear-gradient(135deg,#f8fafc 0%,#ecfdf5 100%);grid-template-columns:minmax(0,1fr) minmax(380px,480px);align-items:stretch;gap:22px;min-height:100vh;padding:28px;display:grid}.login-hero{color:#fff;background:radial-gradient(circle at 84% 12%,#ffffff3d,#0000 28%),linear-gradient(135deg,#064e3b 0%,#047857 54%,#10b981 100%);border:1px solid #065f4629;border-radius:30px;flex-direction:column;justify-content:flex-end;min-height:calc(100vh - 56px);padding:34px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #065f4633}.login-hero:before{content:"";background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;width:420px;height:420px;position:absolute;top:-120px;right:-120px}.login-hero:after{content:"";background:#ffffff1a;border-radius:999px;width:520px;height:520px;position:absolute;bottom:-190px;left:-160px}.login-hero span,.login-card-head span{z-index:1;color:#bbf7d0;letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:950;position:relative}.login-hero strong{z-index:1;color:#fff;letter-spacing:-.08em;margin-top:10px;font-size:clamp(80px,16vw,210px);font-weight:950;line-height:.78;display:block;position:relative}.login-hero p{z-index:1;color:#ffffffc7;max-width:560px;margin:22px 0 0;font-size:18px;font-weight:650;line-height:1.45;position:relative}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #ffffffb8;border-radius:28px;align-self:center;gap:16px;padding:28px;display:grid;box-shadow:0 24px 80px #0f172a24}.login-card-head{gap:8px;margin-bottom:4px;display:grid}.login-card-head span{color:var(--accent-hover);align-items:center;gap:8px;display:inline-flex}.login-card-head h1{color:var(--ink-strong);letter-spacing:-.045em;margin:0;font-size:34px;font-weight:950;line-height:1}.login-card-head p{color:var(--muted);margin:0;font-size:14px;font-weight:650;line-height:1.5}.login-field{gap:7px;display:grid}.login-field span{color:var(--ink);font-size:13px;font-weight:850}.login-field input{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--ink);transition:border-color var(--transition), box-shadow var(--transition);background:#fff;border-radius:14px;outline:0;padding:0 14px;font-size:15px;font-weight:650}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #10b9811f}.login-submit{background:var(--accent);color:#fff;cursor:pointer;min-height:50px;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:15px;font-weight:900;display:inline-flex;box-shadow:0 14px 26px #10b9813d}.login-submit:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 18px 32px #10b98138}.login-submit:disabled{cursor:wait;opacity:.72;transform:none}.login-error{color:#be123c;background:#fff1f2;border:1px solid #fecaca;border-radius:14px;padding:12px 14px;font-size:13px;font-weight:800}.login-hint{border:1px solid var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);border-radius:14px;align-items:flex-start;gap:9px;padding:12px;font-size:12px;font-weight:750;line-height:1.4;display:flex}.login-hint svg{flex:none;margin-top:1px}.crm-shell{background:var(--bg);grid-template-columns:260px 1fr;min-height:100vh;transition:grid-template-columns .24s cubic-bezier(.4,0,.2,1);display:grid}.crm-shell.is-collapsed{grid-template-columns:76px 1fr}.sidebar{background:linear-gradient(180deg, var(--sidebar-bg) 0%, var(--sidebar-bg-strong) 100%);color:var(--sidebar-text);z-index:10;border-right:1px solid #064e3bcc;flex-direction:column;gap:16px;height:100vh;padding:16px 14px;display:flex;position:sticky;top:0;box-shadow:inset -1px 0 #ffffff0a}.brand-card{border-bottom:1px solid var(--sidebar-border);background:0 0;justify-content:space-between;align-items:flex-start;gap:10px;padding:0 4px 14px;display:flex}.brand-copy{min-width:0}.brand-card strong{letter-spacing:-.02em;color:var(--sidebar-text);margin:2px 0 3px;font-size:17px;font-weight:850;line-height:1.25;display:block}.brand-card small{color:var(--sidebar-muted);font-size:12px}.brand-kicker{color:#bbf7d0;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.sidebar-toggle,.mobile-menu-button{color:var(--muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0}.sidebar-toggle{width:32px;height:32px;color:var(--sidebar-muted);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.sidebar-toggle:hover{background:var(--sidebar-soft);color:var(--sidebar-text)}.mobile-menu-button:hover{background:var(--accent-faint);color:var(--ink)}.sidebar-search-button{border:1px solid var(--sidebar-border);color:var(--sidebar-muted);cursor:pointer;min-height:40px;transition:border-color var(--transition), background var(--transition), color var(--transition);background:#ffffff1a;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:700;display:flex}.sidebar-search-button:hover{color:var(--sidebar-text);background:#ffffff29;border-color:#ffffff52}kbd{border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow-sm);background:#fff;border-radius:7px;padding:2px 6px;font-size:11px;font-weight:750;line-height:1}.shortcut-pill{color:#4b5563;letter-spacing:-.02em;background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:9px;justify-content:center;align-items:center;gap:4px;min-width:44px;height:24px;padding:0 7px;font-size:12px;font-weight:850;display:inline-flex;box-shadow:0 1px 2px #0f172a0f,inset 0 -1px #0f172a0a}.shortcut-pill svg{stroke-width:2.4px;color:#64748b;width:12px;height:12px}.shortcut-pill span{transform:translateY(-.5px)}.sidebar-search-button kbd{margin-left:auto}.nav-list{scrollbar-width:thin;scrollbar-color:#ffffff47 transparent;flex:auto;align-content:start;gap:4px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.nav-list::-webkit-scrollbar{width:4px}.nav-list::-webkit-scrollbar-track{background:0 0}.nav-list::-webkit-scrollbar-thumb{background:#ffffff3d;border-radius:999px}.nav-list::-webkit-scrollbar-thumb:hover{background:#ffffff61}.nav-item{color:var(--sidebar-muted);transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;min-height:42px;padding:10px 12px;font-size:14px;font-weight:700;display:flex;position:relative}.nav-item:hover{background:var(--sidebar-soft);color:var(--sidebar-text)}.nav-item.active{background:var(--sidebar-active);color:var(--sidebar-text);border-color:#fff3;font-weight:800;box-shadow:inset 0 1px #ffffff14}.nav-item:focus-visible,.sidebar-search-button:focus-visible,.sidebar-toggle:focus-visible{outline-offset:2px;outline:2px solid #ffffff94}.sidebar-collapsed{align-items:center;padding-left:10px;padding-right:10px}.sidebar-collapsed .brand-card{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;padding-left:0;padding-right:0}.sidebar-collapsed .brand-copy{text-align:center}.sidebar-collapsed .brand-card strong,.sidebar-collapsed .brand-card small,.sidebar-collapsed .sidebar-search-button span,.sidebar-collapsed .sidebar-search-button kbd,.sidebar-collapsed .nav-item span{display:none}.sidebar-collapsed .sidebar-toggle{display:inline-flex}.sidebar-collapsed .sidebar-search-button,.sidebar-collapsed .nav-item{justify-content:center;width:44px;height:44px;padding:0}.sidebar-collapsed .nav-list{justify-items:center;width:100%}.sidebar-collapsed .nav-item:after{content:attr(data-tooltip);z-index:80;pointer-events:none;opacity:0;visibility:hidden;white-space:nowrap;background:var(--ink-strong);color:#fff;box-shadow:var(--shadow-md);transition:opacity var(--transition), visibility var(--transition), transform var(--transition);border-radius:8px;padding:7px 10px;font-size:12px;font-weight:750;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.sidebar-collapsed .nav-item:before{content:"";background:var(--ink-strong);z-index:79;pointer-events:none;opacity:0;visibility:hidden;width:8px;height:8px;transition:opacity var(--transition), visibility var(--transition);position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)rotate(45deg)}.sidebar-collapsed .nav-item:hover:after,.sidebar-collapsed .nav-item:hover:before{opacity:1;visibility:visible}.workspace{background:var(--bg);min-width:0}.standalone-workspace{background:var(--bg);min-height:100vh}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:64px;color:var(--ink);border-bottom:1px solid var(--line);z-index:8;background:#fffffff0;justify-content:space-between;align-items:center;gap:18px;padding:0 40px;display:flex;position:sticky;top:0}.topbar-title{min-width:0;margin-right:auto}.topbar h1{letter-spacing:-.02em;color:var(--ink-strong);margin:1px 0 0;font-size:21px;font-weight:850;line-height:1.25}.eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.api-pill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;padding:8px 12px;font-size:12px}.mobile-menu-button{border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:none}.global-search-trigger{border:1px solid var(--line);color:var(--muted);cursor:pointer;min-height:38px;box-shadow:var(--shadow-sm);transition:border-color var(--transition), background var(--transition), color var(--transition);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:650;display:flex}.global-search-trigger:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--ink)}.global-search-trigger kbd{margin-left:10px}.topbar-user{border:1px solid var(--line);min-height:38px;box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;justify-items:end;padding:6px 10px;display:grid}.topbar-user span{max-width:190px;color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;line-height:1.1;overflow:hidden}.topbar-user small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900;line-height:1.1}.logout-button{color:#c2410c;white-space:nowrap;min-height:38px;box-shadow:var(--shadow-sm);transition:border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition);background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.logout-button:hover{color:#9a3412;background:#ffedd5;border-color:#fb923c;transform:translateY(-1px)}.page{width:100%;min-width:0;max-width:none;padding:28px 40px 36px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header>div:first-child{min-width:0}.page-header-action{flex:none;justify-content:flex-end;display:flex}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.page-header h2{letter-spacing:-.025em;color:var(--ink-strong);margin:0;font-size:28px;font-weight:900;line-height:1.15}.page-header p{max-width:760px;color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.45}.roadmap-page{gap:18px;display:grid}.roadmap-hero{color:#fff;background:radial-gradient(circle at 86% 12%,#ffffff38,#0000 28%),radial-gradient(circle at 12% 8%,#10b98180,#0000 30%),linear-gradient(135deg,#064e3b 0%,#047857 52%,#0f766e 100%);border:1px solid #065f462e;border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:end;gap:26px;min-height:276px;padding:34px;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 58px #065f4624}.roadmap-hero:before{content:"";background:#ffffff14;border:1px solid #fff3;border-radius:999px;width:430px;height:430px;position:absolute;top:-170px;right:-130px}.roadmap-hero:after{content:"";background:#ffffff12;border-radius:999px;width:560px;height:560px;position:absolute;bottom:-260px;left:45%}.roadmap-hero>*{z-index:1;position:relative}.roadmap-hero span{color:#bbf7d0;letter-spacing:.16em;text-transform:uppercase;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;align-items:center;width:max-content;min-height:34px;padding:0 14px;font-size:12px;font-weight:950;display:inline-flex}.roadmap-hero h2{color:#fff;letter-spacing:-.055em;max-width:760px;margin:16px 0 12px;font-size:clamp(34px,5vw,64px);font-weight:950;line-height:.98}.roadmap-hero p{color:#ffffffc7;max-width:720px;margin:0;font-size:17px;font-weight:650;line-height:1.55}.roadmap-score-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff24;border:1px solid #ffffff38;border-radius:24px;align-content:center;gap:10px;min-height:190px;padding:22px;display:grid;box-shadow:inset 0 1px #ffffff1f,0 18px 50px #00000014}.roadmap-score-card small{color:#d1fae5;letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:950}.roadmap-score-card strong{color:#fff;letter-spacing:-.07em;font-size:clamp(50px,7vw,82px);font-weight:950;line-height:.85}.roadmap-score-card em{color:#ffffffc2;max-width:240px;font-size:13px;font-style:normal;font-weight:750;line-height:1.45}.roadmap-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);align-items:stretch;gap:18px;display:grid}.roadmap-panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;gap:18px;padding:22px;display:grid}.roadmap-panel-accent{background:linear-gradient(145deg,#fff 0%,#f0fdf4 100%);border-color:#10b9813d}.roadmap-panel-head{align-items:flex-start;gap:12px;display:flex}.roadmap-panel-head svg{color:var(--accent);flex:none;margin-top:2px}.roadmap-panel-head span,.roadmap-entities-card span{color:var(--accent-hover);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:950;display:block}.roadmap-panel-head h3{color:var(--ink-strong);letter-spacing:-.03em;margin:3px 0 0;font-size:22px;font-weight:920;line-height:1.15}.roadmap-card-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.roadmap-card{border:1px solid var(--line);background:var(--panel-muted);border-radius:18px;min-height:150px;padding:16px}.roadmap-card strong{color:var(--ink-strong);font-size:16px;font-weight:900;line-height:1.2;display:block}.roadmap-card p{color:var(--muted);margin:8px 0 0;font-size:13px;font-weight:650;line-height:1.5}.roadmap-next-list{gap:10px;display:grid}.roadmap-next-step{background:#ffffffd1;border:1px solid #10b9812e;border-radius:18px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:14px;display:grid;box-shadow:0 1px #0f172a08}.roadmap-next-step b{background:var(--accent);color:#fff;border-radius:13px;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:950;display:inline-flex}.roadmap-next-step strong{color:var(--ink-strong);font-size:15px;font-weight:900;display:block}.roadmap-next-step p{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:650;line-height:1.45}.roadmap-next-step svg{color:var(--accent-hover)}.roadmap-entities-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;gap:12px;padding:18px 20px;display:grid}.roadmap-entities-card div{flex-wrap:wrap;gap:9px;display:flex}.roadmap-entities-card strong{border:1px solid var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;line-height:1}.action-button{height:var(--button-height);min-width:var(--button-min-width);padding:0 var(--button-padding-x);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:750;line-height:1;display:inline-flex;box-shadow:0 2px 8px #10b98147}.action-button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px #10b98133}.ghost-button{height:var(--button-height);min-width:var(--button-min-width);border:1px solid var(--line);padding:0 var(--button-padding-x);color:var(--ink);white-space:nowrap;transition:border-color var(--transition), background var(--transition), color var(--transition);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:750;line-height:1;display:inline-flex}.ghost-button:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.grid-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0 24px;display:grid}.stat-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition);padding:20px}.stat-card:hover,.panel:hover{box-shadow:var(--shadow-md)}.panel h3{color:var(--ink-strong);margin:0 0 10px;font-size:15px;font-weight:750}.panel p{color:var(--muted);margin:0;font-size:13px}.stat-card strong{color:var(--ink-strong);margin-bottom:6px;font-size:16px;font-weight:850;display:block}.stat-card span{color:var(--muted);font-size:13px}.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0 24px;display:grid}.kpi-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition);background:#fff;padding:20px}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-label{color:var(--muted);font-size:12px;font-weight:600}.kpi-value{letter-spacing:-.025em;color:var(--ink-strong);margin-top:8px;font-size:28px;font-weight:900;line-height:1.1;display:block}.kpi-note{color:var(--muted);margin-top:7px;font-size:12px;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px;display:grid}.module-list{gap:8px;display:grid}.module-row{border:1px solid var(--line);transition:background var(--transition);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.module-row:hover{background:var(--accent-faint)}.module-row strong{color:var(--ink);font-size:13px;display:block}.module-row span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.module-row small{color:var(--muted);white-space:nowrap;font-size:12px}.next-actions{gap:8px;margin-top:12px;display:grid}.next-action{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px}.next-action strong{color:var(--ink);font-size:13px;display:block}.next-action span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}table{border-collapse:collapse;width:100%;font-size:14px}th{background:var(--bg);color:var(--muted);text-align:left;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:11px 20px;font-size:11px;font-weight:800}td{border-top:1px solid var(--line);color:#374151;vertical-align:middle;padding:14px 20px;font-size:13px}tr:hover td{background:var(--accent-faint)}tr.clickable-table-row{cursor:pointer;outline:0}tr.clickable-table-row:focus-visible td{background:var(--accent-faint);box-shadow:inset 0 0 0 2px #10b9812e}tr.clickable-table-row:active td{background:var(--accent-soft)}tr.clickable-table-row.is-selected td{background:#d1fae594}.clients-page{gap:18px;min-width:0;display:grid}.clients-toolbar{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;gap:16px;min-width:0;display:grid}.clients-search-panel{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;grid-template-columns:minmax(260px,1fr) minmax(180px,210px) 118px 112px;align-self:start;align-items:end;gap:10px;padding:12px;display:grid}.clients-search-field,.clients-filter-field{gap:5px;min-width:0;display:grid}.clients-search-field span,.clients-filter-field span{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.clients-search-field input{border:1px solid var(--line-strong);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:9px;padding:9px 11px;font-size:13px;font-weight:700}.clients-search-field input:focus{border-color:var(--accent);outline:2px solid #10b9812e}.custom-select{min-width:0;position:relative}.custom-select-trigger{border:1px solid var(--line-strong);width:100%;min-height:40px;color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px 9px 11px;font-size:13px;font-weight:800;display:flex}.custom-select-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.custom-select-trigger:hover{border-color:var(--accent-line);background:var(--accent-faint)}.custom-select-trigger:focus-visible,.custom-select.is-open .custom-select-trigger{border-color:var(--accent);outline:2px solid #10b9812e;box-shadow:0 0 0 4px #10b98114}.custom-select-trigger svg{color:var(--muted);transition:transform var(--transition), color var(--transition);flex:none}.custom-select.is-open .custom-select-trigger svg{color:var(--accent-hover);transform:rotate(180deg)}.custom-select-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:12px;width:max(100%,260px);max-width:min(360px,100vw - 32px);max-height:260px;padding:5px;position:absolute;top:calc(100% + 7px);left:0;overflow-y:auto;box-shadow:0 16px 40px #0f172a24}.custom-select-search{z-index:2;border:1px solid var(--accent-line);min-height:40px;color:var(--muted);background:#f8fffc;border-radius:9px;align-items:center;gap:8px;margin:0 0 5px;padding:0 10px;display:flex;position:sticky;top:0;box-shadow:0 8px 18px #ffffffe0}.custom-select-search svg{color:var(--accent-hover);flex:none}.custom-select-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:13px;font-weight:750}.custom-select-search input::placeholder{color:var(--muted);font-weight:650}.custom-select-option{width:100%;min-height:42px;color:var(--ink);cursor:pointer;text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.custom-select-option:hover,.custom-select-option.active{background:var(--accent-faint);color:var(--accent-hover)}.custom-select-option span{gap:1px;min-width:0;display:grid}.custom-select-option strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:850;line-height:1.2;overflow:hidden}.custom-select-option small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;line-height:1.25;overflow:hidden}.custom-select-option svg{color:var(--accent);flex:none}.custom-select-empty{color:var(--muted);text-align:center;padding:12px 10px;font-size:12px;font-weight:750;line-height:1.35}.custom-date{min-width:0;position:relative}.custom-date-trigger{border:1px solid var(--line-strong);width:100%;min-height:42px;color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px 10px 12px;font-size:14px;font-weight:800;display:flex}.custom-date-trigger:hover{border-color:var(--accent-line);background:var(--accent-faint)}.custom-date-trigger:focus-visible,.custom-date.is-open .custom-date-trigger{border-color:var(--accent);outline:2px solid #10b9812e;box-shadow:0 0 0 4px #10b98114}.custom-date-trigger.is-empty{color:var(--muted);font-weight:750}.custom-date-trigger svg{color:var(--muted);flex:none}.custom-date-popover{z-index:45;border:1px solid var(--line);background:#fff;border-radius:18px;width:min(340px,100vw - 32px);padding:12px;animation:.18s cubic-bezier(.16,1,.3,1) both date-popover-in;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 22px 60px #0f172a2e}.custom-date-head{grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:10px;display:grid}.custom-date-head strong{color:var(--ink-strong);text-align:center;letter-spacing:-.015em;font-size:14px;font-weight:900}.custom-date-head>button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.custom-date-head>button:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.custom-date-current{grid-template-columns:minmax(0,1fr) 88px;gap:6px;min-width:0;display:grid}.custom-date-current select,.custom-year-trigger{border:1px solid var(--line);min-width:0;height:34px;color:var(--ink-strong);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);background:#fff;border-radius:10px;outline:0;font-size:12px;font-weight:900}.custom-date-current select{padding:0 26px 0 10px}.custom-date-current select:hover,.custom-year-trigger:hover{border-color:var(--accent-line);background:var(--accent-faint)}.custom-date-current select:focus,.custom-year-trigger:focus-visible,.custom-year-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px #10b9811f}.custom-year-dropdown{min-width:0;position:relative}.custom-year-trigger{justify-content:space-between;align-items:center;gap:4px;width:100%;padding:0 8px 0 10px;display:inline-flex}.custom-year-trigger svg{color:var(--muted);transition:transform var(--transition), color var(--transition);flex:none}.custom-year-trigger[aria-expanded=true] svg{color:var(--accent-hover);transform:rotate(180deg)}.custom-year-list{z-index:6;border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#10b9816b transparent;background:#fff;border-radius:12px;gap:2px;width:108px;max-height:210px;padding:5px;animation:.16s cubic-bezier(.16,1,.3,1) both dropdown-in;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 16px 36px #0f172a29}.custom-year-list::-webkit-scrollbar{width:5px}.custom-year-list::-webkit-scrollbar-track{background:0 0}.custom-year-list::-webkit-scrollbar-thumb{background:#10b98161;border-radius:999px}.custom-year-option{width:100%;min-height:30px;color:var(--ink);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:8px;justify-content:flex-start;align-items:center;padding:0 10px;font-size:12px;font-weight:850;display:flex}.custom-year-option:hover{background:var(--accent-faint);color:var(--accent-hover)}.custom-year-option.is-selected{background:var(--accent);color:#fff}.custom-date-weekdays,.custom-date-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.custom-date-weekdays{margin-bottom:6px}.custom-date-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;font-size:11px;font-weight:850}.custom-date-day{aspect-ratio:1;min-height:34px;color:var(--ink);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.custom-date-day:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);transform:translateY(-1px)}.custom-date-day.is-muted{color:#9ca3af;font-weight:700}.custom-date-day.is-today{border-color:var(--accent-line);color:var(--accent-hover)}.custom-date-day.is-selected{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 8px 18px #10b98133}.custom-date-day.is-selected:hover{background:var(--accent-hover);color:#fff}.custom-date-footer{border-top:1px solid var(--line);justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;display:flex}.custom-date-footer button{min-height:34px;color:var(--accent-hover);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.custom-date-footer button:hover{background:var(--accent-faint);color:var(--accent)}.clients-search-panel .action-button,.clients-search-panel .ghost-button{border-radius:9px;width:100%;min-width:0;height:40px;font-size:13px}.clients-focus-card{min-width:0;min-height:134px;box-shadow:var(--shadow-sm);background:radial-gradient(circle at 100% 0,#bbf7d099,#0000 38%),linear-gradient(135deg,#ecfdf5,#fff);border:1px solid #065f461a;border-radius:18px;flex-direction:column;justify-content:center;align-self:start;padding:18px 20px;display:flex}.clients-focus-card span{color:var(--accent-hover);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:900}.clients-focus-card strong{color:var(--ink-strong);letter-spacing:-.05em;margin-top:8px;font-size:34px;font-weight:950;line-height:.95;display:block}.clients-focus-card p{color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:650;line-height:1.42}.client-status-tabs{flex-wrap:wrap;gap:8px;display:flex}.client-status-tab{border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow-sm);transition:border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:13px;font-weight:850;display:inline-flex}.client-status-tab:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);transform:translateY(-1px)}.client-status-tab.active{border-color:var(--accent);background:var(--accent);color:#fff}.client-status-tab strong{min-width:26px;color:inherit;text-align:center;background:#0f172a0f;border-radius:999px;padding:4px 7px;font-size:11px}.client-status-tab.active strong{background:#ffffff2e}.client-pipeline-board{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.client-pipeline-columns{grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;padding:14px;display:grid;overflow-x:auto}.client-pipeline-column{border:1px solid var(--line);background:#f8fafc;border-radius:16px;align-content:start;gap:8px;min-width:150px;padding:12px;display:grid}.client-pipeline-column>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.client-pipeline-column>div span{color:var(--accent-hover);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.client-pipeline-column>div strong{min-width:28px;color:var(--ink-strong);text-align:center;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:950}.client-pipeline-column a{border:1px solid var(--line);transition:border-color var(--transition), background var(--transition), transform var(--transition);background:#fff;border-radius:12px;gap:2px;padding:9px;display:grid}.client-pipeline-column a:hover{border-color:var(--accent-line);background:var(--accent-faint);transform:translateY(-1px)}.client-pipeline-column b{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:920;overflow:hidden}.client-pipeline-column small,.client-pipeline-column p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;font-weight:720;overflow:hidden}.clients-kpi-row{margin:0}.clients-directory-card{border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-sm);background:#fff;overflow:visible}.clients-directory-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.clients-directory-head span{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.clients-directory-head h3{color:var(--ink-strong);letter-spacing:-.025em;margin:4px 0 0;font-size:20px;font-weight:900;line-height:1.15}.clients-directory-head strong{background:var(--accent-faint);color:var(--accent-hover);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.clients-table-wrap{min-width:0;max-width:100%;box-shadow:none;border:0;border-radius:0;overflow:visible}.clients-table td{padding-top:12px;padding-bottom:12px}.client-selection-toolbar{border-bottom:1px solid var(--line);min-width:860px;color:var(--muted);background:linear-gradient(#fff,#fbfdfc);align-items:center;gap:10px;padding:11px 20px;font-size:12px;font-weight:800;display:flex}.client-selection-toolbar.is-active{background:var(--accent-faint);color:var(--accent-hover)}.client-selection-toolbar span{color:var(--ink-strong);font-size:13px;font-weight:950}.client-selection-toolbar small{color:inherit;margin-right:auto;font-size:12px;font-weight:750}.client-selection-toolbar button{border:1px solid var(--accent-line);min-height:30px;color:var(--accent-hover);cursor:pointer;transition:background var(--transition), border-color var(--transition), transform var(--transition);background:#fff;border-radius:999px;padding:0 10px;font-size:11px;font-weight:900;line-height:1}.client-selection-toolbar button:hover{border-color:var(--accent);background:#ecfdf5;transform:translateY(-1px)}.client-select-column,.client-select-cell{text-align:center;width:52px;padding-left:20px;padding-right:10px}.client-checkbox{border:1px solid var(--line-strong);width:18px;height:18px;accent-color:var(--accent);cursor:pointer;vertical-align:middle;border-radius:6px}.client-checkbox:focus-visible{outline-offset:2px;outline:3px solid #10b9812e}.client-person-cell{align-items:center;gap:12px;min-width:240px;display:flex}.client-avatar{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#10b981,#065f46);border-radius:13px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:inline-flex;box-shadow:0 8px 18px #10b98138}.client-person-cell a{color:var(--ink-strong);font-size:14px;font-weight:900}.client-person-cell a:hover{color:var(--accent-hover)}.client-person-cell small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:650;display:block}.client-phone{color:var(--ink);white-space:nowrap;font-weight:850}.client-phone:hover{color:var(--accent-hover)}.muted-cell{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.client-type-pill{color:var(--ink);white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;padding:6px 9px;font-size:12px;font-weight:850;display:inline-flex}.row-action-link{background:var(--accent-faint);color:var(--accent-hover);white-space:nowrap;transition:background var(--transition), color var(--transition);border-radius:999px;justify-content:center;align-items:center;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.row-action-link:hover{background:var(--accent);color:#fff}.row-actions-group{flex-wrap:wrap;align-items:center;gap:7px;min-width:190px;display:inline-flex}.row-actions-group-wide{min-width:280px}.row-action-button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;white-space:nowrap;transition:border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 1px 3px #0f172a0f}.row-action-button svg{flex:none}.row-action-button:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 18px #10b9811f}.row-action-button-danger{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.row-action-button-danger:hover{color:#9a3412;background:#ffedd5;border-color:#fb923c;box-shadow:0 8px 18px #ea580c1f}.row-action-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.row-action-menu{justify-content:flex-end;min-width:126px;display:inline-flex;position:relative}.row-action-menu-trigger{border:1px solid var(--line);min-width:118px;height:34px;color:var(--ink);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition);background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:850;line-height:1;display:inline-flex;box-shadow:0 1px 3px #0f172a0f}.row-action-menu-trigger svg{color:var(--muted);flex:none}.row-action-menu-trigger:hover,.row-action-menu.is-open .row-action-menu-trigger{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);box-shadow:0 8px 18px #10b9811a}.row-action-menu.is-open .row-action-menu-trigger svg{color:var(--accent-hover)}.row-action-menu-panel{z-index:55;border:1px solid var(--line);background:#fff;border-radius:12px;gap:2px;width:188px;padding:5px;animation:.16s cubic-bezier(.16,1,.3,1) both dropdown-in;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 16px 40px #0f172a29}.row-action-menu-item{width:100%;min-height:36px;color:var(--ink);cursor:pointer;text-align:left;white-space:nowrap;box-shadow:none;transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:9px;justify-content:flex-start;align-items:center;gap:9px;padding:0 10px;font-size:12px;font-weight:850;line-height:1;display:flex}.row-action-menu-item svg{color:var(--muted);flex:none}.row-action-menu-item:hover{background:var(--accent-faint);color:var(--accent-hover)}.row-action-menu-item:hover svg{color:var(--accent-hover)}.row-action-menu-danger{color:#c2410c}.row-action-menu-danger svg{color:#ea580c}.row-action-menu-danger:hover{color:#9a3412;background:#fff7ed}.row-action-menu-item:disabled{cursor:not-allowed;opacity:.42}.row-action-menu-item:disabled:hover{color:#c2410c;background:0 0}.coaches-page{gap:18px;min-width:0;display:grid}.coaches-toolbar{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;gap:16px;min-width:0;display:grid}.coaches-search-panel{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;grid-template-columns:minmax(250px,1fr) minmax(164px,196px) minmax(164px,196px) 118px 112px;align-self:start;align-items:end;gap:10px;padding:12px;display:grid}.coaches-search-panel .clients-filter-field:nth-of-type(3) .custom-select-menu{left:auto;right:0}.coaches-search-panel .action-button,.coaches-search-panel .ghost-button{border-radius:9px;width:100%;min-width:0;height:40px;font-size:13px}.coaches-focus-card{min-width:0;min-height:134px;box-shadow:var(--shadow-sm);background:radial-gradient(circle at 100% 0,#34d39957,#0000 40%),linear-gradient(135deg,#f0fdf4,#fff);border:1px solid #065f461a;border-radius:18px;flex-direction:column;justify-content:center;align-self:start;padding:18px 20px;display:flex}.coaches-focus-card span{color:var(--accent-hover);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:900}.coaches-focus-card strong{color:var(--ink-strong);letter-spacing:-.05em;margin-top:8px;font-size:34px;font-weight:950;line-height:.95;display:block}.coaches-focus-card p{color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:650;line-height:1.42}.coach-role-tabs{flex-wrap:wrap;gap:8px;display:flex}.coach-role-tab{border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow-sm);transition:border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:13px;font-weight:850;display:inline-flex}.coach-role-tab:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);transform:translateY(-1px)}.coach-role-tab.active{border-color:var(--accent);background:var(--accent);color:#fff}.coach-role-tab strong{min-width:26px;color:inherit;text-align:center;background:#0f172a0f;border-radius:999px;padding:4px 7px;font-size:11px}.coach-role-tab.active strong{background:#ffffff2e}.coaches-kpi-row{margin:0}.coaches-directory-card{border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-sm);background:#fff;overflow:visible}.coaches-directory-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.coaches-directory-head span{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.coaches-directory-head h3{color:var(--ink-strong);letter-spacing:-.025em;margin:4px 0 0;font-size:20px;font-weight:900;line-height:1.15}.coaches-directory-head strong{background:var(--accent-faint);color:var(--accent-hover);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.coaches-table-wrap{min-width:0;max-width:100%;box-shadow:none;border:0;border-radius:0;overflow:visible}.coaches-table td{padding-top:12px;padding-bottom:12px}.coach-person-cell{align-items:center;gap:12px;min-width:240px;display:flex}.coach-avatar{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#059669,#064e3b);border-radius:13px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:inline-flex;box-shadow:0 8px 18px #05966938}.coach-person-cell a{color:var(--ink-strong);font-size:14px;font-weight:900}.coach-person-cell a:hover{color:var(--accent-hover)}.coach-person-cell small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:650;display:block}.coach-role-pill,.coach-norm-pill,.coach-schedule-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.coach-role-pill{background:var(--accent-faint);color:var(--accent-hover)}.coach-role-head-coach{color:#0891b2;background:#ecfeff}.coach-role-assistant-coach{color:#2563eb;background:#eff6ff}.coach-role-sfp-coach{color:#ea580c;background:#fff7ed}.coach-role-instructor{color:#4f46e5;background:#eef2ff}.coach-role-sparring{color:#a16207;background:#fefce8}.coach-role-coordinator{color:#0284c7;background:#f0f9ff}.coach-role-intern{color:#7c3aed;background:#f5f3ff}.coach-role-admin{color:#475569;background:#f8fafc}.coach-role-substitute{color:#e11d48;background:#fff1f2}.coach-norm-pill{color:var(--ink);background:#f1f5f9}.coach-schedule-pill.is-on{background:var(--accent-faint);color:var(--accent-hover)}.coach-schedule-pill.is-off{color:var(--muted);background:#f8fafc}.groups-page{gap:18px;display:grid}.groups-toolbar{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;gap:16px;display:grid}.groups-search-panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;grid-template-columns:minmax(250px,1fr) minmax(190px,230px) minmax(150px,180px) 118px 112px;align-self:start;align-items:end;gap:10px;padding:12px;display:grid}.groups-search-panel .action-button,.groups-search-panel .ghost-button{border-radius:9px;width:100%;min-width:0;height:40px;font-size:13px}.groups-focus-card{min-height:134px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#ecfdf5,#fff);border:1px solid #065f461a;border-radius:18px;flex-direction:column;justify-content:center;align-self:start;padding:18px 20px;display:flex}.groups-focus-card span{color:var(--accent-hover);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:900}.groups-focus-card strong{color:var(--ink-strong);margin-top:8px;font-size:34px;font-weight:950;line-height:.95;display:block}.groups-focus-card p{color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:650;line-height:1.42}.groups-program-strip{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.group-program-chip{border:1px solid var(--line);min-height:40px;color:var(--muted);box-shadow:var(--shadow-sm);transition:border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition);background:#fff;border-radius:999px;flex:none;align-items:center;gap:9px;padding:0 12px;font-size:13px;font-weight:850;display:inline-flex}.group-program-chip:before{content:"";background:var(--program-color,var(--accent));border-radius:999px;width:8px;height:8px}.group-program-chip:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);transform:translateY(-1px)}.group-program-chip.active{border-color:var(--accent);background:var(--accent);color:#fff}.group-program-chip.active:before{background:#ffffffdb}.group-program-chip strong{min-width:26px;color:inherit;text-align:center;background:#0f172a0f;border-radius:999px;padding:4px 7px;font-size:11px}.group-program-chip.active strong{background:#ffffff2e}.groups-kpi-row{margin:0}.groups-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.group-card{border:1px solid var(--line);min-height:222px;color:inherit;box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);background:#fff;border-radius:16px;align-content:start;gap:14px;padding:16px;display:grid}.group-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md);transform:translateY(-2px)}.group-card-head{grid-template-columns:11px minmax(0,1fr) 22px;align-items:start;gap:10px;display:grid}.group-card-head>span{border-radius:999px;width:11px;height:42px}.group-card-head strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:950;line-height:1.2;display:block;overflow:hidden}.group-card-head small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;font-weight:700;display:block;overflow:hidden}.group-card-head svg{color:var(--muted)}.group-fill-row{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:center;gap:10px;display:grid}.group-fill-row span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850;display:block}.group-fill-row strong{color:var(--ink-strong);margin-top:3px;font-size:20px;font-weight:950;line-height:1;display:block}.group-fill-track{background:#eef2f7;border-radius:999px;height:8px;overflow:hidden}.group-fill-track span{border-radius:inherit;height:100%;display:block}.group-card-meta{color:var(--muted);gap:7px;font-size:12px;font-weight:750;display:grid}.group-card-meta span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;min-width:0;display:inline-flex;overflow:hidden}.group-card-meta svg{color:var(--accent-hover);flex:none}.group-detail-page{gap:18px;display:grid}.group-detail-topline{justify-content:space-between;align-items:center;gap:14px;display:flex}.group-detail-topline .ghost-button{width:max-content;min-width:0}.group-detail-topline>span{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.group-profile-hero{color:#fff;background:linear-gradient(135deg,#052e2b 0%,#065f46 58%,#10b981 100%);border:1px solid #065f4629;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;display:flex;box-shadow:0 18px 48px #065f462e}.group-profile-main{align-items:flex-start;gap:16px;min-width:0;display:flex}.group-profile-mark{color:#fff;border-radius:18px;flex:none;justify-content:center;align-items:center;width:66px;height:66px;font-size:16px;font-weight:950;display:inline-flex;box-shadow:inset 0 1px #ffffff38,0 16px 32px #0f172a24}.group-profile-kicker{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.group-profile-kicker>span{color:#ffffffeb;letter-spacing:.08em;text-transform:uppercase;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}.group-profile-kicker .status{color:var(--ink-strong);background:#ffffffeb}.group-profile-hero h2{color:#fff;margin:0;font-size:clamp(30px,4vw,46px);font-weight:950;line-height:1}.group-profile-hero p{color:#ffffffc7;max-width:780px;margin:10px 0 0;font-size:14px;font-weight:650;line-height:1.5}.group-profile-meta{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.group-profile-meta span{color:#ffffffe6;background:#ffffff1a;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:850;display:inline-flex}.group-profile-actions{gap:10px;min-width:260px;display:grid}.group-generate-form{gap:9px;display:grid}.group-generate-form .action-button{border-color:#ffffff3d;width:100%;min-width:0}.group-action-message{border-radius:12px;padding:10px 11px;font-size:12px;font-weight:800;line-height:1.35}.group-action-message.success{color:#047857;background:#f0fdf4f0}.group-action-message.error{color:#c2410c;background:#fff7ed}.group-detail-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.group-detail-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);align-items:start;gap:18px;display:grid}.group-detail-layout-wide{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}.group-panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;gap:14px;padding:18px;display:grid}.group-panel-head{align-items:flex-start;gap:10px;display:flex}.group-panel-head svg{color:var(--accent-hover);margin-top:2px}.group-panel-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.group-panel-head h3{color:var(--ink-strong);margin:3px 0 0;font-size:19px;font-weight:950;line-height:1.15}.group-schedule-list,.group-coach-list,.group-session-list{gap:9px;display:grid}.group-schedule-item,.group-person-row,.group-session-row{border:1px solid var(--line);background:var(--panel-muted);border-radius:12px;padding:12px}.group-schedule-item{grid-template-columns:42px 1fr;align-items:center;gap:10px;display:grid}.group-schedule-item>strong{background:var(--accent-faint);width:42px;height:42px;color:var(--accent-hover);border-radius:12px;justify-content:center;align-items:center;font-size:13px;font-weight:950;display:inline-flex}.group-schedule-item div strong,.group-schedule-item span{color:var(--ink-strong);font-size:14px;font-weight:900}.group-schedule-item small,.group-person-row span,.group-session-row span{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700;line-height:1.35;display:block}.group-person-row strong,.group-session-row strong{color:var(--ink-strong);font-size:13px;font-weight:900}.group-session-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.group-session-row span{grid-column:1/2}.group-session-row .status{grid-area:1/2/3/3}.group-member-table{gap:7px;display:grid}.group-member-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1.4fr) minmax(150px,.8fr) auto 64px;align-items:center;gap:10px;padding:10px 12px;display:grid}.group-member-row strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.group-member-row span,.group-member-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.tournaments-page{gap:18px;display:grid}.tournaments-search-panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;grid-template-columns:minmax(260px,1fr) minmax(190px,230px) 118px 112px;align-self:start;align-items:end;gap:10px;padding:12px;display:grid}.tournaments-search-panel .action-button,.tournaments-search-panel .ghost-button{border-radius:9px;width:100%;min-width:0;height:40px;font-size:13px}.tournaments-kpi-row{margin:0}.tournaments-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.tournament-card{border:1px solid var(--line);min-height:250px;color:inherit;box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);background:#fff;border-radius:16px;align-content:start;gap:14px;padding:16px;display:grid}.tournament-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tournament-card-head{grid-template-columns:42px minmax(0,1fr) 22px;align-items:start;gap:10px;display:grid}.tournament-card-head>span{background:var(--accent-faint);width:42px;height:42px;color:var(--accent-hover);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.tournament-card-head strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:950;line-height:1.2;display:block;overflow:hidden}.tournament-card-head small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;font-weight:700;display:block;overflow:hidden}.tournament-card-head>svg{color:var(--muted)}.tournament-card-meta,.tournament-card-foot{color:var(--muted);gap:7px;font-size:12px;font-weight:750;display:grid}.tournament-card-meta span,.tournament-card-foot span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;min-width:0;display:inline-flex;overflow:hidden}.tournament-card-meta svg,.tournament-card-foot svg{color:var(--accent-hover);flex:none}.tournament-fill-row{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:center;gap:10px;display:grid}.tournament-fill-row span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850;display:block}.tournament-fill-row strong{color:var(--ink-strong);margin-top:3px;font-size:20px;font-weight:950;line-height:1;display:block}.tournament-detail-page{gap:18px;display:grid}.tournament-profile-hero{color:#fff;background:linear-gradient(135deg,#042f2e 0%,#047857 56%,#14b8a6 100%);border:1px solid #065f4629;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;display:flex;box-shadow:0 18px 48px #065f462e}.tournament-profile-mark{color:#fff;background:#ffffff29;border-radius:18px;flex:none;justify-content:center;align-items:center;width:66px;height:66px;display:inline-flex;box-shadow:inset 0 1px #ffffff38,0 16px 32px #0f172a24}.tournament-profile-hero h2{color:#fff;margin:0;font-size:clamp(30px,4vw,46px);font-weight:950;line-height:1}.tournament-profile-hero p{color:#ffffffc7;max-width:780px;margin:10px 0 0;font-size:14px;font-weight:650;line-height:1.5}.tournament-detail-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.42fr);align-items:start;gap:18px;display:grid}.tournament-participants-panel{min-width:0}.tournament-entry-table{gap:8px;display:grid}.tournament-entry-row{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(220px,1fr) auto auto minmax(420px,.95fr);align-items:center;gap:10px;padding:12px;display:grid}.tournament-entry-person{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:0;display:grid}.tournament-entry-person svg{background:var(--accent-faint);width:34px;height:34px;color:var(--accent-hover);border-radius:12px;padding:8px}.tournament-entry-person a{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;display:block;overflow:hidden}.tournament-entry-person span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;font-weight:750;display:block;overflow:hidden}.tournament-entry-form{grid-template-columns:minmax(110px,.8fr) minmax(110px,.8fr) 70px 70px 108px;align-items:center;gap:7px;min-width:0;display:grid}.tournament-entry-form .custom-select-trigger,.tournament-entry-form input,.tournament-entry-form .row-action-button{border-radius:9px;min-height:34px;font-size:12px}.tournament-entry-form input{border:1px solid var(--line);width:100%;color:var(--ink-strong);background:#fff;padding:0 9px;font-weight:800}.tournament-entry-form .modal-error{grid-column:1/-1;margin:0}.tournament-note{border:1px solid var(--line);background:var(--panel-muted);border-radius:14px;padding:12px}.tournament-note strong{color:var(--ink-strong);font-size:13px;font-weight:950;display:block}.tournament-note p{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:700;line-height:1.45}.bookings-page{gap:18px;display:grid}.bookings-page .page-header{grid-template-columns:1fr;align-items:start;gap:14px;display:grid}.bookings-page .page-header-action{justify-content:flex-start}.standalone-workspace .bookings-page{align-content:start;max-width:none;min-height:100vh;padding:24px}.standalone-workspace .bookings-page .page-header{border:1px solid var(--line);max-width:none;box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;margin-bottom:0;padding:18px}.standalone-workspace .bookings-page .page-header h2{font-size:34px}.standalone-workspace .bookings-page .page-header p{max-width:980px}.bookings-kpi-row{margin:0}.booking-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.booking-back-button{border:2px solid var(--accent);color:#065f46;min-width:146px;transition:border-color var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);background:#ecfdf5;font-weight:950;box-shadow:0 10px 22px #10b98129}.booking-back-button svg{color:#047857}.booking-back-button:hover{border-color:var(--accent-hover);color:#064e3b;background:#d1fae5;transform:translateY(-1px);box-shadow:0 14px 30px #10b9813d}.booking-back-button:focus-visible{outline-offset:3px;outline:3px solid #10b9813d}.booking-date-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.booking-date-toolbar form{min-height:var(--button-height);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;align-items:center;gap:8px;padding:4px;display:flex}.booking-date-toolbar form svg{color:var(--accent-hover);margin-left:6px}.booking-date-toolbar input[type=date]{min-height:34px;color:var(--ink-strong);border:0;outline:0;padding:0 6px;font-weight:850}.booking-date-toolbar .action-button,.booking-date-toolbar .ghost-button{min-width:132px}.bookings-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.42fr);align-items:start;gap:18px;display:grid}.bookings-layout-single{grid-template-columns:minmax(0,1fr)}.bookings-main-column{gap:18px;min-width:0;display:grid}.standalone-workspace .bookings-layout{grid-template-columns:minmax(0,1fr) minmax(360px,420px)}.standalone-workspace .bookings-layout-single{grid-template-columns:minmax(0,1fr)}.standalone-workspace .booking-grid-panel{grid-column:1/-1;min-height:calc(100vh - 262px)}.standalone-workspace .booking-create-panel,.standalone-workspace .booking-actions-panel{align-self:start}.standalone-workspace .booking-actions-panel{top:24px}.booking-grid-panel,.booking-create-panel,.booking-actions-panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;gap:16px;min-width:0;padding:20px;display:grid}.booking-actions-panel{position:sticky;top:18px}.booking-section-head{align-items:flex-start;gap:10px;display:flex}.booking-section-head svg{color:var(--accent-hover);margin-top:2px}.booking-section-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.booking-section-head h3{color:var(--ink-strong);letter-spacing:-.03em;margin:3px 0 0;font-size:20px;font-weight:950;line-height:1.15}.booking-panel-close{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);background:#fff;border-radius:10px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.booking-panel-close:hover{color:var(--danger);background:#fff1f2;border-color:#fecaca}.booking-slot-panel{align-content:start}.booking-slot-panel .action-button{justify-self:start}.booking-slot-summary,.booking-modal-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.booking-slot-summary span,.booking-modal-summary span{border:1px solid var(--accent-line);background:var(--accent-faint);min-height:42px;color:var(--accent-hover);text-overflow:ellipsis;white-space:nowrap;border-radius:14px;align-items:center;padding:10px 12px;font-size:12px;font-weight:900;display:flex;overflow:hidden}.booking-create-modal{justify-content:center!important;align-items:center!important;padding:32px!important}.booking-create-modal .entity-modal-panel{width:min(820px,100%);max-height:min(720px,100vh - 64px);margin:auto}.booking-board-shell{border:1px solid var(--line);-webkit-overflow-scrolling:touch;background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;width:100%;max-width:100%;overflow:auto;box-shadow:inset 0 1px #ffffffbf}.booking-board{min-width:max(760px, var(--board-min-width));grid-template-columns:68px minmax(0,1fr);gap:8px;padding:10px;display:grid;overflow:visible}.booking-time-rail{z-index:8;background:linear-gradient(90deg,#fff 0% 82%,#fff0 100%);grid-template-rows:52px 768px;gap:8px;display:grid;position:sticky;left:0}.booking-corner-cell{border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow-sm);background:#fff;border-radius:13px;justify-content:center;align-items:center;gap:5px;font-size:11px;font-weight:950;line-height:1;display:inline-flex}.booking-corner-cell svg{color:var(--accent-hover)}.booking-board-times{border:1px solid var(--line);height:768px;color:var(--muted);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;font-size:11px;font-weight:850;position:relative}.booking-board-times span{white-space:nowrap;position:absolute;right:8px;transform:translateY(-50%)}.booking-board-times span:first-child{transform:translateY(0)}.booking-board-times span:last-child{transform:translateY(-100%)}.booking-board-courts{grid-template-columns:repeat(var(--court-count), minmax(170px, 1fr));gap:8px;min-width:0;display:grid}.booking-court-column{grid-template-rows:52px 768px;gap:8px;min-width:0;display:grid}.booking-court-column header{z-index:4;border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-radius:13px;padding:9px 11px;position:sticky;top:10px}.booking-court-column header strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:950;display:block;overflow:hidden}.booking-court-column header span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;font-weight:750;display:block;overflow:hidden}.booking-court-track{border:1px solid var(--line);height:768px;box-shadow:var(--shadow-sm);background:#fff;border-radius:15px;grid-template-rows:repeat(16,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.booking-court-track.is-drag-over{border-color:var(--accent-line);box-shadow:inset 0 0 0 1px #10b9812e, var(--shadow-sm)}.booking-hour-cell{background:#fff;border:0;border-bottom:1px solid #edf2f7;min-height:0;padding:4px 7px}.booking-hour-cell:nth-child(2n){background:#fbfdff}.booking-hour-cell:last-of-type{border-bottom:0}.booking-hour-cell span{color:#cbd5e1;opacity:0;transition:opacity var(--transition);font-size:10px;font-weight:850;line-height:1}.booking-court-track:hover .booking-hour-cell span{opacity:1}.booking-slot-link{width:100%;color:inherit;cursor:crosshair;text-align:left;font:inherit;appearance:none;transition:background var(--transition), box-shadow var(--transition);display:block}.booking-slot-link:hover{background:var(--accent-faint);box-shadow:inset 0 0 0 1px var(--accent-line)}.booking-slot-link.is-selected,.booking-slot-link.is-drop-target{box-shadow:inset 0 0 0 2px var(--accent);background:#dcfce7}.booking-slot-link.is-selected span,.booking-slot-link.is-drop-target span,.booking-slot-link:hover span{color:var(--accent-hover);opacity:1}.booking-court-empty{pointer-events:none;border:1px dashed var(--accent-line);color:var(--accent-hover);background:#f0fdf4cc;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.booking-block{z-index:4;border:1px solid #10b9813d;border-left:4px solid var(--booking-accent,var(--accent));appearance:none;text-align:left;min-height:40px;font:inherit;color:#065f46;cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);background:linear-gradient(135deg,#ffffff94,#fff0 62%),#ecfdf5;border-radius:12px;align-content:start;gap:3px;padding:7px 8px;text-decoration:none;display:grid;position:absolute;left:7px;right:7px;overflow:hidden;box-shadow:0 10px 22px #0f172a17}.booking-block:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffffb8}.booking-block[draggable=true]{cursor:grab}.booking-block[draggable=true]:active{cursor:grabbing}.booking-block:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0f172a1f}.booking-block:focus-visible{outline-offset:2px;outline:3px solid #10b98138}.booking-block.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px #10b98129,0 14px 28px #0f172a1f}.booking-block.is-dragging{opacity:.56;transform:scale(.985)}.booking-block.is-moving{cursor:wait;opacity:.68;pointer-events:none}.booking-block-time{min-width:0;color:inherit;align-items:center;gap:4px;font-size:10px;font-weight:950;line-height:1;display:flex}.booking-block-time svg{flex:none}.booking-block-title{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong);font-size:12px;font-weight:950;line-height:1.15;overflow:hidden}.booking-block-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;font-weight:750;line-height:1.15;overflow:hidden}.booking-block .status{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;width:max-content;max-width:100%;margin-top:2px;padding:4px 7px;font-size:9px;font-weight:950;line-height:1;overflow:hidden}.booking-block.is-compact{min-height:0;box-shadow:none;flex-direction:column;justify-content:space-between;gap:2px;padding:5px 7px;display:flex}.booking-block.is-compact:hover{box-shadow:none;transform:none}.booking-block.is-compact .booking-block-time{font-size:10px}.booking-block.is-compact .booking-block-title,.booking-block.is-compact .booking-block-meta{display:none}.booking-block.is-compact .status{max-width:100%;box-shadow:none;margin-top:0;padding:3px 7px;font-size:9px}.booking-status-reserved{--booking-accent:#10b981}.booking-status-confirmed{--booking-accent:#2563eb;color:#1d4ed8;background:linear-gradient(135deg,#ffffff9e,#fff0 62%),#eff6ff;border-color:#bfdbfe}.booking-status-arrived{--booking-accent:#059669;color:#047857;background:linear-gradient(135deg,#ffffff9e,#fff0 62%),#f0fdf4;border-color:#bbf7d0}.booking-status-no_show{--booking-accent:#ea580c;color:#c2410c;background:linear-gradient(135deg,#ffffff9e,#fff0 62%),#fff7ed;border-color:#fed7aa}.booking-status-cancelled{--booking-accent:#94a3b8;color:#64748b;border-color:var(--line);opacity:.72;background:linear-gradient(135deg,#ffffff9e,#fff0 62%),#f8fafc}.booking-status-waitlist{--booking-accent:#64748b;color:#334155;background:linear-gradient(135deg,#ffffff9e,#fff0 62%),#f1f5f9;border-color:#cbd5e1}.booking-session-block{z-index:2;color:#475569;border-color:#cbd5e1;border-left-color:var(--booking-accent,#64748b);box-shadow:none;background:linear-gradient(135deg,#ffffff9e,#fff0 62%),#f8fafc}.booking-create-form{gap:12px;display:grid}.booking-create-form .action-button{justify-self:start}.booking-actions-panel{align-content:start}.booking-selected-card{border:1px solid var(--line);background:var(--panel-muted);border-radius:16px;gap:8px;padding:14px;display:grid}.booking-selected-card>div{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.booking-selected-card strong{color:var(--ink-strong);font-size:16px;font-weight:950;line-height:1.2}.booking-selected-card span,.booking-selected-card small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.35}.booking-empty-note{border:1px dashed var(--line-strong);color:var(--muted);background:var(--panel-muted);border-radius:14px;padding:14px;font-weight:750}.booking-action-stack{gap:9px;display:grid}.booking-inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.booking-reschedule-form{grid-template-columns:minmax(0,1fr) 92px 92px auto}.booking-inline-form input,.booking-inline-form select{border:1px solid var(--line-strong);min-width:0;min-height:40px;color:var(--ink);background:#fff;border-radius:10px;outline:0;padding:0 10px;font-size:13px;font-weight:750}.booking-inline-form .ghost-button,.booking-inline-form .danger-action-button{min-width:116px}.booking-list-panel{gap:10px;display:grid}.booking-list-panel>strong{color:var(--ink-strong);font-size:14px;font-weight:950}.booking-list{gap:7px;max-height:320px;padding-right:2px;display:grid;overflow:auto}.booking-list-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.booking-list-row.is-active{border-color:var(--accent-line);background:var(--accent-faint)}.booking-list-row b{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong);font-size:13px;font-weight:950;display:block;overflow:hidden}.booking-list-row span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:2px;font-size:11px;font-weight:750;display:block;overflow:hidden}.booking-history-panel{border-top:1px solid var(--line);gap:8px;padding-top:14px;display:grid}.booking-history-head{color:var(--ink-strong);align-items:center;gap:8px;font-size:13px;font-weight:950;display:flex}.booking-history-head svg{color:var(--accent-hover)}.booking-history-row{border:1px solid var(--line);background:var(--panel-muted);border-radius:12px;gap:3px;padding:10px;display:grid}.booking-history-row b{color:var(--ink-strong);font-size:12px;font-weight:950}.booking-history-row span,.booking-history-row small{color:var(--muted);font-size:11px;font-weight:750;line-height:1.35}.booking-detail-modal{justify-content:center!important;align-items:center!important;padding:32px!important}.booking-detail-panel{width:min(980px,100%);max-height:min(780px,100vh - 64px);margin:auto}.booking-detail-head{align-items:center}.booking-detail-head-actions{flex:none;align-items:center;gap:10px;display:inline-flex}.booking-detail-body{gap:16px;padding:22px 24px 24px;display:grid}.booking-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.booking-detail-summary span{border:1px solid var(--accent-line);background:var(--accent-faint);min-width:0;min-height:44px;color:var(--accent-hover);text-overflow:ellipsis;white-space:nowrap;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:900;display:flex;overflow:hidden}.booking-detail-summary svg{flex:none}.booking-detail-content{grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.booking-detail-side,.booking-detail-main{gap:12px;min-width:0;display:grid}.booking-detail-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;gap:12px;min-width:0;padding:14px;display:grid}.booking-detail-side .booking-detail-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}.booking-detail-card-head{color:var(--ink-strong);align-items:center;gap:8px;display:flex}.booking-detail-card-head svg{color:var(--accent-hover);flex:none}.booking-detail-card-head strong{font-size:14px;font-weight:950}.booking-detail-loader{margin-left:auto;animation:.8s linear infinite spin}.booking-detail-field-list,.booking-detail-info-grid{gap:8px;display:grid}.booking-detail-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-detail-field{border:1px solid var(--line);background:var(--panel-muted);border-radius:12px;gap:4px;min-width:0;padding:10px;display:grid}.booking-detail-field span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:950}.booking-detail-field strong{min-width:0;color:var(--ink-strong);word-break:break-word;align-items:center;gap:6px;font-size:13px;font-weight:850;line-height:1.35;display:flex}.booking-detail-field strong svg{color:var(--accent-hover);flex:none}.booking-detail-note,.booking-detail-cancel-note{border:1px solid var(--line);background:var(--panel-muted);color:var(--ink);border-radius:12px;align-items:flex-start;gap:9px;padding:11px;display:flex}.booking-detail-note svg,.booking-detail-cancel-note svg{color:var(--accent-hover);flex:none;margin-top:2px}.booking-detail-note p,.booking-detail-cancel-note p{margin:0;font-size:13px;font-weight:650;line-height:1.45}.booking-detail-cancel-note{color:#991b1b;background:#fff1f2;border-color:#fecaca}.booking-detail-cancel-note svg{color:#dc2626}.booking-detail-actions-card .booking-action-stack{gap:10px}.booking-history-list{gap:8px;max-height:220px;padding-right:2px;display:grid;overflow:auto}.balances-page{gap:18px;display:grid}.balances-kpi-row{margin:0}.balance-products-panel,.balances-directory-card,.balance-warning-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px}.balance-products-panel{gap:16px;padding:20px;display:grid}.balance-section-head,.balances-directory-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.balance-section-head{justify-content:flex-start}.balance-section-head svg{color:var(--accent-hover);margin-top:2px}.balance-section-head span,.balances-directory-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.balance-section-head h3,.balances-directory-head h3{color:var(--ink-strong);letter-spacing:-.03em;margin:3px 0 0;font-size:20px;font-weight:950;line-height:1.15}.balance-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.balance-product-card{border:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border-radius:16px;gap:10px;min-width:0;padding:14px;display:grid}.balance-product-card>div{min-width:0;color:var(--ink-strong);align-items:center;gap:8px;display:flex}.balance-product-card svg{color:var(--accent-hover);flex:none}.balance-product-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:950;overflow:hidden}.balance-product-card span,.balance-product-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.balances-directory-card{gap:14px;padding:20px;display:grid}.balances-directory-head strong{background:var(--accent-faint);min-width:46px;height:34px;color:var(--accent-hover);border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:14px;font-weight:950;display:inline-flex}.balance-pass-list{gap:9px;display:grid}.balance-pass-row{border:1px solid var(--line);background:var(--panel-muted);border-radius:14px;grid-template-columns:minmax(0,1.35fr) minmax(120px,.45fr) minmax(120px,.45fr) auto auto;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.balance-pass-row>div{min-width:0}.balance-pass-row strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:950;display:block;overflow:hidden}.balance-pass-row span,.balance-pass-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;font-weight:750;display:block;overflow:hidden}.balance-pass-row b{color:var(--ink-strong);font-size:13px;font-weight:950;display:block}.balance-warning-card{color:#9a3412;background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa;align-items:flex-start;gap:12px;padding:16px;display:flex}.balance-warning-card svg{flex:none;margin-top:2px}.balance-warning-card strong{color:#7c2d12;font-size:15px;font-weight:900;display:block}.balance-warning-card p{color:#9a3412;margin:5px 0 0;font-size:13px;font-weight:650;line-height:1.45}.client-detail-page{gap:18px;display:grid}.client-detail-topline{justify-content:space-between;align-items:center;gap:14px;display:flex}.client-detail-topline .ghost-button{width:max-content;min-width:0}.client-detail-topline>span{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.client-profile-hero{color:#fff;background:radial-gradient(circle at 92% 0,#bbf7d0b8,#0000 30%),linear-gradient(135deg,#064e3b 0%,#047857 56%,#10b981 100%);border:1px solid #065f4629;border-radius:24px;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 48px #065f462e}.client-profile-hero:after{content:"";background:#ffffff1f;border-radius:999px;width:340px;height:340px;position:absolute;bottom:-140px;right:-90px}.client-profile-main{z-index:1;align-items:flex-start;gap:18px;min-width:0;display:flex;position:relative}.client-profile-avatar{color:#fff;letter-spacing:-.04em;background:#ffffff29;border-radius:24px;flex:none;justify-content:center;align-items:center;width:76px;height:76px;font-size:22px;font-weight:950;display:inline-flex;box-shadow:inset 0 1px #ffffff38,0 16px 32px #0f172a24}.client-profile-kicker{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.client-profile-kicker>span{color:#ffffffe6;letter-spacing:.08em;text-transform:uppercase;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}.client-profile-kicker .status{color:var(--ink-strong);background:#ffffffeb}.client-profile-hero h2{color:#fff;letter-spacing:-.055em;max-width:820px;margin:0;font-size:clamp(34px,5vw,58px);font-weight:950;line-height:.95}.client-profile-hero p{color:#ffffffc7;max-width:760px;margin:12px 0 0;font-size:15px;font-weight:650;line-height:1.5}.client-profile-meta{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.client-profile-meta span{color:#ffffffe6;background:#ffffff1a;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:850;display:inline-flex}.client-tag-row{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.client-tag-row span{border:1px solid color-mix(in srgb, var(--tag-color) 38%, white);color:var(--ink-strong);background:#ffffffeb;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;line-height:1}.client-profile-actions{z-index:1;gap:10px;min-width:210px;display:grid;position:relative}.client-profile-actions .action-button,.client-profile-actions .ghost-button{border-color:#ffffff3d;width:100%;min-width:0}.client-profile-actions .ghost-button{color:#fff;background:#ffffff1f}.client-profile-actions .ghost-button:hover{color:#fff;background:#ffffff2e}.client-profile-actions .row-action-button{width:100%;height:var(--button-height);color:#fff;background:#9a34122e;border-color:#fed7aa61;border-radius:10px;font-size:14px}.client-profile-actions .row-action-button:hover{color:#fff;background:#9a341247;border-color:#fed7aa9e}.disabled-action{cursor:not-allowed;opacity:.72;pointer-events:none}.client-detail-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.client-detail-kpi-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;padding:18px}.client-detail-kpi-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.client-detail-kpi-card strong{color:var(--ink-strong);letter-spacing:-.04em;margin-top:8px;font-size:28px;font-weight:950;line-height:1;display:block}.client-detail-kpi-card small{color:var(--muted);margin-top:8px;font-size:12px;font-weight:700;display:block}.client-detail-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:18px;display:grid}.client-detail-main-column,.client-detail-side-column{gap:18px;min-width:0;display:grid}.client-info-card,.client-alert-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px}.client-info-card{gap:16px;padding:20px;display:grid}.client-alert-card{color:#9a3412;background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa;align-items:flex-start;gap:12px;padding:16px;display:flex}.client-alert-card svg{flex:none;margin-top:2px}.client-alert-card strong{color:#7c2d12;font-size:15px;font-weight:900;display:block}.client-alert-card p{color:#9a3412;margin:5px 0 0;font-size:13px;font-weight:650;line-height:1.45}.client-info-head{align-items:flex-start;gap:10px;display:flex}.client-info-head svg{color:var(--accent-hover);margin-top:2px}.client-info-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.client-info-head h3{color:var(--ink-strong);letter-spacing:-.03em;margin:3px 0 0;font-size:20px;font-weight:950;line-height:1.15}.client-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.client-contact-list{gap:10px;display:grid}.client-field-row{border:1px solid var(--line);background:var(--panel-muted);border-radius:14px;gap:5px;min-width:0;padding:12px;display:grid}.client-field-row span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:900}.client-field-row strong{color:var(--ink-strong);word-break:break-word;font-size:13px;font-weight:850;line-height:1.35}.client-field-row strong.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.client-field-row strong.muted{color:var(--muted)}.client-note-text{color:var(--ink);margin:0;font-size:14px;font-weight:650;line-height:1.6}.client-enrollment-card{background:radial-gradient(circle at 100% 0,#10b9811f,#0000 34%),#fff}.client-history-columns{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.client-mini-feed{border:1px solid var(--line);background:var(--panel-muted);border-radius:16px;align-content:start;gap:8px;min-width:0;padding:12px;display:grid}.client-mini-feed>span{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:950}.client-mini-feed article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:3px;padding:10px;display:grid}.client-mini-feed strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;overflow:hidden}.client-mini-feed small{color:var(--muted);font-size:11px;font-weight:800}.client-mini-feed p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:700;overflow:hidden}.client-comment-list{gap:10px;display:grid}.client-comment-list article{border:1px solid var(--line);background:var(--panel-muted);border-radius:15px;gap:8px;padding:12px;display:grid}.client-comment-list article>div{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.client-comment-list strong{color:var(--ink-strong);font-size:13px;font-weight:950}.client-comment-list span{color:var(--muted);text-align:right;font-size:11px;font-weight:780}.client-comment-list p{color:var(--ink);margin:0;font-size:13px;font-weight:680;line-height:1.5}.client-application-list{gap:8px;display:grid}.client-application-list article{border:1px solid var(--line);background:var(--panel-muted);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:11px;display:grid}.client-application-list strong{color:var(--ink-strong);font-size:13px;font-weight:950}.client-application-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:12px;font-weight:700;overflow:hidden}.client-application-list small{color:var(--muted);white-space:nowrap;grid-area:1/2/span 2;font-size:11px;font-weight:850}.client-timeline-list{gap:12px;display:grid}.client-timeline-item{grid-template-columns:14px 1fr;gap:10px;display:grid}.client-timeline-item>span{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 5px var(--accent-faint);border-radius:999px;margin-top:5px}.client-timeline-item strong{color:var(--ink-strong);font-size:13px;font-weight:900;display:block}.client-timeline-item p{color:var(--muted);margin:3px 0 0;font-size:12px;font-weight:650;line-height:1.45}.client-balance-card{background:radial-gradient(circle at 100% 0,#10b9811f,#0000 34%),#fff}.client-balance-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.client-balance-summary div{border:1px solid var(--accent-line);background:#f0fdf4b8;border-radius:14px;min-width:0;padding:11px}.client-balance-summary span{color:var(--accent-hover);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950;display:block}.client-balance-summary strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.04em;margin-top:5px;font-size:18px;font-weight:950;line-height:1;display:block;overflow:hidden}.client-balance-passes{gap:8px;display:grid}.client-balance-pass{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:32px 1fr;align-items:center;gap:10px;min-width:0;padding:11px;display:grid}.client-balance-pass svg{background:var(--accent-faint);width:32px;height:32px;color:var(--accent-hover);border-radius:11px;padding:8px}.client-balance-pass div{min-width:0}.client-balance-pass strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;display:block;overflow:hidden}.client-balance-pass span,.client-balance-empty{color:var(--muted);font-size:12px;font-weight:700;line-height:1.45}.client-balance-empty{margin:0}.client-balance-link{justify-self:start}.apply-shell{background:linear-gradient(135deg,#f8fafc 0%,#ecfdf5 100%);grid-template-columns:minmax(0,1fr) minmax(360px,500px);align-items:stretch;gap:22px;min-height:100vh;padding:28px;display:grid}.apply-hero{color:#fff;background:linear-gradient(135deg,#064e3b 0%,#047857 58%,#0f766e 100%);border:1px solid #065f4629;border-radius:28px;flex-direction:column;justify-content:flex-end;min-height:calc(100vh - 56px);padding:34px;display:flex;box-shadow:0 24px 70px #065f4633}.apply-hero span{color:#bbf7d0;letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:950}.apply-hero strong{color:#fff;letter-spacing:-.06em;max-width:820px;margin-top:12px;font-size:clamp(52px,8vw,116px);font-weight:950;line-height:.86;display:block}.apply-hero p{color:#ffffffc7;max-width:620px;margin:22px 0 18px;font-size:17px;font-weight:650;line-height:1.5}.apply-hero a{color:#fff;width:max-content;transition:background var(--transition), transform var(--transition);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;padding:10px 13px;font-size:12px;font-weight:900}.apply-hero a:hover{background:#ffffff2e;transform:translateY(-1px)}.apply-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #ffffffb8;border-radius:24px;align-self:center;gap:14px;padding:26px;display:grid;box-shadow:0 24px 80px #0f172a24}.apply-card-head{gap:8px;display:grid}.apply-card-head span,.apply-card>span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:950;display:inline-flex}.apply-card-head h1,.apply-card h1{color:var(--ink-strong);letter-spacing:-.045em;margin:0;font-size:34px;font-weight:950;line-height:1}.apply-card-head p,.apply-card p{color:var(--muted);margin:0;font-size:14px;font-weight:650;line-height:1.5}.apply-note{border:1px solid var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);border-radius:14px;align-items:flex-start;gap:9px;padding:12px;font-size:12px;font-weight:750;line-height:1.4;display:flex}.apply-note svg{flex:none;margin-top:1px}.apply-success-card{align-content:center;justify-items:start;min-height:420px}.apply-success-icon{background:var(--accent);color:#fff;border-radius:18px;justify-content:center;align-items:center;width:54px;height:54px;display:inline-flex;box-shadow:0 14px 28px #10b98138}.coach-detail-page{gap:18px;display:grid}.coach-detail-topline{justify-content:space-between;align-items:center;gap:14px;display:flex}.coach-detail-topline .ghost-button{width:max-content;min-width:0}.coach-detail-topline>span{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.coach-profile-hero{color:#fff;background:radial-gradient(circle at 88% 0,#facc1547,#0000 28%),linear-gradient(135deg,#052e2b 0%,#065f46 54%,#10b981 100%);border:1px solid #065f4629;border-radius:24px;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 48px #065f462e}.coach-profile-hero:after{content:"";background:#ffffff1c;border-radius:999px;width:360px;height:360px;position:absolute;bottom:-150px;right:-110px}.coach-profile-main{z-index:1;align-items:flex-start;gap:18px;min-width:0;display:flex;position:relative}.coach-profile-avatar{color:#fff;letter-spacing:-.04em;background:linear-gradient(135deg,#fff3,#ffffff14);border-radius:26px;flex:none;justify-content:center;align-items:center;width:76px;height:76px;font-size:22px;font-weight:950;display:inline-flex;box-shadow:inset 0 1px #ffffff38,0 16px 32px #0f172a24}.coach-profile-kicker{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.coach-profile-kicker>span{color:#ffffffeb;letter-spacing:.08em;text-transform:uppercase;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}.coach-profile-kicker .status{color:var(--ink-strong);background:#ffffffeb}.coach-profile-hero h2{color:#fff;letter-spacing:-.055em;max-width:820px;margin:0;font-size:clamp(34px,5vw,58px);font-weight:950;line-height:.95}.coach-profile-hero p{color:#ffffffc7;max-width:760px;margin:12px 0 0;font-size:15px;font-weight:650;line-height:1.5}.coach-profile-meta{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.coach-profile-meta span{color:#ffffffe6;background:#ffffff1a;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:850;display:inline-flex}.coach-profile-actions{z-index:1;gap:10px;min-width:220px;display:grid;position:relative}.coach-profile-actions .action-button,.coach-profile-actions .ghost-button{border-color:#ffffff3d;width:100%;min-width:0}.coach-profile-actions .ghost-button{color:#fff;background:#ffffff1f}.coach-profile-actions .ghost-button:hover{color:#fff;background:#ffffff2e}.coach-profile-actions .row-action-button{width:100%;height:var(--button-height);color:#fff;background:#9a34122e;border-color:#fed7aa61;border-radius:10px;font-size:14px}.coach-profile-actions .row-action-button:hover{color:#fff;background:#9a341247;border-color:#fed7aa9e}.coach-detail-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.coach-detail-kpi-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;padding:18px}.coach-detail-kpi-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.coach-detail-kpi-card strong{color:var(--ink-strong);letter-spacing:-.04em;margin-top:8px;font-size:28px;font-weight:950;line-height:1;display:block}.coach-detail-kpi-card small{color:var(--muted);margin-top:8px;font-size:12px;font-weight:700;display:block}.coach-detail-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:18px;display:grid}.coach-detail-main-column,.coach-detail-side-column{gap:18px;min-width:0;display:grid}.coach-info-card,.coach-alert-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px}.coach-info-card{gap:16px;padding:20px;display:grid}.coach-alert-card{color:#9a3412;background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa;align-items:flex-start;gap:12px;padding:16px;display:flex}.coach-alert-card svg{flex:none;margin-top:2px}.coach-alert-card strong{color:#7c2d12;font-size:15px;font-weight:900;display:block}.coach-alert-card p{color:#9a3412;margin:5px 0 0;font-size:13px;font-weight:650;line-height:1.45}.coach-info-head{align-items:flex-start;gap:10px;display:flex}.coach-info-head svg{color:var(--accent-hover);margin-top:2px}.coach-info-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.coach-info-head h3{color:var(--ink-strong);letter-spacing:-.03em;margin:3px 0 0;font-size:20px;font-weight:950;line-height:1.15}.coach-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.coach-contact-list{gap:10px;display:grid}.coach-field-row{border:1px solid var(--line);background:var(--panel-muted);border-radius:14px;gap:5px;min-width:0;padding:12px;display:grid}.coach-field-row span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:900}.coach-field-row strong{color:var(--ink-strong);word-break:break-word;font-size:13px;font-weight:850;line-height:1.35}.coach-field-row strong.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.coach-field-row strong.muted{color:var(--muted)}.coach-load-card{background:radial-gradient(circle at 100% 0, #10b98124, transparent 34%), var(--accent-faint);border:1px solid #10b98129;border-radius:18px;gap:12px;padding:16px;display:grid}.coach-load-card>div:first-child{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.coach-load-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.coach-load-card strong{color:var(--accent-hover);letter-spacing:-.055em;font-size:36px;font-weight:950;line-height:.9}.coach-load-track{background:#e5e7eb;border-radius:999px;height:11px;overflow:hidden}.coach-load-track span{border-radius:inherit;background:linear-gradient(90deg,#10b981,#059669);height:100%;display:block}.coach-load-card p{color:var(--muted);margin:0;font-size:13px;font-weight:650;line-height:1.45}.coach-timeline-list{gap:12px;display:grid}.coach-timeline-item{grid-template-columns:34px 1fr;align-items:flex-start;gap:10px;display:grid}.coach-timeline-item>span{background:var(--accent-faint);width:34px;height:34px;color:var(--accent-hover);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.coach-timeline-item strong{color:var(--ink-strong);font-size:13px;font-weight:900;display:block}.coach-timeline-item p{color:var(--muted);margin:3px 0 0;font-size:12px;font-weight:650;line-height:1.45}.status{border-radius:8px;align-items:center;padding:5px 10px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.status.active{background:var(--accent-soft);color:var(--accent)}.status.new{color:#275883;background:#e7eef8}.status.paused{color:#9a5924;background:#f7e6cc}.status.intern{color:#ea580c;background:#fff7ed}.status.contractor{color:#2563eb;background:#eff6ff}.status.archived,.status.inactive{color:#993d2b;background:#f3dad3}.status.reserved{color:#047857;background:#ecfdf5}.status.confirmed{color:#2563eb;background:#eff6ff}.status.arrived,.status.held{background:var(--accent-soft);color:var(--accent-hover)}.status.no_show{color:#c2410c;background:#fff7ed}.status.cancelled{color:#64748b;background:#f1f5f9}.status.waitlist,.status.planned{color:#475569;background:#f8fafc}.status.registration_open,.status.registered{color:#047857;background:#ecfdf5}.status.registration_closed,.status.unpaid{color:#b45309;background:#fef3c7}.status.in_progress{color:#4f46e5;background:#eef2ff}.status.finished{color:#047857;background:#dcfce7}.status.draft,.status.not_required{color:#64748b;background:#f1f5f9}.status.rejected,.status.refunded{color:#be123c;background:#fff1f2}.empty-state{text-align:center;color:var(--muted);padding:28px}.error-box{color:var(--danger);background:#fff7f4;border:1px solid #e8b8a9;border-radius:12px;margin:16px 0;padding:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field{gap:6px;display:grid}.field label,.field>span{color:var(--ink);font-size:13px;font-weight:700}.field input,.field textarea{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:10px;min-height:42px;padding:11px 12px}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:2px solid #10b98133}.field textarea{resize:vertical;min-height:86px}.tariff-modal-summary,.facility-modal-summary,.client-modal-summary,.court-modal-summary,.service-modal-summary,.balance-modal-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tariff-modal-summary span,.facility-modal-summary span,.client-modal-summary span,.court-modal-summary span,.service-modal-summary span,.balance-modal-summary span{border:1px solid var(--accent-line);background:var(--accent-faint);min-height:42px;color:var(--accent-hover);border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:850;display:flex}.tariff-modal-summary svg,.facility-modal-summary svg,.client-modal-summary svg,.court-modal-summary svg,.service-modal-summary svg,.balance-modal-summary svg{flex:none}.entity-modal{z-index:110;perspective:1200px;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.entity-modal.is-closing{pointer-events:none}.entity-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#0f172a6b;border:0;animation:.24s both modal-backdrop-in;position:absolute;inset:0}.entity-modal-panel{z-index:1;transform-origin:50% 32%;will-change:transform, opacity, filter;background:#fff;border:1px solid #ffffffbd;border-radius:24px;width:min(860px,100%);max-height:min(760px,100vh - 32px);animation:.28s cubic-bezier(.16,1,.3,1) both modal-panel-in;position:relative;overflow-y:auto;box-shadow:0 28px 90px #0f172a47}.entity-modal-panel-small{width:min(560px,100%)}.entity-modal.is-closing .entity-modal-backdrop{animation:.18s both modal-backdrop-out}.entity-modal.is-closing .entity-modal-panel{animation:.2s cubic-bezier(.4,0,1,1) both modal-panel-out}.entity-modal-head{z-index:3;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px 18px;display:flex;position:sticky;top:0}.entity-modal-head span{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.entity-modal-head h3{color:var(--ink-strong);letter-spacing:-.035em;margin:5px 0 0;font-size:26px;font-weight:950;line-height:1.05}.entity-modal-head p{max-width:620px;color:var(--muted);margin:8px 0 0;font-size:13px;font-weight:650;line-height:1.45}.entity-modal-close{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);background:#fff;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.entity-modal-close:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.entity-modal-form{gap:14px;padding:22px 24px 24px;display:grid}.entity-modal-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.entity-modal-actions .ghost-button,.entity-modal-actions .action-button{width:auto}.action-button:disabled{cursor:wait;opacity:.72;transform:none}.danger-action-button{height:var(--button-height);min-width:var(--button-min-width);padding:0 var(--button-padding-x);color:#fff;cursor:pointer;white-space:nowrap;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);background:#ea580c;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 10px 24px #ea580c33}.danger-action-button:hover{background:#c2410c;transform:translateY(-1px);box-shadow:0 14px 28px #ea580c3d}.danger-action-button:disabled{cursor:wait;opacity:.72;transform:none}.archive-warning-card{color:#9a3412;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:16px;align-items:flex-start;gap:12px;padding:14px;display:flex}.archive-warning-card svg{color:#ea580c;flex:none;margin-top:1px}.archive-warning-card strong{color:#7c2d12;font-size:14px;font-weight:950;display:block}.archive-warning-card p{color:#9a3412;margin:4px 0 0;font-size:13px;font-weight:650;line-height:1.45}.archive-warning-card-neutral{border-color:var(--accent-line);background:linear-gradient(135deg, var(--accent-faint), #fff);color:var(--accent-hover)}.archive-warning-card-neutral strong{color:var(--accent-hover)}.archive-warning-card-neutral p{color:var(--muted)}.modal-error,.form-error{color:var(--danger);background:#fff7f4;border:1px solid #e8b8a9;border-radius:12px;padding:12px 14px;font-size:13px;font-weight:750}.access-page{gap:18px;display:grid}.role-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.role-summary-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;gap:8px;padding:18px;display:grid}.role-summary-card svg{color:var(--accent-hover)}.role-summary-card span{color:var(--muted);font-size:12px;font-weight:800}.role-summary-card strong{color:var(--ink-strong);letter-spacing:-.05em;font-size:34px;font-weight:950;line-height:1}.roles-grid{grid-template-columns:repeat(5,minmax(180px,1fr));gap:14px;display:grid}.roles-grid-management .role-card{min-height:340px}.role-card{border:1px solid var(--line);min-height:260px;box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);background:#fff;border-radius:18px;align-content:start;gap:16px;padding:18px;display:grid;position:relative;overflow:hidden}.role-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md);transform:translateY(-2px)}.role-card:after{content:"";background:#10b98114;border-radius:999px;width:130px;height:130px;position:absolute;top:-38px;right:-38px}.role-card-icon{z-index:1;background:var(--accent-faint);width:42px;height:42px;color:var(--accent-hover);border-radius:14px;justify-content:center;align-items:center;display:inline-flex;position:relative}.role-card span:not(.role-card-icon){color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950;display:block}.role-card h3{color:var(--ink-strong);letter-spacing:-.03em;margin:5px 0 0;font-size:20px;font-weight:950;line-height:1.08}.role-card p{color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:650;line-height:1.45}.role-card-meta{background:var(--accent-faint);border:1px solid #10b9811f;border-radius:14px;gap:3px;padding:12px;display:grid}.role-card-meta strong{color:var(--accent-hover);font-size:24px;font-weight:950;line-height:1}.role-card-meta small{color:var(--muted);font-size:11px;font-weight:800}.role-card ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.role-card li{color:#475569;background:#f8fafc;border-radius:999px;width:max-content;max-width:100%;padding:5px 8px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.role-card-superadmin{background:radial-gradient(circle at 100% 0,#10b98133,#0000 34%),#fff}.role-card-accountant .role-card-icon{color:#2563eb;background:#eff6ff}.role-card-trainer .role-card-icon{color:#ea580c;background:#fff7ed}.role-card-manager .role-card-icon{color:#16a34a;background:#f0fdf4}.role-card-admin .role-card-icon{color:var(--accent-hover);background:#ecfdf5}.access-users-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.role-pill{background:var(--accent-faint);color:var(--accent-hover);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:6px 9px;font-size:11px;font-weight:950;line-height:1;display:inline-flex}.role-accountant{color:#2563eb;background:#eff6ff}.role-trainer{color:#ea580c;background:#fff7ed}.role-manager{color:#16a34a;background:#f0fdf4}.role-admin{color:#059669;background:#ecfdf5}.role-superadmin{color:#0891b2;background:#ecfeff}.role-matrix-card,.role-editor-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.role-editor-head p{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:650;line-height:1.45}.role-editor-message{border-radius:14px;margin:0 18px 14px;padding:12px 14px;font-size:13px;font-weight:800}.role-editor-message-success{background:var(--accent-faint);color:var(--accent-hover);border:1px solid #10b98138}.role-editor-message-error{color:var(--danger);background:#fff7f4;border:1px solid #e8b8a9}.permission-matrix-wrap{overflow-x:auto}.permission-matrix{min-width:980px}.permission-matrix th{white-space:nowrap}.permission-matrix td:first-child{color:var(--ink-strong);font-weight:850}.permission-matrix td:not(:first-child){text-align:center}.permission-editor-matrix{min-width:1180px}.permission-editor-matrix th{vertical-align:top}.permission-editor-matrix td{vertical-align:middle}.role-editor-column-head{justify-items:center;gap:8px;min-width:150px;display:grid}.role-editor-column-head small{color:var(--muted);font-size:11px;font-weight:800}.role-editor-actions{justify-content:center;align-items:center;gap:6px;display:flex}.role-save-button,.tiny-icon-button{border:1px solid var(--line);min-height:32px;color:var(--muted);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.role-save-button{padding:0 10px;font-size:11px;font-weight:900;line-height:1}.tiny-icon-button{width:32px;padding:0}.role-save-button:not(:disabled):hover,.tiny-icon-button:not(:disabled):hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);transform:translateY(-1px)}.role-save-button:disabled,.tiny-icon-button:disabled{cursor:default;opacity:.58}.permission-category-row td{border-top:1px solid var(--line);border-bottom:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;background:#f8fafc;font-size:11px;color:var(--accent-hover)!important;text-align:left!important;font-weight:950!important}.permission-label-block{text-align:left;gap:4px;max-width:420px;display:grid}.permission-label-block strong{color:var(--ink-strong);font-size:13px;font-weight:900}.permission-label-block small{color:var(--muted);font-size:11px;font-weight:650;line-height:1.35}.permission-switch{cursor:pointer;justify-content:center;align-items:center;width:48px;height:28px;display:inline-flex;position:relative}.permission-switch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.permission-switch span{width:44px;height:24px;transition:background var(--transition), box-shadow var(--transition);background:#e2e8f0;border-radius:999px;position:relative;box-shadow:inset 0 0 0 1px #64748b29}.permission-switch span:after{content:"";width:18px;height:18px;transition:transform var(--transition), box-shadow var(--transition);background:#fff;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0f172a2e}.permission-switch input:checked+span{background:var(--accent);box-shadow:inset 0 0 0 1px #0596692e,0 8px 18px #10b98133}.permission-switch input:checked+span:after{transform:translate(20px);box-shadow:0 3px 9px #0596693d}.permission-switch input:focus-visible+span{outline-offset:3px;outline:3px solid #10b98138}.role-editor-footnote{border-top:1px solid var(--line);color:var(--muted);background:#fbfdfc;align-items:center;gap:8px;padding:14px 18px;font-size:12px;font-weight:750;display:flex}.role-editor-footnote svg{color:var(--accent-hover);flex:none}.permission-enabled,.permission-disabled{border-radius:999px;justify-content:center;min-width:42px;padding:5px 8px;font-size:11px;font-weight:950;line-height:1;display:inline-flex}.permission-enabled{background:var(--accent-faint);color:var(--accent-hover)}.permission-disabled{color:#94a3b8;background:#f1f5f9}.role-workbench-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.role-workbench-card-simple{overflow:visible}.role-workbench-head{border-bottom:1px solid var(--line);background:linear-gradient(#fff,#fbfdfc);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.role-workbench-head span,.role-overview-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:950}.role-workbench-head h3,.role-overview-head h3{color:var(--ink-strong);letter-spacing:-.03em;margin:5px 0 0;font-size:22px;font-weight:950;line-height:1.1}.role-workbench-head p{max-width:760px;color:var(--muted);margin:8px 0 0;font-size:13px;font-weight:650;line-height:1.45}.role-workbench-head>strong{background:var(--accent-faint);color:var(--accent-hover);white-space:nowrap;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:950}.role-workbench-layout{border-top:1px solid #fff9;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:0;display:grid}.role-side-title{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;gap:10px;padding:2px 4px 8px;font-size:11px;font-weight:900;display:flex}.role-side-title strong{min-width:26px;color:var(--accent-hover);text-align:center;letter-spacing:0;background:#fff;border-radius:999px;padding:4px 7px;font-size:11px}.role-switcher-panel{overscroll-behavior:contain;scrollbar-gutter:stable;border-right:1px solid var(--line);background:#f8fafc;align-content:start;gap:7px;max-height:calc(100vh - 176px);padding:14px;display:grid;overflow-y:auto}.role-switcher-panel::-webkit-scrollbar{width:8px}.role-switcher-panel::-webkit-scrollbar-track{background:0 0}.role-switcher-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #f8fafc;border-radius:999px}.role-switcher-panel::-webkit-scrollbar-thumb:hover{background:#94a3b8}.role-switcher-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);background:#fff;border:1px solid #0000;border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;display:grid;position:relative}.role-switcher-item:hover{border-color:var(--accent-line);background:var(--accent-faint);transform:translateY(-1px)}.role-switcher-item.active{background:#ecfdf5;border-color:#10b98161;box-shadow:0 12px 26px #10b9811f}.role-switcher-icon{background:var(--accent-faint);width:34px;height:34px;color:var(--accent-hover);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.role-switcher-copy{gap:2px;min-width:0;display:grid}.role-switcher-copy strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;line-height:1.1;overflow:hidden}.role-switcher-copy small{color:var(--muted);font-size:11px;font-weight:750}.role-switcher-item em{min-width:32px;color:var(--muted);text-align:center;background:#f1f5f9;border-radius:999px;padding:5px 7px;font-size:10px;font-style:normal;font-weight:950}.role-switcher-item.active em{background:var(--accent);color:#fff}.role-switcher-item i{background:#f59e0b;border-radius:999px;width:8px;height:8px;position:absolute;top:8px;right:8px;box-shadow:0 0 0 3px #f59e0b24}.role-detail-panel{gap:12px;min-width:0;padding:14px;display:grid}.role-compact-head{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;display:flex}.role-compact-head>div:first-child{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.role-compact-head strong{color:var(--ink-strong);font-size:18px;font-weight:950;line-height:1.1}.role-compact-head small{color:var(--muted);flex-basis:100%;font-size:12px;font-weight:650;line-height:1.35}.role-compact-count{background:var(--accent-faint);border-radius:14px;justify-items:center;gap:2px;min-width:74px;padding:10px 12px;display:grid}.role-compact-count b{color:var(--accent-hover);letter-spacing:-.04em;font-size:22px;font-weight:950;line-height:1}.role-compact-count span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}.role-detail-hero{border:1px solid var(--line);background:radial-gradient(circle at 100% 0,#10b9811f,#0000 28%),#fff;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.role-detail-hero h3{color:var(--ink-strong);letter-spacing:-.04em;margin:9px 0 0;font-size:28px;font-weight:950;line-height:1}.role-detail-hero p{max-width:720px;color:var(--muted);margin:8px 0 0;font-size:13px;font-weight:650;line-height:1.45}.role-detail-stats{background:var(--accent-faint);border:1px solid #10b9812e;border-radius:16px;justify-items:center;gap:4px;min-width:118px;padding:14px;display:grid}.role-detail-stats strong{color:var(--accent-hover);letter-spacing:-.05em;font-size:32px;font-weight:950;line-height:1}.role-detail-stats span{color:var(--muted);font-size:11px;font-weight:850}.role-toolbar{grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:10px;display:grid}.role-toolbar-simple{border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px}.role-permission-search{border:1px solid var(--line);min-height:44px;color:var(--muted);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:0 13px;display:flex}.role-permission-search input{width:100%;color:var(--ink);border:0;outline:0;font-size:14px;font-weight:650}.role-permission-search button{width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:#f1f5f9;border:0;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.role-permission-search button:hover{background:var(--accent-faint);color:var(--accent-hover)}.role-search-meta{min-width:84px;color:var(--muted);text-align:center;white-space:nowrap;background:#f8fafc;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:900;line-height:1}.role-toolbar-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.role-toolbar-actions .action-button,.role-toolbar-actions .ghost-button{min-width:132px}.role-secondary-actions{border:1px solid var(--line);background:#fff;border-radius:14px}.role-secondary-actions summary{color:var(--muted);cursor:pointer;padding:11px 12px;font-size:12px;font-weight:900;list-style:none}.role-secondary-actions summary::-webkit-details-marker{display:none}.role-secondary-actions summary:after{content:"+";float:right;color:var(--accent-hover);font-size:15px;line-height:1}.role-secondary-actions[open] summary:after{content:"-"}.role-secondary-actions>div{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:10px;display:flex}.role-copy-panel{border:1px dashed var(--accent-line);background:#fbfdfc;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.role-copy-panel>span{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:850;display:inline-flex}.role-copy-panel>span svg{color:var(--accent-hover)}.role-copy-panel>div{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.role-copy-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition);background:#fff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.role-copy-button:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);transform:translateY(-1px)}.selected-permission-strip{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.selected-permission-strip span,.selected-permission-strip strong{color:#475569;background:#f8fafc;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:850;line-height:1}.selected-permission-strip strong{background:var(--accent-faint);color:var(--accent-hover)}.permission-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.permission-module-grid-simple{grid-template-columns:repeat(3,minmax(0,1fr))}.permission-module-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;overflow:hidden}.permission-module-head{justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.permission-module-head span{color:var(--accent-hover);letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:950}.permission-module-head h4{color:var(--ink-strong);letter-spacing:-.02em;margin:4px 0 0;font-size:15px;font-weight:950;line-height:1.12}.module-toggle-button{border:1px solid var(--line);color:var(--muted);white-space:nowrap;cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);background:#fff;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:900;line-height:1}.module-toggle-button:hover,.module-toggle-button.active{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.module-progress-line{background:#eef2f7;height:4px}.module-progress-line span{background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;transition:width var(--transition);border-radius:999px;display:block}.permission-card-list{gap:6px;padding:8px;display:grid}.permission-card-row{border:1px solid var(--line);cursor:pointer;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);background:#fff;border-radius:14px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.permission-card-row-simple{background:#f8fafc;border-color:#0000;border-radius:12px;grid-template-columns:36px minmax(0,1fr);padding:8px}.permission-card-row:hover{border-color:var(--accent-line);background:#fbfdfc}.permission-card-row.checked{background:var(--accent-faint);border-color:#10b9813d;box-shadow:inset 0 0 0 1px #10b98114}.permission-card-row input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.permission-mini-switch{width:38px;height:22px;transition:background var(--transition);background:#e2e8f0;border-radius:999px;position:relative}.permission-mini-switch:after{content:"";width:16px;height:16px;transition:transform var(--transition);background:#fff;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0f172a2e}.permission-card-row.checked .permission-mini-switch{background:var(--accent)}.permission-card-row.checked .permission-mini-switch:after{transform:translate(16px)}.permission-card-copy{gap:4px;min-width:0;display:grid}.permission-card-copy strong{color:var(--ink-strong);font-size:13px;font-weight:900;line-height:1.15}.permission-card-copy small{color:var(--muted);font-size:11px;font-weight:650;line-height:1.35}.permission-card-row-simple .permission-card-copy strong{font-size:12px}.permission-card-row-simple .permission-card-copy small{font-size:10px}.role-empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:16px;padding:28px;font-weight:750}.role-overview-card{border:1px solid var(--line);background:#fff;border-radius:18px;margin:0 18px 18px;overflow:hidden}.role-overview-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.role-overview-head h3{font-size:18px}.role-overview-head svg{color:var(--accent-hover)}.role-overview-grid{overflow-x:auto}.role-overview-row{border-bottom:1px solid var(--line);grid-template-columns:190px repeat(5,minmax(130px,1fr));align-items:center;gap:10px;min-width:980px;padding:11px 14px;display:grid}.role-overview-row:last-child{border-bottom:0}.role-overview-row>strong{color:var(--ink-strong);font-size:13px;font-weight:900}.role-overview-row>span{min-height:30px;color:var(--muted);background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.role-overview-row>span i{background:linear-gradient(90deg,#10b98152,#10b9812e);position:absolute;inset:0 auto 0 0}.role-overview-row>span small{z-index:1;white-space:nowrap;font-size:10px;font-weight:900;position:relative}.mobile-overlay{display:none}.search-modal{z-index:100;perspective:1200px;justify-content:center;align-items:flex-start;padding:9vh 20px 24px;display:flex;position:fixed;inset:0}.search-modal.is-closing{pointer-events:none}.search-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#0f172a6b;border:0;animation:.22s both modal-backdrop-in;position:absolute;inset:0}.search-panel{z-index:1;background:var(--panel);transform-origin:50% 12%;will-change:transform, opacity, filter;border:1px solid #ffffffb3;border-radius:20px;flex-direction:column;width:min(680px,100%);max-height:min(680px,82vh);animation:.26s cubic-bezier(.16,1,.3,1) both search-panel-in;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #0f172a3d}.search-modal.is-closing .search-backdrop{animation:.18s both modal-backdrop-out}.search-modal.is-closing .search-panel{animation:.18s cubic-bezier(.4,0,1,1) both search-panel-out}.search-input-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 18px;display:flex}.search-input-row svg{color:var(--muted);flex:none}.search-input-row input{min-width:0;color:var(--ink);border:0;outline:0;flex:1;font-size:15px;font-weight:650}.search-input-row button{color:var(--muted);cursor:pointer;width:34px;height:34px;transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.search-input-row button:hover{background:var(--accent-faint);color:var(--ink)}.search-results{gap:4px;padding:10px;display:grid;overflow-y:auto}.search-result{cursor:pointer;text-align:left;width:100%;color:var(--ink);transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.search-result:hover,.search-result.active{background:var(--accent-faint)}.search-result strong{color:var(--ink-strong);font-size:14px;font-weight:800;display:block}.search-result small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.search-result em{color:var(--accent-hover);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:11px;font-style:normal;font-weight:800}.search-empty{text-align:center;color:var(--muted);gap:4px;padding:34px 18px 38px;display:grid}.search-empty strong{color:var(--ink-strong);font-size:15px}.search-footer{border-top:1px solid var(--line);background:var(--bg);color:var(--muted);justify-content:flex-end;align-items:center;gap:14px;padding:10px 14px;font-size:12px;font-weight:650;display:flex}.toast-viewport{z-index:160;pointer-events:none;gap:10px;width:min(390px,100vw - 24px);display:grid;position:fixed;bottom:22px;right:22px}.toast-card{pointer-events:auto;color:var(--ink-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border:1px solid #10b98138;border-radius:18px;grid-template-columns:36px 1fr 28px;align-items:start;gap:10px;padding:13px 12px;animation:.26s cubic-bezier(.16,1,.3,1) both toast-in;display:grid;box-shadow:0 20px 50px #0f172a2e}.toast-card>svg{background:var(--accent-faint);width:36px;height:36px;color:var(--accent-hover);border-radius:13px;padding:8px}.toast-error{border-color:#dc262638}.toast-error>svg{color:#dc2626;background:#fef2f2}.toast-card strong{color:var(--ink-strong);font-size:14px;font-weight:950;line-height:1.2;display:block}.toast-card span{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700;line-height:1.35;display:block}.toast-card button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.toast-card button:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.dashboard-page{gap:20px;display:grid}.dashboard-hero{color:#fff;background:radial-gradient(circle at 76% 18%,#bbf7d06b,#0000 28%),linear-gradient(135deg,#064e3b 0%,#065f46 52%,#0f766e 100%);border-radius:24px;grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:24px;padding:28px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #065f463d}.dashboard-hero:after{content:"";border:48px solid #ffffff14;border-radius:999px;width:280px;height:280px;position:absolute;bottom:-120px;right:-80px}.dashboard-hero h2{z-index:1;letter-spacing:-.045em;max-width:740px;margin:8px 0;font-size:clamp(30px,4vw,48px);font-weight:950;line-height:.98;position:relative}.dashboard-hero p{z-index:1;color:#ffffffc7;max-width:680px;margin:0;font-size:15px;line-height:1.55;position:relative}.dashboard-kicker{z-index:1;color:#bbf7d0;text-transform:uppercase;letter-spacing:.12em;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;align-items:center;width:max-content;padding:7px 10px;font-size:11px;font-weight:850;display:inline-flex;position:relative}.hero-score-card{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:20px;flex-direction:column;justify-content:flex-end;min-height:190px;padding:20px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff1f}.hero-score-card span{color:#ffffffbd;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.hero-score-card strong{letter-spacing:-.06em;margin-top:8px;font-size:56px;font-weight:950;line-height:.9}.hero-score-card small{color:#ffffffb8;margin-top:10px;font-size:12px;line-height:1.45}.dashboard-kpi{padding-right:86px;position:relative;overflow:hidden}.dashboard-kpi:after{content:"";filter:blur(18px);background:#10b98138;border-radius:999px;width:28px;height:28px;position:absolute;top:28px;right:28px}.dashboard-kpi-icon{z-index:1;width:48px;height:48px;color:var(--accent-hover);background:linear-gradient(135deg,#10b98133,#065f460f);border-radius:16px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:18px;right:18px;box-shadow:inset 0 1px #fffc,0 12px 24px #10b9811a}.dashboard-kpi-icon svg{stroke-width:2.35px}.dashboard-kpi em{background:var(--accent-faint);width:max-content;color:var(--accent-hover);border-radius:999px;margin-top:12px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:850;display:inline-flex}.communications-page{gap:20px;display:grid}.communications-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.communications-hero{color:#fff;background:radial-gradient(circle at 82% 18%,#bbf7d07a,#0000 30%),linear-gradient(135deg,#064e3b 0%,#047857 55%,#0f766e 100%);border-radius:24px;grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:22px;padding:28px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #065f4633}.communications-hero:after{content:"";border:42px solid #ffffff14;border-radius:999px;width:260px;height:260px;position:absolute;bottom:-110px;right:-70px}.communications-hero>*{z-index:1;position:relative}.communications-hero h2{color:#fff;letter-spacing:-.045em;max-width:760px;margin:10px 0 8px;font-size:clamp(30px,4vw,48px);font-weight:950;line-height:1}.communications-hero p{color:#ffffffc7;max-width:760px;margin:0;font-size:15px;font-weight:650;line-height:1.55}.communications-hero aside{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff21;border:1px solid #fff3;border-radius:22px;align-content:center;gap:8px;padding:20px;display:grid}.communications-hero aside small{color:#bbf7d0;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:950}.communications-hero aside strong{color:#fff;letter-spacing:-.06em;font-size:56px;font-weight:950;line-height:.9}.communications-hero aside span{color:#ffffffc2;font-size:12px;font-weight:750}.communications-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start;gap:18px;display:grid}.communications-panel{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);background:#fffffff5;border-radius:20px;gap:16px;padding:20px;display:grid}.communications-panel-wide{min-height:100%}.communications-panel-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.communications-panel-head span{color:var(--accent-hover);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:950}.communications-panel-head h3{color:var(--ink-strong);letter-spacing:-.025em;margin:4px 0 0;font-size:20px;font-weight:930;line-height:1.1}.communications-panel-head>strong{background:var(--accent-soft);min-width:40px;color:var(--accent-hover);text-align:center;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:950}.push-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.push-audience-card{border:1px solid var(--line);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border-radius:16px;gap:8px;padding:14px;display:grid}.push-audience-card div{align-items:center;gap:8px;min-width:0;display:flex}.push-audience-card div span{background:var(--audience-color,var(--accent));border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 5px #10b9811f}.push-audience-card strong{min-width:0;color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;overflow:hidden}.push-audience-card p{color:var(--muted);margin:0;font-size:12px;font-weight:700;line-height:1.35}.push-audience-card b{color:var(--ink-strong);letter-spacing:-.04em;font-size:28px;font-weight:950;line-height:1}.push-template-list{gap:10px;display:grid}.push-template-card{border:1px solid var(--line);background:var(--panel-muted);border-radius:16px;gap:8px;padding:14px;display:grid}.push-template-card div{justify-content:space-between;align-items:center;gap:10px;display:flex}.push-template-card strong{color:var(--ink-strong);font-size:14px;font-weight:920}.push-template-card span{color:var(--muted);background:#fff;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.push-template-card b{color:var(--accent-hover);font-size:13px;font-weight:900}.push-template-card p{color:var(--muted);margin:0;font-size:12px;font-weight:650;line-height:1.45}.push-campaign-list{gap:10px;display:grid}.push-campaign-row{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(180px,.35fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.push-campaign-main{gap:7px;min-width:0;display:grid}.push-campaign-main strong{color:var(--ink-strong);font-size:16px;font-weight:930;line-height:1.2}.push-campaign-main p{color:var(--muted);margin:0;font-size:12px;font-weight:700;line-height:1.35}.push-status{background:var(--accent-faint);width:max-content;color:var(--accent-hover);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:950;line-height:1}.push-status-draft,.push-status-ready{color:#2563eb;background:#eff6ff}.push-status-queued,.push-status-sending{background:var(--accent-soft);color:var(--accent-hover)}.push-status-sent,.push-status-opened{color:#059669;background:#ecfdf5}.push-status-failed,.push-status-partially-failed{color:#dc2626;background:#fef2f2}.push-status-cancelled{color:#6b7280;background:#f3f4f6}.push-progress-track{background:#eef2f7;border-radius:999px;height:8px;overflow:hidden}.push-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent) 0%, #22c55e 100%);height:100%;display:block}.push-campaign-counts{color:var(--muted);gap:7px;font-size:12px;font-weight:800;display:grid}.push-campaign-counts span{align-items:center;gap:6px;display:inline-flex}.push-campaign-counts svg{color:var(--accent-hover)}.push-delivery-list{gap:8px;display:grid}.push-delivery-row{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.push-delivery-row strong{color:var(--ink-strong);font-size:13px;font-weight:900;display:block}.push-delivery-row div span,.push-delivery-row small{color:var(--muted);font-size:11px;font-weight:800}.push-delivery-row p{color:var(--muted);margin:0;font-size:12px;font-weight:700;line-height:1.35}.push-modal-summary{border:1px solid var(--accent-line);background:var(--accent-faint);border-radius:16px;flex-wrap:wrap;gap:8px;padding:12px;display:flex}.push-modal-summary span{color:var(--accent-hover);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 9px;font-size:11px;font-weight:900;display:inline-flex}.analytics-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:20px;display:grid}.chart-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:20px;padding:20px;overflow:hidden}.chart-card-wide{grid-column:span 1}.heatmap-card{width:100%;padding:24px}.chart-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.chart-card-header span{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.chart-card-header h3{color:var(--ink-strong);letter-spacing:-.02em;margin:4px 0 0;font-size:18px;font-weight:900;line-height:1.15}.chart-card-header strong{background:var(--accent-soft);color:var(--accent-hover);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.area-chart{width:100%;height:auto;min-height:250px;display:block}.area-chart text{fill:#64748b;font-size:12px;font-weight:800}.area-chart .chart-value{fill:#064e3b;font-size:13px;font-weight:950}.donut-layout{place-items:center;gap:18px;display:grid}.donut-chart{border-radius:999px;width:190px;height:190px;padding:18px;box-shadow:inset 0 0 0 1px #0f172a0d,0 22px 45px #0f172a14}.donut-chart>div{background:#fff;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.donut-chart strong{color:var(--ink-strong);letter-spacing:-.05em;font-size:34px;font-weight:950;line-height:1}.donut-chart span{color:var(--muted);margin-top:4px;font-size:12px;font-weight:800}.legend-list{gap:8px;width:100%;display:grid}.legend-row{color:var(--muted);grid-template-columns:12px 1fr auto;align-items:center;gap:8px;font-size:13px;font-weight:750;display:grid}.legend-row i{border-radius:999px;width:10px;height:10px}.legend-row strong{color:var(--ink-strong)}.program-bars{gap:14px;display:grid}.program-bar-row{gap:7px;display:grid}.program-bar-row>div:first-child{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:800;display:flex}.program-bar-row strong{color:var(--ink-strong)}.program-track{background:#eef2f7;border-radius:999px;height:10px;overflow:hidden}.program-track i{border-radius:inherit;height:100%;display:block;box-shadow:0 8px 18px #10b98129}.composition-card{align-content:start;gap:16px;display:grid}.composition-hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.composition-hero>div{background:linear-gradient(135deg,#ecfdf5e6,#fffffff2);border:1px solid #065f4614;border-radius:16px;padding:14px}.composition-hero span{color:var(--accent-hover);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900;display:block}.composition-hero strong{color:var(--ink-strong);letter-spacing:-.05em;margin-top:8px;font-size:28px;font-weight:950;line-height:1;display:block}.composition-hero small{color:var(--muted);margin-top:6px;font-size:11px;font-weight:750;line-height:1.35;display:block}.composition-bars{gap:10px;display:grid}.composition-row{gap:6px;display:grid}.composition-row>div:first-child{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:850;display:flex}.composition-row strong{color:var(--ink-strong)}.composition-track{background:#eef2f7;border-radius:999px;height:9px;overflow:hidden}.composition-track i{border-radius:inherit;height:100%;display:block}.level-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.level-pills span{background:var(--accent-faint);color:var(--muted);border-radius:14px;gap:4px;padding:10px;font-size:10px;font-weight:850;display:grid}.level-pills strong{color:var(--accent-hover);font-size:16px;font-weight:950;line-height:1}.heatmap{grid-template-columns:84px repeat(24,minmax(44px,1fr));gap:6px;padding-bottom:4px;display:grid;overflow-x:auto}.heatmap-axis{min-width:84px}.heatmap-hour{color:var(--muted);text-align:center;font-size:10px;font-weight:850}.heatmap-row{display:contents}.heatmap-row strong{min-height:48px;color:var(--ink-strong);align-items:center;font-size:12px;font-weight:900;display:flex}.heatmap-cell{color:#064e3b;border:1px solid #065f4614;border-radius:10px;justify-content:center;align-items:center;min-width:44px;min-height:48px;font-size:11px;font-weight:950;display:flex;box-shadow:inset 0 1px #ffffff52}.skeleton-page{gap:20px;display:grid}.skeleton-line,.skeleton-card,.skeleton-chart-card,.skeleton-chart-wave{background:#e8eef2;position:relative;overflow:hidden}.skeleton-line:after,.skeleton-card:after,.skeleton-chart-card:after,.skeleton-chart-wave:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.25s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-header{gap:10px;max-width:660px;display:grid}.skeleton-line{border-radius:999px;height:12px;display:block}.skeleton-kicker{width:130px;height:24px}.skeleton-title{border-radius:14px;width:min(560px,72vw);height:42px}.skeleton-subtitle{width:min(460px,62vw);height:14px}.skeleton-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.skeleton-card{border-radius:var(--radius);align-content:start;gap:14px;min-height:138px;padding:20px;display:grid}.skeleton-card .skeleton-line{background:#ffffffa6}.skeleton-small{width:42%}.skeleton-number{border-radius:12px;width:60%;height:30px}.skeleton-medium{width:76%}.skeleton-dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:20px;display:grid}.skeleton-chart-card{background:#edf2f6;border-radius:20px;min-height:340px;padding:20px}.skeleton-chart-card-full{min-height:300px}.skeleton-chart-card .skeleton-line{background:#ffffffb3;width:42%}.skeleton-chart-wave{background:linear-gradient(135deg,#dce8e2 0%,#edf2f6 52%,#d1fae5 100%);border-radius:18px;height:220px;margin-top:28px;display:block}.skeleton-list{gap:12px;margin-top:24px;display:grid}.skeleton-list .skeleton-line{background:#ffffffad;width:100%;height:20px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes modal-backdrop-in{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}@keyframes modal-backdrop-out{0%{opacity:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}to{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}}@keyframes modal-panel-in{0%{opacity:0;filter:blur(8px);transform:translateY(18px)scale(.96)rotateX(5deg)}72%{opacity:1;filter:blur();transform:translateY(-2px)scale(1.006)rotateX(0)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)rotateX(0)}}@keyframes modal-panel-out{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(7px);transform:translateY(12px)scale(.975)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes date-popover-in{0%{opacity:0;filter:blur(5px);transform:translateY(-6px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes dropdown-in{0%{opacity:0;filter:blur(5px);transform:translateY(-5px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes search-panel-in{0%{opacity:0;filter:blur(8px);transform:translateY(-14px)scale(.965)}72%{opacity:1;filter:blur();transform:translateY(2px)scale(1.004)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes search-panel-out{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(7px);transform:translateY(-10px)scale(.975)}}@keyframes toast-in{0%{opacity:0;filter:blur(6px);transform:translateY(12px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.entity-modal-backdrop,.entity-modal-panel,.search-backdrop,.search-panel,.toast-card{filter:none!important;animation:none!important;transform:none!important}}@media (max-width:1280px){.topbar{padding-left:28px;padding-right:28px}.page{width:100%;padding:24px 28px 34px}.page-header{align-items:flex-start}.page-header p{max-width:620px}.clients-toolbar,.coaches-toolbar,.groups-toolbar{grid-template-columns:1fr}.clients-focus-card,.coaches-focus-card,.groups-focus-card{order:-1}.clients-search-panel,.coaches-search-panel,.groups-search-panel,.tournaments-search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-search-field,.coaches-search-panel .clients-search-field,.groups-search-panel .clients-search-field,.tournaments-search-panel .clients-search-field{grid-column:1/-1}.clients-search-panel .action-button,.clients-search-panel .ghost-button,.coaches-search-panel .action-button,.coaches-search-panel .ghost-button,.groups-search-panel .action-button,.groups-search-panel .ghost-button,.tournaments-search-panel .action-button,.tournaments-search-panel .ghost-button{width:100%;min-width:0}.kpi-row,.grid-cards,.skeleton-kpi-row,.client-detail-kpi-grid,.coach-detail-kpi-grid,.group-detail-kpi-grid,.tournaments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero,.analytics-grid,.communications-grid,.bookings-layout,.roadmap-grid,.skeleton-dashboard-grid,.client-detail-layout,.coach-detail-layout,.group-detail-layout,.group-detail-layout-wide,.tournament-detail-layout,.role-workbench-layout{grid-template-columns:1fr}.roadmap-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.push-campaign-row{grid-template-columns:1fr;align-items:stretch}.push-campaign-row form,.push-campaign-row .row-action-button{width:100%}.push-delivery-row{grid-template-columns:minmax(180px,.5fr) minmax(0,1fr) auto}.push-delivery-row small{grid-column:1/-1}.client-detail-side-column,.coach-detail-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.client-history-columns{grid-template-columns:1fr}.role-switcher-panel{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));max-height:320px}.role-toolbar{grid-template-columns:minmax(0,1fr)}.role-toolbar-actions{justify-content:stretch}.role-toolbar-actions .action-button,.role-toolbar-actions .ghost-button{flex:1;min-width:0}.table-wrap,.clients-table-wrap,.coaches-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.clients-table,.coaches-table{min-width:860px}.balance-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-actions-panel{position:static}.balance-pass-row{grid-template-columns:minmax(0,1fr) repeat(2,minmax(120px,.35fr))}.balance-pass-row .status,.balance-pass-row .row-action-link,.balance-pass-row .muted-cell{justify-self:start}.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-profile-hero{flex-direction:column}.group-profile-actions{width:100%}}@media (max-width:1120px){.crm-shell{grid-template-columns:224px 1fr}.crm-shell.is-collapsed{grid-template-columns:76px 1fr}.topbar{gap:12px;padding-left:22px;padding-right:22px}.page{padding-left:22px;padding-right:22px}.topbar-user,.global-search-trigger span{display:none}.global-search-trigger kbd{margin-left:0}.page-header h2{font-size:26px}.page-header-action{min-width:196px}}@media (max-width:960px){.crm-shell,.crm-shell.is-collapsed{display:block}.sidebar,.sidebar.sidebar-collapsed{z-index:70;border-bottom:0;border-right:1px solid #064e3bcc;align-items:stretch;gap:16px;width:min(320px,86vw);height:100vh;padding:16px 14px;transition:transform .24s cubic-bezier(.4,0,.2,1);position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-104%);box-shadow:24px 0 60px #0f172a29}.sidebar.mobile-open{transform:translate(0)}.sidebar-collapsed .brand-card{justify-content:space-between}.sidebar-collapsed .brand-copy{text-align:left}.sidebar-collapsed .brand-card strong,.sidebar-collapsed .brand-card small,.sidebar-collapsed .sidebar-search-button span,.sidebar-collapsed .sidebar-search-button kbd,.sidebar-collapsed .nav-item span{display:initial}.sidebar-collapsed .brand-card strong,.sidebar-collapsed .brand-card small{display:block}.sidebar-collapsed .sidebar-search-button,.sidebar-collapsed .nav-item{justify-content:flex-start;width:auto;height:auto;padding:10px 12px}.sidebar-collapsed .sidebar-search-button{padding:8px 10px}.sidebar-collapsed .nav-list{justify-items:stretch}.sidebar-collapsed .nav-item:after,.sidebar-collapsed .nav-item:before,.sidebar-toggle{display:none}.brand-card{border-bottom:1px solid var(--sidebar-border);border-right:0;padding:0 4px 14px}.nav-list{gap:4px;min-width:0;display:grid}.nav-item{white-space:normal}.mobile-menu-button{display:inline-flex}.mobile-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#0f172a5c;border:0;display:block;position:fixed;inset:0}.topbar{align-items:center;gap:10px;height:auto;min-height:60px;padding:12px 16px}.topbar-title{margin-right:0}.topbar h1{font-size:18px}.eyebrow{font-size:10px}.api-pill{display:none}.global-search-trigger{margin-left:auto}.global-search-trigger span{display:none}.global-search-trigger kbd{margin-left:0}.topbar-user,.logout-button span{display:none}.logout-button{min-width:40px;padding:0}.page-header{flex-direction:column;align-items:flex-start}.page{padding:22px 24px 30px}.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.role-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-toolbar,.clients-search-panel,.coaches-toolbar,.coaches-search-panel,.groups-toolbar,.groups-search-panel,.tournaments-search-panel{grid-template-columns:1fr}.clients-focus-card,.coaches-focus-card,.groups-focus-card{order:-1}.role-workbench-layout{grid-template-columns:1fr}.role-switcher-panel{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));max-height:300px}.role-toolbar{grid-template-columns:1fr}.role-toolbar-actions{justify-content:stretch}.role-toolbar-actions .action-button,.role-toolbar-actions .ghost-button{flex:1;min-width:0}.permission-module-grid,.kpi-row,.dashboard-grid,.analytics-grid,.dashboard-hero,.skeleton-kpi-row,.skeleton-dashboard-grid,.communications-hero,.bookings-layout{grid-template-columns:1fr}.booking-actions-panel{position:static}.booking-header-actions,.booking-back-button,.booking-date-toolbar,.booking-date-toolbar form{width:100%}.booking-date-toolbar .ghost-button,.booking-date-toolbar .action-button{flex:1;min-width:0}.booking-inline-form,.booking-reschedule-form{grid-template-columns:1fr}.booking-inline-form .ghost-button,.booking-inline-form .danger-action-button{width:100%}.roadmap-hero{grid-template-columns:1fr;align-items:stretch}.roadmap-score-card,.hero-score-card{min-height:150px}.custom-date-popover{width:100%}.client-profile-hero{flex-direction:column}.client-profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.client-detail-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-detail-layout{grid-template-columns:1fr}.client-detail-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-pass-row{grid-template-columns:1fr}.coach-profile-hero{flex-direction:column}.coach-profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.coach-detail-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-detail-layout{grid-template-columns:1fr}.coach-detail-side-column,.groups-grid,.tournaments-grid,.group-detail-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-detail-layout,.group-detail-layout-wide,.tournament-detail-layout{grid-template-columns:1fr}.tournament-entry-row{grid-template-columns:1fr;align-items:stretch}.tournament-entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-entry-form .row-action-button{grid-column:1/-1;width:100%}}@media (max-width:820px){.clients-search-panel,.coaches-search-panel,.groups-search-panel,.tournaments-search-panel,.kpi-row,.grid-cards,.skeleton-kpi-row,.client-detail-kpi-grid,.coach-detail-kpi-grid,.group-detail-kpi-grid,.client-detail-side-column,.coach-detail-side-column,.role-switcher-panel{grid-template-columns:1fr}.page-header-action,.page-header-action>*{width:100%}.client-status-tabs,.coach-role-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.client-status-tab,.coach-role-tab{justify-content:space-between;min-width:0}.page-header-actions,.page-header-actions .action-button,.page-header-actions .ghost-button{width:100%}.client-pipeline-columns{grid-template-columns:repeat(7,160px)}.groups-grid,.tournaments-grid,.group-member-row,.group-session-row{grid-template-columns:1fr}.group-session-row span,.group-session-row .status{grid-area:auto;width:max-content}.balance-product-grid,.client-balance-summary{grid-template-columns:1fr}.booking-create-form .action-button{width:100%}.booking-board{min-width:max(680px, var(--board-min-width))}.roadmap-card-list,.push-audience-grid,.push-delivery-row{grid-template-columns:1fr}.push-delivery-row .push-status{justify-self:start}}@media (max-width:640px){.login-shell{grid-template-columns:1fr;padding:12px}.login-hero{display:none}.login-card{border-radius:22px;align-content:center;min-height:calc(100vh - 24px);padding:22px}.login-card-head h1{font-size:30px}.apply-shell{grid-template-columns:1fr;padding:12px}.apply-hero{display:none}.apply-card{border-radius:22px;align-content:center;min-height:calc(100vh - 24px);padding:22px}.apply-card-head h1,.apply-card h1{font-size:30px}.sidebar{padding:14px 12px}.grid-cards,.form-grid,.role-summary-grid,.roles-grid{grid-template-columns:1fr}.role-workbench-head,.role-detail-hero,.role-copy-panel{flex-direction:column;align-items:stretch}.role-switcher-panel{grid-template-columns:1fr;max-height:260px;padding:12px}.role-detail-panel{padding:12px}.role-toolbar-actions{flex-direction:column}.role-toolbar-actions .action-button,.role-toolbar-actions .ghost-button{width:100%}.permission-module-head{flex-direction:column}.module-toggle-button{width:100%}.topbar{padding:10px 12px}.topbar h1{font-size:17px}.global-search-trigger{justify-content:center;min-width:40px;padding:8px}.global-search-trigger kbd{display:none}.page-header-action{width:100%}.page-header h2{font-size:22px}.page{padding:18px 12px 28px}.dashboard-hero{border-radius:18px;padding:22px}.dashboard-hero h2{font-size:30px}.communications-header-actions,.communications-header-actions .action-button,.communications-header-actions .ghost-button{width:100%}.communications-hero{border-radius:18px;padding:22px}.communications-hero h2{font-size:30px}.communications-panel{border-radius:16px;padding:16px}.push-modal-summary{display:grid}.roadmap-hero{border-radius:18px;min-height:0;padding:22px}.roadmap-hero h2{font-size:32px}.roadmap-hero p{font-size:14px}.roadmap-panel,.roadmap-entities-card{border-radius:16px;padding:16px}.roadmap-panel-head h3{font-size:19px}.roadmap-next-step{grid-template-columns:34px minmax(0,1fr)}.roadmap-next-step svg{display:none}.roadmap-next-step b{border-radius:11px;width:34px;height:34px}.hero-score-card strong{font-size:44px}.chart-card{border-radius:16px;padding:16px}.chart-card-header{flex-direction:column;align-items:flex-start}.donut-chart{width:160px;height:160px}.heatmap{grid-template-columns:74px repeat(24,54px)}.heatmap-axis,.heatmap-row strong{min-width:74px}.action-button,.ghost-button{width:100%}.client-status-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.client-status-tab{justify-content:space-between}.coach-role-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.coach-role-tab{justify-content:space-between}.clients-directory-head{flex-direction:column}.clients-directory-head strong{width:max-content}.client-person-cell{min-width:220px}.coaches-directory-head{flex-direction:column}.coaches-directory-head strong{width:max-content}.coach-person-cell{min-width:220px}.client-detail-topline{flex-direction:column-reverse;align-items:stretch}.client-detail-topline .ghost-button{width:100%}.client-profile-hero{border-radius:18px;padding:20px}.client-profile-main{flex-direction:column}.client-profile-avatar{border-radius:20px;width:64px;height:64px;font-size:18px}.client-profile-hero h2{font-size:34px}.client-profile-actions,.client-detail-kpi-grid,.client-detail-side-column,.client-field-grid{grid-template-columns:1fr}.client-info-card{border-radius:16px;padding:16px}.client-history-columns{grid-template-columns:1fr}.client-comment-list article>div{display:grid}.client-comment-list span{text-align:left}.coach-detail-topline{flex-direction:column-reverse;align-items:stretch}.coach-detail-topline .ghost-button{width:100%}.coach-profile-hero{border-radius:18px;padding:20px}.coach-profile-main{flex-direction:column}.coach-profile-avatar{border-radius:20px;width:64px;height:64px;font-size:18px}.coach-profile-hero h2{font-size:34px}.coach-profile-actions,.coach-detail-kpi-grid,.coach-detail-side-column,.coach-field-grid{grid-template-columns:1fr}.coach-info-card{border-radius:16px;padding:16px}.group-detail-topline{flex-direction:column-reverse;align-items:stretch}.group-detail-topline .ghost-button{width:100%}.group-profile-hero{border-radius:18px;padding:20px}.tournament-profile-hero{border-radius:18px;flex-direction:column;padding:20px}.group-profile-main{flex-direction:column}.group-profile-mark,.tournament-profile-mark{border-radius:20px;width:64px;height:64px}.group-profile-hero h2,.tournament-profile-hero h2{font-size:30px}.group-profile-actions,.group-detail-kpi-grid,.tournament-entry-form{grid-template-columns:1fr}.group-panel{border-radius:16px;padding:16px}.entity-modal{align-items:flex-start;padding:10px}.entity-modal-panel{border-radius:18px;max-height:calc(100vh - 20px)}.booking-create-modal{align-items:center}.booking-detail-modal{align-items:center!important;padding:10px!important}.booking-detail-body{padding:16px}.booking-detail-summary,.booking-detail-content,.booking-detail-info-grid,.booking-inline-form,.booking-reschedule-form{grid-template-columns:1fr}.booking-detail-head{align-items:flex-start}.booking-detail-head-actions{flex-direction:column-reverse;align-items:flex-end}.entity-modal-head{padding:18px 16px 14px}.entity-modal-head h3{font-size:22px}.entity-modal-form{padding:16px}.entity-modal-actions{flex-direction:column-reverse}.entity-modal-actions .ghost-button,.entity-modal-actions .action-button,.entity-modal-actions .danger-action-button{width:100%}.booking-slot-summary,.booking-modal-summary,.tariff-modal-summary,.facility-modal-summary,.client-modal-summary,.court-modal-summary,.service-modal-summary,.balance-modal-summary{grid-template-columns:1fr}.search-modal{align-items:flex-start;padding:10px}.search-panel{border-radius:16px;max-height:calc(100vh - 20px)}.search-input-row{gap:9px;padding:12px}.search-input-row input{font-size:14px}.search-result{flex-direction:column;align-items:flex-start;gap:8px}.search-footer{justify-content:center;gap:10px;font-size:11px}.toast-viewport{width:calc(100vw - 24px);bottom:12px;right:12px}.toast-card{border-radius:16px;grid-template-columns:34px 1fr 28px}table{min-width:760px}.table-wrap{overflow-x:auto}}@media (max-width:480px){.page{padding-left:10px;padding-right:10px}.topbar-title h1{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.client-status-tabs,.coach-role-tabs,.composition-hero,.level-pills{grid-template-columns:1fr}.clients-focus-card,.coaches-focus-card,.kpi-card,.chart-card,.clients-directory-card,.coaches-directory-card{border-radius:14px}}.attendance-page{gap:20px;display:grid}.attendance-hero{color:#fff;background:radial-gradient(circle at 84% 16%,#bbf7d080,#0000 30%),linear-gradient(135deg,#064e3b 0%,#047857 55%,#0f766e 100%);border-radius:24px;grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:22px;padding:28px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #065f4629}.attendance-hero:after{content:"";border:46px solid #ffffff14;border-radius:999px;width:290px;height:290px;position:absolute;bottom:-120px;right:-80px}.attendance-hero>*{z-index:1;position:relative}.attendance-hero h2{color:#fff;letter-spacing:-.045em;margin:10px 0 8px;font-size:clamp(30px,4vw,50px);font-weight:950;line-height:1}.attendance-hero p{color:#ffffffc7;max-width:760px;margin:0;font-size:15px;font-weight:650;line-height:1.55}.attendance-hero aside{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff21;border:1px solid #ffffff38;border-radius:22px;align-content:center;gap:8px;padding:20px;display:grid}.attendance-hero aside small{color:#bbf7d0;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:950}.attendance-hero aside strong{color:#fff;letter-spacing:-.06em;font-size:58px;font-weight:950;line-height:.9}.attendance-hero aside span{color:#ffffffc2;font-size:12px;font-weight:750;line-height:1.4}.attendance-layout-grid{grid-template-columns:minmax(320px,.42fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.attendance-session-panel,.attendance-detail-panel{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);background:#fffffff5;border-radius:22px;gap:16px;padding:20px;display:grid}.attendance-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.attendance-panel-head span{color:var(--accent-hover);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:950;display:inline-flex}.attendance-panel-head h3{color:var(--ink-strong);letter-spacing:-.03em;margin:4px 0 0;font-size:22px;font-weight:930;line-height:1.1}.attendance-panel-head p{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:650;line-height:1.45}.attendance-panel-head>strong{background:var(--accent-soft);min-width:40px;color:var(--accent-hover);text-align:center;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:950}.attendance-session-list{gap:10px;max-height:690px;padding-right:4px;display:grid;overflow:auto}.attendance-session-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:18px;gap:9px;padding:14px;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s,background .18s;display:grid}.attendance-session-card:hover{border-color:var(--accent-line);transform:translateY(-1px);box-shadow:0 14px 34px #0f172a14}.attendance-session-card.is-active{border-color:var(--accent);background:var(--accent-faint);box-shadow:0 0 0 3px #10b9811f}.attendance-session-card div{gap:3px;display:grid}.attendance-session-card strong{color:var(--ink-strong);font-size:15px;font-weight:920}.attendance-session-card span{color:var(--muted);font-size:12px;font-weight:700}.attendance-session-card b{color:var(--ink-strong);font-size:18px;font-weight:930}.attendance-session-card p{color:var(--muted);margin:0;font-size:12px;font-weight:750}.attendance-status{color:#64748b;letter-spacing:.08em;text-transform:uppercase;background:#f1f5f9;border-radius:999px;width:max-content;padding:7px 10px;font-size:11px;font-weight:950;line-height:1}.attendance-status-held{color:#047857;background:#dcfce7}.attendance-status-planned{color:#0369a1;background:#e0f2fe}.attendance-status-cancelled{color:#b91c1c;background:#fee2e2}.attendance-detail-head{align-items:center}.attendance-warning-card{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:800;line-height:1.4;display:flex}.attendance-mark-form{gap:14px;display:grid}.attendance-table-head{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;grid-template-columns:minmax(170px,1.2fr) minmax(170px,1fr) minmax(180px,.9fr) minmax(160px,.9fr) 120px;gap:10px;padding:0 4px;font-size:11px;font-weight:950;display:grid}.attendance-player-list{gap:10px;display:grid}.attendance-player-row{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:minmax(170px,1.2fr) minmax(170px,1fr) minmax(180px,.9fr) minmax(160px,.9fr) 120px;align-items:center;gap:10px;padding:12px;display:grid}.attendance-player-main,.attendance-pass-cell{gap:4px;min-width:0;display:grid}.attendance-player-main strong,.attendance-pass-cell strong{color:var(--ink-strong);font-size:14px;font-weight:920;line-height:1.15}.attendance-player-main span,.attendance-pass-cell span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.25;overflow:hidden}.attendance-player-row input{border:1px solid var(--line-strong);min-height:48px;color:var(--ink-strong);font:inherit;background:#fff;border-radius:14px;outline:none;padding:0 13px;font-size:13px;font-weight:750}.attendance-billing-chip{color:#64748b;text-transform:uppercase;background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 11px;font-size:11px;font-weight:950;display:inline-flex}.attendance-billing-charged{color:#047857;background:#dcfce7}.attendance-billing-ready{color:#0369a1;background:#e0f2fe}.attendance-billing-no-active-pass{color:#c2410c;background:#fff7ed}.attendance-billing-not-required{color:#64748b;background:#f8fafc}.attendance-form-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.attendance-form-footer>input{border:1px solid var(--line-strong);min-height:52px;color:var(--ink-strong);font:inherit;background:#fff;border-radius:16px;outline:none;padding:0 16px;font-weight:750}@media (max-width:1280px){.attendance-layout-grid{grid-template-columns:1fr}.attendance-session-list{max-height:430px}.attendance-table-head{display:none}.attendance-player-row{grid-template-columns:minmax(0,1fr) minmax(190px,.9fr)}.attendance-billing-chip{justify-content:flex-start;width:max-content}}@media (max-width:960px){.attendance-hero{grid-template-columns:1fr}}@media (max-width:640px){.attendance-hero{border-radius:18px;padding:22px}.attendance-hero h2{font-size:30px}.attendance-session-panel,.attendance-detail-panel{border-radius:16px;padding:16px}.attendance-player-row,.attendance-form-footer{grid-template-columns:1fr}.attendance-form-footer .action-button{width:100%}}.finance-page{gap:20px;display:grid}.finance-kpi-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.finance-filters{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fffffff5;border-radius:20px;grid-template-columns:auto repeat(5,minmax(128px,1fr)) auto;align-items:end;gap:12px;padding:14px;display:grid}.finance-filter-title{min-height:42px;color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:950;display:inline-flex}.finance-filters label{gap:6px;min-width:0;display:grid}.finance-filters label>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:950}.finance-filters input,.finance-filters select{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--ink-strong);font:inherit;background:#fff;border-radius:14px;outline:none;padding:0 12px;font-size:13px;font-weight:750}.finance-filters select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 16px) 19px,calc(100% - 11px) 19px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.finance-split-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr);align-items:start;gap:18px;display:grid}.finance-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.72fr);align-items:start;gap:18px;display:grid}.finance-panel{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);background:#fffffff7;border-radius:22px;gap:16px;padding:20px;display:grid}.finance-panel-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.finance-panel-head>div{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:3px 9px;display:grid}.finance-panel-head svg{color:var(--accent-hover)}.finance-panel-head span{color:var(--accent-hover);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:950}.finance-panel-head h3{color:var(--ink-strong);letter-spacing:-.03em;grid-column:2;margin:0;font-size:22px;font-weight:930;line-height:1.1}.finance-panel-head>strong{background:var(--accent-soft);min-width:40px;color:var(--accent-hover);text-align:center;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:950}.finance-payment-list,.finance-debt-list{gap:10px;display:grid}.finance-payment-row,.finance-debt-row{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:minmax(210px,1fr) minmax(110px,.36fr) minmax(110px,.36fr) minmax(140px,.42fr);align-items:center;gap:12px;padding:13px;display:grid}.finance-debt-row{grid-template-columns:minmax(210px,1fr) minmax(110px,.36fr) 110px minmax(140px,.42fr)}.finance-payment-row>div,.finance-debt-row>div{gap:4px;min-width:0;display:grid}.finance-payment-row strong,.finance-debt-row strong{color:var(--ink-strong);font-size:14px;font-weight:920;line-height:1.15}.finance-payment-row span,.finance-debt-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.3;overflow:hidden}.finance-payment-row small,.finance-debt-row small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:950}.finance-payment-row b,.finance-debt-row b{color:var(--ink-strong);font-size:13px;font-weight:900}.finance-money{white-space:nowrap;justify-self:end;color:var(--accent-hover)!important;font-size:16px!important}.finance-money.danger{color:#b91c1c!important}.finance-payout-table{gap:8px;display:grid}.finance-table-head,.finance-table-row{grid-template-columns:minmax(180px,1fr) 100px 90px 140px 130px;align-items:center;gap:10px;display:grid}.finance-table-head{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;padding:0 4px;font-size:11px;font-weight:950}.finance-table-row{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px}.finance-table-row strong{color:var(--ink-strong);font-size:14px;font-weight:920}.finance-table-row span{color:var(--muted);font-size:13px;font-weight:760}.finance-table-row b{color:var(--ink-strong);font-size:13px;font-weight:900}.finance-breakdown-grid{gap:12px;display:grid}.finance-breakdown-card{border:1px solid var(--line);background:#fff;border-radius:18px;gap:10px;padding:15px;display:grid}.finance-breakdown-card>div{color:var(--accent-hover);align-items:center;gap:8px;display:flex}.finance-breakdown-card strong{color:var(--ink-strong);font-size:14px;font-weight:930}.finance-breakdown-card p{grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:9px;margin:0;display:grid}.finance-breakdown-card p span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:760;overflow:hidden}.finance-breakdown-card p b{color:var(--ink-strong);white-space:nowrap;font-size:12px;font-weight:920}.finance-breakdown-card p small{background:var(--accent-faint);min-width:26px;color:var(--accent-hover);text-align:center;border-radius:999px;padding:4px 6px;font-size:11px;font-weight:920}.finance-breakdown-card em{color:var(--muted);font-size:13px;font-style:normal;font-weight:700}.finance-modal-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.finance-modal-summary span{border:1px solid var(--accent-line);background:var(--accent-faint);min-height:46px;color:var(--accent-hover);border-radius:16px;align-items:center;gap:8px;padding:0 13px;font-size:12px;font-weight:900;display:inline-flex}.workload-table{gap:8px;display:grid}.workload-table-head,.workload-table-row{grid-template-columns:minmax(190px,1fr) 90px 90px 90px 130px 130px;align-items:center;gap:10px;display:grid}.workload-table-head{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;padding:0 4px;font-size:11px;font-weight:950}.workload-table-row{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px}.workload-table-row>div{gap:4px;min-width:0;display:grid}.workload-table-row strong{color:var(--ink-strong);font-size:14px;font-weight:920;line-height:1.15}.workload-table-row span{color:var(--muted);font-size:12px;font-weight:760;line-height:1.25}.workload-table-row b{color:var(--ink-strong);font-size:13px;font-weight:920}.workload-status{white-space:nowrap;text-transform:uppercase;background:#f1f5f9;border-radius:999px;width:max-content;max-width:100%;padding:7px 10px;color:#64748b!important;font-size:11px!important;font-weight:950!important}.workload-status-on_plan{background:#dcfce7;color:#047857!important}.workload-status-watch{background:#fef3c7;color:#b45309!important}.workload-status-under{background:#fee2e2;color:#b91c1c!important}.workload-day-grid,.workload-money-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.workload-day-grid article,.workload-money-grid article{border:1px solid var(--line);background:#fff;border-radius:16px;gap:5px;padding:14px;display:grid}.workload-day-grid strong,.workload-money-grid strong{color:var(--ink-strong);letter-spacing:-.035em;font-size:24px;font-weight:950;line-height:1}.workload-day-grid span,.workload-money-grid span{color:var(--muted);font-size:12px;font-weight:800}.reports-page{gap:20px;display:grid}.reports-filters{grid-template-columns:auto repeat(2,minmax(160px,220px)) auto;justify-content:start}.reports-layout-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.reports-focus-panel{background:radial-gradient(circle at 100% 0,#10b98124,#0000 34%),#fff}.reports-money-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reports-money-stack article{border:1px solid var(--line);background:#fff;border-radius:17px;gap:7px;padding:15px;display:grid}.reports-money-stack span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.reports-money-stack strong{color:var(--accent-hover);letter-spacing:-.035em;font-size:24px;font-weight:950;line-height:1}.reports-money-stack strong.danger{color:#b91c1c}.utilization-list{gap:10px;display:grid}.utilization-row{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:minmax(170px,1fr) minmax(120px,.6fr) 46px;align-items:center;gap:12px;padding:12px;display:grid}.utilization-row>div:first-child{gap:4px;min-width:0;display:grid}.utilization-row strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:920;overflow:hidden}.utilization-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:760;overflow:hidden}.utilization-row b{color:var(--ink-strong);text-align:right;font-size:13px;font-weight:930}.utilization-track{background:#eef2f7;border-radius:999px;height:10px;overflow:hidden}.utilization-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;display:block}.reports-coach-summary{gap:10px;display:grid}.reports-coach-summary article{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:10px;padding:13px;display:flex}.reports-coach-summary svg{color:var(--accent-hover);flex:none}.reports-coach-summary div{gap:3px;min-width:0;display:grid}.reports-coach-summary strong{color:var(--ink-strong);font-size:18px;font-weight:930;line-height:1}.reports-coach-summary span{color:var(--muted);font-size:12px;font-weight:750}.status.open{color:#c2410c;background:#fff7ed}.status.partially_paid,.status.issued,.status.overdue{color:#b45309;background:#fef3c7}.status.closed,.status.paid{color:#047857;background:#dcfce7}.status.written_off{color:#64748b;background:#f1f5f9}@media (max-width:1280px){.finance-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-filter-title{grid-column:1/-1}.finance-split-grid,.finance-bottom-grid,.reports-layout-grid{grid-template-columns:1fr}.reports-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){.finance-filters{grid-template-columns:1fr 1fr}.finance-payment-row,.finance-debt-row{grid-template-columns:minmax(0,1fr) minmax(130px,.45fr)}.finance-money{justify-self:start}.finance-table-head,.workload-table-head{display:none}.finance-table-row{grid-template-columns:minmax(0,1fr) 90px}.workload-table-row{grid-template-columns:minmax(0,1fr) 90px 90px}.utilization-row{grid-template-columns:minmax(0,1fr) 80px}.utilization-track{order:3;grid-column:1/-1}}@media (max-width:640px){.finance-filters{border-radius:16px;grid-template-columns:1fr}.finance-panel{border-radius:16px;padding:16px}.finance-modal-summary,.finance-payment-row,.finance-debt-row,.finance-table-row,.workload-table-row,.utilization-row,.workload-day-grid,.workload-money-grid,.reports-money-stack{grid-template-columns:1fr}.utilization-row b{text-align:left}}
