@font-face{font-family:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.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:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Space_Grotesk_Fallback_dd5b2f;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_dd5b2f{font-family:__Space_Grotesk_dd5b2f,__Space_Grotesk_Fallback_dd5b2f;font-style:normal}.__variable_dd5b2f{--font-heading-src:"__Space_Grotesk_dd5b2f","__Space_Grotesk_Fallback_dd5b2f"}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,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:__IBM_Plex_Mono_Fallback_595324;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:__IBM_Plex_Mono_595324,__IBM_Plex_Mono_Fallback_595324;font-style:normal}.__variable_595324{--font-body-src:"__IBM_Plex_Mono_595324","__IBM_Plex_Mono_Fallback_595324"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.running{animation-play-state:running}:root{--bg:#f4f8f9;--bg-grid:rgba(65,194,210,.06);--surface:#fff;--surface-muted:#f4fafb;--sidebar-bg:#000;--sidebar-bg-soft:#141414;--sidebar-ink:#f2fafb;--sidebar-ink-soft:#93b3b8;--ink:#0a0f10;--ink-soft:#4d5a5c;--ink-faint:#869295;--line:#e2eced;--line-strong:#cfdfe1;--brand:#41c2d2;--brand-light:#6fd3df;--brand-strong:#2a8f9e;--brand-soft:#e3f7f9;--success:#15814b;--success-soft:#e6f5ec;--warning:#9a6a12;--warning-soft:#fbf1dc;--danger:#c0322f;--danger-soft:#fbe9e8;--info:#1d6fb8;--info-soft:#e6f1fb;--radius:12px;--radius-lg:16px;--radius-xl:22px;--shadow-sm:0 1px 2px rgba(16,23,40,.06),0 1px 3px rgba(16,23,40,.05);--shadow:0 6px 18px rgba(16,23,40,.07);--shadow-lg:0 18px 44px rgba(16,23,40,.12);--font-heading:var(--font-heading-src),"Space Grotesk","Avenir Next",system-ui,sans-serif;--font-body:var(--font-body-src),"Inter",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono","SFMono-Regular",monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);background-size:28px 28px}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--ink)}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem 1rem;background:linear-gradient(185deg,var(--sidebar-bg-soft),var(--sidebar-bg));color:var(--sidebar-ink);border-right:1px solid hsla(0,0%,100%,.06)}.sidebar-brand{display:flex;align-items:center;gap:.7rem;padding:.4rem .5rem .9rem;border-bottom:1px solid hsla(0,0%,100%,.08)}.sidebar-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(150deg,var(--brand),var(--brand-light));color:#fff;box-shadow:0 8px 18px rgba(65,194,210,.4);flex-shrink:0}.sidebar-brand-text strong{display:block;font-family:var(--font-heading);font-size:.95rem;line-height:1.1;color:#fff}.sidebar-brand-text span{font-size:.72rem;color:var(--sidebar-ink-soft)}.sidebar-section-label{padding:0 .6rem;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sidebar-ink-soft)}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.sidebar-link{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:10px;color:var(--sidebar-ink-soft);font-weight:500;font-size:.86rem;transition:background .12s ease,color .12s ease;cursor:pointer}.sidebar-link:hover{background:hsla(0,0%,100%,.06);color:var(--sidebar-ink)}.sidebar-link.active{background:linear-gradient(120deg,rgba(65,194,210,.95),rgba(111,211,223,.9));color:#fff;box-shadow:0 8px 18px rgba(65,194,210,.32)}.sidebar-link svg{width:18px;height:18px;flex-shrink:0}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:.6rem}.sidebar-user{display:flex;align-items:center;gap:.6rem;padding:.6rem;border-radius:12px;background:hsla(0,0%,100%,.05)}.sidebar-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:hsla(0,0%,100%,.12);color:#fff;font-weight:600;font-size:.8rem;flex-shrink:0}.sidebar-user-meta{min-width:0}.sidebar-user-meta strong{display:block;font-size:.8rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-meta span{font-size:.7rem;color:var(--sidebar-ink-soft)}.main-area{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;justify-content:space-between;gap:1rem;padding:.85rem 1.6rem;background:hsla(0,0%,100%,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar,.topbar-left{display:flex;align-items:center}.topbar-left{gap:.8rem;min-width:0}.topbar-title h1{margin:0;font-size:1.18rem}.topbar-title p{margin:.1rem 0 0;font-size:.8rem;color:var(--ink-soft)}.topbar-actions{display:flex;align-items:center;gap:.6rem}.icon-button{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:border-color .12s ease,color .12s ease}.icon-button:hover{border-color:var(--line-strong);color:var(--ink)}.topbar-menu-btn{display:grid}.page-body{padding:1.6rem;display:flex;flex-direction:column;gap:1.3rem;max-width:1320px;width:100%}.page-intro h2{margin:0;font-size:1.4rem}.page-intro p{margin:.3rem 0 0;color:var(--ink-soft);max-width:70ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:1.1rem 1.2rem}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.05rem 1.2rem;border-bottom:1px solid var(--line)}.card-header h3{margin:0;font-size:1rem}.card-header p{margin:.2rem 0 0;font-size:.8rem;color:var(--ink-soft)}.stat-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{position:relative;overflow:hidden;padding:1.1rem 1.2rem}.stat-card .stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;margin-bottom:.8rem}.stat-icon.indigo{background:var(--brand-soft);color:var(--brand)}.stat-icon.green{background:var(--success-soft);color:var(--success)}.stat-icon.amber{background:var(--warning-soft);color:var(--warning)}.stat-icon.blue{background:var(--info-soft);color:var(--info)}.stat-card .stat-label{display:block;font-size:.78rem;color:var(--ink-soft)}.stat-card .stat-value{display:block;margin-top:.15rem;font-family:var(--font-heading);font-size:1.85rem;line-height:1.1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:10px;border:1px solid transparent;padding:.55rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform 80ms ease,background .12s ease,border-color .12s ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn-primary{background:linear-gradient(120deg,var(--brand),var(--brand-light));color:#fff;box-shadow:0 8px 18px rgba(65,194,210,.26)}.btn-primary:hover:not(:disabled){background:linear-gradient(120deg,var(--brand-strong),#37b0c0)}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-ghost:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-muted)}.btn-success{background:var(--success-soft);color:var(--success);border-color:rgba(21,129,75,.2)}.btn-success:hover:not(:disabled){background:#d8efe0}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:rgba(192,50,47,.2)}.btn-danger:hover:not(:disabled){background:#f7dcda}.btn-sm{padding:.4rem .65rem;font-size:.8rem}.btn-block{width:100%}.field{display:grid;gap:.35rem}.field-label{font-size:.8rem;font-weight:500;color:var(--ink-soft)}.input,.select,.textarea{width:100%;border-radius:10px;border:1px solid var(--line);background:var(--surface);padding:.55rem .7rem;font-size:.86rem;color:var(--ink);font-family:inherit;transition:border-color .12s ease,box-shadow .12s ease}.textarea{resize:vertical;min-height:64px}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--ink-faint)}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input-icon{position:relative}.input-icon svg{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-faint)}.input-icon .input{padding-left:2.1rem}.form-grid,.form-row{display:grid;gap:.8rem}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:.22rem .5rem;border-radius:999px;border:1px solid transparent}.badge-neutral{background:var(--surface-muted);color:var(--ink-soft);border-color:var(--line)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-brand{background:var(--brand-soft);color:var(--brand)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;padding:.7rem 1.2rem;background:var(--surface-muted);white-space:nowrap}.data-table td,.data-table th{border-bottom:1px solid var(--line)}.data-table td{padding:.8rem 1.2rem;font-size:.86rem;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .1s ease}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:var(--surface-muted)}.data-table tr.selected{background:var(--brand-soft)}.cell-strong{font-weight:600;color:var(--ink)}.cell-sub{display:block;font-size:.76rem;color:var(--ink-faint);margin-top:.1rem}.cell-mono{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-soft)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.toolbar .input-icon{flex:1;min-width:220px}.toolbar .select{width:auto;min-width:150px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.85rem 1.2rem;border-top:1px solid var(--line)}.pagination span{font-size:.78rem;color:var(--ink-soft)}.pagination-buttons{display:flex;gap:.4rem}.grid-2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.grid-2,.grid-ops{display:grid;gap:1.3rem;align-items:start}.grid-ops{grid-template-columns:minmax(260px,.85fr) minmax(0,2fr)}.stack{gap:1rem}.stack,.stack-sm{display:flex;flex-direction:column}.stack-sm{gap:.6rem}.row-between{justify-content:space-between;gap:.8rem}.row-between,.row-wrap{display:flex;align-items:center}.row-wrap{flex-wrap:wrap;gap:.5rem}.list-scroll{gap:.55rem;padding:.9rem;max-height:70vh;overflow-y:auto}.list-item,.list-scroll{display:flex;flex-direction:column}.list-item{align-items:stretch;gap:.2rem;width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:.75rem .85rem;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform 80ms ease}.list-item:hover{border-color:var(--line-strong);transform:translateY(-1px)}.list-item.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow-sm)}.list-item-title{font-weight:600;color:var(--ink)}.list-item-meta{font-size:.76rem;color:var(--ink-faint)}.action-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:1rem;box-shadow:var(--shadow-sm)}.action-card-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.7rem}.action-card .field+.field{margin-top:.6rem}.action-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.85rem}.action-card-foot .clickup-tag{margin-left:auto;font-size:.74rem;color:var(--ink-faint)}.checkbox-row{display:inline-flex;gap:.45rem;font-size:.8rem;cursor:pointer}.checkbox-row,.empty-state{align-items:center;color:var(--ink-soft)}.empty-state{display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:2.4rem 1.2rem;text-align:center}.empty-state .empty-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--surface-muted);color:var(--ink-faint)}.empty-state strong{color:var(--ink)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--brand);animation:spin .7s linear infinite}.spinner-lg{width:30px;height:30px;border-width:3px}.loading-row{display:flex;align-items:center;gap:.6rem;padding:1.4rem;color:var(--ink-soft);font-size:.85rem}@keyframes spin{to{transform:rotate(1turn)}}.toast-viewport{position:fixed;bottom:1.2rem;right:1.2rem;z-index:100;display:flex;flex-direction:column;gap:.6rem;width:min(360px,calc(100vw - 2rem))}.toast{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem .9rem;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:toast-in .16s ease}.toast-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;flex-shrink:0}.toast.success .toast-icon{background:var(--success-soft);color:var(--success)}.toast.error .toast-icon{background:var(--danger-soft);color:var(--danger)}.toast-body{min-width:0}.toast-body strong{display:block;font-size:.85rem}.toast-body span{font-size:.8rem;color:var(--ink-soft)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-aside{position:relative;overflow:hidden;padding:clamp(2rem,4vw,3.6rem);display:flex;flex-direction:column;justify-content:space-between;color:#eefcfd;background:radial-gradient(circle at 80% 12%,rgba(111,211,223,.45),transparent 42%),radial-gradient(circle at 12% 88%,rgba(65,194,210,.3),transparent 40%),linear-gradient(160deg,#000,#141414 70%)}.login-aside-brand{display:flex;align-items:center;gap:.7rem;font-family:var(--font-heading);font-weight:600;color:#fff}.login-aside-brand .sidebar-brand-mark{width:34px;height:34px;border-radius:10px}.login-aside-main h1{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.08;color:#fff;margin:0 0 .8rem}.login-aside-main p{font-size:1rem;color:rgba(225,230,250,.8);max-width:44ch;margin:0}.login-feature-list{display:grid;gap:.7rem;margin-top:1.6rem}.login-feature{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:rgba(228,233,252,.92)}.login-feature .login-feature-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:hsla(0,0%,100%,.12);color:#c7d2fe;flex-shrink:0}.login-aside-foot{font-size:.78rem;color:rgba(206,213,240,.6)}.login-main{display:grid;place-items:center;padding:2rem;background:var(--bg)}.login-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:clamp(1.4rem,3vw,2rem)}.login-card-head{margin-bottom:1.3rem}.login-card-head h2{margin:0;font-size:1.5rem}.login-card-head p{margin:.35rem 0 0;color:var(--ink-soft);font-size:.88rem}.login-form{display:grid;gap:.9rem}.login-hint{margin-top:1.1rem;padding:.7rem .8rem;border-radius:10px;background:var(--surface-muted);border:1px dashed var(--line-strong);font-size:.76rem;color:var(--ink-soft)}.login-hint code{font-family:var(--font-mono);color:var(--ink)}.alert{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem .85rem;border-radius:10px;font-size:.84rem}.alert svg{width:17px;height:17px;flex-shrink:0;margin-top:1px}.alert-success{background:var(--success-soft);color:var(--success)}.alert-error{background:var(--danger-soft);color:var(--danger)}.full-loader{min-height:100vh;display:grid;place-items:center}.full-loader .inner{display:flex;flex-direction:column;align-items:center;gap:.8rem;color:var(--ink-soft)}@media (max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:60;width:264px;transform:translateX(-100%);transition:transform .2s ease}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:50;background:rgba(15,23,42,.5);border:none;cursor:pointer}.grid-2,.grid-ops{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1081px){.sidebar-backdrop,.topbar-menu-btn{display:none}}@media (max-width:720px){.login-shell{grid-template-columns:1fr}.login-aside{display:none}.form-row,.stat-grid{grid-template-columns:1fr}.page-body{padding:1.1rem}}.ops-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}.date-nav{display:inline-flex;align-items:center;gap:.5rem}.date-nav .date-label{min-width:12.5rem;text-align:center;font-weight:600;color:var(--ink)}.date-nav .date-sub{display:block;font-size:.72rem;font-weight:500;color:var(--ink-faint)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:background .15s,border-color .15s}.icon-btn:hover{background:var(--surface-muted);border-color:var(--line-strong)}.meeting-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1rem}.meeting-card{display:flex;flex-direction:column;gap:.85rem;padding:1.1rem 1.15rem;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .05s}.meeting-card:hover{border-color:var(--brand);box-shadow:var(--shadow)}.meeting-card:active{transform:translateY(1px)}.meeting-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.meeting-card-title{margin:0;font-size:.98rem;font-weight:600;color:var(--ink);line-height:1.3}.meeting-card-time{margin:.2rem 0 0;font-size:.78rem;color:var(--ink-soft)}.meeting-card-meta{display:flex;flex-wrap:wrap;gap:.45rem 1.1rem;font-size:.8rem;color:var(--ink-soft)}.meeting-card-foot .meta-row,.meeting-card-meta .meta-row{display:inline-flex;align-items:center;gap:.4rem}.meeting-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--ink-soft)}.cal-event-card{cursor:default}.cal-event-card:active{transform:none}.cal-day{margin-bottom:1.5rem}.cal-day-heading{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .7rem;font-size:.9rem;font-weight:600;color:var(--ink)}.cal-day-relative{font-size:.74rem;font-weight:600;color:var(--brand);text-transform:uppercase;letter-spacing:.04em}.cal-warning{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.6rem .85rem;font-size:.8rem;color:var(--warning,#92400e);background:var(--warning-soft,#fef3c7);border:1px solid var(--line);border-radius:var(--radius-lg)}.cal-attendees{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.cal-attendee{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:.62rem;font-weight:700;letter-spacing:.02em}.cal-attendee-dot{position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--surface);background:var(--ink-faint)}.cal-attendee-dot.accepted{background:#16a34a}.cal-attendee-dot.tentative{background:#d97706}.cal-attendee-dot.declined{background:#dc2626}.cal-attendee-more{font-size:.72rem;font-weight:600;color:var(--ink-soft)}.calv-period{min-width:10rem;font-size:.86rem;font-weight:600;color:var(--ink);text-align:center}.calv-week{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.calv-allday,.calv-week-body,.calv-week-head{display:grid;grid-template-columns:56px repeat(7,1fr)}.calv-week-head{border-bottom:1px solid var(--line)}.calv-gutter-head{font-size:.66rem;color:var(--ink-faint);display:flex;align-items:center;justify-content:center;padding:.3rem .2rem}.calv-day-head{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .25rem;border-left:1px solid var(--line)}.calv-day-name{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.calv-day-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:.9rem;font-weight:600;color:var(--ink)}.calv-day-head.is-today .calv-day-num{background:var(--brand);color:#fff}.calv-day-head.is-today .calv-day-name{color:var(--brand)}.calv-allday{border-bottom:1px solid var(--line)}.calv-allday-cell{display:flex;flex-direction:column;gap:2px;padding:2px;border-left:1px solid var(--line);min-height:24px}.calv-allday-chip{display:block;padding:1px 6px;font-size:.7rem;font-weight:600;color:#fff;background:var(--brand);border:none;border-radius:4px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.calv-week-scroll{overflow-y:auto;max-height:calc(100vh - 300px);min-height:320px}.calv-gutter,.calv-week-body{position:relative}.calv-hour-label{position:absolute;right:6px;transform:translateY(-50%);font-size:.64rem;color:var(--ink-faint)}.calv-daycol{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,var(--line) 47px,var(--line) 48px)}.calv-daycol.is-today{background-color:var(--brand-soft)}.calv-event{position:absolute;display:flex;flex-direction:column;gap:1px;padding:2px 6px;font-size:.7rem;text-align:left;color:var(--brand);background:var(--brand-soft);border:1px solid var(--surface);border-left:3px solid var(--brand);border-radius:4px;overflow:hidden;cursor:pointer;z-index:1}.calv-event:hover{filter:brightness(.96);z-index:2}.calv-event-title{flex:none;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calv-event-time{font-size:.64rem;opacity:.85}.calv-now{left:0;right:0;height:2px;z-index:3;pointer-events:none}.calv-now,.calv-now:before{position:absolute;background:#dc2626}.calv-now:before{content:"";left:-4px;top:-3px;width:8px;height:8px;border-radius:50%}.calv-month{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.calv-month-head{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line)}.calv-month-head span{padding:.45rem .5rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);text-align:center}.calv-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(96px,1fr)}.calv-cell{display:flex;flex-direction:column;gap:2px;padding:4px;border-left:1px solid var(--line);border-top:1px solid var(--line);min-width:0}.calv-cell:nth-child(7n+1){border-left:none}.calv-cell:nth-child(-n+7){border-top:none}.calv-cell.is-outside{background:var(--surface-muted,rgba(148,163,184,.08))}.calv-cell.is-outside .calv-cell-date{color:var(--ink-faint)}.calv-cell-date{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:none;background:transparent;font-size:.78rem;font-weight:600;color:var(--ink);cursor:pointer}.calv-cell-date:hover{background:var(--brand-soft)}.calv-cell-date.is-today{background:var(--brand);color:#fff}.calv-chip{display:flex;align-items:center;gap:4px;padding:1px 4px;font-size:.68rem;border:none;border-radius:4px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;min-width:0}.calv-chip:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--brand)}.calv-chip:hover{background:var(--brand-soft)}.calv-chip.is-allday{background:var(--brand);color:#fff;font-weight:600}.calv-chip.is-allday:before{display:none}.calv-chip-time{flex:none;color:var(--ink-soft)}.calv-chip-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calv-more{align-self:flex-start;padding:1px 4px;font-size:.66rem;font-weight:600;color:var(--ink-soft);background:transparent;border:none;border-radius:4px;cursor:pointer}.calv-more:hover{background:var(--brand-soft);color:var(--brand)}.calv-daymodal-overlay{position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:1rem;animation:drawer-fade .15s ease-out}.calv-daymodal{width:min(22.5rem,100%);max-height:min(70vh,32rem);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:cmodal-pop .16s ease-out}.calv-daymodal-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.85rem 1rem .6rem;border-bottom:1px solid var(--line)}.calv-daymodal-head h3{margin:0;font-size:.92rem}.calv-daymodal-body{display:flex;flex-direction:column;gap:2px;padding:.6rem .75rem .85rem;overflow-y:auto}.calv-daymodal-body .calv-chip{font-size:.78rem;padding:5px 7px;border-radius:6px}.calv-daymodal-empty{margin:0;padding:.35rem .25rem;font-size:.82rem;color:var(--ink-soft)}.calv-pop{z-index:80;width:320px;max-width:calc(100vw - 16px);padding:.9rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.calv-pop-head{display:flex;align-items:flex-start;gap:.6rem}.calv-pop-bar{flex:none;width:4px;align-self:stretch;border-radius:2px;background:var(--brand)}.calv-pop-headings{flex:1;min-width:0}.calv-pop-title{margin:0;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.3}.calv-pop-when{margin:.2rem 0 0;font-size:.76rem;color:var(--ink-soft)}.calv-pop-close{flex:none}.calv-pop-meta{display:flex;align-items:center;gap:.4rem;margin-top:.7rem;font-size:.8rem;color:var(--ink-soft)}.calv-pop-attendees{margin:.6rem 0 0;padding:0;list-style:none;max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.calv-pop-attendees li{display:flex;align-items:center;gap:.45rem;font-size:.78rem;min-width:0}.cal-attendee-dot.is-inline{position:static;flex:none;border:none;width:7px;height:7px}.calv-pop-attendee-name{flex:1;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calv-pop-attendee-status{flex:none;font-size:.7rem;color:var(--ink-faint)}.calv-pop-foot{margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--line)}.drawer-overlay{position:fixed;inset:0;z-index:60;background:rgba(15,23,42,.45);display:flex;justify-content:flex-end;animation:drawer-fade .18s ease-out}.drawer-panel{width:min(64rem,96vw);height:100%;background:var(--bg);border-left:1px solid var(--line-strong);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:drawer-slide .22s ease-out}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;background:var(--surface);border-bottom:1px solid var(--line)}.drawer-header-text h3{margin:0;font-size:1.05rem}.drawer-header-text p{margin:.25rem 0 0;font-size:.8rem;color:var(--ink-soft)}.drawer-header-actions{display:inline-flex;align-items:center;gap:.5rem}.drawer-body{flex:1;overflow:auto;padding:1.2rem 1.3rem}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide{0%{transform:translateX(2rem);opacity:.4}to{transform:translateX(0);opacity:1}}.ai-table .cell-input,.ai-table .cell-select{width:100%;min-width:7rem;padding:.4rem .5rem;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.ai-table .cell-input:disabled,.ai-table .cell-select:disabled{background:var(--surface-muted);color:var(--ink-soft);cursor:not-allowed}.ai-table .cell-textarea{margin-top:.35rem;resize:vertical;line-height:1.35}.ai-table td .row-actions{display:inline-flex;gap:.35rem;white-space:nowrap}.ai-table .title-cell{min-width:16rem}.link-btn{border:none;background:none;padding:0;font:inherit;color:var(--brand);cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.seg-toggle{gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--surface-muted)}.seg-toggle,.seg-toggle button{display:inline-flex;align-items:center}.seg-toggle button{gap:.4rem;padding:.35rem .9rem;font-size:.82rem;font-weight:500;color:var(--ink-soft);background:transparent;border:none;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.seg-toggle button:hover{color:var(--ink)}.seg-toggle button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.seg-toggle button.is-active{background:var(--surface);color:var(--brand-strong);font-weight:600;box-shadow:var(--shadow-sm)}@media (max-width:720px){.drawer-panel{width:100vw}}.page-stack{display:flex;flex-direction:column;gap:1.25rem}.card-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.breadcrumb{margin-bottom:.35rem}.breadcrumb-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:500;color:var(--ink-faint);text-decoration:none;transition:color .15s}.breadcrumb-link:hover{color:var(--brand)}.space-create-form{display:flex;gap:.6rem;flex-wrap:wrap;padding:.85rem;margin-bottom:1rem;background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius)}.space-create-form .input{flex:1;min-width:200px}.space-grid{margin-top:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem}.space-card{position:relative;display:flex;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .18s,box-shadow .18s,transform .18s}.space-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--brand),var(--brand-light));opacity:0;transition:opacity .18s}.space-card:hover{border-color:rgba(65,194,210,.45);box-shadow:0 10px 26px rgba(42,143,158,.12);transform:translateY(-2px)}.space-card:hover:before{opacity:1}.space-card-main{flex:1;display:flex;align-items:flex-start;gap:.75rem;padding:1rem 2.3rem 1rem 1rem;color:inherit;text-decoration:none;min-width:0}.space-card-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:11px;background:linear-gradient(140deg,var(--brand-soft),#eafcfd);border:1px solid rgba(65,194,210,.14);color:var(--brand);transition:transform .18s,box-shadow .18s}.space-card:hover .space-card-icon{transform:scale(1.06);box-shadow:0 6px 14px rgba(65,194,210,.22)}.space-card-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.space-card-meta strong{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-card-meta>span{font-size:.76rem;color:var(--ink-faint)}.space-card-description{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.space-card-arrow{margin-left:auto;color:var(--ink-faint);flex-shrink:0;transition:transform .18s,color .18s}.space-card:hover .space-card-arrow{color:var(--brand);transform:translate(2px,-2px)}.space-card-delete{position:absolute;right:.5rem;bottom:.5rem;opacity:0;transition:opacity .15s,color .15s,background .15s}.space-card-delete:focus-visible,.space-card:hover .space-card-delete{opacity:1}.space-card-delete:hover{color:var(--danger);background:var(--danger-soft)}.kanban-page{overflow:hidden}.kanban-board{display:flex;align-items:flex-start;gap:.9rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x proximity}.kanban-column{--stage-color:var(--ink-faint);display:flex;flex-direction:column;width:300px;max-height:calc(100vh - 240px);flex-shrink:0;scroll-snap-align:start;background:linear-gradient(180deg,rgba(247,249,252,.9),var(--surface-muted));border:1px solid var(--line);border-top:3px solid var(--stage-color);border-radius:var(--radius-lg);padding:.65rem;transition:border-color .15s,background .15s,box-shadow .15s}.kanban-column.drop-target{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand),0 6px 18px rgba(42,143,158,.14)}.kanban-column-head{display:flex;align-items:center;gap:.45rem;padding:.15rem .25rem .55rem}.kanban-column-head strong{font-size:.85rem}.kanban-column-dot{width:9px;height:9px;border-radius:50%;background:var(--stage-color,var(--ink-faint));box-shadow:0 0 0 3px color-mix(in srgb,var(--stage-color,var(--ink-faint)) 18%,transparent);flex-shrink:0}.kanban-column-count{font-size:.72rem;font-weight:600;color:var(--ink-faint);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.05rem .45rem}.kanban-column-actions{margin-left:auto;display:inline-flex;gap:.15rem;opacity:0;transition:opacity .15s}.kanban-column:hover .kanban-column-actions{opacity:1}.kanban-column-rename{flex:1}.kanban-column-rename .input{padding:.3rem .5rem;font-size:.85rem}.kanban-column-body{display:flex;flex-direction:column;gap:.55rem;min-height:40px;padding-bottom:.35rem;overflow-y:auto;scrollbar-width:thin}.kanban-column-empty{display:grid;place-items:center;padding:1rem .5rem;font-size:.76rem;color:var(--ink-faint);border:1px dashed var(--line-strong);border-radius:var(--radius);background:hsla(0,0%,100%,.5)}.kanban-card{position:relative;background:var(--surface);border:1px solid var(--line);border-left:3px solid transparent;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.7rem .8rem;cursor:grab;transition:border-color .15s,box-shadow .15s,transform .15s}.kanban-card--low{border-left-color:var(--line-strong)}.kanban-card--medium{border-left-color:var(--info)}.kanban-card--high{border-left-color:var(--warning)}.kanban-card--urgent{border-left-color:var(--danger)}.kanban-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.kanban-card--low:hover{border-left-color:var(--line-strong)}.kanban-card--medium:hover{border-left-color:var(--info)}.kanban-card--high:hover{border-left-color:var(--warning)}.kanban-card--urgent:hover{border-left-color:var(--danger)}.kanban-card.dragging{opacity:.35}.kanban-card.drag-overlay{box-shadow:var(--shadow-lg);border-color:var(--brand);cursor:grabbing;transform:rotate(2deg) scale(1.03)}.kanban-card-title{margin:0 0 .5rem;font-size:.85rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.kanban-card-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.kanban-card-due{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--ink-faint)}.kanban-card-due.overdue{color:var(--danger);font-weight:600}.kanban-card-avatar{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:.62rem;font-weight:700;letter-spacing:.02em}.kanban-add-button{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .55rem;font-size:.8rem;font-weight:500;color:var(--ink-faint);background:transparent;border:1px dashed var(--line-strong);border-radius:var(--radius);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.kanban-add-button:hover{color:var(--brand);border-color:var(--brand);background:var(--surface)}.kanban-add-form{display:flex;flex-direction:column;gap:.45rem}.kanban-add-form .input{padding:.45rem .6rem;font-size:.83rem}.kanban-add-actions{display:flex;gap:.35rem}.kanban-add-stage{display:flex;align-items:center;gap:.4rem}.kanban-add-stage .input{width:170px;padding:.4rem .6rem;font-size:.83rem}.kanban-drawer-hint{margin:0;font-size:.78rem;color:var(--ink-faint);background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .65rem}.login-google{margin-bottom:1rem}.login-google,.login-google-button{display:flex;justify-content:center}.login-google-button{min-height:44px}.login-google-loading{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-soft);min-height:44px}.login-divider{display:flex;justify-content:center;margin-bottom:.75rem}.conversation-context{margin:.4rem 0 0;padding:.6rem .75rem;background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);font-size:.78rem;line-height:1.5;color:var(--ink-soft);white-space:pre-wrap;word-break:break-word;max-height:14rem;overflow-y:auto}.context-toggle{margin-top:.3rem;font-size:.74rem}.context-row td{background:var(--surface-muted);padding:.35rem .75rem .75rem}.prediction-hint{display:flex;align-items:center;gap:.3rem;margin-top:.3rem;font-size:.7rem;color:var(--ink-faint)}.cell-select-stacked{margin-top:.3rem}.bulk-project-select{flex:0 0 auto;width:13rem}.space-card-suggestions{display:inline-flex;align-items:center;gap:.3rem;margin-top:.35rem;width:-moz-fit-content;width:fit-content}.suggestion-card{border:1px solid var(--brand-soft)}.suggestion-title{display:inline-flex;align-items:center;gap:.4rem}.suggestion-list{display:flex;flex-direction:column;gap:.75rem}.suggestion-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.suggestion-item-body{min-width:0;flex:1}.suggestion-item-body p{margin:.3rem 0 0;font-size:.82rem;color:var(--ink-soft)}.suggestion-item-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.suggestion-item-meta{margin-top:.35rem;font-size:.74rem;color:var(--ink-faint)}.suggestion-item-actions{display:flex;flex-direction:column;gap:.4rem;flex-shrink:0}.suggestion-banner{display:flex;align-items:center;gap:.45rem;margin-bottom:.9rem;padding:.55rem .85rem;background:var(--brand-soft);color:var(--brand);border:1px solid var(--brand-soft);border-radius:var(--radius);font-size:.8rem;font-weight:500;text-decoration:none}.suggestion-banner:hover{border-color:var(--brand)}.timer-footer{position:sticky;bottom:0;z-index:30;display:flex;align-items:center;gap:.85rem;margin-top:auto;padding:.6rem 1.6rem;background:hsla(0,0%,100%,.92);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.timer-footer-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--brand-soft);color:var(--brand);flex-shrink:0}.timer-footer-meta{display:flex;flex-direction:column;min-width:0;flex:1}.timer-footer-task{font-size:.85rem;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer-footer-task:hover{color:var(--brand)}.timer-footer-space{font-size:.72rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer-footer-elapsed{font-variant-numeric:tabular-nums;font-weight:600;font-size:.95rem;color:var(--ink);flex-shrink:0}.row-gap{display:flex;align-items:center;gap:.5rem}.icon-button-sm{width:28px;height:28px;border-radius:8px}.timelog-summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.timelog-total{font-size:.82rem;color:var(--ink-soft)}.timelog-total strong{color:var(--ink);font-variant-numeric:tabular-nums}.timelog-list{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.timelog-item{display:flex;align-items:center;gap:.6rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:8px;font-size:.78rem}.timelog-item-date{color:var(--ink-soft);flex-shrink:0}.timelog-item-duration{font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}.timelog-item-user{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-soft)}.timelog-badge{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .4rem;border-radius:999px;background:var(--brand-soft);color:var(--brand);flex-shrink:0}.timelog-badge-running{background:#dcfce7;color:#15803d}.timelog-form-row{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}.timelog-form-row .form-field{flex:1;min-width:120px}.timesheet-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.timesheet-period-label{font-weight:600;font-size:.9rem;min-width:200px;text-align:center}.timesheet-table{width:100%;border-collapse:collapse;font-size:.82rem}.timesheet-table td,.timesheet-table th{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--line)}.timesheet-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.timesheet-table td.num,.timesheet-table th.num{text-align:right;font-variant-numeric:tabular-nums}.timesheet-day-row td{background:var(--surface-muted,#f8fafc);font-weight:600}.timesheet-total-row td{font-weight:700;border-top:2px solid var(--line-strong)}@media print{.no-print,.sidebar,.timer-footer,.timesheet-controls,.topbar{display:none!important}.page-body{padding:0;max-width:none}}.csel{position:relative;min-width:0}.csel-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-width:9rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);padding:.55rem .7rem;font-size:.86rem;color:var(--ink);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.csel-trigger:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.csel-trigger:disabled{background:var(--surface-muted);color:var(--ink-soft);cursor:not-allowed}.csel-placeholder,.csel-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csel-caret,.csel-placeholder{color:var(--ink-faint)}.csel-caret{flex-shrink:0;transition:transform .14s ease}.csel-caret.is-open{transform:rotate(180deg)}.csel-menu{z-index:90;display:flex;flex-direction:column;max-height:300px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden;animation:drawer-fade .12s ease-out}.csel-search{display:flex;align-items:center;gap:.45rem;padding:.5rem .65rem;border-bottom:1px solid var(--line);color:var(--ink-faint)}.csel-search input{flex:1;border:none;outline:none;background:transparent;font:inherit;font-size:.84rem;color:var(--ink)}.csel-search input::-moz-placeholder{color:var(--ink-faint)}.csel-search input::placeholder{color:var(--ink-faint)}.csel-list{margin:0;padding:.3rem;list-style:none;overflow-y:auto}.csel-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;border-radius:8px;font-size:.85rem;cursor:pointer;color:var(--ink)}.csel-option.is-active{background:var(--surface-muted)}.csel-option.is-selected{color:var(--brand-strong);font-weight:600}.csel-option.is-disabled{color:var(--ink-faint);cursor:not-allowed}.csel-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csel-empty{padding:.6rem;font-size:.82rem;color:var(--ink-faint);text-align:center}.cdp,.ctp{position:relative;min-width:0}.cdp-trigger{display:inline-flex;align-items:center;gap:.5rem;width:100%;min-width:9rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);padding:.55rem .7rem;font-size:.86rem;color:var(--ink);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.cdp-trigger svg{flex-shrink:0;color:var(--ink-faint)}.cdp-trigger:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.cdp-trigger:disabled{background:var(--surface-muted);color:var(--ink-soft);cursor:not-allowed}.cdp-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdp-placeholder{color:var(--ink-faint)}.ops-date-picker{width:11rem}.cdp-popover{z-index:90;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);padding:.75rem;animation:drawer-fade .12s ease-out}.cdp-cal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.cdp-cal-header strong{font-size:.86rem;font-family:var(--font-heading)}.cdp-nav{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer}.cdp-nav:hover{background:var(--surface-muted)}.cdp-grid{display:grid;grid-template-columns:repeat(7,2rem);gap:2px}.cdp-weekday{height:1.6rem;font-size:.68rem;font-weight:600;color:var(--ink-faint);text-transform:uppercase}.cdp-day,.cdp-weekday{display:inline-flex;align-items:center;justify-content:center}.cdp-day{width:2rem;height:2rem;border:none;border-radius:8px;background:transparent;font-size:.8rem;color:var(--ink);cursor:pointer}.cdp-day:hover{background:var(--surface-muted)}.cdp-day.is-outside{color:var(--ink-faint)}.cdp-day.is-today{box-shadow:inset 0 0 0 1px var(--brand)}.cdp-day.is-selected{background:var(--brand);color:#fff;font-weight:600}.cdp-footer{margin-top:.5rem;display:flex;justify-content:flex-end}.cdp-today-btn{border:none;background:transparent;color:var(--brand-strong);font-size:.78rem;font-weight:600;cursor:pointer;padding:.25rem .4rem;border-radius:6px}.cdp-today-btn:hover{background:var(--brand-soft)}.ctp-popover{z-index:90;width:8.5rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden;animation:drawer-fade .12s ease-out}.ctp-list{margin:0;padding:.3rem;list-style:none;max-height:240px;overflow-y:auto}.ctp-option{padding:.4rem .6rem;border-radius:8px;font-size:.84rem;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--ink)}.ctp-option:hover{background:var(--surface-muted)}.ctp-option.is-selected{background:var(--brand-soft);color:var(--brand-strong);font-weight:600}.cdtp-popover{display:flex;gap:.75rem}.cdtp-time-pane{display:flex;flex-direction:column;gap:.35rem;border-left:1px solid var(--line);padding-left:.75rem}.cdtp-time-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;color:var(--ink-soft);text-transform:uppercase}.cdtp-time-pane .ctp-list{max-height:244px;width:6.5rem}.cmodal-overlay{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:1rem;animation:drawer-fade .15s ease-out}.cmodal{width:min(26rem,100%);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.25rem;display:grid;grid-template-columns:auto 1fr;gap:.85rem;animation:cmodal-pop .16s ease-out}.cmodal-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--brand-soft);color:var(--brand-strong)}.cmodal-icon.is-danger{background:var(--danger-soft);color:var(--danger)}.cmodal-body h3{margin:0;font-size:1rem}.cmodal-body p{margin:.35rem 0 0;font-size:.85rem;color:var(--ink-soft)}.cmodal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.5rem;margin-top:.35rem}@keyframes cmodal-pop{0%{transform:translateY(6px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}