@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap");@import url("https://api.fontshare.com/v2/css?f[]=general-sans@500,600,700&display=swap");:root{--canvas:#F5F7F8;--surface:#FFFFFF;--surface-subtle:#F0F3F4;--surface-raised:#FFFFFF;--text-primary:#172126;--text-secondary:#526068;--text-muted:#667279;--border:#D8DEE2;--border-strong:#B8C2C8;--accent-hover:#066B64;--accent-subtle:#E6F3F1;--info:#1769AA;--success:#2F7D4A;--warning:#A56000;--warning-fill:#B56A00;--critical:#B42318;--focus:#0B78D0;--brand:#087E75;--accent:var(--brand);--ink:var(--text-primary);--ink-deep:#0B1418;--teal:var(--brand);--teal-press:var(--accent-hover);--teal-tint:var(--accent-subtle);--slate-700:#2C383E;--slate-600:#43535B;--slate-500:var(--text-secondary);--slate-400:var(--text-muted);--slate-300:var(--border-strong);--paper:var(--canvas);--panel-2:var(--surface-subtle);--hairline:var(--border);--amber:var(--warning-fill);--amber-tint:#F8EFE1;--blue:var(--info);--blue-tint:#E7F0F8;--red:var(--critical);--red-tint:#FBEAE8;--teal-ink:var(--brand);--amber-ink:var(--warning);--blue-ink:var(--info);--red-ink:var(--critical);--font-display:"General Sans","Inter",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--side:250px;color-scheme:light;--fill-brand:color-mix(in srgb,var(--brand) 22%,var(--surface));--fill-warn:color-mix(in srgb,var(--amber) 20%,var(--surface));--fill-neutral:color-mix(in srgb,var(--slate-400) 26%,var(--surface))}[data-theme=dark]{--canvas:#101619;--surface:#161E22;--surface-subtle:#1B252A;--surface-raised:#202B30;--text-primary:#E8EEF0;--text-secondary:#B5C0C5;--text-muted:#89969D;--border:#2A383E;--border-strong:#43535B;--accent-hover:#58C9BC;--accent-subtle:#143B38;--info:#5BA6E6;--success:#65B77B;--warning:#E0A23A;--warning-fill:#E0A23A;--critical:#F06D63;--focus:#69B7F5;--brand:#39B8AA;--ink-deep:#0A0E10;--slate-700:#D6DFE3;--slate-600:var(--text-secondary);--teal-tint:var(--accent-subtle);--amber-tint:rgba(224,162,58,.16);--blue-tint:rgba(91,166,230,.16);--red-tint:rgba(240,109,99,.16);--teal-ink:var(--brand);--amber-ink:var(--warning);--blue-ink:var(--info);--red-ink:var(--critical);color-scheme:dark;--fill-brand:color-mix(in srgb,var(--brand) 40%,var(--surface));--fill-warn:color-mix(in srgb,var(--amber) 40%,var(--surface));--fill-neutral:color-mix(in srgb,var(--slate-400) 40%,var(--surface))}*{box-sizing:border-box}body,html{margin:0;height:100%}body{font-family:var(--font-body);color:var(--slate-700);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}.mono{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}::selection{background:var(--teal);color:#04121b}:focus-visible{outline:2px solid var(--teal)}.login-wrap{display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,rgba(21,194,168,.1),transparent 60%),var(--paper)}.login-wrap:before{content:"";inset:0;background-image:linear-gradient(var(--hairline) 1px,transparent 1px),linear-gradient(90deg,var(--hairline) 1px,transparent 1px);background-size:26px 26px;opacity:.5}.login-bgmark,.login-wrap:before{position:fixed;pointer-events:none}.login-bgmark{inset-block-start:clamp(24px,7vh,84px);inset-inline-start:clamp(24px,5vw,96px);z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:color-mix(in srgb,var(--ink) 42%,transparent)}.login-bgmark svg{display:block;width:clamp(300px,44vw,660px);height:auto}.login-bgmark text{font-family:var(--font-display)}.login-bgmark .o{fill:var(--brand);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--brand) 80%,transparent))}[data-theme=dark] .login-bgmark{color:color-mix(in srgb,var(--ink) 48%,transparent)}[data-theme=dark] .login-bgmark .o{filter:drop-shadow(0 0 16px var(--brand))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .login-bgmark{color:color-mix(in srgb,var(--ink) 48%,transparent)}:root:not([data-theme=light]) .login-bgmark .o{filter:drop-shadow(0 0 16px var(--brand))}}@media (max-height:820px){.login-bgmark svg{width:clamp(240px,32vw,440px)}}@media (max-height:720px){.login-bgmark svg{width:clamp(200px,26vw,360px)}}@media (max-height:640px){.login-bgmark{display:none}}@media (max-width:900px){.login-bgmark svg{width:clamp(190px,42vw,300px)}.login-bgmark{color:color-mix(in srgb,var(--ink) 16%,transparent)}}@media (max-width:560px){.login-bgmark{display:none}}.login{position:relative;z-index:2;width:100%;max-width:392px;background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:34px;box-shadow:0 40px 90px -50px rgba(0,0,0,.55)}.login .brand{display:flex;align-items:center;gap:11px;margin-bottom:6px}.login .brand .wm{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink);letter-spacing:-.02em}.login .brand .wm .o{color:var(--teal)}.host-pill{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;color:var(--teal-ink);border:1px solid var(--teal);border-radius:999px;padding:3px 8px;background:var(--teal-tint)}.login h1{font-family:var(--font-display);font-weight:600;font-size:21px;color:var(--ink);margin:20px 0 4px;letter-spacing:-.02em}.login .sub{font-size:12.5px;color:var(--slate-500);margin:0 0 22px}.field{margin-bottom:14px}.field label{display:block;font-size:11.5px;font-weight:600;color:var(--ink);margin-bottom:6px}.field input{width:100%;padding:11px 13px;border:1.5px solid var(--hairline);border-radius:10px;background:var(--panel-2);color:var(--ink);font-family:var(--font-body);font-size:14px}.chat-in input:focus-visible,.field input:focus-visible,.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-color:var(--teal)}.field input:focus{border-color:var(--teal)}.auth-note{font-size:12.5px;color:var(--slate-500);margin:0 0 18px;line-height:1.5}.auth-err{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;font-size:12.5px;color:var(--red-ink);background:var(--red-tint);border:1px solid var(--red);border-radius:9px;padding:10px 12px}.btn{font-family:var(--font-body);font-weight:600;font-size:14px;border-radius:10px;padding:11px 16px;cursor:pointer;border:1.5px solid transparent;transition:all .18s ease;display:inline-flex;gap:8px;align-items:center;justify-content:center}.btn-primary{background:var(--brand);color:#06131d}.btn-primary:hover{background:var(--teal-press)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--hairline)}.btn-ghost:hover{border-color:var(--slate-400)}.btn-danger{background:transparent;border:1px solid var(--red);color:var(--red-ink)}.btn-danger:hover{background:var(--red-tint)}.btn-block{width:100%}.login .restricted{display:flex;align-items:center;gap:7px;margin-top:20px;font-size:11px;color:var(--slate-500)}.login .restricted svg{color:var(--teal-ink);flex:none}.app{display:grid;grid-template-columns:var(--side) 1fr}.side{background:var(--surface);-webkit-border-end:1px solid var(--hairline);border-inline-end:1px solid var(--hairline);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0}.side-top{padding:16px 16px 12px;border-bottom:1px solid var(--hairline);display:flex;align-items:center;gap:10px}.side-top .wm{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);letter-spacing:-.02em;flex:1 1}.side-top .wm .o{color:var(--teal)}.env{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--teal-ink);border:1px solid var(--teal);background:var(--teal-tint);border-radius:5px;padding:2px 6px}.nav{flex:1 1;overflow-y:auto;padding:12px 10px}.nav .grp{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;color:var(--slate-400);text-transform:uppercase;padding:14px 10px 6px}.nav .navbtn,.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--slate-600);font-size:13px;font-weight:500;cursor:pointer;position:relative}.nav .navbtn svg,.nav a svg{width:16px;height:16px;flex:none;color:var(--slate-400)}.nav .navbtn:hover,.nav a:hover{background:var(--panel-2);color:var(--ink)}.nav a.active{background:var(--teal-tint);color:var(--ink)}.nav a.active svg{color:var(--teal-ink)}.nav a.active:before{content:"";position:absolute;inset-inline-start:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.nav a .badge{-webkit-margin-start:auto;margin-inline-start:auto;font-family:var(--font-mono);font-size:9.5px;background:var(--amber-tint);color:var(--amber-ink);border-radius:999px;padding:2px 7px}.side-user{border-top:1px solid var(--hairline);padding:12px;display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--ink),var(--teal-press));color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:12px;flex:none}.side-user .nm{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.2}.side-user .rl{font-family:var(--font-mono);font-size:10px;color:var(--slate-500)}.side-user .out{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--slate-400);cursor:pointer;padding:4px;border-radius:6px;background:none;border:0}.side-user .out:hover{color:var(--ink);background:var(--panel-2)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline);display:flex;align-items:center;gap:14px;padding:12px 24px}.crumb{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink);letter-spacing:-.01em}.crumb .dim{color:var(--slate-400);font-weight:500}.tb-right{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;align-items:center;gap:10px}.tb-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--hairline);background:var(--surface);color:var(--slate-500);display:grid;place-items:center;cursor:pointer}.tb-btn:hover{color:var(--ink);border-color:var(--slate-400)}.tb-btn .ic-sun,[data-theme=dark] .tb-btn .ic-moon{display:none}[data-theme=dark] .tb-btn .ic-sun{display:block}.content{padding:clamp(16px,2vw,28px);max-width:100%;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1,.page-head h2{font-family:var(--font-display);font-weight:600;font-size:22px;color:var(--ink);margin:0;letter-spacing:-.02em}.page-head p{margin:5px 0 0;font-size:13px;color:var(--slate-500)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:16px}.kpi .k{font-size:11.5px;color:var(--slate-500);display:flex;align-items:center;gap:6px}.kpi .v{font-family:var(--font-mono);font-weight:600;font-size:24px;color:var(--ink);margin:9px 0 4px;letter-spacing:-.02em}.kpi .sub{font-size:11px;color:var(--slate-400);margin-top:3px}.row{display:grid;grid-gap:12px;gap:12px;margin-bottom:16px}.row.two{grid-template-columns:1.5fr 1fr}@media(max-width:980px){.row.two{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:18px}.card h2,.card h3{font-family:var(--font-display);font-weight:600;font-size:14.5px;color:var(--ink);margin:0 0 2px}.card .csub{font-size:11.5px;color:var(--slate-500);margin:0 0 16px}.card .chead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.card .chead a,.card .chead button.link{font-size:11.5px;color:var(--teal-ink);font-weight:600;background:none;border:0;cursor:pointer}table{width:100%;border-collapse:collapse}thead th{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400);text-align:start;padding:0 10px 10px;font-weight:500}tbody td.r,thead th.r{text-align:end}tbody td{padding:11px 10px;border-top:1px solid var(--hairline);font-size:13px;color:var(--slate-700)}tbody tr:hover{background:var(--panel-2)}tbody tr.clickable{cursor:pointer}td .t-name{font-weight:600;color:var(--ink)}td .t-sub{font-family:var(--font-mono);font-size:10.5px;color:var(--slate-400)}.mono,.num,.rate-in,[class*=amount],[class*=qty],[class*=rate],input[type=number],td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.num{color:var(--ink)}.chip,td.num{font-family:var(--font-mono)}.chip{font-size:10px;letter-spacing:.03em;padding:4px 9px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.chip.plain:before{display:none}.chip.active,.chip.applied,.chip.auto_applied,.chip.completed,.chip.confirmed,.chip.ingested{color:var(--teal-ink);background:var(--teal-tint)}.chip.awaiting_review,.chip.info,.chip.proposed,.chip.qualifying,.chip.running,.chip.trial{color:var(--blue-ink);background:var(--blue-tint)}.chip.bidding,.chip.pastdue,.chip.pending,.chip.warn{color:var(--amber-ink);background:var(--amber-tint)}.chip.critical,.chip.failed,.chip.rejected,.chip.suspended{color:var(--red-ink);background:var(--red-tint)}.chip.stale{color:var(--amber-ink);background:var(--amber-tint)}.chip.draft,.chip.skipped,.chip.superseded{color:var(--slate-500);background:var(--panel-2)}.chip.persona{color:var(--teal-ink);background:var(--teal-tint)}.chip.flag{color:var(--blue-ink);background:var(--blue-tint)}[data-theme=dark] .chip.bidding,[data-theme=dark] .chip.pastdue,[data-theme=dark] .chip.pending,[data-theme=dark] .chip.stale,[data-theme=dark] .chip.warn{color:#f0b64e}[data-theme=dark] .chip.persona{color:var(--teal)}[data-theme=dark] .chip.flag{color:var(--blue)}.stagestat{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-inline-size:0}.sg-step,.sg-when{color:var(--slate-400)}.sg-clock,.sg-step,.sg-when{font-size:11px;white-space:nowrap}.sg-clock{font-family:var(--font-mono);color:var(--slate-500);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:5px;border:1px solid var(--hairline);background:var(--panel-2)}.mini{font-family:var(--font-body);font-size:12.5px;font-weight:600;padding:8px 13px;border-radius:8px;border:1px solid var(--hairline);background:transparent;color:var(--ink);cursor:pointer}.mini:hover{border-color:var(--slate-400)}.mini:disabled{opacity:.5;cursor:not-allowed}.mini.pri{background:var(--brand);border-color:var(--brand);color:#06131d}.mini.pri:hover{background:var(--teal-press)}.mini.sm{font-size:11.5px;padding:5px 10px}.rowbtn{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--teal-ink);background:transparent;border:0;cursor:pointer}.placeholder{background:var(--surface);border:1px dashed var(--hairline);border-radius:10px;padding:56px 32px;text-align:center}.placeholder .pic{width:56px;height:56px;border-radius:14px;background:var(--teal-tint);color:var(--teal-ink);display:grid;place-items:center;margin:0 auto 18px}.placeholder h2,.placeholder h3{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--ink);margin:0 0 8px;letter-spacing:-.01em}.placeholder p{font-size:13.5px;color:var(--slate-500);max-width:52ch;margin:0 auto}.placeholder .next{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-family:var(--font-mono);font-size:11px;color:var(--teal-ink);border:1px solid var(--teal);background:var(--teal-tint);border-radius:999px;padding:7px 14px}.drawer-overlay{display:none;position:fixed;inset:0;z-index:90;background:rgba(4,10,18,.55)}.drawer-overlay.on{display:block}.drawer{position:fixed;top:0;inset-inline-end:0;width:452px;max-width:94vw;background:var(--surface);-webkit-border-start:1px solid var(--hairline);border-inline-start:1px solid var(--hairline);z-index:91;transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.drawer-overlay.on .drawer{transform:none}.drawer .dh{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--hairline)}.drawer .dh h2,.drawer .dh h3{font-size:16px;color:var(--ink);margin:0;-webkit-margin-end:auto;margin-inline-end:auto}.cop-clear,.drawer .dh h2,.drawer .dh h3{font-family:var(--font-display);font-weight:600}.cop-clear{font-size:12px;cursor:pointer;padding:5px 11px;border-radius:8px;white-space:nowrap;border:1px solid var(--hairline);background:none;color:var(--slate-400)}.cop-clear:hover:not(:disabled){color:var(--ink);border-color:var(--slate-400)}.cop-clear.armed{color:#fff;border-color:transparent;background:var(--red,#C0392B)}.cop-clear:disabled{opacity:.6;cursor:default}.cop-clear:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.drawer .dh .x{cursor:pointer;color:var(--slate-400);padding:4px;border-radius:6px;display:grid;place-items:center;background:none;border:0}.drawer .dh .x:hover{color:var(--ink);background:var(--panel-2)}.drawer .db{flex:1 1;overflow-y:auto;padding:20px}.drawer .df{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--hairline)}.drawer .df .mini{flex:1 1;text-align:center}.fld{margin-bottom:15px}.fl{font-size:11.5px;font-weight:600;color:var(--ink);margin:0 0 6px;display:block}.fld input[type=number],.fld input[type=text],.fld select,.fld textarea{width:100%;padding:9px 11px;border:1.5px solid var(--hairline);border-radius:9px;background:var(--panel-2);color:var(--ink);font-family:var(--font-body);font-size:13px}.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--teal)}.fld input.mono,.fld textarea.mono{font-family:var(--font-mono)}.fld textarea{min-height:120px;resize:vertical}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--paper);font-size:13px;font-weight:500;padding:11px 18px;border-radius:10px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:all .25s ease;z-index:120;display:flex;align-items:center;gap:9px}.toast.on{opacity:1;transform:translateX(-50%)}.toast svg{color:var(--teal)}.sk{height:14px;border-radius:6px;background:var(--panel-2);margin:10px 0}.subnav{display:flex;gap:4px;border-bottom:1px solid var(--hairline);margin-bottom:20px;overflow-x:auto}.subnav a{font-size:13px;font-weight:600;color:var(--slate-500);padding:10px 12px;border-bottom:2px solid transparent;white-space:nowrap}.subnav a:hover{color:var(--ink)}.subnav a.active{color:var(--teal-ink);border-bottom-color:var(--teal)}.stepper{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.stepper .nd{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;padding:6px 12px;border-radius:999px;border:1px solid var(--hairline);color:var(--slate-500)}.stepper .nd .n{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;border:1px solid var(--hairline)}.stepper .nd.done{color:var(--teal-ink);border-color:color-mix(in srgb,var(--teal) 40%,transparent);background:var(--teal-tint)}.stepper .nd.done .n{color:#04120f}.stepper .nd.cur,.stepper .nd.done .n{background:var(--teal);border-color:transparent}.stepper .nd.cur{color:var(--ink-deep);box-shadow:0 0 0 3px var(--teal-tint)}.stepper .nd.cur .n{background:rgba(6,19,29,.18);color:var(--ink-deep);border-color:transparent}.stepper .ar{color:var(--slate-400)}.tl{display:flex;flex-direction:column;gap:8px}.tl .step{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--hairline);border-radius:10px;background:var(--panel-2)}.tl .step .lbl{font-size:13px;color:var(--ink);font-weight:600}.tl .step .sub{font-family:var(--font-mono);font-size:10.5px;color:var(--slate-400);-webkit-margin-start:8px;margin-inline-start:8px}.tl .step.child{-webkit-margin-start:20px;margin-inline-start:20px;border-style:dashed}.qitem{border:1px solid var(--hairline);border-radius:12px;padding:14px;margin-bottom:12px;background:var(--surface)}.qitem .qh{display:flex;align-items:center;justify-content:space-between;gap:10px}.qitem pre{background:var(--panel-2);border:1px solid var(--hairline);border-radius:9px;padding:11px;overflow:auto;font-family:var(--font-mono);font-size:11.5px;color:var(--ink);max-height:200px;margin:12px 0 0}.qactions{display:flex;gap:8px;margin-top:12px}.chat-dock{position:fixed;right:22px;bottom:22px;width:392px;max-width:calc(100vw - 44px);z-index:60}.chat-dock .card{padding:14px;box-shadow:0 30px 70px -30px rgba(0,0,0,.6)}.chat{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;margin:10px 0}.bubble{padding:9px 12px;border-radius:12px;max-width:86%;font-size:13px;line-height:1.45}.bubble.assistant{align-self:flex-start;background:var(--panel-2);border:1px solid var(--hairline);color:var(--slate-700)}.bubble.user{align-self:flex-end;background:var(--teal);color:#04120f}.chat-in{display:flex;gap:8px}.chat-in input{flex:1 1;padding:9px 11px;border:1.5px solid var(--hairline);border-radius:9px;background:var(--panel-2);color:var(--ink);font-size:13px}.chat-in input:focus{border-color:var(--teal)}.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--hairline);border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(1turn)}}.mcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.mcard{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px}.mcard:hover{border-color:var(--slate-400)}.mcard .mtop{display:flex;align-items:flex-start;justify-content:space-between}.mcard .micon{font-size:22px}.mcard .mkind{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-400)}.mcard .mname{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink)}.mcard .mdesc{font-size:12.5px;color:var(--slate-500);min-height:36px}.mcard .mact{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.hamb{display:none;width:36px;height:36px;border-radius:9px;border:1px solid var(--hairline);background:var(--surface);color:var(--slate-600);place-items:center;cursor:pointer;flex:none}.hamb:hover{color:var(--ink);border-color:var(--slate-400)}.nav-scrim,.nav-toggle{display:none}@media (min-width:861px){.nav-toggle{display:grid;width:34px;height:34px;border-radius:9px;border:1px solid var(--hairline);background:var(--surface);color:var(--slate-500);place-items:center;cursor:pointer;flex:none}.nav-toggle:hover{color:var(--ink);border-color:var(--slate-400)}.app.nav-collapsed{grid-template-columns:68px 1fr}.app.nav-collapsed .nav .grp,.app.nav-collapsed .nav :is(a,button) span,.app.nav-collapsed .side-new .btn span,.app.nav-collapsed .side-top .nm,.app.nav-collapsed .side-user .out,.app.nav-collapsed .side-user>div:not(.avatar){display:none}.app.nav-collapsed .nav :is(a,button){justify-content:center;padding-inline:0}.app.nav-collapsed .ws-switch{justify-content:center}.app.nav-collapsed .side-new .btn{padding-inline:0;justify-content:center}.app.nav-collapsed .side-top,.app.nav-collapsed .side-user{justify-content:center}.app.nav-collapsed .nav a.active:before{inset-inline-start:0}.app.nav-collapsed .side{overflow-x:hidden}}@media (max-width:900px){.card{overflow-x:auto}}@media (max-width:860px){.app{grid-template-columns:1fr}.side{position:fixed;top:0;inset-inline-start:0;height:100dvh;width:min(264px,82vw);z-index:100;transform:translateX(-100%);transition:transform .24s cubic-bezier(.4,0,.2,1);box-shadow:0 30px 80px -30px rgba(0,0,0,.5)}.app.nav-open .side{transform:none}.nav-scrim{position:fixed;inset:0;background:rgba(4,10,18,.5);z-index:99;opacity:0;pointer-events:none;transition:opacity .2s}.app.nav-open .nav-scrim{opacity:1;pointer-events:auto}.hamb{display:grid}}@media (max-width:760px){.content{padding:16px 14px}.topbar{padding:10px 14px;gap:10px}.page-head h1,.page-head h2{font-size:19px}table{min-width:480px}.two-col{grid-template-columns:1fr!important}.drawer{width:100vw;max-width:100vw}.crumb{font-size:15px}}.ws-switch{display:flex;align-items:center;gap:10px;padding:7px;border-radius:9px;width:100%;text-align:start;background:none;border:0;cursor:default}.ws-logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--ink),var(--brand));color:#fff;display:grid;place-items:center;font-size:12px;flex:none}.ws-logo,.ws-switch .nm{font-family:var(--font-display);font-weight:600}.ws-switch .nm{font-size:13.5px;color:var(--ink);line-height:1.2;flex:1 1;min-width:0}.ws-switch .nm small{display:block;font-family:var(--font-mono);font-size:9.5px;color:var(--slate-400);font-weight:400;overflow:hidden;text-overflow:ellipsis}.side-new{padding:12px 12px 4px}.side-new .btn{width:100%}.kbd{display:flex;align-items:center;gap:8px;color:var(--slate-500);font-size:12.5px;cursor:pointer;border:1px solid var(--hairline);border-radius:9px;padding:7px 11px;background:var(--surface)}.kbd:hover{border-color:var(--slate-400);color:var(--ink)}.kbd .keys{font-family:var(--font-mono);font-size:10.5px;color:var(--slate-400);border:1px solid var(--hairline);border-radius:5px;padding:1px 5px}.cop-btn{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#06131d;background:var(--brand);border:0;border-radius:9px;padding:8px 13px;cursor:pointer}.cop-btn:hover{background:var(--teal-press)}.lang{display:flex;align-items:center;gap:7px;border:1px solid var(--hairline);border-radius:9px;padding:6px 10px;background:var(--surface);color:var(--slate-500);cursor:pointer}.lang:hover{border-color:var(--slate-400);color:var(--ink)}.lang svg{width:15px;height:15px;flex:none}.lang select{border:0;background:transparent;color:inherit;font-family:var(--font-body);font-size:12.5px;font-weight:500;cursor:pointer;outline:none;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-padding-end:2px;padding-inline-end:2px}.lang select option{color:var(--ink);background:var(--surface)}@media(max-width:760px){.cop-btn span,.kbd span.lbl,.lang svg{display:none}}.cmd-overlay{display:none;position:fixed;inset:0;z-index:100;background:rgba(4,10,18,.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding-top:14vh}.cmd-overlay.on{display:block}.cmd{max-width:520px;margin:0 auto;background:var(--surface);border:1px solid var(--hairline);border-radius:14px;overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.5)}.cmd input{width:100%;border:0;border-bottom:1px solid var(--hairline);background:transparent;color:var(--ink);font-size:15px;padding:16px 18px;font-family:var(--font-body);outline:none}.cmd-list{max-height:320px;overflow-y:auto;padding:8px}.cmd-list button{width:100%;display:flex;align-items:center;gap:11px;padding:10px 12px;border:0;background:transparent;border-radius:9px;cursor:pointer;color:var(--slate-600);font-size:13.5px;text-align:start;font-family:var(--font-body)}.cmd-list button.sel,.cmd-list button:hover{background:var(--teal-tint);color:var(--ink)}.cmd-list button svg{width:16px;height:16px;color:var(--slate-400);flex:none}.cmd-list button .hint{-webkit-margin-start:auto;margin-inline-start:auto;font-size:10px}.cmd-list .grp,.cmd-list button .hint{font-family:var(--font-mono);color:var(--slate-400)}.cmd-list .grp{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:12px 12px 5px}.drawer.cop{width:420px}.rd-select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--hairline);background:var(--panel);color:var(--ink);font:inherit;font-size:13px}.rd-hint{margin:6px 0 0;font-size:12px;line-height:1.45;color:var(--slate-400)}.rd-perms{display:flex;flex-direction:column;gap:10px;margin-top:18px}.rd-permhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rd-permcount{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400);-webkit-margin-end:auto;margin-inline-end:auto}.rd-keys{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--slate-400);cursor:pointer;white-space:nowrap}.rd-keys input{width:auto;margin:0}.rd-keys:hover{color:var(--ink)}.rd-search{width:100%;padding:7px 10px;background:var(--panel);color:var(--ink);font:inherit;font-size:12.5px}.rd-search,.rd-warn{border-radius:8px;border:1px solid var(--hairline)}.rd-warn{margin:0;padding:10px 12px;background:var(--panel-2);font-size:12px;line-height:1.5;color:var(--slate-400)}.rd-group{display:flex;flex-direction:column;gap:2px}.rd-grouphead{display:flex;align-items:center;gap:8px;padding:10px 0 6px;-webkit-border-after:1px solid var(--hairline);border-block-end:1px solid var(--hairline);-webkit-margin-after:4px;margin-block-end:4px}.rd-grouphead h4{margin:0;font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:-.005em}.rd-groupn{font-family:var(--font-mono);font-size:10.5px;color:var(--slate-400);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-margin-end:auto;margin-inline-end:auto}.rd-linkbtn{background:none;border:0;padding:2px 4px;cursor:pointer;font:inherit;font-size:11px;color:var(--slate-400);border-radius:4px}.rd-linkbtn:hover{color:var(--brand);background:var(--panel-2)}.rd-perm{display:flex;gap:9px;align-items:flex-start;padding:7px 8px;border-radius:7px;cursor:pointer;border:1px solid transparent}.rd-perm:hover{background:var(--panel-2)}.rd-perm.on{background:var(--teal-tint);border-color:color-mix(in srgb,var(--brand) 28%,transparent)}.rd-perm input{width:auto;margin:2px 0 0;flex:none}.rd-permtext{display:flex;flex-direction:column;gap:2px;min-inline-size:0}.rd-permname{font-size:13px;line-height:1.4;color:var(--ink)}.rd-permhint{font-size:11.5px;line-height:1.45;color:var(--slate-400)}.rd-permkey{font-size:10.5px;color:var(--slate-400);-webkit-margin-before:2px;margin-block-start:2px}@media (forced-colors:active){.rd-perm.on{border-color:Highlight}}.cop .msgs{flex:1 1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px}.cop .m{max-width:88%}.cop .m.u{align-self:flex-end}.cop .m .bub{padding:11px 13px;border-radius:12px;font-size:13px;line-height:1.5}.cop .m.a .bub{background:var(--panel-2);color:var(--ink);border-bottom-left-radius:4px}.cop .m.u .bub{background:var(--brand);color:#06131d;border-bottom-right-radius:4px}.cop .cite{font-family:var(--font-mono);font-size:10px;color:var(--teal-ink);margin-top:6px;display:inline-flex;align-items:center;gap:5px}.cop .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.cop .chips button{font-size:12px;color:var(--slate-600);background:var(--panel-2);border:1px solid var(--hairline);border-radius:999px;padding:7px 12px;cursor:pointer;font-family:var(--font-body)}.cop .chips button:hover{border-color:var(--brand);color:var(--ink)}.cop .inp{display:flex;gap:8px;padding:14px 16px;border-top:1px solid var(--hairline)}.cop .inp input{flex:1 1;border:1.5px solid var(--hairline);border-radius:10px;background:var(--panel-2);color:var(--ink);font-size:13px;padding:10px 12px;outline:none;font-family:var(--font-body)}.cop .inp input:focus{border-color:var(--brand)}.cop .inp button{width:40px;border:0;border-radius:10px;background:var(--brand);color:#06131d;cursor:pointer;display:grid;place-items:center}.cop .inp button:disabled{opacity:.5;cursor:not-allowed}.cop .scope{font-family:var(--font-mono);font-size:10px;color:var(--slate-400);padding:10px 20px 0}.rq{list-style:none;margin:0;padding:0}.rq li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--hairline)}.rq li:first-child{border-top:0;padding-top:2px}.rq .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--panel-2);color:var(--slate-500);font-size:16px}.rq .ic.hot{background:var(--amber-tint);color:var(--amber-ink)}.rq .tx{flex:1 1;min-width:0}.rq .tt{font-size:13px;color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rq .mt{font-size:10.5px;color:var(--slate-500);margin-top:2px}.conf,.rq .mt{font-family:var(--font-mono)}.conf{font-size:10px;color:var(--teal-ink);background:var(--teal-tint);border-radius:5px;padding:2px 6px;white-space:nowrap}.conf.warn{color:var(--amber-ink);background:var(--amber-tint)}[data-theme=dark] .conf.warn{color:#f0b64e}.dl{list-style:none;margin:0;padding:0}.dl li{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--hairline)}.dl li:first-child{border-top:0;padding-top:2px}.dl .day{width:42px;text-align:center;flex:none}.dl .day .d{font-weight:600;font-size:16px;color:var(--ink);line-height:1}.dl .day .d,.dl .day .m{font-family:var(--font-mono)}.dl .day .m{font-size:9px;color:var(--slate-400);text-transform:uppercase}.dl .nm{font-size:12.5px;color:var(--ink);font-weight:500;flex:1 1;min-width:0}.dl .nm small{display:block;color:var(--slate-500);font-weight:400;font-size:11px}.feed{list-style:none;margin:0;padding:0}.feed li{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--hairline)}.feed li:first-child{border-top:0;padding-top:2px}.feed .dot{width:28px;height:28px;border-radius:8px;background:var(--panel-2);display:grid;place-items:center;color:var(--slate-500);flex:none}.feed .dot svg{width:14px;height:14px}.feed .tx{font-size:12.5px;color:var(--slate-700)}.feed .tx b{color:var(--ink);font-weight:600}.feed .tm{font-family:var(--font-mono);font-size:10.5px;color:var(--slate-400);margin-top:2px}.fbar{gap:12px;margin-bottom:16px;flex-wrap:wrap}.fbar,.fsearch{display:flex;align-items:center}.fsearch{flex:1 1;min-width:200px;gap:8px;background:var(--surface);border:1px solid var(--hairline);border-radius:9px;padding:8px 12px}.fsearch input{border:0;background:transparent;color:var(--ink);font-size:13px;width:100%;outline:none;font-family:var(--font-body)}.fsearch svg{color:var(--slate-400);flex:none}.range{display:inline-flex;gap:2px;background:var(--panel-2);border:1px solid var(--hairline);border-radius:9px;padding:3px;flex-wrap:wrap}.range button{font-family:var(--font-mono);font-size:11px;color:var(--slate-500);background:transparent;border:0;padding:6px 11px;border-radius:6px;cursor:pointer}.range button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}.prog{height:6px;background:var(--panel-2);overflow:hidden;min-width:70px}.prog,.prog span{border-radius:3px}.prog span{display:block;height:100%;background:var(--brand)}.prog.lg{height:8px}.stage{font-family:var(--font-mono);font-size:10.5px;color:var(--slate-600);background:var(--panel-2);border:1px solid var(--hairline);border-radius:6px;padding:3px 8px;white-space:nowrap}.trow-lbl{font-size:12.5px;color:var(--slate-500);display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-top:1px solid var(--hairline)}.trow-lbl b{color:var(--ink);font-weight:600;text-align:end;min-width:0;flex:1 1 auto}.pw-back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--slate-500);font-weight:600;cursor:pointer;margin-bottom:12px;background:none;border:0}.pw-back:hover{color:var(--ink)}.pw-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.pw-head h2{font-family:var(--font-display);font-weight:600;font-size:22px;color:var(--ink);margin:0;letter-spacing:-.02em}.pw-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}.pw-meta .mc{font-family:var(--font-mono);font-size:11px;color:var(--slate-600);background:var(--panel-2);border:1px solid var(--hairline);border-radius:7px;padding:4px 9px}.pw-tabs{display:flex;gap:2px;border-bottom:1px solid var(--hairline);margin-bottom:20px;overflow-x:auto}.pw-tabs a,.pw-tabs button{position:relative;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--slate-500);background:transparent;border:0;padding:11px 13px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:7px}.pw-tabs a.on,.pw-tabs a:hover,.pw-tabs button.on,.pw-tabs button:hover{color:var(--ink)}.pw-tabs a.on:after,.pw-tabs button.on:after{content:"";position:absolute;inset-inline:8px;bottom:-1px;height:2px;background:var(--brand)}.pw-tabs .sep{width:1px;align-self:center;height:18px;background:var(--hairline);margin:0 6px;flex:none}.sd{width:6px;height:6px;border-radius:50%;flex:none}.sd.done{background:var(--brand)}.sd.review{background:var(--amber)}.sd.processing{background:var(--blue)}.sd.pending{background:var(--slate-300)}.chain{display:flex;align-items:flex-start;justify-content:space-between;position:relative}.chain .step{flex:1 1;min-width:88px;text-align:center;position:relative;cursor:pointer;background:none;border:0;padding:6px 3px 4px;font-family:var(--font-body);border-radius:12px;transition:background .12s ease}.chain .step:hover{background:var(--panel-2)}.chain .step:before{content:"";position:absolute;top:25px;inset-inline-start:-50%;width:100%;height:2px;background:var(--hairline);z-index:0}.chain .step:first-child:before{display:none}.chain .step.done:before,.chain .step.processing:before,.chain .step.review:before{background:var(--brand)}.chain .node{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;margin:0 auto 9px;display:grid;place-items:center;border:2px solid var(--hairline);background:var(--surface);color:var(--slate-400)}.chain .step.done .node{border-color:var(--brand);background:var(--brand);color:#06131d}.chain .step.review .node{border-color:var(--amber);background:var(--amber-tint);color:var(--amber-ink)}.chain .step.processing .node{border-color:var(--blue);background:var(--blue-tint);color:var(--blue-ink)}.chain .step .sl{display:block;font-size:12px;font-weight:600;color:var(--ink);line-height:1.3;min-height:2.6em;text-wrap:balance}.chain .step .ss{display:block;font-size:10.5px;font-weight:600;line-height:1.35;margin-top:3px;color:var(--slate-500)}.chain .step.done .ss{color:var(--teal-ink)}.chain .step.review .ss{color:var(--amber-ink)}.chain .step.processing .ss{color:var(--blue-ink)}.chain .step:hover .node{border-color:var(--teal-press)}.chain .step:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px}@media(max-width:900px){.chain{overflow-x:auto;gap:2px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.chain .step{flex:0 0 auto;min-width:96px}}.dropzone{border:1.5px dashed var(--hairline);border-radius:12px;padding:26px;text-align:center;color:var(--slate-500);cursor:pointer;margin-bottom:16px;background:var(--panel-2);width:100%;font-family:var(--font-body);font-size:13px}.dropzone.drag,.dropzone:hover{border-color:var(--brand);color:var(--ink)}.dropzone svg{color:var(--teal-ink);margin-bottom:8px}tr.grp-row td{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-400);padding:8px 10px}tr.grp-row td,tr.grp-row td:hover,tr.grp-row:hover td{background:var(--panel-2)}tr.flagged td{background:var(--amber-tint)}[data-theme=dark] tr.flagged td{background:rgba(245,165,36,.08)}.acc{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.acc,.srcchip{font-family:var(--font-mono);font-size:10.5px;color:var(--teal-ink)}.srcchip{background:var(--teal-tint);border-radius:5px;padding:2px 7px;cursor:pointer;border:0}.srcchip:hover{background:var(--brand);color:#06131d}.boq-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.boq-sum .s{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:14px 16px}.boq-sum .s .k{font-size:11px;color:var(--slate-500)}.boq-sum .s .v{font-family:var(--font-mono);font-weight:600;font-size:19px;color:var(--ink);margin-top:6px}.boq-sum .s .v.warn{color:var(--amber-ink)}.boq-prop{background:var(--panel-2);border:1px solid var(--hairline);border-radius:12px;padding:16px;margin-bottom:14px}.boq-prop .lab{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-400)}.boq-prop .val{font-family:var(--font-mono);font-weight:600;font-size:24px;color:var(--ink);margin-top:6px;letter-spacing:-.02em}.boq-prop .val small{font-size:13px;color:var(--slate-400);font-weight:400}.boq-src{border:1px solid var(--hairline);border-radius:12px;overflow:hidden;margin-bottom:14px}.boq-src .sh{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-bottom:1px solid var(--hairline);font-size:12px}.boq-src .prev{background:var(--panel-2);line-height:0}.provlist{list-style:none;margin:0;padding:0}.provlist li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;border-top:1px solid var(--hairline);font-size:12.5px}.provlist li:first-child{border-top:0}@media(max-width:1000px){.dwg-wrap{grid-template-columns:1fr}}.dwg-panel{border:1px solid var(--hairline);border-radius:14px;background:var(--surface);padding:16px;height:-moz-fit-content;height:fit-content}.g-col{fill:var(--slate-500);opacity:.55}.g-dim{stroke:var(--slate-400);stroke-width:.5}.g-dimt{font-family:var(--font-mono);font-size:8px;fill:var(--slate-500);text-anchor:middle}.dwg-stat{display:flex;gap:10px;margin-bottom:14px}.dwg-stat .st{flex:1 1;background:var(--panel-2);border:1px solid var(--hairline);border-radius:9px;padding:9px 11px}.dwg-stat .st .k{font-size:9.5px;color:var(--slate-500)}.dwg-stat .st .v{font-family:var(--font-mono);font-weight:600;font-size:16px;color:var(--ink);margin-top:3px}.dwg-stat .st .v.warn{color:var(--amber-ink)}.dwg-det{border-top:1px solid var(--hairline);margin-top:6px;padding-top:14px}.dwg-det .empty{font-size:12.5px;color:var(--slate-400);text-align:center;padding:14px 0}.dwg-det .dt{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink)}.dwg-det .dk{font-family:var(--font-mono);font-size:10px;color:var(--slate-400)}.synth{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--slate-500);background:var(--panel-2);border:1px dashed var(--hairline);border-radius:9px;padding:9px 12px;margin-bottom:14px}.synth b{color:var(--ink);font-weight:600}.rs{font-family:var(--font-mono);font-size:10px;padding:3px 7px;border-radius:6px;white-space:nowrap}.rs-lib{color:var(--teal-ink);background:var(--teal-tint)}.rs-hist{color:var(--blue-ink);background:var(--blue-tint)}.rs-man{color:var(--slate-500);background:var(--panel-2)}.rs-none{color:var(--amber-ink);background:var(--amber-tint)}.row.est{grid-template-columns:1.5fr 1fr}@media(max-width:980px){.row.est{grid-template-columns:1fr}}.bd-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid var(--hairline);font-size:13px;color:var(--slate-600)}.bd-row.first{border-top:0}.bd-row b{font-family:var(--font-mono);color:var(--ink);font-weight:600}.bd-row .pin{display:flex;align-items:center;gap:8px}.bd-row .pin input{width:56px;padding:5px 7px;border:1.5px solid var(--hairline);border-radius:7px;background:var(--panel-2);color:var(--ink);font-family:var(--font-mono);font-size:12px;text-align:end;outline:none}.bd-row .pin input:focus{border-color:var(--brand)}.bd-row .pin .amt{font-family:var(--font-mono);min-width:88px;text-align:end}.bd-row .pin .amt,.bd-total{color:var(--ink);font-weight:600}.bd-total{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0 2px;border-top:2px solid var(--ink);margin-top:6px;font-family:var(--font-display);font-size:14px}.bd-total b{font-family:var(--font-mono);font-size:19px}.gantt{border:1px solid var(--hairline);border-radius:12px;overflow:hidden}.gantt-head{display:flex;background:var(--panel-2);border-bottom:1px solid var(--hairline)}.gantt-head .glbl{width:190px;flex:none;padding:9px 12px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400)}.gantt-head .gaxis{flex:1 1;position:relative;min-height:30px}.gaxis .wk{position:absolute;top:0;bottom:0;font-family:var(--font-mono);font-size:9px;color:var(--slate-400);-webkit-border-start:1px solid var(--hairline);border-inline-start:1px solid var(--hairline);padding-block:9px 0;padding-inline:4px 0}.grow{display:flex;align-items:stretch;border-top:1px solid var(--hairline)}.grow:hover{background:var(--panel-2)}.grow .glbl{width:190px;flex:none;padding:10px 12px;font-size:12.5px;color:var(--ink);display:flex;align-items:center;gap:7px;cursor:pointer;background:none;border:0;text-align:start;font-family:var(--font-body)}.grow .glbl .sd{-webkit-margin-start:auto;margin-inline-start:auto}.grow .gtrack{flex:1 1;position:relative;min-height:38px}.gwk-grid{top:0;bottom:0;-webkit-border-start:1px solid var(--hairline);border-inline-start:1px solid var(--hairline);opacity:.5}.gbar,.gwk-grid{position:absolute}.gbar{top:10px;height:18px;border-radius:4px;cursor:pointer;display:flex;align-items:center;padding:0 7px;white-space:nowrap;border:0;color:var(--ink);-webkit-border-start:3px solid var(--slate-400);border-inline-start:3px solid var(--slate-400);background:var(--fill-neutral)}.gbar.crit{background:var(--fill-brand);border-inline-start-color:var(--brand)}.gbar.norm{background:var(--fill-neutral);border-inline-start-color:var(--slate-400)}.gbar.flag{background:var(--fill-warn);border-inline-start-color:var(--amber)}.gbar .gd{font-family:var(--font-mono);font-size:9.5px;font-weight:600;color:var(--slate-700)}.gbar:hover{filter:brightness(1.06)}.gbar.sel{outline:2px solid var(--brand);outline-offset:1px}.leg{display:flex;gap:16px;margin-top:14px;font-size:11.5px;color:var(--slate-500);flex-wrap:wrap}.leg span{display:inline-flex;align-items:center;gap:6px}.leg i{width:12px;height:12px;border-radius:3px;display:inline-block}@media(max-width:760px){.gantt-head .glbl,.grow .glbl{width:130px}}.vrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--hairline);font-size:13px}.vrow:first-child{border-top:0}.vrow .vn{color:var(--ink);font-weight:500}.vrow .vs{font-family:var(--font-mono);font-size:10.5px;color:var(--slate-500)}.swatches{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.swatches button{width:30px;height:30px;border-radius:8px;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--hairline);cursor:pointer}.swatches button:hover{transform:scale(1.08)}input[type=color]{width:46px;height:34px;border:1px solid var(--hairline);border-radius:8px;background:var(--panel-2);cursor:pointer;padding:2px}.brand-prev{display:flex;align-items:center;gap:14px;padding:16px;background:var(--panel-2);border:1px solid var(--hairline);border-radius:12px;margin-top:14px;flex-wrap:wrap}.brand-node{width:36px;height:36px;border-radius:50%;background:var(--brand);color:#06131d;display:grid;place-items:center;font-family:var(--font-mono);font-weight:600;font-size:13px}.usage-row{margin:16px 0}.usage-row .ul{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px;color:var(--slate-600)}.usage-row .ul b{font-family:var(--font-mono);color:var(--ink)}.switch{width:38px;height:22px;border-radius:999px;background:var(--slate-300);position:relative;cursor:pointer;transition:background .18s;flex:none;border:0}.switch.on{background:var(--brand)}.switch:after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .18s;box-shadow:0 1px 2px rgba(0,0,0,.2)}.switch.on:after{transform:translateX(16px)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--hairline)}.set-row:first-child{border-top:0}.set-row .sl{font-size:13px;color:var(--ink);font-weight:500}.set-row .desc{font-size:11.5px;color:var(--slate-500);margin-top:2px}.set-row select{padding:8px 11px;border:1.5px solid var(--hairline);border-radius:9px;background:var(--panel-2);color:var(--ink);font-family:var(--font-body);font-size:13px}[lang=ar] .btn,[lang=ar] .mini,[lang=ar] body,[lang=ar] input,[lang=ar] select,[lang=ar] textarea{font-family:Noto Sans Arabic,Segoe UI,Tahoma,Inter,system-ui,sans-serif}[lang=ar] body{line-height:1.6}[lang=ar] .card h2,[lang=ar] .card h3,[lang=ar] .crumb,[lang=ar] .drawer .dh h2,[lang=ar] .drawer .dh h3,[lang=ar] .page-head h1,[lang=ar] .page-head h2,[lang=ar] .placeholder h2,[lang=ar] .placeholder h3,[lang=ar] .pw-head h2{font-family:"Noto Sans Arabic","Segoe UI",Tahoma,var(--font-display),sans-serif}[lang=ar] .boq-sum .s .v,[lang=ar] .kpi .v,[lang=ar] .mono,[lang=ar] td.num{font-family:var(--font-mono)}[dir=rtl] .drawer{transform:translateX(-100%)}[dir=rtl] .drawer-overlay.on .drawer{transform:none}[dir=rtl] .nav a.active:before{border-radius:3px 0 0 3px}[dir=rtl] .dir-flip{transform:scaleX(-1)}@media (max-width:860px){[dir=rtl] .side{transform:translateX(100%)}[dir=rtl] .app.nav-open .side{transform:none}}.kpi .k{line-height:1.35}.set-row .desc,.set-row .sl{overflow-wrap:anywhere}.bim-ribbon{display:flex;gap:2px;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--hairline);border-radius:10px;padding:4px;margin-bottom:10px}.bim-ribbon button{font-family:var(--font-body);font-size:12.5px;font-weight:600;color:var(--slate-500);background:transparent;border:0;padding:7px 12px;border-radius:7px;cursor:pointer;display:flex;align-items:center;gap:6px}.bim-ribbon button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}.bim-ribbon button .n{font-family:var(--font-mono);font-size:10px;color:var(--slate-400)}.bim-tools{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.bim-tool{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body);font-size:12px;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:6px 10px;cursor:pointer}.bim-tool:hover{border-color:var(--brand)}.bim-tool:disabled{opacity:.5;cursor:not-allowed}.bim-tool i{width:10px;height:10px;border-radius:3px;flex:none}.bim-wrap{display:grid;grid-template-columns:1fr 280px;grid-gap:14px;gap:14px}@media(max-width:1000px){.bim-wrap{grid-template-columns:1fr}}.bim-main{border:1px solid var(--hairline);border-radius:14px;overflow:hidden;background:var(--surface)}.bim-bar{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--hairline)}:root{--bim-canvas-h:560px;--bim-bar-h:44px}.bim-canvas{height:var(--bim-canvas-h);background:var(--panel-2)}.bim-canvas svg{width:100%;height:100%;display:block}[dir=rtl] .bim-canvas{direction:ltr}.bim-side{border:1px solid var(--hairline);border-radius:14px;background:var(--surface);padding:16px;height:-moz-fit-content;height:fit-content}.bim-wrap:not(:has(>.split-handle)) .bim-side{height:auto;max-height:calc(var(--bim-canvas-h) + var(--bim-bar-h));overflow-y:auto;align-self:start;overscroll-behavior:contain}.bim-side h4{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--ink);margin:0 0 10px}.bim-leg{margin-bottom:12px}.bim-leg-h{background:none;border:0;padding:0 0 4px;cursor:pointer;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400)}.bim-leg-h .off{text-decoration:line-through;opacity:.6}.bim-leg-r{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--slate-700);padding:3px 0}.bim-leg-r i{width:10px;height:10px;border-radius:3px;flex:none}.bim-leg-r b{-webkit-margin-start:auto;margin-inline-start:auto;font-size:11px;color:var(--slate-500)}.bim-ask{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.bim-ask select{font-size:12px;padding:8px 10px;border:1px solid var(--hairline);border-radius:9px;max-width:220px}.bim-ask input,.bim-ask select{background:var(--panel-2);color:var(--ink)}.bim-ask input{flex:1 1;min-width:220px;font-family:var(--font-body);font-size:13px;padding:9px 12px;border:1.5px solid var(--hairline);border-radius:9px;outline:none}.bim-ask input:focus{border-color:var(--brand)}.toast.bad{background:var(--danger,#b42318);color:#fff}.cad-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.cad-pick label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--slate-500)}.cad-pick select{font-family:var(--font-body);font-size:12.5px;font-weight:600;color:var(--ink);padding:8px 34px 8px 11px;border:1px solid var(--hairline);border-radius:9px;background:var(--panel-2);max-width:min(400px,34vw);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}[dir=rtl] .cad-pick select{padding:8px 11px 8px 34px;background-position:left 12px center}.cad-pick select:hover{border-color:var(--slate-400)}.cad-pick select:focus-visible{border-color:var(--brand)}.cad-count{font-size:11.5px;color:var(--slate-500)}.cad-bar{justify-content:space-between;gap:12px}.cad-name{font-size:12.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cad-tools{display:flex;align-items:center;gap:6px;flex:none}.cad-tools .btn{font-size:12px;padding:5px 10px;border-radius:8px;line-height:1.4}.cad-zoom{font-size:11.5px;color:var(--slate-500);min-width:44px;text-align:center}.cad-view{position:relative;height:560px;overflow:hidden;background:var(--panel-2);cursor:-webkit-grab;cursor:grab;touch-action:none;display:grid;place-items:center}.cad-view:active{cursor:-webkit-grabbing;cursor:grabbing}[dir=rtl] .cad-view{direction:ltr}.cad-sheet{background:#fff;border-radius:8px;padding:8px;width:100%;height:100%;transform-origin:center center;will-change:transform}.cad-sheet img,.cad-sheet svg{width:100%;height:100%;max-width:100%;max-height:100%;display:block}.cad-sheet img{object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cad-loading{position:absolute;inset:auto 0 10px 0;text-align:center;pointer-events:none}.cad-empty{height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:24px;background:var(--panel-2)}.cad-empty h4{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--ink);margin:0}.cad-empty p{max-width:520px;margin:0;line-height:1.55}.cad-sheet svg [class]{vector-effect:non-scaling-stroke;stroke-width:calc(1.1px / var(--cad-z, 1))}.sch{padding:14px 18px}.sch-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.sch-item{border:1px solid var(--hairline);border-radius:10px;overflow:hidden;background:var(--surface)}.sch-item.on{border-color:var(--slate-400)}.sch-head{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;cursor:pointer;background:none;border:0;text-align:start;font-family:var(--font-body)}.sch-head:hover{background:var(--panel-2)}.sch-head .tw-glyph{color:var(--slate-400);font-size:11px;width:10px;flex:none}.sch-name{font-size:12.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sch-layer{font-size:10px;color:var(--slate-400);background:var(--panel-2);border:1px solid var(--hairline);border-radius:5px;padding:1px 6px;flex:none}.sch-meta{-webkit-margin-start:auto;margin-inline-start:auto;font-size:11px;color:var(--slate-500);flex:none}.sch-body{max-height:360px;overflow:auto;border-top:1px solid var(--hairline);padding:0 12px 12px}.sch-body table{font-size:11.5px}.sch-tags{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 12px;border-top:1px solid var(--hairline)}.sch-notes{margin:0;-webkit-padding-start:18px;padding-inline-start:18px;line-height:1.75;font-size:12.5px;color:var(--slate-700)}.sch-notes li{margin-bottom:2px}.ced{border:1px solid var(--hairline);border-radius:14px;overflow:hidden;background:var(--surface)}.ced-rib{padding:8px 10px;background:var(--panel-2);border-bottom:1px solid var(--hairline)}.ced-grp,.ced-rib{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.ced-sep{width:1px;align-self:stretch;margin:2px 6px;background:var(--hairline);flex:none}.ced-spacer{-webkit-margin-start:auto;margin-inline-start:auto}.ced-t{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--slate-600);background:transparent;border:1px solid transparent;border-radius:7px;padding:5px 9px;cursor:pointer;white-space:nowrap;line-height:1.4}.ced-t:hover:not(:disabled){background:var(--surface);border-color:var(--hairline);color:var(--ink)}.ced-t.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.ced-t:disabled{opacity:.38;cursor:not-allowed}.ced-aids{display:flex;flex-wrap:wrap;padding:7px 10px;border-bottom:1px solid var(--hairline)}.ced-aid,.ced-aids{align-items:center;gap:6px}.ced-aid{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--slate-500);background:var(--panel-2);border:1px solid var(--hairline);border-radius:999px;padding:4px 10px;cursor:pointer;display:inline-flex}.ced-aid:hover{border-color:var(--slate-400)}.ced-aid.on{background:var(--brand);border-color:var(--brand);color:#06131d}.ced-aid kbd{font-family:var(--font-mono);font-size:9px;opacity:.65}.ced-snapwrap{position:relative}.ced-snapmenu{position:absolute;z-index:20;top:calc(100% + 6px);inset-inline-start:0;background:var(--surface);border:1px solid var(--hairline);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:8px 10px;min-width:180px}.ced-snapmenu label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink);padding:4px 0;cursor:pointer}.ced-fld{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-500)}.ced-fld select{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:7px;padding:4px 8px;text-transform:none;letter-spacing:0}.ced-source{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ced-source .ced-fld select{min-width:190px;max-width:min(380px,60vw)}.ced-source .btn{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;padding:8px 13px}.ced-body{display:grid;grid-template-columns:1fr 250px}@media(max-width:1000px){.ced-body{grid-template-columns:1fr}}.ced-canvas{height:620px;min-width:0;-webkit-border-end:1px solid var(--hairline);border-inline-end:1px solid var(--hairline)}[dir=rtl] .ced-canvas{direction:ltr}.ced-side{padding:12px;display:flex;flex-direction:column;min-height:0;gap:10px}.ced-side h4{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--ink);margin:0 0 8px}.ced-filter{width:100%;font-family:var(--font-body);font-size:12px;padding:6px 9px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);color:var(--ink)}.ced-filter:focus{border-color:var(--brand);outline:none}.ced-layeracts{display:flex;gap:6px;margin:8px 0}.ced-layers{overflow:auto;max-height:430px;margin:0 -4px}.ced-layer{display:flex;align-items:center;gap:7px;padding:3px 4px;border-radius:6px}.ced-layer:hover{background:var(--panel-2)}.ced-layer.off .nm{opacity:.45;text-decoration:line-through}.ced-layer .eye{background:none;border:0;padding:0;cursor:pointer;color:var(--slate-500);font-size:12px;line-height:1;flex:none}.ced-layer i{width:9px;height:9px;border-radius:2px;flex:none}.ced-layer .nm{flex:1 1;min-width:0;background:none;border:0;padding:0;cursor:pointer;font-family:var(--font-mono);font-size:10.5px;color:var(--ink);text-align:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ced-layer .nm:hover{color:var(--brand)}.ced-layer b{font-size:10px;color:var(--slate-400);flex:none}.ced-stats{margin-top:auto;padding-top:10px}.ced-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--hairline);background:var(--panel-2)}.ced-foot .btn{font-size:12.5px;padding:7px 13px}.cadvp{position:relative;width:100%;height:100%;overflow:hidden;background:#0d1017;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cadvp-x{top:0;bottom:0;width:1px}.cadvp-x,.cadvp-y{position:absolute;background:rgba(34,211,238,.4);pointer-events:none}.cadvp-y{left:0;right:0;height:1px}.cadvp-ov{inset:0;width:100%;height:100%}.cadvp-ov,.cadvp-sel{position:absolute;pointer-events:none}.cadvp-sel{border:1px solid rgba(34,211,238,.7);background:rgba(34,211,238,.1)}.cadvp-read{position:absolute;bottom:8px;inset-inline-start:8px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;pointer-events:none;font-family:var(--font-mono);font-size:11px}.cadvp-read .xy{background:rgba(0,0,0,.6);color:#67e8f9;border-radius:5px;padding:3px 7px}.cadvp-read .hint{background:rgba(0,0,0,.7);color:#fde68a;border-radius:5px;padding:3px 7px}.gphase{display:flex;align-items:center;padding:9px 0 5px;margin-top:6px;border-top:1px solid var(--hairline)}.gphase span{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--slate-500)}.gfloat{transform:translateY(-50%);height:6px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--slate-300) 0 4px,transparent 4px 8px);opacity:.75}.gfloat,.gmile{position:absolute;top:50%}.gmile{width:12px;height:12px;-webkit-margin-start:-6px;margin-inline-start:-6px;transform:translateY(-50%) rotate(45deg);border:0;padding:0;cursor:pointer;background:var(--slate-500);border-radius:2px}.gmile.crit{background:var(--brand)}.gmile.sel{outline:2px solid var(--ink);outline-offset:2px}.wprog{padding:16px 18px}.wprog .prog-actions{display:flex;gap:8px}.prog-bar{gap:14px;flex-wrap:wrap;padding:10px 0 12px;border-bottom:1px solid var(--hairline);margin-bottom:10px}.prog-bar,.prog-field{display:flex;align-items:center}.prog-field{gap:7px;font-size:12px;color:var(--slate-500)}.prog-field input{font-family:var(--font-mono);font-size:12px;padding:5px 8px;border:1px solid var(--hairline);border-radius:7px;background:var(--panel-2);color:var(--ink)}.prog-stat{font-size:12px;color:var(--slate-500)}.zoomctl2{display:inline-flex;gap:4px;-webkit-margin-start:auto;margin-inline-start:auto}.zoomctl2 button{width:26px;height:26px;border:1px solid var(--hairline);border-radius:7px;background:var(--panel-2);color:var(--ink);cursor:pointer;font-size:14px;line-height:1}.prog-wrap{display:flex;border:1px solid var(--hairline);border-radius:10px;overflow:hidden}.prog-grid{flex:none;min-width:0;background:var(--panel)}.prog-track{flex:1 1;overflow-x:auto;overflow-y:hidden;position:relative}.prog-hrow{display:flex;align-items:center;height:30px;background:var(--panel-2);border-bottom:1px solid var(--hairline);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--slate-500)}.prog-axis{position:relative}.ptick{position:absolute;-webkit-padding-start:4px;padding-inline-start:4px;white-space:nowrap;font-size:10px}.prow{display:flex;align-items:center;border-bottom:1px solid var(--hairline);cursor:pointer;font-size:12.5px}.prow:hover{background:var(--panel-2)}.prow.on{background:color-mix(in srgb,var(--brand) 8%,transparent)}.prow.sec{background:var(--panel-2);font-weight:650}.pc{padding:0 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pc-act{width:280px;display:flex;align-items:center;gap:5px}.pc-who{width:118px}.pc-d{width:86px;color:var(--slate-500)}.pc-d,.pc-n{font-size:11px}.pc-n{width:52px}.pc-p{width:104px}.pc-c{width:96px;text-align:end;font-size:11px}.ptw{border:0;background:none;cursor:pointer;color:var(--slate-500);width:14px;padding:0;font-size:10px}.ptw-spacer{width:14px;display:inline-block}.pmi{width:7px;height:7px;background:var(--brand);transform:rotate(45deg);flex:none}.pname{cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pname-in{font:inherit;width:100%;border:1px solid var(--brand);border-radius:5px;padding:2px 5px;background:var(--panel);color:var(--ink)}.pcrit{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);padding:1px 5px;border-radius:4px;flex:none}.prow-tools{display:none;gap:2px;-webkit-margin-start:auto;margin-inline-start:auto;flex:none}.prow:hover .prow-tools{display:inline-flex}.prow-tools button{border:0;background:none;cursor:pointer;font-size:11px;padding:2px 4px;color:var(--slate-500);border-radius:4px}.prow-tools button:hover{background:var(--panel);color:var(--ink)}.passign{font:inherit;font-size:11px;width:100%;border:0;background:none;color:var(--ink);cursor:pointer}.ppct{display:flex;align-items:center;gap:6px;cursor:pointer}.ppct-track{flex:1 1;height:5px;border-radius:3px;background:var(--hairline);overflow:hidden}.ppct-fill{display:block;height:100%;background:var(--brand)}.ppct b{font-size:10.5px;font-family:var(--font-mono);color:var(--slate-500);min-width:30px;text-align:end}.ppct-in{width:100%;font:inherit;font-size:11px;border:1px solid var(--brand);border-radius:5px;padding:1px 4px;background:var(--panel);color:var(--ink)}.ptrow{position:relative;border-bottom:1px solid var(--hairline)}.ptrow.on{background:color-mix(in srgb,var(--brand) 8%,transparent)}.pgrid{top:0;bottom:0;width:1px;background:var(--hairline);opacity:.5}.pbar,.pgrid{position:absolute}.pbar{top:50%;transform:translateY(-50%);height:16px;border-radius:5px;border:0;background:var(--slate-400);cursor:pointer;padding:0;overflow:hidden}.pbar.crit{background:var(--brand)}.pbar.flag{background:var(--amber)}.pbar.on{outline:2px solid var(--ink);outline-offset:1px}.pbar-done{display:block;height:100%;background:rgba(0,0,0,.28)}.psec{height:8px;border-radius:2px;background:var(--slate-600)}.pfloat,.psec{position:absolute;top:50%;transform:translateY(-50%)}.pfloat{height:5px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--slate-300) 0 3px,transparent 3px 6px)}.pdiamond{position:absolute;top:50%;width:11px;height:11px;-webkit-margin-start:-5px;margin-inline-start:-5px;transform:translateY(-50%) rotate(45deg);background:var(--slate-500);border-radius:2px}.pdiamond.crit{background:var(--brand)}.parrows{position:absolute;inset-block-start:30px;inset-inline-start:0;pointer-events:none;z-index:1}.parrow{fill:none;stroke:var(--slate-400);stroke-width:1.2;opacity:.65}.parrow.crit{stroke:var(--brand);opacity:.85}.pahfill{fill:var(--slate-400)}.pedit{margin-top:14px;border:1px solid var(--hairline);border-radius:10px;padding:14px;background:var(--panel-2)}.pedit-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pedit-grid{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin-bottom:14px}.pedit-grid label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--slate-500)}.pedit-grid input[type=number]{width:110px;font-family:var(--font-mono);font-size:12px;padding:5px 8px;border:1px solid var(--hairline);border-radius:7px;background:var(--panel);color:var(--ink)}.pedit-links{margin-bottom:12px}.pedit-lh{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:11.5px;font-weight:650;color:var(--slate-500)}.pedit-link{display:flex;gap:6px;margin-bottom:5px}.pedit-link input,.pedit-link select{font-size:11.5px;padding:4px 6px;border:1px solid var(--hairline);border-radius:6px;background:var(--panel);color:var(--ink)}.pedit-link select:first-child{flex:1 1;min-width:0}.pedit-link input{width:64px;font-family:var(--font-mono)}.pedit-basis{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--slate-500)}.pedit-basis textarea{font:inherit;font-size:12px;padding:6px 8px;border:1px solid var(--hairline);border-radius:7px;background:var(--panel);color:var(--ink);resize:vertical}.pedit-foot{display:flex;justify-content:flex-end;margin-top:12px}.pipe-stages{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.pipe-stage{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--hairline);border-radius:9px;background:var(--panel-2);flex:1 1;min-width:170px}.pipe-stage.done{border-color:color-mix(in srgb,var(--brand) 45%,var(--hairline))}.pipe-stage.warn{border-color:color-mix(in srgb,var(--amber) 55%,var(--hairline))}.pipe-n{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:10.5px;font-weight:700;background:var(--hairline);color:var(--slate-600)}.pipe-stage.done .pipe-n{background:var(--brand);color:#fff}.pipe-stage.warn .pipe-n{background:var(--amber);color:#fff}.pipe-l{display:flex;flex-direction:column;min-width:0}.pipe-l b{font-size:12.5px}.pipe-l small{font-size:11px;color:var(--slate-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app{min-height:100vh;min-height:100dvh}.drawer,.side{height:100vh;height:100dvh}.login-wrap{min-height:100vh;min-height:100dvh}.app>*,.card,.content,.row,.tw,.two-col{min-width:0}.cname,.csub,.t-name,.trow-lbl,td{overflow-wrap:break-word}img,svg{max-width:100%}.pw-tabs>*{flex:none;white-space:nowrap}.pw-tabs{scrollbar-width:thin;-webkit-overflow-scrolling:touch}@media (max-width:900px){.bim-ribbon,.cad-tools,.ced-aids,.ced-rib,.range{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.bim-ribbon::-webkit-scrollbar,.ced-aids::-webkit-scrollbar,.ced-rib::-webkit-scrollbar,.range::-webkit-scrollbar{display:none}.bim-ribbon>*,.cad-tools>*,.ced-aids>*,.ced-rib>*,.range>*{flex:none}.ced-aids,.ced-rib{padding-inline:12px}}.bim-canvas,.cad-empty,.cad-view{height:clamp(320px,58dvh,560px)}.ced-canvas{height:clamp(340px,62dvh,660px)}@media (max-width:1000px){.ced-side{max-height:44dvh;border-top:1px solid var(--hairline)}.ced-layers{max-height:none}.ced-canvas{-webkit-border-end:0;border-inline-end:0}}@media (max-width:900px){.pc-c,.pc-p,.pc-who{display:none}.pc-act{width:clamp(132px,38vw,280px)}.pc-d{width:72px}.pc-n{width:44px}}@media (max-width:560px){.pc-d:last-of-type{display:none}.pc-act{width:clamp(120px,44vw,200px)}}@media (pointer:coarse){.btn,.ced-aid,.ced-t,.hamb,.mini,.nav-toggle,.seg button,.srcchip,.tb-btn{min-height:38px}.mini.sm{min-height:34px}.pw-tabs a,.pw-tabs button{padding-block:12px}.nav .navbtn,.nav a{padding-block:11px}.row,.sch-head,tr{-webkit-tap-highlight-color:transparent}}@media (max-width:860px){.side{padding-bottom:env(safe-area-inset-bottom)}}.drawer .df{padding-bottom:max(14px,env(safe-area-inset-bottom))}.chat-dock{bottom:max(22px,env(safe-area-inset-bottom))}@media (max-width:640px){.chat-dock{inset-inline:0;right:auto;bottom:0;width:100%;max-width:100%;border-radius:10px 10px 0 0;max-height:82dvh}.chead,.page-head{flex-wrap:wrap;row-gap:10px}.chead>*,.page-head>*{min-width:0}.page-head>.btn-primary,.page-head>.mini.pri{width:100%;justify-content:center}.fbar{gap:8px}.fsearch{min-width:0;width:100%}.dwg-stat,.summary{grid-template-columns:1fr 1fr}.frow{grid-template-columns:1fr!important}.ced-source{gap:10px}.ced-source .ced-fld{width:100%}.ced-source .ced-fld select{flex:1 1;min-width:0;max-width:none}.ced-foot{gap:6px}.ced-foot .btn{flex:1 1 auto}.sch-body{max-height:60dvh}}.topbar{padding-top:max(12px,env(safe-area-inset-top))}.content{padding-inline:max(clamp(16px,2vw,28px),env(safe-area-inset-left)) max(clamp(16px,2vw,28px),env(safe-area-inset-right))}@media (max-width:760px){.topbar{padding-top:max(10px,env(safe-area-inset-top))}.content{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}}.skip{position:absolute;z-index:200;inset-inline-start:10px;top:-64px;background:var(--surface);color:var(--ink);border:1px solid var(--hairline);border-radius:9px;padding:10px 16px;font-size:13px;font-weight:600;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:top .16s ease}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px;border-radius:4px}#main:focus{outline:none}[tabindex],a,button,input,select,summary,textarea{scroll-margin-top:96px;scroll-margin-bottom:32px}[role=button],a[role=button],button,input[type=checkbox],input[type=radio],summary{min-block-size:24px}.csub a,li a,p a,td a{min-block-size:0}.chip,.pill,.srcchip{block-size:auto}.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.bim-studio.is-full,.ced.is-full{position:fixed;inset:0;z-index:120;margin:0;border-radius:0;max-width:none;overflow:hidden;background:var(--surface);padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(0px,env(safe-area-inset-bottom))}.bim-studio.is-full{display:flex;flex-direction:column}.bim-studio.is-full .bim-ribbon,.bim-studio.is-full .bim-tools,.bim-studio.is-full>.bim-ask,.bim-studio.is-full>.chead{flex:none}.bim-studio.is-full .bim-tools{max-height:22vh;overflow-y:auto}.bim-studio.is-full .bim-wrap{flex:1 1;min-height:0;margin-bottom:0}.bim-studio.is-full .bim-main{display:flex;flex-direction:column;min-height:0}.bim-studio.is-full .bim-canvas{flex:1 1;height:auto;min-height:0}.bim-studio.is-full .bim-side{overflow-y:auto;min-height:0}.ced.is-full{display:grid;grid-template-rows:auto auto 1fr auto}.ced.is-full .ced-body{min-height:0}.ced.is-full .ced-canvas{height:auto;min-height:0}.ced.is-full .ced-side{overflow-y:auto;min-height:0}@media (max-width:1000px){.bim-studio.is-full .bim-side,.ced.is-full .ced-side{display:none}.bim-studio.is-full .bim-wrap,.ced.is-full .ced-body{grid-template-columns:1fr}}.ced-cop{border:1px solid var(--hairline);border-radius:11px;background:var(--panel-2);overflow:hidden;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.ced-cop-h{display:flex;align-items:center;gap:8px;width:100%;padding:9px 11px;background:none;border:0;cursor:pointer;font-family:var(--font-body);font-size:12.5px;font-weight:650;color:var(--ink);text-align:start}.ced-cop-h:hover{background:var(--surface)}.ced-cop-h .tw-glyph{color:var(--slate-400);font-size:11px}.ced-cop-n{-webkit-margin-start:auto;margin-inline-start:auto;font-size:10px;color:#9D6307;background:var(--amber-tint);border-radius:999px;padding:2px 7px}.ced-cop-intro{margin:0;padding:0 11px 10px;font-size:12px;line-height:1.55;color:var(--slate-500);flex:none}.ced-cop-log{flex:1 1 auto;min-height:60px;overflow-y:auto;padding:0 11px}.ced-cop-turn{margin-bottom:11px}.ced-cop-turn .q{font-size:11.5px;font-weight:600;color:var(--slate-500);margin-bottom:4px}.ced-cop-turn .q:before{content:"› ";color:var(--brand)}.ced-cop-turn .a{font-size:12.5px;line-height:1.6;color:var(--ink);white-space:pre-wrap}.ced-cop-edit{margin-top:5px;font-size:11px;color:#9D6307;background:var(--amber-tint);border-radius:6px;padding:4px 8px;display:inline-block}.ced-cop-eg{display:flex;flex-direction:column;gap:5px;padding:0 11px 10px;flex:none}.ced-cop-eg button{font-family:var(--font-body);font-size:11.5px;text-align:start;color:var(--slate-600);background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:6px 9px;cursor:pointer}.ced-cop-eg button:hover{border-color:var(--brand);color:var(--ink)}.ced-cop-ask{padding:0 11px 11px;flex:none}.ced-cop-ask textarea{width:100%;resize:vertical;font-family:var(--font-body);font-size:12.5px;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:9px;padding:8px 10px}.ced-cop-ask textarea:focus{outline:none;border-color:var(--brand)}.ced-cop-acts{display:flex;gap:6px;justify-content:flex-end;margin-top:7px}.ced-cop-mode{display:flex;gap:0;margin-bottom:6px;border:1px solid var(--hairline);border-radius:8px;overflow:hidden;width:-moz-fit-content;width:fit-content}.ced-cop-mode button{font-size:11px;padding:4px 12px;border:0;background:var(--panel);color:var(--slate-500);cursor:pointer;font-family:inherit}.ced-cop-mode button.on{background:var(--brand);color:#fff}.ced-cop-mode button:disabled{opacity:.5;cursor:not-allowed}.ced-cop-trace{list-style:none;margin:0 0 5px;padding:0;display:flex;flex-direction:column;gap:2px}.ced-cop-trace li{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:10.5px;padding:3px 7px;border-radius:6px;background:var(--panel-2);-webkit-border-start:2px solid var(--ok,var(--brand));border-inline-start:2px solid var(--ok,var(--brand))}.ced-cop-trace li.is-bad{border-left-color:var(--bad)}.ced-cop-trace b{font-size:10.5px;color:var(--ink)}.ced-cop-trace .mod{text-transform:uppercase;letter-spacing:.02em;color:var(--slate-500);font-size:9.5px}.ced-cop-trace .sum{flex:1 1;min-width:120px;color:var(--slate-500)}.ced-cop-assumed{margin:4px 0 0;-webkit-padding-start:15px;padding-inline-start:15px;list-style:disc}.ced-cop-assumed li{font-size:10.5px;color:var(--slate-500);line-height:1.45}.ced-cop-turn .a.is-question{-webkit-border-start:2px solid var(--brand);border-inline-start:2px solid var(--brand);-webkit-padding-start:8px;padding-inline-start:8px}.ced-cop-confirm{margin:6px 0;padding:8px 10px;border-radius:8px;border:1px solid var(--amber,var(--brand));background:var(--amber-tint,var(--panel-2))}.ced-cop-confirm b{display:block;font-size:12px;color:var(--ink)}.ced-cop-confirm .csub{font-size:11px}.ced-lay{border:1px solid var(--hairline);border-radius:11px;background:var(--surface);flex:none;overflow:hidden}.ced-lay.on{flex:0 1 auto;max-height:46%;display:flex;flex-direction:column;min-height:0}.ced-lay-h{display:flex;align-items:center;gap:8px;width:100%;padding:9px 11px;background:none;border:0;cursor:pointer;font-family:var(--font-body);font-size:12.5px;font-weight:650;color:var(--ink);text-align:start;flex:none}.ced-lay-h:hover{background:var(--panel-2)}.ced-lay-h .tw-glyph{color:var(--slate-400);font-size:11px}.ced-lay-h b{-webkit-margin-start:auto;margin-inline-start:auto;font-size:10.5px;color:var(--slate-400);font-weight:600}.ced-lay-body{padding:0 11px 11px;display:flex;flex-direction:column;min-height:0;gap:8px}.ced-lay-body .ced-layers{max-height:none;flex:1 1 auto;min-height:0;margin:0}.ced-lay-body .ced-layeracts{margin:0}.ced-stats{flex:none;padding-top:0}.ced-cop-edit.none{background:var(--panel-2);color:var(--slate-500)}.ced-canvas.ced-view-split{display:grid;grid-template-columns:1fr 6px 1fr;min-width:0}.ced-canvas.ced-view-split>*{min-width:0}.ced-split-rule{background:var(--hairline)}@media (max-width:900px){.ced-canvas.ced-view-split{grid-template-columns:1fr;grid-template-rows:1fr 6px 1fr}}.isov{position:relative;width:100%;height:100%;overflow:hidden;background:#0d1017;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.isov:active{cursor:-webkit-grabbing;cursor:grabbing}.isov-bar{position:absolute;top:8px;inset-inline-end:8px;display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.6);border-radius:8px;padding:5px 8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.isov-bar label{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8fa3ad}.isov-bar input{width:74px;font-family:var(--font-mono);font-size:11.5px;color:#e7eef1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:3px 6px}.isov-bar .u{text-transform:none;letter-spacing:0}.isov-note{inset-inline:8px;bottom:8px;line-height:1.5;color:#fbbf24;background:rgba(0,0,0,.66);border-radius:7px;padding:6px 9px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.isov-hint,.isov-note{position:absolute;font-size:10.5px}.isov-hint{top:8px;inset-inline-start:8px;font-family:var(--font-mono);color:#8fa3ad;background:rgba(0,0,0,.6);border-radius:6px;padding:4px 8px}.bim-canvas.bim-view-split{display:grid;grid-template-columns:1fr 6px 1fr;min-width:0}.bim-canvas.bim-view-split>*{min-width:0}@media (max-width:900px){.bim-canvas.bim-view-split{grid-template-columns:1fr;grid-template-rows:1fr 6px 1fr}}.nav .navbtn{width:100%;background:none;border:0;text-align:start;font-family:var(--font-body)}.nav .navbtn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsk-btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.dsk-btn svg{flex:none;opacity:.85}.dsk-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 0}.dsk-note .btn{display:inline-flex;align-items:center;gap:6px}@media (max-width:560px){.dsk-note{gap:6px}.dsk-note .btn{align-self:flex-start}}.rate-btn{background:none;border:0;padding:2px 4px;margin:-2px -4px;border-radius:6px;font:inherit;color:inherit;cursor:pointer}.rate-btn:hover{background:var(--panel-2)}.rate-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rate-add{color:var(--slate-500);font-size:11.5px}.rate-btn:hover .rate-add{color:var(--ink)}.rate-in{width:9ch;text-align:end;padding:3px 6px;border-radius:6px;color:var(--ink);border:1px solid var(--accent);font:inherit}.bim-proposal,.rate-in{background:var(--panel-2)}.bim-proposal{margin:10px 0 14px;padding:12px 14px;border-radius:10px;border:1px solid var(--accent)}.bp-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}.bp-head b{font-size:13px;color:var(--ink)}.bp-head .mono{font-size:11.5px;color:var(--slate-500)}.bp-reply{margin:0 0 8px;line-height:1.55}.bp-list{margin:0 0 10px;max-height:180px;overflow:auto}.bp-actions{display:flex;gap:8px;flex-wrap:wrap}.bp-assumed{margin:0 0 10px;-webkit-padding-start:16px;padding-inline-start:16px;list-style:disc}.bp-assumed li{font-size:12px;color:var(--slate-500);line-height:1.5}.bim-trace{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:4px}.bt-step{border:1px solid var(--hairline);border-radius:8px;background:var(--panel-2);overflow:hidden}.bt-step.is-bad{border-color:var(--bad)}.bt-head{display:flex;align-items:baseline;gap:8px;width:100%;padding:7px 10px;background:none;border:0;text-align:start;cursor:pointer;font-family:inherit;flex-wrap:wrap}.bt-head:hover{background:var(--panel-3,var(--panel-2))}.bt-head b{font-size:12.5px;color:var(--ink)}.bt-dot{width:6px;height:6px;border-radius:50%;background:var(--ok,var(--brand));flex:0 0 auto;align-self:center}.is-bad .bt-dot{background:var(--bad)}.bt-mod{font-size:10.5px;text-transform:uppercase;color:var(--slate-500)}.bt-mod,.bt-scope{letter-spacing:.02em}.bt-scope{font-size:10px;padding:1px 6px;border-radius:999px;background:var(--brand);color:#fff}.bt-sum{flex:1 1;min-width:160px;font-size:12px}.bt-data{margin:0;padding:8px 10px;max-height:200px;overflow:auto;font-size:11px;line-height:1.45;border-top:1px solid var(--hairline);background:var(--panel)}.bim-question{margin:10px 0 14px;padding:12px 14px;border-radius:10px;border:1px solid var(--brand);background:var(--panel-2)}.bim-question b{display:block;font-size:13px;color:var(--ink);margin-bottom:6px}.bim-question p{margin:0 0 6px;line-height:1.55;white-space:pre-wrap}.bim-auth-wrap{margin:0 0 14px}.bim-auth-toggle{display:flex;align-items:baseline;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--hairline);border-radius:9px;background:var(--panel-2);font-family:inherit;font-size:12.5px;color:var(--ink);cursor:pointer;text-align:start}.bim-auth-toggle:hover{border-color:var(--brand)}.bim-auth-toggle .csub{font-size:11px;font-weight:400}.bim-authoring{padding:12px;border:1px solid var(--hairline);border-top:0;border-radius:0 0 9px 9px;background:var(--panel)}.auth-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.auth-head b{font-size:12.5px}.auth-broken{margin-bottom:12px;padding:8px 10px;border-radius:8px;border:1px solid var(--bad);background:var(--panel-2)}.auth-broken b{display:block;font-size:12px;margin-bottom:4px}.auth-broken ul{margin:0;-webkit-padding-start:16px;padding-inline-start:16px;font-size:11.5px;color:var(--slate-500)}.auth-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.auth-list li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--hairline);border-radius:8px;background:var(--panel-2)}.auth-list li.is-editing{border-color:var(--brand)}.auth-list b{font-size:12.5px}.auth-list code{font-size:11px;color:var(--slate-500)}.auth-row-acts{display:flex;gap:6px;flex:0 0 auto}.auth-fields{display:flex;gap:10px;flex-wrap:wrap}.auth-fields label,.auth-wide{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.auth-fields label{flex:1 1;min-width:200px}.auth-wide{width:100%}.bim-authoring label>span:first-child{font-size:11.5px;color:var(--ink)}.bim-authoring input,.bim-authoring select,.bim-authoring textarea{font-family:var(--font-body);font-size:12.5px;padding:7px 9px;border:1px solid var(--hairline);border-radius:8px;background:var(--panel);color:var(--ink);width:100%}.bim-authoring textarea.mono{font-family:var(--font-mono,monospace);font-size:11.5px;resize:vertical}.bim-authoring input:focus,.bim-authoring select:focus,.bim-authoring textarea:focus{border-color:var(--brand)}.auth-steps{display:flex;flex-direction:column;gap:8px;margin:4px 0 12px}.auth-step{border:1px solid var(--hairline);border-radius:8px;padding:8px;background:var(--panel-2)}.auth-step-head{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.auth-step-head select{flex:1 1;min-width:180px}.auth-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:11px;flex:0 0 auto}.auth-as{max-width:180px}.auth-spec{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:5px;font-size:11px}.auth-param code{font-size:11px;color:var(--ink)}.auth-tmpl{font-size:11px;margin:0}.auth-acts{display:flex;gap:8px}.bim-chat{margin-bottom:12px}.bim-log{max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:10px;margin-bottom:8px;border:1px solid var(--hairline);border-radius:9px;background:var(--panel-2)}.bim-turn .q{font-size:12.5px;padding:6px 10px;border-radius:9px;background:var(--brand);color:#fff;align-self:flex-end;max-width:85%;-webkit-margin-start:auto;margin-inline-start:auto;width:-moz-fit-content;width:fit-content}.bim-turn .a{font-size:12.5px;line-height:1.55;margin-top:6px;white-space:pre-wrap}.bim-turn .a.is-question{-webkit-border-start:2px solid var(--brand);border-inline-start:2px solid var(--brand);-webkit-padding-start:8px;padding-inline-start:8px}.bim-assumed{margin:5px 0 0;-webkit-padding-start:16px;padding-inline-start:16px;list-style:disc}.bim-assumed li{font-size:11.5px;color:var(--slate-500);line-height:1.5}.bim-eg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.bim-eg button{font-size:11.5px;padding:5px 10px;border-radius:999px;border:1px solid var(--hairline);background:var(--panel-2);color:var(--slate-500);cursor:pointer;font-family:inherit}.bim-eg button:hover{border-color:var(--brand);color:var(--ink)}.bim-ask textarea{flex:1 1;min-width:220px;font-family:var(--font-body);font-size:13px;padding:9px 12px;border:1px solid var(--hairline);border-radius:9px;background:var(--panel);color:var(--ink);resize:vertical}.bim-ask textarea:focus{border-color:var(--brand)}.bim-ask-acts{display:flex;gap:6px;align-items:flex-start}.bim-mode{display:flex;border:1px solid var(--hairline);border-radius:8px;overflow:hidden;width:-moz-fit-content;width:fit-content;flex:0 0 auto}.bim-mode button{font-size:11.5px;padding:6px 12px;border:0;background:var(--panel);color:var(--slate-500);cursor:pointer;font-family:inherit}.bim-mode button.on{background:var(--brand);color:#fff}.bim-mode button:disabled{opacity:.5;cursor:not-allowed}.bim-ask{align-items:flex-start}.ced-cmp{border-bottom:1px solid var(--hairline)}.ced-cmp-body{padding:0 10px 10px}.ced-cmp-pick{display:flex;gap:6px;margin-bottom:8px}.ced-cmp-pick select{flex:1 1;min-width:0;font-size:11.5px;padding:5px 8px;border:1px solid var(--hairline);border-radius:6px;background:var(--panel);color:var(--ink)}.ced-cmp-sum{font-size:12px;padding:6px 8px;border-radius:6px;background:var(--panel-2);border:1px solid var(--hairline);margin-bottom:8px}.ced-cmp-h{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-500);margin:8px 0 4px}.ced-cmp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.ced-cmp-list li{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:11px;padding:3px 6px;border-radius:5px;background:var(--panel-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ced-cmp-list .csub{font-size:10.5px;white-space:nowrap}.ced-cmp-impact{margin-top:10px;padding:8px;border-radius:6px;border:1px solid var(--hairline);background:var(--panel-2)}.ced-cmp-impact.needs-review{border-color:var(--amber);background:var(--amber-tint)}.ced-cmp-impact .csub{display:block;margin-top:5px;font-size:10.5px}.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.tw>table{min-width:100%}.chip.acknowledged,.chip.current,.chip.issued,.chip.sent{color:var(--teal-ink);background:var(--teal-tint)}.chip.planned,.chip.registered{color:var(--blue-ink);background:var(--blue-tint)}.chip.late,.chip.overdue,.chip.recalled{color:var(--red-ink);background:var(--red-tint)}.chip.for_review,.chip.in_review{color:var(--amber-ink);background:var(--amber-tint)}.row-actions{display:flex;gap:6px;justify-content:flex-end;opacity:.35;transition:opacity .12s ease}.row-actions:focus-within,tr:hover .row-actions{opacity:1}@media (hover:none){.row-actions{opacity:1}}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--ink)}th.sortable .dir{opacity:.5;font-size:10px;-webkit-margin-start:4px;margin-inline-start:4px}.linkish{background:none;border:0;padding:0;font:inherit;color:var(--ink);cursor:pointer;text-align:inherit;border-bottom:1px dotted var(--slate-300)}.linkish:hover{color:var(--teal-ink);border-bottom-color:var(--teal)}.linkish:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:2px}.ced-body{grid-template-columns:1fr auto var(--ced-side,250px)}.bim-wrap:has(>.split-handle){grid-template-columns:1fr auto var(--bim-side,280px)}.bim-wrap:not(:has(>.split-handle)){grid-template-columns:1fr var(--bim-side,280px)}.bim-wrap[data-collapsed="1"]:has(>.split-handle),.ced-body[data-collapsed="1"]{grid-template-columns:1fr auto 0}.split-handle{position:relative;width:10px;cursor:col-resize;flex:0 0 10px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;touch-action:none}.split-handle:before{content:"";position:absolute;inset-block:0;inset-inline-start:4px;width:2px;background:var(--hairline);transition:background .12s ease}.resizing .split-handle:before,.split-handle:focus-visible:before,.split-handle:hover:before,[data-resizing="1"] .split-handle:before{background:var(--teal)}.split-handle:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.split-handle .grip{position:relative;width:4px;height:26px;border-radius:2px;background:var(--slate-300);opacity:0;transition:opacity .12s ease}.resizing .grip,.split-handle:focus-visible .grip,.split-handle:hover .grip{opacity:1}.resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resizing *{cursor:col-resize!important}@media (max-width:1000px){.split-handle{display:none}.bim-wrap,.bim-wrap[data-collapsed="1"],.ced-body,.ced-body[data-collapsed="1"]{grid-template-columns:1fr}}.qty-trace{background:none;border:0;padding:0;font:inherit;color:var(--ink);cursor:pointer;text-align:inherit;border-bottom:1px dotted var(--slate-300)}.qty-trace:hover{color:var(--teal-ink);border-bottom-color:var(--teal)}.qty-trace:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:2px}.qty-trace.untied{color:var(--amber-ink);border-bottom-color:var(--amber)}.qty-flag{display:inline-block;-webkit-margin-start:4px;margin-inline-start:4px;font-weight:700;font-size:11px;color:var(--amber-ink)}td{position:relative}.trace-pop{position:absolute;z-index:40;inset-inline-end:0;top:100%;margin-top:4px;min-width:min(460px,90vw);max-width:min(560px,92vw);max-height:60vh;overflow:auto;text-align:start;background:var(--paper);border:1px solid var(--hairline);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:12px 14px}.trace-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;font-size:12.5px}.trace-verdict{border-radius:6px;padding:8px 10px;margin-bottom:8px}.trace-verdict.ok{background:var(--teal-tint);color:var(--teal-ink)}.trace-verdict.warn{background:var(--amber-tint);color:var(--amber-ink)}.trace-verdict.bad{background:var(--red-tint);color:var(--red-ink)}.tv-label{font-weight:600;font-size:12px;margin-bottom:3px}.tv-nums{display:flex;flex-wrap:wrap;gap:12px;font-family:var(--font-mono);font-size:11.5px}.tv-diff{font-weight:600}.trace-why{font-size:12px;color:var(--slate-600);margin:0 0 10px;line-height:1.45}.trace-sheet{border-top:1px solid var(--hairline);padding-top:8px;margin-top:8px}.ts-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.ts-sub{font-family:var(--font-mono);font-size:11px;color:var(--slate-500)}.ts-table{width:100%;margin-top:4px;font-size:11.5px}.ts-table td{padding:2px 0;border:0}.ts-loc{color:var(--slate-500)}.trace-note{margin-top:8px;padding:6px 8px;border-radius:5px;font-size:11.5px}.trace-note.bad{background:var(--red-tint);color:var(--red-ink)}.trace-banner{margin:8px 0;padding:9px 12px;border-radius:6px;font-size:12.5px;background:var(--amber-tint);color:var(--amber-ink);border:1px solid color-mix(in srgb,var(--amber) 40%,transparent)}@media (max-width:720px){.trace-pop{position:fixed;inset-inline:8px;top:auto;bottom:8px;min-width:0;max-width:none}}