:root{color-scheme:light;--bg: #f5f7fb;--bg-sidebar: #fafbfe;--surface: #ffffff;--surface-2: #f9f9fb;--surface-3: #ebebf0;--fill: rgba(118, 118, 128, .12);--fill-2: rgba(118, 118, 128, .07);--fill-strong: rgba(118, 118, 128, .2);--field: #f2f2f7;--segmented-bg: #e9edf4;--card-border: #e7ecf4;--tile-border: #e4eaf4;--tile-bg: rgba(255, 255, 255, .7);--separator: rgba(60, 60, 67, .15);--separator-strong: rgba(60, 60, 67, .29);--field-border: rgba(60, 60, 67, .12);--chevron: #c4c4c7;--text: #1c1c1e;--text-2: #636366;--text-3: #6c6c70;--accent: #007aff;--accent-fill: #0071e3;--accent-fill-hover: #0066cc;--accent-fill-active: #0059b3;--accent-text: #0066cc;--accent-tint: rgba(0, 122, 255, .12);--accent-tint-strong: rgba(0, 122, 255, .2);--accent-ink: #0055b3;--success: #1e7b34;--success-soft: rgba(52, 199, 89, .15);--success-dot: #34c759;--warning: #9a4a00;--warning-soft: rgba(255, 149, 0, .16);--warning-dot: #ff9500;--warning-icon: #c93400;--danger: #c0000f;--danger-soft: rgba(255, 59, 48, .11);--danger-dot: #ff3b30;--danger-icon: #d70015;--violet: #3634a3;--violet-soft: rgba(88, 86, 214, .13);--violet-dot: #5856d6;--info: var(--accent-text);--info-soft: var(--accent-tint);--info-dot: var(--accent);--neutral: #636366;--neutral-soft: var(--fill);--neutral-dot: #8e8e93;--c-blue: #007aff;--c-purple: #af52de;--c-indigo: #5856d6;--c-pink: #ff2d55;--c-brown: #a2845e;--c-teal: #30b0c7;--c-cyan: #32ade6;--c-green: #34c759;--c-orange: #ff9500;--hero-gradient: linear-gradient(120deg, #0060ce, #0872de 70%, #0871d9);--hero-border: #146fce;--focus: var(--accent);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI Variable Text", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI Variable Display", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-rounded: ui-rounded, "SF Pro Rounded", var(--font-display);--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--fs-2xs: 11px;--fs-xs: 13px;--fs-sm: 14px;--fs-table: 15px;--fs-base: 15px;--fs-md: 17px;--fs-lg: 20px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 34px;--lh: 1.45;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--track-large: -.025em;--track-title: -.015em;--track-body: -.009em;--track-caption: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--gutter: 32px;--group-pad: 20px;--r-xs: 6px;--r-sm: 8px;--r-md: 10px;--r-lg: 12px;--r-tile: 16px;--r-card: 18px;--r-group: 20px;--r-sheet: 24px;--r-pill: 999px;--shadow-card: 0 2px 5px rgba(40, 63, 98, .02), 0 6px 15px rgba(40, 63, 98, .02);--shadow-group: 0 2px 6px rgba(27, 48, 83, .024), 0 8px 24px rgba(27, 48, 83, .04);--shadow-hero: 0 6px 20px rgba(0, 107, 206, .125);--shadow-thumb: 0 3px 8px rgba(0, 0, 0, .12), 0 1px 1px rgba(0, 0, 0, .04);--shadow-pop: 0 18px 48px rgba(0, 0, 0, .16), 0 3px 10px rgba(0, 0, 0, .06);--shadow-sheet: 0 -10px 40px rgba(0, 0, 0, .14);--material-bar: rgba(255, 255, 255, .61);--material-tab: rgba(249, 249, 251, .82);--material-drawer: rgba(242, 242, 247, .9);--material-hud: rgba(30, 30, 32, .84);--material-blur: saturate(180%) blur(20px);--overlay: rgba(0, 0, 0, .28);--control-h: 44px;--control-h-sm: 36px;--row-h: 44px;--sidebar-w: 256px;--content-max: 1512px;--bar-h: 68px;--tabbar-h: 58px;--z-header: 20;--z-nav: 30;--z-drawer: 40;--z-modal: 50;--z-toast: 60;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--dur-press: .12s;--dur-fast: .16s;--dur-base: .22s;--dur-sheet: .36s;--transition: var(--dur-fast) ease}@media (max-width: 1250px) and (min-width: 1024px){:root{--gutter: 24px}}@media (max-width: 1023px){:root{--gutter: 20px}}@media (max-width: 639px){:root{--gutter: 16px;--group-pad: 16px;--r-group: 18px;--fs-3xl: 32px;--fs-base: 16px;--fs-sm: 15px;--bar-h: 58px}}@media (pointer: coarse){:root{--control-h: 44px;--control-h-sm: 36px}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #000000;--bg-sidebar: #0b0b0d;--surface: #1c1c1e;--surface-2: #232326;--surface-3: #2c2c2e;--fill: rgba(118, 118, 128, .24);--fill-2: rgba(118, 118, 128, .14);--fill-strong: rgba(118, 118, 128, .36);--field: #2c2c2e;--segmented-bg: #2c2c2e;--card-border: #2c2c2e;--tile-border: #2c2c2e;--tile-bg: rgba(28, 28, 30, .75);--separator: rgba(84, 84, 88, .6);--separator-strong: rgba(84, 84, 88, .9);--field-border: rgba(84, 84, 88, .5);--chevron: #5a5a5e;--text: #f5f5f7;--text-2: #aeaeb2;--text-3: #8e8e93;--accent: #0a84ff;--accent-fill: #0a84ff;--accent-fill-hover: #2b95ff;--accent-fill-active: #0071e3;--accent-text: #409cff;--accent-tint: rgba(10, 132, 255, .18);--accent-tint-strong: rgba(10, 132, 255, .3);--success: #30d158;--success-soft: rgba(48, 209, 88, .18);--success-dot: #30d158;--warning: #ffb340;--warning-soft: rgba(255, 159, 10, .2);--warning-dot: #ff9f0a;--warning-icon: #ff9f0a;--danger: #ff6961;--danger-soft: rgba(255, 69, 58, .18);--danger-dot: #ff453a;--danger-icon: #ff453a;--violet: #a5a3ff;--violet-soft: rgba(94, 92, 230, .22);--violet-dot: #5e5ce6;--neutral: #aeaeb2;--neutral-dot: #8e8e93;--hero-gradient: linear-gradient(120deg, #0a5bd6, #0a84ff 75%, #2b95ff);--hero-border: #2b7fe0;--shadow-card: none;--shadow-group: 0 8px 24px rgba(0, 0, 0, .4);--shadow-hero: 0 6px 20px rgba(10, 132, 255, .25);--material-bar: rgba(22, 22, 24, .72);--material-tab: rgba(22, 22, 24, .82);--material-drawer: rgba(28, 28, 30, .92);--overlay: rgba(0, 0, 0, .5)}}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--bg-sidebar: #0b0b0d;--surface: #1c1c1e;--surface-2: #232326;--surface-3: #2c2c2e;--fill: rgba(118, 118, 128, .24);--fill-2: rgba(118, 118, 128, .14);--fill-strong: rgba(118, 118, 128, .36);--field: #2c2c2e;--segmented-bg: #2c2c2e;--card-border: #2c2c2e;--tile-border: #2c2c2e;--tile-bg: rgba(28, 28, 30, .75);--separator: rgba(84, 84, 88, .6);--separator-strong: rgba(84, 84, 88, .9);--field-border: rgba(84, 84, 88, .5);--chevron: #5a5a5e;--text: #f5f5f7;--text-2: #aeaeb2;--text-3: #8e8e93;--accent: #0a84ff;--accent-fill: #0a84ff;--accent-fill-hover: #2b95ff;--accent-fill-active: #0071e3;--accent-text: #409cff;--accent-tint: rgba(10, 132, 255, .18);--accent-tint-strong: rgba(10, 132, 255, .3);--success: #30d158;--success-soft: rgba(48, 209, 88, .18);--success-dot: #30d158;--warning: #ffb340;--warning-soft: rgba(255, 159, 10, .2);--warning-dot: #ff9f0a;--warning-icon: #ff9f0a;--danger: #ff6961;--danger-soft: rgba(255, 69, 58, .18);--danger-dot: #ff453a;--danger-icon: #ff453a;--violet: #a5a3ff;--violet-soft: rgba(94, 92, 230, .22);--violet-dot: #5e5ce6;--neutral: #aeaeb2;--neutral-dot: #8e8e93;--hero-gradient: linear-gradient(120deg, #0a5bd6, #0a84ff 75%, #2b95ff);--hero-border: #2b7fe0;--shadow-card: none;--shadow-group: 0 8px 24px rgba(0, 0, 0, .4);--shadow-hero: 0 6px 20px rgba(10, 132, 255, .25);--material-bar: rgba(22, 22, 24, .72);--material-tab: rgba(22, 22, 24, .82);--material-drawer: rgba(28, 28, 30, .92);--overlay: rgba(0, 0, 0, .5)}@media (prefers-reduced-motion: reduce){:root{--dur-press: 0s;--dur-base: .16s;--dur-sheet: .18s}}@media (prefers-reduced-transparency: reduce){:root{--material-bar: var(--bg);--material-tab: var(--surface-2);--material-drawer: var(--bg-sidebar);--material-hud: #1c1c1e;--material-blur: none}}@media (prefers-contrast: more){:root{--separator: rgba(60, 60, 67, .45);--separator-strong: #6c6c70;--field-border: #6c6c70;--card-border: #c7cdd8;--text-2: #48484a;--text-3: #48484a}}*,:before,:after{--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: rgb(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: rgb(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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font);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,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{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}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.bottom-2{bottom:.5rem}.left-4{left:1rem}.top-1\/2{top:50%}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-14{height:3.5rem}.h-20{height:5rem}.h-56{height:14rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-14{width:3.5rem}.w-56{width:14rem}.w-full{width:100%}.min-w-0{min-width:0px}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.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))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:12px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-ink{border-color:var(--text)}.border-line-card{border-color:var(--card-border)}.bg-black\/50{background-color:#00000080}.object-cover{-o-object-fit:cover;object-fit:cover}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-10{padding-left:2.5rem}.text-right{text-align:right}.text-sm{font-size:var(--fs-sm);line-height:1.45}.text-xs{font-size:13px;line-height:1.4}.font-semibold{font-weight:600}.text-ink-3{color:var(--text-3)}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.overline{text-decoration-line:overline}.opacity-0{opacity:0}.outline{outline-style:solid}.ring-2{--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(2px + 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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width: 768px){.md\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh);letter-spacing:var(--track-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}body.has-glow{background:radial-gradient(700px 420px at 8% -5%,rgba(0,122,255,.07),transparent 70%),radial-gradient(600px 380px at 95% 10%,rgba(88,86,214,.05),transparent 70%),var(--bg);background-attachment:fixed}h1,h2,h3,h4,p{margin:0}a{color:var(--accent-text);text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:3px solid var(--accent-tint-strong);outline-offset:2px;border-radius:var(--r-md)}.num,.tabular{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-2);letter-spacing:0}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.icon{width:20px;height:20px;stroke-width:2;flex:none}.icon-sm{width:16px;height:16px}.icon-lg{width:24px;height:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;background:linear-gradient(to right,var(--bg-sidebar) calc(var(--sidebar-w) - 1px),var(--separator) 0 var(--sidebar-w),transparent 0)}.app-main{min-width:0}.content{max-width:var(--content-max);margin:0 auto;padding:28px var(--gutter) 64px}@media (max-width: 1023px){.app{grid-template-columns:1fr;background:none}}.topbar{position:sticky;top:0;z-index:var(--z-header);height:var(--bar-h);display:flex;align-items:center;gap:12px;padding:0 20px;background:var(--material-bar);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border-bottom:1px solid transparent;transition:border-color var(--transition)}.topbar.is-scrolled{border-bottom-color:var(--separator)}.topbar-title{display:flex;align-items:center;gap:10px;font-size:var(--fs-base);color:var(--text-2);min-width:0}.topbar-spacer{flex:1}.topbar-title{overflow:hidden;white-space:nowrap}@media (max-width: 639px){.topbar{padding:0 12px;gap:6px}.topbar-title:has(.back-link)>:not(.back-link){display:none}.topbar-title:has(.back-link){font-size:0}.topbar-title .back-link{font-size:var(--fs-base)}}.topbar .menu-btn{display:none}@media (max-width: 1023px){.topbar .menu-btn{display:inline-flex}}.logo{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;background:linear-gradient(145deg,#2f8cff,#0060ce);color:#fff;font-size:13px;font-weight:700;letter-spacing:0;box-shadow:inset 0 0 0 1px #ffffff2e;flex:none}.logo-lg{width:44px;height:44px;border-radius:var(--r-lg);font-size:17px}.search{display:flex;align-items:center;gap:10px;width:280px;height:var(--control-h);padding:0 8px 0 12px;background:var(--field);border:1px solid var(--field-border);border-radius:var(--r-lg);color:var(--text-3);font-size:var(--fs-base)}.search span:not(.kbd){flex:1;text-align:left}.kbd{font-size:12px;font-weight:500;color:var(--text-2);border:1px solid var(--separator);border-radius:var(--r-xs);padding:1px 6px;background:var(--surface)}@media (max-width: 767px){.search{width:var(--control-h-sm);height:var(--control-h-sm);padding:0;justify-content:center;background:transparent;border:0;color:var(--text-2);border-radius:var(--r-md)}.search span,.search .kbd{display:none}}.badge-wrap{position:relative}.badge{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:var(--r-pill);background:var(--accent-fill);color:#fff;font-size:var(--fs-2xs);font-weight:700;letter-spacing:0;border:2px solid var(--bg)}.status-pill{display:inline-flex;align-items:center;gap:7px;height:var(--control-h-sm);padding:0 12px;border-radius:var(--r-pill);background:var(--warning-soft);color:var(--warning);font-size:var(--fs-sm);font-weight:600}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warning-dot)}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--bg-sidebar);border-right:1px solid var(--separator);padding:20px 14px;z-index:var(--z-nav)}.sidebar-head{display:flex;align-items:center;gap:12px;padding:4px 8px 20px}.sidebar-head h2{font-size:var(--fs-lg);font-weight:700;letter-spacing:var(--track-title);line-height:1.15}.sidebar-head p{font-size:var(--fs-xs);color:var(--text-2)}.sidebar .sidebar-close{display:none;margin-left:auto}.nav-label{font-size:var(--fs-xs);font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;padding:16px 12px 8px}.nav-item{display:flex;align-items:center;gap:12px;height:44px;padding:0 10px;margin-bottom:2px;border-radius:var(--r-lg);color:var(--text);font-size:16px;font-weight:500;transition:background var(--transition)}.nav-item:hover{background:var(--fill-2)}.nav-item .nav-ico{width:28px;height:28px;border-radius:var(--r-sm);display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--c, var(--c-blue)) 14%,transparent);color:var(--c, var(--c-blue))}.nav-item .nav-ico svg{width:16px;height:16px}.nav-item.is-active{background:var(--accent-fill);color:#fff}.nav-item.is-active .nav-ico{background:#fff3;color:#fff}.nav-count{margin-left:auto;min-width:24px;height:22px;padding:0 7px;display:grid;place-items:center;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent-text);font-size:var(--fs-xs);font-weight:600}.nav-item.is-active .nav-count{background:#ffffff38;color:#fff}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-drawer) - 1);background:var(--overlay);opacity:0;pointer-events:none;transition:opacity var(--dur-sheet) var(--ease-out)}@media (max-width: 1023px){.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(320px,86vw);z-index:var(--z-drawer);background:var(--material-drawer);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);box-shadow:var(--shadow-pop);transform:translate(-104%);transition:transform var(--dur-sheet) var(--ease-drawer)}.sidebar .sidebar-close{display:inline-grid}.drawer-open .sidebar{transform:none}.drawer-open .scrim{opacity:1;pointer-events:auto}}.tabbar{display:none}@media (max-width: 639px){.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--material-tab);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border-top:1px solid var(--separator)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:500;color:var(--text-3)}.tabbar a.is-active{color:var(--accent)}.tabbar svg{width:24px;height:24px}.content{padding-bottom:calc(var(--tabbar-h) + 32px)}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-2);margin-bottom:10px}.eyebrow svg{width:16px;height:16px;color:var(--accent)}.page-title{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:700;line-height:1.12;letter-spacing:-.04em}.page-sub{font-size:var(--fs-md);color:var(--text-2);margin-top:8px}.page-actions{display:flex;gap:10px}@media (max-width: 639px){.page-actions{width:100%}.page-actions .btn{flex:1}}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:40px 0 16px}.section-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-lg);font-weight:700;letter-spacing:var(--track-title)}.section-meta{font-size:var(--fs-sm);color:var(--text-2);margin-top:4px}.info-btn{width:22px;height:22px;display:inline-grid;place-items:center;color:var(--accent);border-radius:50%}.info-btn svg{width:18px;height:18px}.link{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-base);font-weight:500;color:var(--accent-text)}.link svg{width:16px;height:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h);padding:0 16px;border-radius:var(--r-md);font-size:var(--fs-base);font-weight:600;white-space:nowrap;transition:background var(--transition),transform var(--dur-press) var(--ease-out),opacity var(--transition);-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn svg{width:18px;height:18px}.btn:active{transform:scale(.97)}.btn[disabled],.btn.is-disabled{opacity:.45;pointer-events:none}.btn-sm{height:var(--control-h-sm);padding:0 12px;font-size:var(--fs-sm)}.btn-block{width:100%}.btn-primary{background:var(--accent-fill);color:#fff}.btn-primary:hover{background:var(--accent-fill-hover)}.btn-primary:active{background:var(--accent-fill-active)}.btn-secondary{background:var(--fill);color:var(--accent-text)}.btn-secondary:hover{background:var(--fill-strong)}.btn-outline{background:var(--surface);color:var(--text);border:1px solid var(--card-border);font-weight:500}.btn-outline:hover{background:var(--surface-2)}.btn-outline .chev{color:var(--text-3);width:14px;height:14px}.btn-ghost{background:transparent;color:var(--accent-text);padding:0 8px}.btn-ghost:hover{background:var(--accent-tint)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-icon,.btn-close{display:inline-grid;place-items:center;flex:none}.btn-icon{width:var(--control-h-sm);height:var(--control-h-sm);padding:0;border-radius:var(--r-md);color:var(--text-2)}.btn-icon:hover{background:var(--fill-2)}.btn-icon.is-filled{background:var(--fill)}.btn-close{width:36px;height:36px;padding:0;border-radius:50%;background:var(--fill);color:var(--text-2)}.btn-close:hover{background:var(--fill-strong)}.btn-close svg{width:18px;height:18px}.icon-tile{--c: var(--c-blue);width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:var(--r-lg);background:color-mix(in srgb,var(--c) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 8%,var(--surface));color:var(--c)}.icon-tile svg{width:20px;height:20px}.icon-tile.sm{width:32px;height:32px;border-radius:10px}.icon-tile.sm svg{width:18px;height:18px}.icon-tile.lg{width:48px;height:48px;border-radius:14px}.icon-tile.lg svg{width:24px;height:24px}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tile{display:flex;align-items:center;gap:12px;padding:12px;min-height:64px;background:var(--tile-bg);border:1px solid var(--tile-border);border-radius:var(--r-tile);color:var(--text);transition:background var(--transition),box-shadow var(--transition),transform var(--dur-press) var(--ease-out)}.tile:hover{background:var(--surface);box-shadow:var(--shadow-group)}.tile:active{transform:scale(.98)}.tile strong{display:block;font-size:var(--fs-base);font-weight:600;line-height:1.3}.tile small{display:block;font-size:var(--fs-sm);color:var(--text-2)}@media (max-width: 1023px){.tiles{grid-template-columns:repeat(2,1fr)}}@media (max-width: 639px){.tiles{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 4px;scrollbar-width:none}.tiles::-webkit-scrollbar{display:none}.tile{flex:0 0 72%;scroll-snap-align:start}}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1023px){.metrics{grid-template-columns:repeat(2,1fr)}}.metric{display:flex;align-items:center;gap:12px;padding:16px;color:var(--text);transition:border-color var(--transition),box-shadow var(--transition)}a.metric:hover{box-shadow:var(--shadow-group)}.metric b{display:block;font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;letter-spacing:var(--track-large);line-height:1.1;font-variant-numeric:tabular-nums}.metric small{font-size:var(--fs-sm);color:var(--text-2)}.metric.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.select-pill{position:relative;display:inline-flex;align-items:center;gap:8px;height:var(--control-h);padding:0 14px;background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r-pill)}.select-pill label{font-size:var(--fs-base);color:var(--text-2)}.select-pill select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--text);font:inherit;font-size:16px;font-weight:600;padding:0 22px 0 2px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3E%3Cpath d='M1 5l3.5-3.5L8 5M1 9l3.5 3.5L8 9' fill='none' stroke='%236c6c70' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:9px 14px}.select-pill select:focus{outline:none}.select-pill:focus-within{box-shadow:0 0 0 3px var(--accent-tint-strong)}.segmented{display:inline-flex;gap:2px;height:var(--control-h);padding:4px;background:var(--segmented-bg);border-radius:var(--r-lg)}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border-radius:9px;font-size:var(--fs-base);font-weight:500;color:var(--text);transition:background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.segmented button:hover:not(.is-active){background:#ffffff73}.segmented button.is-active{background:var(--surface);box-shadow:var(--shadow-thumb);font-weight:600}.segmented.sm{height:36px;padding:3px;border-radius:var(--r-md)}.segmented.sm button{padding:0 10px;font-size:var(--fs-sm);border-radius:7px}.segmented.block{display:flex;width:100%}.segmented.block button{flex:1}.card{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r-card);box-shadow:var(--shadow-card)}.card-pad{padding:var(--group-pad)}.card-foot{display:flex;justify-content:center;align-items:center;padding:14px;border-top:1px solid var(--separator);background:var(--surface-2);border-radius:0 0 var(--r-card) var(--r-card)}.divider{height:1px;background:var(--separator);border:0;margin:14px 0}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1023px){.kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width: 639px){.kpis{grid-template-columns:1fr}}.kpi{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:16px;min-height:196px;background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r-card);box-shadow:var(--shadow-card);color:var(--text);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}a.kpi:hover{transform:translateY(-1px);box-shadow:var(--shadow-group)}.kpi-head{display:flex;align-items:center;gap:10px;font-weight:500;margin-bottom:14px}.kpi-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.kpi-row+.kpi-row{margin-top:6px}.cur{font-size:var(--fs-xs);font-weight:600;color:var(--text-2);letter-spacing:0;margin-right:2px}.kpi-value{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;letter-spacing:var(--track-large);line-height:1.1;font-variant-numeric:tabular-nums}.kpi-value-2{font-size:var(--fs-md);font-weight:600;font-variant-numeric:tabular-nums}.kpi-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--separator);font-size:var(--fs-sm);color:var(--text-2)}.kpi-hero{background:var(--hero-gradient);border-color:var(--hero-border);box-shadow:var(--shadow-hero);color:#fff}.kpi-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;border:28px solid rgba(255,255,255,.06);pointer-events:none}.kpi-hero .cur{color:#ffffffd9}.kpi-hero .kpi-foot{border-top-color:#ffffff38;color:#ffffffe6}.kpi-hero .icon-tile{background:#ffffff2e;border-color:#ffffff1f;color:#fff}.kpi-hero .delta{background:#ffffff2e;color:#fff}.delta{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 6px;border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums}.delta-up{background:var(--success-soft);color:var(--success)}.delta-down{background:var(--danger-soft);color:var(--danger)}.chip{--chip-fg: var(--neutral);--chip-bg: var(--neutral-soft);--chip-dot: var(--neutral-dot);display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);background:var(--chip-bg);color:var(--chip-fg);font-size:var(--fs-xs);font-weight:600;letter-spacing:0;white-space:nowrap}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--chip-dot)}.chip.no-dot:before{display:none}.chip-success{--chip-fg: var(--success);--chip-bg: var(--success-soft);--chip-dot: var(--success-dot)}.chip-warning{--chip-fg: var(--warning);--chip-bg: var(--warning-soft);--chip-dot: var(--warning-dot)}.chip-danger{--chip-fg: var(--danger);--chip-bg: var(--danger-soft);--chip-dot: var(--danger-dot)}.chip-info{--chip-fg: var(--info);--chip-bg: var(--info-soft);--chip-dot: var(--info-dot)}.chip-violet{--chip-fg: var(--violet);--chip-bg: var(--violet-soft);--chip-dot: var(--violet-dot)}.chip-outline{background:transparent;border:1px solid color-mix(in srgb,var(--warning-dot) 45%,transparent);color:var(--warning)}.chip-outline:before{display:none}.count{display:inline-grid;place-items:center;min-width:26px;height:24px;padding:0 8px;border-radius:var(--r-pill);background:var(--fill);color:var(--text-2);font-size:var(--fs-xs);font-weight:600}.split{display:grid;grid-template-columns:7fr 5fr;gap:16px;align-items:start}@media (max-width: 1023px){.split{grid-template-columns:1fr}}.chart-card{padding:20px 22px}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.chart-toolbar .group{display:flex;align-items:center;gap:8px}.overline{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.big-value{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:700;letter-spacing:var(--track-large);line-height:1.15;font-variant-numeric:tabular-nums}.big-value .cur{font-size:20px;font-weight:500}.chart{width:100%;height:220px;margin-top:16px;display:block;overflow:visible}.chart .grid line{stroke:var(--separator);stroke-dasharray:3 4}.chart .axis text{fill:var(--text-3);font-size:13px}.chart .area{fill:url(#areaFill)}.chart .line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart .dot{fill:var(--accent)}.list-card{overflow:hidden}.list-head{padding:16px 16px 12px;display:grid;gap:12px}.list-head-top{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-base)}.list-row{display:flex;gap:12px;padding:14px 16px;position:relative}.list-row+.list-row:before{content:"";position:absolute;top:0;left:60px;right:16px;height:1px;background:var(--separator)}.list-row-body{flex:1;min-width:0}.list-row-title{font-weight:600}.list-row-line{color:var(--text-2)}.list-row-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:var(--fs-sm);color:var(--text-3)}.list-row-foot a{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-base);font-weight:500}.list-row-foot a svg{width:16px;height:16px}.dot-label{display:inline-flex;align-items:center;gap:8px;font-weight:600}.dot-label:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot, var(--warning-dot))}.agenda-head{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--separator)}.cal-leaf{width:44px;flex:none;text-align:center;border:1px solid var(--card-border);border-radius:10px;overflow:hidden;background:var(--surface)}.cal-leaf .m{display:block;font-size:11px;font-weight:700;color:var(--danger-dot);text-transform:uppercase;padding-top:3px;letter-spacing:.02em}.cal-leaf .d{display:block;font-size:22px;font-weight:700;line-height:1.1;padding-bottom:4px}.agenda-row{display:flex;align-items:center;gap:14px;padding:14px 20px}.agenda-row+.agenda-row{border-top:1px solid var(--separator)}.agenda-row .time{width:46px;font-weight:600;font-variant-numeric:tabular-nums}.agenda-row .bar{width:3px;align-self:stretch;border-radius:3px;background:var(--accent);opacity:.55}.agenda-row .who{flex:1;min-width:0}.agenda-row .who strong{display:block;font-weight:600}.agenda-row .who small{font-size:var(--fs-sm);color:var(--text-2)}.chev-r{width:18px;height:18px;color:var(--chevron)}@media (max-width: 639px){.agenda-head{padding:16px}.agenda-row{display:grid;grid-template-columns:44px 3px 1fr 18px;gap:4px 12px;padding:12px 16px}.agenda-row .time,.agenda-row .bar,.agenda-row .chev-r{grid-row:1 / span 2;align-self:center}.agenda-row .bar{align-self:stretch}.agenda-row .chip{grid-column:3;grid-row:2;justify-self:start}}.bar-row{padding:14px 20px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.bar-row+.bar-row{border-top:1px solid var(--separator)}.bar-row .name{font-weight:600}.bar-row .val{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.bar-row .track{grid-column:1 / -1;height:6px;border-radius:var(--r-pill);background:var(--fill-2);overflow:hidden}.bar-row .track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.bar-row small{grid-column:1 / -1;font-size:var(--fs-sm);color:var(--text-2)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 639px){.stats{grid-template-columns:1fr 1fr;gap:12px}}.stat{padding:16px;display:flex;flex-direction:column}.stat-head{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--text)}.stat-value{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:700;letter-spacing:var(--track-large);margin:10px 0 12px;font-variant-numeric:tabular-nums}.stat-value small{font-size:var(--fs-base);font-weight:500;color:var(--text-2);letter-spacing:0}.stat-foot{border-top:1px solid var(--separator);padding-top:12px;font-size:var(--fs-sm);color:var(--text-2)}.table-wrap{overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:var(--fs-table)}.table th{text-align:left;font-size:var(--fs-xs);font-weight:600;color:var(--text-2);height:44px;padding:0 16px;background:var(--surface-2);border-bottom:1px solid var(--separator)}.table td{padding:12px 16px;vertical-align:middle;border-bottom:1px solid var(--separator)}.table tr:last-child td{border-bottom:0}.table tbody tr{cursor:pointer;transition:background var(--transition)}.table tbody tr:hover{background:var(--fill-2)}.table .cell-title{font-weight:600;display:block}.table .cell-meta{font-size:var(--fs-xs);color:var(--text-3)}.table .overdue{color:var(--danger)}@media (max-width: 767px){.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{padding:12px 16px;border-bottom:1px solid var(--separator)}.table td{padding:2px 0;border:0}}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.product{padding:16px;display:flex;flex-direction:column;gap:10px}.product-top{display:flex;justify-content:space-between;align-items:center}.product-media{position:relative;height:150px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center}.product-media .ph{width:64px;height:118px;border-radius:14px;background:linear-gradient(160deg,var(--surface-3),var(--fill-strong));border:3px solid var(--text);opacity:.85}.cap{position:absolute;right:10px;bottom:10px;background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r-pill);padding:2px 9px;font-weight:700;font-size:var(--fs-base);line-height:1.4}.cap small{font-size:11px;font-weight:600;color:var(--text-2);margin-left:1px}.product-ref{font-size:12px;color:var(--text-3);text-align:center;margin-top:-4px}.product-title{font-size:var(--fs-md);font-weight:700;letter-spacing:var(--track-title)}.product-meta{color:var(--text-2)}.product-specs{display:flex;gap:14px;font-size:var(--fs-sm);color:var(--text-2)}.product-specs b{color:var(--text);font-weight:600}.product-price{font-size:var(--fs-xl);font-weight:700;letter-spacing:var(--track-title);font-variant-numeric:tabular-nums}.product-cost{font-size:var(--fs-sm);color:var(--text-2)}.product-foot{display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid var(--separator);font-size:var(--fs-sm);color:var(--text-2)}.product-foot .aging{color:var(--warning);font-weight:600}.field{display:grid;gap:8px}.field>label{font-size:var(--fs-base);font-weight:600}.input,.textarea{width:100%;height:var(--control-h);padding:0 14px;background:var(--field);color:var(--text);border:1px solid var(--field-border);border-radius:var(--r-lg);font:inherit;font-size:16px;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--text-3)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.textarea:focus{outline:none;background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint)}.input.is-invalid{border-color:var(--danger-dot);box-shadow:0 0 0 4px var(--danger-soft)}.help{font-size:var(--fs-sm);color:var(--text-2)}.help.error{color:var(--danger)}.input-search{position:relative}.input-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-3)}.input-search .input{padding-left:42px}.checklist{display:grid;gap:8px;padding:14px 16px;background:var(--surface-2);border-radius:14px;list-style:none;margin:0}.checklist li{display:flex;gap:10px;align-items:flex-start}.checklist svg{width:18px;height:18px;color:var(--success-dot);flex:none;margin-top:2px}.radio{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--separator-strong);flex:none;display:grid;place-items:center;background:var(--surface)}.is-selected .radio{border-color:var(--accent);background:var(--accent)}.is-selected .radio:after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}.options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (max-width: 639px){.options{grid-template-columns:1fr}}.option{display:flex;gap:12px;align-items:flex-start;padding:14px;text-align:left;border:1px solid var(--card-border);border-radius:var(--r-tile);background:var(--surface);transition:border-color var(--transition),background var(--transition)}.option:hover{border-color:var(--separator-strong)}.option.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.option .thumb{width:52px;height:64px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;flex:none}.option .thumb .ph{width:26px;height:48px;border-radius:7px;border:2px solid var(--text);background:var(--surface-3);opacity:.8}.option strong{display:block;font-weight:700}.option small{display:block;font-size:var(--fs-sm);color:var(--text-2);line-height:1.55}.option .price{font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:40px 20px;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity var(--dur-sheet) var(--ease-out)}.modal-backdrop.is-open{opacity:1;pointer-events:auto}.sheet{width:min(900px,100%);max-height:calc(100vh - 80px);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-sheet);box-shadow:var(--shadow-pop);transform:translateY(12px) scale(.98);transition:transform var(--dur-sheet) var(--ease-drawer);overflow:hidden}.sheet.sm{width:min(576px,100%)}.is-open .sheet{transform:none}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 12px}.sheet-title{font-size:24px;font-weight:700;letter-spacing:var(--track-title);line-height:1.2}.sheet-sub{color:var(--text-2);margin-top:4px}.sheet-body{padding:8px 24px 24px;overflow-y:auto}.sheet-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;background:var(--surface-2);border-top:1px solid var(--separator)}.grabber{display:none;width:36px;height:5px;border-radius:3px;background:var(--fill-strong);margin:8px auto 0}@media (max-width: 639px){.modal-backdrop{align-items:end;padding:0}.sheet{width:100%;max-height:92vh;border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:var(--shadow-sheet);transform:translateY(100%)}.grabber{display:block}.sheet-head{padding:12px 16px 8px}.sheet-body{padding:8px 16px 16px}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.sheet-foot .btn{flex:1}}.stepper{display:flex;gap:20px;flex-wrap:wrap;margin:4px 0 18px}.step{display:inline-flex;align-items:center;gap:8px;color:var(--text-2);font-size:var(--fs-base)}.step .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--fill);font-size:var(--fs-xs);font-weight:700;color:var(--text-2)}.step.is-active{color:var(--accent-text);font-weight:600}.step.is-active .n{background:var(--accent-fill);color:#fff}.step.is-done .n{background:var(--success-dot);color:#fff}.back-link{display:inline-flex;align-items:center;gap:2px;color:var(--accent-text);font-size:var(--fs-base);font-weight:500}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 24px}.detail-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:16px;align-items:start}@media (max-width: 1023px){.detail-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 639px){.detail-head{flex-direction:column;gap:10px}}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 18px 22px}.timeline li:before{content:"";position:absolute;left:3px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.timeline li:after{content:"";position:absolute;left:6.5px;top:18px;bottom:0;width:1px;background:var(--separator)}.timeline li:last-child:after{display:none}.timeline time{display:block;font-size:var(--fs-xs);color:var(--text-3)}.timeline small{display:block;font-size:var(--fs-xs);color:var(--text-2);margin-top:2px}.callout{--cf: var(--warning);--cb: var(--warning-soft);display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--cb);color:var(--cf);font-size:var(--fs-sm);font-weight:500}.callout svg{width:18px;height:18px;flex:none;margin-top:1px}.callout.info{--cf: var(--info);--cb: var(--info-soft)}.callout.danger{--cf: var(--danger);--cb: var(--danger-soft)}.callout.success{--cf: var(--success);--cb: var(--success-soft)}.toast{position:fixed;left:50%;bottom:28px;z-index:var(--z-toast);transform:translate(-50%,20px);opacity:0;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;background:var(--material-hud);color:#fff;-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);box-shadow:var(--shadow-pop);font-weight:500;transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.toast.is-visible{transform:translate(-50%);opacity:1}.toast svg{width:18px;height:18px;color:var(--success-dot)}@media (max-width: 639px){.toast{bottom:calc(var(--tabbar-h) + 20px)}}.popover{width:280px;padding:14px 16px;background:var(--surface);border:1px solid var(--card-border);border-radius:14px;box-shadow:var(--shadow-pop);font-size:var(--fs-sm);color:var(--text-2)}.popover strong{display:block;color:var(--text);font-size:var(--fs-base);margin-bottom:4px}.empty{text-align:center;padding:40px 20px;display:grid;justify-items:center;gap:8px}.empty h3{font-size:var(--fs-md);font-weight:600;margin-top:6px}.empty p{color:var(--text-2);max-width:340px}.skeleton{background:linear-gradient(90deg,var(--surface-3) 0%,var(--surface-2) 50%,var(--surface-3) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-sm)}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between;flex-wrap:wrap}.wrap{flex-wrap:wrap}.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.tone-blue{--c: var(--c-blue)}.tone-purple,.tone-violet{--c: var(--c-purple)}.tone-indigo{--c: var(--c-indigo)}.tone-pink{--c: var(--c-pink)}.tone-brown{--c: var(--c-brown)}.tone-teal{--c: var(--c-teal)}.tone-cyan{--c: var(--c-cyan)}.tone-green{--c: var(--c-green)}.tone-orange{--c: var(--c-orange)}.tone-neutral{--c: var(--neutral-dot)}.chip-neutral{--chip-fg: var(--neutral);--chip-bg: var(--neutral-soft);--chip-dot: var(--neutral-dot)}.logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:3px}.topbar-user{font-size:var(--fs-sm);color:var(--text-2);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 767px){.topbar-user{display:none}}.sidebar nav>div+div{margin-top:4px}.tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:500;color:var(--text-3)}.tabbar button svg{width:24px;height:24px}.btn-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn-spinner{animation-duration:1.6s}}.loading-row{display:flex;align-items:center;gap:10px;padding:20px 0;color:var(--text-2)}.page-head-main{min-width:0}.page-head-main .back-link{margin-bottom:10px}.form-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.form-section-title{font-size:var(--fs-md);font-weight:700;letter-spacing:var(--track-title)}.form-section-sub{font-size:var(--fs-sm);color:var(--text-2);margin-top:2px}.form-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media (min-width: 640px){.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.form-grid .span-2{grid-column:1 / -1}.form-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media (min-width: 1024px){.form-layout{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}.form-layout-aside{position:sticky;top:calc(var(--bar-h) + 16px)}}.form-stack{display:grid;gap:16px;align-content:start}.field-required{color:var(--danger);font-weight:700}.select-wrap{position:relative}.select-wrap .select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;cursor:pointer}.select-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.input-prefixed{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:14px;font-size:var(--fs-xs);font-weight:600;color:var(--text-2);pointer-events:none}.input-prefixed .input{padding-left:48px;font-variant-numeric:tabular-nums}.input-search .input[type=search]::-webkit-search-cancel-button{display:none}.input-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--text-3);background:var(--fill)}.input-clear:hover{color:var(--text);background:var(--fill-strong)}.checkbox-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--card-border);border-radius:var(--r-lg);background:var(--surface-2);cursor:pointer}.checkbox-row input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--accent-fill);flex:none}.checkbox-row strong{display:block;font-weight:600}.checkbox-row small{display:block;font-size:var(--fs-sm);color:var(--text-2)}.option{width:100%;cursor:pointer}.option-body{flex:1;min-width:0}.option-aside{flex:none;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.money{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.money .num{font-variant-numeric:tabular-nums;font-weight:600}.results{display:grid;gap:6px;max-height:320px;overflow-y:auto;margin-top:10px;padding-right:2px}.result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 14px;text-align:left;background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r-lg);transition:border-color var(--transition),background var(--transition)}.result-row:hover{border-color:var(--accent);background:var(--accent-tint)}.result-row strong{display:block;font-weight:600}.result-row small{display:block;font-size:var(--fs-sm);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-row .result-main{min-width:0}.result-row .result-price{flex:none;font-weight:700;color:var(--accent-text);font-variant-numeric:tabular-nums}.picked{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--r-tile);background:var(--accent-tint);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent)}.picked-label{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-text)}.picked strong{display:block;font-size:var(--fs-md);font-weight:700;margin-top:2px}.picked-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:var(--fs-sm);color:var(--text-2)}.picked-meta span{display:inline-flex;align-items:center;gap:6px}.line-items{display:grid;gap:8px}.line-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--card-border);border-radius:var(--r-lg);background:var(--surface)}.line-item-main{min-width:0}.line-item-title{font-weight:600}.line-item-meta,.line-item-cost{font-size:var(--fs-sm);color:var(--text-2);font-variant-numeric:tabular-nums}.line-item-total{flex:none;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.equipment-card{padding:16px;border:1px solid var(--card-border);border-radius:var(--r-tile);background:var(--surface-2)}.equipment-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.item-editor{display:grid;gap:8px}.item-editor-head{display:none}.item-editor-row{display:grid;gap:10px;padding:12px;border:1px solid var(--card-border);border-radius:var(--r-tile);background:var(--surface)}.item-editor-cell{display:grid;gap:4px;min-width:0}.item-editor-cell:before{content:attr(data-label);font-size:var(--fs-xs);font-weight:600;color:var(--text-3)}.item-editor-cell.is-action:before,.item-editor-cell.is-main:before{display:none}.item-editor-cell.is-total{align-content:center;font-weight:700;font-variant-numeric:tabular-nums}.item-editor-cell.is-total.is-bad{color:var(--danger)}.item-editor-cell.is-action{justify-items:end}.item-editor-cell input[type=number]{text-align:right;font-variant-numeric:tabular-nums}@media (min-width: 1024px){.item-editor-head,.item-editor-row{display:grid;grid-template-columns:minmax(170px,1fr) 72px 104px 104px 100px 36px;gap:10px;align-items:start}.item-editor.no-cost .item-editor-head,.item-editor.no-cost .item-editor-row{grid-template-columns:minmax(170px,1fr) 72px 104px 100px 36px}.item-editor-head{padding:0 12px;font-size:var(--fs-xs);font-weight:600;color:var(--text-3)}.item-editor-head span:not(:first-child){text-align:right}.item-editor-cell:before{display:none}.item-editor-cell.is-total{text-align:right;padding-top:10px}.item-editor-cell input{font-size:var(--fs-sm);padding:0 10px}}.totals{margin-top:16px;padding:16px;border-radius:var(--r-tile);background:var(--surface-2);border:1px solid var(--card-border)}.totals-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.totals-row+.totals-row{margin-top:10px;padding-top:10px;border-top:1px solid var(--separator)}.totals-label{font-size:var(--fs-sm);color:var(--text-2)}.totals-value{font-weight:700;font-variant-numeric:tabular-nums}.totals-value.is-strong{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:var(--track-title)}.totals-value.is-good{color:var(--success)}.totals-value.is-bad{color:var(--danger)}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.form-actions .btn{flex:0 1 auto}@media (max-width: 639px){.form-actions .btn{flex:1 1 100%}}@media (max-width: 767px){.table.stacked thead{display:none}.table.stacked tbody tr{display:grid;gap:6px;padding:14px 16px;border-bottom:1px solid var(--separator)}.table.stacked tbody td{display:flex;justify-content:space-between;gap:12px;padding:0;border:0}.table.stacked tbody td:before{content:attr(data-label);font-size:var(--fs-xs);color:var(--text-3);font-weight:600}.table.stacked tbody td.is-main:before{display:none}.table.stacked tbody td.is-main{display:block}}.skeleton-list{display:grid;gap:12px}.skeleton-row{display:flex;align-items:center;gap:12px}.skeleton-avatar{width:40px;border-radius:var(--r-md);flex:none}.skeleton-lines{flex:1;display:grid;gap:8px}.toast-danger svg{color:var(--danger-dot)}.toast-info svg{color:var(--accent)}.segmented-count{color:var(--text-2);font-weight:500}.grid-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.stack-sm{display:grid;gap:8px}.stack-md{display:grid;gap:16px}.truncate-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--fs-sm)}.pagination .btn-icon[disabled]{opacity:.4;pointer-events:none}.table .text-right{text-align:right}.table td a{color:inherit}.table td a:hover{color:var(--accent-text)}.toolbar{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);margin-bottom:16px}@media (min-width: 768px){.toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.toolbar .field{gap:0}.progress-cell{display:grid;gap:6px;min-width:120px}.progress-track{display:block;height:6px;border-radius:var(--r-pill);background:var(--fill-2);overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.inline-select .select{height:var(--control-h-sm);font-size:var(--fs-sm);min-width:150px}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(700px 420px at 8% -5%,rgba(0,122,255,.08),transparent 70%),radial-gradient(600px 380px at 95% 10%,rgba(88,86,214,.06),transparent 70%),var(--bg)}.login-card{width:min(420px,100%);box-shadow:var(--shadow-group)}.login-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;letter-spacing:var(--track-title)}.chart-card .chart-toolbar{margin-bottom:14px}.month-picker{display:inline-flex;align-items:center;gap:8px;height:var(--control-h-sm);padding:0 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--card-border);color:var(--text-2);font-size:var(--fs-sm)}.month-picker input{border:0;background:transparent;color:var(--text);font:inherit;padding:0}.month-picker input:focus{outline:none}.chart-holder{height:300px;margin-top:16px}.chart-empty{margin-top:16px;min-height:220px;display:grid;place-items:center;text-align:center;padding:24px;border-radius:var(--r-tile);background:var(--surface-2);border:1px dashed var(--card-border);color:var(--text-2);font-size:var(--fs-sm)}.donut{position:relative;height:220px;margin:20px 0}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;pointer-events:none}.donut-center strong{display:block;font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;letter-spacing:var(--track-large);font-variant-numeric:tabular-nums}.donut-center small{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.legend{list-style:none;margin:0;padding:0;display:grid;gap:2px}.legend li{display:flex;align-items:center;gap:10px;padding:8px 0}.legend li+li{border-top:1px solid var(--separator)}.legend-dot{width:9px;height:9px;border-radius:50%;flex:none}.legend-label{flex:1}.legend-value{font-weight:600}.btn-icon.is-spinning svg{animation:spin 1s linear infinite}.public-screen{min-height:100vh;padding:32px 16px 64px;background:radial-gradient(700px 420px at 8% -5%,rgba(0,122,255,.07),transparent 70%),var(--bg)}.public-card{width:min(760px,100%);margin:0 auto}.public-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}@media print{.public-screen{background:#fff;padding:0}.card{box-shadow:none}}.equipment-status{margin-top:16px;padding-top:16px;border-top:1px solid var(--separator)}.purchase-order{padding:16px;border:1px solid var(--card-border);border-radius:var(--r-tile);background:var(--surface)}.is-chosen{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff;font-weight:600}.is-plain{background:var(--surface);border-color:var(--card-border);color:var(--text-2)}.is-plain:hover{border-color:var(--separator-strong);color:var(--text)}.overline{text-decoration:none}.panel{padding:14px;border:1px solid var(--card-border);border-radius:var(--r-lg);background:var(--surface)}.result-row.is-stacked{display:block;text-align:left}.table .cell-meta{display:block}
