:root{--red: #E11D2A;--red-deep: #B5121F;--red-bright: #F23847;--red-soft: rgba(225, 29, 42, .08);--red-tint: #FDECEE;--red-line: rgba(225, 29, 42, .22);--sweatt-red: var(--red);--sweatt-red-deep: var(--red-deep);--sweatt-red-soft: var(--red-tint);--sweatt-red-line: var(--red-line);--sweatt-ink: #16161A;--sweatt-ink-2: #26262B;--bg: #F6F7F9;--bg-2: #EEF0F3;--surface: #FFFFFF;--surface-2: #F4F5F7;--surface-3: #ECEEF1;--surface-hover: #F0F1F4;--text: #16161A;--text-2: #3F3F46;--text-3: #71717A;--text-4: #A1A1AA;--text-on-dark: #FFFFFF;--text-on-dark-2: rgba(255,255,255,.78);--text-on-dark-3: rgba(255,255,255,.55);--border: #E7E8EC;--border-strong: #D6D8DD;--border-soft: #F0F1F3;--ok: #0E9F6E;--ok-soft: #E6F6EF;--warn: #B45309;--warn-soft: #FCF1E2;--info: #2563EB;--info-soft: #E8EFFE;--danger: var(--red);--danger-soft: var(--red-tint);--radius-sm: 9px;--radius: 12px;--radius-lg: 16px;--radius-xl: 22px;--shadow-sm: 0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.05);--shadow: 0 2px 6px -2px rgba(16,24,40,.06), 0 12px 28px -10px rgba(16,24,40,.1);--shadow-lg: 0 24px 60px -18px rgba(16,24,40,.22);--glow: 0 8px 22px -10px rgba(225,29,42,.55);--font-sans: "Google Sans Flex", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Menlo", "Monaco", monospace;--rail: 244px;--topbar: 64px;--content-max: 1340px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;max-width:100%;overflow-x:hidden}body{margin:0;font-family:var(--font-sans);font-feature-settings:"ss01","ss02","cv11";font-variant-numeric:tabular-nums;letter-spacing:-.005em;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,video,canvas,svg{max-width:100%}h1,h2,h3,h4{letter-spacing:-.025em;color:var(--text)}a{color:var(--red);text-decoration:none}a:hover{color:var(--red-deep)}::selection{background:var(--red-tint);color:var(--red-deep)}*{scrollbar-width:thin;scrollbar-color:#CFD2D8 transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d3d6dc;border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#bcc0c8;background-clip:content-box}button{font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:9px 15px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;letter-spacing:-.005em;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .04s ease}button:hover{background:var(--surface-2);border-color:var(--border-strong)}button:active{transform:translateY(.5px)}button:focus-visible{outline:2px solid var(--red);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.accent,button.primary,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--red);border:1px solid var(--red);color:#fff;padding:9px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;letter-spacing:-.005em;box-shadow:var(--glow);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .04s ease}button.accent:hover,button.primary:hover,.button-link:hover{background:var(--red-bright);border-color:var(--red-bright);box-shadow:0 10px 26px -10px #e11d2ab3;color:#fff;text-decoration:none}button.accent:active,button.primary:active,.button-link:active{transform:translateY(.5px)}button.ghost,.ghost-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--surface);color:var(--text-2);border:1px solid var(--border);padding:9px 15px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;text-decoration:none;box-shadow:var(--shadow-sm);transition:background .14s ease,border-color .14s ease,color .14s ease}button.ghost:hover,.ghost-link:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text);text-decoration:none}button.subtle{background:var(--surface-2);color:var(--text-2);border:1px solid transparent;box-shadow:none}button.subtle:hover{background:var(--surface-3);color:var(--text)}button.danger{background:var(--red);border-color:var(--red);color:#fff;box-shadow:var(--glow)}button.danger:hover{background:var(--red-bright);border-color:var(--red-bright)}input,select,textarea{font:inherit;width:100%;padding:10px 13px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13.5px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}input::placeholder,textarea::placeholder{color:var(--text-4)}input:hover,select:hover,textarea:hover{border-color:#c4c7ce}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px var(--red-soft)}label{display:block;font-size:10.5px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}.field{margin-bottom:15px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-actions{display:flex;align-items:center;gap:10px;margin-top:6px}.hint{color:var(--text-3);font-size:12px;margin-top:8px}.shell{display:flex;min-height:100vh}.sidebar{width:var(--rail);background:var(--surface);color:var(--text-2);padding:20px 14px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;max-height:100vh;overflow-y:auto;border-right:1px solid var(--border);-webkit-overflow-scrolling:touch}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#e0e2e7}.mobile-menu-btn,.mobile-sidebar-close,.mobile-sidebar-scrim{display:none}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;margin-bottom:8px;border-bottom:1px solid var(--border-soft)}.sidebar-brand img{height:24px;display:block}.sidebar-brand .wordmark{font-family:var(--font-sans);font-weight:700;font-size:23px;letter-spacing:-.04em;color:var(--text)}.sidebar-brand .wordmark .accent-letter{color:var(--red)}.sidebar-brand .role-tag{display:none}.nav-section{display:flex;flex-direction:column;gap:3px}.nav-section+.nav-section{margin-top:20px}.nav-label{font-size:10px;letter-spacing:.16em;color:var(--text-4);padding:0 12px 8px;font-weight:700;text-transform:uppercase}.sidebar nav a,.nav-section a{display:flex;align-items:center;gap:12px;color:var(--text-2);padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:500;letter-spacing:-.005em;text-decoration:none;position:relative;transition:background .15s ease,color .15s ease}.sidebar nav a svg,.nav-section a svg{opacity:.6;flex-shrink:0;transition:opacity .15s ease,color .15s ease}.sidebar nav a:hover,.nav-section a:hover{background:var(--surface-2);color:var(--text)}.sidebar nav a:hover svg,.nav-section a:hover svg{opacity:.9}.sidebar nav a.active,.nav-section a.active{background:var(--red-tint);color:var(--red-deep);font-weight:600}.sidebar nav a.active svg,.nav-section a.active svg{opacity:1;color:var(--red)}.sidebar-spacer{flex:1;min-height:14px}.provider-switcher{display:none}.sidebar .user{padding:14px 8px 4px;border-top:1px solid var(--border-soft);font-size:12px;color:var(--text-3)}.sidebar .user .email{font-size:12px;color:var(--text-2);font-weight:600;margin-bottom:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .user .row-bottom{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sidebar .user .role-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);font-size:9px;padding:3px 8px;letter-spacing:.14em;font-weight:700}.sidebar .user button{background:var(--surface);border:1px solid var(--border);color:var(--text-2);font-size:11.5px;padding:5px 10px;font-weight:600;box-shadow:none}.sidebar .user button:hover{background:var(--red);border-color:var(--red);color:#fff}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar);display:flex;align-items:center;gap:14px;padding:0 30px;background:#ffffffd1;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border)}.topbar .crumbs{font-size:13.5px;color:var(--text-3);display:flex;align-items:center;gap:8px}.topbar .crumbs .sep{color:var(--text-4);font-weight:300}.topbar .crumbs .current{color:var(--text);font-weight:600}.topbar .crumbs span:not(.current):not(.sep){color:var(--text-3)}.topbar .spacer{flex:1}.topbar-acting-as{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3);padding:7px 14px 7px 15px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm)}.topbar-acting-as label{margin:0;padding:0;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);font-weight:700}.topbar-acting-as select{border:none;padding:0 18px 0 0;width:auto;background:transparent;font-size:12.5px;font-weight:600;color:var(--text);-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2371717A' stroke-width='2.5' stroke-linecap='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right center}.topbar-acting-as select:focus{box-shadow:none;outline:none}.topbar .search,.topbar .icon-btn,.topbar .ccy-select{display:none}.topbar-account{position:relative}.account-trigger{display:inline-flex;align-items:center;gap:9px;padding:6px 10px 6px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);font-weight:600;font-size:13px}.account-trigger:hover{background:var(--surface-2)}.account-trigger svg{color:var(--text-3)}.account-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f23847,#b5121f);color:#fff;font-size:12px;font-weight:700}.account-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:8px;display:grid;gap:4px;animation:fade-in-up .14s ease both}.account-menu-head{padding:10px 10px 12px;border-bottom:1px solid var(--border-soft);margin-bottom:4px}.account-menu-name{font-size:13.5px;font-weight:700;color:var(--text)}.account-menu-email{font-size:12px;color:var(--text-3);margin-top:2px;word-break:break-all}.account-menu button{width:100%;text-align:left;justify-content:flex-start;background:transparent;border:none;box-shadow:none;padding:9px 10px;border-radius:8px;color:var(--text-2);font-weight:600;font-size:13px}.account-menu button:hover{background:var(--surface-2);color:var(--text)}.account-menu button.danger{background:transparent;color:var(--red-deep)}.account-menu button.danger:hover{background:var(--red-tint);color:var(--red-deep)}@media (max-width: 600px){.account-name{display:none}}.content{flex:1;padding:30px 36px 84px;overflow:auto;min-width:0;max-width:var(--content-max);margin:0 auto;width:100%}.shell .has-topbar{padding-top:28px}.page-header,.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px}.page-header h1,.page-head h1{margin:2px 0 6px;font-size:28px;font-weight:700;letter-spacing:-.03em}.page-header .subtitle,.page-head .sub{font-size:14px;color:var(--text-3);margin-top:0;max-width:64ch;line-height:1.5}.page-header-actions,.page-head .actions{display:flex;gap:10px;align-items:center}.page-header .role-pill.big{display:none}.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:5px}.section-title{font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--text-3);text-transform:uppercase;margin:8px 0 12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 24px;box-shadow:var(--shadow-sm)}.card+.card{margin-top:16px}.card h2{margin:0 0 14px;font-size:16px;font-weight:700;letter-spacing:-.015em}.card .card-subtitle{margin:-8px 0 16px;font-size:13px;color:var(--text-3);line-height:1.45}.card .hd{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border-soft)}.card .hd h2,.card .hd h3{margin:0}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:22px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}.stat:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--border-strong)}.stat .label,.stat .lbl{color:var(--text-3);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.stat .value,.stat .num{font-family:var(--font-sans);font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--text)}.stat .value .ccy,.stat .num .currency{font-family:var(--font-sans);font-size:14px;font-weight:700;color:var(--text-3);margin-right:3px;letter-spacing:-.01em;text-transform:none}.stat .delta{font-family:var(--font-mono);font-size:11.5px;color:var(--ok);margin-top:8px;font-weight:600;font-variant-numeric:tabular-nums}.stat .delta.down{color:var(--red)}.stat .spark{display:none}.stat.featured,.stat.hilite{background:linear-gradient(135deg,#f23847,#c9101d);border-color:transparent;box-shadow:var(--glow)}.stat.featured .label,.stat.hilite .label,.stat.featured .lbl,.stat.hilite .lbl{color:#ffffffc7}.stat.featured .value,.stat.hilite .value,.stat.featured .num,.stat.hilite .num{color:#fff}.stat.featured .value .ccy,.stat.hilite .num .currency{color:#ffffffd1}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 16px;font-size:13.5px}th{color:var(--text-3);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;background:transparent;border-bottom:1px solid var(--border)}td{border-bottom:1px solid var(--border-soft);color:var(--text-2)}td strong{color:var(--text);font-weight:600}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}td.num,th.num,.tnum,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}table.compact th,table.compact td{padding:10px 12px;font-size:13px}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-actions button{padding:6px 11px;font-size:12px}.badge,.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;background:var(--surface-2);color:var(--text-2);border:1px solid transparent}.badge .led,.chip .led{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.badge.green,.chip.ok{background:var(--ok-soft);color:var(--ok)}.badge.red,.chip.bad{background:var(--red-tint);color:var(--red-deep)}.badge.amber,.chip.warn{background:var(--warn-soft);color:var(--warn)}.badge.blue,.chip.info{background:var(--info-soft);color:var(--info)}.badge.gray,.chip.neutral{background:var(--surface-2);color:var(--text-3)}.chip.ink{background:var(--text);color:#fff}.role-pill{display:inline-flex;align-items:center;font-size:10px;padding:4px 10px;background:var(--surface-2);color:var(--text-3);border:1px solid var(--border);border-radius:999px;letter-spacing:.1em;font-weight:700;text-transform:uppercase}.role-pill.big{font-size:10.5px;padding:5px 12px;background:var(--red);color:#fff;border-color:var(--red)}.tab-row{display:flex;align-items:center;border-bottom:1px solid var(--border);margin-bottom:20px}.tab-row button{background:transparent;border:none;color:var(--text-3);box-shadow:none;padding:11px 15px;font-size:13.5px;font-weight:600;letter-spacing:-.005em;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;transition:color .14s ease,border-color .14s ease}.tab-row button:hover{color:var(--text);background:transparent}.tab-row button.active{color:var(--red-deep);border-bottom-color:var(--red)}.toggle-row,.seg-group,.range-seg{display:inline-flex;border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);padding:3px;gap:3px}.toggle-row button,.seg-group button,.range-seg button{background:transparent;border:none;color:var(--text-3);box-shadow:none;padding:6px 12px;font-size:12px;font-weight:600;border-radius:7px;transition:background .14s ease,color .14s ease}.toggle-row button.active,.seg-group button.active,.range-seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.toggle-row button:hover,.seg-group button:hover,.range-seg button:hover{color:var(--text)}.switch{width:34px;height:20px;border-radius:999px;background:#d3d6dc;border:none;position:relative;cursor:pointer;transition:background .15s ease;flex-shrink:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .15s ease}.switch.on{background:var(--red)}.switch.on:after{transform:translate(14px)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.stepper button{background:transparent;border:none;color:var(--text-2);padding:5px 12px;font-size:14px;font-weight:600;box-shadow:none}.stepper button:hover{background:var(--surface-2)}.stepper .val{padding:0 10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;min-width:28px;text-align:center}.error{color:var(--red-deep);background:var(--red-tint);border:1px solid var(--red-line);border-radius:var(--radius-sm);padding:12px 14px;margin-top:10px;font-size:13px;font-weight:500}.success{color:var(--ok);background:var(--ok-soft);border:1px solid rgba(14,159,110,.25);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px;font-size:13px;font-weight:600}.muted{color:var(--text-3);font-size:13px}.empty{padding:48px 20px;text-align:center;color:var(--text-3);font-size:14px}.empty .empty-icon{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;background:var(--surface-2);border-radius:16px;margin-bottom:14px;font-size:26px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1018286b;display:grid;place-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in .15s ease}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;width:540px;max-width:calc(100vw - 40px);max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg);animation:scale-in .18s ease}.modal h2{margin:0 0 6px;font-size:20px;font-weight:700}.modal .modal-subtitle{margin:0 0 22px;color:var(--text-3);font-size:13.5px;line-height:1.5}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;padding-top:20px;border-top:1px solid var(--border-soft)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-split{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-aside{position:relative;overflow:hidden;padding:48px;display:flex;flex-direction:column;justify-content:space-between;background-image:var(--auth-bg, none);background-size:cover;background-position:center;color:#fff}.auth-aside:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(150deg,#b5121fb8,#e11d2a99 52%,#ff5a478c)}.auth-aside-top{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.auth-aside-top img{height:26px;filter:brightness(0) invert(1)}.auth-aside-body{position:relative;z-index:1}.auth-aside-body h2{color:#fff;font-size:38px;line-height:1.08;letter-spacing:-.035em;margin:0 0 16px;max-width:14ch}.auth-aside-body p{color:#ffffffdb;font-size:15px;line-height:1.6;margin:0;max-width:42ch}.auth-aside-foot{position:relative;z-index:1;display:flex;gap:26px}.auth-aside-foot .stat-mini strong{display:block;font-size:24px;font-weight:700;letter-spacing:-.02em}.auth-aside-foot .stat-mini span{font-size:12px;color:#ffffffc7}.auth-main{display:grid;place-items:center;padding:40px 24px;background:var(--surface)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:400px;max-width:100%;background:transparent;padding:0;border:none;box-shadow:none;animation:fade-in-up .4s ease both}.auth-main .login-card{width:380px}.login-card .login-logo{height:30px;margin-bottom:26px;display:block}.auth-main .login-card .login-logo{display:none}.login-card h1{margin:0 0 8px;font-size:27px;font-weight:700;letter-spacing:-.03em}.login-card p{margin:0 0 28px;color:var(--text-3);font-size:14.5px;line-height:1.5}.login-card button{width:100%;padding:12px}.login-footer{margin-top:22px;font-size:12px;color:var(--text-4);text-align:center;letter-spacing:.01em}.kpi-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:14px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:8px;min-height:116px;box-shadow:var(--shadow-sm);transition:box-shadow .16s ease,transform .16s ease}.kpi:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.kpi .label{font-size:10.5px;letter-spacing:.12em;color:var(--text-3);font-weight:700;text-transform:uppercase}.kpi .value{font-size:28px;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1.1}.kpi .value .ccy{font-size:14px;font-weight:700;color:var(--text-3);margin-right:2px}.kpi .meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:11.5px;font-weight:600;color:var(--text-3)}.kpi .meta .up{color:var(--ok)}.kpi .meta .down{color:var(--red)}.kpi.hero{background:linear-gradient(135deg,#f23847,#c9101d);border-color:transparent;color:#fff;box-shadow:var(--glow)}.kpi.hero .label{color:#ffffffc7}.kpi.hero .value{color:#fff}.kpi.hero .value .ccy,.kpi.hero .meta{color:#ffffffd1}.dash-2col{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;margin-bottom:16px}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;display:flex;flex-direction:column;min-height:320px;box-shadow:var(--shadow-sm)}.dash-card .hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.dash-card .hd h3{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}.dash-card .hd .sub{font-size:11.5px;color:var(--text-3);font-weight:500}.dash-card .body{flex:1;min-height:0}.top-list{display:grid;gap:2px}.top-list-row{display:grid;grid-template-columns:32px 1fr auto;gap:11px;align-items:center;padding:9px 8px;border-radius:10px;cursor:default;position:relative;transition:background .12s ease}.top-list-row:hover{background:var(--surface-2)}.top-list-row .avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:11.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,#f23847,#b5121f)}.top-list-row .name{font-size:13.5px;font-weight:600;color:var(--text)}.top-list-row .meta{font-size:11px;color:var(--text-3)}.top-list-row .right{text-align:right;font-size:13.5px;font-weight:700;color:var(--text)}.top-list-row .right .mini{font-size:10.5px;color:var(--text-3);font-weight:500}.activity-thumb{width:100%;aspect-ratio:16 / 7;background-size:cover;background-position:center;border-radius:var(--radius);position:relative}.activity-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.6));border-radius:var(--radius)}.activity-thumb-title{position:absolute;bottom:11px;left:14px;color:#fff;font-weight:700;font-size:14px;letter-spacing:-.01em;z-index:1}.activity-thumb-link{display:block;transition:transform .15s ease}.activity-thumb-link:hover{transform:translateY(-2px)}.empty-rich{text-align:center;padding:40px 20px;display:grid;gap:6px;justify-items:center}.empty-rich img{width:88px;height:88px;object-fit:cover;border-radius:22px;opacity:.85}.empty-rich h4{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--text)}.empty-rich p{margin:0;color:var(--text-3);font-size:12.5px;max-width:34ch}.flow-grid{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.flow-step{flex:1 1 150px;min-width:130px;border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:var(--surface-2);display:flex;flex-direction:column;gap:6px}.flow-step.emphasis{background:var(--red-tint);border-color:var(--red-line)}.flow-dot{width:10px;height:10px;border-radius:3px;background:var(--text-3)}.flow-dot.ink{background:var(--text)}.flow-dot.green{background:var(--ok)}.flow-dot.red{background:var(--red)}.flow-dot.amber{background:var(--warn)}.flow-label{font-size:11px;font-weight:600;color:var(--text-3);line-height:1.3}.flow-value{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.flow-step.emphasis .flow-value{color:var(--red-deep)}.flow-arrow{display:flex;align-items:center;color:var(--text-4);font-size:18px}@media (max-width: 980px){.flow-arrow{display:none}.flow-step{flex-basis:100%}}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#1018286b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .15s ease}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(480px,94vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:drawer-in .22s ease}@keyframes drawer-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-head{display:flex;align-items:center;gap:14px;padding:22px 24px;border-bottom:1px solid var(--border-soft)}.drawer-head .av{width:48px;height:48px;font-size:17px}.drawer-head h2{margin:0;font-size:18px}.drawer-head .sub{font-size:12.5px;color:var(--text-3);margin-top:2px}.drawer-close{margin-left:auto;width:32px;height:32px;padding:0;border-radius:8px}.drawer-body{flex:1;overflow:auto;padding:20px 24px;display:grid;gap:20px}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-stat{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:var(--surface-2)}.detail-stat .k{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.detail-stat .v{font-size:20px;font-weight:700;letter-spacing:-.02em}.detail-section-title{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}.detail-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.detail-row:last-child{border-bottom:none}.detail-row .k{color:var(--text-3)}.detail-row .v{color:var(--text);font-weight:600;text-align:right}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--surface-2)}.chart-wrap{position:relative;width:100%}.chart-svg,.spark{width:100%;display:block}.spark-mini{display:inline-block;vertical-align:middle}.chart-tip{position:absolute;background:var(--text);color:#fff;border-radius:9px;padding:8px 12px;font-size:11.5px;font-weight:600;line-height:1.3;pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-lg);z-index:5}.chart-tip-label{font-size:9.5px;letter-spacing:.12em;color:#fff9;font-weight:700;margin-bottom:2px;text-transform:uppercase}.chart-tip-value{font-size:13px}.chart-empty{display:grid;place-items:center;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:10px;color:var(--text-3);font-size:12.5px;font-weight:500}.donut-wrap{display:grid;gap:18px;grid-template-rows:auto 1fr;align-items:start;justify-items:center}.donut-svg{display:block;overflow:visible}.donut-legend{display:grid;gap:4px}.donut-legend-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;cursor:pointer;transition:background .12s ease}.donut-legend-row:hover,.donut-legend-row.on{background:var(--surface-2)}.donut-legend-row .dot{width:10px;height:10px;border-radius:3px}.donut-legend-row .lbl{font-size:12.5px;font-weight:500;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-legend-row .val{font-size:12px;font-weight:700;color:var(--text)}.schedule-strip{position:relative;padding-top:4px}.schedule-axis{position:relative;height:18px}.schedule-axis .tick{position:absolute;font-size:9.5px;font-weight:600;color:var(--text-3);letter-spacing:.04em;transform:translate(-50%)}.schedule-track{position:relative;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.schedule-gridline{position:absolute;top:0;bottom:0;width:1px;background:#1018280d}.schedule-block{position:absolute;top:6px;bottom:6px;border:1px solid;border-radius:9px;padding:7px 9px;cursor:pointer;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.schedule-block:hover,.schedule-block.on{transform:translateY(-1px);box-shadow:var(--shadow);z-index:3}.schedule-block-title{font-size:11.5px;font-weight:700;letter-spacing:-.01em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-block-sub{font-size:10px;opacity:.8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-block.cancelled{background:repeating-linear-gradient(45deg,transparent 0 6px,rgba(16,24,40,.06) 6px 12px)!important;opacity:.6}.schedule-tip{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--text);color:#fff;border-radius:9px;padding:9px 13px;z-index:10;box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:none;display:grid;gap:2px}.schedule-tip strong{font-size:12.5px;font-weight:700}.schedule-tip span{font-size:11px;color:#ffffffb8}.schedule-tip .dim{color:#ffffff80}.popover-wrap{position:relative;display:inline-flex}.popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--text);color:#fff;border-radius:10px;padding:12px 14px;font-size:11.5px;min-width:210px;box-shadow:var(--shadow-lg);z-index:30;display:grid;gap:4px;pointer-events:none}.popover strong{font-size:12.5px;font-weight:700}.popover .row{display:flex;justify-content:space-between;gap:12px}.popover .row span:first-child{color:#fff9}.av{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#f23847,#b5121f);color:#fff;font-weight:700;letter-spacing:-.02em;flex-shrink:0}.av.dk{background:linear-gradient(135deg,#3f3f46,#16161a)}.av.lt{background:var(--surface-2);color:var(--text)}.court-svg{width:100%;height:60px;color:var(--text-4);display:block}.court-tile{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;height:88px;display:grid;place-items:center}.portal-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;margin-bottom:22px;padding:26px 28px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.portal-hero h1{margin:4px 0 10px;font-size:28px;font-weight:700;letter-spacing:-.03em}.portal-hero p{margin:0;max-width:62ch;color:var(--text-3);line-height:1.55;font-size:14px}.portal-hero .eyebrow{color:var(--red)}.hero-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.portal-hero-panel{display:grid;gap:10px;align-content:start}.hero-kpi{padding:16px 18px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border-soft)}.hero-kpi span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.13em;color:var(--text-3);margin-bottom:6px;font-weight:700}.hero-kpi strong{font-family:var(--font-sans);font-size:23px;font-weight:700;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two-col-grid>.card{display:flex;flex-direction:column;min-height:280px}.two-col-grid>.card>.mini-list,.two-col-grid>.card>.empty{flex:1}.mini-list{display:grid;gap:0}.mini-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-soft)}.mini-list-row:last-child{border-bottom:none}.mini-list-row>div:first-child>strong{font-size:13.5px;font-weight:600;color:var(--text)}.mini-list-row .muted{font-size:11.5px;margin-top:1px;color:var(--text-3)}.mini-list-value{font-family:var(--font-sans);font-weight:600;font-size:13px;color:var(--text);font-variant-numeric:tabular-nums}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-tile{display:flex;flex-direction:column;justify-content:center;padding:16px 18px;min-height:76px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;box-shadow:var(--shadow-sm);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;position:relative}.action-tile:hover{text-decoration:none;border-color:var(--red-line);box-shadow:var(--shadow);transform:translateY(-2px)}.action-tile span{display:block;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.action-tile strong{font-size:14px;line-height:1.35;font-weight:600;letter-spacing:-.01em;color:var(--text)}.compliance-callout{padding:14px 16px;border-radius:var(--radius);background:var(--warn-soft);border:1px solid rgba(180,83,9,.16);border-left:3px solid var(--warn);color:var(--text);margin-bottom:16px}.compliance-callout strong{font-size:13px}.compliance-callout p{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-2)}.compliance-banner{margin-bottom:16px;padding:14px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--red);display:grid;gap:4px;box-shadow:var(--shadow-sm)}.compliance-banner strong{font-size:13px}.compliance-banner span{color:var(--text-3);font-size:12.5px;line-height:1.5}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.stack-sections{display:grid;gap:18px}.booking-group{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}.booking-group-head{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:16px 18px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}.booking-group-head h2{margin:0 0 6px;font-size:16px}.booking-group-head .muted{font-size:12px}.booking-group-summary{font-weight:700;color:var(--text);font-size:13.5px}.request-stack{display:grid;gap:14px}.request-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;background:var(--surface);box-shadow:var(--shadow-sm)}.request-card-top{display:flex;justify-content:space-between;gap:16px}.request-card-title{font-size:18px;font-weight:700;margin-bottom:10px}.request-card-meta{display:flex;gap:8px;flex-wrap:wrap}.request-card-side{text-align:right;color:var(--text-3);font-size:13px}.request-card-body p{margin:14px 0;color:var(--text-2);line-height:1.55}.request-extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.request-extra-grid div,.request-resolution{padding:13px 15px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border-soft)}.request-extra-grid strong,.request-resolution strong{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:6px}.request-card-actions{display:flex;gap:10px;margin-top:16px}.ad-editor-grid{display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(300px,.85fr);gap:20px;align-items:start}.ad-preview-card{position:sticky;top:24px}.ad-preview{position:relative;aspect-ratio:8 / 3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:linear-gradient(135deg,var(--red-tint),var(--surface-2))}.ad-preview img{width:100%;height:100%;object-fit:cover;display:block}.ad-preview-empty{height:100%;display:grid;place-items:center;color:var(--text-3);font-size:13px}.ad-preview-pill{position:absolute;top:12px;left:12px;background:#101828b8;color:#fff;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:800;letter-spacing:1px}.ad-thumb{width:112px;height:42px;object-fit:cover;border-radius:7px;border:1px solid var(--border);display:block}.coach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.coach-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:18px;display:grid;gap:14px;box-shadow:var(--shadow-sm);transition:box-shadow .16s ease,transform .16s ease}.coach-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.coach-card-top{display:flex;gap:14px;align-items:flex-start}.coach-card-top img,.coach-avatar-fallback{width:76px;height:76px;border-radius:20px;object-fit:cover;flex:0 0 auto}.coach-avatar-fallback{display:grid;place-items:center;background:var(--red-tint);color:var(--red);font-size:24px;font-weight:700}.coach-card h3{margin:0 0 4px;font-size:19px;letter-spacing:-.03em}.coach-card p{margin:0;color:var(--text-2)}.coach-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.coach-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-3);font-size:12px}.coach-meta span{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:5px 9px}.coach-modal{max-width:720px}.coach-edit-hero{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);margin-bottom:16px}.coach-edit-hero img,.coach-edit-hero .coach-avatar-fallback{width:96px;height:96px;border-radius:24px;object-fit:cover}.pill-grid{display:flex;flex-wrap:wrap;gap:8px}.pill-grid button{font-size:12px;padding:7px 11px}.coach-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0 18px}.coach-toggle-grid label{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);letter-spacing:0;text-transform:none;font-size:13px}.coach-toggle-grid input{width:auto}.scanner-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.scanner-card .scanner-frame{min-height:320px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#1a1a1f,#0d0d10);display:grid;place-items:center;position:relative}.scanner-card video{width:100%;height:100%;min-height:320px;object-fit:cover}.scanner-status-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.scanner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.scanner-overlay span{padding:10px 14px;border-radius:999px;background:#000000a6;color:#fff;font-size:12px;font-weight:700;letter-spacing:.4px}.scanner-placeholder{display:grid;place-items:center;color:#ffffffd1;gap:10px}.scanner-icon{width:78px;height:78px;border-radius:24px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;font-size:32px}.scanner-result{margin-top:16px;padding:16px;border-radius:var(--radius-lg);background:var(--ok-soft);border:1px solid rgba(14,159,110,.25)}.scanner-result-title{font-size:17px;font-weight:700;margin-bottom:6px}.scanner-booking{margin-top:12px;display:grid;gap:4px}.scanner-detected-panel{margin-top:14px;padding:13px 15px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border-soft)}.scanner-detected-panel strong{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:6px}.scanner-detected-panel div{font-family:var(--font-mono);font-size:12px;word-break:break-all;color:var(--text)}@media (max-width: 1120px){.portal-hero,.two-col-grid,.scanner-grid,.dash-2col,.action-grid,.request-extra-grid,.filters-grid,.ad-editor-grid{grid-template-columns:1fr}.ad-preview-card{position:static}}@media (max-width: 1100px){.kpi-row{grid-template-columns:1fr 1fr}}@media (max-width: 900px){.auth-split{grid-template-columns:1fr}.auth-aside{display:none}}@media (max-width: 980px){.shell{display:block;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:70;width:min(86vw,320px);height:100dvh;transform:translate(-105%);transition:transform .22s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:28px 0 70px #1018282e}.sidebar.open{transform:translate(0)}.mobile-sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#1018286b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-sidebar-scrim.show{display:block}.mobile-sidebar-close{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:auto;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:20px;line-height:1;box-shadow:none}.mobile-sidebar-close:hover{background:var(--surface-3)}.mobile-menu-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 auto;padding:0;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);font-size:18px;box-shadow:var(--shadow-sm)}.mobile-menu-btn:hover{background:var(--surface-2)}.topbar{height:58px;padding:0 16px;gap:10px}.topbar .crumbs{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.content{width:100%;max-width:none;padding:22px 16px 96px;overflow:visible}.shell .has-topbar{padding-top:20px}.page-header,.page-head,.booking-group-head,.request-card-top,.card .hd{align-items:flex-start;flex-direction:column;gap:12px}.page-header{margin-bottom:18px}.page-header h1,.page-head h1{font-size:clamp(23px,7vw,28px);line-height:1.1}.page-header-actions,.page-head .actions,.form-actions,.modal-actions,.request-card-actions,.hero-actions{width:100%;flex-wrap:wrap;align-items:stretch}.page-header-actions>*,.page-head .actions>*,.form-actions>*,.modal-actions>*,.request-card-actions>*,.hero-actions>*{flex:1 1 150px}.row,.coach-edit-hero,.portal-hero,.two-col-grid,.scanner-grid,.action-grid,.request-extra-grid,.filters-grid,.ad-editor-grid{grid-template-columns:1fr}.grid-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card,.stat,.coach-card,.request-card,.ad-preview-card,.kpi,.dash-card{min-width:0;border-radius:var(--radius)}.card{padding:18px}.stat{padding:16px}.stat .value,.stat .num{font-size:24px}.tab-row,.toggle-row,.seg-group,.pill-grid,.coach-tags{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-row::-webkit-scrollbar,.toggle-row::-webkit-scrollbar,.seg-group::-webkit-scrollbar,.pill-grid::-webkit-scrollbar,.coach-tags::-webkit-scrollbar{display:none}.tab-row button,.toggle-row button,.seg-group button,.pill-grid button{flex:0 0 auto;white-space:nowrap}.modal-bg{place-items:end center}.modal{width:100%;max-width:100%;max-height:88dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:22px 16px calc(22px + env(safe-area-inset-bottom))}}@media (max-width: 720px){.login-wrap{padding:18px;place-items:stretch;align-content:center}.login-card,.auth-main .login-card{width:100%}.kpi-row,.grid-stats{grid-template-columns:1fr}table{display:block;width:100%}table thead{display:none}table tbody{display:grid;gap:12px}table tr{display:block;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;background:var(--surface);box-shadow:var(--shadow-sm)}table tbody tr:hover{background:var(--surface)}table td{display:block;width:100%;padding:10px 0;border-bottom:1px solid var(--border-soft);word-break:break-word}table td:last-child{border-bottom:0}table td:empty{display:none}.table-actions{width:100%}.table-actions button,.table-actions a{flex:1 1 100%;justify-content:center}}@media (max-width: 520px){.content{padding-inline:12px}button,.button-link,input,select,textarea{min-height:40px}.topbar .crumbs{display:none}}.chart-tip-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;margin-top:4px;min-width:168px}.chart-tip-row .dot{width:8px;height:8px;border-radius:50%}.chart-tip-row .name{color:#ffffffb3;font-size:11px;font-weight:500}.chart-tip-row .val{font-size:12px;font-weight:700}.chart-legend{display:flex;align-items:center;gap:16px;margin-top:10px}.chart-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:#6e6e6e}.chart-legend-item .swatch{width:14px;height:3.5px;border-radius:2px;display:inline-block}.kpi-row{align-items:stretch}.kpi{min-height:122px;height:100%}.grid-stats{align-items:stretch}.grid-stats .stat{height:100%;min-height:112px;display:flex;flex-direction:column}.grid-stats .stat .num,.grid-stats .stat .value{margin-top:0}.grid-stats .stat .delta,.grid-stats .stat .hint{margin-top:auto}.scanner-grid{align-items:stretch}.scanner-grid>.card{display:flex;flex-direction:column}.scanner-grid .scanner-frame{flex:1;min-height:320px}.btn-success-tick{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#1f7a4d;color:#fff;animation:tickPop .35s cubic-bezier(.2,1.4,.4,1) both}@keyframes tickPop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.dash-2col{align-items:stretch}.dash-2col>.card{display:flex;flex-direction:column;min-height:100%}.dash-2col>.card .empty{flex:1;display:grid;place-items:center}
