: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) 17px,calc(100% - 12px) 17px;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>.input{padding-left: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) 14px,calc(100% - 10px) 14px;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)}.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}
