@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{--brand:#15c2a8;--ink:#0b1b2b;--ink-deep:#06101c;--teal:#15c2a8;--teal-press:#0fa593;--teal-tint:#e8faf6;--slate-700:#334155;--slate-600:#475569;--slate-500:#64748b;--slate-400:#94a3b8;--slate-300:#cbd5e1;--paper:#f4f7fb;--surface:#fff;--panel-2:#f1f5f9;--hairline:#e3e8ef;--amber:#f5a524;--amber-tint:#fef3e2;--blue:#3b82f6;--blue-tint:#e7f0fe;--red:#ef4444;--red-tint:#fdecec;--violet:#7c6cff;--violet-tint:#eee9ff;--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}[data-theme=dark]{--ink:#eaf1f8;--paper:#0a1626;--surface:#0f2033;--panel-2:#0c1b2e;--slate-700:#c7d3e0;--slate-600:#a8b6c6;--slate-500:#8493a6;--slate-400:#6a7a8e;--slate-300:#3a4c60;--hairline:#1d3250;--teal-tint:rgba(21,194,168,.14);--amber-tint:rgba(245,165,36,.14);--blue-tint:rgba(59,130,246,.16);--red-tint:rgba(239,68,68,.15);--violet-tint:rgba(124,108,255,.16)}*{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);outline-offset:2px}.login-wrap{min-height:100vh;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:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(var(--hairline) 1px,transparent 1px),linear-gradient(90deg,var(--hairline) 1px,transparent 1px);background-size:26px 26px;opacity:.5}.login{position:relative;width:100%;max-width:392px;background:var(--surface);border:1px solid var(--hairline);border-radius:16px;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-press);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}.field input:focus{outline:none;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);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)}.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-press);flex:none}.app{display:grid;min-height:100vh;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;height:100vh}.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-press);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 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 a svg{width:16px;height:16px;flex:none;color:var(--slate-400)}.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-press)}.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);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 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(4,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}@media(max-width:1080px){.kpis{grid-template-columns:repeat(2,1fr)}}.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 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-press);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-size:10.5px;color:var(--slate-400)}td .t-sub,td.num{font-family:var(--font-mono)}td.num{color:var(--ink)}.chip{font-family:var(--font-mono);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-press);background:var(--teal-tint)}.chip.awaiting_review,.chip.info,.chip.proposed,.chip.qualifying,.chip.running,.chip.trial{color:var(--blue);background:var(--blue-tint)}.chip.bidding,.chip.pastdue,.chip.pending,.chip.warn{color:var(--amber);background:var(--amber-tint)}.chip.critical,.chip.failed,.chip.rejected,.chip.suspended{color:var(--red);background:var(--red-tint)}.chip.stale{color:var(--amber);background:var(--amber-tint)}.chip.draft,.chip.skipped,.chip.superseded{color:var(--slate-500);background:var(--panel-2)}.chip.flag,.chip.persona{color:var(--violet);background:var(--violet-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.flag,[data-theme=dark] .chip.persona{color:#a99bff}.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-press);background:transparent;border:0;cursor:pointer}.placeholder{background:var(--surface);border:1px dashed var(--hairline);border-radius:16px;padding:56px 32px;text-align:center}.placeholder .pic{width:56px;height:56px;border-radius:14px;background:var(--teal-tint);color:var(--teal-press);display:grid;place-items:center;margin:0 auto 18px}.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-press);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;height:100vh;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;padding:18px 20px;border-bottom:1px solid var(--hairline)}.drawer .dh h3{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink);margin:0}.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{outline:none;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-press);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-press);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:#fff;box-shadow:0 0 0 3px var(--teal-tint)}.stepper .nd.cur .n{background:hsla(0,0%,100%,.25);color:#fff;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{outline:none;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(3,1fr);grid-gap:14px;gap:14px}@media(max-width:980px){.mcards{grid-template-columns:1fr 1fr}}@media(max-width:680px){.mcards{grid-template-columns:1fr}}.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 .env,.app.nav-collapsed .nav .grp,.app.nav-collapsed .nav a span,.app.nav-collapsed .side-top .wm,.app.nav-collapsed .side-user .nm,.app.nav-collapsed .side-user .out,.app.nav-collapsed .side-user .rl{display:none}.app.nav-collapsed .nav a,.app.nav-collapsed .side-top,.app.nav-collapsed .side-user{justify-content:center}.app.nav-collapsed .nav a.active:before{inset-inline-start:0}}@media (max-width:1024px){.kpis{grid-template-columns:repeat(2,1fr)}}@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}.kpis{grid-template-columns:1fr 1fr}.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}}@media (max-width:460px){.kpis{grid-template-columns:1fr}}.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}.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-press);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)}.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-press);background:var(--teal-tint);border-radius:5px;padding:2px 6px;white-space:nowrap}.conf.warn{color:var(--amber);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;gap:12px;padding:9px 0;border-top:1px solid var(--hairline)}.trow-lbl b{color:var(--ink);font-weight:600;text-align:right}.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;text-align:center;position:relative;cursor:pointer;background:none;border:0;padding:0;font-family:var(--font-body);min-width:64px}.chain .step:before{content:"";position:absolute;top:18px;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 8px;display:grid;place-items:center;background:var(--surface);border:2px solid var(--hairline);color:var(--slate-400);font-family:var(--font-mono);font-weight:600;font-size:13px}.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)}.chain .step.processing .node{border-color:var(--blue);background:var(--blue-tint);color:var(--blue)}.chain .step .sl{font-size:11.5px;font-weight:600;color:var(--ink)}.chain .step .ss{font-family:var(--font-mono);font-size:9px;color:var(--slate-400);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}.chain .step:hover .node{border-color:var(--teal-press)}@media(max-width:760px){.chain{overflow-x:auto;gap:4px}.chain .step{min-width:78px}}.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-press);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-press)}.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(4,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}@media(max-width:820px){.boq-sum{grid-template-columns:1fr 1fr}}.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)}.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)}.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-press);background:var(--teal-tint)}.rs-hist{color:var(--blue);background:var(--blue-tint)}.rs-man{color:var(--slate-500);background:var(--panel-2)}.rs-none{color:var(--amber);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:9px;height:20px;border-radius:5px;cursor:pointer;display:flex;align-items:center;padding:0 6px;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.08);border:0}.gbar.crit{background:var(--brand);color:#06131d}.gbar.norm{background:var(--slate-400);color:#fff}.gbar.flag{background:var(--amber);color:#06131d}.gbar .gd{font-family:var(--font-mono);font-size:9px;font-weight:600}.gbar.sel{outline:2px solid var(--ink);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 h3,[lang=ar] .crumb,[lang=ar] .drawer .dh h3,[lang=ar] .page-head 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}.pw-tabs{scrollbar-width:thin}.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)}.bim-canvas{height:560px;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-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-sheet{background:#fff;border-radius:8px;padding:8px;overflow:auto;max-height:620px}.cad-sheet svg{width:100%;height:auto;max-width:100%;display:block}.cad-sheet svg [class]{vector-effect:non-scaling-stroke;stroke-width:1.1px}.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}