:root{color-scheme:light;--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-display: "Instrument Serif", ui-serif, Georgia, serif;--text-xs: 11.5px;--text-sm: 12.5px;--text-base: 13.5px;--text-md: 14.5px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: 34px;--bg-canvas: #f3f3f1;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-subtle: #f8f8f7;--bg-inset: #f1f1ef;--bg-hover: rgba(17, 17, 22, .04);--bg-active: rgba(17, 17, 22, .075);--border: rgba(17, 17, 22, .085);--border-strong: rgba(17, 17, 22, .15);--border-input: rgba(17, 17, 22, .14);--text: #111116;--text-2: #5a5b63;--text-3: #8a8b93;--text-inverse: #ffffff;--accent: #5b57e0;--accent-hover: #4c48d2;--accent-fg: #ffffff;--accent-text: #4844c9;--accent-soft: rgba(91, 87, 224, .09);--accent-soft-2: rgba(91, 87, 224, .16);--accent-ring: rgba(91, 87, 224, .3);--accent-track: #e6e5fb;--success: #16a34a;--success-text: #13793a;--success-soft: rgba(22, 163, 74, .1);--warning: #d97706;--warning-text: #a35a06;--warning-soft: rgba(217, 119, 6, .11);--danger: #dc2626;--danger-hover: #c81e1e;--danger-text: #c01f1f;--danger-soft: rgba(220, 38, 38, .08);--danger-ring: rgba(220, 38, 38, .28);--mark-muted: #a6a6ad;--grid-line: #e6e6e2;--cat-1: #2a78d6;--cat-2: #eb6834;--cat-3: #1baf7a;--cat-4: #eda100;--cat-5: #e87ba4;--cat-6: #008300;--cat-7: #4a3aa7;--cat-8: #e34948;--cat-none: #a6a6ad;--shadow-xs: 0 1px 1px rgba(16, 16, 22, .04);--shadow-sm: 0 1px 2px rgba(16, 16, 22, .06), 0 1px 1px rgba(16, 16, 22, .03);--shadow-md: 0 6px 16px -4px rgba(16, 16, 22, .09), 0 2px 4px -2px rgba(16, 16, 22, .05);--shadow-lg: 0 28px 56px -16px rgba(16, 16, 22, .22), 0 10px 20px -10px rgba(16, 16, 22, .1);--shadow-popover: 0 0 0 1px var(--border-strong), 0 16px 36px -10px rgba(16, 16, 22, .18), 0 4px 10px -4px rgba(16, 16, 22, .08);--shadow-btn: 0 1px 2px rgba(16, 16, 22, .08), inset 0 1px 0 rgba(255, 255, 255, .12);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-1: .12s;--dur-2: .2s;--dur-3: .34s;--sidebar-w: 252px;--topbar-h: 52px;--backdrop: rgba(12, 12, 18, .34);--scrollbar-thumb: rgba(17, 17, 22, .18)}:root[data-theme=dark]{color-scheme:dark;--bg-canvas: #08080a;--bg-surface: #101013;--bg-elevated: #17171b;--bg-subtle: #141417;--bg-inset: #0c0c0e;--bg-hover: rgba(255, 255, 255, .045);--bg-active: rgba(255, 255, 255, .085);--border: rgba(255, 255, 255, .075);--border-strong: rgba(255, 255, 255, .13);--border-input: rgba(255, 255, 255, .12);--text: #ececef;--text-2: #a3a3ad;--text-3: #6d6d77;--text-inverse: #0b0b0e;--accent: #6d68f2;--accent-hover: #7e7af6;--accent-fg: #ffffff;--accent-text: #aeabff;--accent-soft: rgba(124, 119, 247, .13);--accent-soft-2: rgba(124, 119, 247, .22);--accent-ring: rgba(124, 119, 247, .42);--accent-track: #24233f;--success: #2fbf68;--success-text: #4ad283;--success-soft: rgba(47, 191, 104, .13);--warning: #f0a020;--warning-text: #f4b450;--warning-soft: rgba(240, 160, 32, .13);--danger: #e5484d;--danger-hover: #ec5d61;--danger-text: #ff8589;--danger-soft: rgba(229, 72, 77, .13);--danger-ring: rgba(229, 72, 77, .38);--mark-muted: #55555e;--grid-line: #232327;--cat-1: #3987e5;--cat-2: #d95926;--cat-3: #199e70;--cat-4: #c98500;--cat-5: #d55181;--cat-6: #008300;--cat-7: #9085e9;--cat-8: #e66767;--cat-none: #5d5d66;--shadow-xs: 0 1px 1px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 20px -6px rgba(0, 0, 0, .55);--shadow-lg: 0 32px 64px -16px rgba(0, 0, 0, .7), 0 12px 24px -12px rgba(0, 0, 0, .5);--shadow-popover: 0 0 0 1px var(--border-strong), 0 18px 40px -10px rgba(0, 0, 0, .65), 0 4px 10px -4px rgba(0, 0, 0, .4);--shadow-btn: 0 1px 2px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .14);--backdrop: rgba(0, 0, 0, .6);--scrollbar-thumb: rgba(255, 255, 255, .16)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;accent-color:var(--accent);scrollbar-color:var(--scrollbar-thumb) transparent;scrollbar-width:thin}body{margin:0;min-height:100dvh;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--text);background:var(--bg-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root{min-height:100dvh}h1,h2,h3,h4,p,dl,dd,ol,ul,figure{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3,h4{font-weight:600;letter-spacing:-.015em;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}svg{flex-shrink:0}::selection{background:var(--accent-soft-2)}::placeholder{color:var(--text-3);opacity:1}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@supports not (scrollbar-color: auto){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mono{font-family:var(--font-mono);font-size:.94em;letter-spacing:-.01em}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.subtle{color:var(--text-3)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}::view-transition-group(*){animation-duration:.22s;animation-timing-function:var(--ease-out)}html.theme-transition::view-transition-old(root),html.theme-transition::view-transition-new(root){animation:none;mix-blend-mode:normal}html.theme-transition::view-transition-new(root){animation:theme-reveal .56s var(--ease-in-out)}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--vt-x, 50%) var(--vt-y, 0))}to{clip-path:circle(var(--vt-r, 150vmax) at var(--vt-x, 50%) var(--vt-y, 0))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.spin{animation-duration:.8s!important;animation-iteration-count:infinite!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.btn{--btn-h: 32px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--btn-h);padding:0 12px;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-1),border-color var(--dur-1),color var(--dur-1),box-shadow var(--dur-1),transform var(--dur-1),opacity var(--dur-1)}.btn svg{width:15px;height:15px}.btn:active:not(:disabled){transform:translateY(.5px) scale(.99)}.btn:disabled{opacity:.5}.btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-btn),0 0 0 1px color-mix(in oklab,var(--accent) 80%,black)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text);box-shadow:var(--shadow-xs)}:root[data-theme=dark] .btn-secondary{background:#ffffff09}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle);border-color:color-mix(in oklab,var(--border-strong) 100%,var(--text) 8%)}:root[data-theme=dark] .btn-secondary:hover:not(:disabled){background:#ffffff12}.btn-ghost{color:var(--text-2)}.btn-ghost:hover:not(:disabled),.btn-ghost[aria-expanded=true]{background:var(--bg-hover);color:var(--text)}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-btn)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-danger-ghost{color:var(--danger-text)}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{--btn-h: 28px;padding:0 10px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-sm svg{width:14px;height:14px}.btn-lg{--btn-h: 40px;padding:0 16px;font-size:var(--text-md)}.btn-icon{width:var(--btn-h);padding:0}.btn-block{width:100%}.btn .kbd{margin-left:2px;margin-right:-4px}.btn-primary .kbd{background:#ffffff29;border-color:#ffffff38;color:#ffffffe6}.kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-surface);color:var(--text-3);font-family:var(--font-sans);font-size:11px;font-weight:500;line-height:1;box-shadow:0 1px 0 var(--border)}.kbd-group{display:inline-flex;gap:3px}.input,.select,.textarea{width:100%;height:34px;padding:0 11px;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text);font-size:var(--text-base);box-shadow:var(--shadow-xs);transition:border-color var(--dur-1),box-shadow var(--dur-1),background-color var(--dur-1)}:root[data-theme=dark] :is(.input,.select,.textarea){background:#ffffff06}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-ring)}.input-lg{height:40px;font-size:var(--text-md)}.textarea{height:auto;min-height:92px;padding:9px 11px;line-height:1.55;resize:vertical}.select-wrap{position:relative;display:block}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;cursor:pointer;text-overflow:ellipsis}.select-wrap>svg{position:absolute;right:10px;top:50%;width:14px;height:14px;translate:0 -50%;color:var(--text-3);pointer-events:none}.input-wrap{position:relative;display:block}.input-wrap>.input-lead{position:absolute;left:11px;top:50%;width:15px;height:15px;translate:0 -50%;color:var(--text-3);pointer-events:none}.input-wrap>.input-lead+.input{padding-left:33px}.input-wrap>.input-trail{position:absolute;right:5px;top:50%;translate:0 -50%;display:flex;align-items:center;gap:4px}.input-wrap:has(>.input-trail)>.input{padding-right:44px}.input-wrap:has(>.input-trail>:nth-child(2))>.input{padding-right:72px}.field{display:grid;gap:6px;min-width:0}.field-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:var(--text-sm);font-weight:500;color:var(--text)}.field-label .optional{font-weight:400;color:var(--text-3)}.field-hint{font-size:12px;color:var(--text-3)}.field-error{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--danger-text);animation:rise-in var(--dur-2) var(--ease-out)}.field-error svg{width:13px;height:13px}.form-stack{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.form-row{grid-template-columns:1fr}}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-items:center;width:16px;height:16px;margin:0;border:1px solid var(--border-input);border-radius:4.5px;background:var(--bg-surface);cursor:pointer;transition:background-color var(--dur-1),border-color var(--dur-1),box-shadow var(--dur-1)}.checkbox:before{content:"";width:10px;height:10px;background:#fff;clip-path:polygon(14% 44%,0 65%,40% 100%,100% 22%,84% 6%,38% 66%);transform:scale(0);transition:transform var(--dur-1) var(--ease-out)}.checkbox:hover{border-color:var(--text-3)}.checkbox:checked,.checkbox:indeterminate{background:var(--accent);border-color:var(--accent)}.checkbox:checked:before{transform:scale(1)}.checkbox:indeterminate:before{clip-path:inset(40% 8% 40% 8% round 2px);transform:scale(1)}.checkbox:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.segmented{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-inset)}.segmented>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:26px;padding:0 10px;border-radius:6px;color:var(--text-2);font-size:var(--text-sm);font-weight:500;white-space:nowrap;transition:background-color var(--dur-1),color var(--dur-1),box-shadow var(--dur-1)}.segmented>button svg{width:14px;height:14px}.segmented>button:hover{color:var(--text)}.segmented>button[aria-checked=true]{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-sm),0 0 0 1px var(--border)}:root[data-theme=dark] .segmented>button[aria-checked=true]{background:#ffffff17}.segmented-block{display:flex}.segmented-block>button{flex:1;height:30px}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-2);font-size:12px;font-weight:500;line-height:1;white-space:nowrap}.badge svg{width:12px;height:12px}.badge-accent{border-color:transparent;background:var(--accent-soft);color:var(--accent-text)}.badge-success{border-color:transparent;background:var(--success-soft);color:var(--success-text)}.badge-warning{border-color:transparent;background:var(--warning-soft);color:var(--warning-text)}.badge-danger{border-color:transparent;background:var(--danger-soft);color:var(--danger-text)}.badge-count{height:18px;min-width:18px;justify-content:center;padding:0 6px;font-size:11px;background:var(--bg-inset);font-variant-numeric:tabular-nums}.dept-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;height:22px;padding:0 8px 0 7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:12px;font-weight:500;color:var(--text);white-space:nowrap}.dept-chip .dept-name{overflow:hidden;text-overflow:ellipsis;color:var(--text-2);font-weight:400}.dept-dot{width:8px;height:8px;border-radius:2.5px;background:var(--c, var(--cat-none));flex-shrink:0}.dept-chip-empty{border-style:dashed;color:var(--text-3);font-weight:400}.avatar{--size: 28px;display:inline-grid;place-items:center;width:var(--size);height:var(--size);flex-shrink:0;border-radius:50%;background:var(--avatar-bg, var(--accent));color:#fff;font-size:calc(var(--size) * .37);font-weight:600;letter-spacing:.01em;line-height:1;-webkit-user-select:none;user-select:none;text-shadow:0 1px 1px rgba(0,0,0,.18);box-shadow:inset 0 0 0 1px #ffffff24}.avatar-xs{--size: 20px}.avatar-sm{--size: 24px}.avatar-lg{--size: 40px}.avatar-xl{--size: 56px}.avatar-stack{display:flex;align-items:center}.avatar-stack>*+*{margin-left:-7px}.avatar-stack>.avatar,.avatar-stack>.avatar-more{box-shadow:0 0 0 2px var(--bg-surface)}.avatar-more{display:inline-grid;place-items:center;height:24px;min-width:24px;padding:0 6px;border-radius:var(--radius-full);background:var(--bg-inset);color:var(--text-2);font-size:11px;font-weight:600}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-xs)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 0}.card-title{font-size:var(--text-base);font-weight:600;letter-spacing:-.01em}.card-desc{margin-top:2px;font-size:var(--text-sm);color:var(--text-3)}.card-body{padding:16px 18px 18px}.callout{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);font-size:var(--text-sm);line-height:1.45;animation:rise-in var(--dur-2) var(--ease-out)}.callout svg{width:16px;height:16px;margin-top:.5px}.callout strong{font-weight:600}.callout-danger{border-color:color-mix(in oklab,var(--danger) 26%,transparent);background:var(--danger-soft);color:var(--danger-text)}.callout-success{border-color:color-mix(in oklab,var(--success) 26%,transparent);background:var(--success-soft);color:var(--success-text)}.callout-warning{border-color:color-mix(in oklab,var(--warning) 28%,transparent);background:var(--warning-soft);color:var(--warning-text)}.callout-info{border-color:color-mix(in oklab,var(--accent) 24%,transparent);background:var(--accent-soft);color:var(--accent-text)}.skeleton{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg-inset) 0%,var(--bg-active) 40%,var(--bg-inset) 80%);background-size:220% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.meter{display:flex;gap:2px;height:6px;overflow:hidden;border-radius:var(--radius-full);background:var(--accent-track)}.meter>span{display:block;height:100%;background:var(--accent);transition:width .7s var(--ease-out)}.meter>span:last-child{border-radius:0 3px 3px 0}.empty{display:grid;justify-items:center;gap:6px;padding:56px 24px;text-align:center;animation:fade-in var(--dur-3) var(--ease-out)}.empty-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,var(--bg-surface),var(--bg-inset));color:var(--text-2);box-shadow:var(--shadow-sm)}.empty-icon svg{width:20px;height:20px}.empty-title{font-size:var(--text-md);font-weight:600}.empty-desc{max-width:360px;color:var(--text-2);font-size:var(--text-base)}.empty-actions{display:flex;gap:8px;margin-top:14px}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;z-index:60;left:50%;bottom:calc(100% + 6px);translate:-50% 3px;padding:5px 8px;border-radius:6px;background:var(--text);color:var(--text-inverse);font-size:11.5px;font-weight:500;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-1),translate var(--dur-1)}[data-tip][data-tip-pos=bottom]:after{top:calc(100% + 6px);bottom:auto;translate:-50% -3px}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;translate:-50% 0;transition-delay:.4s}.menu{position:fixed;inset:auto;margin:0;min-width:208px;max-width:300px;max-height:min(420px,70dvh);overflow:auto;padding:4px;border:0;border-radius:10px;background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-popover);opacity:0;transform:scale(.97) translateY(-3px);transform-origin:var(--menu-origin, top right);transition:opacity .14s var(--ease-out),transform .16s var(--ease-out),display .16s allow-discrete,overlay .16s allow-discrete}.menu:popover-open{opacity:1;transform:none}@starting-style{.menu:popover-open{opacity:0;transform:scale(.97) translateY(-3px)}}.menu-item{display:flex;align-items:center;gap:9px;width:100%;min-height:32px;padding:0 8px;border-radius:6px;color:var(--text);font-size:13px;text-align:left;cursor:pointer}.menu-item>svg{width:15px;height:15px;color:var(--text-3)}.menu-item:hover,.menu-item:focus-visible{outline:none;background:var(--bg-hover)}.menu-item:focus-visible{box-shadow:inset 0 0 0 1px var(--border-strong)}.menu-item[data-tone=danger],.menu-item[data-tone=danger]>svg{color:var(--danger-text)}.menu-item[data-tone=danger]:hover,.menu-item[data-tone=danger]:focus-visible{background:var(--danger-soft)}.menu-item .menu-meta{margin-left:auto;padding-left:12px;color:var(--text-3);font-size:12px}.menu-item[aria-checked=true] .menu-meta{color:var(--accent-text)}.menu-sep{height:1px;margin:4px -4px;background:var(--border)}.menu-label{padding:7px 8px 5px;color:var(--text-3);font-size:11.5px;font-weight:500}dialog.dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;border:0;overflow:hidden;background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-strong);opacity:0;transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-3) var(--ease-out),display var(--dur-3) allow-discrete,overlay var(--dur-3) allow-discrete}dialog.dialog[open]{opacity:1;transform:none}@starting-style{dialog.dialog[open]{opacity:0}}dialog.dialog::backdrop{background-color:transparent;transition:background-color var(--dur-2) var(--ease-out),backdrop-filter var(--dur-2),display var(--dur-3) allow-discrete,overlay var(--dur-3) allow-discrete}dialog.dialog[open]::backdrop{background-color:var(--backdrop, rgba(12, 12, 18, .4));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@starting-style{dialog.dialog[open]::backdrop{background-color:transparent;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}.dialog-modal{width:440px;border-radius:14px;transform:scale(.97) translateY(6px)}@starting-style{.dialog-modal[open]{transform:scale(.97) translateY(6px)}}.dialog-sheet{position:fixed;inset:8px 8px 8px auto;width:min(520px,calc(100vw - 16px));height:calc(100dvh - 16px);max-height:none;margin:0;border-radius:14px;transform:translate(28px)}@starting-style{.dialog-sheet[open]{transform:translate(28px)}}.dialog-drawer{position:fixed;inset:8px auto 8px 8px;width:min(292px,calc(100vw - 48px));height:calc(100dvh - 16px);max-height:none;margin:0;border-radius:14px;background:var(--bg-canvas);transform:translate(-28px)}@starting-style{.dialog-drawer[open]{transform:translate(-28px)}}.dialog-palette{width:620px;margin-top:min(14vh,120px);border-radius:14px;transform:scale(.98)}@starting-style{.dialog-palette[open]{transform:scale(.98)}}@media(prefers-reduced-motion:reduce){dialog.dialog,.dialog-modal,.dialog-sheet,.dialog-drawer,.dialog-palette{transform:none}}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 0}.dialog-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:14px;border-radius:10px;background:var(--bg-inset);border:1px solid var(--border);color:var(--text-2)}.dialog-icon svg{width:18px;height:18px}.dialog-icon-danger{background:var(--danger-soft);border-color:color-mix(in oklab,var(--danger) 22%,transparent);color:var(--danger-text)}.dialog-title{font-size:var(--text-lg);font-weight:600;letter-spacing:-.015em}.dialog-desc{margin-top:6px;color:var(--text-2);font-size:var(--text-base);line-height:1.55}.dialog-body{padding:18px 20px}.dialog-header+.dialog-footer{margin-top:22px}.dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-subtle)}:root[data-theme=dark] .dialog-footer{background:#ffffff04}.sheet{display:flex;flex-direction:column;height:100%}.sheet-topbar{display:flex;align-items:center;gap:8px;height:52px;padding:0 10px 0 16px;border-bottom:1px solid var(--border);flex-shrink:0}.sheet-crumb{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text-3);font-size:var(--text-sm)}.sheet-crumb svg{width:13px;height:13px}.sheet-crumb strong{color:var(--text);font-weight:500}.sheet-topbar-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.sheet-form{display:flex;flex:1;flex-direction:column;min-height:0}.sheet-body{flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:24px 22px 32px}.sheet-footer{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-subtle);flex-shrink:0}:root[data-theme=dark] .sheet-footer{background:#ffffff04}.sheet-footer .spacer{flex:1}.toaster{position:fixed;z-index:1000;inset:auto 16px 16px auto;width:min(380px,calc(100vw - 32px));margin:0;padding:0;border:0;overflow:visible;background:transparent;color:var(--text);pointer-events:none}@media(min-width:900px){body:has(dialog.dialog-sheet[open]) .toaster{right:calc(min(520px,100vw - 16px) + 24px)}}.toaster>ol{display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 10px 12px 14px;border-radius:12px;background:var(--bg-elevated);box-shadow:var(--shadow-popover);pointer-events:auto;animation:toast-in .38s var(--ease-out)}.toast[data-leaving=true]{animation:toast-out .2s ease-in forwards}.toast-icon{display:grid;place-items:center;width:20px;height:20px;margin-top:.5px;border-radius:50%}.toast-icon svg{width:13px;height:13px}.toast[data-tone=success] .toast-icon{background:var(--success-soft);color:var(--success-text)}.toast[data-tone=error] .toast-icon{background:var(--danger-soft);color:var(--danger-text)}.toast[data-tone=info] .toast-icon{background:var(--accent-soft);color:var(--accent-text)}.toast[data-tone=warning] .toast-icon{background:var(--warning-soft);color:var(--warning-text)}.toast-content{flex:1;min-width:0}.toast-title{font-size:13px;font-weight:600;line-height:1.4}.toast-desc{margin-top:2px;color:var(--text-2);font-size:12.5px;line-height:1.45}.toast-close{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;color:var(--text-3)}.toast-close:hover{background:var(--bg-hover);color:var(--text)}.toast-close svg{width:13px;height:13px}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}@keyframes toast-out{to{opacity:0;transform:translate(16px) scale(.98)}}.logo{display:inline-flex;align-items:center;gap:10px;min-width:0}.logo-text{display:grid;line-height:1.15;min-width:0}.logo-name{font-size:15px;font-weight:600;letter-spacing:-.02em}.logo-sub{color:var(--text-3);font-size:11.5px}.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:100dvh;background:var(--bg-surface)}.auth-main{display:flex;flex-direction:column;min-height:100dvh;padding:22px clamp(20px,4vw,48px)}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-top-actions{display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:var(--text-sm)}.auth-top-actions a{color:var(--text);font-weight:500}.auth-top-actions a:hover{color:var(--accent-text)}.auth-center{flex:1;display:grid;place-items:center;padding:40px 0}.auth-form{width:100%;max-width:384px;animation:rise-in .52s var(--ease-out) both}.auth-pill{display:inline-flex;align-items:center;gap:8px;height:26px;margin-bottom:22px;padding:0 10px 0 9px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--text-2);font-size:12px}.status-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--text-3)}.status-dot[data-state=online]{background:var(--success);box-shadow:0 0 0 3px var(--success-soft);animation:pulse-ring 2.4s ease-out infinite}.status-dot[data-state=offline]{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.status-dot[data-state=pending]{background:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}@keyframes pulse-ring{0%{box-shadow:0 0 color-mix(in oklab,var(--success) 45%,transparent)}70%,to{box-shadow:0 0 0 6px transparent}}.auth-title{font-size:30px;font-weight:600;letter-spacing:-.032em;line-height:1.12}.auth-sub{margin-top:8px;color:var(--text-2);font-size:var(--text-md)}.auth-notice{margin-top:22px}.auth-fields{display:grid;gap:16px;margin-top:26px}.auth-fields .btn-lg{margin-top:6px}.pw-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:2px}.pw-meter span{height:4px;border-radius:2px;background:var(--bg-active);transition:background-color var(--dur-2)}.pw-meter[data-score="1"] span:nth-child(-n+1){background:var(--danger)}.pw-meter[data-score="2"] span:nth-child(-n+2){background:var(--warning)}.pw-meter[data-score="3"] span:nth-child(-n+3){background:var(--accent)}.pw-meter[data-score="4"] span{background:var(--success)}.caps-hint{display:inline-flex;align-items:center;gap:4px;color:var(--warning-text);font-size:11.5px;font-weight:500}.caps-hint svg{width:12px;height:12px}.auth-divider{display:flex;align-items:center;gap:12px;margin:28px 0 14px;color:var(--text-3);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.demo-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);text-align:left;box-shadow:var(--shadow-xs);transition:border-color var(--dur-1),background-color var(--dur-1),box-shadow var(--dur-2),transform var(--dur-2) var(--ease-out)}.demo-card:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-subtle);box-shadow:var(--shadow-md);transform:translateY(-1px)}.demo-card:disabled{opacity:.6}.demo-card-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent-text)}.demo-card-icon svg{width:16px;height:16px}.demo-card[data-variant=student] .demo-card-icon{background:var(--bg-inset);color:var(--text-2)}.demo-card-title{display:block;font-size:13px;font-weight:600}.demo-card-desc{display:block;color:var(--text-3);font-size:11.5px}.auth-bottom{display:flex;justify-content:space-between;gap:12px;color:var(--text-3);font-size:12px}.auth-bottom span{display:inline-flex;align-items:center;gap:6px}.auth-bottom svg{width:13px;height:13px}.auth-aside{color-scheme:dark;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:40px;margin:10px 10px 10px 0;padding:clamp(32px,4vw,56px);border-radius:20px;background:#07070c;color:#f4f4f6}.auth-aside:before{content:"";position:absolute;z-index:-1;inset:-25% -15% auto -15%;height:85%;background:radial-gradient(55% 55% at 28% 34%,rgba(109,104,242,.55),transparent 70%),radial-gradient(45% 45% at 78% 22%,rgba(192,132,252,.32),transparent 70%),radial-gradient(40% 40% at 58% 72%,rgba(56,189,248,.16),transparent 70%);filter:blur(36px);animation:aurora 20s ease-in-out infinite alternate}.auth-aside:after{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 85% 65% at 50% 28%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 85% 65% at 50% 28%,#000 25%,transparent 78%)}@keyframes aurora{to{transform:translate3d(5%,7%,0) rotate(7deg) scale(1.08)}}.showcase-kicker{display:inline-flex;align-items:center;gap:8px;padding:3px 12px 3px 3px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);background:#ffffff0a;color:#ffffffa8;font-size:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.showcase-kicker b{padding:2px 9px;border-radius:var(--radius-full);background:#ffffff1a;color:#fff;font-weight:500}.showcase-title{max-width:560px;margin-top:22px;color:#fff;font-family:var(--font-display);font-size:clamp(40px,4.3vw,62px);font-weight:400;line-height:1.02;letter-spacing:-.015em}.showcase-title em{padding-right:.06em;background:linear-gradient(92deg,#c4c1ff 10%,#f0abfc 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.showcase-lede{max-width:460px;margin-top:16px;color:#ffffff9e;font-size:15px;line-height:1.6}.showcase-stage{position:relative;padding-bottom:28px}.glass{border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#14141cb8;box-shadow:0 30px 60px -22px #000000b3,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}.stage-main{width:min(100%,440px);padding:18px 18px 20px}.stage-float{position:absolute;right:0;bottom:0;width:236px;padding:14px;animation:float 7s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px)}}.stage-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#ffffff8c;font-size:12px}.stage-head strong{color:#fff;font-size:13px;font-weight:600}.stage-live{display:inline-flex;align-items:center;gap:6px}.stage-bars{display:grid;gap:11px;margin-top:16px}.stage-bar{display:grid;grid-template-columns:48px 1fr 26px;align-items:center;gap:10px;color:#ffffffb3;font-size:12px}.stage-bar .mono{color:#fff}.stage-bar-track{height:8px}.stage-bar-fill{height:100%;min-width:3px;border-radius:0 4px 4px 0;background:linear-gradient(90deg,#6d68f2,#a8a5ff);transform-origin:left;animation:grow-x 1s var(--ease-out) both}.stage-bar-value{text-align:right;font-variant-numeric:tabular-nums}.stage-offline{display:flex;align-items:flex-start;gap:10px;margin-top:14px;color:#ffffff9e;font-size:12.5px;line-height:1.5}.stage-offline svg{width:16px;height:16px;margin-top:2px;color:#ff8589}.stage-float-row{display:flex;align-items:center;gap:10px}.stage-float-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#6d68f233;color:#c4c1ff}.stage-float-icon svg{width:16px;height:16px}.stage-float strong{display:block;color:#fff;font-size:12.5px;font-weight:600}.stage-float small{display:block;color:#ffffff80;font-size:11.5px}.stage-chips{display:flex;gap:6px;margin-top:12px}.stage-chips span{padding:3px 8px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-full);background:#ffffff0a;color:#ffffffbf;font-size:11px}.showcase-features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}.feature svg{width:18px;height:18px;color:#c4c1ff}.feature h3{margin-top:10px;color:#fff;font-size:13.5px;font-weight:600}.feature p{margin-top:4px;color:#ffffff85;font-size:12.5px;line-height:1.5}@media(max-width:1180px){.showcase-features{grid-template-columns:1fr 1fr}.feature:nth-child(3){display:none}.stage-float{display:none}}@media(max-width:960px){.auth{grid-template-columns:1fr}.auth-aside{display:none}}@media(max-width:440px){.demo-grid{grid-template-columns:1fr}.auth-title{font-size:26px}}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);height:100dvh;background:var(--bg-canvas)}.sidebar{display:flex;flex-direction:column;min-height:0;padding:10px 8px 10px 10px}.dialog-drawer .sidebar{height:100%;padding:10px}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 12px 6px}.sidebar-head .logo-name{font-size:14.5px}.search-trigger{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 6px 0 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-3);font-size:13px;box-shadow:var(--shadow-xs);transition:border-color var(--dur-1),color var(--dur-1)}:root[data-theme=dark] .search-trigger{background:#ffffff08}.search-trigger:hover{border-color:var(--border-strong);color:var(--text-2)}.search-trigger svg{width:15px;height:15px}.search-trigger .kbd-group{margin-left:auto}.sidebar-scroll{flex:1;min-height:0;margin:0 -4px;padding:0 4px 12px;overflow-x:hidden;overflow-y:auto}.nav{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;margin-top:12px}.nav-link{display:flex;align-items:center;gap:10px;height:32px;padding:0 8px 0 10px;border-radius:7px;color:var(--text-2);font-size:13.5px;font-weight:500;transition:background-color var(--dur-1),color var(--dur-1)}.nav-link>svg{width:16px;height:16px;color:var(--text-3);transition:color var(--dur-1)}.nav-link:hover{background:var(--bg-hover);color:var(--text)}.nav-link.active,.nav-link[aria-current=page]{background:var(--bg-surface);color:var(--text);box-shadow:var(--shadow-sm),0 0 0 1px var(--border)}:root[data-theme=dark] .nav-link.active,:root[data-theme=dark] .nav-link[aria-current=page]{background:#fff1;box-shadow:inset 0 0 0 1px var(--border)}.nav-link.active>svg,.nav-link[aria-current=page]>svg{color:var(--accent-text)}.nav-count{margin-left:auto;color:var(--text-3);font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}.nav-section{margin-top:20px}.nav-section-title{display:flex;align-items:center;justify-content:space-between;height:26px;padding:0 4px 0 10px;color:var(--text-3);font-size:11.5px;font-weight:500}.nav-section-title .btn{--btn-h: 22px;opacity:0;transition:opacity var(--dur-1)}.nav-section:hover .nav-section-title .btn,.nav-section-title .btn:focus-visible{opacity:1}.nav-dept{font-weight:400;height:30px}.nav-dept .dept-dot{margin:0 4px}.nav-dept .mono{color:var(--text-3);font-size:11.5px}.sidebar-foot{display:grid;gap:4px;padding-top:8px;border-top:1px solid var(--border)}.api-status{display:flex;align-items:center;gap:8px;padding:4px 10px;color:var(--text-3);font-size:12px}.api-status .tnum{margin-left:auto}.user-button{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border-radius:var(--radius-md);text-align:left;transition:background-color var(--dur-1)}.user-button:hover,.user-button[aria-expanded=true]{background:var(--bg-hover)}.user-button>svg{width:15px;height:15px;margin-left:auto;color:var(--text-3)}.user-meta{display:grid;min-width:0;line-height:1.3}.user-name{font-size:13px;font-weight:500}.user-sub{color:var(--text-3);font-size:11.5px}.main{display:flex;flex-direction:column;min-width:0;min-height:0;margin:8px 8px 8px 0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.topbar{display:flex;align-items:center;gap:8px;height:var(--topbar-h);padding:0 10px 0 20px;border-bottom:1px solid var(--border);flex-shrink:0}.topbar .nav-toggle{display:none;margin-left:-8px}.breadcrumb{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text-3);font-size:13px}.breadcrumb a:hover{color:var(--text)}.breadcrumb strong{color:var(--text);font-weight:500}.breadcrumb svg{width:14px;height:14px}.topbar-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.topbar-search{display:none}.read-only-pill{display:inline-flex;align-items:center;gap:6px;height:24px;margin-right:6px;padding:0 9px;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-2);font-size:12px}.read-only-pill svg{width:13px;height:13px}.main-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}body:has(dialog[open]) .main-scroll{overflow-y:hidden}.page{max-width:1240px;margin:0 auto;padding:28px 32px 72px;animation:rise-in .42s var(--ease-out) both}.page-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-title{display:flex;align-items:center;gap:10px;font-size:var(--text-2xl);font-weight:600;letter-spacing:-.028em;line-height:1.2}.page-title .badge-count{height:22px;min-width:26px;font-size:12px;letter-spacing:0}.page-desc{margin-top:4px;color:var(--text-2);font-size:var(--text-md)}.page-actions{display:flex;align-items:center;gap:8px}.palette-input-row{display:flex;align-items:center;gap:10px;height:56px;padding:0 14px 0 18px;border-bottom:1px solid var(--border)}.palette-input-row>svg{width:18px;height:18px;color:var(--text-3)}.palette-input{flex:1;height:100%;border:0;outline:none;background:transparent;font-size:15.5px}.palette-list{max-height:min(440px,56dvh);padding:6px;overflow-y:auto;overscroll-behavior:contain;scroll-padding:32px 0 8px}.palette-group{padding:10px 10px 5px;color:var(--text-3);font-size:11.5px;font-weight:500}.palette-item{display:flex;align-items:center;gap:11px;width:100%;min-height:42px;padding:0 10px;border-radius:var(--radius-md);color:var(--text);font-size:13.5px;text-align:left;cursor:pointer}.palette-item[aria-selected=true]{background:var(--bg-active)}.palette-tile{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border:1px solid var(--border);border-radius:7px;background:var(--bg-surface);color:var(--text-2)}.palette-tile svg{width:14px;height:14px}.palette-item[aria-selected=true] .palette-tile{border-color:var(--border-strong);color:var(--text)}.palette-item-text{display:grid;min-width:0;line-height:1.3}.palette-item-sub{color:var(--text-3);font-size:12px}.palette-meta{display:flex;align-items:center;gap:4px;margin-left:auto;padding-left:12px;color:var(--text-3);font-size:12px}.palette-meta .enter{display:none}.palette-item[aria-selected=true] .palette-meta .enter{display:inline-grid}.palette-empty{padding:40px 16px;color:var(--text-2);text-align:center}.palette-footer{display:flex;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--border);background:var(--bg-subtle);color:var(--text-3);font-size:12px}:root[data-theme=dark] .palette-footer{background:#ffffff04}.palette-footer>span{display:inline-flex;align-items:center;gap:6px}.palette-footer .brand{margin-left:auto}.shortcut-groups{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}.shortcut-group h3{margin-bottom:6px;color:var(--text-3);font-size:11.5px;font-weight:500}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:12px;height:34px;border-bottom:1px solid var(--border);font-size:13px}.shortcut-row:last-child{border-bottom:0}@media(max-width:920px){.shell{grid-template-columns:minmax(0,1fr)}.shell>.sidebar{display:none}.main{margin:0;border:0;border-radius:0;box-shadow:none}.topbar{padding:0 8px 0 16px}.topbar .nav-toggle,.topbar-search{display:inline-flex}.page{padding:22px 16px 72px}.shortcut-groups{grid-template-columns:1fr}.read-only-pill span{display:none}}.shortcuts-dialog{width:680px}.overview-eyebrow{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--text-3);font-size:12.5px}.overview-eyebrow svg{width:14px;height:14px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.kpi{display:flex;flex-direction:column;gap:12px;min-height:136px;padding:16px 18px;animation:rise-in .46s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 50ms)}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-2);font-size:12.5px;font-weight:500}.kpi-head svg{width:15px;height:15px;color:var(--text-3)}.kpi-value{font-size:30px;font-weight:600;letter-spacing:-.035em;line-height:1}.kpi-value small{margin-left:3px;color:var(--text-3);font-size:15px;font-weight:500;letter-spacing:-.01em}.kpi-foot{display:flex;align-items:center;gap:6px;margin-top:auto;color:var(--text-3);font-size:12.5px}.kpi-foot strong{color:var(--text-2);font-weight:500}.kpi .meter{margin-top:auto}.overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:12px;margin-bottom:12px}.overview-grid>.card{animation:rise-in .52s var(--ease-out) both;animation-delay:.16s}.card-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-2);font-size:12.5px;font-weight:500;white-space:nowrap}.card-link:hover{color:var(--accent-text)}.card-link svg{width:14px;height:14px}.barlist{display:grid;gap:2px}.barlist-row{display:grid;grid-template-columns:minmax(110px,210px) minmax(0,1fr) 76px;align-items:center;gap:14px;margin:0 -8px;padding:6px 8px;border-radius:var(--radius-md);color:inherit;transition:background-color var(--dur-1)}a.barlist-row:hover,a.barlist-row:focus-visible{background:var(--bg-hover)}.barlist-label{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}.barlist-label .mono{color:var(--text-3);font-size:11.5px}.barlist-track{position:relative;display:flex;align-items:center;height:22px;border-left:1px solid var(--grid-line)}.barlist-bar{height:10px;min-width:2px;border-radius:0 4px 4px 0;background:var(--accent);transform-origin:left;animation:grow-x .9s var(--ease-out) both;animation-delay:calc(.14s + var(--i, 0) * 45ms)}.barlist-bar[data-muted=true]{background:var(--mark-muted)}.barlist-tip{position:absolute;z-index:5;left:var(--w);bottom:calc(100% + 2px);translate:-50% 4px;padding:6px 9px;border-radius:7px;background:var(--bg-elevated);box-shadow:var(--shadow-popover);color:var(--text-2);font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-1),translate var(--dur-2) var(--ease-out)}.barlist-tip strong{color:var(--text);font-weight:600}.barlist-row:hover .barlist-tip,.barlist-row:focus-visible .barlist-tip{opacity:1;translate:-50% 0}.barlist-value{font-size:13px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.barlist-value span{margin-left:6px;color:var(--text-3);font-size:12px;font-weight:400}.splitbar{display:flex;gap:2px;height:10px}.splitbar>span{height:100%;background:var(--c);transform-origin:left;animation:grow-x .9s var(--ease-out) both;animation-delay:.2s}.splitbar>span:first-child{border-radius:4px 0 0 4px}.splitbar>span:last-child{border-radius:0 4px 4px 0}.splitbar>span:only-child{border-radius:4px}.legend{display:grid;gap:10px;margin-top:18px}.legend-row{display:flex;align-items:center;gap:10px;font-size:13px}.legend-swatch{width:10px;height:10px;border-radius:3px;background:var(--c)}.legend-value{margin-left:auto;font-weight:500;font-variant-numeric:tabular-nums}.legend-value span{margin-left:6px;color:var(--text-3);font-weight:400}.access-notes{display:grid;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.access-note{display:flex;gap:10px;color:var(--text-2);font-size:12.5px;line-height:1.5}.access-note svg{width:15px;height:15px;margin-top:2px;color:var(--text-3)}.access-note strong{color:var(--text);font-weight:500}.list-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 18px;border-top:1px solid var(--border);color:inherit;text-align:left;transition:background-color var(--dur-1)}.list-row:first-child{border-top:0}a.list-row:hover,button.list-row:hover,a.list-row:focus-visible,button.list-row:focus-visible{background:var(--bg-hover)}.list-main{display:grid;min-width:0;line-height:1.35}.list-title{font-size:13.5px;font-weight:500}.list-sub{color:var(--text-3);font-size:12px}.list-aside{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.card-list{padding:8px 0 6px}.all-clear{display:flex;align-items:center;gap:12px;padding:18px;color:var(--text-2);font-size:13px}.all-clear-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--success-soft);color:var(--success-text)}.all-clear-icon svg{width:16px;height:16px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.toolbar-search{flex:1 1 240px;max-width:340px}.toolbar-search .input{padding-right:32px}.toolbar-search .input-trail .kbd{margin-right:4px}.toolbar .select-wrap{width:230px}.toolbar-spacer{flex:1}.result-count{color:var(--text-3);font-size:12.5px;font-variant-numeric:tabular-nums}.filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-2px 0 12px}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 4px 0 10px;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-text);font-size:12.5px;font-weight:500;animation:rise-in var(--dur-2) var(--ease-out)}.filter-chip button{display:grid;place-items:center;width:18px;height:18px;border-radius:50%}.filter-chip button:hover{background:var(--accent-soft-2)}.filter-chip svg{width:12px;height:12px}.table-card{overflow:hidden}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table th{height:38px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--bg-subtle);color:var(--text-3);font-size:12px;font-weight:500;text-align:left;white-space:nowrap}:root[data-theme=dark] .table th{background:#ffffff04}.table td{height:56px;padding:0 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr{cursor:pointer;transition:background-color var(--dur-1)}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr[aria-selected=true]{background:var(--accent-soft)}.table tbody tr:last-child td{border-bottom:0}.table .col-check{width:46px;padding-left:18px;padding-right:4px}.table .col-actions{width:56px;text-align:right}.th-sort{display:inline-flex;align-items:center;gap:4px;height:26px;margin:0 -6px;padding:0 6px;border-radius:6px;color:inherit;font:inherit}.th-sort:hover{background:var(--bg-hover);color:var(--text)}.label-short{display:none}@media(max-width:560px){.label-short{display:inline}}.th-sort svg{width:13px;height:13px;opacity:.45}.th-sort[data-active=true]{color:var(--text)}.th-sort[data-active=true] svg{opacity:1}.cell-person{display:flex;align-items:center;gap:11px;min-width:0}.cell-person-text{display:grid;min-width:0;line-height:1.3}.cell-person-name{display:flex;align-items:center;gap:6px;font-weight:500}.cell-person-sub{color:var(--text-3);font-size:12.5px}.you-tag{padding:1px 6px;border-radius:4px;background:var(--bg-inset);border:1px solid var(--border);color:var(--text-2);font-size:10.5px;font-weight:500}.cell-id{color:var(--text-2);font-size:12.5px}.row-menu-btn{opacity:0}.table tbody tr:hover .row-menu-btn,.row-menu-btn[aria-expanded=true],.row-menu-btn:focus-visible{opacity:1}@media(hover:none){.row-menu-btn{opacity:1}}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;border-top:1px solid var(--border);color:var(--text-2);font-size:12.5px}.pager{display:flex;align-items:center;gap:4px}.pager-label{margin-right:8px;font-variant-numeric:tabular-nums}@media(max-width:820px){.col-hide-md{display:none}}@media(max-width:560px){.col-hide-sm,.table .col-actions,.table .dept-chip .dept-name{display:none}.table td{padding:0 8px}.cell-person-text{max-width:44vw}.table .col-check{width:34px;padding:0 0 0 12px}.label-long{display:none}.toolbar .select-wrap,.toolbar-search{flex:1 1 100%;width:100%;max-width:none}}.bulk-bar{position:fixed;z-index:40;left:calc(50% + var(--sidebar-w) / 2);bottom:24px;translate:-50% 0;display:flex;align-items:center;gap:2px;padding:5px 5px 5px 14px;border-radius:12px;background:var(--text);color:var(--text-inverse);box-shadow:var(--shadow-lg);font-size:13px;animation:bulk-in .32s var(--ease-out) both}@keyframes bulk-in{0%{opacity:0;translate:-50% 14px}}.bulk-bar .bulk-count{margin-right:8px;font-weight:500;font-variant-numeric:tabular-nums}.bulk-bar .btn-ghost{color:inherit;opacity:.88}.bulk-bar .btn-ghost:hover:not(:disabled),.bulk-bar .btn-ghost[aria-expanded=true]{background:#80808c3d;color:inherit;opacity:1}.bulk-sep{width:1px;height:18px;margin:0 4px;background:currentColor;opacity:.18}@media(max-width:920px){.bulk-bar{left:50%;bottom:16px}}.dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}.dept-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-xs);transition:border-color var(--dur-1),box-shadow var(--dur-2),transform var(--dur-2) var(--ease-out);animation:rise-in .44s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 35ms)}.dept-card:hover,.dept-card:focus-within{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dept-card-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.dept-card-hit:focus-visible{outline-offset:-2px}.dept-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dept-card-head .btn{position:relative;z-index:2;margin:-4px -6px 0 0}.dept-tile{display:grid;place-items:center;min-width:42px;height:42px;padding:0 6px;border:1px solid color-mix(in oklab,var(--c) 34%,transparent);border-radius:11px;background:color-mix(in oklab,var(--c) 13%,var(--bg-surface));color:var(--text);font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.02em}.dept-tile-lg{min-width:56px;height:56px;border-radius:14px;font-size:13px}.dept-card-name{font-size:var(--text-md);font-weight:600;letter-spacing:-.012em;line-height:1.35}.dept-card-desc{display:-webkit-box;min-height:3em;margin-top:4px;overflow:hidden;color:var(--text-2);font-size:13px;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dept-card-foot{display:grid;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border)}.dept-card-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text-3);font-size:12.5px}.dept-card-stats strong{color:var(--text);font-weight:600}.dept-card-new{align-items:center;justify-content:center;min-height:214px;border-style:dashed;background:transparent;box-shadow:none;color:var(--text-2);font-weight:500;cursor:pointer}.dept-card-new:hover{background:var(--bg-subtle);color:var(--text)}.dept-card-new .empty-icon{margin:0}.profile-head{display:flex;align-items:center;gap:16px}.profile-name{font-size:20px;font-weight:600;letter-spacing:-.022em;line-height:1.25}.profile-sub{display:flex;align-items:center;gap:4px;margin-top:2px;color:var(--text-2);font-size:13.5px}.profile-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.section{margin-top:28px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:var(--text-3);font-size:12px;font-weight:500}.props{display:grid;grid-template-columns:132px minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-radius:10px}.props dt,.props dd{display:flex;align-items:center;min-height:44px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:13px}.props dt{background:var(--bg-subtle);color:var(--text-3)}:root[data-theme=dark] .props dt{background:#ffffff04}.props dd{justify-content:space-between;gap:8px;min-width:0}.props dt:last-of-type,.props dd:last-of-type{border-bottom:0}.info-card{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle)}:root[data-theme=dark] .info-card{background:#ffffff05}.info-card-head{display:flex;align-items:center;gap:10px}.info-card p{margin-top:10px;color:var(--text-2);font-size:13px;line-height:1.55}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-mini{padding:12px 14px;border:1px solid var(--border);border-radius:10px}.stat-mini-label{color:var(--text-3);font-size:12px}.stat-mini-value{margin-top:4px;font-size:20px;font-weight:600;letter-spacing:-.025em}.roster{overflow:hidden;border:1px solid var(--border);border-radius:10px}.roster .list-row{padding:9px 12px}.roster-empty{padding:22px 14px;color:var(--text-3);font-size:13px;text-align:center}.sheet-form-title{font-size:19px;font-weight:600;letter-spacing:-.022em}.sheet-form-desc{margin:4px 0 26px;color:var(--text-2);font-size:13.5px}.code-input{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.char-count{color:var(--text-3);font-size:11.5px;font-weight:400;font-variant-numeric:tabular-nums}.confirm-input-label{display:block;margin-bottom:8px;color:var(--text-2);font-size:13px}.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.account-grid>.card{animation:rise-in .46s var(--ease-out) both}.account-grid>.card:nth-child(2){animation-delay:60ms}.account-grid>.card:nth-child(3){animation-delay:.12s}.account-span{grid-column:1 / -1}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid var(--border)}.settings-row:first-child{border-top:0}.settings-row-label{font-size:13.5px;font-weight:500}.settings-row-desc{margin-top:2px;color:var(--text-3);font-size:12.5px}.session-clock{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1}.session-clock-wrap{display:grid;gap:12px}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.account-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.barlist-row{grid-template-columns:minmax(64px,96px) minmax(0,1fr) 64px;gap:10px}.barlist-label .dept-name-long{display:none}.stat-row{grid-template-columns:1fr 1fr}.props{grid-template-columns:104px minmax(0,1fr)}.kpi{min-height:120px;padding:14px}.kpi-value{font-size:26px}}.notfound{display:grid;place-items:center;min-height:100dvh;padding:24px;background:var(--bg-surface);text-align:center}.notfound-code{color:var(--text);font-family:var(--font-display);font-size:clamp(96px,18vw,168px);font-style:italic;line-height:.9;letter-spacing:-.03em}.notfound p{max-width:380px;margin:14px auto 24px;color:var(--text-2)}@keyframes grow-x{0%{transform:scaleX(0)}}
