@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;--font-sans: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2.25rem;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.65;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.01em;--letter-spacing-wide: .06em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--content-max-width: 76rem;--page-gutter: var(--space-8);--control-height: 2.5rem;--touch-target: 2.75rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1.25rem;--radius-xl: 1.25rem;--radius-band: 1.75rem;--radius-full: 999px;--shadow-xs: 0 1px 2px color-mix(in srgb, var(--c-shadow) 70%, transparent);--shadow-sm: 0 1px 3px var(--c-shadow), 0 1px 2px color-mix(in srgb, var(--c-shadow) 60%, transparent);--shadow-md: 0 4px 12px var(--c-shadow), 0 2px 4px color-mix(in srgb, var(--c-shadow) 50%, transparent);--shadow-lg: 0 12px 32px var(--c-shadow-strong), 0 4px 8px var(--c-shadow);--shadow-card: 0 1px 2px color-mix(in srgb, var(--c-night) 6%, transparent);--shadow-pop: 0 24px 60px color-mix(in srgb, var(--c-night) 32%, transparent), 0 4px 12px color-mix(in srgb, var(--c-night) 14%, transparent);--duration-fast: .12s;--duration-base: .18s;--duration-slow: .28s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--c-accent: var(--theme-accent-light, #5b3fd6);--c-accent-contrast: var(--theme-accent-light-contrast, #ffffff);--c-accent-2: color-mix(in srgb, var(--c-accent) 45%, #e05db0);--c-night: #100d1c;--c-bg: color-mix(in srgb, var(--c-accent) 6%, #f8f7fb);--c-surface: #ffffff;--c-surface-raised: #ffffff;--c-surface-sunken: color-mix(in srgb, var(--c-accent) 5%, #ffffff);--c-surface-muted: color-mix(in srgb, var(--c-accent) 8%, #ffffff);--c-border: color-mix(in srgb, var(--c-accent) 12%, #e9e7ef);--c-border-strong: color-mix(in srgb, var(--c-accent) 22%, #d6d2e0);--c-border-subtle: color-mix(in srgb, var(--c-accent) 8%, #efedf4);--c-input-bg: #ffffff;--c-input-border: color-mix(in srgb, var(--c-accent) 20%, #7a7590);--c-table-stripe: color-mix(in srgb, var(--c-accent) 4%, #ffffff);--c-table-hover: color-mix(in srgb, var(--c-accent) 8%, #ffffff);--c-text-strong: color-mix(in srgb, var(--c-accent) 14%, #14111f);--c-text: color-mix(in srgb, var(--c-accent) 12%, #1f1b2c);--c-text-secondary: color-mix(in srgb, var(--c-accent) 10%, #3c374d);--c-text-muted: color-mix(in srgb, var(--c-accent) 8%, #5d586f);--c-text-faint: color-mix(in srgb, var(--c-accent) 8%, #6a657d);--c-text-inverse: #ffffff;--c-text-on-badge: #ffffff;--c-primary: var(--c-accent);--c-primary-hover: color-mix(in srgb, var(--c-accent) 82%, var(--c-text-strong));--c-primary-contrast: var(--c-accent-contrast);--c-primary-subtle: color-mix(in srgb, var(--c-accent) 9%, var(--c-surface));--c-link: color-mix(in srgb, var(--c-accent) 88%, var(--c-text-strong));--c-focus-ring: var(--c-accent);--c-focus-ring-soft: color-mix(in srgb, var(--c-accent) 18%, transparent);--c-aurora-deep: color-mix(in srgb, var(--c-accent) 58%, var(--c-night));--c-aurora-mid: color-mix(in srgb, var(--c-accent) 86%, var(--c-night));--c-aurora-far: color-mix(in srgb, var(--c-accent-2) 66%, var(--c-night));--c-aurora-glow: color-mix(in srgb, var(--c-accent-2) 70%, transparent);--c-on-aurora: #ffffff;--c-on-aurora-muted: color-mix(in srgb, #ffffff 84%, var(--c-accent));--c-glass: color-mix(in srgb, #ffffff 95%, transparent);--c-glass-edge: color-mix(in srgb, #ffffff 60%, transparent);--c-shadow-glass: 0 14px 34px color-mix(in srgb, var(--c-night) 26%, transparent), 0 2px 6px color-mix(in srgb, var(--c-night) 12%, transparent);--c-scrim: color-mix(in srgb, var(--c-night) 38%, transparent);--c-overlay: var(--c-scrim);--c-sidebar-ink: #f3f0fb;--c-sidebar-top: color-mix(in srgb, var(--c-accent) 40%, var(--c-night));--c-sidebar-bottom: color-mix(in srgb, var(--c-accent-2) 24%, var(--c-night));--c-sidebar-bg: color-mix(in srgb, var(--c-sidebar-top) 50%, var(--c-sidebar-bottom));--c-sidebar-text: var(--c-sidebar-ink);--c-sidebar-text-muted: color-mix(in srgb, var(--c-sidebar-ink) 78%, var(--c-sidebar-bg));--c-sidebar-hover: color-mix(in srgb, var(--c-sidebar-ink) 9%, var(--c-sidebar-bg));--c-sidebar-border: color-mix(in srgb, var(--c-sidebar-ink) 16%, var(--c-sidebar-bg));--c-sidebar-eyebrow: color-mix(in srgb, var(--c-accent) 40%, var(--c-sidebar-ink));--c-sidebar-link: color-mix(in srgb, var(--c-sidebar-ink) 90%, var(--c-sidebar-bg));--c-count-bg: #f2c84b;--c-count-ink: #3a2a00;--c-track: color-mix(in srgb, var(--c-accent) 12%, #f1eff6);--c-series-1: var(--c-accent);--c-series-2: var(--c-accent-2);--c-series-3: var(--c-highlight);--c-series-4: var(--c-success);--c-series-warn: #d48a16;--c-series-rest: color-mix(in srgb, var(--c-accent) 22%, #e4e1ec);--c-band-1: #dcfce7;--c-band-2: #fef9c3;--c-band-3: #ffedd5;--c-band-4: #fee2e2;--c-band-5: #fecaca;--c-shadow: color-mix(in srgb, var(--c-night) 8%, transparent);--c-shadow-strong: color-mix(in srgb, var(--c-night) 16%, transparent);--c-success: #059669;--c-success-text: #166534;--c-success-subtle: #dcfce7;--c-success-border: #6ee7b7;--c-warning: #f59e0b;--c-warning-text: #92400e;--c-warning-subtle: #fef3c7;--c-warning-border: #fcd34d;--c-danger: #dc2626;--c-danger-text: #991b1b;--c-danger-subtle: #fee2e2;--c-danger-border: #fecaca;--c-info: #2563eb;--c-info-text: #1e40af;--c-info-subtle: #dbeafe;--c-info-border: #93c5fd;--c-highlight: #0e7490;--c-highlight-text: #155e75;--c-highlight-subtle: #cffafe;--c-highlight-border: #a5f3fc;font-family:var(--font-sans);line-height:var(--line-height-base);font-weight:var(--font-weight-regular);color:var(--c-text);background:var(--c-bg)}[data-theme=dark]{color-scheme:dark;--c-accent: var(--theme-accent-dark, #9590ff);--c-accent-contrast: var(--theme-accent-dark-contrast, #101010);--c-night: #0b0913;--c-bg: color-mix(in srgb, var(--c-accent) 7%, #0f0d16);--c-surface: color-mix(in srgb, var(--c-accent) 7%, #18161f);--c-surface-raised: color-mix(in srgb, var(--c-accent) 9%, #1e1b27);--c-surface-sunken: color-mix(in srgb, var(--c-accent) 6%, #13111a);--c-surface-muted: color-mix(in srgb, var(--c-accent) 11%, #1b1823);--c-border: color-mix(in srgb, var(--c-accent) 14%, #2b2833);--c-border-strong: color-mix(in srgb, var(--c-accent) 24%, #3a3644);--c-border-subtle: color-mix(in srgb, var(--c-accent) 10%, #24212c);--c-input-bg: color-mix(in srgb, var(--c-accent) 5%, #0f0d16);--c-input-border: color-mix(in srgb, var(--c-accent) 20%, #7d7791);--c-table-stripe: color-mix(in srgb, var(--c-accent) 6%, #15131c);--c-table-hover: color-mix(in srgb, var(--c-accent) 12%, #1b1823);--c-text-strong: #faf8ff;--c-text: #eeebf7;--c-text-secondary: #d3cee0;--c-text-muted: #a9a3bb;--c-text-faint: #9690a9;--c-text-inverse: #0f0d16;--c-primary-hover: color-mix(in srgb, var(--c-accent) 80%, var(--c-text-strong));--c-primary-subtle: color-mix(in srgb, var(--c-accent) 16%, var(--c-surface));--c-link: color-mix(in srgb, var(--c-accent) 85%, var(--c-text-strong));--c-focus-ring-soft: color-mix(in srgb, var(--c-accent) 28%, transparent);--c-aurora-deep: color-mix(in srgb, var(--c-accent) 30%, var(--c-night));--c-aurora-mid: color-mix(in srgb, var(--c-accent) 55%, var(--c-night));--c-aurora-far: color-mix(in srgb, var(--c-accent-2) 55%, var(--c-night));--c-aurora-glow: color-mix(in srgb, var(--c-accent-2) 45%, transparent);--c-on-aurora-muted: color-mix(in srgb, #ffffff 80%, var(--c-accent));--c-glass: color-mix(in srgb, #1a1722 94%, transparent);--c-glass-edge: color-mix(in srgb, #ffffff 10%, transparent);--c-scrim: color-mix(in srgb, var(--c-night) 65%, transparent);--c-sidebar-top: color-mix(in srgb, var(--c-accent) 18%, var(--c-night));--c-sidebar-bottom: color-mix(in srgb, var(--c-accent-2) 12%, var(--c-night));--c-track: color-mix(in srgb, var(--c-accent) 16%, #23202b);--c-series-warn: #f0a93b;--c-series-rest: color-mix(in srgb, var(--c-accent) 26%, #34303e);--c-band-1: #052e1a;--c-band-2: #3a3406;--c-band-3: #3a2406;--c-band-4: #3b0f10;--c-band-5: #5a1416;--c-shadow: color-mix(in srgb, var(--c-night) 55%, transparent);--c-shadow-strong: color-mix(in srgb, var(--c-night) 75%, transparent);--c-success: #34d399;--c-success-text: #86efac;--c-success-subtle: #052e1a;--c-success-border: #166534;--c-warning: #fbbf24;--c-warning-text: #fcd34d;--c-warning-subtle: #3a2a06;--c-warning-border: #92400e;--c-danger: #f87171;--c-danger-text: #fca5a5;--c-danger-subtle: #3b0f10;--c-danger-border: #991b1b;--c-info: #60a5fa;--c-info-text: #93c5fd;--c-info-subtle: #172554;--c-info-border: #1e40af;--c-highlight: #22d3ee;--c-highlight-text: #67e8f9;--c-highlight-subtle: #083344;--c-highlight-border: #155e75}@supports (color: oklch(from red l c h)){:root{--c-accent-2: oklch(from var(--c-accent) calc(l + .1) c calc(h + 50) )}}@media (prefers-reduced-transparency: reduce){:root{--c-glass: var(--c-surface)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}body,#app{min-height:100vh}button,a,input,select,textarea{font:inherit}img,svg,video{max-width:100%}:where(h1,h2,h3,h4){color:var(--c-text-strong);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);font-weight:var(--font-weight-semibold)}:where(h1){font-size:var(--font-size-2xl)}:where(h2){font-size:var(--font-size-xl)}:where(h3){font-size:var(--font-size-lg)}:where(h4){font-size:var(--font-size-base)}:where(a){color:var(--c-link);text-underline-offset:.15em}:where(a):hover{color:var(--c-primary-hover)}small{font-size:var(--font-size-sm)}hr{border:0;border-top:1px solid var(--c-border);margin:var(--space-4) 0}::selection{background:color-mix(in srgb,var(--c-accent) 28%,transparent)}:focus-visible{outline:2px solid var(--c-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.nav-icon{flex:none;width:1.15rem;height:1.15rem}.mini-link{display:inline-flex;align-items:center;gap:var(--space-3);min-height:2.5rem;padding:var(--space-2);border:0;border-radius:var(--radius-md);background:transparent;color:var(--c-sidebar-link);cursor:pointer;text-decoration:none;font-weight:var(--font-weight-medium);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.mini-link:hover{background:var(--c-sidebar-hover);color:var(--c-sidebar-text)}.main-column{min-width:0;display:flex;flex-direction:column}.content{width:100%;max-width:calc(var(--content-max-width) + var(--page-gutter) * 2);margin:0 auto;padding:var(--space-8) var(--page-gutter) var(--space-12);min-width:0}.page{display:grid;gap:var(--space-6);min-width:0}.page>*{min-width:0}.page-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3) var(--space-4);align-items:flex-start}.page-header h2,.page-header h3,.page-header p{margin:0}.page-header h2{font-size:var(--font-size-2xl)}.page-header p{margin-top:var(--space-2);color:var(--c-text-muted);max-width:60ch}.page-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.kicker{margin:0;color:var(--c-link);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4)}.section-heading.compact{margin-bottom:var(--space-3)}.section-heading h3,.section-heading p{margin:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--space-4)}.detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:var(--space-4);align-items:start}.two-column-detail{grid-template-columns:minmax(0,1.8fr) minmax(20rem,1fr)}.inline-list,.stacked-list{display:grid;gap:var(--space-3)}.inline-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}.action-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.auth-page{max-width:32.5rem}@media (max-width: 900px){:root{--page-gutter: var(--space-4)}.content{padding-top:var(--space-5);padding-bottom:var(--space-8)}.detail-layout,.two-column-detail{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.page{gap:var(--space-5)}.card-grid,.inline-list{grid-template-columns:minmax(0,1fr)}.page-header-actions,.page-header-actions>*{width:100%}}.app-shell{min-height:100vh;display:grid;grid-template-columns:15.5rem minmax(0,1fr)}.skip-link{position:absolute;left:-999px;top:var(--space-2);z-index:50;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-text-strong)}.skip-link:focus{left:var(--space-2)}.rail{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-3);overflow-y:auto;background:linear-gradient(180deg,var(--c-sidebar-top),var(--c-sidebar-bottom));color:var(--c-sidebar-text)}.rail :focus-visible{outline-color:var(--c-sidebar-eyebrow)}.rail-org{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-lg);background:var(--c-sidebar-hover)}.rail-org strong,.user-card strong{display:block;font-size:var(--font-size-sm);color:var(--c-sidebar-text)}.rail-org span,.user-card span{font-size:var(--font-size-xs);color:var(--c-sidebar-text-muted)}.rail-mark{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--c-accent),var(--c-accent-2));color:var(--c-accent-contrast)}.rail-nav{display:flex;flex-direction:column;gap:var(--space-3)}.rail-group{display:flex;flex-direction:column;gap:var(--space-1)}.rail-group-name{margin:0 0 var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--c-sidebar-text-muted)}.rail-link{display:flex;align-items:center;gap:var(--space-3);min-height:2.375rem;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--c-sidebar-link);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-standard)}.rail-link:hover{background:var(--c-sidebar-hover);color:var(--c-sidebar-text)}.rail-link.is-current{background:var(--c-sidebar-border);color:var(--c-sidebar-text);font-weight:var(--font-weight-semibold)}.rail-link.is-pin{min-height:2.125rem}.rail-link-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-count,.tab-count{min-width:1.4rem;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--c-count-bg);color:var(--c-count-ink);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-align:center}.rail-count{margin-left:auto}.client-monogram{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--c-sidebar-border);color:var(--c-sidebar-text);font-weight:var(--font-weight-bold);letter-spacing:.02em}.client-monogram.is-sm{width:1.5rem;height:1.5rem;font-size:.625rem}.client-monogram.is-md{width:2rem;height:2rem;font-size:.6875rem}.rail-foot{margin-top:auto;display:grid;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--c-sidebar-hover)}.rail-status{list-style:none;margin:0;padding:0 0 var(--space-3);display:grid;gap:var(--space-1);border-bottom:1px solid var(--c-sidebar-border);font-size:var(--font-size-xs);color:var(--c-sidebar-text-muted)}.rail-status li{display:flex;align-items:center;gap:var(--space-2)}.rail-live{flex:none;width:.45rem;height:.45rem;border-radius:50%;background:var(--c-success)}.rail-live.is-off{background:var(--c-sidebar-text-muted)}.user-menu{position:relative}.user-card{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-target);padding:var(--space-1);border:0;border-radius:var(--radius-md);background:transparent;color:var(--c-sidebar-text);text-align:left;cursor:pointer}.user-card:hover{background:var(--c-sidebar-hover)}.user-card-text{flex:1;min-width:0}.user-card-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel{position:absolute;inset:auto 0 calc(100% + var(--space-2)) 0;z-index:20;display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--c-glass-edge);border-radius:var(--radius-lg);background:var(--c-glass);color:var(--c-text);box-shadow:var(--c-shadow-glass)}.user-menu.is-inline .user-panel{position:static;box-shadow:none;border-color:var(--c-border)}.user-panel-who{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline;color:var(--c-text-muted)}.user-panel-who strong{color:var(--c-text-strong)}.theme-toggle{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--c-surface-muted)}.theme-toggle button{min-height:2.25rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--c-text-secondary);font-size:var(--font-size-sm);cursor:pointer}.theme-toggle button.is-selected{background:var(--c-surface);color:var(--c-text-strong);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.user-signout{min-height:2.25rem;border:1px solid var(--c-border-strong);border-radius:var(--radius-md);background:transparent;color:var(--c-text-strong);cursor:pointer}.user-signout:hover{background:var(--c-surface-muted)}.user-menu :focus-visible{outline-color:var(--c-focus-ring)}.tab-bar,.more-sheet,.more-backdrop{display:none}@media (max-width: 900px){.app-shell{grid-template-columns:minmax(0,1fr);padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.rail{display:none}.tab-bar{position:fixed;inset:auto 0 0 0;z-index:30;display:flex;padding:var(--space-1) var(--space-2) calc(var(--space-1) + env(safe-area-inset-bottom));background:var(--c-glass);border-top:1px solid var(--c-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:var(--touch-target);padding:var(--space-1) 0;border:0;background:transparent;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--c-text-muted);text-decoration:none;cursor:pointer}.tab.is-current{color:var(--c-link);font-weight:var(--font-weight-bold)}.tab-icon{position:relative}.tab-icon .nav-icon{width:1.35rem;height:1.35rem}.tab-count{position:absolute;top:-.3rem;right:-.8rem;min-width:1.1rem;padding:0 var(--space-1)}.more-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:var(--c-scrim)}.more-sheet{position:fixed;inset:auto 0 calc(4.5rem + env(safe-area-inset-bottom)) 0;z-index:31;display:grid;gap:var(--space-1);max-height:75vh;overflow-y:auto;padding:var(--space-3);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(180deg,var(--c-sidebar-top),var(--c-sidebar-bottom));color:var(--c-sidebar-text)}.more-link{min-height:var(--touch-target)}.more-pinned{display:grid;gap:var(--space-1);margin-top:var(--space-2)}.more-sheet .user-menu{margin-top:var(--space-2)}}@media (prefers-reduced-motion: reduce){.rail-link{transition:none}}.top-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-6);background:var(--c-glass);border-bottom:1px solid var(--c-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.top-bar-slot[hidden]{display:none}.command-trigger{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);width:min(26rem,100%);padding:0 var(--space-3);border:1px solid var(--c-border-strong);border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-text-muted);font:inherit;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.command-trigger:hover{border-color:var(--c-accent);background:var(--c-surface-sunken)}.command-trigger .nav-icon{width:1.125rem;height:1.125rem;flex:none}.command-trigger-text{flex:1;text-align:left}.command-trigger-hint,.palette kbd{display:inline-grid;place-items:center;min-width:1.5rem;padding:.1rem .35rem;border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface-muted);color:var(--c-text-secondary);font:600 .6875rem var(--font-sans)}.palette-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;justify-items:center;align-items:start;padding:12vh var(--space-4) var(--space-4);background:var(--c-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.palette{width:min(40rem,100%);overflow:hidden;border-radius:var(--radius-lg);background:var(--c-surface-raised);border:1px solid var(--c-border);box-shadow:var(--shadow-pop);color:var(--c-text)}.palette-input{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--c-border);color:var(--c-accent)}.palette-input .nav-icon{width:1.25rem;height:1.25rem;flex:none}.palette-input input{flex:1;min-width:0;height:3.75rem;border:0;background:transparent;color:var(--c-text-strong);font:500 1.0625rem var(--font-sans);outline:none}.palette-input input::placeholder{color:var(--c-text-muted)}.palette-input:focus-within{box-shadow:inset 0 -2px 0 var(--c-accent)}.palette-results{max-height:min(24rem,55vh);overflow-y:auto;padding:var(--space-2)}.palette-group{margin:var(--space-2) var(--space-2) var(--space-1);font-size:.75rem;font-weight:600;color:var(--c-text-muted)}.palette-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:0 var(--space-2);border-radius:var(--radius-md);cursor:pointer}.palette-option.is-active{background:var(--c-primary-subtle)}.palette-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-secondary)}.palette-icon .nav-icon{width:1rem;height:1rem}.palette-label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-hint{font-size:.8125rem;color:var(--c-text-muted)}.palette-status,.palette-empty{margin:0;padding:var(--space-4) var(--space-3);font-size:.875rem;color:var(--c-text-muted)}.palette-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--c-danger-text)}.palette-retry{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--c-border-strong);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-text-strong);font:inherit;cursor:pointer}.palette-foot{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--c-border);background:var(--c-surface-sunken);font-size:.75rem;color:var(--c-text-muted)}.palette-foot span{display:inline-flex;align-items:center;gap:.25rem}.palette-enter-active,.palette-leave-active{transition:opacity var(--duration-base)}.palette-enter-active .palette,.palette-leave-active .palette{transition:transform var(--duration-slow)}.palette-enter-from,.palette-leave-to{opacity:0}.palette-enter-from .palette,.palette-leave-to .palette{transform:translateY(-8px) scale(.98)}@media (max-width: 900px){.top-bar{padding:var(--space-2) var(--space-4);justify-content:flex-end}.command-trigger{width:var(--touch-target);justify-content:center;padding:0}.command-trigger-text,.command-trigger-hint{display:none}}@media (max-width: 640px){.palette-scrim{padding-top:var(--space-4)}.palette-hint{display:none}}@media (prefers-reduced-motion: reduce){.palette-enter-active,.palette-leave-active,.palette-enter-active .palette,.palette-leave-active .palette,.command-trigger{transition:none}}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.kpi-tile{display:grid;gap:var(--space-1);align-content:start;min-width:0;padding:var(--space-4);border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-text);text-decoration:none}.kpi-tile.is-link:hover{border-color:var(--c-border-strong);background:var(--c-table-hover)}.kpi-tile.is-link:focus-visible{outline:2px solid var(--c-focus-ring);outline-offset:2px}.kpi-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--c-text-muted)}.kpi-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--c-text-strong);font-variant-numeric:tabular-nums}.kpi-hint{font-size:var(--font-size-sm);color:var(--c-text-muted)}.kpi-spark{width:100%;height:1.75rem;margin-top:var(--space-1);overflow:visible}.kpi-spark-line{stroke:var(--c-accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.kpi-spark-point{fill:var(--c-accent)}@media (max-width: 640px){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-tabs{display:flex;gap:var(--space-1);overflow-x:auto;border-bottom:1px solid var(--c-border);scrollbar-width:none}.status-tab{display:inline-flex;align-items:center;gap:.4rem;flex:none;min-height:var(--touch-target);padding:0 var(--space-3);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--c-text-muted);font:var(--font-weight-semibold) var(--font-size-sm) / 1 var(--font-sans);cursor:pointer}.status-tab:hover{color:var(--c-text-strong)}.status-tab.is-active{color:var(--c-link);border-bottom-color:var(--c-accent)}.status-tab:focus-visible{outline:2px solid var(--c-focus-ring);outline-offset:-2px}.status-tab-count{min-width:1.4rem;padding:0 .4rem;border-radius:var(--radius-full);background:var(--c-count-bg);color:var(--c-count-ink);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-align:center}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) 0}.filter-search{position:relative;flex:1 1 14rem;min-width:0}.filter-search-input{width:100%;min-height:var(--control-height);padding-right:var(--space-8);font:inherit}.filter-clear{position:absolute;top:50%;right:var(--space-1);transform:translateY(-50%);width:var(--control-height);height:var(--control-height);border:0;background:transparent;color:var(--c-text-muted);font-size:var(--font-size-lg);cursor:pointer}.filter-bar select{min-width:0;max-width:100%;font:inherit}.filter-actions{display:flex;gap:var(--space-2);margin-left:auto}.row-menu{position:relative;display:inline-block}.row-menu-trigger{width:var(--touch-target);height:var(--touch-target);border:0;border-radius:var(--radius-full);background:transparent;color:var(--c-text-secondary);font-size:var(--font-size-lg);cursor:pointer}.row-menu-trigger:hover{background:var(--c-surface-muted)}.row-menu-trigger:focus-visible{outline:2px solid var(--c-focus-ring);outline-offset:-2px}.row-menu-list{position:absolute;right:0;z-index:30;display:grid;min-width:11rem;padding:var(--space-1);border:1px solid var(--c-border-strong);border-radius:var(--radius-md);background:var(--c-surface-raised);box-shadow:var(--shadow-md)}.row-menu-item{display:block;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--c-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.row-menu-item:hover,.row-menu-item:focus-visible{background:var(--c-table-hover);outline:none}.bulk-wrap{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.bulk-wrap:empty{display:none}.bulk-bar{position:sticky;top:var(--space-2);z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--c-border-strong);border-radius:var(--radius-lg);background:var(--c-surface-raised);box-shadow:var(--shadow-sm)}.bulk-actions{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.list-table-card{overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface)}.list-table{width:100%;border-collapse:collapse}.list-table th{position:sticky;top:0;z-index:10;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-align:left;text-transform:uppercase}.list-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--c-border-subtle);vertical-align:middle}.list-table tbody tr:last-child td{border-bottom:0}.list-table tbody tr:hover{background:var(--c-table-hover)}.list-table tr.is-selected{background:var(--c-primary-subtle)}.list-table .num{text-align:right;font-variant-numeric:tabular-nums}.list-select-col{width:2.5rem}.list-menu-cell{width:3.5rem;text-align:right}.list-name-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--c-text-strong);font-weight:var(--font-weight-semibold);text-decoration:none}.list-name-link:hover{color:var(--c-link);text-decoration:underline}.list-sub{display:block;color:var(--c-text-muted);font-size:var(--font-size-sm)}.list-danger{color:var(--c-danger-text);font-weight:var(--font-weight-semibold)}@media (max-width: 640px){.list-table-card{overflow:visible}.list-table .num{text-align:right}.list-table tbody tr:hover{background:transparent}.list-table td.list-select-col:before,.list-table td.list-menu-cell:before{content:none}}.list-extra-row>td{padding:var(--space-3) var(--space-4);background:var(--c-surface-2, var(--c-surface))}.list-table tr.is-overdue-row{box-shadow:inset 3px 0 0 var(--c-danger-text)}.detail-hero{display:grid;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-text)}.detail-breadcrumb{justify-self:start;font-size:var(--font-size-sm);color:var(--c-text-muted);text-decoration:none}.detail-breadcrumb:hover{color:var(--c-link)}.detail-hero-main{display:flex;align-items:center;gap:var(--space-4);min-width:0}.detail-hero-text{display:grid;gap:var(--space-1);min-width:0}.detail-hero-title{margin:0;font-size:var(--font-size-2xl);line-height:var(--line-height-tight);color:var(--c-text-strong);overflow-wrap:anywhere}.detail-hero-title a{color:inherit}.detail-hero-facts{margin:0;font-size:var(--font-size-sm);color:var(--c-text-muted);overflow-wrap:anywhere}.detail-hero-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.detail-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.detail-hero-actions .button-link,.detail-hero-actions .row-menu-trigger{min-height:var(--touch-target)}.detail-chip{display:inline-flex;align-items:center;padding:.15rem var(--space-3);border-radius:var(--radius-full);background:var(--c-surface-muted);color:var(--c-text-secondary);box-shadow:inset 0 0 0 1px var(--c-border);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.detail-chip.success{background:var(--c-success-subtle);color:var(--c-success-text);box-shadow:none}.detail-chip.warning{background:var(--c-warning-subtle);color:var(--c-warning-text);box-shadow:none}.detail-chip.danger{background:var(--c-danger-subtle);color:var(--c-danger-text);box-shadow:none}.detail-chip.highlight{background:var(--c-highlight-subtle);color:var(--c-highlight-text);box-shadow:none}.fact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-3) var(--space-5);margin:0}.fact-item{display:grid;gap:var(--space-1);min-width:0}.fact-item dt{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--c-text-muted)}.fact-item dd{margin:0;color:var(--c-text);overflow-wrap:anywhere}.fact-empty{color:var(--c-text-muted)}.detail-page{display:grid;gap:var(--space-4)}.detail-tabs{margin-top:var(--space-1)}.detail-panel{display:grid;gap:var(--space-4);align-content:start}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}.detail-card{display:grid;gap:var(--space-4);align-content:start;padding:var(--space-5);border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface)}.detail-card>h3,.detail-card>p{margin:0}.detail-subheading{margin:0;font-size:var(--font-size-sm);color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.detail-link-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.session-layout{display:grid;grid-template-columns:minmax(0,70ch) minmax(16rem,22rem);gap:var(--space-5);align-items:start}.notes-column{display:grid;gap:var(--space-4);min-width:0;max-width:70ch;line-height:var(--line-height-relaxed)}.notes-text{margin:0;white-space:pre-wrap}@media (max-width: 900px){.detail-hero{padding:var(--space-4)}.detail-hero-main{align-items:flex-start}.detail-hero-actions>*{flex:1 1 auto}.detail-grid,.session-layout{grid-template-columns:minmax(0,1fr)}.session-layout .notes-column{max-width:none}.detail-hero-actions .button-link,.detail-hero-actions .row-menu-trigger,.detail-card input,.detail-card select{min-height:var(--touch-target)}}.client-monogram.is-lg{width:3.25rem;height:3.25rem;font-size:var(--font-size-lg, 1.125rem);flex:none}.card,.detail-layout>*,.list-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-xs);min-width:0}.card-header,.card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--c-border)}.card.interactive{transition:box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.card.interactive:hover{border-color:var(--c-border-strong);box-shadow:var(--shadow-md)}.metric{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);margin:var(--space-1) 0;color:var(--c-text-strong)}.muted,.list-card p,.card p,.detail-layout p{color:var(--c-text-muted)}.list-row{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--c-border)}.list-row:last-child{border-bottom:0;padding-bottom:0}.list-row:first-child{padding-top:0}.list-row>*{min-width:0}.list-row strong,.list-row p,.list-row small{display:block;margin:0}.button-link,.inline-button,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--c-primary);color:var(--c-primary-contrast);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1.2;border:1px solid transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.button-link:hover,.inline-button:hover,.button:hover{background:var(--c-primary-hover);color:var(--c-primary-contrast)}.button-link:active,.inline-button:active,.button:active{transform:translateY(1px)}.button-reset{-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-link:disabled,.inline-button:disabled,.button:disabled,.button-link[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.button-link.secondary,.button.secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border-strong)}.button-link.secondary:hover,.button.secondary:hover{background:var(--c-surface-muted);color:var(--c-text-strong)}.button-link.ghost,.button.ghost{background:transparent;color:var(--c-link)}.button-link.ghost:hover,.button.ghost:hover{background:var(--c-primary-subtle);color:var(--c-link)}.button-link.danger,.button.danger{background:var(--c-danger-text);color:var(--c-surface)}.button-link.danger:hover,.button.danger:hover{background:color-mix(in srgb,var(--c-danger-text) 85%,var(--c-text-strong));color:var(--c-surface)}.button-link.small,.button.small{min-height:2rem;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.button-link.loading,.button.loading{position:relative;pointer-events:none;opacity:.75}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color]),select,textarea){min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--c-input-border);border-radius:var(--radius-md);background:var(--c-input-bg);color:var(--c-text-strong);max-width:100%;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}:where(textarea){min-height:5rem;line-height:var(--line-height-base)}:where(input,select,textarea)::placeholder{color:var(--c-text-faint)}:where(input,select,textarea):hover:not(:disabled){border-color:var(--c-text-muted)}:where(input,select,textarea):focus-visible{outline:none;border-color:var(--c-focus-ring);box-shadow:0 0 0 3px var(--c-focus-ring-soft)}:where(input,select,textarea):disabled{background:var(--c-surface-muted);color:var(--c-text-muted);cursor:not-allowed}:where(input,select,textarea)[aria-invalid=true],.is-invalid{border-color:var(--c-danger)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--c-accent);width:1.05rem;height:1.05rem}.form-card form label,.field{display:grid;gap:var(--space-1);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--c-text-secondary)}.form-card form input,.form-card form select,.form-card form textarea,.auth-card input,.auth-card select,.auth-card textarea{width:100%}.field-help{font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);color:var(--c-text-muted)}.field-error{font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);color:var(--c-danger-text)}.checkbox-row{display:flex!important;align-items:center;gap:var(--space-2)}.checkbox-row input{width:auto!important}.error-text{color:var(--c-danger-text)}.success-text{color:var(--c-success-text);margin:0}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.15rem var(--space-3);border-radius:var(--radius-full);background:var(--c-info-subtle);color:var(--c-info-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.badge.success{background:var(--c-success-subtle);color:var(--c-success-text)}.badge.warning{background:var(--c-warning-subtle);color:var(--c-warning-text)}.badge.danger{background:var(--c-danger-subtle);color:var(--c-danger-text)}.badge.neutral{background:var(--c-surface-muted);color:var(--c-text-secondary);box-shadow:inset 0 0 0 1px var(--c-border)}.badge.highlight{background:var(--c-highlight-subtle);color:var(--c-highlight-text)}.table-wrap,.table-scroll{width:100%;overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle;border-bottom:1px solid var(--c-border)}.table th{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--c-text-muted);background:var(--c-surface-sunken);white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color var(--duration-fast) var(--ease-standard)}.table tbody tr:hover{background:var(--c-table-hover)}.table.compact th,.table.compact td{padding:var(--space-2) var(--space-3)}.table.sticky-header th{position:sticky;top:0;z-index:10}.table .num{text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 640px){.table-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.table-stack,.table-stack tbody,.table-stack tr,.table-stack td{display:block;width:100%}.table-stack tr{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--c-border)}.table-stack td{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-1) 0;border:0;text-align:right}.table-stack td:before{content:attr(data-label);font-weight:var(--font-weight-semibold);color:var(--c-text-muted);text-align:left}}.tabs,.tab-row{display:flex;gap:var(--space-1);overflow-x:auto;border-bottom:1px solid var(--c-border);scrollbar-width:thin}.tab{display:inline-flex;align-items:center;min-height:var(--control-height);padding:var(--space-2) var(--space-4);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--c-text-muted);font-weight:var(--font-weight-medium);text-decoration:none;white-space:nowrap;cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.tab:hover{color:var(--c-text-strong)}.tab.active,.tab[aria-selected=true],.tab.router-link-active{color:var(--c-link);border-bottom-color:var(--c-accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:var(--space-4);background:var(--c-overlay);overflow-y:auto}.modal-card{width:min(100%,36rem);max-height:calc(100vh - var(--space-8));overflow-y:auto;padding:var(--space-6);background:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.empty-state{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-4);text-align:center;color:var(--c-text-muted);border:1px dashed var(--c-border-strong);border-radius:var(--radius-lg);background:var(--c-surface-sunken)}.empty-state h3,.empty-state p{margin:0}.empty-state p{max-width:44ch}.empty-state-actions{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.skeleton{display:block;height:1rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--c-surface-muted) 0%,color-mix(in srgb,var(--c-border) 70%,var(--c-surface)) 50%,var(--c-surface-muted) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-stack{display:grid;gap:var(--space-3)}.skeleton.title{height:1.75rem;width:40%}.skeleton.block{height:6rem;border-radius:var(--radius-lg)}.skeleton.short{width:55%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.portal-page{min-height:100vh;background:var(--c-bg);color:var(--c-text);padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))}.portal-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-3);background:var(--c-sidebar-bg);color:var(--c-sidebar-text);padding:var(--space-3) var(--space-4)}.portal-practice{margin:0 auto 0 0;font-size:var(--font-size-lg);color:var(--c-sidebar-text);overflow-wrap:anywhere}.portal-link-button{min-height:2.25rem;background:transparent;border:1px solid var(--c-sidebar-border);color:var(--c-sidebar-text);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.portal-link-button:hover{background:var(--c-sidebar-hover)}.portal-header :focus-visible{outline-color:var(--c-sidebar-eyebrow)}.portal-main{max-width:44rem;margin:0 auto;padding:var(--space-4);min-width:0}.portal-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:var(--c-surface);border-top:1px solid var(--c-border);padding-bottom:env(safe-area-inset-bottom,0px)}.portal-nav-link{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;min-height:var(--touch-target);padding:var(--space-3) var(--space-1);font-size:var(--font-size-xs);text-align:center;color:var(--c-text-secondary);text-decoration:none;border-top:2px solid transparent;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.portal-nav-link:hover{color:var(--c-text-strong);background:var(--c-surface-muted)}.portal-nav-link.router-link-active{color:var(--c-link);font-weight:var(--font-weight-semibold);border-top-color:var(--c-accent)}@media (min-width: 640px){.portal-page{display:flex;flex-direction:column;padding-bottom:var(--space-8)}.portal-header{flex:none}.portal-nav{position:static;max-width:44rem;margin:var(--space-4) auto 0;order:-1;border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden}.portal-nav-link{font-size:var(--font-size-sm)}}.portal-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-xs);min-width:0}.portal-card h2,.portal-card h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg);color:var(--c-text-strong)}.portal-card p{margin:var(--space-1) 0;overflow-wrap:anywhere}.portal-muted{color:var(--c-text-muted);font-size:var(--font-size-sm)}.portal-error{color:var(--c-danger-text)}.portal-success{color:var(--c-success-text)}.portal-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);background:var(--c-primary);color:var(--c-primary-contrast);border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-2) var(--space-5);cursor:pointer;text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:background-color var(--duration-fast) var(--ease-standard)}.portal-button:hover{background:var(--c-primary-hover);color:var(--c-primary-contrast)}.portal-button:disabled{opacity:.55;cursor:not-allowed}.portal-button.secondary{background:var(--c-surface);color:var(--c-text-strong);border-color:var(--c-border-strong)}.portal-button.secondary:hover{background:var(--c-surface-muted);color:var(--c-text-strong)}.portal-badge{display:inline-block;border-radius:var(--radius-full);padding:.1rem var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--c-surface-muted);color:var(--c-text-secondary);box-shadow:inset 0 0 0 1px var(--c-border)}.portal-badge.good{background:var(--c-success-subtle);color:var(--c-success-text);box-shadow:none}.portal-badge.warn{background:var(--c-warning-subtle);color:var(--c-warning-text);box-shadow:none}.portal-badge.bad{background:var(--c-danger-subtle);color:var(--c-danger-text);box-shadow:none}.portal-notice{background:var(--c-primary-subtle);border:1px solid var(--c-border);border-left:3px solid var(--c-accent);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);white-space:pre-line}.portal-input{width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--c-input-border);border-radius:var(--radius-md);background:var(--c-input-bg);color:var(--c-text-strong);font-size:var(--font-size-base)}
