@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");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}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#1c1b19;color:#fce8c3}.hljs-literal,.hljs-quote,.hljs-subst{color:#fce8c3}.hljs-symbol,.hljs-type{color:#68a8e4}.hljs-deletion,.hljs-keyword{color:#ef2f27}.hljs-attribute,.hljs-function,.hljs-name,.hljs-section,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-title{color:#fbb829}.hljs-class,.hljs-code,.hljs-property,.hljs-template-variable,.hljs-variable{color:#0aaeb3}.hljs-addition,.hljs-bullet,.hljs-regexp,.hljs-string{color:#98bc37}.hljs-built_in,.hljs-params{color:#ff5c8f}.hljs-selector-tag,.hljs-template-tag{color:#2c78bf}.hljs-comment,.hljs-link,.hljs-meta,.hljs-number{color:#918175}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}:root{color-scheme:dark;--surface-charcoal: #1a1a1a;--surface-mist: #f0f0f0;--jewel-teal: #004d61;--jewel-ruby: #822659;--jewel-forest: #3e5641;--bg-primary: var(--surface-charcoal);--bg-secondary: color-mix(in srgb, var(--surface-charcoal) 88%, var(--jewel-teal) 12%);--glass-bg: color-mix(in srgb, var(--surface-mist) 4%, transparent);--glass-border: color-mix(in srgb, var(--jewel-teal) 24%, transparent);--glass-hover: color-mix(in srgb, var(--jewel-ruby) 12%, transparent);--text-primary: var(--surface-mist);--text-secondary: color-mix(in srgb, var(--surface-mist) 74%, var(--jewel-teal) 26%);--text-muted: color-mix(in srgb, var(--surface-mist) 44%, var(--jewel-forest) 56%);--text-on-accent: var(--surface-mist);--font-sans: "Plus Jakarta Sans", "Plus Jakarta Sans Fallback", system-ui, sans-serif;--font-mono: "JetBrains Mono", "JetBrains Mono Fallback", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.35rem;--text-2xl: 1.45rem;--text-3xl: 1.65rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.55;--leading-relaxed: 1.7;--tracking-tighter: -.04em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .06em;--accent: var(--jewel-forest);--accent-hover: color-mix(in srgb, var(--jewel-teal) 74%, var(--surface-mist) 26%);--accent-secondary: color-mix(in srgb, var(--jewel-ruby) 82%, var(--surface-mist) 18%);--success: #8fa992;--error: #c7769f;--warning: #b69768;--error-bg: color-mix(in srgb, var(--error) 14%, transparent);--error-border: color-mix(in srgb, var(--error) 32%, transparent);--warning-bg: color-mix(in srgb, var(--warning) 14%, transparent);--warning-border: color-mix(in srgb, var(--warning) 30%, transparent);--success-bg: color-mix(in srgb, var(--success) 14%, transparent);--success-border: color-mix(in srgb, var(--success) 30%, transparent);--space-1: .125rem;--space-2: .375rem;--space-3: .5rem;--space-4: .75rem;--space-5: 1rem;--space-6: 1.125rem;--space-8: 1.5rem;--space-10: 2rem;--space-12: 2.25rem;--shadow-sm: 0 1px 2px rgba(10, 10, 10, .14);--shadow-md: 0 4px 12px rgba(10, 10, 10, .18);--shadow-lg: 0 10px 24px rgba(10, 10, 10, .22);--shadow-xl: 0 16px 36px rgba(10, 10, 10, .26);--shadow-glass: 0 0 0 1px color-mix(in srgb, var(--jewel-teal) 12%, transparent);--shadow-accent: 0 6px 14px rgba(10, 10, 10, .16);--shadow-success: 0 6px 14px rgba(10, 10, 10, .16);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-instant: .1s;--duration-moderate: .4s;--anim-micro: 1px;--anim-lift: var(--space-1);--anim-shift: var(--space-2);--anim-rise: var(--space-4);--anim-scale-press: .98;--anim-scale-pop: .96;--anim-scale-check: 1.15;--spinner-track: color-mix(in srgb, currentColor 22%, transparent);--spinner-active: currentColor;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);--focus-ring-error: 0 0 0 3px color-mix(in srgb, var(--error) 30%, transparent);--focus-ring-success: 0 0 0 3px color-mix(in srgb, var(--success) 30%, transparent);--focus-ring-color: var(--accent);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--touch-target: 44px;--version-active-bg: color-mix(in srgb, var(--jewel-ruby) 8%, var(--bg-primary));--version-added-bg: color-mix(in srgb, var(--success) 12%, transparent);--version-removed-bg: color-mix(in srgb, var(--danger) 14%, transparent);--danger: #c66e92;--danger-bg: color-mix(in srgb, var(--danger) 14%, transparent);--danger-border: color-mix(in srgb, var(--danger) 30%, transparent);--badge-purple-bg: color-mix(in srgb, var(--accent) 18%, transparent);--badge-purple-border: color-mix(in srgb, var(--accent) 34%, transparent);--badge-purple-text: color-mix(in srgb, var(--accent) 68%, var(--surface-mist) 32%);--badge-blue-bg: color-mix(in srgb, var(--accent-hover) 18%, transparent);--badge-blue-border: color-mix(in srgb, var(--accent-hover) 34%, transparent);--badge-blue-text: var(--accent-hover);--badge-green-bg: color-mix(in srgb, var(--success) 18%, transparent);--badge-green-border: color-mix(in srgb, var(--success) 34%, transparent);--badge-green-text: var(--success);--avatar-gradient: var(--accent-secondary);--icon-xs: 12px;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 26px;--icon-xl: 34px;--size-2xs: 14px;--size-xs: 18px;--size-sm: 28px;--size-dot: 7px;--size-md: 34px;--size-lg: 38px;--size-xl: 44px;--size-2xl: 48px;--size-3xl: 52px;--size-4xl: 60px;--size-5xl: 80px;--size-6xl: 120px;--sidebar-width-min: 240px;--sidebar-width-max: 280px;--sidebar-width: clamp(var(--sidebar-width-min), 22vw, var(--sidebar-width-max));--sidebar-width-collapsed: 5.5rem;--grid-pattern-size: 72px;--blur-amount: 10px;--search-max-width: 640px;--content-max-width: 1480px;--leading-hero: 1.02;--leading-display: 1.04;--leading-metric: 1.05;--opacity-subtle: .16;--opacity-medium: .45;--opacity-strong: .55;--opacity-disabled: .5;--opacity-busy: .72;--border-accent: 3px;--toggle-width: 56px;--toggle-height: 32px;--toggle-thumb-offset: 4px;--toggle-thumb-size: 22px;--toggle-thumb-travel: 24px;--meter-height: 10px;--badge-min-width: 50px;--badge-min-height: 30px;--panel-min-height-sm: 140px;--panel-min-height-md: 170px;--panel-min-height-lg: 280px;--storage-ring-size: 180px;--empty-state-ring-radius: 28px;--ch-sm: 40ch;--ch-md: 56ch;--ch-lg: 58ch;--ch-xl: 62ch;--leading-code: 1.7;--kbd-min-height: 1.625rem;--kbd-font-size: .68rem;--kbd-min-height-lg: 1.9rem;--kbd-font-size-lg: .72rem;--border-surface: color-mix(in srgb, var(--accent) 12%, var(--glass-border));--border-surface-faint: color-mix(in srgb, var(--accent) 10%, var(--glass-border));--border-surface-strong: color-mix(in srgb, var(--accent) 14%, var(--glass-border));--border-surface-hover: color-mix(in srgb, var(--accent-hover) 28%, transparent);--cmd-max-width: 58rem;--cmd-badge-min-width: 4.5rem;--cmd-badge-min-height: 2rem}.dashboard-shell{--dashboard-sidebar-track: minmax(var(--sidebar-width-min), var(--sidebar-width-max));--dashboard-sidebar-offset: var(--sidebar-width);min-height:100vh;display:grid;grid-template-columns:var(--dashboard-sidebar-track) minmax(0,1fr);background:var(--bg-primary)}.dashboard-sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--space-6);min-height:100vh;padding:clamp(var(--space-3),1.5vw,var(--space-4));border-right:1px solid var(--border-surface-strong);background:var(--bg-secondary)}.dashboard-content{min-width:0}.sidebar-brand{position:relative;display:flex;align-items:center;gap:var(--space-4);width:100%;min-width:0;padding:var(--space-2);border:0;background:transparent;appearance:none;color:inherit;text-decoration:none;text-align:left;font:inherit;cursor:pointer}.brand-mark{--brand-mark-size: var(--size-2xl);display:grid;flex:0 0 var(--brand-mark-size);place-items:center;inline-size:var(--brand-mark-size);block-size:var(--brand-mark-size);min-inline-size:var(--brand-mark-size);min-block-size:var(--brand-mark-size);overflow:hidden;background:var(--accent);color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1;letter-spacing:var(--tracking-wide);box-shadow:var(--shadow-md)}.brand-copy{display:grid;flex:1 1 auto;gap:var(--space-1);min-width:0;overflow:hidden}.brand-name{display:block;color:var(--text-primary);font-size:clamp(var(--text-xl),2vw,calc(var(--text-2xl) + var(--space-1)));font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-meta{display:block;color:var(--text-secondary);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{display:grid;gap:var(--space-2)}.sidebar-footer{display:grid;gap:var(--space-4);width:100%;margin-top:auto}.sidebar-footer>*{width:100%}.sidebar-link{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:calc(var(--touch-target) + var(--space-2));padding:0 var(--space-4);border:1px solid transparent;background:transparent;color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.sidebar-link__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-link svg{width:var(--icon-sm);height:var(--icon-sm);flex-shrink:0}.sidebar-link:hover:not(:disabled),.sidebar-link:focus-visible{color:var(--text-primary);background:var(--bg-secondary);border-color:color-mix(in srgb,var(--accent-hover) 28%,transparent);transform:translate(calc(var(--anim-micro) * 2))}.sidebar-link--active{color:var(--text-primary);background:color-mix(in srgb,var(--accent-hover) 8%,var(--bg-secondary));border-color:color-mix(in srgb,var(--accent-hover) 40%,transparent)}.sidebar-link:disabled{opacity:var(--opacity-strong);cursor:not-allowed;transform:none}.panel-surface{position:relative;border:1px solid var(--border-surface);background:var(--bg-secondary);box-shadow:var(--shadow-md);overflow:hidden}.sidebar-meter{padding:var(--space-4)}.sidebar-meter__head,.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sidebar-meter__value{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-bold)}.sidebar-meter h2,.section-header h2{margin:0;font-size:var(--text-xl);letter-spacing:var(--tracking-tight)}.meter-track{height:var(--meter-height);margin:var(--space-3) 0 var(--space-2);overflow:hidden}.meter-fill{display:block;height:100%;background:var(--accent)}.sidebar-meter__caption,.sidebar-meter__detail{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.sidebar-meter__detail{margin-top:var(--space-2);color:var(--text-muted)}.dashboard-topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:clamp(var(--space-3),2vw,var(--space-5)) clamp(var(--space-3),2vw,var(--space-6));border-bottom:1px solid var(--border-surface-faint);background:var(--bg-primary);-webkit-backdrop-filter:blur(var(--blur-amount));backdrop-filter:blur(var(--blur-amount))}.search-shell{display:flex;align-items:center;gap:var(--space-3);width:min(100%,var(--search-max-width));min-height:calc(var(--touch-target) + var(--space-2));padding:0 var(--space-4);border:1px solid var(--border-surface);background:var(--bg-secondary)}.search-shell svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-muted);flex-shrink:0}.search-shell input{flex:1;min-width:0;border:0;background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);outline:none}.search-shell input::placeholder{color:var(--text-muted)}.search-clear{display:inline-flex;align-items:center;justify-content:center;min-height:calc(var(--touch-target) - var(--space-2));padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);background:var(--bg-secondary);color:var(--accent-hover);font-size:var(--text-xs);font-weight:var(--weight-bold);font-family:inherit;cursor:pointer}.topbar-actions{display:flex;align-items:center;gap:var(--space-3);min-width:0}.sidebar-toggle{display:none;flex-shrink:0;white-space:nowrap}.sidebar-toggle svg{width:var(--icon-sm);height:var(--icon-sm)}.sidebar-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent-hover) 36%,transparent);background:var(--bg-secondary);color:var(--accent-hover);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.session-chip{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2);border:1px solid var(--border-surface);background:var(--bg-secondary);color:inherit;cursor:pointer}.session-chip__avatar{display:grid;place-items:center;width:var(--size-md);height:var(--size-md);background:var(--accent-secondary);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide)}.session-chip__copy{display:grid;gap:var(--space-1);min-width:0}.session-chip__name{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.session-chip__email{color:var(--text-secondary);font-size:var(--text-xs)}.dashboard-main{position:relative;margin:0 auto;padding:clamp(var(--space-4),2vw,var(--space-6))}.workspace-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);padding:clamp(var(--space-4),2vw,var(--space-6));margin-bottom:var(--space-5);background:var(--bg-secondary)}.workspace-hero h1{margin:0;font-size:var(--text-xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);text-wrap:balance}.workspace-hero .hero-copy{max-width:var(--ch-lg);margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.workspace-summary{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.summary-pill{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid color-mix(in srgb,var(--accent) 16%,var(--glass-border));background:var(--bg-secondary)}.summary-pill__label{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase}.summary-pill__value{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.summary-pill--warning{border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.workspace-hero__actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:var(--space-3)}.hero-action{min-width:calc(var(--touch-target) * 4)}.hero-action svg{width:var(--icon-sm);height:var(--icon-sm)}.inline-form--hero{grid-column:1 / -1;margin-bottom:0}.dashboard-panels{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.recent-panel,.explorer-panel{grid-column:span 8}.folders-panel,.storage-panel,.metric-card{grid-column:span 4}.recent-panel,.folders-panel,.storage-panel,.metric-card,.explorer-panel{padding:clamp(var(--space-3),1.5vw,var(--space-4))}.section-header{margin-bottom:var(--space-4)}.section-link{color:var(--accent-hover);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none}.recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.recent-card{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-surface-faint);background:var(--bg-secondary)}.recent-card__icon{display:grid;place-items:center;width:var(--size-4xl);height:var(--size-4xl);background:var(--bg-secondary);color:var(--accent-hover)}.recent-card__icon svg{width:var(--icon-lg);height:var(--icon-lg)}.recent-card[data-kind=image] .recent-card__icon{background:var(--success-bg);color:var(--success)}.recent-card[data-kind=video] .recent-card__icon{background:var(--warning-bg);color:var(--warning)}.recent-card[data-kind=archive] .recent-card__icon{background:var(--bg-secondary);color:var(--accent-secondary)}.recent-card[data-kind=data] .recent-card__icon,.recent-card[data-kind=folder] .recent-card__icon{background:var(--bg-secondary);color:var(--accent-hover)}.recent-card__body{display:grid;gap:var(--space-2);min-width:0}.recent-card__name{margin:0;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-semibold)}.recent-card__meta{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.recent-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.recent-card__badge{display:inline-flex;align-items:center;min-height:var(--badge-min-height);padding:0 var(--space-3);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide)}.panel-empty{display:grid;gap:var(--space-3);align-content:center;min-height:var(--panel-min-height-md);color:var(--text-secondary)}.panel-empty p{margin:0}.folder-stack{display:grid;gap:var(--space-3)}.folder-row{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);border:1px solid var(--border-surface-faint);background:var(--bg-secondary);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.folder-row:hover:not(:disabled){transform:translate(calc(var(--anim-micro) * 2));border-color:color-mix(in srgb,var(--accent-hover) 24%,transparent);background:var(--bg-primary)}.folder-row__icon{display:grid;place-items:center;width:var(--size-lg);height:var(--size-lg);background:var(--bg-secondary);color:var(--accent-hover);flex-shrink:0}.folder-row__icon svg,.folder-row__chevron{width:var(--icon-sm);height:var(--icon-sm)}.folder-row__copy{display:grid;gap:var(--space-1);flex:1}.folder-row__name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-semibold)}.folder-row__meta{color:var(--text-secondary);font-size:var(--text-sm)}.folder-row__chevron{color:var(--text-muted);flex-shrink:0}.storage-panel{display:grid;justify-items:start;align-content:start;text-align:left;gap:var(--space-4);grid-row:span 2;min-height:var(--panel-min-height-lg)}.storage-panel h2{margin:0;font-size:var(--text-xl);letter-spacing:var(--tracking-tight)}.storage-ring{display:grid;place-items:center;width:min(100%,var(--storage-ring-size));aspect-ratio:1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent);justify-self:start}.storage-ring__core{display:grid;gap:var(--space-1);place-items:center}.storage-ring__core strong{color:var(--text-primary);font-size:clamp(var(--text-3xl),4vw,calc(var(--text-3xl) + var(--space-4)));line-height:1;font-variant-numeric:tabular-nums}.storage-ring__core span{color:var(--text-secondary);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.storage-panel__lead,.storage-panel__detail,.metric-card p{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.metric-card{display:grid;gap:var(--space-4);align-content:start;min-height:var(--panel-min-height-sm)}.metric-card h2{margin:0;font-size:clamp(var(--text-xl),2vw,var(--text-2xl));line-height:var(--leading-metric);letter-spacing:var(--tracking-tighter);font-variant-numeric:tabular-nums}.metric-card__status--warning{color:var(--warning)}.panel-heading{margin-bottom:var(--space-5)}.panel-heading h2{margin:0;font-size:var(--text-xl);letter-spacing:var(--tracking-tight)}.panel-heading--files{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.breadcrumb-trail{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.breadcrumb{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;border:0;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-family:inherit;cursor:pointer}.breadcrumb:after{content:"/";margin-left:var(--space-2);color:var(--text-muted)}.breadcrumb:last-child:after{display:none}.breadcrumb--current{color:var(--text-primary);font-weight:var(--weight-semibold)}.inline-form{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-surface);background:var(--bg-secondary)}.inline-form input,.row-form input{min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--border-surface-faint);background:var(--bg-primary);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.inline-form input{flex:1 1 var(--sidebar-width-min)}.row-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.row-form input{width:min(var(--sidebar-width-max),100%)}.dropzone{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-4);border:1px dashed color-mix(in srgb,var(--accent-hover) 32%,transparent);background:var(--bg-secondary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.dropzone:hover{transform:translateY(calc(var(--anim-micro) * -1))}.dropzone--active{border-color:color-mix(in srgb,var(--accent-hover) 56%,transparent);background:var(--bg-secondary)}.dropzone--busy{opacity:var(--opacity-busy)}.dropzone-icon{display:grid;place-items:center;width:var(--size-3xl);height:var(--size-3xl);background:var(--bg-secondary);color:var(--accent-hover);flex-shrink:0}.dropzone-icon svg{width:var(--icon-md);height:var(--icon-md)}.dropzone-copy h3{margin:0 0 var(--space-1);color:var(--text-primary);font-size:var(--text-lg)}.dropzone-copy p{margin:0;color:var(--text-secondary)}.dropzone-copy span{color:var(--text-primary);font-weight:var(--weight-semibold)}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.list-toolbar p{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.file-list{display:grid;gap:var(--space-2)}.file-row{border:1px solid var(--border-surface-faint);background:var(--bg-secondary)}.item-shell{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.file-main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3);padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.file-main--static{cursor:default}.item-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--badge-min-width);height:var(--size-lg);padding:0 var(--space-2);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide)}.item-badge--folder{background:var(--bg-secondary);color:var(--accent-hover)}.item-copy{display:grid;gap:var(--space-1)}.item-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-semibold)}.item-meta{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.file-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-left:auto}.confirm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm)}.row-status{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4) var(--space-4);color:var(--text-muted);font-size:var(--text-xs)}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:clamp(var(--space-4),2vw,var(--space-6));border:1px dashed color-mix(in srgb,var(--accent) 14%,transparent);background:var(--bg-primary);text-align:left}.empty-state-visual{position:relative;display:grid;place-items:center start}.empty-state-icon-ring{display:grid;place-items:center;width:var(--size-5xl);height:var(--size-5xl);background:var(--bg-secondary);color:var(--accent-hover);position:relative;z-index:1}.empty-state-icon-ring svg{width:var(--icon-xl);height:var(--icon-xl)}.empty-state-content{display:grid;gap:var(--space-4);justify-items:flex-start}.empty-state h3{margin:0;letter-spacing:var(--tracking-tight)}.empty-state-desc{max-width:var(--ch-sm);margin:0;color:var(--text-secondary);line-height:var(--leading-relaxed)}.empty-state-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-3)}.empty-state-hints{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:var(--space-2)}.hint{color:var(--text-muted);font-size:var(--text-xs)}.hint kbd{display:inline-block;padding:var(--space-1) var(--space-2);border:1px solid var(--border-surface-faint);background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs)}.hint-divider{color:var(--text-muted)}.sidebar-brand:focus-visible,.sidebar-link:focus-visible,.search-clear:focus-visible,.session-chip:focus-visible,.breadcrumb:focus-visible,.file-main:focus-visible,.dropzone:focus-visible,.inline-form input:focus,.row-form input:focus{outline:2px solid var(--focus-ring-color);outline-offset:2px}.search-shell:focus-within{border-color:color-mix(in srgb,var(--accent-hover) 28%,transparent);box-shadow:var(--focus-ring)}@media(max-width:1280px){.dashboard-panels{grid-template-columns:repeat(8,minmax(0,1fr))}.recent-panel,.explorer-panel,.storage-panel{grid-column:span 8}.folders-panel,.metric-card{grid-column:span 4}.storage-panel{grid-row:auto;min-height:auto}.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1441px){.sidebar-toggle{display:inline-flex}.dashboard-shell--sidebar-collapsed{--dashboard-sidebar-track: var(--sidebar-width-collapsed);--dashboard-sidebar-offset: var(--sidebar-width-collapsed)}.dashboard-shell--sidebar-collapsed .dashboard-sidebar{align-items:center;gap:var(--space-5);padding:clamp(calc(var(--space-4) - var(--space-1)),1.4vw,var(--space-4)) var(--space-3)}.dashboard-shell--sidebar-collapsed .sidebar-brand{justify-content:center;padding-inline:0}.dashboard-shell--sidebar-collapsed .sidebar-brand:after,.dashboard-shell--sidebar-collapsed .sidebar-link:after{position:absolute;left:calc(100% + var(--space-3));top:50%;padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--accent-hover) 20%,var(--glass-border));background:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);white-space:nowrap;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform:translate3d(calc(var(--space-2) * -1),-50%,0);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);z-index:var(--z-dropdown)}.dashboard-shell--sidebar-collapsed .sidebar-brand:after{content:attr(aria-label)}.dashboard-shell--sidebar-collapsed .sidebar-link:after{content:attr(aria-label)}.dashboard-shell--sidebar-collapsed .sidebar-brand:hover:after,.dashboard-shell--sidebar-collapsed .sidebar-brand:focus-visible:after,.dashboard-shell--sidebar-collapsed .sidebar-link:hover:after,.dashboard-shell--sidebar-collapsed .sidebar-link:focus-visible:after{opacity:1;transform:translate3d(0,-50%,0)}.dashboard-shell--sidebar-collapsed .brand-mark{--brand-mark-size: var(--size-xl)}.dashboard-shell--sidebar-collapsed .brand-copy,.dashboard-shell--sidebar-collapsed .sidebar-link__label,.dashboard-shell--sidebar-collapsed .sidebar-footer{display:none}.dashboard-shell--sidebar-collapsed .sidebar-nav{width:100%;justify-items:center;align-content:start}.dashboard-shell--sidebar-collapsed .sidebar-link{justify-content:center;width:100%;min-height:var(--size-5xl);padding:0;border-color:transparent;background:transparent;box-shadow:none;isolation:isolate}.dashboard-shell--sidebar-collapsed .sidebar-link:before{content:"";position:absolute;left:50%;top:50%;width:calc(var(--size-5xl) - var(--space-4));height:calc(var(--size-5xl) - var(--space-4));border-radius:0;border:1px solid transparent;background:var(--bg-secondary);box-shadow:inset 0 1px color-mix(in srgb,var(--surface-mist) 16%,transparent),0 10px 24px color-mix(in srgb,var(--bg-primary) 24%,transparent);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.9);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);z-index:-1}.dashboard-shell--sidebar-collapsed .sidebar-link svg{width:var(--icon-md);height:var(--icon-md)}.dashboard-shell--sidebar-collapsed .sidebar-link:hover:not(:disabled):before,.dashboard-shell--sidebar-collapsed .sidebar-link:focus-visible:before{opacity:1;transform:translate(-50%,-50%) scale(1);border-color:color-mix(in srgb,var(--accent-hover) 16%,transparent);background:var(--bg-secondary)}.dashboard-shell--sidebar-collapsed .sidebar-link--active{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-primary)}.dashboard-shell--sidebar-collapsed .sidebar-link--active:before{opacity:1;transform:translate(-50%,-50%) scale(1);border-color:color-mix(in srgb,var(--accent-hover) 32%,transparent);background:var(--bg-secondary);box-shadow:inset 0 1px color-mix(in srgb,var(--surface-mist) 22%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),0 14px 30px color-mix(in srgb,var(--bg-primary) 28%,transparent)}.dashboard-shell--sidebar-collapsed .sidebar-link--active svg{color:color-mix(in srgb,var(--text-primary) 92%,var(--accent-hover))}.dashboard-shell--sidebar-collapsed .sidebar-link:hover:not(:disabled),.dashboard-shell--sidebar-collapsed .sidebar-link:focus-visible{color:var(--text-primary);background:transparent;border-color:transparent;box-shadow:none;transform:none}}@media(max-width:1440px)and (min-width:1081px){.dashboard-shell{--dashboard-sidebar-track: var(--sidebar-width-collapsed);--dashboard-sidebar-offset: var(--sidebar-width-collapsed)}.dashboard-sidebar{align-items:center;gap:var(--space-5);padding:clamp(calc(var(--space-4) - var(--space-1)),1.4vw,var(--space-4)) var(--space-3)}.sidebar-brand{justify-content:center;padding-inline:0}.sidebar-brand:after,.sidebar-link:after{position:absolute;left:calc(100% + var(--space-3));top:50%;padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--accent-hover) 20%,var(--glass-border));background:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);white-space:nowrap;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform:translate3d(calc(var(--space-2) * -1),-50%,0);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);z-index:var(--z-dropdown)}.sidebar-brand:after{content:attr(aria-label)}.sidebar-link:after{content:attr(aria-label)}.sidebar-brand:hover:after,.sidebar-brand:focus-visible:after,.sidebar-link:hover:after,.sidebar-link:focus-visible:after{opacity:1;transform:translate3d(0,-50%,0)}.brand-mark{--brand-mark-size: var(--size-xl)}.brand-copy,.sidebar-link__label,.sidebar-footer{display:none}.sidebar-nav{width:100%;justify-items:center;align-content:start}.sidebar-link{justify-content:center;width:100%;min-height:var(--size-5xl);padding:0;border-color:transparent;background:transparent;box-shadow:none;isolation:isolate}.sidebar-link:before{content:"";position:absolute;left:50%;top:50%;width:calc(var(--size-5xl) - var(--space-4));height:calc(var(--size-5xl) - var(--space-4));border-radius:0;border:1px solid transparent;background:var(--bg-secondary);box-shadow:inset 0 1px color-mix(in srgb,var(--surface-mist) 16%,transparent),0 10px 24px color-mix(in srgb,var(--bg-primary) 24%,transparent);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.9);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);z-index:-1}.sidebar-link svg{width:var(--icon-md);height:var(--icon-md)}.sidebar-link:hover:not(:disabled):before,.sidebar-link:focus-visible:before{opacity:1;transform:translate(-50%,-50%) scale(1);border-color:color-mix(in srgb,var(--accent-hover) 16%,transparent);background:var(--bg-secondary)}.sidebar-link--active{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-primary)}.sidebar-link--active:before{opacity:1;transform:translate(-50%,-50%) scale(1);border-color:color-mix(in srgb,var(--accent-hover) 32%,transparent);background:var(--bg-secondary);box-shadow:inset 0 1px color-mix(in srgb,var(--surface-mist) 22%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),0 14px 30px color-mix(in srgb,var(--bg-primary) 28%,transparent)}.sidebar-link--active svg{color:color-mix(in srgb,var(--text-primary) 92%,var(--accent-hover))}.sidebar-link:hover:not(:disabled),.sidebar-link:focus-visible{color:var(--text-primary);background:transparent;border-color:transparent;box-shadow:none;transform:none}}@media(max-width:1080px){.dashboard-shell{--dashboard-sidebar-track: 1fr;--dashboard-sidebar-offset: 0;grid-template-columns:1fr}.dashboard-sidebar{position:relative;min-height:auto;border-right:0;border-bottom:1px solid var(--border-surface-strong)}.dashboard-content:before{inset:0}.sidebar-nav{display:flex;overflow-x:auto;gap:var(--space-2);padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-link{flex:0 0 auto;white-space:nowrap;padding:0 var(--space-4)}.sidebar-meter{margin-top:0}}@media(max-width:900px){.dashboard-topbar,.workspace-hero,.panel-heading--files,.list-toolbar,.item-shell{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.search-shell{width:100%}.topbar-actions{width:100%;justify-content:space-between}.workspace-hero__actions,.toolbar,.file-actions{justify-content:flex-start}.dashboard-panels{grid-template-columns:1fr}.recent-panel,.folders-panel,.storage-panel,.metric-card,.explorer-panel{grid-column:auto}}@media(max-width:640px){.dashboard-sidebar,.dashboard-topbar,.dashboard-main{padding-left:var(--space-4);padding-right:var(--space-4);padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right))}.dashboard-main{padding-bottom:max(var(--space-6),env(safe-area-inset-bottom))}.sidebar-nav{grid-template-columns:1fr}.sidebar-link{min-height:var(--touch-target)}.topbar-actions,.workspace-summary,.recent-grid,.dropzone,.empty-state-actions,.empty-state-hints{flex-direction:column;grid-template-columns:1fr}.topbar-actions{align-items:stretch}.session-chip,.btn-logout,.hero-action,.toolbar .btn-secondary,.empty-state-actions .btn-lg{width:100%;justify-content:center}.dropzone{align-items:flex-start}.recent-grid{display:grid}.hint-divider{display:none}.workspace-hero{padding:var(--space-5)}.workspace-hero h1{font-size:var(--text-xl)}.workspace-hero .hero-copy{font-size:var(--text-sm)}.summary-pill{width:100%;justify-content:flex-start}.search-shell{min-height:var(--touch-target)}.search-shell input{font-size:var(--text-base)}.file-main,.folder-row,.breadcrumb{min-height:var(--touch-target)}.dashboard-panels{gap:var(--space-4)}.panel-surface{padding:var(--space-4)}.recent-card{padding:var(--space-3)}.recent-card__icon{width:var(--size-3xl);height:var(--size-3xl)}.empty-state{padding:var(--space-6)}.empty-state-icon-ring{width:var(--size-4xl);height:var(--size-4xl)}.empty-state h3{font-size:var(--text-lg)}}@media(prefers-reduced-motion:reduce){.dashboard-content:before,.dropzone,.folder-row,.sidebar-link{animation:none;transition:none;transform:none}}.workspace-topbar-note{margin:0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide)}.workspace-page-hero{display:grid;gap:var(--space-4);padding:clamp(var(--space-4),2vw,var(--space-5));margin-bottom:var(--space-4);background:var(--bg-secondary)}.workspace-page-hero h1{margin:0;font-size:var(--text-xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);text-wrap:balance}.workspace-page-copy{max-width:var(--ch-xl);margin:0;color:var(--text-secondary);line-height:var(--leading-relaxed)}.workspace-page-actions,.workspace-page-pills{display:flex;flex-wrap:wrap;gap:var(--space-3)}.workspace-page-pill{display:inline-flex;align-items:center;gap:var(--space-3);min-width:0;min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--border-surface-strong);background:var(--bg-secondary);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.workspace-page-pill:hover{border-color:color-mix(in srgb,var(--accent) 26%,var(--glass-border));background:var(--bg-primary)}.workspace-page-pill strong{display:inline-block;min-width:0;max-width:min(100%,22rem);overflow:hidden;color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.workspace-page-pill span{flex-shrink:0;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase}.workspace-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4)}.workspace-span-4{grid-column:span 4}.workspace-span-5{grid-column:span 5}.workspace-span-6{grid-column:span 6}.workspace-span-7{grid-column:span 7}.workspace-span-8{grid-column:span 8}.workspace-span-12{grid-column:span 12}.workspace-panel{padding:clamp(var(--space-3),1.5vw,var(--space-4))}.workspace-panel h2,.workspace-panel h3{margin:0;letter-spacing:var(--tracking-tight)}.workspace-panel__intro{margin:var(--space-3) 0 0;color:var(--text-secondary);line-height:var(--leading-relaxed)}.workspace-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(var(--panel-min-height-sm)),1fr));gap:var(--space-4)}.workspace-kpi{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-surface-faint);background:var(--bg-primary)}.workspace-kpi span{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase}.workspace-kpi strong{color:var(--text-primary);font-size:clamp(1.4rem,2vw,2rem);line-height:var(--leading-metric)}.workspace-kpi p{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.workspace-list{display:grid;gap:var(--space-3)}.workspace-list-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-surface-faint);background:var(--bg-primary)}.workspace-list-row__icon{display:grid;place-items:center;width:var(--size-lg);height:var(--size-lg);background:var(--bg-secondary);color:var(--accent-hover)}.workspace-list-row__icon svg{width:var(--icon-sm);height:var(--icon-sm)}.workspace-list-row__copy{display:grid;gap:var(--space-1);min-width:0}.workspace-list-row__copy strong{color:var(--text-primary);font-size:var(--text-base)}.workspace-list-row__copy p{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.workspace-badge{display:inline-flex;align-items:center;min-height:var(--size-sm);padding:0 var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide)}.workspace-badge--accent{background:var(--bg-secondary);color:var(--accent-hover)}.workspace-badge--success{background:var(--success-bg);color:var(--success)}.workspace-badge--warning{background:var(--warning-bg);color:var(--warning)}.workspace-badge--muted{background:var(--bg-secondary);color:var(--text-secondary)}.workspace-callout{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-surface-faint);background:var(--bg-secondary)}.workspace-callout h3{margin:0}.workspace-callout p,.workspace-note,.workspace-empty p{margin:0;color:var(--text-secondary);line-height:var(--leading-relaxed)}.workspace-empty{display:grid;gap:var(--space-2);justify-items:start;min-height:var(--panel-min-height-sm);align-content:center}.workspace-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.workspace-setting-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-surface-faint);background:var(--bg-primary)}.workspace-setting-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.workspace-setting-card__header>div{display:grid;gap:var(--space-2);min-width:0}.workspace-setting-card__header h3{margin:0}.workspace-setting-card__header p,.workspace-setting-card label,.workspace-setting-card select,.workspace-setting-card small{color:var(--text-secondary)}.workspace-setting-card select{min-height:var(--touch-target);width:100%;padding:0 var(--space-4);border:1px solid var(--border-surface-faint);background:var(--bg-primary);color:var(--text-primary);font-family:inherit}.workspace-toggle{position:relative;display:inline-flex;align-items:center;flex-shrink:0;width:var(--toggle-width);height:var(--toggle-height);padding:0;border:1px solid var(--border-surface-faint);background:var(--bg-primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.workspace-toggle:after{content:"";position:absolute;left:var(--toggle-thumb-offset);width:var(--toggle-thumb-size);height:var(--toggle-thumb-size);background:var(--text-secondary);transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.workspace-toggle:hover{border-color:color-mix(in srgb,var(--accent) 18%,var(--glass-border));background:var(--bg-secondary)}.workspace-toggle:hover:after{background:var(--accent-hover)}.workspace-toggle:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.workspace-toggle:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.workspace-toggle--active,.workspace-toggle--active:hover{background:var(--accent)}.workspace-toggle--active:after{transform:translate(var(--toggle-thumb-travel));background:var(--accent-hover)}.workspace-toggle--active:hover:after{background:var(--accent-hover)}.workspace-inline-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.workspace-inline-actions .select-wrapper{width:auto;min-width:var(--sidebar-width-min)}.input-inline{min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--border-surface-faint);background:var(--bg-primary);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.input-inline:focus{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-color:var(--accent)}.input-inline::placeholder{color:var(--text-muted)}@media(max-width:1280px){.workspace-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.workspace-span-4,.workspace-span-5,.workspace-span-6,.workspace-span-7,.workspace-span-8{grid-column:span 4}.workspace-span-12{grid-column:span 8}}@media(max-width:900px){.workspace-grid,.workspace-settings-grid{grid-template-columns:1fr}.workspace-span-4,.workspace-span-5,.workspace-span-6,.workspace-span-7,.workspace-span-8,.workspace-span-12{grid-column:auto}}@media(max-width:640px){.workspace-page-actions,.workspace-page-pills,.workspace-inline-actions{flex-direction:column}.workspace-list-row{grid-template-columns:1fr;justify-items:start;padding:var(--space-3)}.workspace-list-row__icon{margin-bottom:var(--space-1)}.workspace-page-hero{padding:var(--space-5)}.workspace-page-hero h1{font-size:var(--text-xl)}.workspace-panel{padding:var(--space-4)}.workspace-panel h2{font-size:var(--text-lg)}.workspace-panel__intro{font-size:var(--text-sm)}.workspace-setting-card{padding:var(--space-4)}.workspace-toggle{width:calc(var(--toggle-width) - var(--space-1));height:var(--toggle-height)}.workspace-toggle:after{width:var(--toggle-thumb-size);height:var(--toggle-thumb-size)}.workspace-toggle--active:after{transform:translate(var(--toggle-thumb-travel))}.workspace-inline-actions .select-wrapper{width:100%;min-width:0}.workspace-inline-actions .select-wrapper select{font-size:var(--text-base);min-height:var(--touch-target)}.workspace-kpi-grid{grid-template-columns:1fr}.workspace-kpi strong{font-size:var(--text-xl)}}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Segoe UI"),local("SF Pro Display"),local("system-ui");size-adjust:103%;ascent-override:90%;descent-override:22%;line-gap-override:0}@font-face{font-family:JetBrains Mono Fallback;src:local("Consolas"),local("SF Mono"),local("monospace");size-adjust:109%;ascent-override:88%;descent-override:22%;line-gap-override:0}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;font-variant-ligatures:common-ligatures;hanging-punctuation:first last}.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}body{font-family:var(--font-sans);font-size:var(--text-base);background:var(--bg-primary);color:var(--text-primary);line-height:var(--leading-normal);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-primary);font-family:var(--font-sans);text-wrap:balance}h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}h2{font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}h4{font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);line-height:var(--leading-snug)}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-6);background:var(--bg-primary)}.auth-card{width:100%;max-width:400px;padding:var(--space-6);background:var(--bg-secondary);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);animation:fadeInUp var(--duration-slow) var(--ease-out)}.auth-header{text-align:center;margin-bottom:var(--space-5)}.auth-header h1{margin-bottom:var(--space-2)}.auth-header p{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);text-wrap:pretty}.error-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);font-size:var(--text-sm);line-height:var(--leading-normal);margin-bottom:var(--space-5);animation:errorPulse var(--duration-slow) var(--ease-out);overflow-wrap:break-word;word-wrap:break-word}.error-icon{flex-shrink:0;width:var(--size-2xs);height:var(--size-2xs);margin-top:1px;position:relative}.error-icon:before,.error-icon:after{content:"";position:absolute;top:50%;left:50%;background:var(--error)}.error-icon:before{width:2px;height:10px;transform:translate(-50%,-50%)}.error-icon:after{width:10px;height:2px;transform:translate(-50%,-50%)}.error-banner span:last-child{flex:1;min-width:0}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-secondary)}.form-group input{padding:var(--space-3) var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);font-size:var(--text-base);font-family:inherit;line-height:var(--leading-normal);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);outline:none;max-width:100%;box-sizing:border-box}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);background:var(--glass-hover)}.btn-primary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--accent);border:none;color:var(--text-on-accent);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:var(--touch-target);position:relative;overflow:hidden}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(calc(var(--anim-micro) * -1))}.btn-primary:active:not(:disabled){transform:translateY(var(--anim-micro));box-shadow:none}.btn-primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.btn-primary:focus{outline:none}.btn-primary:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.btn-secondary,.btn-tertiary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--glass-border);background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-secondary:hover:not(:disabled),.btn-tertiary:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);background:var(--bg-secondary);color:var(--accent-hover)}.btn-secondary:active:not(:disabled),.btn-tertiary:active:not(:disabled){transform:scale(var(--anim-scale-press))}.btn-secondary:focus-visible,.btn-tertiary:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);min-height:var(--touch-target);padding:0;border:1px solid var(--glass-border);background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-icon:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);background:var(--bg-secondary);color:var(--accent-hover)}.btn-icon:active:not(:disabled){transform:scale(var(--anim-scale-press))}.btn-icon:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.btn-text{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0;border:0;background:transparent;color:var(--accent-hover);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer;transition:color var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-text:hover:not(:disabled){color:var(--text-primary)}.btn-text--muted{color:var(--text-secondary)}.btn-text--danger{color:var(--danger)}.btn-text--danger:hover:not(:disabled){color:var(--error)}.btn-text:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-text:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.btn-back{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0;border:0;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer;transition:color var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-back svg{width:var(--text-base);height:var(--text-base);transition:transform var(--duration-fast) var(--ease-out)}.btn-back:hover{color:var(--accent-hover)}.btn-back:hover svg{transform:translate(-2px)}.btn-back:active{color:var(--text-primary)}.btn-back:active svg{transform:translate(-4px)}.btn-back:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.btn-back:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:4px}.btn-logout{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--glass-border);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-logout:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.btn-logout:active:not(:disabled){transform:scale(var(--anim-scale-press))}.btn-logout:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.btn-lg{min-height:calc(var(--touch-target) + var(--space-1));padding:0 var(--space-5);font-size:var(--text-base)}.btn-lg svg{width:var(--text-lg);height:var(--text-lg)}.btn-primary:disabled,.btn-secondary:disabled,.btn-tertiary:disabled,.btn-logout:disabled,.btn-icon:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none;box-shadow:none}.auth-footer{text-align:center;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.auth-footer a{color:var(--accent-hover);text-decoration:none;font-weight:var(--weight-semibold);transition:color var(--duration-fast) var(--ease-out);padding:var(--space-1) var(--space-2);margin:calc(var(--space-1) * -1);position:relative}.auth-footer a:after{content:"";position:absolute;bottom:0;left:var(--space-2);right:var(--space-2);height:1px;background:var(--accent-secondary);transform:scaleX(0);transform-origin:center;transition:transform var(--duration-fast) var(--ease-out)}.auth-footer a:hover{color:var(--accent-secondary)}.auth-footer a:hover:after{transform:scaleX(1)}.auth-footer a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.spinner{display:inline-block;width:var(--size-2xs);height:var(--size-2xs);border:2px solid var(--spinner-track);border-top-color:var(--spinner-active);animation:spin var(--duration-moderate) linear infinite}.spinner-large{width:calc(var(--space-8) + var(--space-2));height:calc(var(--space-8) + var(--space-2));border:3px solid var(--glass-border);border-top-color:var(--accent);animation:spin var(--duration-moderate) linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(var(--anim-rise))}to{opacity:1;transform:translateY(0)}}@keyframes checkPop{0%{transform:translateY(-50%) scale(.5);opacity:0}50%{transform:translateY(-50%) scale(1.15)}to{transform:translateY(-50%) scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes errorPulse{0%{opacity:0;transform:translateY(calc(var(--anim-lift) * -1))}50%{opacity:1}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.auth-container{padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:var(--bg-primary);align-items:flex-start;padding-top:15vh}.auth-card{padding:var(--space-5);border-radius:0}.auth-header .logo{font-size:var(--text-2xl)}.auth-header h1{font-size:var(--text-xl)}.auth-header p{font-size:var(--text-sm)}.btn-primary,.btn-secondary,.btn-tertiary{min-height:var(--touch-target);width:100%;justify-content:center}.form-group input{min-height:var(--touch-target);font-size:var(--text-base);border-radius:0}.form-group label{font-size:var(--text-xs)}.error-banner{padding:var(--space-3);font-size:var(--text-sm)}.page-header{position:relative;padding:var(--space-3) var(--space-4);padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right))}.page-hero{margin-bottom:var(--space-5);padding-bottom:var(--space-5)}.page-hero h1{font-size:var(--text-xl)}.hero-copy{font-size:var(--text-sm)}.badge{width:100%;justify-content:flex-start}.toast-container{left:var(--space-3);right:var(--space-3);transform:none}.toast{width:100%}.offline-banner{left:var(--space-3);right:var(--space-3);transform:none;width:auto}.select-wrapper select{min-height:var(--touch-target);font-size:var(--text-base);border-radius:0}.select-wrapper--sm select{min-height:calc(var(--touch-target) - var(--space-2));font-size:var(--text-sm)}.dropdown-trigger{min-height:var(--touch-target);border-radius:0}.select-inline{min-height:var(--touch-target);width:100%;font-size:var(--text-base);border-radius:0}}@media(min-width:1440px){.auth-card{max-width:440px}}@media(hover:none)and (pointer:coarse){.btn-primary:hover,.btn-secondary:hover,.btn-tertiary:hover,.btn-icon:hover,.btn-text:hover,.btn-back:hover,.btn-logout:hover{transform:none;background:inherit;border-color:inherit}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-tertiary:active:not(:disabled),.btn-icon:active:not(:disabled),.btn-logout:active:not(:disabled){transform:scale(var(--anim-scale-press));opacity:.9}.badge{min-height:var(--touch-target);padding:var(--space-2) var(--space-4);display:inline-flex;align-items:center}.auth-footer a{padding:var(--space-2);margin:calc(var(--space-2) * -1)}.folder-row:hover,.sidebar-link:hover{transform:none}.file-row:active,.folder-row:active,.recent-card:active{opacity:.9}}@media(max-height:500px)and (orientation:landscape){.auth-container{padding:var(--space-3);align-items:flex-start;padding-top:10vh}.auth-card{padding:var(--space-4)}.auth-header{margin-bottom:var(--space-3)}.auth-header h1{font-size:var(--text-lg)}.auth-header .logo{font-size:var(--text-xl);margin-bottom:var(--space-1);animation:none}.auth-form{gap:var(--space-2)}.form-group input{min-height:40px}.auth-footer{margin-top:var(--space-3)}.page-hero{margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.page-hero h1{font-size:var(--text-lg)}.workspace-hero{padding:var(--space-4);margin-bottom:var(--space-4)}.workspace-hero h1{font-size:var(--text-lg)}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.min-w-0{min-width:0}.min-h-0{min-height:0}.break-words{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.proportional-nums{font-variant-numeric:proportional-nums;font-feature-settings:"pnum" 1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.select-wrapper{position:relative;display:block;width:100%}.select-wrapper select{width:100%;padding:var(--space-3) var(--space-10) var(--space-3) var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:0;color:var(--text-primary);font-size:var(--text-base);font-family:inherit;line-height:var(--leading-normal);cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);outline:none}.select-wrapper select::placeholder{color:var(--text-muted)}.select-wrapper select:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);background:var(--glass-hover)}.select-wrapper select:focus{border-color:var(--accent);background:var(--glass-hover)}.select-wrapper select:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.select-wrapper:after{content:"";position:absolute;right:var(--space-4);top:50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--text-secondary);pointer-events:none;transform:translateY(-50%);transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.select-wrapper:hover:after{border-top-color:var(--accent-hover)}.select-wrapper:focus-within:after{border-top-color:var(--accent);transform:translateY(-50%) translateY(1px)}.select-wrapper--sm select{padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);font-size:var(--text-sm)}.select-wrapper--lg select{padding:var(--space-4) var(--space-12) var(--space-4) var(--space-5);font-size:var(--text-lg)}.select-wrapper option{background:var(--bg-secondary);cursor:pointer}.select-wrapper--error select{border-color:var(--error)}.select-wrapper--error:after{border-top-color:var(--error)}.select-wrapper--success select{border-color:var(--success)}.select-wrapper--success:after{border-top-color:var(--success)}.dropdown{position:relative;display:inline-block}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:0;color:var(--text-primary);font-size:var(--text-base);font-family:inherit;line-height:var(--leading-normal);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);outline:none;min-height:var(--touch-target);text-align:left}.dropdown-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);background:var(--glass-hover)}.dropdown-trigger:focus{border-color:var(--accent);background:var(--glass-hover)}.dropdown-trigger:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.dropdown-trigger__icon{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-secondary);transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);flex-shrink:0}.dropdown-trigger:hover .dropdown-trigger__icon{color:var(--accent-hover)}.dropdown[data-open=true] .dropdown-trigger__icon{transform:rotate(180deg);color:var(--accent)}.dropdown-panel{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;min-width:max-content;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:0;z-index:var(--z-dropdown);opacity:0;visibility:hidden;transform:translateY(calc(var(--anim-lift) * -1));transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),visibility var(--duration-fast)}.dropdown[data-open=true] .dropdown-panel{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-list{list-style:none;margin:0;padding:var(--space-1) 0;max-height:280px;overflow-y:auto}.dropdown-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.dropdown-option:hover{background:var(--glass-hover);color:var(--text-primary)}.dropdown-option[data-selected=true]{background:var(--bg-secondary);color:var(--accent-hover)}.dropdown-option[data-focused=true]{background:var(--glass-hover);color:var(--text-primary)}.dropdown-option__icon{width:var(--icon-sm);height:var(--icon-sm);opacity:var(--opacity-strong);flex-shrink:0}.dropdown-option[data-selected=true] .dropdown-option__icon{opacity:1;color:var(--accent-hover)}.dropdown-option__check{width:var(--icon-sm);height:var(--icon-sm);color:var(--accent);opacity:0;transform:scale(.8);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.dropdown-option[data-selected=true] .dropdown-option__check{opacity:1;transform:scale(1)}.dropdown-divider{height:1px;margin:var(--space-2) 0;background:var(--glass-border)}.dropdown-header{padding:var(--space-2) var(--space-4);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.dropdown-empty{padding:var(--space-4);color:var(--text-muted);font-size:var(--text-sm);text-align:center}.dropdown--up .dropdown-panel{top:auto;bottom:calc(100% + var(--space-1));transform:translateY(var(--anim-lift))}.dropdown--up[data-open=true] .dropdown-panel{transform:translateY(0)}.select-inline{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:0;color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%238fa992' d='M5 7L1 3h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out);outline:none}.select-inline:hover{border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);background-color:var(--glass-hover)}.select-inline:focus{border-color:var(--accent)}.form-group input.ng-invalid.ng-touched,.form-group input[aria-invalid=true]{border-color:var(--error);box-shadow:var(--focus-ring-error)}.form-group input.ng-valid.ng-touched{border-color:var(--success);box-shadow:var(--focus-ring-success)}.input-wrapper{position:relative;display:block;width:100%}.input-wrapper input{width:100%;padding-right:var(--space-10)}.input-success-icon{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);width:var(--icon-sm);height:var(--icon-sm);color:var(--success);pointer-events:none;animation:checkPop var(--duration-fast) var(--ease-out)}.field-error{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);padding-left:var(--space-1);font-size:var(--text-xs);color:var(--error);animation:fadeInUp var(--duration-fast) var(--ease-out)}.field-error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:var(--icon-xs);height:var(--icon-xs);background:var(--error-bg);font-size:var(--text-xs);font-weight:var(--weight-bold)}.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.error-state p{max-width:400px;text-align:center}.btn-retry{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:all var(--duration-fast) var(--ease-out)}.btn-retry:hover{background:var(--glass-hover);border-color:var(--accent);color:var(--accent-hover)}.btn-retry:active{transform:scale(var(--anim-scale-press))}.btn-retry:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.btn-retry:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.page-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--glass-border);background:transparent;-webkit-backdrop-filter:blur(var(--blur-amount));backdrop-filter:blur(var(--blur-amount))}.eyebrow{margin:0 0 var(--space-2);color:var(--accent-hover);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase}.page-hero{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--glass-border)}.page-hero h1{margin:0 0 var(--space-3);font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.hero-copy{max-width:56ch;margin:0;color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.loading-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-6) var(--space-3);color:var(--text-secondary)}.loading-state--compact,.error-state--panel{min-height:calc(var(--space-12) * 3);justify-content:center}.checkmark-animated{animation:checkPop var(--duration-fast) var(--ease-out)}.badge{display:inline-flex;align-items:center;min-height:calc(var(--touch-target) - var(--space-3));padding:0 var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:capitalize}.badge-purple{background:var(--badge-purple-bg);color:var(--badge-purple-text);border:1px solid var(--badge-purple-border)}.badge-blue{background:var(--badge-blue-bg);color:var(--badge-blue-text);border:1px solid var(--badge-blue-border)}.badge-green{background:var(--badge-green-bg);color:var(--badge-green-text);border:1px solid var(--badge-green-border)}.status-active{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--success);font-weight:var(--weight-semibold)}.status-active:before{content:"";width:var(--size-dot);height:var(--size-dot);background:var(--success)}.status-inactive{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--error);font-weight:var(--weight-semibold)}.status-inactive:before{content:"";width:var(--size-dot);height:var(--size-dot);background:var(--error)}.offline-banner{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning);font-size:var(--text-sm);font-weight:var(--weight-medium);z-index:var(--z-toast);animation:fadeInUp var(--duration-slow) var(--ease-out)}.toast-container{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-md);animation:toastIn var(--duration-normal) var(--ease-out)}.toast.toast-success{border-color:var(--success-border);background:var(--success-bg)}.toast.toast-success .toast-icon{color:var(--success)}.toast.toast-error{border-color:var(--error-border);background:var(--error-bg)}.toast.toast-error .toast-icon{color:var(--error)}.toast-icon{width:var(--size-2xs);height:var(--size-2xs);flex-shrink:0}.toast-dismiss{display:inline-flex;align-items:center;justify-content:center;width:var(--size-xs);height:var(--size-xs);margin-left:auto;padding:0;border:0;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.toast-dismiss:hover{color:var(--text-primary);background:var(--glass-hover)}.toast-dismiss svg{width:var(--icon-xs);height:var(--icon-xs)}.toast-dismiss:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.toast.toast-leaving{animation:toastOut var(--duration-fast) var(--ease-out) forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(var(--anim-shift)) scale(var(--anim-scale-pop))}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(calc(var(--anim-lift) * -1)) scale(var(--anim-scale-press))}}
