:root{--accent: #7c5cff;--accent-2: #22d3ee;--accent-soft: color-mix(in oklab, var(--accent) 16%, transparent);--accent-line: color-mix(in oklab, var(--accent) 38%, transparent);--accent-ink: color-mix(in oklab, var(--accent) 80%, white);--grad: linear-gradient(135deg, var(--accent), var(--accent-2));--grad-text: linear-gradient(100deg, var(--accent-ink), var(--accent-2));--ok: #22c55e;--ok-soft: rgba(34,197,94,.14);--warn: #f59e0b;--warn-soft: rgba(245,158,11,.15);--bad: #f43f5e;--bad-soft: rgba(244,63,94,.14);--info: #38bdf8;--info-soft: rgba(56,189,248,.14);--font: "Inter", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--fs-xs: .72rem;--fs-sm: .8rem;--fs-md: .875rem;--fs-lg: 1rem;--fs-xl: 1.25rem;--fs-2xl: 1.6rem;--fs-3xl: 2.1rem;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--gap: 16px;--sidebar-w: 276px;--sidebar-w-collapsed: 76px;--topbar-h: 64px;--ease: cubic-bezier(.2,.8,.2,1);--spring: cubic-bezier(.34,1.56,.64,1);--t-fast: .14s;--t: .24s;--t-slow: .42s}:root,[data-theme=dark]{color-scheme:dark;--bg: #070812;--bg-2: #0b0d1c;--surface: rgba(20, 22, 44, .62);--surface-solid: #11132a;--surface-2: rgba(32, 35, 66, .55);--surface-hover: rgba(48, 52, 96, .5);--glass-border: rgba(148, 163, 255, .12);--line: rgba(148, 163, 255, .1);--text: #e8eaff;--text-2: #a9aed6;--muted: #7177a6;--shadow: 0 10px 30px -12px rgba(0,0,0,.65), 0 2px 6px rgba(0,0,0,.35);--shadow-lg: 0 30px 80px -24px rgba(0,0,0,.8), 0 8px 24px rgba(0,0,0,.4);--glow: 0 0 0 1px var(--accent-line), 0 8px 32px -8px color-mix(in oklab, var(--accent) 55%, transparent);--scrim: rgba(3, 4, 12, .62);--input: rgba(10, 12, 28, .6);--aurora-1: rgba(124, 92, 255, .28);--aurora-2: rgba(34, 211, 238, .16);--aurora-3: rgba(244, 63, 94, .1)}[data-theme=light]{color-scheme:light;--bg: #eef1fb;--bg-2: #f7f8fe;--surface: rgba(255, 255, 255, .72);--surface-solid: #ffffff;--surface-2: rgba(241, 243, 252, .85);--surface-hover: rgba(228, 231, 250, .9);--glass-border: rgba(90, 100, 170, .14);--line: rgba(60, 70, 140, .1);--text: #141631;--text-2: #4a4f78;--muted: #7a7fa6;--accent-ink: color-mix(in oklab, var(--accent) 85%, black);--shadow: 0 10px 30px -14px rgba(40,48,110,.28), 0 2px 6px rgba(40,48,110,.08);--shadow-lg: 0 30px 70px -24px rgba(40,48,110,.35), 0 8px 24px rgba(40,48,110,.12);--scrim: rgba(30, 34, 70, .28);--input: rgba(255, 255, 255, .9);--aurora-1: rgba(124, 92, 255, .3);--aurora-2: rgba(34, 211, 238, .26);--aurora-3: rgba(244, 114, 182, .2)}@media(prefers-reduced-motion:reduce){:root{--t-fast: 1ms;--t: 1ms;--t-slow: 1ms}}[data-motion=reduced]{--t-fast: 1ms;--t: 1ms;--t-slow: 1ms}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-md);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4{margin:0;line-height:1.2;letter-spacing:-.01em}p{margin:0}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block}table{border-collapse:collapse;width:100%}::selection{background:color-mix(in oklab,var(--accent) 40%,transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}*{scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--muted) 45%,transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--muted) 40%,transparent);border-radius:10px;border:3px solid transparent;background-clip:padding-box}.aurora{position:fixed;inset:-20vmax;z-index:-2;pointer-events:none;filter:blur(60px)}.aurora i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;animation:drift 28s var(--ease) infinite alternate}.aurora i:nth-child(1){background:radial-gradient(circle,var(--aurora-1),transparent 62%);top:0;left:5%}.aurora i:nth-child(2){background:radial-gradient(circle,var(--aurora-2),transparent 62%);top:30%;right:0;animation-duration:34s;animation-delay:-8s}.aurora i:nth-child(3){background:radial-gradient(circle,var(--aurora-3),transparent 62%);bottom:0;left:30%;animation-duration:40s;animation-delay:-16s}.grid-floor{position:fixed;inset:auto 0 0;height:55vh;z-index:-1;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;transform:perspective(700px) rotateX(62deg);transform-origin:bottom;mask-image:linear-gradient(to top,black,transparent 85%);-webkit-mask-image:linear-gradient(to top,black,transparent 85%);animation:floor 18s linear infinite}[data-theme=light] .aurora{filter:blur(70px) saturate(140%)}[data-theme=light] .grid-floor{opacity:.75;background-image:linear-gradient(rgba(91,76,210,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(91,76,210,.13) 1px,transparent 1px)}@keyframes drift{to{transform:translate3d(8vmax,6vmax,0) scale(1.15)}}@keyframes floor{to{background-position:0 48px,0 0}}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1 1 auto;min-width:0}.muted{color:var(--muted)}.soft{color:var(--text-2)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.mono{font-family:var(--mono);font-size:.92em}.strong{font-weight:650}.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.hide-sm{display:none!important}}@media(min-width:721px){.only-sm{display:none!important}}.grid{display:grid;gap:var(--gap)}.grid>*{min-width:0}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-auto{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.span-2{grid-column:span 2}@media(max-width:1180px){.g-4,.g-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.g-2,.g-3,.g-4{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}}.mt{margin-top:var(--gap)}.mb{margin-bottom:var(--gap)}.card{position:relative;background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--shadow);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);padding:18px;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t)}.card.flush{padding:0;overflow:hidden}.card.hover:hover{border-color:var(--accent-line);box-shadow:var(--glow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.card-title{font-size:var(--fs-lg);font-weight:650;display:flex;align-items:center;gap:9px}.card-title svg{color:var(--accent-ink)}.card-sub{color:var(--muted);font-size:var(--fs-sm)}.tilt{transform-style:preserve-3d;will-change:transform}.tilt .tilt-shine{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--t);background:radial-gradient(500px circle at var(--mx, 50%) var(--my, 50%),color-mix(in oklab,var(--accent) 18%,transparent),transparent 45%)}.tilt:hover .tilt-shine{opacity:1}.tilt .lift{transform:translateZ(28px)}.btn{--b-bg: var(--surface-2);--b-fg: var(--text);--b-bd: var(--glass-border);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 15px;border-radius:var(--r-md);border:1px solid var(--b-bd);background:var(--b-bg);color:var(--b-fg);font-weight:600;font-size:var(--fs-md);white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform var(--t-fast) var(--ease),box-shadow var(--t) var(--ease),background var(--t),border-color var(--t),opacity var(--t)}.btn:hover{background:var(--surface-hover);border-color:var(--accent-line)}.btn:active{transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn svg{width:17px;height:17px;flex:none}.btn.primary{--b-bg: var(--grad);--b-fg: #fff;--b-bd: transparent;box-shadow:0 8px 22px -10px color-mix(in oklab,var(--accent) 80%,transparent)}.btn.primary:hover{background:var(--grad);box-shadow:var(--glow);filter:brightness(1.08)}.btn.primary:after{content:"";position:absolute;inset:0;z-index:-1;transform:translate(-120%) skew(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:transform .7s var(--ease)}.btn.primary:hover:after{transform:translate(120%) skew(-20deg)}.btn.ghost{--b-bg: transparent;--b-bd: transparent}.btn.ghost:hover{background:var(--surface-2);border-color:var(--glass-border)}.btn.danger{--b-bg: var(--bad-soft);--b-fg: var(--bad);--b-bd: color-mix(in oklab, var(--bad) 35%, transparent)}.btn.danger:hover{background:color-mix(in oklab,var(--bad) 24%,transparent)}.btn.success{--b-bg: var(--ok-soft);--b-fg: var(--ok);--b-bd: color-mix(in oklab, var(--ok) 35%, transparent)}.btn.sm{height:31px;padding:0 11px;font-size:var(--fs-sm);border-radius:10px}.btn.sm svg{width:15px;height:15px}.btn.icon{width:38px;padding:0}.btn.sm.icon{width:31px}.btn.busy{pointer-events:none}.btn.busy>:not(.cube-mini){opacity:.25}.btn .cube-mini{position:absolute;inset:0;margin:auto}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.label{font-size:var(--fs-xs);font-weight:650;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--input);color:var(--text);outline:none;transition:border-color var(--t),box-shadow var(--t)}.textarea{height:auto;min-height:92px;padding:10px 12px;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.input::placeholder,.textarea::placeholder{color:var(--muted)}.select{appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat}.select option{background:var(--surface-solid);color:var(--text)}.input-icon{position:relative}.input-icon>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted);pointer-events:none}.input-icon>svg+.input{padding-left:38px;padding-inline-start:38px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1 / -1}@media(max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-size:var(--fs-sm)}.check input{appearance:none;width:18px;height:18px;border-radius:6px;border:1.5px solid var(--muted);display:grid;place-content:center;transition:all var(--t-fast);background:var(--input);margin:0;flex:none}.check input:checked{background:var(--grad);border-color:transparent}.check input:checked:after{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}.switch{position:relative;width:40px;height:22px;border-radius:99px;background:var(--surface-hover);border:1px solid var(--glass-border);flex:none;transition:background var(--t)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0006;transition:transform var(--t) var(--spring)}.switch.on{background:var(--grad)}.switch.on:after{transform:translate(18px)}input[type=range]{accent-color:var(--accent);width:100%}input[type=color]{width:40px;height:40px;padding:0;border:none;border-radius:10px;background:none;cursor:pointer}.badge{width:fit-content;max-width:100%;display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:650;white-space:nowrap;background:var(--surface-2);color:var(--text-2);border:1px solid var(--glass-border)}.badge svg{width:12px;height:12px}.badge.accent{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-line)}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}.badge.info{background:var(--info-soft);color:var(--info);border-color:transparent}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge .dot.live{animation:pulse 1.4s infinite}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--glass-border);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);font-weight:600;transition:all var(--t-fast);white-space:nowrap}.chip:hover{border-color:var(--accent-line);color:var(--text)}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.chip svg{width:14px;height:14px}.chip .count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--grad);color:#fff;font-size:11px;display:grid;place-items:center}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-sm);font-weight:600;animation:pop-in var(--t) var(--spring)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag button{border:none;background:transparent;color:inherit;padding:0;display:grid;place-items:center;opacity:.7}.tag button:hover{opacity:1}.tag-input{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--input);min-height:44px;align-items:center}.tag-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.tag-input input{flex:1;min-width:120px;border:none;outline:none;background:transparent;height:30px;padding:0 6px}.score{--v: 0;position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:750;font-size:var(--fs-sm);background:conic-gradient(var(--sc, var(--accent)) calc(var(--v) * 1%),var(--surface-hover) 0);flex:none}.score:before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--surface-solid)}.score span{position:relative}.table-wrap{overflow-x:auto;border-radius:var(--r-md)}.table th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:650;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;background:var(--surface-solid);z-index:1}.table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr{transition:background var(--t-fast)}.table tbody tr:hover{background:var(--surface-2)}.table tr.sel{background:var(--accent-soft)}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table.compact td{padding:7px 10px}.table input.cell{width:100%;min-width:60px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;padding:0 8px}.table input.cell:hover{border-color:var(--glass-border)}.table input.cell:focus{border-color:var(--accent);background:var(--input);outline:none}.tabs{display:inline-flex;gap:4px;padding:4px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--glass-border);position:relative;max-width:100%;overflow-x:auto}.tab{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border:none;border-radius:9px;background:transparent;color:var(--text-2);font-weight:600;font-size:var(--fs-sm);white-space:nowrap;transition:color var(--t)}.tab svg{width:16px;height:16px}.tab.on{color:#fff}.tab-ink{position:absolute;top:4px;bottom:4px;border-radius:9px;background:var(--grad);box-shadow:0 6px 18px -8px var(--accent);transition:left var(--t) var(--spring),width var(--t) var(--spring)}.scrim{position:fixed;inset:0;z-index:80;background:var(--scrim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade-in var(--t) var(--ease)}.modal-wrap{position:fixed;inset:0;z-index:81;display:grid;place-items:center;padding:16px;perspective:1400px;pointer-events:none}.modal{pointer-events:auto;width:min(560px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--surface-solid);border:1px solid var(--glass-border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);animation:modal-in var(--t-slow) var(--spring);transform-origin:50% 0%}.modal.lg{width:min(860px,100%)}.modal.xl{width:min(1160px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-head h3{font-size:var(--fs-xl);display:flex;align-items:center;gap:10px}.modal-body{padding:20px;overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);flex-wrap:wrap}.drawer{position:fixed;z-index:81;top:0;right:0;bottom:0;width:min(620px,100%);display:flex;flex-direction:column;background:var(--surface-solid);border-left:1px solid var(--glass-border);box-shadow:var(--shadow-lg);animation:drawer-in var(--t-slow) var(--ease)}.drawer.wide{width:min(880px,100%)}@media(max-width:640px){.modal-wrap{place-items:end center;padding:0}.modal{width:100%;border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:92dvh;animation:sheet-in var(--t-slow) var(--ease)}}.toasts{position:fixed;z-index:120;right:18px;bottom:18px;display:flex;flex-direction:column-reverse;gap:10px;width:min(380px,calc(100vw - 36px));perspective:900px;pointer-events:none}.toast{pointer-events:auto;position:relative;display:flex;gap:12px;align-items:flex-start;padding:13px 14px 15px;border-radius:var(--r-lg);overflow:hidden;background:var(--surface-solid);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);animation:toast-in var(--t-slow) var(--spring)}.toast.out{animation:toast-out .32s var(--ease) forwards}.toast .t-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:none;transform-style:preserve-3d;animation:t-flip .7s var(--spring)}.toast .t-icon svg{width:18px;height:18px}.toast.success .t-icon{background:var(--ok-soft);color:var(--ok)}.toast.error .t-icon{background:var(--bad-soft);color:var(--bad)}.toast.info .t-icon{background:var(--accent-soft);color:var(--accent-ink)}.toast.warning .t-icon{background:var(--warn-soft);color:var(--warn)}.toast .t-title{font-weight:650}.toast .t-msg{color:var(--text-2);font-size:var(--fs-sm);margin-top:2px;word-break:break-word}.toast .t-close{margin-left:auto;border:none;background:transparent;color:var(--muted);padding:2px}.toast .t-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left;background:var(--grad);animation:t-bar linear forwards}.toast.error .t-bar{background:var(--bad)}.toast.success .t-bar{background:var(--ok)}@media(max-width:640px){.toasts{left:12px;right:12px;width:auto;bottom:12px}}.pop{position:absolute;z-index:60;min-width:220px;background:var(--surface-solid);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:6px;animation:pop-in var(--t) var(--spring);transform-origin:top right}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;border-radius:9px;background:transparent;text-align:left;font-size:var(--fs-sm);color:var(--text)}.menu-item:hover,.menu-item.active{background:var(--surface-2)}.menu-item svg{width:16px;height:16px;color:var(--muted)}.menu-sep{height:1px;background:var(--line);margin:5px 4px}.ms{position:relative}.ms .pop{left:0;transform-origin:top left;width:max(240px,100%);max-height:320px;display:flex;flex-direction:column}.ms-list{overflow:auto;padding:4px 0}.ms-opt{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:var(--fs-sm)}.ms-opt:hover{background:var(--surface-2)}.ms-opt .c{margin-left:auto;color:var(--muted);font-size:var(--fs-xs)}.kpi{display:flex;flex-direction:column;gap:10px;overflow:hidden}.kpi .k-top{display:flex;align-items:center;justify-content:space-between}.kpi .k-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-line);transform:translateZ(30px)}.kpi .k-icon svg{width:21px;height:21px}.kpi .k-val{font-size:var(--fs-3xl);font-weight:750;letter-spacing:-.03em;font-variant-numeric:tabular-nums;transform:translateZ(22px)}.kpi .k-label{color:var(--text-2);font-size:var(--fs-sm);font-weight:600}.kpi .k-foot{color:var(--muted);font-size:var(--fs-xs)}.kpi:before{content:"";position:absolute;width:180px;height:180px;right:-70px;top:-70px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 70%)}.kpi.c-ok .k-icon{background:var(--ok-soft);color:var(--ok);box-shadow:none}.kpi.c-warn .k-icon{background:var(--warn-soft);color:var(--warn);box-shadow:none}.kpi.c-info .k-icon{background:var(--info-soft);color:var(--info);box-shadow:none}.kpi.c-bad .k-icon{background:var(--bad-soft);color:var(--bad);box-shadow:none}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:46px 20px;color:var(--muted)}.empty .e-art{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);transform:rotateX(18deg) rotateY(-18deg);box-shadow:10px 14px 0 -4px var(--surface-2);animation:float 4s ease-in-out infinite}.empty .e-art svg{width:32px;height:32px}.empty h4{color:var(--text);font-size:var(--fs-lg)}.pager{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pager .pg{min-width:34px;height:34px;padding:0 9px;border-radius:10px;border:1px solid var(--glass-border);background:var(--surface-2);font-weight:600;font-size:var(--fs-sm)}.pager .pg.on{background:var(--grad);color:#fff;border-color:transparent}.pager .pg:disabled{opacity:.4;cursor:default}.divider{height:1px;background:var(--line);margin:14px 0}.kv{display:grid;grid-template-columns:minmax(130px,38%) 1fr;gap:8px 14px;font-size:var(--fs-sm)}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-word}.avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:var(--fs-sm);background:var(--grad);color:#fff;flex:none;background-size:cover;background-position:center}.avatar{position:relative;overflow:hidden}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.avatar.sm{width:26px;height:26px;border-radius:8px;font-size:11px}.avatar-stack{display:flex}.avatar-stack .avatar{margin-left:-8px;border:2px solid var(--surface-solid)}.avatar-stack .avatar:first-child{margin-left:0}.progress{height:7px;border-radius:9px;background:var(--surface-hover);overflow:hidden}.progress>i{display:block;height:100%;border-radius:inherit;background:var(--grad);transition:width var(--t-slow) var(--ease)}.skeleton{border-radius:10px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-hover) 50%,var(--surface-2) 75%);background-size:300% 100%;animation:shimmer 1.4s infinite}.kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:6px;border:1px solid var(--glass-border);background:var(--surface-2);font-size:11px;font-family:var(--mono);color:var(--muted)}.callout{display:flex;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--accent-line);font-size:var(--fs-sm)}.callout.warn{background:var(--warn-soft);border-color:color-mix(in oklab,var(--warn) 40%,transparent)}.callout.bad{background:var(--bad-soft);border-color:color-mix(in oklab,var(--bad) 40%,transparent)}.callout svg{width:18px;height:18px;flex:none;margin-top:1px}.dropzone{border:2px dashed var(--glass-border);border-radius:var(--r-lg);padding:30px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;transition:all var(--t);cursor:pointer;background:var(--surface-2)}.dropzone.over,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateZ(0) scale(1.01)}.dropzone svg{width:34px;height:34px;color:var(--accent-ink)}.log-console{background:#05060f;color:#a5f3c4;font-family:var(--mono);font-size:12px;line-height:1.55;padding:14px;border-radius:var(--r-md);max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word;border:1px solid var(--glass-border)}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.92) translateY(-6px)}}@keyframes modal-in{0%{opacity:0;transform:rotateX(-18deg) translateY(-30px) scale(.94)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes drawer-in{0%{transform:translate(100%);opacity:.6}}@keyframes toast-in{0%{opacity:0;transform:translate(60px) rotateY(-35deg) scale(.9)}}@keyframes toast-out{to{opacity:0;transform:translate(80px) rotateY(30deg) scale(.9)}}@keyframes t-flip{0%{transform:rotateY(180deg) scale(.4)}}@keyframes t-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes float{50%{transform:rotateX(18deg) rotateY(-18deg) translateY(-8px)}}@keyframes shimmer{to{background-position:-150% 0}}@keyframes rise{0%{opacity:0;transform:translateY(18px) scale(.985)}}.rise{animation:rise var(--t-slow) var(--ease) both}.stagger>*{animation:rise var(--t-slow) var(--ease) both}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.stagger>*:nth-child(n+7){animation-delay:.24s}.cube-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:70px 20px;perspective:900px}.cube3d{--s: 64px;position:relative;width:var(--s);height:var(--s);transform-style:preserve-3d;animation:cube-spin 3.2s var(--ease) infinite}.cube3d .f{position:absolute;inset:0;border-radius:14px;border:1.5px solid color-mix(in oklab,var(--accent) 70%,white 10%);background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 30%,transparent),color-mix(in oklab,var(--accent-2) 18%,transparent));box-shadow:inset 0 0 22px color-mix(in oklab,var(--accent) 45%,transparent);animation:cube-breathe 1.6s var(--ease) infinite alternate}.cube3d .f:nth-child(1){--t: rotateY(0deg)}.cube3d .f:nth-child(2){--t: rotateY(90deg)}.cube3d .f:nth-child(3){--t: rotateY(180deg)}.cube3d .f:nth-child(4){--t: rotateY(-90deg)}.cube3d .f:nth-child(5){--t: rotateX(90deg)}.cube3d .f:nth-child(6){--t: rotateX(-90deg)}.cube3d .f{transform:var(--t) translateZ(calc(var(--s) / 2))}.cube3d .core{position:absolute;inset:30%;border-radius:50%;background:radial-gradient(circle,#fff,var(--accent-2) 40%,transparent 70%);filter:blur(2px);animation:core 1.6s ease-in-out infinite alternate}.cube-shadow{width:70px;height:12px;border-radius:50%;background:radial-gradient(color-mix(in oklab,var(--accent) 60%,transparent),transparent 70%);animation:shadow 1.6s var(--ease) infinite alternate;margin-top:-8px}.cube-label{color:var(--text-2);font-weight:600;font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase}.cube-label .dots:after{content:"";animation:dots 1.4s steps(4) infinite}@keyframes cube-spin{0%{transform:rotateX(-24deg) rotateY(0)}50%{transform:rotateX(30deg) rotateY(180deg)}to{transform:rotateX(-24deg) rotateY(360deg)}}@keyframes cube-breathe{to{transform:var(--t) translateZ(calc(var(--s) / 2 + 12px));opacity:.75}}@keyframes core{0%{transform:scale(.6);opacity:.6}to{transform:scale(1.2);opacity:1}}@keyframes shadow{to{transform:scale(1.4);opacity:.5}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.cube-mini{--s: 14px;width:var(--s);height:var(--s);transform-style:preserve-3d;animation:cube-spin 1.1s linear infinite}.cube-mini i{position:absolute;inset:0;border:1.5px solid currentColor;border-radius:3px}.cube-mini i:nth-child(1){transform:translateZ(7px)}.cube-mini i:nth-child(2){transform:rotateY(90deg) translateZ(7px)}.cube-mini i:nth-child(3){transform:rotateX(90deg) translateZ(7px)}.cube-mini i:nth-child(4){transform:translateZ(-7px)}.beam{position:fixed;z-index:130;top:0;left:0;right:0;height:3px;pointer-events:none;opacity:0;transition:opacity var(--t);overflow:hidden}.beam.on{opacity:1}.beam:before{content:"";position:absolute;top:0;height:100%;width:40%;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-2),transparent);box-shadow:0 0 14px var(--accent);animation:beam 1.1s var(--ease) infinite}@keyframes beam{0%{left:-40%}to{left:100%}}.hud{position:fixed;z-index:125;left:50%;bottom:22px;display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:var(--r-pill);background:var(--surface-solid);border:1px solid var(--accent-line);box-shadow:var(--glow),var(--shadow-lg);transform:translate(-50%,140%) rotateX(60deg);opacity:0;transition:transform var(--t-slow) var(--spring),opacity var(--t);pointer-events:none;perspective:400px}.hud.on{transform:translate(-50%) rotateX(0);opacity:1}.hud .lbl{font-weight:600;font-size:var(--fs-sm)}.orbit{position:relative;width:34px;height:34px;transform-style:preserve-3d}.orbit i{position:absolute;inset:0;border-radius:50%;border:2px solid transparent}.orbit i:nth-child(1){border-top-color:var(--accent);border-bottom-color:var(--accent);animation:orb1 1.2s linear infinite}.orbit i:nth-child(2){border-left-color:var(--accent-2);border-right-color:var(--accent-2);animation:orb2 1.5s linear infinite}.orbit i:nth-child(3){inset:11px;background:radial-gradient(circle,#fff,var(--accent) 60%);border:none;box-shadow:0 0 12px var(--accent);animation:core .8s ease-in-out infinite alternate}@keyframes orb1{0%{transform:rotateX(65deg) rotate(0)}to{transform:rotateX(65deg) rotate(360deg)}}@keyframes orb2{0%{transform:rotateY(65deg) rotate(0)}to{transform:rotateY(65deg) rotate(-360deg)}}.splash{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:var(--bg)}.splash.out{animation:splash-out .5s var(--ease) forwards}@keyframes splash-out{to{opacity:0;transform:scale(1.06);visibility:hidden}}.page-enter{animation:page-in var(--t-slow) var(--ease) both;transform-origin:50% 0}@keyframes page-in{0%{opacity:0;transform:perspective(1200px) translateZ(-60px) rotateX(4deg);filter:blur(4px)}}.app{display:flex;min-height:100dvh}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.content{padding:22px 26px 60px;width:100%;max-width:1640px;margin:0 auto}@media(max-width:720px){.content{padding:16px 14px 90px}}.sidebar{position:sticky;top:0;height:100dvh;width:var(--sidebar-w);flex:none;z-index:40;display:flex;flex-direction:column;padding:16px 12px;background:color-mix(in oklab,var(--surface-solid) 78%,transparent);border-right:1px solid var(--glass-border);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:width var(--t) var(--ease),transform var(--t) var(--ease)}.app.collapsed .sidebar{width:var(--sidebar-w-collapsed)}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 18px;text-decoration:none!important;color:var(--text)}.brand-mark{width:40px;height:40px;flex:none;perspective:300px}.brand-mark .prism{width:100%;height:100%;transform-style:preserve-3d;animation:prism 9s linear infinite;position:relative}.brand-mark .prism i{position:absolute;inset:0;border-radius:11px;background:var(--grad);opacity:.85;box-shadow:inset 0 0 12px #ffffff59}.brand-mark .prism i:nth-child(2){transform:rotateY(60deg);opacity:.5}.brand-mark .prism i:nth-child(3){transform:rotateY(120deg);opacity:.35}.brand-mark{position:relative}.brand-mark>b{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:19px;text-shadow:0 1px 8px rgba(0,0,0,.45);pointer-events:none}@keyframes prism{to{transform:rotateY(360deg)}}.brand-name{font-weight:800;font-size:1.12rem;letter-spacing:-.02em;white-space:nowrap}.brand-sub{font-size:10.5px;color:var(--muted);font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.brand-text{min-width:0}.app.collapsed .brand-text,.app.collapsed .nav-label,.app.collapsed .nav-text,.app.collapsed .nav .nbadge,.app.collapsed .side-foot .nav-text{display:none}.nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;margin:0 -4px;padding:0 4px}.nav-label{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:14px 12px 6px}.nav a{position:relative;display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:12px;color:var(--text-2);font-weight:600;font-size:.9rem;text-decoration:none;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.nav .nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav a{flex:none}.side-foot{flex:none;overflow:visible}.nav a svg{width:20px;height:20px;flex:none;transition:transform var(--t) var(--spring)}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a:hover svg{transform:translateZ(0) rotate(-8deg) scale(1.1)}.nav a.active{color:var(--text);background:linear-gradient(90deg,var(--accent-soft),transparent)}.nav a.active:before{content:"";position:absolute;left:-4px;top:9px;bottom:9px;width:4px;border-radius:4px;background:var(--grad);box-shadow:0 0 12px var(--accent)}.nav a.active svg{color:var(--accent-ink)}.nav .nbadge{margin-left:auto;min-width:22px;height:20px;padding:0 7px;border-radius:10px;font-size:11px;font-weight:700;display:grid;place-items:center;background:var(--surface-hover);color:var(--text-2)}.nav .nbadge.hot{background:var(--grad);color:#fff}.nav .nbadge.alert{background:var(--bad);color:#fff}.app.collapsed .nav a{justify-content:center;padding:0}.app.collapsed .nav a .ndot{position:absolute;top:8px;right:14px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.side-foot{border-top:1px solid var(--line);padding-top:10px;margin-top:8px;display:flex;flex-direction:column;gap:2px}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 22px;background:color-mix(in oklab,var(--bg) 70%,transparent);border-bottom:1px solid var(--glass-border);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%)}.topbar h1{font-size:var(--fs-xl);font-weight:750;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .crumb{color:var(--muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.search-trigger{display:flex;align-items:center;gap:10px;height:40px;width:min(340px,30vw);padding:0 12px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--surface-2);color:var(--muted);font-size:var(--fs-sm);margin-left:auto}.search-trigger svg{width:17px;height:17px}.search-trigger .kbd{margin-left:auto}.live-pill{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok);font-weight:650;font-size:var(--fs-sm);border:none}.live-pill .dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 1.4s infinite}.icon-btn{position:relative;width:40px;height:40px;border-radius:12px;border:1px solid var(--glass-border);background:var(--surface-2);display:grid;place-items:center;color:var(--text-2);transition:all var(--t-fast);flex:none}.icon-btn:hover{color:var(--text);border-color:var(--accent-line);transform:translateY(-1px)}.icon-btn svg{width:19px;height:19px}.icon-btn .dot-count{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg)}.user-btn{display:flex;align-items:center;gap:10px;padding:3px 10px 3px 3px;border-radius:14px;border:1px solid var(--glass-border);background:var(--surface-2)}.user-btn .u-name{font-weight:650;font-size:var(--fs-sm);line-height:1.1;text-align:left}.user-btn .u-role{font-size:11px;color:var(--muted);text-align:left}.anchor{position:relative}.anchor>.pop{right:0;top:calc(100% + 8px)}.side-scrim{display:none}.sidebar-toggle .burger{position:relative;width:18px;height:14px;display:block}.sidebar-toggle .burger i{position:absolute;left:0;height:2px;border-radius:2px;background:currentColor;transition:transform var(--t) var(--spring),width var(--t) var(--ease),top var(--t) var(--ease),opacity var(--t)}.sidebar-toggle .burger i:nth-child(1){top:0;width:18px}.sidebar-toggle .burger i:nth-child(2){top:6px;width:13px}.sidebar-toggle .burger i:nth-child(3){top:12px;width:18px}.sidebar-toggle:hover .burger i:nth-child(2){width:18px}@media(min-width:961px){.sidebar-toggle:not(.is-collapsed) .burger i:nth-child(1){width:10px;top:2px;transform:rotate(-40deg);transform-origin:left center}.sidebar-toggle:not(.is-collapsed) .burger i:nth-child(3){width:10px;top:10px;transform:rotate(40deg);transform-origin:left center}.sidebar-toggle:not(.is-collapsed) .burger i:nth-child(2){width:18px}}@media(max-width:960px){.sidebar-toggle.is-open .burger i:nth-child(1){top:6px;transform:rotate(45deg)}.sidebar-toggle.is-open .burger i:nth-child(2){opacity:0}.sidebar-toggle.is-open .burger i:nth-child(3){top:6px;transform:rotate(-45deg)}.app.nav-open .topbar{z-index:41}}@media(max-width:960px){.sidebar{position:fixed;left:0;transform:translate(-105%);width:min(var(--sidebar-w),82vw)!important;box-shadow:var(--shadow-lg)}.app.nav-open .sidebar{transform:none}.app.nav-open .side-scrim{display:block;position:fixed;inset:0;z-index:35;background:var(--scrim);animation:fade-in var(--t)}.app.collapsed .brand-text,.app.collapsed .nav-label,.app.collapsed .nav-text,.app.collapsed .nav .nbadge{display:initial}.app.collapsed .nav a{justify-content:flex-start;padding:0 12px}.topbar{padding:0 14px}.search-trigger{width:40px;padding:0;justify-content:center}.search-trigger span,.search-trigger .kbd{display:none}}.tabbar{display:none}@media(max-width:720px){.tabbar{position:fixed;z-index:45;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-around;padding:6px;border-radius:20px;background:color-mix(in oklab,var(--surface-solid) 88%,transparent);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding-bottom:max(6px,env(safe-area-inset-bottom))}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:14px;color:var(--muted);font-size:10.5px;font-weight:650;text-decoration:none}.tabbar a svg{width:21px;height:21px}.tabbar a.active{color:var(--accent-ink);background:var(--accent-soft)}.user-btn .u-meta,.topbar .crumb{display:none}.user-btn{padding:3px}.live-pill span{display:none}.live-pill{width:34px;padding:0;justify-content:center;flex:none}.theme-btn{display:none}.topbar{gap:8px}}.cmdk{position:fixed;z-index:90;top:12vh;left:50%;transform:translate(-50%);width:min(620px,calc(100vw - 24px));background:var(--surface-solid);border:1px solid var(--glass-border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-in var(--t-slow) var(--spring)}.cmdk-input{display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--line)}.cmdk-input svg{width:20px;height:20px;color:var(--muted)}.cmdk-input input{flex:1;height:58px;border:none;outline:none;background:transparent;font-size:var(--fs-lg)}.cmdk-list{max-height:52vh;overflow:auto;padding:8px}.cmdk-group{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}.cmdk-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:12px;border:none;background:transparent;text-align:left}.cmdk-item svg{width:18px;height:18px;color:var(--muted);flex:none}.cmdk-item.on{background:var(--accent-soft)}.cmdk-item.on svg{color:var(--accent-ink)}.cmdk-item .hint{margin-left:auto;color:var(--muted);font-size:var(--fs-xs)}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:38px;height:38px;border-radius:12px;border:2px solid transparent;box-shadow:inset 0 0 0 2px #ffffff40;transition:transform var(--t) var(--spring)}.swatch:hover{transform:translateY(-3px) rotate(-6deg)}.swatch.on{border-color:var(--text);transform:scale(1.08)}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mode-card{border:1.5px solid var(--glass-border);border-radius:var(--r-md);padding:10px;background:var(--surface-2);text-align:center;font-weight:600;font-size:var(--fs-sm);display:flex;flex-direction:column;gap:8px;align-items:center}.mode-card.on{border-color:var(--accent);background:var(--accent-soft)}.mode-card .mini{width:100%;height:46px;border-radius:8px}.text-warn{color:var(--warn)}.text-bad{color:var(--bad)}.text-ok{color:var(--ok)}.accent-ink{color:var(--accent-ink)}.theme-anim,.theme-anim *{transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease)!important}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}.page-head h2{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.03em}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:11px;background:var(--surface-2);border:1px solid var(--glass-border)}.seg button{height:32px;min-width:34px;padding:0 11px;border:none;border-radius:8px;background:transparent;color:var(--text-2);font-weight:600;font-size:var(--fs-sm);display:grid;place-items:center;text-transform:capitalize}.seg button.on{background:var(--grad);color:#fff;box-shadow:0 4px 14px -6px var(--accent)}.chip-select{height:32px;padding:0 28px 0 12px;border-radius:var(--r-pill);border:1px solid var(--glass-border);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);font-weight:600;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat}.chip-select.on{background-color:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.mini-stat{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--glass-border);text-align:left;min-width:0}.mini-stat span{font-size:var(--fs-xs);color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.mini-stat b{font-size:1.15rem;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-stat.big{padding:16px 18px;background:var(--surface);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.mini-stat.big b{font-size:1.5rem;letter-spacing:-.02em}.mini-stat.click{cursor:pointer;transition:all var(--t-fast)}.mini-stat.click:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}.mini-stat small{font-size:11px;font-weight:700}.chart{position:relative;width:100%}.chart svg{width:100%;overflow:visible;display:block}.chart .grid-line{stroke:var(--line);stroke-dasharray:3 5}.chart .axis{fill:var(--muted);font-size:11px;font-family:var(--font)}.chart .bar{transform-box:fill-box;transform-origin:bottom;animation:grow-y .8s var(--spring) both;transition:opacity var(--t-fast)}.chart .line{stroke-dasharray:3000;stroke-dashoffset:3000;animation:draw 1.6s var(--ease) forwards}.chart .area{animation:fade-in 1.2s var(--ease) both}.chart-tip{position:absolute;transform:translate(-50%,calc(-100% - 12px));pointer-events:none;white-space:nowrap;padding:6px 10px;border-radius:9px;background:var(--surface-solid);border:1px solid var(--glass-border);box-shadow:var(--shadow);font-size:var(--fs-xs);z-index:2}@keyframes grow-y{0%{transform:scaleY(0)}}@keyframes draw{to{stroke-dashoffset:0}}.donut-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}.donut{position:relative;flex:none}.donut svg{width:100%;height:100%;transform:rotateX(18deg);filter:drop-shadow(0 10px 18px color-mix(in oklab,var(--accent) 25%,transparent))}.donut .seg{transition:stroke-width var(--t) var(--spring);animation:fade-in .9s var(--ease) both;cursor:pointer}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;pointer-events:none}.donut-center b{font-size:1.3rem}.donut-center span{font-size:var(--fs-xs);color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend{display:flex;flex-direction:column;gap:5px;min-width:160px;flex:1}.legend .lg{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);padding:3px 6px;border-radius:7px}.legend .lg.on{background:var(--surface-2)}.legend .lg i{width:10px;height:10px;border-radius:3px;flex:none}.legend .lg span{flex:1;color:var(--text-2)}.hbars{display:flex;flex-direction:column;gap:11px}.hb.click{cursor:pointer}.hb.click:hover span{color:var(--accent-ink)}.hb .progress i{animation:grow-x .9s var(--ease) both;transform-origin:left}@keyframes grow-x{0%{transform:scaleX(0)}}.heat{display:grid;gap:4px;align-items:center;overflow-x:auto}.heat .cell{height:30px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--text);transition:transform var(--t-fast)}.heat .cell:hover{transform:scale(1.12) translateZ(0);box-shadow:var(--glow)}.progress.indet i{width:35%!important;animation:indet 1.3s var(--ease) infinite}@keyframes indet{0%{transform:translate(-100%)}to{transform:translate(300%)}}.notif{display:flex;gap:10px;width:100%;padding:10px;border:none;border-radius:11px;background:transparent;position:relative}.notif:hover{background:var(--surface-2)}.notif.unread:after{content:"";position:absolute;right:10px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.notif .n-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:none}.notif .n-ic.error{background:var(--bad-soft);color:var(--bad)}.notif .n-ic.warning{background:var(--warn-soft);color:var(--warn)}.notif .n-ic.match{background:var(--ok-soft);color:var(--ok)}.login{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(400px,.9fr);position:relative;overflow:hidden;max-width:1520px;margin:0 auto}.login-hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:48px;min-height:100dvh}.login-globe{position:absolute;inset:2% 0 34%;opacity:.95}.login-copy{position:relative;max-width:560px;display:flex;flex-direction:column;gap:16px}.login-copy h1{font-size:clamp(1.9rem,3.4vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.08}.login-feats{display:flex;flex-wrap:wrap;gap:8px}.feat{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--glass-border);backdrop-filter:blur(10px);font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}.feat svg{color:var(--accent-ink)}.login-panel{position:relative;display:grid;place-items:center;padding:32px 20px;perspective:1200px}.login-theme{position:fixed;top:18px;right:18px;z-index:5}.or-line{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em}.or-line:before,.or-line:after{content:"";flex:1;height:1px;background:var(--line)}.btn-google{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;height:46px;width:100%;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--surface-solid);color:var(--text);font-weight:650;font-size:var(--fs-md);box-shadow:var(--shadow);overflow:hidden;transition:transform var(--t) var(--spring),box-shadow var(--t),border-color var(--t)}.btn-google:hover:not(:disabled){transform:translateY(-2px) rotateX(8deg);border-color:var(--accent-line);box-shadow:var(--glow)}.btn-google:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-google svg{transition:transform .6s var(--spring)}.btn-google:hover svg{transform:rotateY(360deg)}.btn-google.busy{cursor:progress;opacity:.85}[data-theme=light] .btn-google{background:#fff}.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:18px;padding:30px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg),var(--glow);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);animation:card-in .9s var(--spring) both}.login-card h2{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.03em}.login-card.shake{animation:shake .45s var(--ease)}@keyframes card-in{0%{opacity:0;transform:rotateY(-24deg) rotateX(8deg) translateZ(-80px)}}@keyframes shake{20%,60%{transform:translate(-9px) rotateY(-4deg)}40%,80%{transform:translate(9px) rotateY(4deg)}}@media(max-width:960px){.login{grid-template-columns:1fr}.login-hero{position:absolute;inset:0;min-height:0;padding:0}.login-copy{display:none}.login-globe{opacity:.45}.login-panel{min-height:100dvh}}.hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:10px;padding:26px 28px;overflow:hidden;min-height:240px}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 85% 50%,var(--accent-soft),transparent 70%);pointer-events:none}.hero-copy{position:relative;display:flex;flex-direction:column;gap:12px;z-index:1}.hero-copy h2{font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:800;letter-spacing:-.03em}.hero-globe{position:relative;height:260px;margin:-26px -28px -26px 0}@media(max-width:860px){.hero{grid-template-columns:1fr}.hero-globe{position:absolute;right:-60px;top:0;bottom:0;width:60%;opacity:.35;margin:0}}.division .progress{height:8px}.filters{position:relative;z-index:5}.bulkbar{position:sticky;top:calc(var(--topbar-h) + 10px);z-index:20;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--r-lg);background:var(--surface-solid);border:1px solid var(--accent-line);box-shadow:var(--glow),var(--shadow-lg);animation:rise var(--t-slow) var(--spring)}.tcard{display:flex;flex-direction:column;gap:10px;cursor:default}.tcard.sel{border-color:var(--accent);box-shadow:var(--glow)}.tcard-title{border:none;background:none;padding:0;text-align:left;font-weight:650;font-size:.96rem;line-height:1.35;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tcard-title:hover{color:var(--accent-ink)}.tcard-foot{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px}.tno{display:inline-flex;align-items:center;gap:6px;max-width:220px;height:24px;padding:0 8px;border-radius:7px;border:1px dashed var(--glass-border);background:transparent;color:var(--text-2);font-size:11.5px}.tno:hover{border-color:var(--accent);color:var(--accent-ink)}.tlist{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);transition:background var(--t-fast)}.tlist:hover{background:var(--surface-2)}.tlist.sel{background:var(--accent-soft)}.tlist:last-child{border-bottom:none}.agent-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--accent-soft),transparent);border:1px solid var(--accent-line);flex-wrap:wrap}.agent-card .agent-orb{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--surface-solid);box-shadow:inset 0 0 0 1px var(--accent-line);flex:none}.agent-card:not(.working) .orbit i{animation-play-state:paused}.agent-card.working{animation:agent-glow 1.6s ease-in-out infinite alternate}@keyframes agent-glow{to{box-shadow:var(--glow)}}.doc-list{display:flex;flex-direction:column;gap:8px}.doc{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--surface-2);color:var(--text);text-decoration:none!important;transition:all var(--t-fast)}.doc:hover{border-color:var(--accent);transform:translate(4px)}.doc-ext{width:40px;height:44px;border-radius:9px;display:grid;place-items:center;font-size:10.5px;font-weight:800;color:#fff;background:#64748b;flex:none;box-shadow:4px 4px 0 -1px color-mix(in oklab,currentColor 0%,var(--surface-hover))}.doc-ext.e-pdf{background:#e5484d}.doc-ext.e-xls,.doc-ext.e-xlsx,.doc-ext.e-csv{background:#16a34a}.doc-ext.e-doc,.doc-ext.e-docx{background:#2563eb}.doc-ext.e-zip{background:#a16207}.source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.source-tile{position:relative;display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px 14px;border-radius:var(--r-md);border:1.5px solid var(--glass-border);background:var(--surface-2);transition:all var(--t) var(--spring);min-width:0}.source-tile:hover{transform:translateY(-2px);border-color:var(--accent-line)}.source-tile.on{border-color:var(--accent);background:var(--accent-soft)}.source-tile .st-check{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;border:1.5px solid var(--muted);color:transparent;transition:all var(--t-fast)}.source-tile.on .st-check{background:var(--grad);border-color:transparent;color:#fff}.strategy{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:640px){.strategy{grid-template-columns:repeat(2,1fr)}}.strat{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:12px;border-radius:var(--r-md);border:1.5px solid var(--glass-border);background:var(--surface-2);text-align:left;transition:all var(--t)}.strat.on{border-color:var(--accent);background:var(--accent-soft)}.strat .bars{display:flex;gap:3px;align-items:flex-end;height:16px}.strat .bars i{width:5px;border-radius:2px;background:var(--surface-hover)}.strat .bars i:nth-child(1){height:25%}.strat .bars i:nth-child(2){height:50%}.strat .bars i:nth-child(3){height:75%}.strat .bars i:nth-child(4){height:100%}.strat .bars i.f{background:var(--grad)}.job{padding:14px;border-radius:var(--r-lg);border:1px solid var(--accent-line);background:linear-gradient(135deg,var(--accent-soft),var(--surface))}.job-count{display:flex;flex-direction:column;align-items:flex-end}.job-count b{font-size:1.4rem;line-height:1}.orbit.sm{width:26px;height:26px;flex:none}.orbit.sm i:nth-child(3){inset:8px}.pcard{display:flex;flex-direction:column;gap:10px;cursor:pointer;min-height:230px}.pcard h3{font-size:1.05rem;font-weight:700}.pcard-cube{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 12px 24px -10px var(--accent)}.pcard-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;padding-top:10px;border-top:1px dashed var(--line)}.assign-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.assign-chip{flex:none;width:260px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--surface-2);text-align:left;transition:all var(--t-fast);max-width:100%}.assign-chip:hover{border-color:var(--accent);transform:translateY(-2px)}.tender-bar .tb-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:none}.pending-banner{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--warn-soft),transparent);border:1px solid color-mix(in oklab,var(--warn) 40%,transparent)}.boq-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--gap);align-items:start}.boq-side{position:sticky;top:calc(var(--topbar-h) + 16px);display:flex;flex-direction:column;gap:12px}@media(max-width:1240px){.boq-layout{grid-template-columns:minmax(0,1fr)}.boq-side{position:static}}.boq-table td{padding:4px 6px}.boq-table input.cell.right{text-align:right}.boq-table tfoot td{padding:12px;border-top:2px solid var(--line);font-size:1.02rem}.add-row{background:var(--surface-2)}.add-row input.cell{border-color:var(--glass-border)}.print-doc .doc-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:2px solid var(--text);flex-wrap:wrap}.doc-section{display:flex;justify-content:space-between;padding:8px 12px;border-radius:8px;background:var(--accent-soft);font-weight:700;margin-bottom:4px}.doc-total{display:flex;justify-content:space-between;margin-top:20px;padding:14px 16px;border-radius:var(--r-md);background:var(--grad);color:#fff;font-size:1.15rem}.timeline{display:flex;flex-direction:column}.tl-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}.tl-dot{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:none}.pick-list{display:flex;flex-direction:column;gap:6px;max-height:380px;overflow:auto}.pick{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--surface-2);text-align:left;transition:all var(--t-fast)}.pick:hover{border-color:var(--accent-line)}.pick.on{border-color:var(--accent);background:var(--accent-soft)}.pick.done{opacity:.85}.pick-check{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--muted);display:grid;place-items:center;color:transparent;flex:none}.pick-check.on{background:var(--grad);border-color:transparent;color:#fff}.person{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:var(--r-md);background:var(--surface-2)}.chat{display:flex;flex-direction:column;height:min(620px,70dvh)}.chat-list{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.bubble-row{display:flex;gap:8px;align-items:flex-end;animation:rise var(--t) var(--ease)}.bubble-row.me{justify-content:flex-end}.bubble{position:relative;max-width:85%;padding:9px 12px;border-radius:14px 14px 14px 4px;background:var(--surface-2);border:1px solid var(--glass-border)}.bubble-row.me .bubble{border-radius:14px 14px 4px;background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 26%,var(--surface-solid)),color-mix(in oklab,var(--accent-2) 14%,var(--surface-solid)));border-color:var(--accent-line)}.bubble.private{border-style:dashed;border-color:var(--warn)}.bubble .priv{color:var(--warn);display:flex;align-items:center;gap:4px;margin:2px 0 4px}.bubble-actions{position:absolute;top:-12px;right:6px;display:none;gap:2px;padding:2px;border-radius:8px;background:var(--surface-solid);border:1px solid var(--glass-border);box-shadow:var(--shadow)}.bubble:hover .bubble-actions{display:flex}.bubble-actions button{border:none;background:transparent;color:var(--muted);padding:4px;border-radius:6px;display:grid;place-items:center}.bubble-actions button:hover{color:var(--text);background:var(--surface-2)}.chat-compose{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}.kanban{display:grid;grid-template-columns:repeat(6,minmax(250px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity}.lane{scroll-snap-align:start;display:flex;flex-direction:column;min-height:420px;border-radius:var(--r-lg);background:color-mix(in oklab,var(--surface) 70%,transparent);border:1px solid var(--glass-border);transition:all var(--t)}.lane.over{border-color:var(--lane);box-shadow:0 0 0 2px color-mix(in oklab,var(--lane) 50%,transparent),0 18px 40px -16px var(--lane);transform:translateY(-3px)}.lane-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}.lane-head:before{content:"";position:absolute}.lane-ic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in oklab,var(--lane) 20%,transparent);color:var(--lane)}.lane-count{margin-left:auto;min-width:24px;height:22px;padding:0 7px;border-radius:11px;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--surface-2)}.lane-body{flex:1;display:flex;flex-direction:column;gap:10px;padding:12px}.kcard{padding:12px;border-radius:var(--r-md);background:var(--surface-solid);border:1px solid var(--glass-border);border-left:3px solid var(--lane);box-shadow:var(--shadow);cursor:grab;transition:transform var(--t) var(--spring),box-shadow var(--t),opacity var(--t)}.kcard:hover{transform:translateY(-3px) rotateX(6deg) rotate(-.6deg);box-shadow:var(--shadow-lg)}.kcard.dragging{opacity:.4;transform:scale(.96) rotate(-3deg)}.kcard-move{margin-top:8px;width:100%;height:30px;border-radius:8px;border:1px solid var(--glass-border);background:var(--input);font-size:var(--fs-xs)}.lane-empty{flex:1;display:grid;place-items:center;min-height:80px;border:2px dashed var(--line);border-radius:var(--r-md);color:var(--muted);font-size:var(--fs-sm)}.export-card{display:flex;align-items:center;gap:12px}.export-card .k-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:none}.org-rank{font-size:1.6rem;font-weight:800;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.kw-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:var(--gap);align-items:start}.kw-list{position:sticky;top:calc(var(--topbar-h) + 16px);max-height:calc(100dvh - var(--topbar-h) - 40px);display:flex;flex-direction:column}.kw-items{overflow-y:auto;padding:0 8px 8px;display:flex;flex-direction:column;gap:4px}.kw-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;text-align:left;transition:all var(--t-fast)}.kw-item:hover{background:var(--surface-2)}.kw-item.on{background:var(--accent-soft);border-color:var(--accent-line)}@media(max-width:960px){.kw-layout{grid-template-columns:minmax(0,1fr)}.kw-list{position:static;max-height:300px}}.portal{padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2)}.savebar{position:sticky;bottom:16px;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-lg);background:var(--surface-solid);border:1px solid var(--accent-line);box-shadow:var(--glow),var(--shadow-lg)}@media(max-width:720px){.savebar{bottom:86px}}.audit-list{display:flex;flex-direction:column}.audit{border-bottom:1px solid var(--line)}.audit:last-child{border-bottom:none}.audit-head{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:none;background:transparent}.audit-head:hover,.audit.open .audit-head{background:var(--surface-2)}.audit-body{padding:4px 16px 14px 54px;animation:rise var(--t) var(--ease)}.diff{display:flex;flex-direction:column;gap:4px}.diff-row{display:grid;grid-template-columns:minmax(110px,160px) 1fr auto 1fr;gap:8px;align-items:center;font-size:var(--fs-xs)}.diff .del{color:var(--bad);text-decoration:line-through;opacity:.8;word-break:break-word}.diff .ins{color:var(--ok);word-break:break-word}@media(max-width:640px){.diff-row{grid-template-columns:1fr}.audit-body{padding-left:16px}}.md-card{padding:16px}.md-main{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.md-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;margin-left:auto}.decision{display:inline-flex;gap:4px;padding:3px;border-radius:12px;background:var(--surface-2);border:1px solid var(--glass-border);flex-wrap:wrap}.dec{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 9px;border:none;border-radius:9px;background:transparent;color:var(--text-2);font-size:11.5px;font-weight:700;transition:all var(--t) var(--spring)}.dec:hover{background:var(--surface-hover)}.dec.on{color:#fff;transform:translateY(-1px)}.dec.on.t-ok{background:var(--ok)}.dec.on.t-info{background:var(--info)}.dec.on.t-warn{background:var(--warn)}.dec.on.t-bad{background:var(--bad)}.dec.on.t-muted{background:var(--muted)}@media(max-width:860px){.md-actions{align-items:stretch;width:100%}.dec span{display:none}}.md-more{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.prebid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:var(--gap);align-items:start}@media(max-width:1080px){.prebid{grid-template-columns:minmax(0,1fr)}}.final-card{text-align:center;padding:26px;background:radial-gradient(400px 200px at 50% 0%,var(--accent-soft),transparent),var(--surface)}.final-amt{font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:800;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.gap-pill{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;border-radius:var(--r-pill);font-weight:650;font-size:var(--fs-sm)}.gap-pill.ok{background:var(--ok-soft);color:var(--ok)}.gap-pill.warn{background:var(--warn-soft);color:var(--warn)}.gap-pill.bad{background:var(--bad-soft);color:var(--bad)}.waterfall{display:flex;flex-direction:column;gap:8px}.wf-row{display:grid;grid-template-columns:minmax(150px,230px) 1fr minmax(110px,auto);gap:12px;align-items:center}.wf-row.sum{padding-top:8px;border-top:1px dashed var(--line);font-weight:700}.wf-row.total{margin-top:6px;padding:12px;border-radius:var(--r-md);background:var(--accent-soft);font-weight:800}.wf-bar{height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden}.wf-bar i{display:block;height:100%;border-radius:inherit;background:var(--grad);animation:grow-x .8s var(--ease) both;transform-origin:left}@media(max-width:560px){.wf-row{grid-template-columns:1fr auto}.wf-bar{grid-column:1 / -1;order:3}}.ladder{display:flex;align-items:flex-end;gap:3px;height:34px}.ladder i{flex:1;min-width:8px;border-radius:3px 3px 0 0;background:color-mix(in oklab,var(--muted) 45%,transparent)}.ladder i:first-child{background:var(--ok)}.ladder i.us{background:var(--grad)}.lvl{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:var(--fs-sm);background:var(--accent-soft);color:var(--accent-ink);flex:none}.risk-banner{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.risk-orb{width:92px;height:92px;border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:26px;flex:none;color:#fff;transform:rotateX(14deg);box-shadow:inset -8px -10px 18px #00000040,0 14px 30px -10px currentColor}.risk-orb b{font-size:2rem}.risk-orb span{font-size:12px;opacity:.8}.risk-banner.t-ok .risk-orb{background:radial-gradient(circle at 35% 30%,#86efac,var(--ok))}.risk-banner.t-warn .risk-orb{background:radial-gradient(circle at 35% 30%,#fde68a,var(--warn))}.risk-banner.t-bad .risk-orb{background:radial-gradient(circle at 35% 30%,#fda4af,var(--bad))}.file-list{max-height:420px;overflow:auto}.file-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line)}.file-row .doc-ext{width:34px;height:38px;font-size:9.5px}.cmp-card{display:flex;flex-direction:column;gap:8px}.success-pop{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok);animation:pop-in .6s var(--spring)}@media print{body{background:#fff!important;color:#000}.sidebar,.topbar,.tabbar,.aurora,.grid-floor,.no-print,.tabs,.boq-side,.page-head,.tender-bar,.pending-banner,.grid.g-4,.toasts,.hud,.beam{display:none!important}.content{padding:0;max-width:none}.card{box-shadow:none;border:none;backdrop-filter:none;background:#fff;padding:0}.boq-layout{display:block}.print-doc{color:#000}.doc-total{color:#000;background:#eee!important}.table th{position:static;background:#f2f2f2;color:#000}}.source-tile{padding:0;overflow:hidden}.source-tile .st-main{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;padding:12px 14px;cursor:pointer;width:100%}.source-tile .st-main:disabled{cursor:default}.source-tile .st-more{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:7px 14px;border-top:1px dashed var(--line);color:var(--accent-ink);font-weight:600;cursor:pointer}.source-tile .st-more:hover{background:var(--accent-soft)}.source-tile.open{border-color:var(--accent)}.portal-list{padding:12px;border-radius:var(--r-md);border:1px solid var(--accent-line);background:var(--surface-2)}.portal-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px;max-height:260px;overflow:auto}.pchk{min-width:0}.pchk.dim{opacity:.45}.state-picker .region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.state-picker .region{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--glass-border)}.state-picker .region-head{padding-bottom:6px;margin-bottom:2px;border-bottom:1px dashed var(--line)}.state-picker .region-head .xs{margin-left:auto}.dim-row{opacity:.55}.opt-row{padding:12px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--surface-2);display:flex;flex-direction:column;gap:10px}@media(max-width:960px){.grid[style*="2fr"]{grid-template-columns:minmax(0,1fr)!important}}.pcard-tender{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--glass-border);cursor:default}.pcard-tender.warn{background:var(--warn-soft);border-color:color-mix(in oklab,var(--warn) 35%,transparent)}.users-filter .chip-select{height:36px}.users-table{table-layout:fixed;min-width:920px}.users-table th,.users-table td{vertical-align:middle}.users-table th:first-child,.users-table td:first-child{padding-left:18px;padding-right:0}.users-table th .check,.users-table td .check{display:flex}.users-table .nowrap-row{flex-wrap:nowrap;min-width:0}.users-table .nowrap-row>div{flex:1 1 auto}.users-table .users-role{width:100%;max-width:220px;height:36px}.users-table .check[role=switch]{white-space:nowrap}.users-table tr.sel-row,.users-table tr.sel-row:hover{background:var(--accent-soft)}.users-bulk{gap:10px}.users-bulk .bulk-group{display:flex;align-items:center;gap:6px}.users-bulk .select{width:auto;min-width:170px;height:32px}.bulk-sep{width:1px;align-self:stretch;background:var(--line);margin:2px}@media(max-width:720px){.bulk-sep{display:none}.users-bulk .bulk-group{flex:1 1 100%}.users-bulk .select{flex:1}}.perm-list{display:flex;flex-direction:column;gap:8px}.perm-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--glass-border);flex-wrap:wrap}.perm-row.ov{border-color:var(--warn);background:var(--warn-soft)}.lvl-seg button.on.l0{background:var(--muted)}.lvl-seg button.on.l1{background:var(--info)}.lvl-seg button.on.l2{background:var(--accent)}.lvl-seg button.on.l3{background:var(--ok)}.role-matrix td,.role-matrix th{vertical-align:top}.role-matrix tr.grp td{background:var(--surface-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}select.lvl.l0{color:var(--muted)}select.lvl.l2{color:var(--accent-ink);font-weight:600}select.lvl.l3{color:var(--ok);font-weight:700}.priced-table .sec-row td{background:color-mix(in oklab,var(--accent) 22%,var(--surface-solid));color:var(--text);font-weight:700;font-size:var(--fs-sm);position:sticky;left:0}.priced-table .sec-row td span{float:right;font-variant-numeric:tabular-nums}.priced-table tr.unpriced td{opacity:.7}.priced-table tbody tr{cursor:default}.warn-tile{border-color:color-mix(in oklab,var(--warn) 45%,transparent)!important;background:var(--warn-soft)!important}.link-btn{border:none;background:none;padding:0;color:var(--accent-ink);font:inherit;cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.calc-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid var(--accent-line)}.calc-strip span{display:block;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.calc-strip b{font-size:1.2rem}.src-chip{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-sm)}.src-chip>b{min-width:28px;color:var(--accent-ink)}.file-pill{display:inline-flex;align-items:center;gap:8px;max-width:420px;padding:6px 6px 6px 12px;border-radius:var(--r-pill);border:1px solid var(--glass-border);background:var(--surface-2);font-size:var(--fs-sm)}@media(max-width:640px){.calc-strip{grid-template-columns:1fr}}.role-matrix select.select{width:140px;min-width:140px;padding-left:10px}.role-matrix input.cell{min-width:140px}.proj-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.proj-id{display:flex;align-items:center;gap:12px;flex:1 1 320px;min-width:0}.proj-cube{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--grad);color:#fff;box-shadow:0 8px 20px -10px var(--accent)}.proj-eyebrow{letter-spacing:.04em}.proj-name{font-size:1.05rem;font-weight:750;letter-spacing:-.01em}.status-select{width:auto!important;height:38px;font-weight:650}.status-select.s-draft{color:var(--text-2)}.status-select.s-active{color:var(--info)}.status-select.s-submitted{color:var(--ok)}.status-select.s-archived{color:var(--muted)}.dossier{position:relative;display:flex;flex-direction:column;gap:16px;padding:22px;border-radius:var(--r-xl);isolation:isolate;background:radial-gradient(900px 340px at 0% 0%,color-mix(in oklab,var(--accent) 16%,transparent),transparent 60%),radial-gradient(700px 300px at 100% 0%,color-mix(in oklab,var(--accent-2) 10%,transparent),transparent 60%),var(--surface);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);animation:rise var(--t-slow) var(--ease) both}.dossier:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;z-index:-1;pointer-events:none;background:conic-gradient(from var(--ang, 0deg),transparent 0 60%,var(--accent) 75%,var(--accent-2) 85%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:dz-spin 9s linear infinite;opacity:.65}@property --ang{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes dz-spin{to{--ang: 360deg}}.dossier.is-deleted:before{background:conic-gradient(from var(--ang, 0deg),transparent 0 60%,var(--warn) 78%,transparent 100%)}.dz-ribbon{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin:-6px -6px 0;border-radius:var(--r-lg);background:var(--warn-soft);border:1px solid color-mix(in oklab,var(--warn) 40%,transparent);color:var(--text);font-size:var(--fs-sm)}.dz-ribbon>svg{color:var(--warn);flex:none}.dz-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}@media(max-width:1100px){.dz-grid{grid-template-columns:minmax(0,1fr)}}.dz-main{display:flex;flex-direction:column;gap:12px;min-width:0}.dz-title{font-size:clamp(1.35rem,2.2vw,1.95rem);font-weight:800;line-height:1.22;letter-spacing:-.025em;text-wrap:balance}.dz-org{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--text-2);font-weight:600;font-size:var(--fs-md)}.dz-org>svg{color:var(--accent-ink)}.dz-org span{display:inline-flex;align-items:center;gap:6px}.dz-org span svg{color:var(--muted)}.dz-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--glass-border);font-size:var(--fs-sm);color:var(--text-2)}.dz-chip svg{color:var(--accent-ink)}.dz-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:4px}.dz-figures>div{padding:12px 14px;border-radius:var(--r-md);background:color-mix(in oklab,var(--surface-solid) 70%,transparent);border:1px solid var(--glass-border);transition:transform var(--t) var(--spring),border-color var(--t)}.dz-figures>div:hover{transform:translateY(-3px);border-color:var(--accent-line)}.dz-figures span{display:block;font-size:var(--fs-xs);color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.06em}.dz-figures b{display:block;margin-top:4px;font-size:1.15rem;font-weight:750;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dz-figures .hot{border-color:color-mix(in oklab,var(--warn) 55%,transparent);background:var(--warn-soft)}.dz-figures .hot b{color:var(--warn)}@media(max-width:720px){.dz-figures{grid-template-columns:repeat(2,minmax(0,1fr))}}.dz-timeline{position:relative;height:72px;margin:10px 8px 0}.dz-track{position:absolute;left:0;right:0;top:7px;height:4px;border-radius:4px;background:var(--surface-hover);overflow:hidden}.dz-track i{display:block;height:100%;background:var(--grad);border-radius:inherit;animation:grow-x 1.2s var(--ease) both;transform-origin:left}.dz-stop{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);text-align:center;width:160px}.dz-stop:nth-child(2){transform:none;align-items:flex-start;text-align:left}.dz-stop:last-child{transform:translate(-100%);align-items:flex-end;text-align:right}.dz-stop .dot{width:18px;height:18px;border-radius:50%;background:var(--surface-solid);border:3px solid var(--muted);box-shadow:0 0 0 4px var(--surface)}.dz-stop.past .dot{border-color:var(--accent);background:var(--accent)}.dz-stop b{margin-top:8px;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.dz-stop small{font-size:var(--fs-sm);color:var(--text);font-weight:600}.dz-ai{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--r-lg);background:color-mix(in oklab,var(--surface-solid) 75%,transparent);border:1px solid var(--glass-border);perspective:600px}.dz-eyebrow{display:flex;align-items:center;gap:6px;justify-content:center;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.dz-score{display:grid;place-items:center;padding:4px 0}.dz-score .ring{--s: 132px;width:var(--s);height:var(--s);border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:42px;position:relative;background:conic-gradient(var(--sc) calc(var(--v) * 1%),var(--surface-hover) 0);transform:rotateX(16deg);box-shadow:0 18px 40px -18px var(--sc);animation:ring-in 1s var(--spring) both}.dz-score .ring:before{content:"";position:absolute;inset:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--surface-hover),var(--surface-solid))}.dz-score .ring b,.dz-score .ring span{position:relative}.dz-score .ring b{font-size:2.4rem;font-weight:800;line-height:1;letter-spacing:-.04em}.dz-score .ring span{color:var(--muted);font-size:var(--fs-sm);margin-left:2px}@keyframes ring-in{0%{transform:rotateX(70deg) scale(.6);opacity:0}}.dz-md{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2)}.dz-md span{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:650}.dz-md b{font-size:var(--fs-md)}.dz-md small{width:100%;font-size:var(--fs-xs);color:var(--muted)}.dz-md{flex-wrap:wrap}.dz-reason{line-height:1.55;padding:0 2px}.dz-scope{display:flex;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--accent-line);font-size:var(--fs-sm);line-height:1.6}.dz-scope svg{color:var(--accent-ink);flex:none;margin-top:3px}.dz-tabs{display:flex;flex-direction:column;gap:12px}.dz-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.dz-fact{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--glass-border);min-width:0;transition:border-color var(--t)}.dz-fact:hover{border-color:var(--accent-line)}.dz-fact.wide{grid-column:span 2}@media(max-width:640px){.dz-fact.wide{grid-column:auto}}.dz-fact>svg{color:var(--accent-ink);margin-top:2px;flex:none}.dz-fact span{display:block;font-size:var(--fs-xs);color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.05em}.dz-fact b{display:block;margin-top:2px;font-size:var(--fs-sm);font-weight:650;word-break:break-word}.dz-doc{display:inline-flex;align-items:center;gap:10px;max-width:360px;padding:6px 10px 6px 6px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);transition:transform var(--t-fast),border-color var(--t-fast)}.dz-doc:hover{transform:translateY(-2px);border-color:var(--accent)}.dz-doc .doc-ext{width:34px;height:38px;font-size:9.5px}.empty-dossier h3{font-size:var(--fs-xl)}.dz-orb{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 14px 30px -12px var(--accent);animation:float 4s ease-in-out infinite}.glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media(max-width:860px){.glance{grid-template-columns:repeat(2,minmax(0,1fr))}}.gl{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--glass-border);backdrop-filter:blur(14px);flex-wrap:wrap}.gl-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:none}.gl span:not(.gl-ic){display:block;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:650}.gl b{font-size:1.2rem;font-weight:750}[data-motion=reduced] .dossier:before{animation:none}.amount-in{display:flex;align-items:center;height:42px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--input);transition:border-color var(--t-fast),box-shadow var(--t-fast);min-width:0}.amount-in:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.amount-in input{flex:1;min-width:0;height:100%;border:none;background:transparent;color:var(--text);padding:0 6px;font-variant-numeric:tabular-nums;font-weight:600;outline:none}.amount-sym{padding-left:12px;color:var(--muted);font-weight:700}.amount-unit{flex:none;height:calc(100% - 8px);margin-right:4px;padding:0 10px;border:none;border-radius:8px;background:var(--accent-soft);color:var(--accent-ink);font-weight:700;font-size:var(--fs-xs);cursor:pointer;transition:transform var(--t-fast)}.amount-unit:hover{transform:translateY(-1px)}.amount-unit:active{transform:scale(.94)}.amount-in.compact{height:34px;width:128px}.amount-in.compact .amount-sym{padding-left:9px}.amount-in.compact .amount-unit{padding:0 7px}.amount-presets{display:flex;flex-wrap:wrap;gap:6px}.amount-policies{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.amount-policies>div{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.amount-policies .seg{align-self:flex-start;margin-top:4px}.amount-policies .seg button{text-transform:none}.amount-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.state-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r-md);border:1px dashed var(--accent-line);background:color-mix(in oklab,var(--accent-soft) 50%,transparent)}.state-bulk .select{width:auto;height:34px}.state-rules{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow-y:auto;padding-right:2px}.state-rule{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);transition:border-color var(--t-fast),background var(--t-fast),opacity var(--t-fast)}.state-rule.custom{border-color:var(--accent-line);box-shadow:inset 3px 0 0 var(--accent)}.state-rule.off{opacity:.62}.state-rule.off .sr-name b{text-decoration:line-through}.sr-main{display:flex;align-items:center;gap:10px;padding:8px 10px;flex-wrap:wrap}.sr-name{display:flex;flex-direction:column;min-width:140px;flex:1 1 140px}.sr-range{display:flex;align-items:center;gap:6px}.sr-tags{display:flex;gap:4px;flex-wrap:wrap;min-width:0}.sr-more{display:flex;flex-direction:column;gap:12px;padding:12px 12px 14px;border-top:1px solid var(--line)}@media(max-width:640px){.sr-range{order:5;width:100%}.amount-in.compact{flex:1;width:auto}}[data-theme=dark][data-tone=midnight]{--bg: #0a0c12;--bg-2: #0e1118;--surface: rgba(20, 23, 32, .86);--surface-solid: #131722;--surface-2: rgba(30, 35, 47, .72);--surface-hover: rgba(42, 48, 64, .78);--glass-border: rgba(170, 180, 210, .09);--line: rgba(170, 180, 210, .075);--text: #dde1ec;--text-2: #a2a9bc;--muted: #717a90;--accent-ink: color-mix(in oklab, var(--accent) 62%, #e6e8f2);--accent-soft: color-mix(in oklab, var(--accent) 13%, transparent);--grad: linear-gradient(135deg, color-mix(in oklab, var(--accent) 88%, #10131c), color-mix(in oklab, var(--accent-2) 55%, var(--accent)));--ok: #34c77b;--warn: #e3a33b;--bad: #ef5d72;--info: #57b6e6;--shadow: 0 8px 24px -14px rgba(0,0,0,.7), 0 1px 3px rgba(0,0,0,.35);--shadow-lg: 0 24px 60px -24px rgba(0,0,0,.8), 0 6px 18px rgba(0,0,0,.35);--glow: 0 0 0 1px var(--accent-line), 0 6px 22px -10px color-mix(in oklab, var(--accent) 40%, transparent);--scrim: rgba(4, 5, 9, .66);--input: rgba(9, 11, 17, .7);--aurora-1: rgba(110, 100, 220, .09);--aurora-2: rgba(40, 170, 200, .05);--aurora-3: rgba(200, 80, 110, .03)}[data-tone=midnight][data-theme=dark] .grid-floor{opacity:.25}[data-tone=midnight][data-theme=dark] .card{backdrop-filter:none;-webkit-backdrop-filter:none}[data-tone=midnight][data-theme=dark] .grad-text{filter:saturate(.8)}[data-tone=midnight][data-theme=dark] .btn.primary{box-shadow:0 6px 16px -10px color-mix(in oklab,var(--accent) 60%,transparent)}[data-tone=midnight][data-theme=dark] ::selection{background:color-mix(in oklab,var(--accent) 40%,transparent)}[data-text=large]{--fs-xs: .78rem;--fs-sm: .87rem;--fs-md: .95rem;--fs-lg: 1.08rem;--fs-xl: 1.34rem;--fs-2xl: 1.7rem;--fs-3xl: 2.2rem}[data-density=compact]{--gap: 11px;--topbar-h: 54px;--sidebar-w: 228px;--sidebar-w-collapsed: 64px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--fs-xs: .69rem;--fs-sm: .76rem;--fs-md: .82rem;--fs-lg: .94rem;--fs-xl: 1.12rem;--fs-2xl: 1.38rem;--fs-3xl: 1.8rem}[data-density=compact][data-text=large]{--fs-xs: .74rem;--fs-sm: .82rem;--fs-md: .88rem;--fs-lg: 1rem;--fs-xl: 1.2rem;--fs-2xl: 1.5rem}[data-density=compact] body{line-height:1.42}[data-density=compact] .content{padding:14px 18px 48px;max-width:1880px}[data-density=compact] .card{padding:13px}[data-density=compact] .card.flush{padding:0}[data-density=compact] .card-head{margin-bottom:10px}[data-density=compact] .btn{height:32px;padding:0 12px;gap:6px}[data-density=compact] .btn svg{width:15px;height:15px}[data-density=compact] .btn.sm{height:27px;padding:0 9px}[data-density=compact] .btn.icon{width:32px}[data-density=compact] .btn.sm.icon{width:27px}[data-density=compact] .input,[data-density=compact] .select{height:33px;padding:0 10px}[data-density=compact] .select{padding-right:30px}[data-density=compact] .field{gap:4px}[data-density=compact] .field>label{letter-spacing:.05em}[data-density=compact] .form-grid{gap:10px}[data-density=compact] .table th,[data-density=compact] .table td{padding:7px 10px}[data-density=compact] .table.compact td{padding:5px 8px}[data-density=compact] .sidebar{padding:12px 9px}[data-density=compact] .brand{padding:2px 6px 12px}[data-density=compact] .brand-mark{width:34px;height:34px}[data-density=compact] .brand-name{font-size:1rem}[data-density=compact] .nav a{height:35px;gap:10px;padding:0 10px;font-size:.82rem;border-radius:10px}[data-density=compact] .nav a svg{width:17px;height:17px}[data-density=compact] .nav-label{padding:10px 10px 4px;font-size:9.5px}[data-density=compact] .topbar h1{font-size:1.05rem}[data-density=compact] .icon-btn{width:34px;height:34px}[data-density=compact] .kpi{gap:6px}[data-density=compact] .page-head h2{font-size:var(--fs-2xl)}[data-density=compact] .chip{height:27px;padding:0 10px}[data-density=compact] .badge{font-size:10.5px}[data-density=compact] .toast{padding:11px 12px}.live-btn{position:relative;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px 0 10px;border-radius:var(--r-pill);border:1px solid var(--glass-border);background:var(--surface-2);color:var(--text-2);font-weight:650;font-size:var(--fs-sm);white-space:nowrap;transition:border-color var(--t-fast),background var(--t-fast)}.live-btn:hover{border-color:var(--accent-line);color:var(--text)}.live-btn.busy{border-color:color-mix(in oklab,var(--ok) 45%,transparent);background:color-mix(in oklab,var(--ok) 10%,var(--surface-2));color:var(--text)}[data-density=compact] .live-btn{height:32px}.live-core{position:relative;width:18px;height:18px;display:grid;place-items:center;flex:none}.live-core i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--muted);opacity:.6}.live-core b{width:7px;height:7px;border-radius:50%;background:var(--muted)}.live-btn.on .live-core b{background:var(--ok)}.live-btn.on .live-core i{border-color:color-mix(in oklab,var(--ok) 50%,transparent);opacity:.5}.live-btn.busy .live-core i{border-color:var(--ok);border-right-color:transparent;border-bottom-color:transparent;opacity:1;animation:spin 1.1s linear infinite}.live-btn.busy .live-core i:nth-child(2){inset:4px;border-color:var(--accent-2);border-left-color:transparent;border-top-color:transparent;animation-duration:1.7s;animation-direction:reverse}.live-btn .lc-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--ok);color:#05210f;font-size:11px;font-weight:800;display:grid;place-items:center}.live-btn .lc-off{color:var(--warn)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:720px){.live-btn .lc-label{display:none}.live-btn{padding:0 9px}}.live-panel{width:min(430px,92vw);display:flex;flex-direction:column;gap:10px}.live-panel .lp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 0}.live-panel .lp-sec{font-size:10.5px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:4px 8px 0}.lp-list{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto;padding:0 2px 2px}.proc{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);text-align:left;color:var(--text);transition:border-color var(--t-fast),transform var(--t-fast)}.proc:hover{border-color:var(--accent-line)}.proc .p-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink)}.proc .p-ic svg{width:17px;height:17px}.proc.running .p-ic{background:color-mix(in oklab,var(--ok) 16%,transparent);color:var(--ok)}.proc.failed .p-ic{background:var(--bad-soft);color:var(--bad)}.proc.stopped .p-ic{background:var(--warn-soft);color:var(--warn)}.proc .p-title{font-weight:700;font-size:var(--fs-sm);display:flex;gap:6px;align-items:center;min-width:0}.proc .p-sub{font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc .p-num{text-align:right;font-variant-numeric:tabular-nums}.proc .p-num b{display:block;font-size:var(--fs-lg);line-height:1.1}.proc .p-num span{font-size:10.5px;color:var(--muted)}.proc .p-bar{grid-column:1 / -1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}.proc .p-bar i{display:block;height:100%;width:35%;border-radius:3px;background:var(--grad);animation:pbar 1.6s var(--ease) infinite}@keyframes pbar{0%{transform:translate(-110%)}to{transform:translate(320%)}}.lp-foot{display:flex;gap:6px;flex-wrap:wrap;padding:10px 4px 4px;border-top:1px solid var(--line)}.toast .t-action{margin-top:8px;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:8px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-ink);font-weight:650;font-size:var(--fs-xs);cursor:pointer}.toast .t-action:hover{background:color-mix(in oklab,var(--accent) 24%,transparent)}.set-sec{display:flex;flex-direction:column;gap:12px}.set-sec>h4{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:750;display:flex;align-items:center;gap:8px}.set-sec>h4:after{content:"";flex:1;height:1px;background:var(--line)}.opt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.opt-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--surface-2);color:var(--text-2);font-weight:650;font-size:var(--fs-sm);text-align:left;transition:border-color var(--t-fast),transform var(--t-fast)}.opt-card:hover{border-color:var(--accent-line);transform:translateY(-1px)}.opt-card.on{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 3px var(--accent-soft)}.opt-card .mini{width:100%;height:34px;border-radius:8px;border:1px solid var(--line)}.opt-card .xs{font-weight:500}.push-state{display:flex;gap:12px;align-items:center;padding:12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2)}.push-state .ps-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--surface-hover);color:var(--muted)}.push-state.on .ps-ic{background:color-mix(in oklab,var(--ok) 16%,transparent);color:var(--ok)}.pref-list{display:flex;flex-direction:column;gap:10px}.pref-list .check,.set-sec .check{text-align:left;gap:10px}.set-sec .check .switch{flex:none}.callout .btn{flex:none;align-self:center}@media(max-width:720px){.anchor .pop:has(>.live-panel){position:fixed;left:8px;right:8px;top:calc(var(--topbar-h) + 6px);max-height:calc(100dvh - var(--topbar-h) - 90px);overflow-y:auto}.live-panel{width:auto}}.col>.tabs,.page>.tabs{align-self:flex-start}[data-density=compact] .input-icon>svg+.input{padding-left:34px;padding-inline-start:34px}[data-density=compact] .input-icon>svg{left:11px;width:15px;height:15px}.agent-btn{--ab-h: 38px;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:9px;height:var(--ab-h);padding:0 16px 0 5px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill);color:#fff;font-weight:700;font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;background:linear-gradient(110deg,var(--accent) 0%,#8b5cf6 45%,#22d3ee 100%);background-size:220% 100%;animation:ab-flow 6s ease-in-out infinite;box-shadow:0 8px 22px -10px var(--accent),inset 0 1px #ffffff38;transition:transform var(--t-fast),box-shadow var(--t-fast),filter var(--t-fast)}.agent-btn:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translate(-120%);animation:ab-shine 3.4s ease-in-out infinite}.agent-btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px -10px var(--accent),0 0 0 3px var(--accent-soft),inset 0 1px #ffffff40;filter:saturate(1.15)}.agent-btn:active{transform:translateY(0) scale(.98)}.agent-btn:disabled{cursor:progress}.agent-btn.sm{--ab-h: 30px;padding:0 12px 0 3px;gap:7px;font-size:var(--fs-xs)}.agent-btn .ab-orb{position:relative;width:calc(var(--ab-h) - 8px);height:calc(var(--ab-h) - 8px);border-radius:50%;display:grid;place-items:center;background:#080a1452;box-shadow:inset 0 0 0 1px #fff3;flex:none}.agent-btn .ab-orb svg{width:58%;height:58%;animation:ab-bob 2.6s ease-in-out infinite}.agent-btn .ab-orb i{position:absolute;inset:-3px;border-radius:50%;border:1.5px solid transparent;border-top-color:#ffffffd9;animation:spin 2.8s linear infinite}.agent-btn .ab-orb i+i{inset:-6px;border-top-color:transparent;border-bottom-color:#22d3eecc;animation-duration:4.2s;animation-direction:reverse;opacity:.7}.agent-btn .ab-label{display:inline-flex;align-items:baseline}.agent-btn .ab-meta{font-size:11px;font-weight:650;padding:2px 7px;border-radius:999px;background:#080a144d;font-variant-numeric:tabular-nums}.agent-btn .ab-dots{display:inline-flex;gap:2px;margin-left:3px}.agent-btn .ab-dots i{width:3px;height:3px;border-radius:50%;background:currentColor;animation:ab-dot 1.2s ease-in-out infinite}.agent-btn .ab-dots i:nth-child(2){animation-delay:.15s}.agent-btn .ab-dots i:nth-child(3){animation-delay:.3s}.agent-btn.working{background:linear-gradient(110deg,#059669,#10b981 40%,#22d3ee 80%,#059669);background-size:300% 100%;animation:ab-flow 2.2s linear infinite;box-shadow:0 0 #10b98180,0 8px 22px -10px #10b981;animation-name:ab-flow,ab-pulse;animation-duration:2.2s,1.8s;animation-timing-function:linear,ease-out;animation-iteration-count:infinite,infinite}.agent-btn.working .ab-orb i{animation-duration:1s}.agent-btn.working .ab-orb i+i{animation-duration:1.5s}@keyframes ab-flow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes ab-shine{0%,55%{transform:translate(-120%)}85%,to{transform:translate(120%)}}@keyframes ab-bob{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-1.5px) rotate(-6deg)}60%{transform:translateY(.5px) rotate(4deg)}}@keyframes ab-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes ab-pulse{0%{box-shadow:0 0 #10b9818c,0 8px 22px -10px #10b981}to{box-shadow:0 0 0 10px #10b98100,0 8px 22px -10px #10b981}}[data-motion=reduced] .agent-btn,[data-motion=reduced] .agent-btn *,[data-motion=reduced] .agent-btn:before{animation:none!important}@media(prefers-reduced-motion:reduce){.agent-btn,.agent-btn *,.agent-btn:before{animation:none!important}}.bid-desk .bd-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;position:relative}.bd-step{position:relative;display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);min-width:0;transition:border-color var(--t-fast)}.bd-step.done{border-color:color-mix(in srgb,var(--ok) 38%,var(--line));background:color-mix(in srgb,var(--ok) 6%,var(--surface-2))}.bd-step:not(:last-child):after{content:"";position:absolute;right:-8px;top:50%;width:8px;height:2px;background:var(--line)}.bd-step.done:not(:last-child):after{background:var(--ok)}.bd-dot{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--muted);border:1.5px solid var(--line)}.bd-step.done .bd-dot{background:var(--ok);border-color:var(--ok);color:#05210f}.bd-label{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.bd-val{margin:3px 0 1px;font-size:var(--fs-md, 1rem);line-height:1.25}.bd-step small{display:block;font-size:11px;color:var(--text-2)}.bd-decide{margin-top:12px;gap:10px}.bd-decide .seg button{text-transform:none}.bd-boq{margin-top:12px;display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--line)}.bd-boq .btn{align-self:flex-start}.bd-history{margin-top:12px;display:flex;flex-direction:column;gap:8px}.bd-hlist{display:flex;flex-direction:column;gap:4px}.bd-hrow{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--surface-2);min-width:0}.prebid .bid-desk .bd-steps{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.prebid .bid-desk .bd-step:after{display:none}@media(max-width:1100px){.bid-desk .bd-steps{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.bd-step:after{display:none}}.import-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.import-help>div{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.import-help svg{flex:none;color:var(--accent-ink);margin-top:2px}.map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.map-col{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2)}.map-row{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-2)}.map-row .select{height:32px;font-size:var(--fs-xs)}.map-row .select.mapped{border-color:var(--accent-line);color:var(--text);background-color:var(--accent-soft)}.import-done{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.import-done>div{padding:16px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);text-align:center}.import-done b{display:block;font-size:1.7rem;line-height:1.1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.import-done span{font-size:var(--fs-xs);color:var(--muted)}@media(max-width:900px){.import-help,.map-grid{grid-template-columns:minmax(0,1fr)}.import-done{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:640px){.form-grid.three{grid-template-columns:minmax(0,1fr)}}.manual-total{display:flex;align-items:baseline;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--accent-line)}.manual-total span{font-size:var(--fs-sm);color:var(--text-2);flex:1}.manual-total b{font-size:1.35rem}
