*,: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:var(--font-inter),system-ui,sans-serif;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{color:inherit;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}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}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.left-0{left:0}.left-0\.5{left:.125rem}.left-3{left:.75rem}.right-0{right:0}.right-0\.5{right:.125rem}.right-2{right:.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-3{height:.75rem}.h-4{height:1rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92vh\]{max-height:92vh}.min-h-\[44px\]{min-height:44px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-3{width:.75rem}.w-4{width:1rem}.w-56{width:14rem}.w-\[248px\]{width:248px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[120px\]{max-width:120px}.max-w-md{max-width:28rem}.max-w-shell{max-width:1440px}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.-translate-y-1\/2{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))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{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))}.translate-x-full{--tw-translate-x:100%}.rotate-180{--tw-rotate:180deg}.rotate-180,.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))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:var(--border)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:var(--radius)}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-border{border-color:var(--border)}.border-danger{border-color:var(--danger)}.border-sky{border-color:var(--sky)}.border-success{border-color:var(--success)}.border-violet{border-color:var(--violet)}.border-warn{border-color:var(--warn)}.bg-bg{background-color:var(--bg)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-border{background-color:var(--border)}.bg-brand{background-color:var(--brand)}.bg-brand-soft{background-color:var(--brand-soft)}.bg-danger{background-color:var(--danger)}.bg-danger-soft{background-color:var(--danger-soft)}.bg-popover{background-color:var(--popover)}.bg-sky{background-color:var(--sky)}.bg-sky-soft{background-color:var(--sky-soft)}.bg-success{background-color:var(--success)}.bg-success-soft{background-color:var(--success-soft)}.bg-surface{background-color:var(--surface)}.bg-surface-2{background-color:var(--surface-2)}.bg-text{background-color:var(--text)}.bg-violet{background-color:var(--violet)}.bg-violet-soft{background-color:var(--violet-soft)}.bg-warn-soft{background-color:var(--warn-soft)}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[18px\]{padding-top:18px;padding-bottom:18px}.pb-16{padding-bottom:4rem}.pb-5{padding-bottom:1.25rem}.pl-9{padding-left:2.25rem}.pr-9{padding-right:2.25rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-\[72px\]{padding-top:72px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-brand-dark{color:var(--brand-dark)}.text-danger{color:var(--danger)}.text-danger-ink{color:var(--danger-ink)}.text-muted{color:var(--text-muted)}.text-sky-ink{color:var(--sky-ink)}.text-subtle{color:var(--text-subtle)}.text-success-ink{color:var(--success-ink)}.text-text{color:var(--text)}.text-violet-ink{color:var(--violet-ink)}.text-warn-ink{color:var(--warn-ink)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.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)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.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}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{color-scheme:light;--bg:rgba(17,52,62,.05);--surface:hsla(0,0%,100%,.74);--surface-2:hsla(0,0%,100%,.5);--popover:#fff;--border:rgba(17,52,62,.12);--border-strong:rgba(17,52,62,.22);--text:#14323a;--text-muted:#54696f;--text-subtle:#87979d;--brand:#1c87d6;--brand-dark:#0e6cb4;--brand-soft:rgba(56,169,240,.14);--brand-border:rgba(56,169,240,.42);--success:#18b07e;--success-soft:rgba(24,176,126,.15);--success-ink:#0a8c63;--warn:#f6b322;--warn-soft:rgba(217,138,10,.15);--warn-ink:#aa6a08;--danger:#ef5138;--danger-soft:rgba(225,60,40,.13);--danger-ink:#c23b27;--sky:#38a9f0;--sky-soft:rgba(56,169,240,.15);--sky-ink:#1572b8;--violet:#9b7bff;--violet-soft:rgba(123,90,235,.14);--violet-ink:#6b46d9;--blur:22px;--radius:14px;--radius-lg:18px;--radius-sm:9px;--shadow-sm:0 8px 22px -18px rgba(20,55,70,.3);--shadow:0 16px 40px -22px rgba(20,55,70,.3);--shadow-lg:0 22px 50px -24px rgba(20,55,70,.34);--shadow-pop:0 22px 56px -18px rgba(20,55,70,.4);--sidebar-w:248px;--font:var(--font-inter),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--num:var(--font-space-grotesk),var(--font-inter),ui-monospace,monospace;--pad-card:18px;--gap:16px}[data-mode=dark]{color-scheme:dark;--bg:hsla(0,0%,100%,.05);--surface:hsla(0,0%,100%,.055);--surface-2:hsla(0,0%,100%,.03);--popover:#16313a;--border:hsla(0,0%,100%,.1);--border-strong:hsla(0,0%,100%,.17);--text:#f3f8f8;--text-muted:#9fb1b4;--text-subtle:#7c9094;--brand:#38a9f0;--brand-dark:#8ccbf6;--brand-soft:rgba(56,169,240,.16);--brand-border:rgba(56,169,240,.42);--success-soft:rgba(24,176,126,.18);--success-ink:#43d6a6;--warn-soft:rgba(246,179,34,.18);--warn-ink:#f6c659;--danger-soft:rgba(239,81,56,.18);--danger-ink:#ff8a73;--sky-soft:rgba(56,169,240,.18);--sky-ink:#7ec8f5;--violet-soft:rgba(155,123,255,.2);--violet-ink:#c3b0ff;--shadow-sm:0 8px 24px -16px rgba(0,0,0,.55);--shadow:0 16px 40px -20px rgba(0,0,0,.62);--shadow-lg:0 22px 56px -22px rgba(0,0,0,.7);--shadow-pop:0 22px 56px -18px rgba(0,0,0,.72)}[data-density=compact]{--pad-card:14px;--gap:12px}[data-density=cozy]{--pad-card:18px;--gap:16px}[data-density=comfy]{--pad-card:22px;--gap:20px}*{box-sizing:border-box}body,html{margin:0;font-family:var(--font);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}body{min-height:100vh;background:#eef3f5}[data-mode=dark] body{background:radial-gradient(1200px 760px at 16% -10%,rgba(42,96,126,.42) 0,rgba(27,27,32,0) 58%),radial-gradient(1300px 820px at 102% 2%,rgba(34,78,128,.38) 0,rgba(27,27,32,0) 55%),radial-gradient(1000px 900px at 60% 120%,rgba(26,50,64,.3) 0,rgba(27,27,32,0) 60%),linear-gradient(160deg,#1e1f25,#1b1b20 52%,#141419);background-attachment:fixed}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-family:var(--num)}button{font-family:inherit}h1,h2,h3,h4{letter-spacing:-.01em}.layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;position:relative;z-index:1}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{gap:11px;padding:4px 8px 16px;border-bottom:1px solid var(--border);margin-bottom:12px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(140deg,var(--brand) 0,#22d3ee 100%);justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 6px rgba(8,145,178,.35)}.brand h1{margin:0;font-size:15.5px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.brand p{margin:1px 0 0;font-size:10px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.09em;font-weight:600}.nav{display:flex;flex-direction:column;gap:1px;flex:1}.nav-section{font-size:10px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.09em;font-weight:700;padding:14px 10px 5px}.nav-item{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;color:var(--text-muted);text-decoration:none;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,color .12s;border:none;background:transparent;width:100%;text-align:left}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item .icon{width:17px;height:17px;opacity:.65;flex-shrink:0}.nav-item.active{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.nav-item.active .icon{opacity:1}.nav-item .badge{margin-left:auto;background:var(--danger);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;min-width:18px;text-align:center}.nav-item.active .badge{background:var(--brand)}.nav-footer{border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.footer-row{display:flex;align-items:center;gap:8px}.footer-row .user-chip{flex:1;min-width:0}.user-chip{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:9px;cursor:pointer}.user-chip:hover{background:var(--bg)}.avatar{width:34px;height:34px;background:linear-gradient(135deg,var(--brand) 0,var(--violet) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.avatar.adaptive{background:linear-gradient(135deg,var(--violet) 0,#c4b5fd 100%)}.user-chip .name{font-size:13px;font-weight:600}.user-chip .role{font-size:11px;color:var(--text-subtle)}.theme-toggle{flex:none;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:background .14s,border-color .14s,color .14s}.theme-toggle:hover{border-color:var(--border-strong);color:var(--brand-dark);background:var(--bg)}.main{padding:22px 30px 60px;max-width:1440px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-head h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.page-head .sub{margin:4px 0 0;color:var(--text-muted);font-size:13px}.head-actions{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:8px;font-size:13px;font-weight:550;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:all .12s;white-space:nowrap}.btn:hover{border-color:var(--border-strong);background:var(--bg)}.btn .icon{width:15px;height:15px;opacity:.8}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 13px;border-radius:8px;font-size:13px;font-weight:550;border:1px solid transparent;white-space:nowrap;cursor:pointer;transition:all .12s;background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand);filter:brightness(1.08)}.btn-brand{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-brand:hover{background:var(--brand-dark)}.btn-sm{padding:5px 9px;font-size:12px;border-radius:7px}[data-mode=dark] .btn-primary{color:#05231d}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 13px;border-radius:8px;font-size:13px;font-weight:550;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:all .12s}.btn-secondary:hover{border-color:var(--border-strong);background:var(--bg)}.label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.kpi-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:7px;display:flex;align-items:center;gap:7px}.kpi-label .icon{width:14px;height:14px;opacity:.7}.kpi-value{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.kpi-delta{font-size:11px;margin-top:7px;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-weight:600}.kpi-delta.up{background:var(--success-soft);color:var(--success-ink)}.kpi-delta.down{background:var(--danger-soft);color:var(--danger-ink)}.kpi-delta.flat{background:var(--bg);color:var(--text-muted)}.kpi-foot{margin-top:11px;padding-top:10px;border-top:1px dashed var(--border);font-size:11px;color:var(--text-muted);display:flex;justify-content:space-between;gap:8px}.kpi-foot strong{color:var(--text);font-weight:600}.stat{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s,border-color .18s,box-shadow .18s}.stat:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow)}.stat-ring{flex:none}.stat-body{flex:1;min-width:0}.stat-label{font-size:12px;color:var(--text-muted)}.stat-value{font-size:25px;font-weight:700;letter-spacing:-.02em;margin:3px 0 7px;line-height:1.1}.stat-ic{position:absolute;right:-6px;bottom:-10px;color:var(--text);opacity:.1;pointer-events:none}.stat-ic svg{width:64px;height:64px}.grid-2{grid-template-columns:2fr 1fr}.grid-2,.grid-3{display:grid;gap:16px;margin-bottom:16px}.grid-3{grid-template-columns:1fr 1fr 1fr}.grid-12{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad-card);box-shadow:var(--shadow),inset 0 1px 0 hsla(0,0%,100%,.6)}.card.flush{padding:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.card-head h3{margin:0;font-size:14px;font-weight:650}.card-head .sub{font-size:12px;color:var(--text-muted);margin-top:1px}.link{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:12.5px;font-weight:550;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.link,.link:hover{text-decoration:none}.link:hover{background:var(--bg);border-color:var(--border-strong);color:var(--brand-dark)}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.pill .dot{width:5px;height:5px;border-radius:5px;background:currentColor}.pill.private{background:var(--sky-soft);color:var(--sky-ink)}.pill.adaptive{background:var(--violet-soft);color:var(--violet-ink)}.pill.success{background:var(--success-soft);color:var(--success-ink)}.pill.warn{background:var(--warn-soft);color:var(--warn-ink)}.pill.danger{background:var(--danger-soft);color:var(--danger-ink)}.pill.muted{background:var(--bg);color:var(--text-muted)}.pill.brand{background:var(--brand-soft);color:var(--brand-dark)}.pill.zone1{background:var(--success-soft);color:var(--success-ink)}.pill.zone2{background:var(--warn-soft);color:var(--warn-ink)}.pill.zone3{background:var(--danger-soft);color:var(--danger-ink)}.pill.fes{background:var(--violet-soft);color:var(--violet-ink)}.route-strip{display:flex;align-items:center;gap:8px;padding:14px 16px;background:linear-gradient(to right,var(--brand-soft) 0,var(--surface) 70%);border:1px solid var(--brand-border);border-radius:var(--radius);margin-bottom:16px;overflow-x:auto;box-shadow:var(--shadow-sm)}.route-stop{gap:7px}.route-dot,.route-stop{display:flex;align-items:center;flex-shrink:0}.route-dot{width:26px;height:26px;border-radius:50%;background:var(--surface);border:2px solid var(--brand);color:var(--brand-dark);justify-content:center;font-size:11px;font-weight:700}.route-dot.home{background:#fff;border-color:var(--brand);color:var(--brand)}.route-dot.done{background:var(--success);border-color:var(--success);color:#fff}.route-stop .label{font-size:11.5px;font-weight:600;white-space:nowrap}.route-stop .label .sub{font-size:10px;color:var(--text-muted);display:block;font-weight:500}.route-leg{flex-shrink:0;height:2px;width:46px;background:var(--brand-border);position:relative}.route-leg:after{content:attr(data-miles);position:absolute;top:-15px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--text-muted);white-space:nowrap}[data-mode=dark] .route-dot.home{background:#0b252c;border-color:var(--brand);color:var(--brand)}.lesson-row{display:grid;grid-template-columns:56px 1fr auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.lesson-row:last-child{border-bottom:none}.lesson-time{font-size:13px;font-weight:700;color:var(--text);line-height:1.15}.lesson-time .meridiem{font-size:10px;color:var(--text-muted);font-weight:600;display:block}.lesson-info .name{font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.lesson-info .meta{font-size:11.5px;color:var(--text-muted);margin-top:2px}.action-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.action-item:last-child{border-bottom:none}.action-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-icon .icon{width:16px;height:16px}.action-icon.warn{background:var(--warn-soft);color:var(--warn-ink)}.action-icon.danger{background:var(--danger-soft);color:var(--danger-ink)}.action-icon.info{background:var(--brand-soft);color:var(--brand-dark)}.action-icon.violet{background:var(--violet-soft);color:var(--violet-ink)}.action-body{flex:1;min-width:0}.action-body .title{font-size:13px;font-weight:600}.action-body .desc{font-size:12px;color:var(--text-muted);margin-top:2px}.action-body .time{font-size:11px;color:var(--text-subtle);margin-top:4px}.action-cta{display:inline-flex;align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;font-size:11.5px;font-weight:600;color:var(--text);margin-top:8px;cursor:pointer;padding:4px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface);transition:background .12s,border-color .12s,color .12s}.action-cta:hover{background:var(--bg);border-color:var(--border-strong);color:var(--brand-dark)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13px}th{font-size:10.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);position:sticky;top:0}tbody tr{transition:background .1s}tbody tr:hover td{background:var(--bg)}tbody tr:last-child td{border-bottom:none}td.right,th.right{text-align:right}.swimmer-stack{display:flex}.mini-avatar{width:25px;height:25px;border-radius:50%;border:2px solid #fff;background:var(--violet-soft);color:var(--violet-ink);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;margin-left:-7px}.mini-avatar.private{background:var(--sky-soft);color:var(--sky-ink)}.mini-avatar:first-child{margin-left:0}[data-mode=dark] .mini-avatar{border-color:#0c252c}.credit-bar{background:var(--bg);border-radius:4px;height:6px;overflow:hidden;margin-top:4px;min-width:84px}.credit-bar>div{height:100%;background:var(--brand);border-radius:4px}.credit-bar.low>div{background:var(--danger)}.credit-bar.mid>div{background:var(--warn)}.row-name{font-weight:600}.row-sub{font-size:11px;color:var(--text-muted);margin-top:1px}.bar-row{margin-top:14px}.bar-row:first-child{margin-top:4px}.bar-row .bar-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:6px}.bar-row .bar-top strong{font-weight:700}.bar-track{background:var(--bg);border-radius:5px;height:8px;overflow:hidden}.bar-track>div{height:100%;border-radius:5px}.chart-area{height:130px;position:relative;margin-top:8px}.chart-area svg{width:100%;height:100%;display:block}.chart-x{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted);margin-top:6px}.note{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:var(--radius);padding:12px 14px;font-size:12px;color:var(--brand-dark);margin-top:18px;display:flex;align-items:flex-start;gap:10px}.note .icon{width:16px;height:16px;flex-shrink:0;margin-top:1px}.tabs{gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.tab,.tabs{display:flex}.tab{padding:8px 13px;font-size:13px;font-weight:550;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;align-items:center;gap:7px}.tab:hover{color:var(--text)}.tab[data-on=true]{color:var(--brand-dark);border-bottom-color:var(--brand);font-weight:650}.tab-count{font-size:11px;background:var(--bg);color:var(--text-muted);padding:0 6px;border-radius:7px;font-weight:600}.filters{display:flex;gap:6px;flex-wrap:wrap}.fpill{padding:6px 12px;border-radius:8px;font-size:12.5px;font-weight:550;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.fpill:hover{border-color:var(--border-strong)}.fpill[data-on=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.fpill .fcount{font-size:11px;opacity:.7}[data-mode=dark] .fpill[data-on=true]{color:#05231d}th.sort{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;transition:color .12s}th.sort:hover{color:var(--text)}th.sort[data-on=true]{color:var(--brand-dark)}th .caret{margin-left:5px;font-size:9px;vertical-align:middle}.sort-wrap{position:relative;display:inline-flex}.btn .dotmark{width:6px;height:6px;border-radius:50%;background:var(--brand);margin-left:2px}.menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:5px;min-width:210px;z-index:20;box-shadow:var(--shadow-lg);backdrop-filter:blur(var(--blur)) saturate(135%);-webkit-backdrop-filter:blur(var(--blur)) saturate(135%)}.menu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:none;background:transparent;color:var(--text);font:inherit;font-size:13px;border-radius:7px;cursor:pointer;text-align:left}.menu button:hover{background:var(--bg)}.menu button[data-on=true]{color:var(--brand-dark);font-weight:600}.menu button .icon{color:var(--brand)}@media (max-width:640px){.menu{left:0;right:auto}.kebab-menu,.menu{max-width:calc(100vw - 24px)}}.zone-sub{display:flex;gap:6px;margin:-2px 0 14px;flex-wrap:wrap}.fam-swimmers{display:flex;flex-direction:column;gap:7px;padding:2px 0}.fam-swimmer{display:flex;align-items:center;gap:8px}.fam-swimmer .mini-avatar{margin-left:0;flex-shrink:0}.fam-swimmer-name{font-size:12.5px;line-height:1.3;overflow-wrap:break-word;min-width:84px}.cell-link,tr.rowlink{cursor:pointer}.cell-link{color:var(--text-muted);transition:color .12s;background:none;border:none;padding:0;margin:0;font:inherit;text-align:left}.cell-link.brand{color:var(--brand-dark);font-weight:600}.cell-link.brand:hover,.cell-link:hover{text-decoration:underline}.cell-link:hover{color:var(--brand-dark)}.back-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px 6px 8px;margin-bottom:14px;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:550;cursor:pointer;transition:background .12s,border-color .12s,color .12s;text-decoration:none}.back-btn:hover{color:var(--text);background:var(--surface);border-color:var(--border)}.back-btn .icon{width:15px;height:15px}.sd-head{gap:16px;margin-bottom:20px;flex-wrap:wrap}.sd-avatar,.sd-head{display:flex;align-items:center}.sd-avatar{width:58px;height:58px;border-radius:16px;flex-shrink:0;justify-content:center;font-size:19px;font-weight:700;color:#fff;background:linear-gradient(140deg,var(--brand) 0,#22d3ee 100%)}.sd-avatar.adaptive{background:linear-gradient(140deg,var(--violet) 0,#c4b5fd 100%)}.sd-id{flex:1;min-width:200px}.sd-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sd-title-row h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.sd-sub{margin-top:4px;color:var(--text-muted);font-size:13px;line-height:1.6}.sd-sub .cell-link{font-weight:600}.sd-fam{white-space:nowrap}.sd-actions{gap:8px;flex-wrap:wrap}.family-banner,.sd-actions{display:flex;align-items:center}.family-banner{gap:14px;width:100%;padding:15px 18px;margin-bottom:18px;border-radius:var(--radius-lg);cursor:pointer;text-align:left;border:1.5px solid var(--brand-border);background:linear-gradient(110deg,var(--brand-soft) 0,var(--surface) 70%);transition:border-color .15s,transform .12s,box-shadow .15s}.family-banner:hover{border-color:var(--brand);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.family-banner:hover .fb-go{gap:9px}.fb-ic{width:44px;height:44px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;box-shadow:0 4px 12px -4px var(--brand)}.fb-text{flex:1;min-width:0}.fb-label{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em}.fb-sub{font-size:12.5px;color:var(--text-muted);margin-top:2px}.fb-go{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:9px 15px;border-radius:9px;font-size:13px;font-weight:650;background:var(--brand);color:#fff;transition:gap .15s}.fb-go .icon{width:16px;height:16px}.sd-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:start}.sd-col{display:flex;flex-direction:column;gap:16px}.att-chart{gap:6px;height:92px;padding:4px 0}.att-chart,.att-col{display:flex;align-items:flex-end}.att-col{flex:1;height:100%}.att-bar{width:100%;border-radius:4px 4px 2px 2px;min-height:6px;transition:height .3s}.att-legend{display:flex;gap:16px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);font-size:11.5px;color:var(--text-muted)}.att-legend span{display:inline-flex;align-items:center;gap:6px}.att-legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.skill-overall{text-align:right;white-space:nowrap}.skill-track-top{height:7px;background:var(--bg);border-radius:5px;overflow:hidden;margin-bottom:16px}.skill-track-top>div{height:100%;background:linear-gradient(to right,var(--brand),#22d3ee);border-radius:5px}.skill-groups{display:flex;flex-direction:column;gap:16px}.skill-group-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.skill-group-head .icon{color:var(--brand);opacity:.8}.skill-group-name{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.skill-group-count{margin-left:auto;font-size:11.5px;color:var(--text-subtle);font-weight:600}.skill-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.skill-row:last-child{border-bottom:none}.skill-dot{width:12px;height:12px;border-radius:50%;border:2px solid;flex-shrink:0}.skill-name{flex:1;font-size:13px}.skill-tag{font-size:11px;font-weight:650;white-space:nowrap}.hist{display:flex;flex-direction:column}.hist-item{display:flex;gap:12px}.hist-rail{flex-direction:column}.hist-node,.hist-rail{display:flex;align-items:center}.hist-node{width:24px;height:24px;border-radius:50%;border:2px solid;justify-content:center;background:var(--surface);flex-shrink:0}.hist-line{flex:1;width:2px;background:var(--border);margin:2px 0}.hist-body{padding-bottom:16px;flex:1}.hist-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.hist-top .sub{white-space:nowrap}.hist-focus{font-weight:600;font-size:13px}.hist-note{font-size:12px;color:var(--text-muted);margin-top:3px;line-height:1.45}.med-card{border-color:var(--brand-border);background:linear-gradient(160deg,var(--brand-soft) 0,var(--surface) 60%)}.med-card.adaptive{border-color:color-mix(in oklab,var(--warn) 45%,var(--border));background:linear-gradient(160deg,var(--warn-soft) 0,var(--surface) 62%)}.med-card.none{background:var(--surface);border-color:var(--border)}.med-head{gap:11px;margin-bottom:10px}.med-head,.med-ic{display:flex;align-items:center}.med-ic{width:34px;height:34px;border-radius:9px;background:var(--brand-soft);color:var(--brand-dark);justify-content:center;flex-shrink:0}.med-card.adaptive .med-ic{background:var(--warn-soft);color:var(--warn-ink)}.med-head h3{margin:0;font-size:14px;font-weight:650}.med-body{margin:0;font-size:13px;line-height:1.55;color:var(--text)}.med-card.none .med-body{color:var(--text-muted)}.pkg-balance{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.pkg-exp{font-size:11.5px;color:var(--text-muted)}.pkg-exp.over{color:var(--danger-ink);font-weight:600}.pkg-actions{display:flex;gap:8px}.up-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--border)}.up-row:last-child{border-bottom:none}.up-ic{width:30px;height:30px;border-radius:8px;background:var(--brand-soft);color:var(--brand-dark);justify-content:center;flex-shrink:0}.contact-name,.up-ic{display:flex;align-items:center}.contact-name{gap:11px;margin-bottom:14px}.contact-rows{display:flex;flex-direction:column;gap:9px}.contact-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text)}.contact-row .icon{color:var(--text-subtle);flex-shrink:0}.log{display:flex;flex-direction:column;gap:12px}.log-item{border-left:2px solid var(--brand-border);padding-left:12px}.log-meta{margin-bottom:3px}.log-text{font-size:12.5px;line-height:1.5;color:var(--text)}.kid-list{display:flex;flex-direction:column;gap:10px}.kid-card{display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;padding:13px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);transition:border-color .14s,background .14s,transform .1s}.kid-card:hover{border-color:var(--brand-border);background:var(--brand-soft);transform:translateX(2px)}.kid-card,.kid-name{color:var(--text)}.kid-main{flex:1;min-width:0}.kid-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kid-name{font-weight:650;font-size:14px}.kid-meta{font-size:12px;color:var(--text-muted);margin-top:3px}.kid-credits{display:flex;align-items:center;gap:9px;margin-top:7px}.kid-go{color:var(--text-subtle);flex-shrink:0;display:flex}.kid-card:hover .kid-go{color:var(--brand)}.hh-person{display:flex;align-items:center;gap:11px}.bill-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bill-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px}.bill-val{font-size:22px;font-weight:700;letter-spacing:-.02em}.bill-of{font-size:13px;color:var(--text-subtle);font-weight:500}.bill-lbl{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:4px}.edit-page{padding-bottom:88px}.edit-head{display:flex;align-items:center;gap:15px;margin-bottom:22px}.edit-head h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.edit-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.form-card{padding:18px 20px}.form-card-head{gap:11px;margin-bottom:16px}.form-card-head,.form-card-ic{display:flex;align-items:center}.form-card-ic{width:32px;height:32px;border-radius:9px;background:var(--brand-soft);color:var(--brand-dark);justify-content:center;flex-shrink:0}.form-card-head h3{margin:0;font-size:14px;font-weight:650}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-full{grid-column:1/-1}.field-label{font-size:12px;font-weight:600;color:var(--text-muted);display:flex;align-items:baseline;gap:6px}.field-hint{font-size:11px;font-weight:500;color:var(--text-subtle)}.input{width:100%;font:inherit;font-size:13.5px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:9px 12px;transition:border-color .14s,box-shadow .14s,background .14s}.input::-moz-placeholder{color:var(--text-subtle)}.input::placeholder{color:var(--text-subtle)}.input:focus{outline:none;border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px var(--brand-soft)}.textarea{resize:vertical;line-height:1.5;min-height:88px}optgroup,option,select optgroup,select option{background-color:#fff;color:#14323a}[data-mode=dark] optgroup,[data-mode=dark] option,[data-mode=dark] select optgroup,[data-mode=dark] select option{background-color:#16313a;color:#f3f8f8}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap.has-prefix .input{padding-left:34px}.input-prefix{position:absolute;left:11px;color:var(--text-subtle);display:flex;pointer-events:none}.select-wrap{position:relative}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;cursor:pointer}.select-caret{position:absolute;right:11px;top:50%;transform:translateY(-50%) rotate(90deg);color:var(--text-subtle);pointer-events:none}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px;gap:2px;width:100%}.seg-btn{flex:1;font:inherit;font-size:12.5px;font-weight:550;color:var(--text-muted);background:transparent;border:none;border-radius:7px;padding:7px 8px;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.seg-btn:hover{color:var(--text)}.seg-btn[data-on=true]{background:var(--brand);color:#fff;font-weight:600;box-shadow:var(--shadow-sm)}.roster{display:flex;flex-direction:column;gap:9px}.roster-row{gap:11px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.roster-remove,.roster-row{display:flex;align-items:center}.roster-remove{width:28px;height:28px;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);justify-content:center;cursor:pointer;flex-shrink:0;transition:all .12s}.roster-remove:hover{border-color:var(--danger);color:var(--danger-ink);background:var(--danger-soft)}.roster-add{justify-content:center;border-style:dashed;margin-top:2px}.save-bar{position:fixed;bottom:0;right:0;left:var(--sidebar-w);z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 30px;background:color-mix(in oklab,var(--surface) 88%,transparent);border-top:1px solid var(--border);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}.save-actions{display:flex;gap:9px}.saved-pill{display:inline-flex;font-size:12.5px;font-weight:650;color:var(--success-ink);background:var(--success-soft);padding:6px 11px;border-radius:8px}.cal-nav,.saved-pill{align-items:center;gap:6px}.cal-nav,.icon-btn{display:flex}.icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);align-items:center;justify-content:center;cursor:pointer;transition:all .12s}.icon-btn:hover{border-color:var(--border-strong);color:var(--text);background:var(--bg)}.cal-toggle{width:auto}.cal-toggle .seg-btn{padding:6px 16px}.cal-legend{display:flex;align-items:center;gap:16px;margin-bottom:14px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}.cl-item{display:inline-flex;align-items:center;gap:7px;font-weight:550}.cl-sw{width:11px;height:11px;border-radius:4px}.cl-sw.private{background:var(--sky)}.cl-sw.adaptive{background:var(--violet)}.cl-spacer{flex:1}.cl-stat{color:var(--text-subtle)}.week-card{overflow:hidden}.week-header{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border)}.week-gutter-head{border-right:1px solid var(--border)}.week-day-head{padding:10px 8px;text-align:center;border-left:1px solid var(--border)}.week-day-head.today{background:var(--brand-soft)}.wd-dow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.week-day-head.today .wd-dow{color:var(--brand-dark)}.wd-date{font-size:19px;font-weight:700;margin-top:2px}.week-day-head.today .wd-date{color:var(--brand-dark)}.wd-count{font-size:10px;color:var(--text-subtle);margin-top:2px}.week-body{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));position:relative}.time-gutter{border-right:1px solid var(--border)}.hour-label,.time-gutter{position:relative}.hour-label span{position:absolute;top:-7px;right:7px;font-size:10px;color:var(--text-subtle)}.day-col{position:relative;border-left:1px solid var(--border)}.day-col.today{background-color:color-mix(in oklab,var(--brand-soft) 45%,transparent)}.week-body.dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grabbing}.day-col.drag-target{background-color:color-mix(in oklab,var(--brand-soft) 14%,transparent)}.drop-indicator{position:absolute;left:3px;right:3px;z-index:6;pointer-events:none;border-radius:7px;border:2px dashed var(--brand);background:color-mix(in oklab,var(--brand-soft) 55%,transparent);display:flex;align-items:flex-start;justify-content:flex-end;padding:2px 5px}.drop-indicator span{font-size:9.5px;font-weight:700;color:var(--brand-dark)}.lesson-block{position:absolute;left:3px;right:3px;z-index:2;border-radius:7px;padding:3px 7px;cursor:pointer;text-align:left;overflow:hidden;border:1px solid;border-left:3px solid;display:flex;flex-direction:column;gap:0;line-height:1.13;transition:transform .1s,box-shadow .12s,filter .12s}.lesson-block:hover{transform:translateX(1px);box-shadow:var(--shadow-lg);filter:brightness(1.02);z-index:5}.lesson-block.standard{background:var(--sky-soft);border-color:var(--sky);color:var(--sky-ink)}.lesson-block.adaptive{background:var(--violet-soft);border-color:var(--violet);color:var(--violet-ink)}.lesson-block.draggable{cursor:grab}.lesson-block.draggable:active{cursor:grabbing}.lesson-block.dragging{opacity:.4}.lb-row{display:flex;align-items:baseline;gap:5px;min-width:0}.lb-time{font-size:9.5px;font-weight:700;opacity:.8;white-space:nowrap}.lb-name{font-size:11.5px;font-weight:650}.lb-meta,.lb-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-meta{font-size:10px;opacity:.8}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-head{border-bottom:1px solid color-mix(in oklab,var(--border) 45%,transparent)}.month-dow{padding:9px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left}.month-cell{min-height:138px;border-left:1px solid color-mix(in oklab,var(--border) 45%,transparent);border-bottom:1px solid color-mix(in oklab,var(--border) 45%,transparent);padding:7px;background:var(--surface);cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:5px;position:relative;transition:background .12s}.month-cell:nth-child(7n+1){border-left:none}.month-cell.muted{background:var(--surface-2);cursor:default}.month-cell:not(.muted):hover{background:var(--bg)}.month-cell.selected{background:var(--brand-soft)}.agenda-row:focus,.agenda-row:focus-visible,.lesson-block:focus,.lesson-block:focus-visible,.month-cell:focus,.month-cell:focus-visible{outline:none}.mc-top{justify-content:space-between}.mc-date,.mc-top{display:flex;align-items:center}.mc-date{font-size:13px;font-weight:600;color:var(--text);width:24px;height:24px;justify-content:center;border-radius:50%}.month-cell.muted .mc-date{color:var(--text-subtle)}.mc-date.today{background:var(--brand);color:#fff;font-weight:700}.mc-count{font-size:10.5px;font-weight:700;color:var(--text-subtle)}.mc-list{flex-direction:column;gap:2px}.mc-lesson,.mc-list{display:flex;min-width:0}.mc-lesson{align-items:center;gap:5px;padding:2px 5px;border-radius:5px;border-left:3px solid}.mc-lesson.standard{background:var(--sky-soft);border-color:var(--sky)}.mc-lesson.adaptive{background:var(--violet-soft);border-color:var(--violet)}.mc-l-time{font-size:10px;font-weight:700;flex-shrink:0;white-space:nowrap}.mc-lesson.standard .mc-l-time{color:var(--sky-ink)}.mc-lesson.adaptive .mc-l-time{color:var(--violet-ink)}.mc-l-name{font-size:10.5px;font-weight:550;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-plus{font-size:9.5px;color:var(--text-subtle);padding-left:5px;font-weight:600}.date-jump{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-dark);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.date-jump:hover{border-color:var(--brand);background:color-mix(in oklab,var(--brand-soft) 60%,var(--brand) 14%);box-shadow:0 0 0 3px var(--brand-soft)}.date-jump .icon{color:var(--brand)}.date-jump>input.absolute{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.date-jump-field{background:transparent;border:none;outline:none;color:inherit;font:inherit;font-weight:600;padding:0;cursor:text;color-scheme:light dark}.date-jump-field::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;margin-left:2px}.date-nav{display:inline-flex;align-items:center;gap:6px}.sold-tools{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.sold-filter-wrap{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.sold-filter{border:none;background:transparent;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;outline:none;max-width:240px}.sold-count{font-size:12.5px;color:var(--text-muted)}.th-sort{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:0;margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}.th-sort:hover,.th-sort[data-on=true]{color:var(--text)}.th-arrow{font-size:9px}.today-tag{font-size:10.5px;font-weight:700;color:#fff;background:var(--brand);border-radius:999px;padding:1px 6px;line-height:1.6;letter-spacing:.01em}.agenda-card{margin-top:16px}.agenda-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.agenda-head h3{margin:0;font-size:15px;font-weight:650}.agenda-actions,.agenda-empty{display:flex;gap:8px;align-items:center}.agenda-empty{flex-direction:column;padding:40px;color:var(--text-muted);font-size:13px}.agenda-empty .icon{color:var(--text-subtle)}.agenda-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:12px 18px;border-bottom:1px solid color-mix(in oklab,var(--border) 45%,transparent);background:transparent;cursor:pointer;transition:background .1s}.agenda-row:last-child{border-bottom:none}.agenda-row:hover{background:var(--bg)}.agenda-time{width:74px;flex-shrink:0;font-size:13px;font-weight:700;color:var(--text)}.agenda-bar{width:4px;align-self:stretch;border-radius:3px;flex-shrink:0}.agenda-bar.standard{background:var(--sky)}.agenda-bar.adaptive{background:var(--violet)}.agenda-bar.done{background:var(--success)}.agenda-bar.cancelled{background:var(--text-subtle)}.lesson-block.done{background:var(--success-soft);border-color:var(--success);color:var(--success-ink)}.lesson-block.cancelled{background:var(--surface-2);border-color:var(--border-strong);color:var(--text-muted)}.mc-lesson.done{background:var(--success-soft);border-color:var(--success)}.mc-lesson.cancelled{background:var(--surface-2);border-color:var(--border-strong)}.agenda-main{flex:1;min-width:0}.agenda-name{font-size:13.5px;font-weight:600;color:var(--text)}.agenda-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.agenda-go{color:var(--text-subtle);flex-shrink:0}.agenda-row:hover .agenda-go{color:var(--brand)}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.route-map-col{position:sticky;top:22px}.route-map-card{overflow:hidden}.route-map{position:relative;width:100%;aspect-ratio:4/3;background:var(--surface-2)}.route-map-svg{position:absolute;inset:0;width:100%;height:100%}.map-pin{position:absolute;transform:translate(-50%,-50%);z-index:2;cursor:pointer;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:var(--text-subtle);border:2.5px solid var(--surface);box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .12s}.map-pin:hover{transform:translate(-50%,-50%) scale(1.14);z-index:4}.map-pin.home{background:var(--text);border-radius:8px}.map-pin.done{background:var(--success)}.map-pin.next{background:var(--warn);box-shadow:0 0 0 5px color-mix(in oklab,var(--warn) 28%,transparent),0 2px 8px rgba(0,0,0,.25)}.map-pin.upcoming{background:var(--brand)}.route-map-foot{display:flex;gap:18px;padding:12px 16px;border-top:1px solid var(--border);flex-wrap:wrap}.rmf-item{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-muted);font-weight:550}.rmf-dot{width:10px;height:10px;border-radius:50%}.rmf-dot.done{background:var(--success)}.rmf-dot.next{background:var(--warn)}.rmf-dot.up{background:var(--brand)}.route-list{display:flex;flex-direction:column}.route-stop-card{display:flex;align-items:flex-start;gap:13px;padding:13px 15px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);position:relative;z-index:1}.route-stop-card.next{border-color:color-mix(in oklab,var(--warn) 50%,var(--border));box-shadow:0 0 0 3px var(--warn-soft)}.route-stop-card.home{background:var(--surface-2)}.rsc-marker{flex-shrink:0}.rsc-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--bg);color:var(--text-muted);border:2px solid var(--border-strong)}.rsc-dot.home{background:var(--text);color:#fff;border-color:var(--text);border-radius:9px}.rsc-dot.done{background:var(--success);color:#fff;border-color:var(--success)}.rsc-dot.next{background:var(--warn);color:#fff;border-color:var(--warn)}.rsc-body{flex:1;min-width:0}.rsc-top{display:flex;align-items:center;gap:9px;margin-bottom:4px}.rsc-time{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap}.rsc-name{font-size:14px;font-weight:650;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.3;text-align:left}.rsc-name.link-name{background:none;border:none;padding:0;cursor:pointer}.rsc-name.link-name:hover{color:var(--brand-dark)}.rsc-name.home{font-weight:600}.rsc-addr{font-size:12px;color:var(--text-muted);margin-top:2px}.rsc-name.home .rsc-addr{display:inline;font-weight:400}.rsc-nav{flex-shrink:0;width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s}.rsc-nav:hover{background:var(--brand-soft);border-color:var(--brand-border)}.route-leg-line{display:flex;align-items:center;gap:10px;padding:4px 0 4px 30px}.rll-rail{width:2px;height:26px;background:var(--border-strong);margin-left:14px;border-radius:2px}.rll-info{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-subtle);font-weight:600}.rll-info .icon{opacity:.7}.route-timeline-wrap{max-width:680px}.route-timeline{display:flex;flex-direction:column}.tl-row{display:grid;grid-template-columns:48px 1fr;gap:16px}.tl-rail{display:flex;flex-direction:column;align-items:center}.tl-seg{width:3px;border-radius:3px}.tl-seg.down,.tl-seg.up{flex:1;min-height:10px}.tl-seg.full{flex:1}.tl-seg.hide{background:transparent!important}.tl-seg.done{background:var(--success)}.tl-seg.ahead{background:repeating-linear-gradient(to bottom,var(--brand) 0 5px,transparent 5px 10px);opacity:.7}.tl-marker{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--bg);color:var(--text-muted);border:2px solid var(--border-strong);z-index:1;transition:transform .12s}.tl-marker[role=button]{cursor:pointer}.tl-marker[role=button]:hover{transform:scale(1.1)}.tl-marker.home{background:var(--text);color:#fff;border-color:var(--text);border-radius:10px}.tl-marker.done{background:var(--success);color:#fff;border-color:var(--success)}.tl-marker.next{background:var(--warn);color:#fff;border-color:var(--warn);box-shadow:0 0 0 5px var(--warn-soft);animation:tl-pulse 2s ease-in-out infinite}.tl-marker.upcoming{background:var(--surface);color:var(--brand-dark);border-color:var(--brand-border)}@keyframes tl-pulse{0%,to{box-shadow:0 0 0 4px var(--warn-soft)}50%{box-shadow:0 0 0 8px color-mix(in oklab,var(--warn) 14%,transparent)}}.tl-card{position:relative;margin:4px 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:13px 52px 13px 15px}.tl-card.next{border-color:color-mix(in oklab,var(--warn) 50%,var(--border));box-shadow:0 0 0 3px var(--warn-soft)}.tl-card.home{background:var(--surface-2)}.tl-card .rsc-nav{position:absolute;top:50%;right:13px;transform:translateY(-50%)}.tl-leg{min-height:46px}.tl-leg-info{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);font-weight:550}.tl-leg-info strong{color:var(--text);font-weight:700}.tl-leg-info .icon{color:var(--text-subtle);flex-shrink:0}.route-legend{display:flex;gap:18px;margin-top:18px;padding:13px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}@media (max-width:720px){.route-timeline-wrap{max-width:100%}}.route-multiday-grid{display:grid;gap:12px}@media (min-width:1024px){.route-multiday-grid{width:calc(100vw - 326px);max-width:none}}.pay-method{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-muted)}.pay-method .icon{color:var(--text-subtle)}.req-list{display:flex;flex-direction:column;gap:12px}.req-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);transition:opacity .2s}.req-card.resolved{background:var(--surface-2)}.req-main{display:flex;gap:14px}.req-ic{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.req-ic.violet{background:var(--violet-soft);color:var(--violet-ink)}.req-ic.warn{background:var(--warn-soft);color:var(--warn-ink)}.req-ic.info{background:var(--brand-soft);color:var(--brand-dark)}.req-card.resolved .req-ic{opacity:.6}.req-body{flex:1;min-width:0}.req-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.req-name{font-size:14.5px;font-weight:700;letter-spacing:-.01em}.req-fam{font-size:12.5px}.req-time{margin-left:auto;font-size:11.5px;color:var(--text-subtle);white-space:nowrap}.req-sub{font-size:12.5px;color:var(--text-muted);margin-top:4px;display:flex;align-items:center;gap:6px}.req-msg{font-size:13.5px;line-height:1.55;color:var(--text);margin:10px 0 0;font-style:italic}.req-move{display:inline-flex;align-items:center;gap:10px;margin-top:11px;padding:9px 13px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px}.req-move-from{font-size:12.5px;color:var(--text-muted);text-decoration:line-through}.req-move-arrow{color:var(--brand)}.req-move-to{font-size:12.5px;font-weight:700;color:var(--brand-dark)}.req-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.req-chip{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);padding:3px 9px;border-radius:7px}.req-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.req-decline{color:var(--danger-ink)}.req-decline:hover{background:var(--danger-soft);border-color:color-mix(in oklab,var(--danger) 40%,var(--border))}.req-resolved{display:inline-flex;align-items:center;gap:7px;margin-top:13px;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:8px}.req-resolved.approved{background:var(--success-soft);color:var(--success-ink)}.req-resolved.declined{background:var(--bg);color:var(--text-muted)}.search{position:relative;display:flex;align-items:center}.search .icon{position:absolute;left:10px;width:15px;height:15px;color:var(--text-subtle);pointer-events:none}.search input{padding:8px 12px 8px 32px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--surface);width:240px;color:var(--text);font-family:inherit}.search input:focus{outline:none;border-color:var(--brand-border);box-shadow:0 0 0 3px var(--brand-soft)}.empty-state{flex-direction:column;text-align:center;padding:56px 28px;gap:8px}.empty-ic,.empty-state{display:flex;align-items:center;justify-content:center}.empty-ic{width:54px;height:54px;border-radius:14px;background:var(--brand-soft);color:var(--brand-dark);margin-bottom:6px}.empty-ic .icon{width:26px;height:26px}.empty-state p{color:var(--text-muted);max-width:380px;margin:2px 0 10px}.msg-shell{display:grid;grid-template-columns:320px 1fr;gap:16px;height:calc(100vh - 150px);min-height:520px}.msg-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.msg-channel{padding:12px 12px 0}.msg-channel .segmented{width:100%}.msg-channel .seg-btn{display:flex;align-items:center;justify-content:center;gap:6px}.seg-badge{background:var(--danger);color:#fff;font-size:10px;font-weight:700;padding:0 5px;border-radius:7px;min-width:16px;text-align:center}.seg-btn[data-on=true] .seg-badge{background:hsla(0,0%,100%,.28)}.thread-subject{font-size:12.5px;font-weight:600;color:var(--text);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-subject-bar{display:flex;align-items:center;gap:9px;padding:12px 18px;border-bottom:1px solid var(--border);font-size:14px;font-weight:650;background:var(--surface-2)}.email-subject-bar .icon{color:var(--brand-dark);flex-shrink:0}.email-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;overflow:hidden}.email-card.sent{border-left:3px solid var(--brand)}.email-card.recv{border-left:3px solid var(--border-strong)}.email-head{display:flex;align-items:center;gap:11px;padding:12px 14px;border-bottom:1px solid var(--border)}.email-meta{flex:1;min-width:0}.email-from{font-size:13px;font-weight:650;color:var(--text);display:flex;align-items:center;gap:8px}.email-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:5px}.email-tag.sent{background:var(--brand-soft);color:var(--brand-dark)}.email-tag.logged,.email-tag.recv{background:var(--bg);color:var(--text-muted)}.email-tag.failed{background:var(--danger-soft);color:var(--danger-ink)}.bubble-failed{color:var(--danger-ink);font-weight:600}.bubble.me .bubble-failed{color:#ffe0d8}.email-to{margin-top:1px}.email-time,.email-to{font-size:11px;color:var(--text-subtle)}.email-time{white-space:nowrap;flex-shrink:0}.email-body{padding:14px;font-size:13px;line-height:1.6;color:var(--text);white-space:pre-wrap}.msg-search{padding:12px;border-bottom:1px solid var(--border)}.msg-filters{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}.msg-fpill{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:11.5px;font-weight:600;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:4px 9px;cursor:pointer;transition:all .12s}.msg-fpill:hover{border-color:var(--border-strong);color:var(--text)}.msg-fpill[data-on=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.msg-fcount{font-size:10px;opacity:.7}.msg-fpill[data-on=true] .msg-fcount{opacity:.85}.msg-empty{padding:28px 16px;text-align:center;font-size:12.5px;color:var(--text-muted)}.msg-threads{flex:1;overflow-y:auto}.thread-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:12px 14px;border:none;background:transparent;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;position:relative}.thread-item:hover{background:var(--bg)}.thread-item.active{background:var(--brand-soft)}.thread-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand)}.thread-av-wrap{position:relative;flex-shrink:0}.thread-av{width:40px;height:40px;font-size:13px}.thread-online{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--success);border:2px solid var(--surface)}.thread-body{flex:1;min-width:0}.thread-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.thread-name{font-size:13.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-time{font-size:11px;color:var(--text-subtle);flex-shrink:0}.thread-preview{font-size:12.5px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-you{color:var(--text-subtle)}.thread-unread{position:absolute;right:14px;bottom:14px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brand);color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center}.msg-thread{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.thread-header{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border)}.thread-h-id{flex:1;min-width:0}.thread-h-name{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:8px}.online-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.thread-h-actions{display:flex;gap:7px}.thread-scroll{flex:1;overflow-y:auto;padding:18px 18px 6px;display:flex;flex-direction:column;gap:9px;background:var(--surface-2)}.thread-daydiv{text-align:center;margin:2px 0 8px}.thread-daydiv span{font-size:11px;color:var(--text-subtle);background:var(--surface);border:1px solid var(--border);padding:3px 11px;border-radius:20px;font-weight:600}.bubble-row{display:flex}.bubble-row.me{justify-content:flex-end}.bubble-row.them{justify-content:flex-start}.bubble{max-width:74%;padding:9px 13px 7px;border-radius:14px;font-size:13.5px;line-height:1.45;position:relative}.bubble.them{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:5px;color:var(--text)}.bubble.me{background:var(--brand);color:#fff;border-bottom-right-radius:5px}.bubble-time{display:block;font-size:10px;margin-top:4px;opacity:.6}.bubble.me .bubble-time{color:#fff;text-align:right}.composer{border-top:1px solid var(--border);padding:11px 14px 13px;background:var(--surface)}.quick-replies{display:flex;gap:7px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px}.quick-chip{flex-shrink:0;font:inherit;font-size:12px;font-weight:550;color:var(--brand-dark);background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:16px;padding:6px 12px;cursor:pointer;white-space:nowrap;transition:background .12s}.quick-chip:hover{background:color-mix(in oklab,var(--brand) 14%,var(--surface))}.composer-row{display:flex;gap:9px;align-items:flex-end}.composer-input{flex:1;resize:none;font:inherit;font-size:13.5px;line-height:1.45;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:10px 13px;max-height:120px;transition:border-color .14s,box-shadow .14s}.composer-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);background:var(--surface)}.composer-send{flex-shrink:0}.composer-send:disabled{opacity:.5;cursor:default}.composer-attach{flex-shrink:0;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s}.composer-attach:hover{color:var(--brand-dark);border-color:var(--brand-border);background:var(--brand-soft)}.att-pending{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.att-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:5px 7px 5px 9px;max-width:200px}.att-chip.img{padding-left:5px}.att-chip-thumb{width:24px;height:24px;border-radius:5px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.att-chip-ic{color:var(--text-muted);flex-shrink:0}.att-chip-name{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-chip-x{flex-shrink:0;width:18px;height:18px;border-radius:5px;border:none;background:transparent;color:var(--text-subtle);display:flex;align-items:center;justify-content:center;cursor:pointer}.att-chip-x:hover{background:var(--danger-soft);color:var(--danger-ink)}.att-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.att-img{display:block;border-radius:9px;overflow:hidden;border:1px solid var(--border);max-width:160px}.att-img img{display:block;width:100%;height:auto;max-height:160px;-o-object-fit:cover;object-fit:cover}.att-file{display:inline-flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:8px 11px;max-width:230px}.bubble.me .att-file{background:hsla(0,0%,100%,.16);border-color:hsla(0,0%,100%,.22)}.att-file-ic{width:30px;height:30px;border-radius:7px;background:var(--brand-soft);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.bubble.me .att-file-ic{background:hsla(0,0%,100%,.22);color:#fff}.att-file-meta{display:flex;flex-direction:column;min-width:0}.att-file-name{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-file-size{font-size:10.5px;opacity:.7}.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.doc-card{display:flex;flex-direction:column}.doc-card-head{gap:12px;margin-bottom:10px}.doc-card-head,.doc-ic{display:flex;align-items:center}.doc-ic{width:38px;height:38px;border-radius:10px;background:var(--brand-soft);color:var(--brand-dark);justify-content:center;flex-shrink:0}.doc-name{font-size:14.5px;font-weight:650;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.doc-desc{font-size:12.5px;color:var(--text-muted);line-height:1.5;margin:0 0 14px;flex:1}.doc-meter{margin-bottom:14px}.doc-meter-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-muted);margin-bottom:6px;white-space:nowrap}.doc-meter-top strong{color:var(--text)}.doc-actions{display:flex;gap:8px}.doc-actions-bar{gap:8px;justify-content:flex-start}.doc-actions-bar,.sig-filter-row{display:flex;margin-bottom:14px;flex-wrap:wrap}.sig-filter-row{align-items:center;justify-content:space-between;gap:12px}.sig-filter-row .filters{margin-bottom:0}.sig-acc{display:flex;flex-direction:column}.sig-fam{border-bottom:1px solid var(--border)}.sig-fam:last-child{border-bottom:none}.sig-fam-head{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px 18px;background:transparent;border:none;cursor:pointer;transition:background .12s}.sig-fam-head:hover{background:var(--bg)}.sig-fam.open .sig-fam-head{background:var(--surface-2)}.sig-caret{color:var(--text-subtle);flex-shrink:0;transition:transform .18s}.sig-caret.open{transform:rotate(90deg);color:var(--brand-dark)}.sig-fam-main{flex:1;min-width:0}.sig-fam-name{font-size:14px;font-weight:650;color:var(--text)}.sig-fam-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.sig-fam-bar{width:90px;height:6px;border-radius:4px;background:var(--bg);overflow:hidden;flex-shrink:0}.sig-fam-bar>div{height:100%;background:var(--success);border-radius:4px}.sig-fam-docs{padding:4px 18px 16px 47px;display:flex;flex-direction:column}.sig-doc-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid color-mix(in oklab,var(--border) 55%,transparent)}.sig-doc-row:last-of-type{border-bottom:none}.sig-doc-ic{width:30px;height:30px;border-radius:8px;background:var(--brand-soft);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sig-doc-main{flex:1;min-width:0}.sig-doc-name{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sig-doc-name .pill{font-size:9px}.sig-doc-date{font-size:11.5px;color:var(--text-muted);margin-top:2px}.sig-doc-action{flex-shrink:0;min-width:72px;text-align:right}.sig-fam-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;margin-top:4px;border-top:1px dashed var(--border)}.set-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.set-col{flex-direction:column}.set-col,.set-row{display:flex;gap:16px}.set-row{align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border)}.set-row:last-child{border-bottom:none}.set-row:first-of-type{padding-top:4px}.set-row-label{min-width:0;flex:1}.set-label{font-size:13.5px;font-weight:600}.set-hint{font-size:12px;color:var(--text-muted);margin-top:2px}.set-row-control{flex-shrink:0}.toggle{width:42px;height:24px;border-radius:13px;border:none;background:var(--border-strong);cursor:pointer;padding:0;position:relative;transition:background .16s}.toggle[data-on=true]{background:var(--brand)}.toggle-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .16s;box-shadow:0 1px 3px rgba(0,0,0,.3)}.toggle[data-on=true] .toggle-knob{left:21px}.day-toggles{display:flex;gap:5px}.day-toggle{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:all .12s}.day-toggle[data-on=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.bars{display:flex;align-items:flex-end;gap:10px;height:200px;padding-top:22px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-val{font-size:10.5px;font-weight:700;color:var(--text-muted);margin-bottom:5px;white-space:nowrap}.bar-fill-wrap{flex:1;width:100%;max-width:40px;display:flex;align-items:flex-end}.bar-fill{width:100%;border-radius:6px 6px 3px 3px;min-height:4px;transition:height .4s}.bar-lbl{font-size:11px;color:var(--text-subtle);margin-top:8px}.rpt-foot{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);font-size:11.5px;color:var(--text-muted)}.pkg-catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pkg-tile{display:flex;flex-direction:column;position:relative}.pkg-tile.featured{border-color:var(--brand-border);box-shadow:0 0 0 1px var(--brand-border),var(--shadow-sm)}.pkg-badge{position:absolute;top:-9px;left:16px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:7px;box-shadow:var(--shadow-sm)}.pkg-tile-name{font-size:14px;font-weight:650;margin-top:4px}.pkg-price{margin-top:8px}.pkg-price .num{font-size:28px;font-weight:700;letter-spacing:-.02em}.pkg-per{font-size:11.5px;margin-top:2px}.pkg-desc,.pkg-per{color:var(--text-muted)}.pkg-desc{font-size:12.5px;line-height:1.5;margin:12px 0;flex:1}.pkg-meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-subtle)}.pkg-meta .icon{opacity:.7}.pkg-foot{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);font-size:11.5px;color:var(--text-muted)}.pkg-tile-actions{display:flex;gap:8px;margin-top:12px}.svc-card{display:flex;flex-direction:column}.svc-head{gap:13px;margin-bottom:12px}.svc-head,.svc-ic{display:flex;align-items:center}.svc-ic{width:46px;height:46px;border-radius:13px;flex-shrink:0;justify-content:center}.svc-ic.private{background:var(--sky-soft);color:var(--sky-ink)}.svc-ic.adaptive{background:var(--violet-soft);color:var(--violet-ink)}.svc-name{font-size:16px;font-weight:700;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.svc-meta{font-size:12.5px;margin-top:2px}.svc-desc,.svc-meta{color:var(--text-muted)}.svc-desc{font-size:13px;line-height:1.55;margin:0 0 14px}.svc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.svc-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px;text-align:center}.svc-stat-v{font-size:19px;font-weight:700;letter-spacing:-.02em}.svc-stat-l{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-top:3px}.kebab-wrap{position:absolute;top:12px;right:12px}.svc-head .kebab-wrap{position:static;margin-left:auto;flex-shrink:0}.card-kebab{width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-subtle);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.card-kebab:hover{background:var(--bg);color:var(--text);border-color:var(--border)}.kebab-backdrop{position:fixed;inset:0;z-index:18}.kebab-menu{position:absolute;right:0;top:32px;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:5px;min-width:156px;box-shadow:var(--shadow-lg)}.kebab-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--danger-ink);font:inherit;font-size:13px;border-radius:7px;cursor:pointer;text-align:left}.kebab-menu button:hover{background:var(--danger-soft)}.modal-overlay{position:fixed;inset:0;z-index:60;background:rgba(8,20,26,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;animation:modal-fade .15s ease}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:460px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden;animation:modal-pop .17s cubic-bezier(.2,.9,.3,1.1)}.modal.wide{max-width:620px}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{gap:12px}.modal-ic,.modal-title{display:flex;align-items:center}.modal-ic{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand-dark);justify-content:center;flex-shrink:0}.modal-h{font-size:16px;font-weight:700;letter-spacing:-.01em}.modal-sub{font-size:12.5px;margin-top:1px}.modal-sub,.modal-x{color:var(--text-muted)}.modal-x{width:30px;height:30px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.modal-x:hover{background:var(--bg);color:var(--text)}.modal-body{padding:18px 20px;flex:1 1 auto;min-height:0;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.modal-check{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:13px;color:var(--text);cursor:pointer}.modal-check input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.modal-info{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:9px;font-size:12px;color:var(--brand-dark)}.modal-info .icon{flex-shrink:0}.modal-summary{margin-top:16px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.ms-row{display:flex;justify-content:space-between;padding:9px 13px;font-size:13px;color:var(--text-muted);border-bottom:1px solid var(--border)}.ms-row:last-child{border-bottom:none}.ms-row span:last-child{color:var(--text);font-weight:600}.ms-row.total{background:var(--surface-2);font-weight:700}.ms-row.total span{color:var(--text);font-size:14px}.toast-stack{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;flex-direction:column;gap:9px;align-items:flex-end}.toast{display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:11px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop);font-size:13px;font-weight:550;color:var(--text);max-width:360px;animation:toast-in .22s cubic-bezier(.2,.9,.3,1.1)}@keyframes toast-in{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}.toast-ic{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.toast.success .toast-ic{background:var(--success)}.toast.info .toast-ic{background:var(--brand)}.toast-msg{line-height:1.35}[data-mode=dark] .btn,[data-mode=dark] .card,[data-mode=dark] .fpill,[data-mode=dark] .kpi,[data-mode=dark] .route-strip,[data-mode=dark] .search input,[data-mode=dark] .sidebar,[data-mode=dark] .stat{backdrop-filter:blur(var(--blur)) saturate(135%);-webkit-backdrop-filter:blur(var(--blur)) saturate(135%)}[data-mode=dark] .card,[data-mode=dark] .kpi,[data-mode=dark] .stat{box-shadow:var(--shadow),inset 0 1px 0 hsla(0,0%,100%,.05)}[data-mode=dark] .kpi:hover,[data-mode=dark] .stat:hover{box-shadow:var(--shadow-lg),inset 0 1px 0 hsla(0,0%,100%,.06)}[data-mode=dark] th{background:hsla(0,0%,100%,.04)}[data-mode=dark] .stat-ic{opacity:.07}[data-mode=dark] body:before{content:"";position:fixed;z-index:0;pointer-events:none;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,var(--brand) 0,transparent 68%);opacity:.1;filter:blur(24px);top:-180px;left:220px}@media (max-width:1080px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.edit-cols,.grid-2,.grid-3,.sd-grid{grid-template-columns:1fr}.save-bar{left:0}.route-grid{grid-template-columns:1fr}.route-map-col{position:static}.msg-shell{grid-template-columns:1fr;height:auto}.msg-list{max-height:320px}.msg-thread{height:70vh}.doc-grid,.set-cols{grid-template-columns:1fr}.pkg-catalog{grid-template-columns:repeat(2,1fr)}}.ss-wrap{position:relative}.ss-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.ss-trigger:disabled{opacity:.6;cursor:not-allowed}.ss-caret,.ss-placeholder{color:var(--text-subtle)}.ss-caret{flex-shrink:0}.ss-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;background:var(--popover);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-pop);overflow:hidden}.ss-menu-portal{right:auto}.ss-filters{display:flex;gap:5px;padding:8px 8px 0;flex-wrap:wrap}.ss-fchip{font:inherit;font-size:11.5px;font-weight:600;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:3px 9px;cursor:pointer;transition:all .12s}.ss-fchip:hover{border-color:var(--border-strong);color:var(--text)}.ss-fchip[data-on=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.ss-search{width:100%;border:none;border-bottom:1px solid var(--border);background:transparent;padding:9px 12px;font-size:13px;color:var(--text);outline:none}.ss-options{max-height:240px;overflow-y:auto;padding:4px}.ss-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:7px;font-size:13px;color:var(--text);background:transparent;border:none;cursor:pointer;text-align:left}.ss-option:hover{background:var(--bg)}.ss-option[data-on=true]{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.ss-empty{padding:12px;text-align:center;color:var(--text-muted);font-size:12.5px}.menu-label{padding:8px 12px 3px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle)}.menu-label:first-child{padding-top:4px}.fam-card{display:block;padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer}.fam-card:active{background:var(--bg)}.fam-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.fam-card-name{font-weight:650;font-size:15px}.fam-card-sub{font-size:12.5px;color:var(--text-muted);margin-top:2px;gap:8px}.fam-card-kids,.fam-card-sub{display:flex;align-items:center;flex-wrap:wrap}.fam-card-kids{gap:6px;margin-top:10px}.day-sep{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:12px 2px 6px;border-top:1px solid var(--border);margin-top:4px}.day-sep:first-child{border-top:none;margin-top:0;padding-top:2px}@media (max-width:640px){.grid-12{grid-template-columns:1fr}}@media (max-width:560px){.toast-stack{left:16px;right:16px;align-items:stretch}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgba(17,52,62,.2);border-radius:6px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:rgba(17,52,62,.32);background-clip:padding-box}[data-mode=dark] ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.14);background-clip:padding-box}[data-mode=dark] ::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.24);background-clip:padding-box}.pill-group{display:inline-flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px;gap:2px}.pill-group-button{padding:6px 13px;font-size:12.5px;font-weight:550;border-radius:7px;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.pill-group-button-active{background:var(--brand);color:#fff}.legal-prose{color:var(--text);font-size:15px;line-height:1.7}.legal-prose h1{font-size:26px;font-weight:700;letter-spacing:-.01em;margin:0 0 8px;color:var(--text)}.legal-prose h2{font-size:19px;margin:30px 0 10px;padding-top:18px;border-top:1px solid var(--border)}.legal-prose h2,.legal-prose h3{font-weight:650;color:var(--text)}.legal-prose h3{font-size:15.5px;margin:20px 0 6px}.legal-prose ol,.legal-prose p,.legal-prose ul{margin:0 0 14px;color:var(--text-muted)}.legal-prose ol,.legal-prose ul{padding-left:22px}.legal-prose li{margin:0 0 7px}.legal-prose li::marker{color:var(--text-subtle)}.legal-prose strong{color:var(--text);font-weight:650}.legal-prose a{color:var(--brand-dark);text-decoration:underline}.legal-prose a:hover{color:var(--brand)}.legal-prose hr{border:none;border-top:1px solid var(--border);margin:24px 0}.legal-prose h1+p{font-size:15.5px;color:var(--text-muted)}.legal-prose h2:first-of-type{border-top:none;padding-top:0}.area-chart{margin-top:6px}.area-plot{position:relative}.area-svg{width:100%;height:168px;display:block}.area-guide{top:0;bottom:0;width:1px;background:var(--border-strong);transform:translateX(-.5px)}.area-guide,.area-hdot{position:absolute;pointer-events:none}.area-hdot{width:11px;height:11px;border-radius:50%;border:2.5px solid var(--surface);transform:translate(-50%,-50%);box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 22%,transparent)}.area-tip{position:absolute;transform:translate(-50%,calc(-100% - 14px));background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;padding:6px 10px;pointer-events:none;box-shadow:var(--shadow-lg);white-space:nowrap;text-align:center;z-index:3}.area-tip.flip{transform:translate(-100%,calc(-100% - 14px))}.area-tip-v{font-size:14px;font-weight:700;color:var(--text);line-height:1.1}.area-tip-l{font-size:10.5px;color:var(--text-muted);margin-top:1px}.area-x{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-subtle);margin-top:8px}.area-x span{transition:color .12s}.area-x span.on{color:var(--brand-dark);font-weight:700}.donut-wrap{display:flex;align-items:center;gap:18px;padding:6px 0 2px}.donut-svg{width:132px;height:132px;flex-shrink:0}.donut-c-val{font-size:24px;font-weight:700;fill:var(--text);font-family:var(--num)}.donut-c-lbl{font-size:10px;fill:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.donut-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}.donut-leg{display:flex;align-items:center;gap:8px;font-size:12.5px}.donut-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.donut-leg-l{color:var(--text-muted)}.donut-leg-v{margin-left:auto;font-weight:700;color:var(--text);white-space:nowrap}.grid-rev{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:16px;align-items:stretch}.grid-rev>.card{display:flex;flex-direction:column}.grid-rev .area-chart{margin-top:auto}.permile-card{gap:16px}.permile-card,.permile-net{display:flex;flex-direction:column}.permile-net{margin-top:10px;gap:4px;align-items:flex-start}.permile-net-v{font-size:34px;font-weight:700;letter-spacing:-.02em;color:var(--success-ink);line-height:1}.permile-net-l{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.permile-net .pill{margin-top:4px}.permile-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.permile-tags .pill{margin-top:0}.permile-share{font-size:11px}.permile-bars{display:flex;flex-direction:column;gap:12px}.permile-row{display:flex;align-items:center;gap:10px}.permile-lbl{width:92px;flex-shrink:0;font-size:12px;color:var(--text-muted);font-weight:550}.permile-track{flex:1;height:22px;background:var(--bg);border-radius:6px;overflow:hidden}.permile-fill{height:100%;border-radius:6px;transition:width .4s}.permile-fill.rev{background:linear-gradient(to right,var(--brand),#22d3ee)}.permile-fill.cost{background:var(--danger)}.permile-val{width:52px;flex-shrink:0;text-align:right;font-size:13.5px;font-weight:700}.permile-bars .rpt-foot{margin-top:2px}.pm-toggle{width:100%;margin:8px 0 4px}.pm-toggle .seg-btn{padding:5px 8px;font-size:12px}.renew-list{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.renew-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid color-mix(in oklab,var(--border) 55%,transparent)}.renew-row:last-child{border-bottom:none}.renew-main{flex:1;min-width:0}.renew-fam{font-size:13px;font-weight:650;color:var(--text)}.renew-left{font-size:11.5px;color:var(--text-muted);margin-top:1px;display:block}.renew-val{font-size:13px;font-weight:700;color:var(--text);width:48px;text-align:right;flex-shrink:0}.mrr-hero{display:flex;align-items:baseline;gap:11px;margin:4px 0 14px;flex-wrap:wrap}.mrr-hero-v{font-size:32px;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1}.mrr-hero-u{font-size:14px;font-weight:600;color:var(--text-muted);margin-left:2px}.mrr-move{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.mrr-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.mrr-stat-v{font-size:16px;font-weight:700;letter-spacing:-.01em}.mrr-stat-v.up{color:var(--success-ink)}.mrr-stat-v.down{color:var(--danger-ink)}.mrr-stat-l{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-top:3px}.mrr-split-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);margin-bottom:10px}.mrr-spark{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);flex:1;display:flex;flex-direction:column}.mrr-spark-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-bottom:4px}.mrr-spark-head .num{color:var(--brand-dark);font-weight:700}.spark-svg{width:100%;display:block;flex:1;min-height:90px}.grid-12>.card{display:flex;flex-direction:column}.infotip{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:5px;cursor:help}.infotip-ic{color:var(--text-subtle);transition:color .12s}.infotip:focus .infotip-ic,.infotip:hover .infotip-ic{color:var(--brand-dark)}.infotip-pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);width:230px;z-index:30;background:rgba(20,31,39,.82);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);color:var(--text);border:1px solid color-mix(in oklab,var(--text) 16%,transparent);border-radius:10px;padding:9px 11px;font-size:11.5px;font-weight:500;line-height:1.5;letter-spacing:0;text-transform:none;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .14s,transform .14s}.infotip:focus .infotip-pop,.infotip:hover .infotip-pop{opacity:1;transform:translateX(-50%) translateY(0)}.infotip-pop:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid color-mix(in oklab,var(--text) 16%,transparent)}[data-mode=light] .infotip-pop{background:hsla(0,0%,100%,.82);color:var(--text);border-color:rgba(17,52,62,.14)}[data-mode=light] .infotip-pop:after{border-top-color:rgba(17,52,62,.14)}.grid-atf{display:grid;grid-template-columns:1fr 1.35fr;gap:16px;margin-bottom:16px;align-items:stretch}.atrisk-list,.grid-atf>.card{display:flex;flex-direction:column}.atrisk-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid color-mix(in oklab,var(--border) 55%,transparent)}.atrisk-row:last-child{border-bottom:none}.atrisk-rmain{flex:1;min-width:0}.atrisk-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.atrisk-rmain .atrisk-top{margin-bottom:3px}.atrisk-fam{font-size:13.5px;font-weight:650;color:var(--text)}.atrisk-detail{font-size:11.5px;color:var(--text-muted)}.atrisk-row .btn{flex-shrink:0}@media (max-width:1080px){.grid-atf,.grid-rev{grid-template-columns:1fr}}.first\:mt-0:first-child{margin-top:0}.first\:pt-0:first-child{padding-top:0}.last\:border-0:last-child{border-width:0}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-brand-border:hover{border-color:var(--brand-border)}.hover\:bg-bg:hover{background-color:var(--bg)}.hover\:bg-brand-soft:hover{background-color:var(--brand-soft)}.hover\:bg-danger-soft:hover{background-color:var(--danger-soft)}.hover\:bg-success:hover{background-color:var(--success)}.hover\:bg-surface-2:hover{background-color:var(--surface-2)}.hover\:bg-warn-soft:hover{background-color:var(--warn-soft)}.hover\:text-brand:hover{color:var(--brand)}.hover\:text-brand-dark:hover{color:var(--brand-dark)}.hover\:text-danger-ink:hover{color:var(--danger-ink)}.hover\:text-text:hover{color:var(--text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-sm:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm)}.hover\:brightness-105:hover{--tw-brightness:brightness(1.05)}.hover\:brightness-105:hover,.hover\:brightness-110:hover{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)}.hover\:brightness-110:hover{--tw-brightness:brightness(1.1)}.hover\:brightness-95:hover{--tw-brightness:brightness(.95);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)}.focus\:border-brand:focus{border-color:var(--brand)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-brand:focus{--tw-ring-color:var(--brand)}.active\:bg-bg:active{background-color:var(--bg)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:w-auto{width:auto}.sm\:flex-initial{flex:0 1 auto}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:items-center{align-items:center}.sm\:rounded-2xl{border-radius:1rem}.sm\:p-4{padding:1rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:px-\[30px\]{padding-left:30px;padding-right:30px}.sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:left-0{left:0}.lg\:right-auto{right:auto}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:translate-x-0{--tw-translate-x:0px;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))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[248px_1fr\]{grid-template-columns:248px 1fr}.lg\:border-l-0{border-left-width:0}.lg\:border-r{border-right-width:1px}.lg\:pt-\[22px\]{padding-top:22px}}.\[\&\>\*\]\:mx-auto>*{margin-left:auto;margin-right:auto}