: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;--control-height:42px;--control-radius:12px;--control-border:var(--line-strong);--control-focus-ring:0 0 0 3px #10b9811f;--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:10px;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-reorder-note{color:#ffffff73;justify-content:space-between;align-items:center;gap:8px;min-height:28px;padding:0 8px;font-size:10px;font-weight:750;line-height:1.2;display:flex}.nav-reorder-note>span{align-items:center;gap:4px;display:inline-flex}.sidebar-reset-nav-order{border-top:1px solid var(--sidebar-border);padding:12px 4px 0}.sidebar-reset-nav-order button{border:1px solid var(--sidebar-border);width:100%;min-height:34px;color:var(--sidebar-muted);cursor:pointer;font:inherit;transition:border-color var(--transition), background var(--transition), color var(--transition);background:#ffffff0f;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:7px 9px;font-size:11px;font-weight:850;display:inline-flex}.sidebar-reset-nav-order button:hover{color:#fff;background:#ffffff1f;border-color:#ffffff52}.nav-group{gap:4px;min-width:0;display:grid}.nav-group.is-dragging,.nav-item.is-dragging{opacity:.42}.nav-group-trigger{color:#ffffff85;cursor:pointer;text-align:left;letter-spacing:.12em;text-transform:uppercase;width:100%;min-height:30px;transition:background var(--transition), color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:10px;font-weight:950;line-height:1;display:flex}.nav-group-label{align-items:center;gap:3px;display:inline-flex}.nav-group-drag-handle{color:#ffffff52;cursor:grab;opacity:0;transition:opacity var(--transition), color var(--transition)}.nav-group-trigger:hover .nav-group-drag-handle,.nav-group-trigger:focus-visible .nav-group-drag-handle{opacity:1}.nav-group-trigger:active .nav-group-drag-handle{cursor:grabbing;color:#fffc}.nav-group-trigger:hover{color:#ffffffdb;background:#ffffff14;border-color:#ffffff1f}.nav-group-trigger:focus-visible{outline-offset:2px;outline:2px solid #ffffff94}.nav-group-chevron{flex:none;transition:transform .24s cubic-bezier(.4,0,.2,1)}.nav-group.is-open .nav-group-chevron{transform:rotate(180deg)}.nav-group-items{opacity:0;pointer-events:none;gap:4px;min-width:0;max-height:0;transition:max-height .28s cubic-bezier(.4,0,.2,1),opacity .18s,transform .22s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden;transform:translateY(-4px)}.nav-group.is-open .nav-group-items{opacity:1;pointer-events:auto;max-height:420px;transform:translateY(0)}.nav-item{color:var(--sidebar-muted);transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition), opacity 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-drag-handle{color:#ffffff59;cursor:grab;opacity:0;transition:opacity var(--transition), color var(--transition);margin-right:-6px}.nav-item:hover .nav-drag-handle,.nav-item:focus-visible .nav-drag-handle{opacity:1}.nav-item:active .nav-drag-handle{cursor:grabbing;color:#fffc}.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,.sidebar-collapsed .nav-drag-handle,.sidebar-collapsed .nav-group-trigger{display:none}.sidebar-collapsed .sidebar-reset-nav-order{width:100%;padding-left:0;padding-right:0}.sidebar-collapsed .sidebar-reset-nav-order button{width:44px;height:40px;min-height:40px;padding:0}.sidebar-collapsed .sidebar-reset-nav-order 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;gap:6px;width:100%}.sidebar-collapsed .nav-group,.sidebar-collapsed .nav-group-items{justify-items:center;width:100%}.sidebar-collapsed .nav-group-items{opacity:1;pointer-events:auto;max-height:none;transform:none}.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;max-width:100%;overflow-x:clip}.standalone-workspace{background:var(--bg);max-width:100%;min-height:100vh;overflow-x:clip}.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}.global-create{z-index:12;flex:none;position:relative}.global-create-trigger{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;min-height:38px;box-shadow:none;transition:background var(--transition), border-color var(--transition), transform var(--transition);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;font-size:13px;font-weight:850;display:inline-flex}.global-create-trigger:hover,.global-create.is-open .global-create-trigger{border-color:var(--accent-hover);background:var(--accent-hover);transform:translateY(-1px)}.global-create-trigger svg:last-child{transition:transform var(--transition)}.global-create.is-open .global-create-trigger svg:last-child{transform:rotate(180deg)}.global-create-panel{border:1px solid var(--line);background:#fff;border-radius:14px;gap:10px;width:min(450px,100vw - 24px);padding:12px;animation:.16s both global-create-in;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 40px #0f172a29}.global-create-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.global-create-action{border:1px solid var(--line);min-width:0;min-height:48px;color:var(--ink);transition:border-color var(--transition), background var(--transition), color var(--transition);background:#fff;border-radius:10px;grid-template-columns:28px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:8px 9px;display:grid}.global-create-action:hover,.global-create-action:focus-visible{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);outline:none}.global-create-action i{width:28px;height:28px;color:var(--accent-hover);background:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.global-create-action:hover i,.global-create-action:focus-visible i{background:#d1fae5}.global-create-action b{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;line-height:1.15;overflow:hidden}.global-create-action>svg{color:var(--muted)}@keyframes global-create-in{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.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:100vw;padding:28px 40px 36px;overflow-x:clip}.page-header{flex-wrap:wrap;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;max-width:100%;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}.settings-shell{gap:16px;display:grid}.settings-shell .page-header{margin-bottom:0}.settings-tabs{border:1px solid var(--line);scrollbar-width:thin;width:100%;min-width:0;box-shadow:var(--shadow-sm);background:#ffffffe0;border-radius:14px;align-items:center;gap:6px;padding:6px;display:flex;overflow-x:auto}.settings-tab{min-height:38px;color:var(--muted);white-space:nowrap;letter-spacing:0;transition:color var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);border:1px solid #0000;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:850;display:inline-flex}.settings-tab:hover,.settings-tab:focus-visible{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);outline:none}.settings-tab.is-active{color:var(--accent-hover);background:#ecfdf5;border-color:#10b98157;box-shadow:inset 0 0 0 1px #10b9811a}.settings-shell-content{gap:18px;min-width:0;display:grid}.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);min-width:0;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}.release-notes-page{gap:18px;display:grid}.release-kpi-row{margin:0}.release-notes-list{gap:16px;display:grid}.release-note-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;gap:18px;padding:22px;display:grid}.release-note-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.release-note-head>span{border:1px solid var(--accent-line);background:var(--accent-faint);min-height:34px;color:var(--accent-hover);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:950;line-height:1;display:inline-flex}.release-note-head h2{color:var(--ink-strong);letter-spacing:-.035em;margin:0;font-size:24px;font-weight:950;line-height:1.12}.release-note-head p{max-width:860px;color:var(--muted);margin:7px 0 0;font-size:13px;font-weight:650;line-height:1.5}.release-note-head time{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:850}.release-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.release-section{border:1px solid var(--line);background:#f8fafc;border-radius:16px;padding:16px}.release-section h3{color:var(--ink-strong);align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:950;line-height:1.2;display:flex}.release-section h3 svg{color:var(--accent-hover);flex:none}.release-section ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.release-section li{color:var(--muted);grid-template-columns:17px minmax(0,1fr);align-items:start;gap:8px;font-size:12px;font-weight:700;line-height:1.45;display:grid}.release-section li svg{color:var(--accent);flex:none;margin-top:1px}.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);max-width:100%;box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch;overflow:auto 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);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{width:100%;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;outline:0;padding:0 12px;font-size:13px;font-weight:760}.clients-search-field input:hover{border-color:var(--accent-line);background:#fbfefc}.clients-search-field input:focus{border-color:var(--accent);box-shadow:var(--control-focus-ring);background:#fff}.custom-select{min-width:0;position:relative}.custom-select-trigger{width:100%;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;outline:0;justify-content:space-between;align-items:center;gap:8px;padding:0 11px 0 12px;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:#fbfefc}.custom-select.is-open .custom-select-trigger{border-color:var(--control-border);box-shadow:none;background:#fff}.custom-select-trigger:focus-visible{border-color:var(--accent);box-shadow:var(--control-focus-ring);background:#fff}.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:14px;width:max(100%,260px);max-width:min(360px,100vw - 32px);max-height:260px;padding:6px;position:absolute;top:calc(100% + 7px);left:0;overflow-y:auto;box-shadow:0 16px 40px #0f172a24}.custom-select-search{z-index:2;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--muted);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;align-items:center;margin:0 0 6px;padding:0 10px;display:flex;position:sticky;top:0;box-shadow:0 8px 16px #0f172a0f}.custom-select-search:focus-within{border-color:var(--accent);box-shadow:var(--control-focus-ring);background:#fff}.custom-select-search input,.field .custom-select-search input{appearance:none;width:100%;min-width:0;min-height:34px;box-shadow:none;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:13px;font-weight:760}.custom-select-search input:hover,.custom-select-search input:focus,.field .custom-select-search input:hover,.field .custom-select-search input:focus{box-shadow:none;background:0 0;border:0}.custom-select-search input::-webkit-search-decoration{display:none}.custom-select-search input::-webkit-search-cancel-button{display:none}.custom-select-search input::-webkit-search-results-button{display:none}.custom-select-search input::-webkit-search-results-decoration{display:none}.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{width:100%;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink);text-align:left;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;outline:0;justify-content:space-between;align-items:center;gap:8px;padding:0 6px 0 12px;font-size:13px;font-weight:800;display:flex}.custom-date-trigger:hover{border-color:var(--accent-line);background:#fbfefc}.custom-date-trigger:focus-within,.custom-date.is-open .custom-date-trigger{border-color:var(--accent);box-shadow:var(--control-focus-ring);background:#fff}.custom-date-trigger.is-invalid{border-color:#fda4af;box-shadow:0 0 0 3px #f43f5e1a}.custom-date-trigger.is-empty{color:var(--muted);font-weight:750}.custom-date-trigger svg{color:var(--muted);flex:none}.custom-date-input{width:100%;min-width:0;min-height:calc(var(--control-height) - 2px);color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:13px;font-weight:800}.custom-date-input::placeholder{color:var(--muted);opacity:1;font-weight:750}.custom-date-calendar-button{width:30px;height:30px;color:var(--muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.custom-date-calendar-button:hover{background:var(--accent-faint);color:var(--accent-hover)}.custom-date-calendar-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.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-month-dropdown,.custom-year-dropdown{min-width:0;position:relative}.custom-month-trigger,.custom-year-trigger{border:1px solid var(--line);width:100%;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;justify-content:space-between;align-items:center;gap:4px;padding:0 8px 0 10px;font-size:12px;font-weight:900;display:inline-flex}.custom-month-trigger:hover,.custom-year-trigger:hover{border-color:var(--accent-line);background:var(--accent-faint)}.custom-month-trigger:focus-visible,.custom-year-trigger:focus-visible,.custom-month-trigger[aria-expanded=true],.custom-year-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px #10b9811f}.custom-month-trigger span,.custom-year-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.custom-month-trigger svg,.custom-year-trigger svg{color:var(--muted);transition:transform var(--transition), color var(--transition);flex:none}.custom-month-trigger[aria-expanded=true] svg,.custom-year-trigger[aria-expanded=true] svg{color:var(--accent-hover);transform:rotate(180deg)}.custom-month-list,.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;max-height:210px;padding:5px;animation:.16s cubic-bezier(.16,1,.3,1) both dropdown-in;display:grid;position:absolute;top:calc(100% + 6px);overflow:auto;box-shadow:0 16px 36px #0f172a29}.custom-month-list{width:154px;left:0}.custom-year-list{width:108px;right:0}.custom-month-list::-webkit-scrollbar{width:5px}.custom-year-list::-webkit-scrollbar{width:5px}.custom-month-list::-webkit-scrollbar-track{background:0 0}.custom-year-list::-webkit-scrollbar-track{background:0 0}.custom-month-list::-webkit-scrollbar-thumb{background:#10b98161;border-radius:999px}.custom-year-list::-webkit-scrollbar-thumb{background:#10b98161;border-radius:999px}.custom-month-option,.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-month-option:hover,.custom-year-option:hover{background:var(--accent-faint);color:var(--accent-hover)}.custom-month-option.is-selected,.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)}.custom-time{min-width:0;position:relative}.custom-time-trigger{width:100%;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink);text-align:left;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;outline:0;justify-content:space-between;align-items:center;gap:8px;padding:0 6px 0 12px;font-size:13px;font-weight:800;display:flex}.custom-time-trigger:hover{border-color:var(--accent-line);background:#fbfefc}.custom-time-trigger:focus-within,.custom-time.is-open .custom-time-trigger{border-color:var(--accent);box-shadow:var(--control-focus-ring);background:#fff}.custom-time-trigger.is-empty{color:var(--muted);font-weight:750}.custom-time-trigger input{width:100%;min-width:0;min-height:calc(var(--control-height) - 2px);color:var(--ink);font:inherit;letter-spacing:.01em;background:0 0;border:0;outline:0;padding:0;font-size:13px;font-weight:850}.custom-time-trigger input::placeholder{color:var(--muted);letter-spacing:0;font-weight:750}.custom-time-button{width:30px;height:30px;color:var(--muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.custom-time-button:hover,.custom-time-button:focus-visible{background:var(--accent-faint);color:var(--accent-hover);outline:0}.custom-time.is-open .custom-time-button{color:var(--accent-hover)}.custom-time-popover{z-index:95;border:1px solid var(--line);background:#fff;border-radius:18px;gap:10px;width:min(248px,100vw - 32px);padding:10px;animation:.16s cubic-bezier(.16,1,.3,1) both dropdown-in;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 22px 60px #0f172a2e}.custom-time-preview{border:1px solid var(--accent-line);background:linear-gradient(180deg, #fff 0%, var(--accent-faint) 100%);min-height:38px;color:var(--accent-hover);border-radius:13px;justify-content:space-between;align-items:center;gap:8px;padding:0 11px;display:flex}.custom-time-preview svg{flex:none}.custom-time-preview strong{color:inherit;letter-spacing:.02em;font-size:17px;font-weight:950;line-height:1}.custom-time-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.custom-time-column{gap:5px;min-width:0;display:grid}.custom-time-column>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:950;line-height:1}.custom-time-list{border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#10b9816b transparent;background:#f8fafc;border-radius:13px;gap:3px;max-height:188px;padding:5px;display:grid;overflow-y:auto}.custom-time-list::-webkit-scrollbar{width:5px}.custom-time-list::-webkit-scrollbar-track{background:0 0}.custom-time-list::-webkit-scrollbar-thumb{background:#10b98161;border-radius:999px}.custom-time-option{width:100%;min-height:32px;color:var(--ink-strong);cursor:pointer;transition:background var(--transition), color var(--transition), transform var(--transition);background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:850;line-height:1;display:flex}.custom-time-option:hover{background:var(--accent-faint);color:var(--accent-hover);transform:translateY(-1px)}.custom-time-option.is-selected{background:var(--accent);color:#fff;box-shadow:0 8px 18px #10b9812e}.custom-time-option.is-selected:hover{background:var(--accent-hover);color:#fff}.custom-time-option svg{flex:none}.custom-time-clear{border:0;border-top:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;transition:color var(--transition);background:0 0;justify-content:center;align-items:center;gap:6px;padding:10px 4px 0;font-size:12px;font-weight:850;display:inline-flex}.custom-time-clear:hover{color:var(--accent-hover)}.clients-search-panel .action-button,.clients-search-panel .ghost-button{border-radius:9px;width:100%;min-width:0;height:40px;font-size:13px}.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}.client-pipeline-applications{border-top:1px solid var(--line);background:#fff;gap:10px;padding:14px;display:grid}.client-pipeline-applications-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.client-pipeline-applications-head div{min-width:0}.client-pipeline-applications-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.client-pipeline-applications-head h4{color:var(--ink-strong);margin:3px 0 0;font-size:16px;font-weight:950;line-height:1.15}.client-pipeline-applications-head strong{background:var(--accent-faint);min-width:34px;color:var(--accent-hover);text-align:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950}.client-pipeline-application-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.client-pipeline-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:8px 10px;min-width:0;padding:11px;display:grid}.client-pipeline-application-list article>div{gap:4px;min-width:0;display:grid}.client-pipeline-application-list strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;overflow:hidden}.client-pipeline-application-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.client-pipeline-application-list small{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:850}.client-pipeline-application-list a{color:var(--accent-hover);font-size:12px;font-weight:900}.client-pipeline-application-list .tiny-text-button{grid-column:1/-1;justify-self:start}.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,.clients-directory-tools>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-directory-tools{z-index:3;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex;position:relative}.client-status-filter{width:238px;min-width:0;position:relative}.client-status-filter-trigger{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition);background:#fff;border-radius:12px;outline:0;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:13px;font-weight:850;display:inline-flex}.client-status-filter-trigger:hover,.client-status-filter.is-open .client-status-filter-trigger{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.client-status-filter-trigger:focus-visible{border-color:var(--accent);box-shadow:var(--control-focus-ring)}.client-status-filter-trigger svg{color:var(--accent-hover);transition:transform var(--transition);flex:none}.client-status-filter.is-open .client-status-filter-trigger svg:last-child{transform:rotate(180deg)}.client-status-filter-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.client-status-filter-trigger strong{min-width:28px;color:var(--accent-hover);text-align:center;background:#10b9811f;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:950;line-height:1}.client-status-filter-trigger.is-active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 10px 22px #10b98133}.client-status-filter.is-open .client-status-filter-trigger.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.client-status-filter-trigger.is-active span,.client-status-filter.is-open .client-status-filter-trigger.is-active span,.client-status-filter-trigger.is-active svg,.client-status-filter.is-open .client-status-filter-trigger.is-active svg,.client-status-filter-trigger.is-active strong{color:#fff}.client-status-filter-trigger.is-active strong,.client-status-filter.is-open .client-status-filter-trigger.is-active strong{color:#fff;background:#fff3}.client-status-filter-menu{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border:1px solid #e2e8f0f5;border-radius:18px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px;width:min(292px,100vw - 32px);max-height:min(356px,100vh - 220px);padding:8px;animation:.16s cubic-bezier(.16,1,.3,1) both dropdown-in;display:grid;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 18px 44px #0f172a24}.client-status-filter-search{border:1px solid var(--control-border);min-height:38px;color:var(--muted);background:#fff;border-radius:11px;align-items:center;gap:7px;padding:0 10px;display:flex}.client-status-filter-search:focus-within{border-color:var(--accent);box-shadow:var(--control-focus-ring);color:var(--accent-hover)}.client-status-filter-search input{width:100%;min-width:0;min-height:34px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:12px;font-weight:760}.client-status-filter-search input:focus,.client-status-filter-search input:hover{box-shadow:none;background:0 0;border:0}.client-status-filter-search input::-webkit-search-decoration{display:none}.client-status-filter-search input::-webkit-search-cancel-button{display:none}.client-status-filter-empty{color:var(--muted);text-align:center;padding:13px 9px;font-size:12px;font-weight:760}.client-status-filter-list{scrollbar-width:thin;scrollbar-color:#10b9816b transparent;gap:4px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.client-status-filter-list::-webkit-scrollbar{width:5px}.client-status-filter-list::-webkit-scrollbar-track{background:0 0}.client-status-filter-list::-webkit-scrollbar-thumb{background:#10b98161;border-radius:999px}.client-status-filter-option{width:100%;min-height:40px;color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition);background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:9px;padding:7px 9px;display:grid}.client-status-filter-option:hover,.client-status-filter-option.active{color:var(--accent-hover);background:#ecfdf5;border-color:#10b9811f}.client-status-filter-option:hover{transform:translateY(-1px)}.client-status-filter-option.is-archive{border-top:1px solid var(--line);color:#9a3412;border-radius:0 0 11px 11px;margin-top:2px}.client-status-filter-option.is-archive:hover,.client-status-filter-option.is-archive.active{color:#c2410c;background:#fff7ed}.client-status-filter-option span{gap:2px;min-width:0;display:grid}.client-status-filter-option strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;line-height:1.15;overflow:hidden}.client-status-filter-option b{min-width:30px;color:var(--muted);text-align:center;background:#f1f5f9;border-radius:999px;padding:5px 7px;font-size:11px;font-weight:950;line-height:1}.client-status-filter-option.active b{color:var(--accent-hover);background:#10b98121}.client-status-filter-option svg{color:var(--accent)}.client-status-filter-actions{background:#fff;border-top:1px solid #e2e8f0d1;grid-template-columns:1fr 1fr;gap:7px;padding-top:7px;display:grid}.client-status-filter-actions .ghost-button,.client-status-filter-actions .action-button{border-radius:10px;width:100%;min-width:0;height:36px;font-size:12px}.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-selection-toolbar .client-selection-danger{color:#b91c1c;border-color:#fecaca;align-items:center;gap:6px;display:inline-flex}.client-selection-toolbar .client-selection-danger:hover{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.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;justify-content:flex-end;align-items:center;gap:7px;width:fit-content;min-width:0;max-width:100%;display:inline-flex}.row-actions-group-wide{min-width:0}.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.opens-upward .row-action-menu-panel{transform-origin:100% 100%;top:auto;bottom:calc(100% + 7px)}.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);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) 118px 112px;align-self:start;align-items:end;gap:10px;padding:12px;display:grid}.coaches-search-panel .clients-filter-field .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-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,.coaches-directory-tools>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-directory-tools{z-index:3;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex;position:relative}.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(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-kpi-row{margin:0}.groups-directory-card{border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-sm);background:#fff;overflow:visible}.groups-directory-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.groups-directory-head span{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.groups-directory-head h3{color:var(--ink-strong);letter-spacing:-.025em;margin:4px 0 0;font-size:20px;font-weight:900;line-height:1.15}.groups-directory-tools{z-index:3;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex;position:relative}.groups-directory-tools>strong{background:var(--accent-faint);color:var(--accent-hover);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.group-program-filter-option strong:before{content:"";background:var(--program-color,var(--accent));vertical-align:1px;border-radius:999px;width:8px;height:8px;margin-right:8px;display:inline-block}.groups-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.groups-directory-card .groups-grid{padding:14px}.groups-directory-card>.empty-state{margin:14px}.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-panel-action{min-width:0;height:36px;margin-left:auto;padding:0 12px;font-size:12px}.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 minmax(0,1fr) 32px;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-slot-delete-form{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:0 24px 24px;display:flex}.group-court-check-grid{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:178px;padding:7px;display:grid;overflow:auto}.group-court-check{border:1px solid var(--line);background:var(--panel-muted);cursor:pointer;min-width:0;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);border-radius:12px;align-items:center;gap:8px;padding:9px;display:flex}.group-court-check:hover{border-color:var(--accent-line);background:var(--accent-faint)}.group-court-check input{width:16px;height:16px;accent-color:var(--accent);flex:none}.group-court-check:has(input:checked){border-color:var(--accent);background:var(--accent-faint);box-shadow:inset 0 0 0 1px #10b98129}.group-court-check span{min-width:0;display:block}.group-court-check strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong);font-size:12px;font-weight:950;line-height:1.1;display:block;overflow:hidden}.group-court-check small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:3px;font-size:10px;font-weight:750;line-height:1.1;display:block;overflow:hidden}.group-court-check-empty{border:1px dashed var(--line-strong);color:var(--muted);background:var(--panel-muted);border-radius:12px;grid-column:1/-1;padding:12px;font-size:12px;font-weight:800}.group-coaches-modal-panel{width:min(700px,100%)}.group-coaches-modal-panel .entity-modal-form{gap:12px}.coach-check-dropdown{min-width:0;position:relative}.coach-check-trigger{width:100%;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;display:flex}.coach-check-trigger:hover{border-color:var(--accent-line);background:#fbfefc}.coach-check-trigger:focus-visible,.coach-check-dropdown.is-open .coach-check-trigger{border-color:var(--accent);box-shadow:var(--control-focus-ring);outline:0}.coach-check-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-strong);font-size:13px;font-weight:850;overflow:hidden}.coach-check-trigger svg{color:var(--muted);transition:transform var(--transition), color var(--transition);flex:none}.coach-check-dropdown.is-open .coach-check-trigger svg{color:var(--accent-hover);transform:rotate(180deg)}.coach-check-menu{z-index:95;border:1px solid var(--line);background:#fff;border-radius:14px;gap:6px;max-height:236px;padding:7px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 18px 48px #0f172a24}.coach-check-dropdown.is-inline .coach-check-menu{max-height:clamp(220px,100vh - 360px,360px);margin-top:8px;position:static;overflow:auto;box-shadow:inset 0 1px #0f172a05}.coach-check-search{z-index:2;border:1px solid var(--control-border);min-height:38px;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;border-radius:11px;align-items:center;gap:8px;padding:0 10px;display:flex;position:sticky;top:0;box-shadow:0 8px 18px #0f172a0f}.coach-check-search:focus-within{border-color:var(--accent);box-shadow:var(--control-focus-ring)}.coach-check-search svg{color:var(--accent-hover);flex:none}.coach-check-search input{width:100%;min-height:34px;color:var(--ink-strong);background:0 0;border:0;outline:0;padding:0;font-size:12px;font-weight:850}.coach-check-search input::placeholder{color:var(--muted);font-weight:750}.coach-check-search input::-webkit-search-cancel-button{display:none}.coach-check-option{background:var(--panel-muted);cursor:pointer;min-width:0;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);border:1px solid #0000;border-radius:11px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:9px;padding:9px;display:grid}.coach-check-option:hover{border-color:var(--accent-line);background:var(--accent-faint)}.coach-check-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.coach-check-box{border:1px solid var(--line-strong);color:#fff;width:18px;height:18px;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);background:#fff;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.coach-check-option:has(input:checked){border-color:var(--accent);background:var(--accent-faint);box-shadow:inset 0 0 0 1px #10b98129}.coach-check-option:has(input:checked) .coach-check-box{border-color:var(--accent);background:var(--accent);box-shadow:0 6px 14px #10b9812e}.coach-check-option>span:last-child{min-width:0;display:block}.coach-check-option strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong);font-size:12px;font-weight:950;line-height:1.1;display:block;overflow:hidden}.coach-check-option small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:3px;font-size:10px;font-weight:750;line-height:1.1;display:block;overflow:hidden}.coach-check-empty{border:1px dashed var(--line-strong);color:var(--muted);background:var(--panel-muted);border-radius:12px;padding:12px;font-size:12px;font-weight:800}.group-person-row strong,.group-session-row strong{color:var(--ink-strong);font-size:13px;font-weight:900}.group-empty-note{border:1px dashed var(--line-strong);color:var(--muted);background:var(--panel-muted);border-radius:12px;padding:12px;font-size:12px;font-weight:800}.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-weekday-check-grid{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:7px;display:grid}.group-weekday-check{border:1px solid var(--line);background:var(--panel-muted);cursor:pointer;min-width:0;min-height:58px;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);border-radius:12px;align-content:center;justify-items:center;gap:3px;padding:8px;display:grid;position:relative}.group-weekday-check:hover{border-color:var(--accent-line);background:var(--accent-faint);transform:translateY(-1px)}.group-weekday-check input{opacity:0;pointer-events:none;position:absolute}.group-weekday-check span{width:28px;height:28px;color:var(--accent-hover);background:#fff;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:950;display:inline-flex;box-shadow:inset 0 0 0 1px #065f4614}.group-weekday-check strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--muted);font-size:10px;font-weight:850;overflow:hidden}.group-weekday-check:has(input:checked){border-color:var(--accent);background:var(--accent-faint);box-shadow:inset 0 0 0 1px #10b98129,0 10px 24px #10b98114}.group-weekday-check:has(input:checked) span{background:var(--accent);color:#fff;box-shadow:0 8px 18px #10b98133}.group-weekday-check:has(input:checked) strong{color:var(--accent-hover)}.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 auto;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}.group-member-remove-button{white-space:nowrap;justify-self:end;min-height:32px;padding-inline:10px}.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:10px;min-height:36px;font-size:12px}.tournament-entry-form input{border:1px solid var(--control-border);width:100%;color:var(--ink-strong);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;outline:0;padding:0 10px;font-weight:800}.tournament-entry-form input:hover{border-color:var(--accent-line);background:#fbfefc}.tournament-entry-form input:focus{border-color:var(--accent);box-shadow:var(--control-focus-ring);background:#fff}.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:12px;display:grid}.bookings-page .page-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.bookings-page .page-header-action{justify-content:flex-end;min-width:0}.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-status-strip{border:1px solid var(--line);scrollbar-width:none;background:#fff;border-radius:9px;align-items:stretch;min-width:0;min-height:40px;display:flex;overflow-x:auto}.bookings-status-strip::-webkit-scrollbar{display:none}.bookings-status-strip span{border-right:1px solid var(--line);min-width:118px;color:var(--muted);white-space:nowrap;align-items:center;gap:5px;padding:0 13px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.bookings-status-strip span:last-child{border-right:0}.bookings-status-strip strong{color:var(--ink-strong);font-size:15px;font-weight:950}.booking-header-actions{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.booking-header-actions .ghost-button,.booking-header-actions .action-button{min-width:0;height:42px;box-shadow:var(--shadow-sm);border-radius:12px;padding:0 14px;font-size:13px;font-weight:900}.booking-header-actions .ghost-button{border-color:var(--line);color:#334155;background:#fff}.booking-header-actions .ghost-button svg{color:var(--accent-hover)}.booking-header-actions .ghost-button:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.booking-header-actions .action-button{background:var(--accent);color:#fff;box-shadow:0 9px 18px #10b9812e}.booking-header-actions .action-button:hover{background:var(--accent-hover);box-shadow:0 12px 24px #10b98138}.booking-create-group-button{min-width:154px;margin-left:auto}.booking-back-button{min-width:132px;transition:border-color var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);font-weight:900}.booking-back-button:focus-visible{outline-offset:3px;outline:3px solid #10b9812e}.booking-date-toolbar{border:1px solid var(--line);background:#fff;border-radius:9px;flex-wrap:nowrap;align-items:center;gap:0;min-width:0;padding:3px;display:flex}.booking-date-toolbar form{border:0;border-left:1px solid var(--line);min-height:34px;box-shadow:none;background:#fff;border-radius:0;align-items:center;gap:4px;padding:1px 3px;display:flex}.booking-date-toolbar form>svg{color:var(--accent-hover);margin-left:6px}.booking-date-toolbar select{max-width:190px;min-height:34px;color:var(--ink-strong);background:#fff;border:0;outline:0;padding:0 28px 0 6px;font-weight:850}.booking-date-toolbar .custom-date{width:154px}.booking-date-toolbar .custom-select{width:198px}.booking-date-toolbar .custom-date-trigger,.booking-date-toolbar .custom-select-trigger{min-height:32px;color:var(--ink-strong);background:#fff;border:0;border-radius:9px;padding:0 8px;font-size:13px;font-weight:900}.booking-date-toolbar .custom-date-trigger:hover,.booking-date-toolbar .custom-select-trigger:hover{background:var(--accent-faint);color:var(--accent-hover)}.booking-date-toolbar .custom-date-trigger:focus-within,.booking-date-toolbar .custom-select-trigger:focus-visible,.booking-date-toolbar .custom-select.is-open .custom-select-trigger{outline:0;box-shadow:0 0 0 3px #10b9811a}.booking-date-toolbar .custom-date-trigger svg,.booking-date-toolbar .custom-select-trigger svg{color:var(--accent-hover);margin-left:0}.booking-date-toolbar .custom-date-popover,.booking-date-toolbar .custom-select-menu{z-index:80}.booking-date-toolbar .custom-select-menu{width:max(100%,280px)}.booking-date-toolbar .action-button,.booking-date-toolbar .ghost-button{min-width:40px;height:34px;box-shadow:none;background:0 0;border:0;border-radius:6px;padding:0 9px}.booking-view-switch{border:0;border-left:1px solid var(--line);min-height:34px;box-shadow:none;background:#fff;border-radius:0;align-items:center;gap:2px;padding:1px 3px;display:inline-flex}.booking-view-option{color:#64748b;white-space:nowrap;min-width:88px;min-height:32px;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.booking-view-option svg{color:currentColor}.booking-view-option:hover{background:var(--accent-faint);color:var(--accent-hover);transform:translateY(-1px)}.booking-view-option.is-active{background:var(--accent);color:#fff;box-shadow:0 8px 16px #10b98138}.booking-view-option.is-disabled{pointer-events:none;opacity:.45}.booking-week-court-control{border:0;border-left:1px solid var(--line);max-width:min(100%,300px);min-height:34px;box-shadow:none;background:#fff;border-radius:0;align-items:center;gap:4px;padding:1px 3px;display:inline-flex}.booking-week-court-control>svg{color:var(--accent-hover);flex:none;margin-left:6px}.booking-week-court-control .custom-select{width:220px}.court-schedule-section{gap:14px;min-width:0;display:grid}.court-schedule-toolbar{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.court-schedule-title{align-items:flex-start;gap:10px;min-width:240px;display:flex}.court-schedule-title>svg{color:var(--accent-hover);flex:none;margin-top:2px}.court-schedule-title div{min-width:0}.court-schedule-title span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.court-schedule-title h3{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong);margin:3px 0 0;font-size:20px;font-weight:950;line-height:1.15;overflow:hidden}.court-schedule-title p{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin:3px 0 0;font-size:12px;font-weight:750;line-height:1.2;overflow:hidden}.court-schedule-controls{justify-content:flex-end;margin-left:auto}.court-schedule-controls form{min-width:min(100%,496px)}.court-schedule-controls .court-schedule-date-form{min-width:min(100%,218px)}.court-schedule-controls .custom-select{width:226px}.court-schedule-empty{border:1px dashed var(--accent-line);min-height:92px;color:var(--accent-hover);background:#f0fdf4a3;border-radius:16px;place-items:center;font-size:12px;font-weight:900;display:grid}.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-grid-panel.is-setup-empty{min-height:0}.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-grid-panel.is-setup-empty{align-content:start}.booking-actions-panel{position:sticky;top:18px}.booking-section-head{flex-wrap:wrap;align-items:center;gap:10px;min-height:46px;display:flex}.booking-section-head>svg{box-sizing:border-box;border:1px solid var(--accent-line);background:var(--accent-faint);width:34px;height:34px;color:var(--accent-hover);border-radius:11px;margin:0;padding:7px;box-shadow:inset 0 1px #ffffffb8}.booking-section-head>svg+div{gap:2px;display:grid}.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-board-head-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.booking-board-summary{border:1px solid var(--line);background:#f8fafc;border-radius:12px;align-items:center;gap:3px;min-height:38px;padding:4px;display:flex;box-shadow:inset 0 1px #ffffffd1}.booking-board-summary span{min-height:28px;color:var(--muted);letter-spacing:0;text-transform:none;white-space:nowrap;background:#fff;border-radius:9px;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 1px 2px #0f172a0d}.booking-board-summary span svg{color:var(--accent-hover)}.booking-board-summary span b{color:var(--ink-strong);font-size:12px;font-weight:950}.booking-board-summary span em{font-style:normal}.booking-board-jump{border:1px solid var(--accent-line);background:var(--accent-faint);min-height:38px;color:var(--accent-hover);font:inherit;cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:950;line-height:1;display:inline-flex;box-shadow:0 5px 12px #065f460f}.booking-board-jump-short,.booking-board-hint-short{display:none}.booking-board-jump:hover{border-color:var(--accent);background:#dcfce7;transform:translateY(-1px);box-shadow:0 8px 16px #065f461a}.booking-board-jump:focus-visible{outline-offset:2px;outline:3px solid #10b98133}.booking-board-guide{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.booking-board-legend{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.booking-board-hint{border:1px dashed var(--accent-line);min-height:30px;color:var(--accent-hover);white-space:nowrap;background:#f0fdf4b8;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:900;line-height:1;display:inline-flex}.booking-legend-menu{flex:none;position:relative}.booking-legend-menu>summary{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;white-space:nowrap;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:10px;font-weight:900;line-height:1;list-style:none;display:inline-flex}.booking-legend-menu>summary::-webkit-details-marker{display:none}.booking-legend-menu>summary:hover,.booking-legend-menu[open]>summary{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.booking-legend-menu[open]>summary svg:last-child{transform:rotate(180deg)}.booking-legend-menu>summary svg{transition:transform var(--transition);flex:none}.booking-legend-popover{z-index:35;border:1px solid var(--line);background:#fff;border-radius:9px;width:min(390px,100vw - 48px);padding:8px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 14px 34px #0f172a24}.booking-facility-tabs{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0eb;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch;gap:6px;padding:5px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffffc7}.booking-facility-tab{width:100%;min-width:0;min-height:46px;color:var(--ink);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);background:#ffffffe0;border:1px solid #0000;border-radius:11px;outline:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:0 12px;font-size:12px;font-weight:900;display:grid;box-shadow:0 1px 2px #0f172a0a}.booking-facility-tab svg{width:16px;height:16px;color:var(--muted)}.booking-facility-tab span{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;text-align:left;overflow:hidden}.booking-facility-tab small{color:var(--muted);white-space:nowrap;background:#eef2f7;border-radius:999px;justify-self:end;padding:4px 7px;font-size:10px;font-weight:950;line-height:1}.booking-facility-tab:hover{border-color:var(--accent-line);color:var(--accent-hover);background:#fff;transform:translateY(-1px);box-shadow:0 7px 16px #0f172a14}.booking-facility-tab:hover svg{color:var(--accent-hover)}.booking-facility-tab:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #10b98133}.booking-facility-tab.is-active{border-color:var(--accent);color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 8px 18px #10b98138}.booking-legend-item{min-height:28px;color:var(--ink-strong);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #94a3b833;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.booking-legend-item i{background:var(--booking-accent,var(--accent));border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 3px #0f172a0a}.booking-legend-item b{white-space:nowrap;font-size:10px;font-weight:950;line-height:1}.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-target-switch{width:100%;max-width:none}.booking-target-switch .custom-select{width:100%}.booking-target-switch .custom-select-trigger{border-color:var(--accent-line);background:linear-gradient(180deg, #fff 0%, var(--accent-faint) 100%);min-height:44px;color:var(--accent-hover)}.booking-target-switch .custom-select-menu{z-index:90}.booking-locked-field{width:100%;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink-strong);background:#f8fafc;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-size:13px;font-weight:850;display:flex}.booking-locked-field span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.booking-locked-field small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);flex:none;font-size:11px;font-weight:800;overflow:hidden}.booking-repeat-toggle{border:1px solid var(--line);min-height:54px;color:var(--ink);cursor:pointer;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);background:#fff;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;padding:9px 12px;display:grid}.booking-repeat-toggle:hover{border-color:var(--accent-line);box-shadow:var(--shadow-sm);background:#fbfefc}.booking-repeat-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.booking-repeat-toggle>span{width:38px;height:22px;transition:background var(--transition), box-shadow var(--transition);background:#e2e8f0;border-radius:999px;grid-row:1/span 2;position:relative;box-shadow:inset 0 0 0 1px #64748b29}.booking-repeat-toggle>span:after{content:"";width:16px;height:16px;transition:transform var(--transition), box-shadow var(--transition);background:#fff;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0f172a2e}.booking-repeat-toggle input:checked+span{background:var(--accent);box-shadow:inset 0 0 0 1px #0596692e,0 8px 18px #10b9812e}.booking-repeat-toggle input:checked+span:after{transform:translate(16px);box-shadow:0 3px 9px #0596693d}.booking-repeat-toggle input:focus-visible+span{outline-offset:3px;outline:3px solid #10b98138}.booking-repeat-toggle b{min-width:0;color:var(--ink-strong);align-items:center;gap:6px;font-size:13px;font-weight:900;line-height:1.2;display:inline-flex}.booking-repeat-toggle b svg{color:var(--accent-hover);flex:none}.booking-repeat-toggle small{min-width:0;color:var(--muted);font-size:11px;font-weight:700;line-height:1.25}.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;overflow-x:clip}.booking-color-picker{min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.booking-color-picker:focus-within{border-color:var(--accent);box-shadow:var(--control-focus-ring)}.booking-color-auto{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);background:#f8fafc;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.booking-color-auto svg{flex:none}.booking-color-auto:hover,.booking-color-auto.is-active{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.booking-color-swatches{scrollbar-width:none;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.booking-color-swatches::-webkit-scrollbar{display:none}.booking-color-swatch{background:var(--booking-picker-color);cursor:pointer;width:28px;height:28px;transition:transform var(--transition), box-shadow var(--transition);border:2px solid #fff;border-radius:999px;flex:none;box-shadow:0 0 0 1px #94a3b857,0 6px 12px #0f172a14}.booking-color-swatch:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #10b98133,0 8px 14px #0f172a1f}.booking-color-swatch.is-active{box-shadow:0 0 0 3px #10b98138,0 8px 14px #0f172a1f}.booking-color-custom{border:1px solid var(--line);cursor:pointer;width:34px;height:34px;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);background:#f8fafc;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.booking-color-custom:hover{border-color:var(--accent-line);background:var(--accent-faint);box-shadow:0 8px 16px #0f172a14}.booking-color-custom span{background:var(--booking-picker-color);border-radius:8px;width:20px;height:20px;box-shadow:inset 0 0 0 1px #ffffffb3,0 0 0 1px #0f172a14}.booking-color-custom input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.booking-board-shell{overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line);-webkit-overflow-scrolling:touch;background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;width:100%;max-width:100%;max-height:min(72dvh,860px);position:relative;overflow:auto;box-shadow:inset 0 1px #ffffffbf}.booking-board-shell:focus-visible{outline-offset:3px;outline:3px solid #10b98129}.booking-board{--booking-board-height:1152px;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;grid-template-rows:52px var(--booking-board-height);background:linear-gradient(90deg,#fff 0% 82%,#fff0 100%);gap:8px;display:grid;position:sticky;left:0}.booking-corner-cell{z-index:10;border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;border-radius:13px;justify-content:center;align-items:center;gap:5px;font-size:11px;font-weight:950;line-height:1;display:inline-flex;position:sticky;top:10px}.booking-corner-cell svg{color:var(--accent-hover)}.booking-board-times{height:var(--booking-board-height);border:1px solid var(--line);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-times .booking-time-marker{opacity:1}.booking-board-times .booking-now-label{z-index:4;max-width:calc(100% - 10px);transform:translate(-50%, calc(-50% + var(--booking-now-label-shift,0px)));color:#e11d48;white-space:nowrap;background:#fff1f2;border-radius:999px;padding:3px 5px;font-size:8px;font-weight:950;line-height:1;position:absolute;left:50%;right:auto;box-shadow:0 0 0 1px #f43f5e38,0 4px 10px #e11d481a}.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 var(--booking-board-height);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{height:var(--booking-board-height);border:1px solid var(--line);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;position:relative}.booking-hour-cell:nth-child(2n){background:#fbfdff}.booking-hour-cell:last-of-type{border-bottom:0}.booking-slot-time{color:#cbd5e1;opacity:0;transition:opacity var(--transition), color var(--transition);font-size:9px;font-weight:850;line-height:1;position:absolute;top:6px;left:7px}.booking-slot-cta{border:1px solid var(--accent-line);color:var(--accent-hover);opacity:0;transition:opacity var(--transition), transform var(--transition);background:#ffffffeb;border-radius:999px;align-items:center;gap:4px;padding:4px 7px;font-size:9px;font-weight:950;line-height:1;display:inline-flex;transform:translateY(3px);box-shadow:0 5px 12px #065f4614}.booking-slot-link{width:100%;color:inherit;cursor:pointer;text-align:left;font:inherit;appearance:none;transition:background var(--transition), box-shadow var(--transition);justify-content:center;align-items:center;display:flex}.booking-slot-link:hover{background:var(--accent-faint);box-shadow:inset 0 0 0 1px var(--accent-line)}.booking-slot-link:hover .booking-slot-cta,.booking-slot-link:focus-visible .booking-slot-cta{opacity:1;transform:translateY(0)}.booking-slot-link:hover .booking-slot-time,.booking-slot-link:focus-visible .booking-slot-time{color:var(--accent-hover);opacity:1}.booking-slot-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.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 .booking-slot-time,.booking-slot-link.is-drop-target .booking-slot-time{color:var(--accent-hover);opacity:1}.booking-now-line{z-index:3;pointer-events:none;background:#f43f5e;height:2px;position:absolute;left:0;right:0;transform:translateY(-1px);box-shadow:0 1px 4px #e11d484d}.booking-now-line:before{content:"";background:#f43f5e;border:2px solid #fff;border-radius:999px;width:7px;height:7px;position:absolute;top:50%;left:-1px;transform:translate(-50%,-50%);box-shadow:0 2px 5px #e11d484d}.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:24px;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 15px;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.is-resizing{z-index:7;cursor:ns-resize;box-shadow:0 0 0 3px #10b9812e,0 16px 34px #0f172a29}.booking-block.booking-has-custom-color{background:linear-gradient(135deg, #ffffffb3, #fff0 62%), color-mix(in srgb, var(--booking-accent,var(--accent)) 12%, #fff);border-color:color-mix(in srgb, var(--booking-accent,var(--accent)) 34%, #fff);color:color-mix(in srgb, var(--booking-accent,var(--accent)) 78%, #0f172a)}.booking-block.is-overlap{padding-left:7px;padding-right:7px}.booking-block.is-overlap .booking-block-title{font-size:11px}.booking-block.is-overlap .booking-block-meta{font-size:9px}.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-kind{text-overflow:ellipsis;white-space:nowrap;background:color-mix(in srgb, var(--booking-accent,var(--accent)) 14%, #fff);width:max-content;max-width:100%;color:color-mix(in srgb, var(--booking-accent,var(--accent)) 78%, #0f172a);border:1px solid #ffffffb8;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:950;line-height:1;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8a}.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-tight{gap:2px;padding:5px 7px 13px}.booking-block.is-tight .booking-block-meta,.booking-block.is-tight .booking-block-kind{display:none}.booking-block.is-tight .status{margin-top:0;padding:3px 7px;font-size:9px}.booking-block.is-compact{min-height:24px;box-shadow:none;flex-direction:column;justify-content:flex-start;gap:2px;padding:4px 7px 11px;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{min-width:0;padding-bottom:2px;font-size:11px;line-height:1.2;display:block}.booking-block.is-compact .booking-block-meta,.booking-block.is-compact .booking-block-kind{display:none}.booking-block.is-compact .status{max-width:100%;box-shadow:none;margin-top:0;padding:2px 6px;font-size:8px}.booking-block.is-tiny{min-height:24px;box-shadow:none;justify-content:center;align-items:center;padding:3px 7px;display:flex}.booking-block.is-tiny:hover{box-shadow:none;transform:none}.booking-block.is-tiny .booking-block-time{max-width:100%;font-size:9px}.booking-block.is-tiny .booking-block-title,.booking-block.is-tiny .booking-block-meta,.booking-block.is-tiny .booking-block-kind,.booking-block.is-tiny .status{display:none}.booking-resize-handle{z-index:3;cursor:ns-resize;touch-action:none;border-radius:999px;height:9px;position:absolute;bottom:2px;left:11px;right:11px}.booking-resize-handle:before{content:"";opacity:0;width:30px;height:3px;transition:opacity var(--transition), width var(--transition);background:currentColor;border-radius:999px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.booking-block:hover .booking-resize-handle:before,.booking-block.is-resizing .booking-resize-handle:before{opacity:.72;width:44px}.booking-status-reserved{--booking-accent:#10b981}.booking-status-confirmed,.booking-status-arrived{--booking-accent:#2563eb;color:#1d4ed8;background:linear-gradient(135deg,#ffffff9e,#fff0 62%),#eff6ff;border-color:#bfdbfe}.booking-status-no_show{--booking-accent:#dc2626;color:#b91c1c;background:linear-gradient(135deg,#ffffff9e,#fff0 62%),#fef2f2;border-color:#fecaca}.booking-status-cancelled{--booking-accent:#94a3b8;color:#64748b;opacity:.82;box-shadow:none;filter:grayscale(.18);background:linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);border-color:#cbd5e1 #cbd5e1 #cbd5e1 #94a3b8}.booking-status-cancelled:hover{box-shadow:none;transform:none}.booking-status-cancelled.is-selected{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b82e}.booking-status-cancelled .booking-block-title,.booking-status-cancelled .booking-block-meta{color:#94a3b8;text-decoration:line-through}.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-group-block,.booking-session-block{gap:2px;padding-top:8px}.booking-group-block:before,.booking-session-block:before{content:"";z-index:1;background:var(--booking-accent,var(--accent));pointer-events:none;height:4px;position:absolute;top:0;left:0;right:0}.booking-group-card-head{justify-content:space-between;align-items:center;gap:5px;min-width:0;display:flex}.booking-group-card-head .booking-block-time{white-space:nowrap;flex:auto;overflow:hidden}.booking-group-capacity{color:color-mix(in srgb, var(--booking-accent,var(--accent)) 78%, #0f172a);background:#ffffffc2;border-radius:999px;flex:none;align-items:center;gap:3px;padding:2px 5px;font-size:9px;font-weight:950;line-height:1;display:inline-flex}.booking-group-program,.booking-group-coach{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:9px;font-weight:800;line-height:1.1;overflow:hidden}.booking-group-coach{align-items:center;gap:3px;display:flex}.booking-group-coach svg{color:var(--booking-accent,var(--accent));flex:none}.booking-group-compact-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent-hover);align-items:center;gap:3px;font-size:9px;font-weight:950;line-height:1;display:none;overflow:hidden}.booking-card-payment{z-index:2;color:#a16207;white-space:nowrap;background:#fffbebf0;border:1px solid #fbbf24;border-radius:999px;align-items:center;gap:2px;max-width:calc(100% - 10px);padding:2px 5px;font-size:8px;font-weight:950;line-height:1;display:inline-flex;position:absolute;bottom:4px;right:5px;overflow:hidden}.booking-card-payment.is-paid{color:#15803d;background:#f0fdf4f5;border-color:#86efac}.booking-card-payment.is-partially_paid{color:#a16207;border-color:#fde68a}:is(.booking-block:has(.booking-card-payment) .booking-block-title,.booking-block:has(.booking-card-payment) .booking-group-coach,.booking-block:has(.booking-card-payment) .booking-block-meta){padding-right:54px}.booking-group-block .booking-block-kind,.booking-session-block .booking-block-kind,.booking-group-block.is-tight .booking-group-program,.booking-session-block.is-tight .booking-group-program{display:none}.booking-group-block.is-compact,.booking-session-block.is-compact{align-content:start;gap:2px;padding:7px 7px 8px;display:grid}.booking-group-block.is-compact .booking-group-card-head,.booking-session-block.is-compact .booking-group-card-head{display:flex}.booking-group-block.is-compact .booking-block-time,.booking-session-block.is-compact .booking-block-time{font-size:9px;display:flex}.booking-group-block.is-compact .booking-block-title,.booking-session-block.is-compact .booking-block-title{min-width:0;padding-bottom:0;font-size:11px;line-height:1.15;display:block}.booking-group-block.is-compact .booking-group-program,.booking-session-block.is-compact .booking-group-program,.booking-group-block.is-compact .status{display:none}.booking-group-block.is-compact .booking-group-coach,.booking-session-block.is-compact .booking-group-coach{font-size:8px;line-height:1;display:flex}.booking-group-block.is-tiny,.booking-session-block.is-tiny{justify-content:center;padding:5px 6px 3px}.booking-group-block.is-tiny .booking-group-card-head,.booking-session-block.is-tiny .booking-group-card-head,.booking-group-block.is-tiny .booking-block-title,.booking-session-block.is-tiny .booking-block-title,.booking-group-block.is-tiny .booking-group-program,.booking-session-block.is-tiny .booking-group-program,.booking-group-block.is-tiny .booking-group-coach,.booking-session-block.is-tiny .booking-group-coach,.booking-group-block.is-tiny .status{display:none}.booking-group-block.is-tiny .booking-group-compact-label,.booking-session-block.is-tiny .booking-group-compact-label{display:flex}.booking-session-block:hover{border-color:var(--accent-line);background:linear-gradient(135deg,#ffffffb8,#fff0 62%),#f0fdf4}.booking-session-block.is-overlap{border-color:#10b98147;box-shadow:0 8px 18px #065f4614}.booking-session-block.is-overlap .booking-block-time,.booking-session-block.is-overlap .booking-block-title{padding-right:26px}.booking-overlap-badge{z-index:2;color:var(--accent-hover);background:#ffffffe6;border:1px solid #10b98138;border-radius:999px;padding:3px 5px;font-size:9px;font-weight:950;line-height:1;position:absolute;top:5px;right:5px;box-shadow:0 5px 12px #0f172a14}.booking-session-stack{z-index:3;background:linear-gradient(135deg, #ffffffa8, #fff0 64%), color-mix(in srgb, var(--booking-accent,var(--accent)) 10%, #fff);border-color:color-mix(in srgb, var(--booking-accent,var(--accent)) 28%, #fff);border-left-color:var(--booking-accent,var(--accent));color:var(--accent-hover);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 7px;display:flex;box-shadow:0 10px 22px #065f4614}.booking-session-stack:hover{box-shadow:0 14px 28px #065f461f}.booking-session-stack-count{min-width:52px;min-height:30px;color:var(--accent-hover);background:#ffffffe6;border:1px solid #10b98133;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:17px;font-weight:950;line-height:1;display:inline-flex;box-shadow:0 8px 16px #065f4614}.booking-grid-panel .booking-board-shell{box-shadow:none;background:#fff;border-color:#d8e0ea;border-radius:10px}.booking-grid-panel .booking-board{min-width:max(680px, var(--board-flat-min-width));background:#fff;grid-template-columns:64px minmax(0,1fr);gap:0;padding:0}.booking-grid-panel .booking-time-rail{grid-template-rows:48px var(--booking-board-height);background:#fff;gap:0}.booking-grid-panel .booking-corner-cell{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f6f8fb;border:1px solid #dfe5ec;border-top:0;border-left:0;border-radius:0;top:0}.booking-grid-panel .booking-board-times{box-shadow:none;background:#fbfcfe;border:0;border-right:1px solid #dfe5ec;border-radius:0}.booking-grid-panel .booking-board-courts{grid-template-columns:repeat(var(--court-count), minmax(156px, 1fr));gap:0}.booking-grid-panel .booking-court-column{grid-template-rows:48px var(--booking-board-height);border-right:1px solid #dfe5ec;gap:0}.booking-grid-panel .booking-court-column:last-child{border-right:0}.booking-grid-panel .booking-court-column header{box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f6f8fbfa;border:0;border-bottom:1px solid #dfe5ec;border-radius:0;padding:8px 10px;top:0}.booking-grid-panel .booking-court-column header strong{font-size:13px}.booking-grid-panel .booking-court-column header span{font-size:10px}.booking-grid-panel .booking-court-track{box-shadow:none;background:#fff;border:0;border-radius:0}.booking-grid-panel .booking-hour-cell,.booking-grid-panel .booking-hour-cell:nth-child(2n){background:#fff;border-bottom-color:#e7ebf0}.booking-grid-panel .booking-slot-link:hover{background:#f0fdf7;box-shadow:inset 0 0 0 1px #10b98138}.booking-grid-panel .booking-slot-cta{box-shadow:none;border-radius:5px}.booking-grid-panel .booking-now-line{height:1px;box-shadow:none}.booking-grid-panel .booking-now-line:before{width:6px;height:6px;box-shadow:none;border-width:1px}.booking-grid-panel .booking-court-empty{display:none}.booking-grid-panel .booking-block{border-width:1px 1px 1px 3px;border-color:color-mix(in srgb, var(--booking-accent,var(--accent)) 30%, #fff);border-left-color:var(--booking-accent,var(--accent));background:color-mix(in srgb, var(--booking-accent,var(--accent)) 10%, #fff);color:color-mix(in srgb, var(--booking-accent,var(--accent)) 80%, #0f172a);box-shadow:none;border-radius:5px;gap:2px;padding:5px 6px 11px;left:2px;right:2px}.booking-grid-panel .booking-block:after{display:none}.booking-grid-panel .booking-block:hover{border-color:color-mix(in srgb, var(--booking-accent,var(--accent)) 48%, #fff);border-left-color:var(--booking-accent,var(--accent));transform:none;box-shadow:inset 0 0 0 1px #ffffffa6}.booking-grid-panel .booking-block.is-selected{border-color:var(--booking-accent,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb, var(--booking-accent,var(--accent)) 18%, transparent)}.booking-grid-panel .booking-block-time{font-size:9px}.booking-grid-panel .booking-block-title{font-size:11px}.booking-grid-panel .booking-block-meta,.booking-grid-panel .booking-group-program,.booking-grid-panel .booking-group-coach{font-size:8px}.booking-grid-panel .booking-group-block,.booking-grid-panel .booking-session-block{padding-top:6px}.booking-grid-panel .booking-group-block:before,.booking-grid-panel .booking-session-block:before{height:2px}.booking-grid-panel .booking-group-capacity,.booking-grid-panel .booking-card-payment,.booking-grid-panel .booking-block .status,.booking-grid-panel .booking-session-stack{box-shadow:none}.booking-grid-panel .booking-session-stack-count{min-width:40px;min-height:24px;box-shadow:none;border-radius:5px;padding-inline:8px;font-size:14px}.booking-board-empty{border:1px solid var(--line);border-left:3px solid var(--accent);min-width:0;color:var(--ink);box-shadow:none;background:#fbfefc;border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.booking-board-empty-icon{border:1px solid var(--accent-line);background:var(--accent-faint);width:38px;height:38px;color:var(--accent-hover);border-radius:7px;place-items:center;display:grid}.booking-board-empty-copy{gap:3px;min-width:0;display:grid}.booking-board-empty-copy strong{color:var(--ink-strong);font-size:13px;font-weight:900;line-height:1.25}.booking-board-empty-copy p{max-width:650px;color:var(--muted);margin:0;font-size:11px;font-weight:680;line-height:1.4}.booking-board-empty .action-button,.booking-board-empty .ghost-button{white-space:nowrap;min-height:36px;box-shadow:none;border-radius:7px;padding-inline:12px;text-decoration:none}.booking-board-empty-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.booking-board-empty-setup{min-height:150px;padding:22px}.booking-board-empty-week{margin-bottom:2px}.booking-board-empty-inline{grid-template-columns:38px minmax(0,1fr)}.bookings-page{gap:12px}.standalone-workspace .bookings-page{padding:16px}.standalone-workspace .bookings-page .page-header{box-shadow:none;border-radius:10px;padding:14px 16px}.bookings-page .page-header{gap:10px}.bookings-page .page-header h2{font-size:30px}.booking-header-actions{gap:6px}.booking-header-actions .ghost-button,.booking-header-actions .action-button{height:38px;box-shadow:none;border-radius:8px;padding-inline:11px}.booking-header-actions .action-button,.booking-header-actions .action-button:hover{box-shadow:none}.booking-date-toolbar{gap:6px}.booking-date-toolbar form,.booking-view-switch,.booking-week-court-control{min-height:38px;box-shadow:none;border-radius:8px;padding:3px}.booking-view-option{border-radius:6px;min-height:30px}.booking-view-option:hover{transform:none}.booking-view-option.is-active{color:var(--accent-hover);box-shadow:inset 0 0 0 1px var(--accent-line);background:#dcfce7}.booking-grid-panel{box-shadow:none;border-radius:10px;gap:12px;padding:14px}.booking-section-head{gap:8px;min-height:38px}.booking-section-head>svg{width:28px;height:28px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:4px}.booking-section-head h3{margin-top:1px;font-size:18px}.booking-board-head-tools{gap:10px}.booking-board-summary{min-height:32px;box-shadow:none;background:0 0;border:0;border-radius:0;gap:0;padding:0}.booking-board-summary span{border-left:1px solid var(--line);min-height:28px;box-shadow:none;background:0 0;border-radius:0;padding:0 10px}.booking-board-summary span:first-child{border-left:0}.booking-board-jump{min-height:34px;box-shadow:none;border-radius:7px;padding-inline:10px}.booking-board-jump:hover{box-shadow:none;transform:none}.booking-facility-tabs{box-shadow:none;background:#fff;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;padding:0}.booking-facility-tab{border:0;border-right:1px solid var(--line);min-height:40px;box-shadow:none;background:#fff;border-radius:0;padding-inline:10px}.booking-facility-tab:last-child{border-right:0}.booking-facility-tab:hover{border-color:var(--line);box-shadow:none;background:#f8fafc;transform:none}.booking-facility-tab.is-active{border-color:var(--line);color:var(--accent-hover);box-shadow:inset 3px 0 0 var(--accent);background:#ecfdf5}.booking-facility-tab.is-active svg{color:var(--accent-hover)}.booking-facility-tab.is-active small{color:var(--accent-hover);background:#d1fae5}.booking-legend-item{min-height:24px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:3px 6px}.booking-legend-item i{width:6px;height:12px;box-shadow:none;border-radius:2px}.booking-board-hint{background:#f8fffb;border-style:solid;border-radius:6px;min-height:26px}.booking-stack-modal{z-index:180;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.booking-stack-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;background:#0f172a6b;border:0;position:absolute;inset:0}.booking-stack-panel{z-index:1;background:#fff;border:1px solid #e2e8f0e6;border-radius:24px;gap:16px;width:min(520px,100%);max-height:min(680px,100vh - 48px);padding:20px;display:grid;position:relative;overflow:auto;box-shadow:0 28px 80px #0f172a38}.booking-stack-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.booking-stack-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.booking-stack-head h3{color:var(--ink-strong);letter-spacing:-.035em;margin:4px 0 0;font-size:24px;font-weight:950;line-height:1.1}.booking-stack-head p{color:var(--muted);margin:5px 0 0;font-size:13px;font-weight:700;line-height:1.35}.booking-stack-head button{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}.booking-stack-head button:hover{color:var(--danger);background:#fff1f2;border-color:#fecaca}.booking-stack-list{gap:8px;display:grid}.booking-stack-row{border:1px solid var(--line);width:100%;color:inherit;appearance:none;text-align:left;font:inherit;cursor:pointer;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);background:#f8fafc;border-radius:15px;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px;display:grid}.booking-stack-row:hover{border-color:var(--accent-line);background:#fff;transform:translateY(-1px);box-shadow:0 10px 22px #0f172a14}.booking-stack-row:focus-visible{outline-offset:2px;outline:3px solid #10b98133}.booking-stack-row b{background:color-mix(in srgb, var(--booking-accent,var(--accent)) 13%, #fff);width:34px;height:34px;color:color-mix(in srgb, var(--booking-accent,var(--accent)) 78%, #0f172a);border-radius:12px;justify-content:center;align-items:center;font-size:13px;font-weight:950;display:inline-flex}.booking-stack-row div{min-width:0}.booking-stack-row strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong);font-size:14px;font-weight:950;line-height:1.2;display:block;overflow:hidden}.booking-stack-row span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:3px;font-size:12px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.booking-stack-row em{background:var(--accent-faint);color:var(--accent-hover);white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:950;line-height:1}.booking-stack-row-icon{color:var(--muted);transition:color var(--transition), transform var(--transition)}.booking-stack-row:hover .booking-stack-row-icon{color:var(--accent-hover);transform:translate(2px)}.booking-session-detail-list{gap:9px;display:grid}.booking-session-detail-list div{border:1px solid var(--line);background:#f8fafc;border-radius:15px;gap:5px;padding:12px;display:grid}.booking-session-detail-list span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950;line-height:1}.booking-session-detail-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-strong);font-size:14px;font-weight:950;line-height:1.2;overflow:hidden}.booking-session-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.booking-session-actions .ghost-button{border-radius:13px;width:100%;min-width:0;height:42px;font-size:12px}.booking-series-archive{border-top:1px solid var(--line);padding-top:14px}.booking-series-archive>form{gap:12px;display:grid}.booking-series-archive-trigger{color:#c2410c;min-height:38px;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:900;display:inline-flex}.booking-series-archive-trigger:hover{color:#9a3412}.booking-series-archive-warning{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.booking-series-archive-warning svg{flex:none;margin-top:1px}.booking-series-archive-warning div{gap:4px;display:grid}.booking-series-archive-warning strong{color:#9a3412;font-size:13px;line-height:1.2}.booking-series-archive-warning span{color:#9a3412;font-size:12px;font-weight:650;line-height:1.4}.booking-series-archive-reason{gap:6px;display:grid}.booking-series-archive-reason>span{color:var(--muted);font-size:11px;font-weight:800}.booking-series-archive-reason input{border:1px solid var(--line);width:100%;height:42px;color:var(--ink-strong);font:inherit;background:#fff;border-radius:10px;outline:none;padding:0 12px;font-size:13px;font-weight:700}.booking-series-archive-reason input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #10b9811f}.booking-series-archive-actions{justify-content:flex-end;gap:8px;display:flex}.booking-series-archive-actions .ghost-button,.booking-series-archive-actions .danger-action-button{min-width:132px;height:40px;font-size:12px}.booking-kind-court-rental{--booking-accent:#0891b2;color:#0e7490;background:linear-gradient(135deg,#ffffffa3,#fff0 62%),#ecfeff;border-color:#a5f3fc}.booking-kind-coached-booking{--booking-accent:#7c3aed;color:#6d28d9;background:linear-gradient(135deg,#ffffffa3,#fff0 62%),#f5f3ff;border-color:#ddd6fe}.booking-kind-individual-training{--booking-accent:#db2777;color:#be185d;background:linear-gradient(135deg,#ffffffa3,#fff0 62%),#fdf2f8;border-color:#fbcfe8}.booking-kind-group-session{--booking-accent:#16a34a;color:#15803d;background:linear-gradient(135deg,#ffffff9e,#fff0 62%),#f0fdf4;border-color:#bbf7d0}.booking-kind-cancelled{--booking-accent:#94a3b8;color:#64748b;opacity:.82;box-shadow:none;filter:grayscale(.18);background:linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);border-color:#cbd5e1 #cbd5e1 #cbd5e1 #94a3b8}.booking-kind-cancelled:hover{box-shadow:none;transform:none}.booking-kind-cancelled.is-selected{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b82e}.booking-kind-cancelled .booking-block-title,.booking-kind-cancelled .booking-block-meta{color:#94a3b8;text-decoration:line-through}.booking-block.booking-status-arrived{border-left-color:#2563eb;box-shadow:inset 4px 0 #2563eb,0 10px 22px #0f172a17}.booking-block.booking-status-no_show{border-left-color:#dc2626;box-shadow:inset 4px 0 #dc2626,0 10px 22px #0f172a17}.booking-block.booking-status-arrived .status{color:#1d4ed8;background:#dbeafe}.booking-block.booking-status-no_show .status{color:#b91c1c;background:#fee2e2}.booking-week-panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;gap:14px;min-width:0;padding:18px;display:grid}.booking-week-head{align-items:center;gap:10px;min-width:0;display:flex}.booking-week-head>svg{color:var(--accent-hover)}.booking-week-head>div:first-of-type{min-width:0}.booking-week-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.booking-week-head h3{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong);margin:3px 0 0;font-size:20px;font-weight:950;line-height:1.15;overflow:hidden}.booking-week-head p{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin:3px 0 0;font-size:12px;font-weight:750;overflow:hidden}.booking-week-summary{border:1px solid var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);border-radius:14px;grid-template-columns:repeat(2,auto);align-items:baseline;gap:1px 8px;margin-left:auto;padding:8px 10px;display:grid}.booking-week-summary strong{color:var(--ink-strong);font-size:17px;font-weight:950;line-height:1}.booking-week-summary small{color:var(--accent-hover);font-size:10px;font-weight:850;line-height:1}.booking-week-grid{--booking-week-hour-height:58px;--booking-week-half-hour-height:29px;grid-template-columns:58px repeat(7,minmax(156px,1fr));grid-template-rows:auto minmax(calc(var(--booking-week-hour-count) * var(--booking-week-hour-height)), auto);-webkit-overflow-scrolling:touch;gap:0 8px;min-width:0;padding-bottom:2px;display:grid;overflow-x:auto}.booking-week-axis-head{z-index:4;border:1px solid var(--line);min-width:58px;box-shadow:var(--shadow-sm);background:#f8fafc;border-radius:16px 16px 0 0;position:sticky;left:0}.booking-week-day-head{border:1px solid var(--line);min-width:156px;box-shadow:var(--shadow-sm);background:#f8fafc;border-radius:16px 16px 0 0;padding:10px 11px}.booking-week-day-head strong{color:var(--ink-strong);text-transform:capitalize;font-size:14px;font-weight:950;line-height:1.1;display:block}.booking-week-day-head span{color:var(--muted);margin-top:3px;font-size:11px;font-weight:800;line-height:1.1;display:block}.booking-week-timebar{z-index:3;min-width:58px;min-height:calc(var(--booking-week-hour-count) * var(--booking-week-hour-height));border:1px solid var(--line);box-shadow:var(--shadow-sm);background:linear-gradient(#f8fafc,#fff);border-top:0;border-radius:0 0 16px 16px;position:sticky;left:0}.booking-week-timebar span{top:calc(var(--booking-week-hour-index) * var(--booking-week-hour-height));color:#94a3b8;white-space:nowrap;font-size:11px;font-weight:900;line-height:1;position:absolute;right:9px;transform:translateY(-50%)}.booking-week-timebar span:first-child{transform:translateY(4px)}.booking-week-timebar span:last-child{transform:translateY(calc(-100% - 4px))}.booking-week-day-track{min-width:156px;min-height:calc(var(--booking-week-hour-count) * var(--booking-week-hour-height));border:1px solid var(--line);background:repeating-linear-gradient(to bottom, #fff 0, #fff calc(var(--booking-week-hour-height) - 1px), #eef2f7 calc(var(--booking-week-hour-height) - 1px), #eef2f7 var(--booking-week-hour-height));box-shadow:var(--shadow-sm);border-top:0;border-radius:0 0 16px 16px;position:relative;overflow:hidden}.booking-week-day-track:after{content:"";pointer-events:none;background:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--booking-week-half-hour-height) - 1px), #e2e8f085 calc(var(--booking-week-half-hour-height) - 1px), #e2e8f085 var(--booking-week-half-hour-height));opacity:.56;position:absolute;inset:0}.booking-week-day-track.is-drag-over{border-color:var(--accent-line);box-shadow:inset 0 0 0 1px #10b9812e, var(--shadow-sm)}.booking-week-empty{border:1px dashed var(--accent-line);min-height:70px;color:var(--accent-hover);background:#f0fdf4bd;border-radius:13px;place-items:center;font-size:11px;font-weight:900;display:grid;position:absolute;top:12px;left:8px;right:8px}.booking-week-drop-preview{z-index:5;border:1px dashed var(--accent);min-height:32px;color:var(--accent-hover);pointer-events:none;background:#dcfce7c2;border-radius:12px;place-items:center;font-size:10px;font-weight:950;line-height:1;display:grid;position:absolute;left:7px;right:7px;box-shadow:inset 0 0 0 1px #ffffffb8}.booking-week-event{z-index:2;border:1px solid #10b9812e;border-left:4px solid var(--booking-accent,var(--accent));appearance:none;text-align:left;min-height:56px;font:inherit;color:#065f46;cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition);background:#ecfdf5;border-radius:12px;align-content:start;gap:3px;padding:7px;text-decoration:none;display:grid;position:absolute;left:7px;right:7px;overflow:hidden;box-shadow:0 8px 18px #0f172a0d}.booking-week-event[draggable=true]{cursor:grab}.booking-week-event[draggable=true]:active{cursor:grabbing}.booking-week-event:focus-visible{outline-offset:2px;outline:3px solid #10b98138}.booking-week-event.is-dragging{opacity:.56;transform:scale(.985)}.booking-week-event.is-moving{cursor:wait;opacity:.68;pointer-events:none}.booking-week-event span{min-width:0;max-width:100%;color:inherit;align-items:center;gap:4px;font-size:10px;font-weight:950;line-height:1;display:flex;overflow:hidden}.booking-week-event span svg{flex:none}.booking-week-event strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;color:var(--ink-strong);font-size:12px;font-weight:950;line-height:1.15;display:block;overflow:hidden}.booking-week-event small{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;color:var(--muted);font-size:10px;font-weight:750;line-height:1.15;display:block;overflow:hidden}.booking-week-kind{text-overflow:ellipsis;white-space:nowrap;background:color-mix(in srgb, var(--booking-accent,var(--accent)) 14%, #fff);width:max-content;max-width:100%;color:color-mix(in srgb, var(--booking-accent,var(--accent)) 78%, #0f172a);border:1px solid #ffffffb8;border-radius:999px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:950;line-height:1;overflow:hidden}.booking-week-event .status{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;width:max-content;max-width:100%;margin-top:1px;padding:4px 7px;font-size:9px;font-weight:950;line-height:1;overflow:hidden}.booking-week-event.is-tight{gap:2px;padding:6px 7px}.booking-week-event.is-tight .booking-week-kind{display:none}.booking-week-event.is-compact{align-content:center;gap:4px;min-height:44px;padding:6px 7px}.booking-week-event.is-compact small,.booking-week-event.is-compact .booking-week-kind,.booking-week-event.is-compact .status{display:none}.booking-week-session.is-compact{gap:2px;padding-top:5px;padding-bottom:5px}.booking-week-session.is-compact .booking-week-coaches{align-items:center;gap:3px;font-size:9px;line-height:1;display:flex}.booking-week-coaches svg{color:var(--booking-accent,var(--accent));flex:none}.booking-week-event.is-tiny{align-content:center;justify-items:start;gap:0;min-height:30px;padding:4px 7px}.booking-week-event.is-tiny strong,.booking-week-event.is-tiny small,.booking-week-event.is-tiny .booking-week-kind,.booking-week-event.is-tiny .status{display:none}.booking-week-session{color:#475569;border-color:#cbd5e1;border-left-color:var(--booking-accent,#64748b);background:#f8fafc}.booking-week-status-confirmed,.booking-week-status-arrived{--booking-accent:#2563eb;color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.booking-week-status-no_show{--booking-accent:#dc2626;color:#b91c1c;background:#fef2f2;border-color:#fecaca}.booking-week-status-cancelled{--booking-accent:#94a3b8;color:#64748b;opacity:.84;filter:grayscale(.18);background:linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);border-color:#cbd5e1 #cbd5e1 #cbd5e1 #94a3b8}.booking-week-status-cancelled strong,.booking-week-status-cancelled small{color:#94a3b8;text-decoration:line-through}.booking-week-status-waitlist{--booking-accent:#64748b;color:#334155;background:#f1f5f9;border-color:#cbd5e1}.booking-week-event.booking-kind-court-rental{--booking-accent:#0891b2;color:#0e7490;background:#ecfeff;border-color:#a5f3fc}.booking-week-event.booking-kind-coached-booking{--booking-accent:#7c3aed;color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.booking-week-event.booking-kind-individual-training{--booking-accent:#db2777;color:#be185d;background:#fdf2f8;border-color:#fbcfe8}.booking-week-event.booking-kind-group-session{--booking-accent:#16a34a;color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.booking-week-event.booking-kind-cancelled{--booking-accent:#94a3b8;color:#64748b;opacity:.84;filter:grayscale(.18);background:linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);border-color:#cbd5e1 #cbd5e1 #cbd5e1 #94a3b8}.booking-week-event.booking-kind-cancelled strong,.booking-week-event.booking-kind-cancelled small{color:#94a3b8;text-decoration:line-through}.booking-week-event.booking-has-custom-color{background:color-mix(in srgb, var(--booking-accent,var(--accent)) 12%, #fff);border-color:color-mix(in srgb, var(--booking-accent,var(--accent)) 34%, #fff);color:color-mix(in srgb, var(--booking-accent,var(--accent)) 78%, #0f172a)}.booking-week-groups-panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:20px;gap:14px;min-width:0;padding:18px;display:grid}.booking-week-groups-head{align-items:center;gap:10px;min-width:0;display:flex}.booking-week-groups-head>svg{color:var(--accent-hover)}.booking-week-groups-head>div:first-of-type{min-width:0}.booking-week-groups-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.booking-week-groups-head h3{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong);margin:3px 0 0;font-size:20px;font-weight:950;line-height:1.15;overflow:hidden}.booking-week-groups-summary{border:1px solid var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);border-radius:14px;grid-template-columns:repeat(2,auto);align-items:baseline;gap:1px 8px;margin-left:auto;padding:8px 10px;display:grid}.booking-week-groups-summary strong{color:var(--ink-strong);font-size:17px;font-weight:950;line-height:1}.booking-week-groups-summary small{color:var(--accent-hover);font-size:10px;font-weight:850;line-height:1}.booking-week-groups-grid{-webkit-overflow-scrolling:touch;grid-template-columns:repeat(7,minmax(180px,1fr));gap:8px;padding-bottom:2px;display:grid;overflow-x:auto}.booking-week-groups-day{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:180px;overflow:hidden;box-shadow:0 10px 22px #0f172a0a}.booking-week-groups-day header{border-bottom:1px solid var(--line);background:#f8fafc;min-height:54px;padding:10px 11px}.booking-week-groups-day header strong{color:var(--ink-strong);text-transform:capitalize;font-size:14px;font-weight:950;line-height:1.1;display:block}.booking-week-groups-day header span{color:var(--muted);margin-top:3px;font-size:11px;font-weight:800;line-height:1.1;display:block}.booking-week-groups-list{align-content:start;gap:6px;max-height:360px;padding:8px;display:grid;overflow-y:auto}.booking-week-groups-session{--booking-accent:var(--accent);border:1px solid color-mix(in srgb, var(--booking-accent) 24%, #fff);border-left:4px solid var(--booking-accent);background:color-mix(in srgb, var(--booking-accent) 8%, #fff);min-width:0;color:var(--ink-strong);border-radius:12px;gap:4px;padding:8px 9px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.booking-week-groups-session:hover{border-color:color-mix(in srgb, var(--booking-accent) 42%, #fff);transform:translateY(-1px);box-shadow:0 10px 18px #0f172a14}.booking-week-groups-session span,.booking-week-groups-session small{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:color-mix(in srgb, var(--booking-accent) 76%, #0f172a);align-items:center;gap:4px;font-size:10px;font-weight:900;line-height:1.1;display:flex;overflow:hidden}.booking-week-groups-session strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-strong);font-size:12px;font-weight:950;line-height:1.15;overflow:hidden}.booking-week-groups-empty{border:1px dashed var(--accent-line);min-height:76px;color:var(--accent-hover);background:#f0fdf4a3;border-radius:13px;place-items:center;font-size:11px;font-weight:900;display:grid}.booking-week-panel,.booking-week-groups-panel{box-shadow:none;background:#fff;border-radius:10px;gap:12px;padding:14px}.booking-week-summary,.booking-week-groups-summary{border:0;border-left:1px solid var(--line);background:0 0;border-radius:0;padding:3px 0 3px 12px}.booking-week-grid{column-gap:0}.booking-week-axis-head,.booking-week-day-head,.booking-week-timebar,.booking-week-day-track{box-shadow:none;border-radius:0}.booking-week-axis-head,.booking-week-day-head{background:#f6f8fb}.booking-week-axis-head,.booking-week-timebar,.booking-week-day-head:not(:last-of-type),.booking-week-day-track:not(:last-child){border-right:0}.booking-week-event{box-shadow:none;border-left-width:3px;border-radius:5px;padding:5px 6px;left:2px;right:2px}.booking-week-event:hover{transform:none;box-shadow:inset 0 0 0 1px #ffffffa6}.booking-week-empty{display:none}.booking-week-groups-grid{border:1px solid var(--line);border-radius:8px;gap:0;overflow:hidden}.booking-week-groups-day{border:0;border-right:1px solid var(--line);box-shadow:none;border-radius:0}.booking-week-groups-day:last-child{border-right:0}.booking-week-groups-list{gap:3px;padding:4px}.booking-week-groups-session{border-left-width:3px;border-radius:4px;padding:6px}.booking-week-groups-session:hover{box-shadow:none;transform:none}.booking-week-groups-empty{background:0 0;border:0;border-radius:0}.booking-create-form{gap:12px;display:grid}.booking-create-form .form-grid{align-items:start}.booking-create-form .form-grid>.field{align-content:start}.booking-create-form .action-button{justify-self:start}.booking-court-select{min-width:0;position:relative}.booking-court-select-trigger{width:100%;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:7px 11px 7px 12px;display:flex}.booking-court-select-trigger:hover{border-color:var(--accent-line);background:#fbfefc}.booking-court-select-trigger:focus-visible,.booking-court-select.is-open .booking-court-select-trigger{border-color:var(--accent);box-shadow:var(--control-focus-ring);outline:0}.booking-court-select-trigger>svg{color:var(--muted);transition:transform var(--transition), color var(--transition);flex:none}.booking-court-select.is-open .booking-court-select-trigger>svg{color:var(--accent-hover);transform:rotate(180deg)}.booking-court-select-trigger-copy{align-items:center;gap:9px;min-width:0;display:flex}.booking-court-select-trigger-copy>svg{color:var(--accent-hover);flex:none}.booking-court-select-trigger-copy>span{gap:2px;min-width:0;display:grid}.booking-court-select-trigger-copy strong,.booking-court-select-trigger-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-court-select-trigger-copy strong{color:var(--ink-strong);font-size:13px;font-weight:900;line-height:1.1}.booking-court-select-trigger-copy small{color:var(--muted);font-size:10px;font-weight:750;line-height:1.1}.booking-court-select-menu{z-index:100;border:1px solid var(--line);background:#fff;border-radius:14px;gap:6px;max-height:min(320px,100vh - 260px);padding:7px;display:grid;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 48px #0f172a29}.booking-court-select-search{z-index:2;border:1px solid var(--control-border);background:#fff;border-radius:11px;align-items:center;gap:8px;min-height:38px;padding:0 10px;display:flex;position:sticky;top:0;box-shadow:0 8px 18px #0f172a0f}.booking-court-select-search:focus-within{border-color:var(--accent);box-shadow:var(--control-focus-ring)}.booking-court-select-search svg{color:var(--accent-hover);flex:none}.booking-court-select-search input,.field .booking-court-select-search input{width:100%;min-width:0;min-height:34px;box-shadow:none;color:var(--ink-strong);font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:12px;font-weight:850}.booking-court-select-search input:hover,.booking-court-select-search input:focus,.field .booking-court-select-search input:hover,.field .booking-court-select-search input:focus{box-shadow:none;background:0 0;border:0}.booking-court-select-option{cursor:pointer;min-width:0;transition:border-color var(--transition), background var(--transition);background:#fff;border:1px solid #0000;border-radius:11px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px;display:grid;position:relative}.booking-court-select-option:hover{border-color:var(--accent-line);background:#f8fffb}.booking-court-select-option.is-selected{border-color:var(--accent-line);background:var(--accent-faint)}.booking-court-select-option input{opacity:0;pointer-events:none;position:absolute}.booking-court-select-check{border:1px solid var(--control-border);color:#fff;background:#fff;border-radius:7px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.booking-court-select-option.is-selected .booking-court-select-check{border-color:var(--accent);background:var(--accent)}.booking-court-select-option input:focus-visible+.booking-court-select-check{outline-offset:2px;outline:3px solid #10b98138}.booking-court-select-option-copy{gap:2px;min-width:0;display:grid}.booking-court-select-option-copy strong,.booking-court-select-option-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-court-select-option-copy strong{color:var(--ink-strong);font-size:12px;font-weight:900;line-height:1.15}.booking-court-select-option-copy small{color:var(--muted);font-size:10px;font-weight:750;line-height:1.1}.booking-court-select-empty{color:var(--muted);text-align:center;padding:14px 10px;font-size:12px;font-weight:750;line-height:1.35}.booking-repeat-settings{border:1px solid var(--accent-line);background:var(--accent-faint);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(150px,.45fr) minmax(170px,.55fr);gap:9px;padding:10px;display:grid}.booking-repeat-settings .custom-select-menu{z-index:90}.booking-repeat-settings .custom-date-popover,.booking-create-form .form-grid>.field:nth-child(2n) .custom-date-popover{left:auto;right:0}.booking-repeat-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.booking-repeat-weekdays label{cursor:pointer;min-width:0}.booking-repeat-weekdays input{opacity:0;pointer-events:none;position:absolute}.booking-repeat-weekdays span{border:1px solid var(--line);min-height:36px;color:var(--muted);background:#fff;border-radius:8px;place-items:center;font-size:10px;font-weight:950;display:grid}.booking-repeat-weekdays input:checked+span{border-color:var(--accent);background:var(--accent);color:#fff}.booking-repeat-day-configs{border-top:1px solid var(--accent-line);grid-column:1/-1;gap:8px;min-width:0;padding-top:10px;display:grid}.booking-repeat-day-config-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-repeat-day-config-head>div{gap:2px;min-width:0;display:grid}.booking-repeat-day-config-head strong{color:var(--ink-strong);font-size:12px;font-weight:950}.booking-repeat-day-config-head small{color:var(--muted);font-size:9px;font-weight:700}.booking-repeat-day-config-head>span{border:1px solid var(--accent-line);color:var(--accent-hover);background:#fff;border-radius:999px;flex:none;padding:5px 9px;font-size:9px;font-weight:900}.booking-repeat-day-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(116px,.62fr) minmax(160px,1fr) minmax(118px,.72fr) minmax(118px,.72fr);align-items:end;gap:8px;min-width:0;padding:9px;display:grid}.booking-repeat-day-name{align-items:center;gap:8px;min-width:0;min-height:42px;display:flex}.booking-repeat-day-name b{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:950;overflow:hidden}.booking-repeat-day-name small{color:#fff;background:var(--accent);border-radius:9px;flex:none;order:-1;place-items:center;width:30px;height:30px;font-size:9px;font-weight:950;display:grid}.booking-repeat-day-row .field{gap:5px;min-width:0}.booking-repeat-day-row .field>span{font-size:9px}.booking-repeat-day-row .custom-select-trigger,.booking-repeat-day-row .custom-time-trigger{background:var(--panel-muted);min-height:42px}.booking-repeat-day-row .custom-select-menu,.booking-repeat-day-row .custom-time-popover{z-index:95}.booking-phone-lookup{min-height:18px;color:var(--muted);align-items:center;gap:5px;margin-top:6px;font-size:11px;font-weight:750;line-height:1.25;display:flex}.booking-phone-lookup svg{flex:none}.booking-phone-lookup.is-searching svg{color:var(--accent-hover);animation:.9s linear infinite booking-phone-lookup-spin}.booking-phone-lookup.is-found{color:var(--accent-hover)}.booking-phone-lookup.is-family{color:#7c3aed}.booking-phone-lookup.is-new{color:#2563eb}.booking-phone-lookup.is-error{color:#b45309}@keyframes booking-phone-lookup-spin{to{transform:rotate(360deg)}}.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{min-width:0;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;outline:0;padding:0 12px;font-size:13px;font-weight:760}.booking-inline-form .custom-select{min-width:0}.booking-inline-form .custom-select-trigger{min-height:var(--control-height)}.booking-inline-form select:hover{border-color:var(--accent-line);background:#fbfefc}.booking-inline-form select:focus{border-color:var(--accent);box-shadow:var(--control-focus-ring);background:#fff}.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:clamp(12px,3vw,32px)!important}.entity-modal-panel.booking-detail-panel{overscroll-behavior:contain;grid-template-rows:auto minmax(0,1fr);width:min(1040px,100%);max-width:100%;max-height:min(780px,100dvh - clamp(24px,6vw,64px));margin:auto;display:grid;overflow:clip hidden!important}.booking-detail-head{align-items:center}.booking-detail-head>div:first-child{min-width:0}.booking-detail-head h3,.booking-detail-head p{overflow-wrap:anywhere}.booking-detail-head-actions{flex:none;align-items:center;gap:10px;display:inline-flex}.booking-detail-body{overscroll-behavior:contain;scrollbar-gutter:stable;gap:16px;min-height:0;padding:22px 24px 24px;display:grid;overflow:clip auto}.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(0,1fr);align-items:start;gap:12px;min-width:0;display:grid}.booking-detail-side,.booking-detail-main{gap:12px;min-width:0;display:grid}.booking-detail-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.booking-detail-side .booking-detail-card{height:100%}.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(3,minmax(0,1fr))}.booking-detail-court-form{border:1px solid var(--accent-line);background:var(--accent-faint);border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.booking-detail-court-form .custom-select{min-width:0}.booking-detail-court-form .custom-select-trigger{background:#fff;min-height:38px}.booking-detail-court-form .ghost-button{white-space:nowrap;min-height:38px}.booking-detail-courts-form{border:1px solid var(--accent-line);background:var(--accent-faint);border-radius:13px;gap:8px;padding:9px;display:grid}.booking-detail-court-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.booking-detail-court-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1px 7px;min-width:0;padding:7px;display:grid}.booking-detail-court-option input{width:15px;height:15px;accent-color:var(--accent);grid-row:1/3}.booking-detail-court-option span,.booking-detail-court-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-detail-court-option span{color:var(--ink-strong);font-size:11px;font-weight:900}.booking-detail-court-option small{color:var(--muted);font-size:9px;font-weight:750}.booking-detail-courts-form .ghost-button{justify-self:end;min-height:38px}.booking-payment-pill{color:#c2410c;background:#fff7ed;border-radius:999px;margin-left:auto;padding:5px 8px;font-size:9px;font-weight:950;line-height:1}.booking-payment-pill.is-paid{color:#15803d;background:#dcfce7}.booking-payment-pill.is-partially_paid{color:#a16207;background:#fef3c7}.booking-finance-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.booking-line-items{gap:6px;display:grid}.booking-line-item{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;padding:7px 0;display:grid}.booking-line-item>span{color:var(--accent-hover)}.booking-line-item div{gap:2px;min-width:0;display:grid}.booking-line-item strong,.booking-line-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-line-item strong{color:var(--ink-strong);font-size:12px;font-weight:900}.booking-line-item small{color:var(--muted);font-size:10px;font-weight:750}.booking-line-item b{color:var(--ink-strong);white-space:nowrap;font-size:12px;font-weight:950}.booking-line-item .icon-button{color:#dc2626;width:30px;height:30px}.booking-payment-history{border-top:1px solid var(--line);gap:5px;padding-top:7px;display:grid}.booking-payment-history div{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.booking-payment-history span,.booking-payment-history small{color:var(--muted);font-size:10px;font-weight:750}.booking-payment-history strong{color:var(--accent-hover);font-size:11px;font-weight:950}.booking-finance-forms{gap:8px;display:grid}.booking-finance-section-label{border:1px solid var(--accent-line);background:var(--accent-faint);color:var(--accent-hover);border-radius:12px;align-items:center;gap:9px;margin-top:3px;padding:9px 10px;display:flex}.booking-finance-section-label>svg{flex:none}.booking-finance-section-label>span{gap:1px;min-width:0;display:grid}.booking-finance-section-label strong{color:var(--ink-strong);font-size:11px;font-weight:950;line-height:1.2}.booking-finance-section-label small{color:var(--muted);font-size:9px;font-weight:700;line-height:1.3}.booking-payment-section-label{color:#2563eb;background:#eff6ff;border-color:#bfdbfe;margin-top:5px}.booking-product-empty{border:1px dashed var(--line-strong);background:var(--panel-muted);color:var(--muted);border-radius:10px;padding:9px 10px;font-size:10px;font-weight:750;line-height:1.35}.booking-finance-inline-form{grid-template-columns:132px minmax(220px,1fr) 72px 112px 160px;align-items:stretch;gap:8px;min-width:0;max-width:100%;display:grid}.booking-finance-inline-form>*{min-width:0;max-width:100%}.booking-finance-inline-form input,.booking-finance-inline-form select{border:1px solid var(--control-border);min-width:0;height:42px;color:var(--ink);background:#fff;border-radius:10px;padding:0 10px;font-size:11px;font-weight:800}.booking-finance-inline-form .custom-select{min-width:0}.booking-finance-inline-form .custom-select-trigger{border-radius:10px;width:100%;min-height:42px;padding:0 10px;font-size:11px}.booking-finance-inline-form .custom-select-menu{z-index:100}.booking-finance-inline-form .ghost-button{white-space:nowrap;justify-content:center;width:100%;min-width:0;min-height:42px}.booking-product-form{grid-template-columns:minmax(240px,1fr) 80px 160px}.booking-payment-form{grid-template-columns:140px minmax(180px,1fr) 160px 170px}.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}.booking-history-changes{gap:5px;margin-top:5px;display:grid}.booking-history-changes p{color:var(--muted);grid-template-columns:minmax(92px,auto) minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;margin:0;font-size:11px;font-weight:750;line-height:1.3;display:grid}.booking-history-changes strong{color:var(--ink-strong);font-size:inherit;font-weight:900}.booking-history-changes s{text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;min-width:0;text-decoration:line-through;overflow:hidden}.booking-history-changes i{color:var(--accent-hover);font-style:normal;font-weight:950}.booking-history-changes em{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-style:normal;font-weight:850;overflow:hidden}.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}.membership-finance-note{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.membership-finance-note strong{color:var(--accent-hover)}.membership-finance-note p{color:#047857}.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}.client-workflow-menu{z-index:4;position:relative}.client-workflow-menu summary{width:100%;min-height:var(--button-height);padding:0 var(--button-padding-x);background:var(--accent);color:#fff;cursor:pointer;border:1px solid #ffffff3d;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:800;list-style:none;display:inline-flex}.client-workflow-menu summary::-webkit-details-marker{display:none}.client-workflow-menu>div{background:#fff;border:1px solid #ffffff4d;border-radius:12px;gap:3px;width:max-content;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 36px #0f172a38}.client-workflow-menu a{min-height:34px;color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:8px 9px;font-size:12px;font-weight:800;display:inline-flex}.client-workflow-menu a:hover{background:var(--accent-faint);color:var(--accent-hover)}.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-booking-statistics{gap:12px;display:grid}.client-booking-statistics-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.client-booking-statistics-head span{color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.client-booking-statistics-head h3{color:var(--ink-strong);margin:3px 0 0;font-size:20px;font-weight:950;line-height:1.15}.client-booking-statistics-head small{color:var(--muted);text-align:right;font-size:12px;font-weight:750}.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:8px 10px;padding:11px;display:grid}.client-application-list article>div{gap:4px;min-width:0;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;font-size:12px;font-weight:700;overflow:hidden}.client-application-list small{color:var(--muted);white-space:nowrap;justify-self:end;font-size:11px;font-weight:850}.client-application-list .tiny-text-button{grid-column:1/-1;justify-self:start}.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{border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-sm);background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.coach-profile-hero:before{content:"";background:var(--accent);width:4px;position:absolute;inset:0 auto 0 0}.coach-profile-hero:after{content:none}.coach-profile-main{z-index:1;align-items:center;gap:16px;min-width:0;display:flex;position:relative}.coach-profile-avatar{border:1px solid var(--accent-line);background:var(--accent-faint);width:58px;height:58px;color:var(--accent-hover);letter-spacing:0;box-shadow:none;border-radius:16px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:950;display:inline-flex}.coach-profile-kicker{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:8px;display:flex}.coach-profile-kicker>span{border:1px solid var(--line);color:var(--muted);letter-spacing:0;text-transform:uppercase;background:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900}.coach-profile-kicker .status{color:#ea580c;background:#fff7ed;border-color:#0000}.coach-profile-hero h2{overflow-wrap:anywhere;max-width:720px;color:var(--ink-strong);letter-spacing:0;margin:0;font-size:clamp(30px,3.2vw,42px);font-weight:950;line-height:1.03}.coach-profile-meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.coach-profile-meta span{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 9px;font-size:12px;font-weight:820;display:inline-flex}.coach-profile-meta svg{color:var(--accent-hover)}.coach-profile-actions{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:340px;display:grid;position:relative}.coach-profile-actions .action-button,.coach-profile-actions .ghost-button{border-radius:10px;width:100%;min-width:0;height:40px}.coach-profile-actions .ghost-button{border-color:var(--line);color:var(--ink);background:#fff}.coach-profile-actions .ghost-button:hover{border-color:var(--accent-line);background:var(--accent-faint);color:var(--accent-hover)}.coach-profile-actions .row-action-button{color:#9a3412;background:#fff7ed;border-color:#fed7aa;border-radius:10px;grid-column:1/-1;width:100%;height:40px;font-size:13px}.coach-profile-actions .row-action-button:hover{color:#7c2d12;background:#ffedd5;border-color:#fdba74}.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{border:1px solid var(--line);min-height:132px;color:var(--muted);text-align:left;background:#fff;border-radius:8px;place-items:center;padding:24px;display:grid}.empty-state-content{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;width:min(100%,620px);display:grid}.empty-state-visual{place-items:center;width:44px;height:44px;display:grid}.empty-state-icon{border:1px solid var(--accent-line);background:var(--accent-faint);width:44px;height:44px;color:var(--accent-hover);box-shadow:none;border-radius:9px;place-items:center;display:grid}.empty-state-icon svg{stroke-width:2px}.empty-state-copy{justify-items:start;gap:4px;min-width:0;display:grid}.empty-state h3{color:var(--ink-strong);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:900;line-height:1.25}.empty-state p{max-width:540px;color:var(--muted);margin:0;font-size:12px;font-weight:680;line-height:1.45}.error-box{color:var(--danger);background:#fff7f4;border:1px solid #e8b8a9;border-radius:12px;margin:16px 0;padding:14px}.page-error-state{color:#991b1b;background:snow;border:1px solid #fecaca;border-left:3px solid #ef4444;border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;margin:16px 0;padding:14px 16px;display:grid}.page-error-state-icon{color:#dc2626;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.page-error-state>div{gap:3px;min-width:0;display:grid}.page-error-state strong{color:var(--ink-strong);font-size:14px;font-weight:900}.page-error-state p,.page-error-state small{color:#7f1d1d;margin:0;font-size:12px;line-height:1.4}.page-error-state small{color:#9f1239;opacity:.85}.page-error-state .ghost-button{color:#b91c1c;background:#fff;border-color:#fecaca;border-radius:8px;width:auto;min-height:34px;padding:0 10px}.page-error-state.is-compact{grid-template-columns:26px minmax(0,1fr) auto;gap:9px;margin:10px 0;padding:10px 12px}.page-error-state.is-compact .page-error-state-icon{width:26px;height:26px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;max-width:100%;display:grid}.form-grid>*{min-width:0;max-width:100%}.field{gap:6px;min-width:0;max-width:100%;display:grid}.field label,.field>span{color:var(--ink);font-size:13px;font-weight:700}.field>input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),.field>select,.field>textarea,.field>.custom-select,.field>.custom-date,.field>.custom-time,.field>.booking-court-select{width:100%;min-width:0;max-width:100%}.field input,.field textarea{border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink);min-height:var(--control-height);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;outline:0;padding:0 12px;font-size:13px;font-weight:760}.field input:hover,.field textarea:hover{border-color:var(--accent-line);background:#fbfefc}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:var(--control-focus-ring);background:#fff}.field .custom-time-trigger input,.booking-inline-form .custom-time-trigger input{min-height:calc(var(--control-height) - 2px);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:13px;font-weight:850}.field .custom-date-input,.booking-inline-form .custom-date-input{min-height:calc(var(--control-height) - 2px);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:13px;font-weight:800}.field .custom-time-trigger input:hover,.field .custom-time-trigger input:focus,.booking-inline-form .custom-time-trigger input:hover,.booking-inline-form .custom-time-trigger input:focus,.field .custom-date-input:hover,.field .custom-date-input:focus,.booking-inline-form .custom-date-input:hover,.booking-inline-form .custom-date-input:focus{box-shadow:none;background:0 0;border:0}.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,.group-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,.group-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,.group-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}.crm-shell:has(.workspace .entity-modal) .topbar:after{content:"";z-index:120;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#0f172a6b;animation:.24s both modal-backdrop-in;position:absolute;inset:0}.crm-shell:has(.workspace .entity-modal) .sidebar:after{content:"";z-index:120;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#0f172a6b;animation:.24s both modal-backdrop-in;position:absolute;inset:0}.crm-shell:has(.workspace .entity-modal.is-closing) .topbar:after{animation:.18s both modal-backdrop-out}.crm-shell:has(.workspace .entity-modal.is-closing) .sidebar:after{animation:.18s both modal-backdrop-out}.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%);min-width:0;max-width:100%;max-height:min(760px,100vh - 32px);animation:.28s cubic-bezier(.16,1,.3,1) both modal-panel-in;position:relative;overflow:clip 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;min-width:0;max-width:100%;padding:22px 24px 18px;display:flex;position:sticky;top:0}.entity-modal-head>*{min-width:0;max-width:100%}.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;min-width:0;max-width:100%;padding:22px 24px 24px;display:grid}.entity-modal-form>*,.entity-modal-panel form,.entity-modal-panel form>*,.entity-modal-panel section,.entity-modal-panel main,.entity-modal-panel aside,.entity-modal-panel input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),.entity-modal-panel select,.entity-modal-panel textarea{min-width:0;max-width:100%}.entity-modal-panel .form-grid>.field:nth-child(2n) .custom-select-menu,.entity-modal-panel .form-grid>.field:nth-child(2n) .custom-date-popover,.entity-modal-panel .form-grid>.field:nth-child(2n) .custom-time-popover{left:auto;right:0}.entity-modal-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.entity-modal-actions>*{min-width:0;max-width:100%}.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)}.archive-reason-field{gap:6px;display:grid}.archive-reason-field>span{color:var(--ink-strong);font-size:12px;font-weight:850}.archive-reason-field textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:82px;color:var(--ink-strong);font:inherit;background:#fff;border-radius:10px;outline:none;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.4}.archive-reason-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #10b9811f}.archive-reason-field small{color:var(--muted);font-size:11px;font-weight:650;line-height:1.35}.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,.tiny-text-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}.tiny-text-button{min-height:30px;padding:0 10px;font-size:12px;font-weight:900}.role-save-button:not(:disabled):hover,.tiny-icon-button:not(:disabled):hover,.tiny-text-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,.tiny-text-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{min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--muted);box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;align-items:center;gap:10px;padding:0 12px;display:flex}.role-permission-search:focus-within{border-color:var(--accent);box-shadow:var(--control-focus-ring);background:#fff}.role-permission-search input{width:100%;color:var(--ink);border:0;outline:0;font-size:13px;font-weight:760}.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}.full-access-warning{color:#92400e;background:#fffbeb;border:1px solid #f59e0b57;border-radius:9px;grid-column:1/-1;padding:7px 8px;font-size:11px;font-weight:700;line-height:1.35}.full-access-warning strong{font-weight:950}.role-empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:16px;padding:28px;font-weight:750}.roles-management-page .role-workbench-flat{box-shadow:none;border-radius:10px;overflow:hidden}.roles-management-page .role-workbench-flat .role-editor-message{border-width:0 0 1px;border-radius:0;margin:0}.roles-management-page .role-workbench-flat .role-workbench-layout{border-top:0;grid-template-columns:228px minmax(0,1fr);align-items:stretch}.roles-management-page .role-workbench-flat .role-switcher-panel{scrollbar-gutter:auto;background:#f8fafc;grid-template-columns:1fr;gap:0;max-height:none;padding:0;overflow:visible}.roles-management-page .role-workbench-flat .role-side-title{border-bottom:1px solid var(--line);min-height:48px;padding:0 14px}.roles-management-page .role-workbench-flat .role-side-title strong{background:0 0;min-width:auto;padding:0}.roles-management-page .role-workbench-flat .role-switcher-item{border:0;border-bottom:1px solid var(--line);min-height:58px;transition:background var(--transition), color var(--transition);background:0 0;border-radius:0;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;padding:9px 12px}.roles-management-page .role-workbench-flat .role-switcher-item:hover{border-color:var(--line);background:#f1f5f9;transform:none}.roles-management-page .role-workbench-flat .role-switcher-item.active{border-color:var(--line);box-shadow:inset 3px 0 0 var(--accent);background:#ecfdf5}.roles-management-page .role-workbench-flat .role-switcher-icon{background:#10b98117;border-radius:7px;width:30px;height:30px}.roles-management-page .role-workbench-flat .role-switcher-copy strong{font-size:13px}.roles-management-page .role-workbench-flat .role-switcher-item em{border-radius:6px;min-width:28px;padding:4px 6px}.roles-management-page .role-workbench-flat .role-switcher-item.active em{color:var(--accent-hover);background:#10b98124}.roles-management-page .role-workbench-flat .role-switcher-item i{width:6px;height:6px;box-shadow:none;top:7px;right:7px}.roles-management-page .role-workbench-flat .role-detail-panel{background:#fff;gap:0;padding:0}.roles-management-page .role-workbench-flat .role-compact-head{border:0;border-bottom:1px solid var(--line);border-radius:0;align-items:center;min-height:78px;padding:14px 16px}.roles-management-page .role-workbench-flat .role-compact-head strong{font-size:17px}.roles-management-page .role-workbench-flat .role-compact-count{border-left:1px solid var(--line);background:0 0;border-radius:0;min-width:62px;padding:4px 0 4px 14px}.roles-management-page .role-workbench-flat .role-compact-count b{font-size:19px}.roles-management-page .role-workbench-flat .role-toolbar-simple{border:0;border-bottom:1px solid var(--line);background:#fbfcfd;border-radius:0;padding:10px 12px}.roles-management-page .role-workbench-flat .role-permission-search{min-height:40px;box-shadow:none;border-radius:8px}.roles-management-page .role-workbench-flat .role-search-meta{background:#eef2f7;border-radius:6px}.roles-management-page .role-workbench-flat .role-toolbar-actions .action-button,.roles-management-page .role-workbench-flat .role-toolbar-actions .ghost-button{min-width:116px;box-shadow:none;border-radius:8px}.roles-management-page .role-workbench-flat .role-secondary-actions{border:0;border-bottom:1px solid var(--line);background:#fff;border-radius:0}.roles-management-page .role-workbench-flat .role-secondary-actions summary{padding:10px 14px}.roles-management-page .role-workbench-flat .role-copy-button{border-radius:7px;transform:none}.roles-management-page .role-workbench-flat .role-copy-button:hover{transform:none}.roles-management-page .role-workbench-flat .role-access-mode{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:72px;padding:12px 14px;display:grid}.roles-management-page .role-workbench-flat .role-access-mode.active{background:#f3fbf7}.roles-management-page .role-workbench-flat .role-access-mode-icon{border:1px solid var(--accent-line);width:38px;height:38px;color:var(--accent-hover);background:#fff;border-radius:8px;place-items:center;display:grid}.roles-management-page .role-workbench-flat .role-access-mode-copy{gap:2px;min-width:0;display:grid}.roles-management-page .role-workbench-flat .role-access-mode-copy strong{color:var(--ink-strong);font-size:14px;font-weight:950}.roles-management-page .role-workbench-flat .role-access-mode-copy small{color:var(--muted);font-size:11px;font-weight:650;line-height:1.35}.roles-management-page .role-workbench-flat .role-access-mode-copy em{color:#9a3412;font-size:10px;font-style:normal;font-weight:750;line-height:1.35}.roles-management-page .role-workbench-flat .role-access-mode-actions{align-items:center;gap:7px;display:flex}.roles-management-page .role-workbench-flat .role-granular-button,.roles-management-page .role-workbench-flat .role-access-mode-toggle{border:1px solid var(--line);min-height:36px;color:var(--ink-strong);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:850;display:inline-flex}.roles-management-page .role-workbench-flat .role-granular-button:hover,.roles-management-page .role-workbench-flat .role-access-mode-toggle.active{border-color:var(--accent-line);color:var(--accent-hover)}.roles-management-page .role-workbench-flat .role-access-mode-toggle .permission-mini-switch{background:#dbe3ec;width:30px;height:18px}.roles-management-page .role-workbench-flat .role-access-mode-toggle .permission-mini-switch:after{width:12px;height:12px}.roles-management-page .role-workbench-flat .role-access-mode-toggle.active .permission-mini-switch{background:var(--accent)}.roles-management-page .role-workbench-flat .role-access-mode-toggle.active .permission-mini-switch:after{transform:translate(12px)}.roles-management-page .role-workbench-flat .role-permission-matrix{background:#f8fafc;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.roles-management-page .role-workbench-flat .permission-module-card{border:1px solid var(--line);min-width:0;box-shadow:none;background:#fff;border-radius:8px;overflow:hidden}.roles-management-page .role-workbench-flat .permission-module-card.is-open{grid-column:1/-1}.roles-management-page .role-workbench-flat .permission-module-head{background:#fff;align-items:center;min-height:56px;padding:0 9px 0 12px}.roles-management-page .role-workbench-flat .permission-module-disclosure{min-width:0;min-height:54px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px 7px 0;display:flex}.roles-management-page .role-workbench-flat .permission-module-disclosure>span{gap:3px;min-width:0;display:grid}.roles-management-page .role-workbench-flat .permission-module-disclosure small{color:var(--accent-hover);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:950}.roles-management-page .role-workbench-flat .permission-module-disclosure strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;line-height:1.15;overflow:hidden}.roles-management-page .role-workbench-flat .permission-module-disclosure svg{color:var(--muted);transition:transform var(--transition);flex:none}.roles-management-page .role-workbench-flat .permission-module-card.is-open .permission-module-disclosure svg{transform:rotate(180deg)}.roles-management-page .role-workbench-flat .module-toggle-button{border-radius:6px;padding:7px 8px}.roles-management-page .role-workbench-flat .permission-card-list{border-top:1px solid var(--line);gap:0;padding:0}.roles-management-page .role-workbench-flat .permission-card-row-simple{min-height:50px;box-shadow:none;background:#fff;border:0;border-bottom:1px solid #edf1f5;border-radius:0;grid-template-columns:36px minmax(0,1fr);padding:8px 12px}.roles-management-page .role-workbench-flat .permission-card-row-simple:last-child{border-bottom:0}.roles-management-page .role-workbench-flat .permission-card-row-simple:hover{background:#f8fafc;border-color:#edf1f5}.roles-management-page .role-workbench-flat .permission-card-row-simple.checked{background:#f4fcf8;border-color:#edf1f5;box-shadow:inset 3px 0 #10b981b3}.roles-management-page .role-workbench-flat .permission-mini-switch{width:34px;height:20px}.roles-management-page .role-workbench-flat .permission-mini-switch:after{width:14px;height:14px}.roles-management-page .role-workbench-flat .permission-card-row.checked .permission-mini-switch:after{transform:translate(14px)}.roles-management-page .role-workbench-flat .permission-card-copy{gap:2px}.roles-management-page .role-workbench-flat .full-access-warning{border-radius:6px}.roles-management-page .role-workbench-flat .role-empty-state{border:0;border-top:1px solid var(--line);border-radius:0}@media (max-width:1120px){.roles-management-page .role-workbench-flat .role-workbench-layout{grid-template-columns:1fr}.roles-management-page .role-workbench-flat .role-switcher-panel{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr))}.roles-management-page .role-workbench-flat .role-side-title{grid-column:1/-1}.roles-management-page .role-workbench-flat .role-switcher-item:nth-child(2n){border-right:1px solid var(--line)}}@media (max-width:680px){.roles-management-page .role-workbench-flat .role-switcher-panel{grid-template-columns:1fr}.roles-management-page .role-workbench-flat .role-switcher-item:nth-child(2n){border-right:0}.roles-management-page .role-workbench-flat .role-compact-head{align-items:flex-start}.roles-management-page .role-workbench-flat .role-compact-head>div:first-child{grid-template-columns:auto minmax(0,1fr);display:grid}.roles-management-page .role-workbench-flat .role-compact-head small{grid-column:1/-1}.roles-management-page .role-workbench-flat .role-toolbar{grid-template-columns:1fr}.roles-management-page .role-workbench-flat .role-toolbar-actions{flex-direction:row}.roles-management-page .role-workbench-flat .role-toolbar-actions .action-button,.roles-management-page .role-workbench-flat .role-toolbar-actions .ghost-button{width:auto}.roles-management-page .role-workbench-flat .role-access-mode{grid-template-columns:34px minmax(0,1fr)}.roles-management-page .role-workbench-flat .role-access-mode-icon{width:34px;height:34px}.roles-management-page .role-workbench-flat .role-access-mode-actions{grid-column:1/-1}.roles-management-page .role-workbench-flat .role-access-mode-actions>button{flex:1}.roles-management-page .role-workbench-flat .role-permission-matrix{grid-template-columns:1fr}.roles-management-page .role-workbench-flat .permission-module-head{flex-direction:row}.roles-management-page .role-workbench-flat .module-toggle-button{width:auto}}.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);background:#fff;align-items:center;gap:12px;min-height:58px;padding:10px 14px;display:flex}.search-input-row svg{color:var(--muted);flex:none}.search-input-row input{min-width:0;min-height:var(--control-height);color:var(--ink);border:0;outline:0;flex:1;font-size:15px;font-weight:700}.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-error-page{background:radial-gradient(circle at 50% 16%,#10b9811c,#0000 35%);place-items:center;min-height:calc(100vh - 64px);padding-top:40px;padding-bottom:48px}.dashboard-error-card{isolation:isolate;background:linear-gradient(145deg,#fffffffa 0%,#f0fdf4f0 100%);border:1px solid #10b98133;border-radius:28px;justify-items:center;gap:24px;width:min(720px,100%);padding:clamp(30px,5vw,54px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #0f172a1f,0 8px 28px #10b98114}.dashboard-error-card:before{content:"";z-index:-1;border:42px solid #10b98112;border-radius:999px;width:330px;height:330px;position:absolute;top:-150px;right:-110px}.dashboard-error-card:after{content:"";z-index:-1;background:#bbf7d03d;border-radius:999px;width:250px;height:250px;position:absolute;bottom:-120px;left:-90px}.dashboard-error-copy{text-align:center;justify-items:center;gap:10px;max-width:560px;display:grid}.dashboard-error-icon{border:1px solid var(--accent-line);width:66px;height:66px;color:var(--accent-hover);background:#fff;border-radius:22px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex;box-shadow:0 14px 30px #10b98129}.dashboard-error-eyebrow{border:1px solid var(--accent-line);min-height:28px;color:var(--accent-hover);letter-spacing:.12em;text-transform:uppercase;background:#ffffffc7;border-radius:999px;justify-content:center;align-items:center;padding:0 11px;font-size:10px;font-weight:950;line-height:1;display:inline-flex}.dashboard-error-copy h2{color:var(--ink-strong);letter-spacing:-.045em;margin:2px 0 0;font-size:clamp(28px,4vw,40px);font-weight:950;line-height:1.02}.dashboard-error-copy p{max-width:520px;color:var(--muted);margin:2px 0 0;font-size:14px;font-weight:680;line-height:1.55}.dashboard-error-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.dashboard-error-actions .action-button,.dashboard-error-actions .ghost-button{border-radius:13px;min-width:180px;height:46px;font-size:13px;font-weight:900}.dashboard-retry-button{box-shadow:0 12px 24px #10b98138}.dashboard-error-hint{width:min(540px,100%);color:var(--accent-hover);text-align:left;background:#ffffffb8;border:1px solid #10b98129;border-radius:16px;align-items:flex-start;gap:10px;padding:13px 14px;display:flex}.dashboard-error-hint>svg{flex:none;margin-top:1px}.dashboard-error-hint>span{gap:3px;min-width:0;display:grid}.dashboard-error-hint strong{color:var(--ink-strong);font-size:12px;font-weight:900;line-height:1.2}.dashboard-error-hint small{color:var(--muted);font-size:11px;font-weight:680;line-height:1.45}.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);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:0 0 8px;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}.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{background:linear-gradient(#fff 0%,#fbfefd 100%);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:0;margin:4px 0 0;font-size:18px;font-weight:900;line-height:1.15}.chart-card-header strong{color:var(--accent-hover);white-space:nowrap;background:linear-gradient(135deg,#d1fae5,#ecfdf5);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;box-shadow:inset 0 0 0 1px #10b9811f}.area-chart{width:100%;height:auto;min-height:190px;display:block;overflow:visible}.area-chart text{font-family:inherit}.chart-plot-bg{fill:#ecfdf585;stroke:#10b98114}.chart-grid-line{stroke:#64748b2e;stroke-width:1.2px;stroke-dasharray:9 12}.chart-guide-line{stroke:#10b9811a;stroke-width:1px;stroke-dasharray:4 12}.chart-line-halo{stroke:#a7f3d0b8;stroke-width:14px;stroke-linecap:round;stroke-linejoin:round}.chart-line{stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.chart-point-outer{fill:#fff;stroke:#10b981;stroke-width:4px}.chart-point-inner{fill:#064e3b}.chart-value-pill{fill:#fff;stroke:#10b98129;stroke-width:1px}.area-chart .chart-value{fill:#064e3b;font-size:13px;font-weight:950}.chart-month-label{fill:#64748b;font-size:14px;font-weight:850}.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 (max-width:820px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important}}@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}}
