.spinner{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-ink-muted)}.spinner__ring{--spinner-size: 16px;--spinner-thickness: 2px;--spinner-color: currentColor;width:var(--spinner-size);height:var(--spinner-size);border-radius:50%;border:var(--spinner-thickness) solid color-mix(in oklab,var(--spinner-color) 20%,transparent);border-top-color:var(--spinner-color);animation:spinner-rotate .9s linear infinite}.spinner--xs .spinner__ring{--spinner-size: 12px;--spinner-thickness: 1.5px}.spinner--sm .spinner__ring{--spinner-size: 14px;--spinner-thickness: 1.5px}.spinner--md .spinner__ring{--spinner-size: 18px}.spinner--lg .spinner__ring{--spinner-size: 28px;--spinner-thickness: 3px}.spinner--accent{color:var(--color-accent)}.spinner--ink{color:var(--color-ink)}.spinner--muted{color:var(--color-ink-soft)}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner__ring{animation-duration:2.4s}}.btn{--btn-h: 36px;--btn-pad-x: var(--space-4);--btn-gap: var(--space-2);--btn-fs: var(--fs-base);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);height:var(--btn-h);padding:0 var(--btn-pad-x);border-radius:var(--radius-sm);border:1px solid transparent;font-family:var(--font-sans);font-size:var(--btn-fs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);line-height:1;white-space:nowrap;user-select:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.btn:disabled,.btn[data-disabled=true]{cursor:not-allowed;opacity:.55}.btn:active:not(:disabled):not([data-disabled=true]){transform:translateY(1px)}.btn--sm{--btn-h: 28px;--btn-pad-x: var(--space-3);--btn-fs: var(--fs-sm);--btn-gap: var(--space-1)}.btn--md{--btn-h: 36px;--btn-pad-x: var(--space-4);--btn-fs: var(--fs-base)}.btn--lg{--btn-h: 44px;--btn-pad-x: var(--space-5);--btn-fs: var(--fs-md)}.btn--full{width:100%}.btn--icon-only{width:var(--btn-h);padding:0}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent);box-shadow:var(--shadow-xs)}.btn--primary:hover:not(:disabled):not([data-disabled=true]){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--primary:active:not(:disabled):not([data-disabled=true]){background:var(--color-accent-pressed);border-color:var(--color-accent-pressed)}.btn--secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled):not([data-disabled=true]){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn--ghost{background:transparent;color:var(--color-ink-muted);border-color:transparent}.btn--ghost:hover:not(:disabled):not([data-disabled=true]){background:var(--color-surface-hover);color:var(--color-ink)}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger);box-shadow:var(--shadow-xs)}.btn--danger:hover:not(:disabled):not([data-disabled=true]){background:color-mix(in oklab,var(--color-danger) 88%,#000);border-color:color-mix(in oklab,var(--color-danger) 88%,#000)}.btn--link{background:transparent;color:var(--color-accent);border-color:transparent;padding:0 var(--space-1);height:auto;line-height:var(--lh-base)}.btn--link:hover:not(:disabled):not([data-disabled=true]){text-decoration:underline;text-underline-offset:3px}.btn--loading{pointer-events:none}.btn--loading .btn__label{opacity:.6}.btn__icon,.btn__spinner{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn__icon svg{width:16px;height:16px}.btn--lg .btn__icon svg{width:18px;height:18px}.btn--sm .btn__icon svg{width:14px;height:14px}.btn__label{display:inline-flex;align-items:center}.pill{--pill-bg: var(--color-surface-sunken);--pill-fg: var(--color-ink-muted);--pill-border: transparent;display:inline-flex;align-items:center;gap:var(--space-2);padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--pill-bg);color:var(--pill-fg);border:1px solid var(--pill-border);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);line-height:1.5;white-space:nowrap}.pill--md{font-size:var(--fs-sm);padding:4px var(--space-3)}.pill--solid{--pill-bg: var(--pill-tone-solid-bg, var(--color-ink));--pill-fg: var(--pill-tone-solid-fg, #fff);--pill-border: var(--pill-tone-solid-bg, var(--color-ink))}.pill--outline{--pill-bg: transparent;--pill-border: var(--pill-tone-border, var(--color-border));--pill-fg: var(--pill-tone-fg, var(--color-ink-muted))}.pill--neutral{--pill-bg: var(--color-surface-sunken);--pill-fg: var(--color-ink-muted);--pill-border: var(--color-border);--pill-tone-solid-bg: var(--color-ink);--pill-tone-solid-fg: var(--color-canvas);--pill-tone-border: var(--color-border)}.pill--accent{--pill-bg: var(--color-accent-soft);--pill-fg: var(--color-accent);--pill-border: color-mix(in oklab, var(--color-accent) 16%, transparent);--pill-tone-solid-bg: var(--color-accent);--pill-tone-solid-fg: var(--color-accent-ink);--pill-tone-border: var(--color-accent)}.pill--success{--pill-bg: var(--color-success-soft);--pill-fg: var(--color-success);--pill-border: color-mix(in oklab, var(--color-success) 16%, transparent);--pill-tone-solid-bg: var(--color-success);--pill-tone-solid-fg: #fff}.pill--warn{--pill-bg: var(--color-warn-soft);--pill-fg: var(--color-warn);--pill-border: color-mix(in oklab, var(--color-warn) 16%, transparent);--pill-tone-solid-bg: var(--color-warn);--pill-tone-solid-fg: #1a1a18}.pill--danger{--pill-bg: var(--color-danger-soft);--pill-fg: var(--color-danger);--pill-border: color-mix(in oklab, var(--color-danger) 18%, transparent);--pill-tone-solid-bg: var(--color-danger);--pill-tone-solid-fg: #fff}.pill--info{--pill-bg: var(--color-info-soft);--pill-fg: var(--color-info);--pill-border: color-mix(in oklab, var(--color-info) 16%, transparent)}.pill--running{--pill-bg: var(--color-info-soft);--pill-fg: var(--color-info);--pill-border: color-mix(in oklab, var(--color-info) 18%, transparent)}.pill--queued{--pill-bg: var(--color-surface-sunken);--pill-fg: var(--color-ink-muted);--pill-border: var(--color-border)}.pill--cancelled{--pill-bg: var(--color-surface-sunken);--pill-fg: var(--color-ink-soft);--pill-border: var(--color-border)}.pill__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.pill--running .pill__dot{animation:pill-pulse 1.4s var(--ease-standard) infinite}@keyframes pill-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}.pill__icon{display:inline-flex;align-items:center;justify-content:center}.pill__icon svg{width:12px;height:12px}.pill__label{display:inline-flex;align-items:center}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--color-surface-sunken) 0%,var(--color-surface-hover) 50%,var(--color-surface-sunken) 100%);background-size:240% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer 1.8s var(--ease-standard) infinite;vertical-align:middle}.skeleton--line{width:100%;height:.75em;margin-block:.25em;border-radius:var(--radius-xs)}.skeleton--block{width:100%;height:140px;border-radius:var(--radius-md);display:block}.skeleton--circle{width:32px;height:32px;border-radius:50%}.skeleton-text{display:flex;flex-direction:column;gap:var(--space-2);width:100%}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--color-surface-sunken)}}.progressbar{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.progressbar__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--fs-sm)}.progressbar__label{color:var(--color-ink);font-weight:var(--fw-medium)}.progressbar__hint{color:var(--color-ink-soft);font-variant-numeric:tabular-nums}.progressbar__track{--pb-track-bg: var(--color-surface-sunken);--pb-fill-bg: var(--color-accent);--pb-height: 6px;position:relative;height:var(--pb-height);background:var(--pb-track-bg);border-radius:var(--radius-pill);overflow:hidden}.progressbar--sm .progressbar__track{--pb-height: 4px}.progressbar--md .progressbar__track{--pb-height: 6px}.progressbar--accent .progressbar__track{--pb-fill-bg: var(--color-accent)}.progressbar--success .progressbar__track{--pb-fill-bg: var(--color-success)}.progressbar--warn .progressbar__track{--pb-fill-bg: var(--color-warn)}.progressbar--danger .progressbar__track{--pb-fill-bg: var(--color-danger)}.progressbar__fill{height:100%;width:0%;background:var(--pb-fill-bg);border-radius:inherit;transition:width var(--dur-slow) var(--ease-standard)}.progressbar__track--indeterminate .progressbar__fill{position:absolute;width:35%;animation:progress-indeterminate 1.4s var(--ease-standard) infinite}@keyframes progress-indeterminate{0%{left:-40%;width:35%}50%{left:40%;width:45%}to{left:100%;width:30%}}@media (prefers-reduced-motion: reduce){.progressbar__track--indeterminate .progressbar__fill{animation:none;left:0;width:100%;opacity:.4}}.kpi{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}.kpi:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.kpi--accent{background:linear-gradient(180deg,var(--color-accent-soft) 0%,var(--color-surface) 60%);border-color:color-mix(in oklab,var(--color-accent) 12%,var(--color-border))}.kpi__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.kpi__label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ink-soft)}.kpi__icon{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-ink-muted)}.kpi__icon svg{width:18px;height:18px}.kpi--accent .kpi__icon{background:var(--color-accent-soft);color:var(--color-accent)}.kpi__value{font-family:var(--font-sans);font-size:var(--fs-3xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--color-ink);font-variant-numeric:tabular-nums;word-break:break-word}.kpi__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:1.25rem;font-size:var(--fs-sm)}.kpi__hint{color:var(--color-ink-soft);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi__trend{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--color-surface-sunken);color:var(--color-ink-muted)}.kpi__trend svg{width:12px;height:12px}.kpi__trend--success{background:var(--color-success-soft);color:var(--color-success)}.kpi__trend--danger{background:var(--color-danger-soft);color:var(--color-danger)}.kpi__trend--neutral{background:var(--color-surface-sunken);color:var(--color-ink-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-ink-muted)}.empty-state--compact{padding:var(--space-6) var(--space-4);gap:var(--space-2)}.empty-state--error{background:var(--color-danger-soft);border-style:solid;border-color:color-mix(in oklab,var(--color-danger) 18%,transparent);color:var(--color-danger)}.empty-state__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-ink-soft)}.empty-state--error .empty-state__icon{background:color-mix(in oklab,var(--color-danger) 14%,transparent);color:var(--color-danger)}.empty-state__icon svg{width:24px;height:24px}.empty-state__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--color-ink);letter-spacing:var(--tracking-tight)}.empty-state--error .empty-state__title{color:var(--color-danger)}.empty-state__description{max-width:48ch;color:var(--color-ink-soft);font-size:var(--fs-sm);line-height:var(--lh-relax)}.empty-state--error .empty-state__description{color:color-mix(in oklab,var(--color-danger) 80%,var(--color-ink))}.empty-state__meta{display:inline-block;margin-top:var(--space-1);font-size:var(--fs-xs);color:var(--color-ink-soft)}.empty-state__meta code{font-family:var(--font-mono);padding:0 var(--space-1);background:transparent;border:0}.empty-state__action{margin-top:var(--space-2);display:flex;gap:var(--space-2)}.data-table{--dt-row-h: 48px;--dt-pad-x: var(--space-4);--dt-pad-y: var(--space-3);--dt-header-fs: var(--fs-xs);position:relative;width:100%;overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.data-table--compact{--dt-row-h: 40px;--dt-pad-y: var(--space-2)}.data-table table{width:100%;border-collapse:separate;border-spacing:0}.data-table thead th{position:relative;background:var(--color-surface);color:var(--color-ink-soft);font-size:var(--dt-header-fs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;padding:var(--space-3) var(--dt-pad-x);border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}.data-table--sticky thead th{position:sticky;top:0;z-index:var(--z-sticky);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);background:color-mix(in oklab,var(--color-surface) 88%,transparent)}.data-table tbody td{padding:var(--dt-pad-y) var(--dt-pad-x);border-bottom:1px solid var(--color-border-subtle);color:var(--color-ink);font-size:var(--fs-sm);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table__row--interactive{cursor:pointer;transition:background var(--dur-fast) var(--ease-standard)}.data-table__row--interactive:hover td{background:var(--color-surface-hover)}.data-table__row--interactive:focus-visible td{background:var(--color-surface-hover)}.data-table__row--interactive:focus-visible{outline:none}.data-table__row--interactive:focus-visible td:first-child{box-shadow:inset 3px 0 0 var(--color-accent)}.data-table__row-link{display:block;text-decoration:none;color:inherit;margin:calc(var(--dt-pad-y) * -1) calc(var(--dt-pad-x) * -1);padding:var(--dt-pad-y) var(--dt-pad-x)}.data-table__row--skeleton td{color:var(--color-ink-faint);pointer-events:none}.data-table__row--empty td{padding:0;border-bottom:0}.data-table__row--empty .empty-state{border:0;background:transparent}.data-table__cell--right{text-align:right}.data-table__cell--center{text-align:center}.data-table__cell--numeric{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.data-table__th--sortable{cursor:pointer;user-select:none}.data-table__sort-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:color var(--dur-fast) var(--ease-standard)}.data-table__sort-btn:hover{color:var(--color-ink)}.data-table__sort-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.data-table__cell--right .data-table__sort-btn,.data-table__cell--numeric .data-table__sort-btn{flex-direction:row-reverse}.data-table__sort-icon{flex-shrink:0;transition:opacity var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.data-table__sort-icon--idle{opacity:.35}.data-table__sort-btn:hover .data-table__sort-icon--idle{opacity:.7}.data-table__sort-icon--active{opacity:1;color:var(--color-accent)}.data-table__th--sorted{color:var(--color-ink)}.data-table__partial-sort-hint{padding:var(--space-2) var(--dt-pad-x);border-top:1px solid var(--color-border-subtle);background:color-mix(in oklab,var(--color-surface) 92%,transparent);color:var(--color-ink-soft);font-size:var(--fs-xs);line-height:1.4}.live-clock{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 10px;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--fs-sm);color:var(--color-ink-muted);user-select:none;line-height:1}.live-clock__icon{color:var(--color-ink-soft);flex-shrink:0}.live-clock__time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-ink);font-weight:var(--fw-medium);letter-spacing:.02em}.live-clock__pulse{width:8px;height:8px;border-radius:50%;background:var(--color-success);box-shadow:0 0 color-mix(in oklab,var(--color-success) 60%,transparent);animation:live-clock-pulse 2s var(--ease-standard) infinite;flex-shrink:0}@keyframes live-clock-pulse{0%{box-shadow:0 0 color-mix(in oklab,var(--color-success) 50%,transparent)}70%{box-shadow:0 0 0 8px color-mix(in oklab,var(--color-success) 0%,transparent)}to{box-shadow:0 0 color-mix(in oklab,var(--color-success) 0%,transparent)}}@media (prefers-reduced-motion: reduce){.live-clock__pulse{animation:none}}@media (max-width: 479px){.live-clock{display:none}}.user-menu{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:260px;padding:var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-overlay);display:flex;flex-direction:column;gap:var(--space-2);animation:user-menu-pop var(--dur-base) var(--ease-standard) both}@keyframes user-menu-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.user-menu__head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)}.user-menu__head-avatar{width:36px;height:36px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);display:grid;place-items:center;font-size:var(--fs-sm);font-weight:var(--fw-semibold);flex-shrink:0}.user-menu__head-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__head-email{font-size:var(--fs-xs);color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__roles{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:0 var(--space-2)}.user-menu__role{font-size:var(--fs-xs);padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-ink-muted);border:1px solid var(--color-border);letter-spacing:var(--tracking-wide)}.user-menu__divider{height:1px;background:var(--color-border);margin:var(--space-1) 0}.user-menu__item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink);font-size:var(--fs-sm);cursor:pointer;background:transparent;border:0;text-align:left;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.user-menu__item:hover{background:var(--color-surface-hover)}.user-menu__item svg{color:var(--color-ink-soft)}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-Dm3htQBi.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BZdD_g9V.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-b6lpi8_2.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-Cjtb1TV-.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--color-canvas: #fbfbfa;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-sunken: #f4f4f2;--color-surface-hover: #f1f1ef;--color-overlay: rgba(14, 14, 13, .42);--color-border: #eaeaea;--color-border-strong: #d4d4d1;--color-border-subtle: #f1f1ef;--color-ink: #1a1a18;--color-ink-muted: #4a4a47;--color-ink-soft: #73736f;--color-ink-faint: #a1a19c;--color-ink-disabled: #c8c8c3;--color-accent: #1f3a8a;--color-accent-hover: #1a3176;--color-accent-active: --color-accent-pressed;--color-accent-pressed: #162963;--color-accent-soft: #eef1fa;--color-accent-ink: #ffffff;--color-success: #1f7a4d;--color-success-soft: #e9f4ee;--color-warn: #9a6b10;--color-warn-soft: #fbf3e3;--color-danger: #b0362f;--color-danger-soft: #fbecea;--color-info: #2a5d8f;--color-info-soft: #eaf2fa;--color-focus-ring: rgba(31, 58, 138, .36);--font-sans: "Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", "Menlo", monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.3125rem;--fs-2xl: 1.625rem;--fs-3xl: 2.0625rem;--fs-display: 2.625rem;--lh-tight: 1.18;--lh-snug: 1.32;--lh-base: 1.5;--lh-relax: 1.62;--tracking-tight: -.012em;--tracking-base: 0;--tracking-wide: .02em;--tracking-caps: .06em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--shadow-none: none;--shadow-xs: 0 1px 0 rgba(22, 22, 21, .04);--shadow-sm: 0 1px 2px rgba(22, 22, 21, .04), 0 0 0 1px rgba(22, 22, 21, .03);--shadow-md: 0 2px 6px rgba(22, 22, 21, .05), 0 0 0 1px rgba(22, 22, 21, .04);--shadow-lg: 0 10px 24px rgba(22, 22, 21, .08), 0 0 0 1px rgba(22, 22, 21, .05);--shadow-focus: 0 0 0 3px var(--color-focus-ring);--ease-standard: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, .96, .2);--dur-instant: 80ms;--dur-fast: .14s;--dur-base: .22s;--dur-slow: .36s;--dur-crawl: .62s;--z-rail: 10;--z-topbar: 20;--z-sticky: 30;--z-overlay: 40;--z-modal: 50;--z-toast: 60;--z-tooltip: 70;--layout-rail-width: 236px;--layout-rail-collapsed: 64px;--layout-topbar-height: 56px;--layout-max-width: 1400px;--layout-gutter: clamp(var(--space-4), 2.5vw, var(--space-8))}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-canvas: #0e0e0d;--color-surface: #141413;--color-surface-raised: #1a1a18;--color-surface-sunken: #0a0a09;--color-surface-hover: #1f1f1d;--color-overlay: rgba(0, 0, 0, .64);--color-border: #262624;--color-border-strong: #33332f;--color-border-subtle: #1c1c1a;--color-ink: #f6f6f4;--color-ink-muted: #c9c9c3;--color-ink-soft: #8f8f89;--color-ink-faint: #6b6b65;--color-ink-disabled: #4a4a45;--color-accent: #8aa3ec;--color-accent-hover: #a3b8f2;--color-accent-pressed: #6f8de0;--color-accent-soft: #1b2140;--color-accent-ink: #0e0e0d;--color-success: #6fd39e;--color-success-soft: #12291e;--color-warn: #e8b564;--color-warn-soft: #2a1f0c;--color-danger: #ef8079;--color-danger-soft: #2a1513;--color-info: #83b4e3;--color-info-soft: #102030;--color-focus-ring: rgba(138, 163, 236, .4);--shadow-xs: 0 1px 0 rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .05)}}:root[data-theme=dark]{color-scheme:dark;--color-canvas: #0e0e0d;--color-surface: #141413;--color-surface-raised: #1a1a18;--color-surface-sunken: #0a0a09;--color-surface-hover: #1f1f1d;--color-overlay: rgba(0, 0, 0, .64);--color-border: #262624;--color-border-strong: #33332f;--color-border-subtle: #1c1c1a;--color-ink: #f6f6f4;--color-ink-muted: #c9c9c3;--color-ink-soft: #8f8f89;--color-ink-faint: #6b6b65;--color-ink-disabled: #4a4a45;--color-accent: #8aa3ec;--color-accent-hover: #a3b8f2;--color-accent-pressed: #6f8de0;--color-accent-soft: #1b2140;--color-accent-ink: #0e0e0d;--color-success: #6fd39e;--color-success-soft: #12291e;--color-warn: #e8b564;--color-warn-soft: #2a1f0c;--color-danger: #ef8079;--color-danger-soft: #2a1513;--color-info: #83b4e3;--color-info-soft: #102030;--color-focus-ring: rgba(138, 163, 236, .4);--shadow-xs: 0 1px 0 rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .05)}@media (prefers-reduced-motion: reduce){:root{--dur-instant: 0ms;--dur-fast: 0ms;--dur-base: 0ms;--dur-slow: 0ms;--dur-crawl: 0ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0;border:0;font:inherit;color:inherit}html,body,#root{height:100%}html{font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;text-size-adjust:100%}body{min-height:100vh;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-base);letter-spacing:var(--tracking-base);font-variant-numeric:tabular-nums;font-feature-settings:"cv11","ss01";accent-color:var(--color-accent);overflow-x:hidden;transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--color-ink)}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}h5{font-size:var(--fs-base)}h6{font-size:var(--fs-sm);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ink-soft)}p{line-height:var(--lh-relax);color:var(--color-ink-muted)}small{font-size:var(--fs-xs);color:var(--color-ink-soft)}strong,b{font-weight:var(--fw-semibold);color:var(--color-ink)}a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in oklab,var(--color-accent) 30%,transparent);transition:text-decoration-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}a:hover{text-decoration-color:var(--color-accent)}a:where([data-plain=true]){text-decoration:none}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.92em}code{padding:.125em .375em;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-xs);color:var(--color-ink)}pre{padding:var(--space-4);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:auto;line-height:var(--lh-base)}pre code{padding:0;background:transparent;border:0}kbd{padding:.1em .4em;border:1px solid var(--color-border);border-bottom-width:2px;border-radius:var(--radius-xs);background:var(--color-surface);font-size:.8em;color:var(--color-ink-muted)}ul,ol{list-style:none}ul[data-bulleted=true]{list-style:disc;padding-left:var(--space-6)}ol[data-numbered=true]{list-style:decimal;padding-left:var(--space-6)}button,input,select,textarea{font:inherit;color:inherit;background:transparent;border:0}button{cursor:pointer;-webkit-appearance:none;appearance:none}input,select,textarea{outline:none}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}textarea{resize:vertical}::placeholder{color:var(--color-ink-faint);opacity:1}:disabled{cursor:not-allowed;color:var(--color-ink-disabled)}img,svg,video,canvas{display:block;max-width:100%}svg{flex-shrink:0}hr{height:1px;background:var(--color-border);margin:var(--space-4) 0}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:middle;padding:var(--space-3) var(--space-4)}th{font-weight:var(--fw-semibold);color:var(--color-ink-muted);font-size:var(--fs-sm);letter-spacing:var(--tracking-wide)}::selection{background:color-mix(in oklab,var(--color-accent) 28%,transparent);color:var(--color-ink)}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--color-ink-soft) 40%,transparent);border:3px solid var(--color-canvas);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab,var(--color-ink-soft) 60%,transparent)}}*{scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--color-ink-soft) 40%,transparent) transparent}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-accent-ink);border-radius:var(--radius-sm);font-weight:var(--fw-medium);transform:translateY(-200%);transition:transform var(--dur-base) var(--ease-standard);z-index:var(--z-toast)}.skip-link:focus-visible{transform:translateY(0);box-shadow:var(--shadow-md)}.app-shell{display:grid;grid-template-columns:var(--layout-rail-width) 1fr;grid-template-rows:var(--layout-topbar-height) 1fr;grid-template-areas:"rail topbar" "rail main";min-height:100vh;background:var(--color-canvas)}.app-shell[data-rail=collapsed]{grid-template-columns:var(--layout-rail-collapsed) 1fr}@media (max-width: 860px){.app-shell{grid-template-columns:1fr;grid-template-rows:var(--layout-topbar-height) 1fr;grid-template-areas:"topbar" "main"}}.nav-rail{grid-area:rail;position:sticky;top:0;z-index:var(--z-rail);height:100vh;padding:var(--space-4) var(--space-3);background:var(--color-surface-sunken);border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto}.nav-rail__brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);text-decoration:none;color:var(--color-ink)}.nav-rail__brand-mark{width:32px;height:32px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-accent) 0%,color-mix(in oklab,var(--color-accent) 65%,#000) 100%);display:grid;place-items:center;color:var(--color-accent-ink);font-family:var(--font-mono);font-weight:var(--fw-semibold);letter-spacing:-.02em;box-shadow:var(--shadow-sm)}.nav-rail__brand-name{font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight)}.nav-rail__brand-sub{font-size:var(--fs-xs);color:var(--color-ink-soft);letter-spacing:var(--tracking-wide);text-transform:uppercase}.nav-rail__section-label{margin:var(--space-4) var(--space-3) var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ink-soft)}.nav-rail__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink-muted);text-decoration:none;font-weight:var(--fw-medium);font-size:var(--fs-base);transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);position:relative}.nav-rail__item:hover{background:var(--color-surface-hover);color:var(--color-ink)}.nav-rail__item[aria-current=page]{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-xs)}.nav-rail__item[aria-current=page]:before{content:"";position:absolute;left:-4px;top:8px;bottom:8px;width:2px;border-radius:var(--radius-pill);background:var(--color-accent)}.nav-rail__item svg{flex-shrink:0}.nav-rail__footer{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2)}.topbar{grid-area:topbar;position:sticky;top:0;z-index:var(--z-topbar);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--layout-gutter);background:color-mix(in oklab,var(--color-canvas) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--color-border)}.topbar__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--color-ink);letter-spacing:var(--tracking-tight)}.topbar__crumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-ink-soft)}.topbar__crumbs a{color:inherit;text-decoration:none}.topbar__crumbs a:hover{color:var(--color-ink)}.topbar__crumbs-sep{color:var(--color-ink-faint)}.topbar__actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.topbar__user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface)}.topbar__user-avatar{width:28px;height:28px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-accent-soft) 0%,var(--color-surface-sunken) 100%);color:var(--color-accent);display:grid;place-items:center;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.topbar__user-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-ink);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.app-main{grid-area:main;min-width:0;padding:var(--space-8) var(--layout-gutter) var(--space-12)}.page{max-width:var(--layout-max-width);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-8)}.page__header{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.page__header--sticky{position:sticky;top:0;z-index:5;background:var(--color-canvas);padding-top:var(--space-4)}.page__header-row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.page__title{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--color-ink)}.page__subtitle{color:var(--color-ink-soft);font-size:var(--fs-md);max-width:60ch}.page__actions{margin-left:auto;display:flex;gap:var(--space-2);align-items:center}.section{display:flex;flex-direction:column;gap:var(--space-4)}.section__header{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.section__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-ink);letter-spacing:var(--tracking-tight)}.section__hint{font-size:var(--fs-sm);color:var(--color-ink-soft)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.card--muted{background:var(--color-surface-sunken)}.card--inset{padding:var(--space-4)}.card__eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ink-soft)}.card__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-ink);letter-spacing:var(--tracking-tight)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--xs{gap:var(--space-1)}.stack--sm{gap:var(--space-2)}.stack--lg{gap:var(--space-6)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.cluster--between{justify-content:space-between}.cluster--end{justify-content:flex-end}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4)}.grid-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.divider{height:1px;background:var(--color-border);border:0}.route-fade{animation:route-fade-enter var(--dur-slow) var(--ease-standard) both}@keyframes route-fade-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.file-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.file-cell__name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-cell__path{font-size:var(--fs-xs);color:var(--color-ink-soft);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-ext{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:2px var(--space-2);border-radius:var(--radius-xs);background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-ink-muted)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:var(--space-8) var(--space-4);background:radial-gradient(1200px 400px at 20% -10%,var(--color-accent-soft) 0%,transparent 55%),radial-gradient(1000px 500px at 110% 110%,color-mix(in oklab,var(--color-accent) 10%,transparent) 0%,transparent 60%),var(--color-canvas)}.login-card{width:min(440px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6);box-shadow:var(--shadow-lg)}.login-card__brand{display:flex;align-items:center;gap:var(--space-3)}.login-card__mark{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-accent) 0%,color-mix(in oklab,var(--color-accent) 70%,#000) 100%);color:var(--color-accent-ink);font-family:var(--font-mono);font-weight:var(--fw-semibold);letter-spacing:-.02em;box-shadow:var(--shadow-sm)}.login-card__copy h1{font-size:var(--fs-xl);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}.login-card__copy p{color:var(--color-ink-muted);font-size:var(--fs-sm);line-height:var(--lh-relax)}.login-card__bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.login-card__bullets li{position:relative;padding-left:var(--space-5);font-size:var(--fs-sm);color:var(--color-ink-muted);line-height:var(--lh-relax)}.login-card__bullets li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.login-card__ms-button{background:#2f2f2f!important;color:#fff!important;border:1px solid #2F2F2F!important}.login-card__ms-button:hover{background:#1f1f1f!important;border-color:#1f1f1f!important}.login-card__foot{font-size:var(--fs-xs);color:var(--color-ink-soft);text-align:center;letter-spacing:var(--tracking-wide);padding-top:var(--space-3);border-top:1px dashed var(--color-border)}.login-card__foot code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-ink-muted)}
