@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg: #161826;--color-surface: #232532;--color-text: #e9e9ed;--color-accent: #9184d9;--color-accent-2: #a7a1db;--color-divider: color-mix(in srgb, #e9e9ed 16%, transparent);--color-neutral-100: #f3f5fe;--color-neutral-200: #e4e7f5;--color-neutral-300: #cfd3e5;--color-neutral-400: #b2b6ca;--color-neutral-500: #9397ab;--color-neutral-600: #75798c;--color-neutral-700: #595d6c;--color-neutral-800: #3f424d;--color-neutral-900: #292b31;--color-accent-100: #f5f4ff;--color-accent-200: #e7e5fe;--color-accent-300: #d2cefd;--color-accent-400: #b5abfc;--color-accent-500: #968ae0;--color-accent-600: #796cbf;--color-accent-700: #5d5294;--color-accent-800: #423a6a;--color-accent-900: #2b2741;--color-accent-2-100: #f5f4ff;--color-accent-2-200: #e7e5fe;--color-accent-2-300: #d2cefd;--color-accent-2-400: #b5afe8;--color-accent-2-500: #9690c9;--color-accent-2-600: #7972a9;--color-accent-2-700: #5c5783;--color-accent-2-800: #423e5d;--color-accent-2-900: #2b293a;--color-section: #262a60;--color-section-glow: #353b80;--color-section-ghost: #4c5397;--font-heading: "Inter", system-ui, sans-serif;--font-heading-weight: 500;--font-body: "Inter", system-ui, sans-serif;--space-1: 2.8px;--space-2: 5.6px;--space-3: 8.4px;--space-4: 11.2px;--space-6: 16.8px;--space-8: 22.4px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--shadow-sm: 0 0 0 1px #3f424d;--shadow-md: 0 0 0 1px #595d6c, 0 6px 18px rgba(0,0,0,.55);--shadow-lg: 0 0 0 1px #9397ab, 0 16px 40px rgba(0,0,0,.65)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.lighten{mix-blend-mode:lighten;background-color:transparent}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.55;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--space-2)}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px}h6{letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{display:block;max-width:100%}figure{margin:0}figcaption{font-size:11px;margin-top:var(--space-1);color:color-mix(in srgb,var(--color-text) 55%,transparent)}.text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.hr{height:1px;border:0;margin:var(--space-4) 0;background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md)}.btn svg{display:block}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.btn-primary:active{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-ghost:active{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{min-height:90px;resize:vertical}.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio input,.seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--color-divider)}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{display:inline-flex;overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg-opt{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{margin:0;font-size:13px;opacity:.8;flex:1}.card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:calc(var(--radius-md) * .75)}.tag-accent{background:var(--color-accent-800);color:var(--color-accent-100)}.tag-accent-2{background:var(--color-accent-2-800);color:var(--color-accent-2-100)}.tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-100)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;margin-right:auto}.nav a{color:inherit;text-decoration:none;font-size:14px}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent);padding:var(--space-2);border-bottom:1px solid transparent}.table td{padding:var(--space-2);border-bottom:1px solid transparent}.table thead tr{background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent) no-repeat bottom / 100% 1px}.table tbody tr{background:linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 8%,transparent) 48px,color-mix(in srgb,var(--color-text) 8%,transparent) calc(100% - 48px),transparent) no-repeat bottom / 100% 1px}.table tbody tr:hover{background:linear-gradient(color-mix(in srgb,var(--color-text) 4%,transparent),color-mix(in srgb,var(--color-text) 4%,transparent)) no-repeat 0 0 / 100% 100%,linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 8%,transparent) 48px,color-mix(in srgb,var(--color-text) 8%,transparent) calc(100% - 48px),transparent) no-repeat bottom / 100% 1px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent)}.dialog{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{font-size:14px;opacity:.85}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}:root{color-scheme:dark;--bg: var(--color-bg);--surface: var(--color-surface);--surface-2: #2a2d3c;--surface-3: #1c1e2b;--border: var(--color-divider);--border-strong: var(--color-neutral-700);--text: var(--color-text);--text-2: var(--color-neutral-400);--muted: var(--color-neutral-500);--accent: var(--color-accent);--accent-hover: var(--color-accent-400);--accent-ink: var(--color-bg);--accent-soft: var(--color-accent-900);--accent-text: var(--color-accent-300);--danger: oklch(.72 .14 30);--danger-soft: color-mix(in srgb, oklch(.66 .15 30) 20%, transparent);--warn: oklch(.82 .09 92);--warn-soft: color-mix(in srgb, oklch(.88 .1 95) 18%, transparent);--ok: oklch(.8 .12 168);--ok-soft: color-mix(in srgb, oklch(.78 .13 168) 16%, transparent);--c-productive: oklch(.78 .13 168);--c-neutral: oklch(.7 .06 250);--c-unproductive: oklch(.66 .15 30);--c-idle: oklch(.88 .1 95);--c-active: var(--color-accent);--shadow: 0 2px 10px rgba(0,0,0,.4);--shadow-lg: 0 0 0 1px var(--color-neutral-700), 0 16px 40px rgba(0,0,0,.6);--radius: var(--radius-lg);--radius-sm: var(--radius-md);--sidebar-w: 248px;--font: var(--font-body);--mono: ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace}:root[data-theme=light]{color-scheme:light}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light}}:root[data-theme=light]{--bg: #eef0f8;--surface: #ffffff;--surface-2: #f6f7fd;--surface-3: #e4e7f5;--border: rgba(41,43,49,.12);--border-strong: var(--color-neutral-300);--text: var(--color-neutral-900);--text-2: var(--color-neutral-700);--muted: var(--color-neutral-600);--accent: var(--color-accent-600);--accent-hover: var(--color-accent-700);--accent-ink: #ffffff;--accent-soft: var(--color-accent-200);--accent-text: var(--color-accent-700);--danger: oklch(.52 .17 30);--danger-soft: color-mix(in srgb, oklch(.66 .15 30) 12%, transparent);--warn: oklch(.55 .11 80);--warn-soft: color-mix(in srgb, oklch(.88 .1 95) 30%, transparent);--ok: oklch(.52 .12 168);--ok-soft: color-mix(in srgb, oklch(.78 .13 168) 16%, transparent);--shadow: 0 0 0 1px rgba(41,43,49,.06), 0 2px 8px rgba(41,43,49,.07);--shadow-lg: 0 0 0 1px rgba(41,43,49,.08), 0 16px 40px rgba(41,43,49,.16)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]):not([data-theme=light]){--bg: #eef0f8;--surface: #ffffff;--surface-2: #f6f7fd;--surface-3: #e4e7f5;--border: rgba(41,43,49,.12);--border-strong: var(--color-neutral-300);--text: var(--color-neutral-900);--text-2: var(--color-neutral-700);--muted: var(--color-neutral-600);--accent: var(--color-accent-600);--accent-hover: var(--color-accent-700);--accent-ink: #ffffff;--accent-soft: var(--color-accent-200);--accent-text: var(--color-accent-700);--danger: oklch(.52 .17 30);--danger-soft: color-mix(in srgb, oklch(.66 .15 30) 12%, transparent);--warn: oklch(.55 .11 80);--warn-soft: color-mix(in srgb, oklch(.88 .1 95) 30%, transparent);--ok: oklch(.52 .12 168);--ok-soft: color-mix(in srgb, oklch(.78 .13 168) 16%, transparent);--shadow: 0 0 0 1px rgba(41,43,49,.06), 0 2px 8px rgba(41,43,49,.07);--shadow-lg: 0 0 0 1px rgba(41,43,49,.08), 0 16px 40px rgba(41,43,49,.16)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-family:var(--font-heading);font-weight:500;letter-spacing:-.02em;line-height:1.14}h1{font-size:24px}h2{font-size:17px}h3{font-size:15px}p{margin:0 0 8px}code,.mono{font-family:var(--mono);font-size:13px}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.small{font-size:12.5px}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.num{font-variant-numeric:tabular-nums}.right{text-align:right}.row{display:flex;align-items:center;gap:8px}.row-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:16px}.stack-sm{display:flex;flex-direction:column;gap:8px}.mt{margin-top:16px}.mb{margin-bottom:16px}@media (max-width: 640px){.hide-sm{display:none!important}}@media (max-width: 640px){.table .name-cell{min-width:140px}}@media (max-width: 1320px) and (min-width: 1101px){.hide-md{display:none!important}}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px;font-family:var(--font-heading);font-weight:500;font-size:18px;letter-spacing:-.02em;color:var(--text)}.brand:hover{text-decoration:none}.brand-logo{width:30px;height:30px;border-radius:var(--radius-sm);color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 16px -2px color-mix(in srgb,var(--accent) 45%,transparent);display:grid;place-items:center;flex-shrink:0}.brand small{display:block;font-size:11.5px;font-weight:500;color:var(--muted);letter-spacing:0}.org-chip{margin:0 12px 8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:12.5px;color:var(--text-2)}.org-chip b{display:block;color:var(--text);font-size:13px;font-weight:600}.nav{display:block;flex:1;overflow-y:auto;padding:6px 10px 12px}.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:14px 10px 6px;font-weight:600}.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-2);font-weight:500;margin-bottom:1px}.nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav a.active{background:var(--accent-soft);color:var(--accent-text)}.nav a svg{flex-shrink:0;opacity:.9}.nav a>span:first-of-type{flex:1}.nav-count{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.sidebar-foot{border-top:1px solid var(--border);padding:10px 12px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:56px;display:flex;align-items:center;gap:10px;padding:0 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:30}.topbar .burger{display:none}.content{flex:1;padding:24px;max-width:1440px;width:100%;margin:0 auto}.footer{padding:16px 24px 22px;color:var(--muted);font-size:12.5px;display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}.footer a{color:var(--muted);font-weight:600}.footer a:hover{color:var(--accent-text)}.scrim{display:none}@media (max-width: 960px){.sidebar{position:fixed;left:0;top:0;transform:translate(-105%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.scrim.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:35}.topbar .burger{display:inline-flex}.topbar{padding:0 12px}.content{padding:16px}.footer{padding:12px 16px 18px}}.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.page-head h1{margin-right:auto}.page-sub{color:var(--muted);margin-top:2px;font-size:13px}.card{display:block;padding:0;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card-h{display:flex;align-items:center;gap:10px;padding:14px 16px 0;flex-wrap:wrap}.card-h h2,.card-h h3{margin-right:auto}.card-b{padding:14px 16px 16px}.card-b.flush{padding:8px 0 4px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (max-width: 1100px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}}@media (max-width: 760px){.grid-2,.grid-3{grid-template-columns:1fr}}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}@media (max-width: 1100px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 600px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{padding:14px 16px}.kpi-label{color:var(--muted);font-size:12.5px;font-weight:500}.kpi-value{font-family:var(--font-heading);font-size:26px;font-weight:500;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums;line-height:1.15}.kpi-sub{font-size:12px;color:var(--muted);margin-top:2px}.kpi-bar{height:4px;border-radius:4px;background:var(--surface-3);margin-top:10px;overflow:hidden}.kpi-bar>i{display:block;height:100%;background:var(--accent);border-radius:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);font-family:var(--font-heading);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s;text-decoration:none!important}.btn:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}.btn:active{background:color-mix(in srgb,var(--text) 13%,transparent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:transparent;border-color:var(--accent);color:var(--accent)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent);color:var(--accent)}.btn-primary:active{background:color-mix(in srgb,var(--accent) 22%,transparent)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:transparent}.btn-danger:hover{background:var(--danger-soft)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-icon{width:36px;padding:0}.btn-sm.btn-icon{width:30px}.btn-block{width:100%}.input,.select,textarea.input{height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0 10px;font:inherit;min-width:0;width:100%}textarea.input{height:auto;padding:8px 10px;min-height:80px;resize:vertical}.input{caret-color:var(--accent)}.input:hover,.select:hover{border-color:color-mix(in srgb,var(--text) 40%,transparent)}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2374838f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.input-auto,.select.input-auto{width:auto}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>span,.field-label{font-size:12.5px;color:var(--text-2);font-weight:550}.field .hint{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar .input,.toolbar .select{width:auto;min-width:160px}@media (max-width: 520px){.toolbar .input,.toolbar .select{flex:1 1 100%}}.switch{position:relative;display:inline-flex;width:38px;height:22px;flex-shrink:0;cursor:pointer}.switch input{opacity:0;width:0;height:0;position:absolute}.switch i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;background:var(--border-strong);transition:background .15s}.switch i:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--color-neutral-100);transition:transform .15s;box-shadow:0 1px 2px #00000040}.switch input:checked+i{background:var(--accent)}.switch input:checked+i:after{transform:translate(16px)}.switch input:disabled+i{opacity:.5;cursor:not-allowed}.switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}.seg{display:inline-flex;background:var(--surface-3);border-radius:var(--radius-sm);padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:transparent;color:var(--text-2);height:28px;padding:0 10px;border-radius:6px;cursor:pointer;font-weight:550;font-size:13px;white-space:nowrap}.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent)}.seg button:disabled{opacity:.5;cursor:not-allowed}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a,.tabs button{border:0;background:none;padding:10px 12px;color:var(--text-2);font-weight:550;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs a:hover,.tabs button:hover{color:var(--text);text-decoration:none}.tabs .on{color:var(--accent-text);border-bottom-color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:600;background:var(--surface-3);color:var(--text-2);white-space:nowrap}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong);display:inline-block;flex-shrink:0}.dot.on{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}.swatch{width:10px;height:10px;border-radius:3px;display:inline-block;flex-shrink:0}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:650;font-size:12.5px;flex-shrink:0;color:var(--color-neutral-100)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-weight:500;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-bottom:0;white-space:nowrap}.table td{padding:10px 12px;border-bottom:0;vertical-align:middle}.table thead tr{background:linear-gradient(to right,transparent,var(--border) 48px,var(--border) calc(100% - 48px),transparent) no-repeat bottom / 100% 1px}.table tbody tr{background:linear-gradient(to right,transparent,color-mix(in srgb,var(--text) 8%,transparent) 48px,color-mix(in srgb,var(--text) 8%,transparent) calc(100% - 48px),transparent) no-repeat bottom / 100% 1px}.table tbody tr:last-child{background:none}.table tbody tr:hover{background:linear-gradient(color-mix(in srgb,var(--text) 5%,transparent),color-mix(in srgb,var(--text) 5%,transparent)) no-repeat 0 0 / 100% 100%,linear-gradient(to right,transparent,color-mix(in srgb,var(--text) 8%,transparent) 48px,color-mix(in srgb,var(--text) 8%,transparent) calc(100% - 48px),transparent) no-repeat bottom / 100% 1px}.table tr.clickable{cursor:pointer}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.table .name-cell{display:flex;align-items:center;gap:10px;min-width:180px}.hbar-list{display:flex;flex-direction:column;gap:10px}.hbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center}.hbar-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.hbar-val{font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums}.hbar-track{grid-column:1 / -1;height:6px;border-radius:4px;background:var(--surface-3);overflow:hidden}.hbar-track>i{display:block;height:100%;border-radius:4px;background:var(--c-neutral);min-width:2px}.stackbar{display:flex;height:10px;border-radius:4px;overflow:hidden;background:var(--surface-3);gap:2px;min-width:80px}.stackbar>i{display:block;height:100%}.stackbar>i:first-child{border-radius:4px 0 0 4px}.stackbar>i:last-child{border-radius:0 4px 4px 0}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--text-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.catpick{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.catpick button{border:0;background:var(--surface);color:var(--text-2);height:28px;padding:0 9px;cursor:pointer;font-size:12.5px;font-weight:550;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.catpick button+button{border-left:1px solid var(--border)}.catpick button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.catpick button.on.c-productive{background:color-mix(in srgb,var(--c-productive) 16%,var(--surface));color:var(--text)}.catpick button.on.c-neutral{background:color-mix(in srgb,var(--c-neutral) 16%,var(--surface));color:var(--text)}.catpick button.on.c-unproductive{background:color-mix(in srgb,var(--c-unproductive) 16%,var(--surface));color:var(--text)}.catpick button:disabled{cursor:default}@media (max-width: 640px){.catpick .lbl{display:none}.catpick button{padding:0 10px}}.tl{position:relative;-webkit-user-select:none;user-select:none}.tl-track{position:relative;height:56px;background:var(--surface-3);border-radius:10px;overflow:hidden;box-shadow:inset 0 2px 6px #00000040}.tl-seg{position:absolute;top:0;bottom:0;min-width:1px;border-radius:3px 3px 0 0;box-shadow:inset 0 1px #ffffff4d,inset 0 -10px 14px -8px #00000059}.tl-seg.idle{background:repeating-linear-gradient(45deg,var(--c-idle) 0 3px,color-mix(in srgb,var(--c-idle) 55%,var(--surface-3)) 3px 4.5px);top:22px;box-shadow:none;opacity:.92}.tl-seg.active-plain{background:var(--c-active)}.tl-seg.hover{filter:brightness(1.14);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--text) 85%,transparent);z-index:2}.tl-sched{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--accent) 8%,transparent);border-left:1px dashed color-mix(in srgb,var(--accent) 50%,transparent);border-right:1px dashed color-mix(in srgb,var(--accent) 50%,transparent);pointer-events:none}.tl-off{position:absolute;bottom:0;height:13px;z-index:2;cursor:help;border-radius:0 0 2px 2px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--muted) 90%,transparent) 0 2px,transparent 2px 6px),color-mix(in srgb,var(--surface-3) 55%,var(--muted) 26%);border-top:1px solid color-mix(in srgb,var(--muted) 65%,transparent)}.tl-off.hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 70%,transparent);z-index:4}.swatch.tl-off-sw{background:repeating-linear-gradient(135deg,var(--muted) 0 1.5px,transparent 1.5px 4px),color-mix(in srgb,var(--surface-3) 50%,var(--muted) 28%);border:1px solid color-mix(in srgb,var(--muted) 55%,transparent)}.off-note{display:inline-flex;align-items:center;gap:5px;justify-content:flex-end}.tl-axis{position:relative;height:18px;margin-top:6px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.tl-axis span{position:absolute;transform:translate(-50%);white-space:nowrap}.tl-grid{position:absolute;top:0;bottom:0;width:1px;background:var(--border);pointer-events:none}.tl-shots{position:relative;height:12px;margin-top:4px}.tl-shot{position:absolute;top:0;width:2px;height:10px;margin-left:-1px;border-radius:1px;background:var(--accent-text);opacity:.7;border:0;padding:0;cursor:pointer}.tl-shot:after{content:"";position:absolute;top:-4px;right:-3px;bottom:-4px;left:-3px}.tl-shot:hover{opacity:1;height:12px;background:var(--accent)}.tl-now{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);box-shadow:0 0 10px var(--accent);border-radius:1px;pointer-events:none;z-index:3}.tl-tip{position:fixed;z-index:100;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);padding:9px 11px;font-size:12.5px;max-width:320px;line-height:1.4}.tl-tip b{font-weight:650}.tl-tip .t{color:var(--muted);font-variant-numeric:tabular-nums}.tl-tip .title{color:var(--text-2);word-break:break-word}.tl-mini{height:12px;border-radius:3px;position:relative;background:var(--surface-3);overflow:hidden;min-width:140px}.tl-mini>i{position:absolute;top:0;bottom:0}.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}@media (max-width: 480px){.shots{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.shot{border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;padding:0;text-align:left;color:inherit}.shot:hover{border-color:var(--accent);box-shadow:var(--shadow)}.shot-img{aspect-ratio:16 / 10;background:var(--surface-3);overflow:hidden;position:relative}.shot-img img{width:100%;height:100%;object-fit:cover;display:block}.shot-meta{padding:7px 9px;font-size:12px;display:flex;flex-direction:column;gap:1px;min-width:0}.shot-meta b{font-variant-numeric:tabular-nums}.shot-meta .ellipsis{color:var(--muted)}.shot-badge{position:absolute;top:6px;right:6px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#060c0ffa;z-index:200;display:flex;flex-direction:column;color:#e8f0f3}.lb-top{display:flex;align-items:center;gap:10px;padding:10px 14px;flex-wrap:wrap}.lb-top .lb-info{flex:1;min-width:0;font-size:13px}.lb-top .lb-info b{font-size:14px}.lb-top .btn{background:#ffffff14;border-color:#ffffff29;color:#e8f0f3}.lb-top .btn:hover{background:#ffffff29}.lb-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 56px 10px}.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 6px 30px #0009}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;border-radius:10px;background:#ffffff14;color:#fff;cursor:pointer;display:grid;place-items:center}.lb-nav:hover{background:#ffffff2e}.lb-nav:disabled{opacity:.25;cursor:default}.lb-prev{left:8px}.lb-next{right:8px}.lb-strip{display:flex;gap:6px;padding:8px 14px 12px;overflow-x:auto}.lb-strip button{flex-shrink:0;width:84px;height:52px;border-radius:4px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:#222;opacity:.6}.lb-strip button.on{border-color:var(--accent);opacity:1}.lb-strip img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width: 640px){.lb-stage{padding:0 6px 6px}.lb-nav{width:36px;height:52px}.lb-strip{display:none}}.lightbox.live .lb-stage{padding:0 16px 10px}.lightbox.live:fullscreen{background:#000}.live-badge{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 9px;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.08em;color:#fff;background:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 50%,transparent)}.live-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:live-pulse 1.4s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.25}}.live-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;color:#e8f0f3}.live-empty h3{font-size:17px;color:#e8f0f3}.live-note{display:flex;align-items:center;gap:8px;padding:10px 16px 14px;font-size:12.5px;color:color-mix(in srgb,#e8f0f3 70%,transparent)}.live-note svg{flex-shrink:0}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#08101473;z-index:150;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 16px;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:520px;border:1px solid var(--border)}.modal.wide{max-width:860px}.modal-h{display:flex;align-items:center;padding:16px 18px 6px;gap:10px}.modal-h h2{margin-right:auto}.modal-b{padding:10px 18px 6px;display:flex;flex-direction:column;gap:14px}.modal-f{padding:14px 18px 16px;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.toasts{position:fixed;bottom:18px;right:18px;z-index:300;display:flex;flex-direction:column;gap:8px;max-width:calc(100vw - 36px)}.toast{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px 14px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-size:13.5px;font-weight:500;animation:toast-in .18s ease}.toast.error{border-color:color-mix(in srgb,var(--danger) 50%,transparent);color:var(--danger)}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}.alert{padding:10px 12px;border-radius:var(--radius-sm);font-size:13.5px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}.alert-error{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger)}.alert-warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent);color:var(--warn)}.alert-info{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent-text)}.empty{text-align:center;padding:36px 16px;color:var(--muted)}.empty h3{color:var(--text);margin-bottom:6px}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--accent);animation:spin .7s linear infinite}.loading-box{display:flex;justify-content:center;padding:40px 0}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--surface-3),var(--surface-2),var(--surface-3));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:6px}@keyframes sk{to{background-position:-200% 0}}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg)}.auth-hero{background:linear-gradient(160deg,var(--color-section) 0%,var(--color-section-glow) 55%,var(--color-section) 100%);color:var(--color-neutral-100);padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-hero .brand-logo{color:var(--color-accent-200);background:color-mix(in srgb,var(--color-accent) 22%,transparent);border-color:color-mix(in srgb,var(--color-accent-200) 55%,transparent)}.auth-hero h1{font-size:34px;font-weight:500;line-height:1.12;letter-spacing:-.025em;margin:28px 0 14px;max-width:460px}.auth-hero ul{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:12px;font-size:15px}.auth-hero li{display:flex;gap:10px;align-items:center}.auth-hero li:before{content:"";width:18px;height:18px;border-radius:50%;background:#ffffff38 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 11px no-repeat;flex-shrink:0}.auth-hero a{color:var(--color-accent-100);font-weight:500}.auth-hero:after{content:"";position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;border:60px solid color-mix(in srgb,var(--color-accent) 22%,transparent);box-shadow:0 0 120px color-mix(in srgb,var(--color-accent) 30%,transparent)}.auth-side{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px 20px;background:var(--surface)}.auth-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.auth-form h2{font-size:22px;margin-bottom:4px}.auth-tools{position:absolute;top:14px;right:16px;display:flex;gap:6px}@media (max-width: 860px){.auth{grid-template-columns:1fr}.auth-hero{padding:24px 20px}.auth-hero h1{font-size:24px;margin:16px 0 6px}.auth-hero ul,.auth-hero .hero-foot{display:none}}.codebox{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;min-width:0}.codebox code{flex:1;overflow-x:auto;white-space:nowrap;font-size:13px}.enroll-code{font-family:var(--mono);font-size:30px;font-weight:700;letter-spacing:.14em;color:var(--accent-text)}.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.steps li{counter-increment:s;display:flex;gap:12px;align-items:flex-start}.steps li:before{content:counter(s);width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}.pol-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:12px 20px;padding:14px 0;border-bottom:1px solid var(--border);align-items:center}.pol-row:last-child{border-bottom:0}.pol-row .pol-label{font-weight:550}.pol-row .pol-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.pol-row .pol-ctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pol-row.dirty{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 60%)}@media (max-width: 720px){.pol-row{grid-template-columns:1fr}.pol-row .pol-ctl{justify-content:flex-start}}.days{display:inline-flex;gap:4px;flex-wrap:wrap}.days button{width:36px;height:30px;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);cursor:pointer;font-weight:600;font-size:12.5px}.days button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.days button:disabled{cursor:not-allowed;opacity:.6}.sticky-bar{position:sticky;bottom:12px;z-index:20;margin-top:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--radius)}.datenav{display:inline-flex;align-items:center;gap:4px}.datenav .input{width:150px}.emp-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.emp-head .avatar{width:48px;height:48px;font-size:17px}.emp-head h1{font-size:21px}.consent-frame{width:100%;height:70vh;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.meter{height:12px;border-radius:6px;background:var(--surface-3);overflow:hidden;display:flex}.meter>i{display:block;height:100%}.ts-wrap{overflow:auto;max-height:72vh;-webkit-overflow-scrolling:touch}.ts-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.ts-table th,.ts-table td{padding:6px 8px;white-space:nowrap;border-bottom:1px solid var(--border)}.ts-table thead th{position:sticky;top:0;z-index:3;background:var(--surface);font-weight:500;color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase;text-align:center;vertical-align:bottom}.ts-table .ts-dcol{min-width:48px}.ts-table .ts-dnum{display:block;font-size:13px;font-weight:600;color:var(--text);letter-spacing:0;font-variant-numeric:tabular-nums}.ts-table .ts-dwd{display:block;font-size:10px;letter-spacing:.02em}.ts-table .ts-dcol.weekend .ts-dnum{color:var(--text-2)}.ts-table .ts-dcol.weekend{background:color-mix(in srgb,var(--surface-3) 50%,var(--surface))}.ts-table .ts-name{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;min-width:180px;max-width:240px;box-shadow:1px 0 0 var(--border)}.ts-table thead .ts-name{z-index:5}.ts-table .ts-emp{display:flex;flex-direction:column;gap:1px;min-width:0;color:var(--text);text-decoration:none}.ts-table .ts-emp:hover b{color:var(--accent-text)}.ts-table .ts-emp b{font-weight:600;font-size:13px}.ts-table .ts-day{text-align:center;padding:3px 4px}.ts-table .ts-blank{color:var(--border-strong)}.ts-c{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:3px 4px;border-radius:7px;color:var(--text);text-decoration:none;line-height:1.1;min-width:40px}.ts-c:hover{background:color-mix(in srgb,var(--text) 9%,transparent);text-decoration:none}.ts-c .ts-time{font-size:11.5px;font-variant-numeric:tabular-nums}.ts-c .ts-late{font-size:9.5px;font-weight:700;color:var(--warn);line-height:1}.ts-glyph{width:17px;height:17px;border-radius:5px;display:grid;place-items:center;font-size:11px;font-weight:800;line-height:1}.tsg-present{background:var(--ok-soft);color:var(--ok)}.tsg-late{background:var(--warn-soft);color:var(--warn)}.tsg-absent{background:var(--danger-soft);color:var(--danger)}.tsg-weekend_work{background:var(--accent-soft);color:var(--accent-text)}.tsg-dayoff{background:var(--surface-3);color:var(--muted)}.ts-table .ts-tot{text-align:right;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--surface-2) 70%,var(--surface));min-width:56px}.ts-table thead .ts-tot{text-transform:none;letter-spacing:0;color:var(--muted);white-space:normal;max-width:70px}.ts-table tbody .ts-tot{color:var(--text-2)}.ts-table .ts-tot.warn{color:var(--warn);font-weight:600}.ts-table .ts-tot.accent{color:var(--accent-text);font-weight:600}.ts-table tfoot .ts-footrow td{background:var(--surface-2);font-weight:600;color:var(--text);border-top:1px solid var(--border-strong);border-bottom:0}.ts-table tfoot .ts-name{position:sticky;left:0;z-index:2}.ts-table tfoot .ts-tot{text-align:right}.ts-legend{align-items:center}.ts-legend span{gap:6px}.ts-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page-readonly .btn-primary,.page-readonly .btn-danger,.page-readonly .switch,.page-readonly .days button,.page-readonly .catpick{opacity:.5;pointer-events:none}.recharts-default-tooltip{border-radius:8px!important;border:1px solid var(--border)!important;background:var(--surface)!important;box-shadow:var(--shadow-lg)}.recharts-cartesian-axis-tick-value{fill:var(--muted);font-size:11.5px}.recharts-cartesian-grid line{stroke:var(--border)}
