:root,[data-theme=nord-light]{--bg-0:#e8e9e5;--bg-1:#fff;--bg-2:#edeee9;--bg-3:#dde0da;--bg-inset:#f4f3ec;--line:#d7d9d1;--line-soft:#e7e8e1;--line-strong:#c5c8bd;--tx-0:#2e3440;--tx-1:#3b4252;--tx-2:#586073;--tx-3:#8993a5;--accent:#5e81ac;--accent-ink:#456395;--forge:#3d556f;--bronze:#8a6a2f;--amber:#b5851f;--amber-dim:#d8c188;--mustard:#a1841c;--labor-override:#c8a800;--cyan:#2c7a88;--green:#4f7034;--red:#9d3b41;--violet:#8a5a82;--blue:#4c6f9a;--labor:#b0692a;--sel:#e4ebf4;--hover:#eef3f9;--zebra:#f5f7fb;--band:#e9eef6;--cat:#edf1f7;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas, monospace;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", P052, Constantia, Georgia, serif;--r:3px;--row-h:32px;--gutter:24px}[data-theme=nord-dark]{--bg-0:#242933;--bg-1:#3b4252;--bg-2:#4a5468;--bg-3:#4c566a;--bg-inset:#272b33;--line:#56607a;--line-soft:#424a5e;--line-strong:#6b7690;--tx-0:#eceff4;--tx-1:#d8dee9;--tx-2:#c0c9d8;--tx-3:#aeb8c9;--accent:#5e81ac;--accent-ink:#96b5d4;--forge:#e5e9f0;--bronze:#c9a66b;--amber:#ebcb8b;--amber-dim:#a88a4e;--mustard:#ebcb8b;--labor-override:#eaff3a;--cyan:#88c0d0;--green:#a3be8c;--red:#bf616a;--violet:#b48ead;--blue:#81a1c1;--labor:#d08770;--sel:#81a1c14d;--hover:#eceff416;--zebra:#eceff40b;--band:#3d4557;--cat:#424b5e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-0);color:var(--tx-0);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:13px;line-height:1.45}::selection{background:#5e81ac38}*{scrollbar-width:thin;scrollbar-color:#c4cddb transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{border:2px solid var(--bg-0);background:#c4cddb;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#b0bbcd}a{color:var(--blue);text-decoration:none}.app{grid-template:"topbar"48px"main"1fr"status"26px/1fr;height:100vh;display:grid;overflow:hidden}.app.popout{grid-template-rows:26px 1fr;grid-template-areas:"topbar""main"}.popout-bar{background:var(--bg-1);border-bottom:1px solid var(--line);grid-area:topbar;align-items:center;gap:8px;min-width:0;padding:0 10px;font-size:11.5px;display:flex}.popout-no{font:700 12px/1 var(--font-mono);color:var(--tx-0);flex:none}.popout-title{color:var(--tx-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.popout-hint{color:var(--tx-3);flex:none;margin-left:auto;font-size:11px}.popout-body{grid-area:main;min-width:0;min-height:0;display:flex;overflow:hidden}.popout-body>*{flex:1;min-width:0;min-height:0}.app.popout .takeoff{height:calc(100vh - 26px)}.navtab.close-job{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:500}.navtab.close-job svg{color:var(--green)}.navtab.close-job:hover{background:var(--sel)}.owner-badge{border:1px solid var(--bronze);background:var(--bg-1);height:28px;color:var(--forge);letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:default;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #2e344014,inset 0 1px #ffffff73}.owner-badge svg{width:15px;height:15px;color:var(--bronze);flex:none}.owner-badge .ob-role{text-transform:uppercase;letter-spacing:.07em;font-size:11px}.owner-badge .ob-email{color:var(--tx-2);text-overflow:ellipsis;border-left:1px solid var(--line-strong);max-width:190px;margin-left:1px;padding-left:8px;font-size:11.5px;font-weight:500;overflow:hidden}@media (width<=980px){.owner-badge .ob-email{display:none}}.section-scrim{z-index:60;position:fixed;inset:0}.section-menu{z-index:61;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:8px;flex-direction:column;gap:1px;min-width:210px;max-width:290px;padding:5px;display:flex;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 14px 36px #2e344042}.section-item{text-align:left;width:100%;color:var(--tx-1);cursor:pointer;border-radius:var(--r);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.section-item svg{width:16px;height:16px;color:var(--tx-2);flex:none}.section-item:hover{background:var(--bg-2);color:var(--tx-0)}.section-item.on{background:var(--sel);color:var(--accent-ink);font-weight:600}.section-item.on svg{color:var(--accent)}.section-item .badge{margin-left:auto}.section-menu .section-sep{background:var(--line);height:1px;margin:5px 2px}.section-item.danger:hover{background:color-mix(in srgb, var(--red) 14%, transparent);color:var(--red)}.section-item.danger:hover svg{color:var(--red)}.section-acct{cursor:default;flex-direction:column;gap:2px;padding:7px 10px 8px;display:flex}.section-acct .sa-label{text-transform:uppercase;letter-spacing:.07em;color:var(--tx-3);font-size:10.5px}.section-acct .sa-email{color:var(--tx-0);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:600;overflow:hidden}.section-acct .sa-role{text-transform:uppercase;letter-spacing:.07em;color:var(--tx-2);background:var(--bg-2);border:1px solid var(--line);border-radius:999px;align-self:flex-start;margin-top:3px;padding:1px 7px;font-size:10px;font-weight:700}.topbar-sheet{align-items:center;gap:8px;min-width:0;max-width:50%;display:flex;position:absolute;left:50%;transform:translate(-50%)}.topbar-sheet .t-no{flex:none;font-weight:700}.topbar-sheet .t-title{color:var(--tx-2);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12.5px;overflow:hidden}.global-menu{flex:none;align-items:center;display:flex;position:relative}.global-menu .menu-btn{height:32px;padding:0 9px}.navtab.close-job svg,.global-menu .menu-btn svg{width:14px;height:14px}.global-menu .menu-btn svg{color:var(--tx-1)}.global-menu .menu-btn:hover svg,.global-menu .menu-btn.open svg{color:var(--tx-0)}.section-menu.right{left:auto;right:0}.job-nav{z-index:44;background:var(--bg-1);border-bottom:1px solid var(--line);flex:none;align-items:stretch;gap:2px;height:36px;padding:0 10px;display:flex;position:sticky;top:0}.job-nav .jn-tab{cursor:pointer;white-space:nowrap;color:var(--tx-1);letter-spacing:.07em;text-transform:uppercase;background:0 0;border:2px solid #0000;border-left:none;border-right:none;align-items:center;gap:6px;padding:0 13px;font-size:11.5px;font-weight:700;display:inline-flex}.job-nav .jn-right{align-items:center;gap:8px;margin-left:auto;display:flex}.job-nav .jn-right .jn-portal{display:contents}.takeoff-canvas-wrap.chg-scoped{outline:2px solid var(--amber);outline-offset:-2px}.job-nav .jn-right .navtab,.job-nav .jn-right .jn-sep,.job-nav .jn-right .wordmark-pair,.job-nav .jn-right .wm-nordix{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:500;line-height:1}.job-nav .jn-right .navtab{padding:0 8px}.job-nav .jn-right .jn-sep{color:var(--green);-webkit-user-select:none;user-select:none;opacity:.7}.job-nav .jn-right .navtab.dev-mode,.job-nav .jn-right .navtab.dev-mode svg{color:#b5893f}.job-nav .jn-right .navtab.dev-mode.on{background:var(--sel);color:var(--accent-ink)}.job-nav .jn-right .navtab.dev-mode.on svg{color:var(--accent)}.job-nav .jn-tab:hover{background:var(--bg-2);color:var(--tx-0)}.job-nav .jn-tab.on{color:var(--accent-ink);border-bottom-color:var(--accent)}.job-nav .jn-tab svg{opacity:.7}.job-nav .jn-more{align-items:stretch;display:flex;position:relative}.job-nav~.takeoff{height:calc(100vh - 110px)}.dev-bar{z-index:30;background:var(--bg-1);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;height:44px;padding:0 12px;display:flex;position:sticky;top:0;box-shadow:inset 0 2px #b5893f8c}.dev-tag{letter-spacing:.07em;text-transform:uppercase;color:#b5893f;background:#b5893f1a;border:1px solid #b5893f66;border-radius:6px;flex:none;align-items:center;gap:6px;padding:3px 9px;font-size:10.5px;font-weight:800;display:inline-flex}.dev-tabs{align-items:center;gap:3px;min-width:0;display:flex;overflow-x:auto}.dev-tab{white-space:nowrap;cursor:pointer;height:30px;color:var(--tx-1);background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.dev-tab svg{width:15px;height:15px;color:var(--tx-2);flex:none}.dev-tab:hover{background:var(--bg-2);color:var(--tx-0)}.dev-tab.on{background:var(--bg-2);color:var(--accent);border-color:var(--line-strong)}.dev-tab.on svg{color:var(--accent)}.navtab.dev-enter,.navtab.dev-enter svg{color:#b5893f}.topbar{background:var(--bg-1);border-bottom:1px solid var(--line);z-index:45;grid-area:topbar;align-items:center;gap:12px;padding:0 12px;display:flex;position:relative}.wordmark-pair{letter-spacing:-.025em;flex:none;align-items:baseline;gap:8px;font-family:Archivo,Inter,system-ui,sans-serif;font-size:15px;font-weight:400;line-height:1;display:flex}.wordmark-pair a{text-decoration:none}.wordmark-pair .wm-nordix{color:var(--amber)}.wordmark-pair a:hover{opacity:.8}.brand-inline{flex:none;align-items:center;gap:9px;padding-right:6px;display:flex}.brand-inline .mark{background:linear-gradient(165deg, #6b8cb6 0%, var(--accent) 45%, var(--forge) 100%);color:#fff;border-radius:2px;place-items:center;width:24px;height:24px;display:grid;box-shadow:inset 0 1px #ffffff47,inset 0 -1px #2d34404d,0 1px 1px #2d34402e}.brand-inline .mark svg{filter:drop-shadow(0 1px #2d344059);width:15px;height:15px}.brand-inline .name{font-family:var(--font-display);letter-spacing:.13em;color:var(--tx-1);text-shadow:0 1px #fff9;font-size:22px;font-weight:600}.brand-inline .name b{color:var(--forge);font-weight:700}.navtab{border-radius:var(--r);height:32px;color:var(--tx-1);font-size:13px;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:none;align-items:center;gap:7px;padding:0 12px;display:flex}.navtab:hover{background:var(--bg-2);color:var(--tx-0)}.navtab.on{background:var(--sel);color:var(--accent-ink);font-weight:600}.navtab svg{width:15px;height:15px;color:var(--tx-2)}.navtab.on svg{color:var(--accent)}.navtab .badge{font-family:var(--font-mono);color:var(--tx-1);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:0 6px;font-size:10px}.topbar .spacer{flex:1}kbd{font-family:var(--font-mono);color:var(--tx-1);background:var(--bg-2);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:3px;padding:1px 5px;font-size:10px}.main{background:var(--bg-0);grid-area:main;min-width:0;min-height:0;overflow:auto}.page{padding:18px var(--gutter) 40px;max-width:1640px}.page.jobs-page{margin-left:auto;margin-right:auto}.page.lib-page{max-width:none}.statusbar{background:var(--bg-1);border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--tx-2);grid-area:status;align-items:center;gap:16px;padding:0 12px;font-size:11px;display:flex}.statusbar .seg{align-items:center;gap:6px;display:flex}.statusbar .seg.job{color:var(--tx-0);font-weight:600}.statusbar .spacer{flex:1}.statusbar .seg.acct{min-width:0}.statusbar .seg.acct svg{color:var(--tx-3);flex:none}.statusbar .acct-email{text-overflow:ellipsis;white-space:nowrap;max-width:26ch;overflow:hidden}.dot{background:var(--tx-3);border-radius:50%;width:7px;height:7px}.dot.ok{background:var(--green)}.dot.warn{background:var(--amber)}.dot.err{background:var(--red)}.rail-resize{cursor:col-resize;z-index:2;background:0 0;flex:none;width:5px;transition:background .1s;position:relative}.rail-resize:before{content:"";position:absolute;inset:0 -4px}.rail-resize:hover,.rail-resize.dragging{background:var(--accent);opacity:.5}.page-head{border-bottom:1px solid var(--line);align-items:flex-end;gap:16px;margin-bottom:18px;padding-bottom:13px;display:flex;position:relative}.page-head:after{content:"";background:var(--bronze);opacity:.85;width:46px;height:2px;position:absolute;bottom:-1px;left:0}.page-head .titles h1{font-family:var(--font-display);letter-spacing:.005em;color:var(--forge);text-shadow:0 1px #ffffffb3;margin:0;font-size:22px;font-weight:600}.page-head .titles p{color:var(--tx-2);margin:5px 0 0;font-size:12.5px}.page-head .actions{gap:8px;margin-left:auto;display:flex}.btn{background:var(--bg-1);border:1px solid var(--line-strong);height:30px;color:var(--tx-0);border-radius:var(--r);cursor:pointer;align-items:center;gap:7px;padding:0 13px;font-size:12.5px;font-weight:500;display:inline-flex}.btn:hover{background:var(--bg-2);border-color:#b0bbcd}.btn svg{width:14px;height:14px}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.btn.primary:hover{background:#54739c}.btn.ghost{color:var(--tx-1);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-2);color:var(--tx-0)}.btn.danger{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}.btn.danger:hover{filter:brightness(.92)}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar{align-items:center;gap:8px;margin-bottom:12px;display:flex}.seg-group{border:1px solid var(--line-strong);border-radius:var(--r);display:flex;overflow:hidden}.seg-group button{background:var(--bg-1);height:30px;color:var(--tx-1);cursor:pointer;border:none;border-right:1px solid var(--line-strong);padding:0 13px;font-size:12.5px}.seg-group button:last-child{border-right:none}.seg-group button.on{background:var(--accent);color:#fff;font-weight:600}.grow{flex:1}.input{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);height:30px;color:var(--tx-0);font-size:12.5px;font-family:var(--font-ui);padding:0 11px}.input::placeholder{color:var(--tx-3)}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5e81ac26}.panel{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 1px 2px #0003,0 4px 12px #00000021}.panel>.panel-head{border-bottom:1px solid var(--line);background:var(--bg-2);align-items:center;gap:10px;height:38px;padding:0 13px;display:flex}.panel>.panel-head h3{letter-spacing:.02em;margin:0;font-size:12.5px;font-weight:600}.panel>.panel-head .sub{color:var(--tx-2);font-size:11px;font-family:var(--font-mono)}.panel>.panel-head .right{align-items:center;gap:8px;margin-left:auto;display:flex}.panel-body{padding:13px}.ledger{background:var(--bg-inset);border-top:2px solid var(--bronze);border-bottom:1px solid var(--line-strong);align-items:stretch;margin-bottom:14px;display:flex;box-shadow:inset 0 1px #fff9}.led-stat{text-align:left;border:none;border-right:1px solid var(--line);cursor:pointer;min-width:0;font-family:var(--font-ui);background:0 0;flex-direction:column;flex:1;gap:4px;padding:12px 18px;transition:background .1s;display:flex;position:relative}.led-stat:last-child{border-right:none}.led-stat:hover{background:#ffffff8c}.led-stat.on{background:var(--bg-1)}.led-stat.on:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.led-val{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--tx-0);font-size:26px;font-weight:700;line-height:1}.led-lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--tx-2);margin-top:4px;font-size:10px}.led-ctx{font-family:var(--font-mono);color:var(--tx-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.led-stat.green .led-val{color:var(--green)}.led-stat.amber .led-val{color:var(--amber)}.led-stat.red .led-val{color:var(--red)}.led-stat.red .led-ctx{color:var(--red);font-weight:700}.led-stat.accent .led-val{color:var(--accent-ink)}.led-stat.cyan .led-val{color:var(--cyan)}@media (width<=900px){.ledger{flex-wrap:wrap}.led-stat{flex:50%}.led-stat:nth-child(2){border-right:none}}.dash-main{grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:12px;margin-bottom:12px;display:grid}.dash-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}@media (width<=1180px){.dash-main,.dash-row{grid-template-columns:1fr}}.view-switch{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.dash-split{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 320px;align-items:stretch;gap:12px;min-height:calc(100vh - 360px);margin-bottom:16px;display:grid}.dash-split>.panel{flex-direction:column;min-height:0;display:flex}.dash-split>.panel>.panel-head{flex:none}.dash-side{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.dash-side>.panel{min-height:0}.dash-side>.panel:first-child{flex:none}.dash-side>.panel:last-child{flex-direction:column;flex:auto;display:flex;overflow:hidden}.dash-side>.panel:last-child>.panel-head{flex:none}.dash-side>.panel:last-child>.feed{flex:auto;min-height:0;overflow-y:auto}@media (width<=1180px){.dash-split{grid-template-rows:none;grid-template-columns:1fr;align-items:start;min-height:0}.dash-side,.dash-side>.panel:last-child{min-height:auto;overflow:visible}.dash-side>.panel:last-child>.feed{overflow-y:visible}.cal-grid{grid-auto-rows:minmax(80px,auto);overflow:visible}}.panel-soon{letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);border:1px solid var(--line);background:var(--bg-1);cursor:default;border-radius:8px;padding:2px 9px;font-size:10px;font-weight:700}.seg-group.sm button{height:25px;padding:0 12px;font-size:12px}.cal{flex-direction:column;flex:auto;min-height:0;padding:0;display:flex}.cal-nav-group{align-items:center;gap:6px;display:flex}.cal-title{font-family:var(--font-display);color:var(--forge);text-align:center;white-space:nowrap;min-width:118px;font-size:13.5px;font-weight:600}.cal-nav{border:1px solid var(--line-strong);background:var(--bg-1);border-radius:var(--r);cursor:pointer;width:22px;height:22px;color:var(--tx-1);flex:none;place-items:center;display:grid}.cal-nav:hover{background:var(--bg-2)}.cal-nav svg{width:13px;height:13px}.cal-grid{background:var(--line-soft);border:none;border-radius:0;flex:auto;grid-template-rows:auto;grid-template-columns:repeat(5,1fr);grid-auto-rows:1fr;gap:1px;min-height:0;display:grid;overflow:auto}.cal-dow{background:var(--bg-2);text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-2);padding:5px 0;font-size:10px;font-weight:600}.cal-cell{background:var(--bg-1);flex-direction:column;gap:2px;min-height:86px;padding:4px 5px;display:flex}.cal-cell.out{background:var(--bg-inset)}.cal-cell.out .cal-num{color:var(--tx-3)}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--accent)}.cal-num{font-family:var(--font-mono);color:var(--tx-2);align-self:flex-end;font-size:11px}.cal-cell.today .cal-num{color:var(--accent-ink);font-weight:700}.cal-bid{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:5px;width:100%;padding:1px 4px;display:flex}.cal-bid:hover{background:var(--bg-2)}.cdot{background:var(--tx-3);border-radius:50%;flex:none;width:6px;height:6px}.cal-bid .cnm{color:var(--tx-1);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.cal-more{color:var(--tx-3);font-size:10px;font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0 0 0 4px}.cal-more:hover{color:var(--tx-1);text-decoration:underline}.cal-weekend{border-top:1px dashed var(--line-strong);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:8px 12px;display:flex}.cal-weekend .cw-lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-2);font-size:10px;font-weight:600}.cal-weekend .cal-bid{border:1px solid var(--line);gap:6px;width:auto;padding:2px 6px}.cal-weekend .cw-date{font-family:var(--font-mono);color:var(--tx-3);font-size:10px}.cdot.green{background:var(--green)}.cdot.amber{background:var(--amber)}.cdot.cyan{background:var(--cyan)}.cdot.red{background:var(--red)}.cdot.violet{background:var(--violet)}.cdot.blue{background:var(--blue)}.cdot.slate{background:var(--tx-2)}.agenda-empty{color:var(--tx-2);justify-content:center;align-items:center;gap:9px;padding:26px 14px;font-size:12.5px;display:flex}.agenda-empty svg{width:16px;height:16px;color:var(--tx-3)}.funnel{flex-direction:column;gap:8px;padding:12px 13px;display:flex}.fn-row{cursor:pointer;font-family:var(--font-ui);background:0 0;border:none;grid-template-columns:78px 1fr auto;align-items:center;gap:10px;padding:0;display:grid}.fn-name{color:var(--tx-1);text-align:left;font-size:12px}.fn-row:hover .fn-name{color:var(--accent-ink)}.fn-track{background:var(--bg-2);border:1px solid var(--line);border-radius:3px;height:16px;overflow:hidden}.fn-fill{background:var(--tx-3);opacity:.85;border-radius:2px;height:100%;display:block}.fn-fill.green{background:var(--green)}.fn-fill.amber{background:var(--amber)}.fn-fill.cyan{background:var(--cyan)}.fn-fill.red{background:var(--red)}.fn-fill.blue{background:var(--blue)}.fn-fill.violet{background:var(--violet)}.fn-fill.slate{background:var(--tx-2)}.fn-meta{font-family:var(--font-mono);color:var(--tx-2);white-space:nowrap;font-size:11px}.fn-meta b{color:var(--tx-0)}.feed{flex-direction:column;padding:4px 12px;display:flex}.fd-row{text-align:left;border:none;border-bottom:1px solid var(--line-soft);cursor:pointer;width:100%;font-family:var(--font-ui);background:0 0;align-items:center;gap:9px;padding:7px 0;display:flex}.fd-row:last-child{border-bottom:none}.fd-row:hover .fd-txt{color:var(--tx-0)}.fd-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.fd-txt{min-width:0;color:var(--tx-1);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.fd-txt b{color:var(--tx-0);font-weight:600}.fd-when{font-family:var(--font-mono);color:var(--tx-3);flex:none;font-size:10.5px}.panel>.panel-head .right:only-child{width:100%;margin-left:0}.rail-tabs{align-items:center;gap:10px;width:100%;display:flex}.rail-tabs .seg-group.sm button{white-space:nowrap;align-items:center;padding:0 9px;display:inline-flex}.rail-tabs .sub{white-space:nowrap;margin-left:auto}.nav-badge{background:var(--red);color:#fff;border:1px solid var(--bg-0);min-width:15px;height:15px;font-family:var(--font-mono);border-radius:8px;place-items:center;padding:0 4px;font-size:9.5px;font-weight:700;line-height:1;display:grid;position:absolute;top:2px;right:2px}.menu-btn{position:relative}.section-item .nav-badge{margin-left:auto;position:static}.tab-badge{background:var(--red);color:#fff;min-width:16px;height:16px;font-family:var(--font-mono);border-radius:8px;place-items:center;margin-left:6px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-grid}.seg-group button.on .tab-badge{color:var(--accent);background:#fff}.co-row{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:3px;padding:8px 0;display:flex}.co-row:last-child{border-bottom:none}.co-row.is-new{background:color-mix(in srgb, var(--accent) 7%, transparent);margin:0 -12px;padding-left:12px;padding-right:12px}.co-new{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.co-assign{max-width:150px;height:20px;font-size:11px;font-family:var(--font-ui);color:var(--accent-ink);background:var(--bg-1);border:1px solid var(--line-strong);cursor:pointer;vertical-align:middle;border-radius:3px;margin-left:6px;padding:0 4px}.co-assign:disabled{color:var(--tx-3);cursor:default}.co-fail{color:var(--red);font-size:11px;display:block}.co-row:hover .co-title{color:var(--tx-0)}.co-top{min-width:0;color:inherit;cursor:pointer;align-items:center;gap:7px;text-decoration:none;display:flex}.co-num{font-family:var(--font-mono);color:var(--accent-ink);flex:none;font-size:10.5px}.co-title{min-width:0;color:var(--tx-1);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.co-amt{font-family:var(--font-mono);color:var(--tx-0);flex:none;font-size:11.5px;font-weight:600}.co-meta{min-width:0;color:var(--tx-3);align-items:center;gap:4px;font-size:11px;display:flex}.co-meta-txt{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.co-dot{flex:none}.co-who{color:var(--tx-1);flex:none;font-weight:600}.co-more{color:var(--accent-ink);padding:9px 0 4px;font-size:11.5px;text-decoration:none;display:block}.co-more:hover{text-decoration:underline}.co-note{color:var(--tx-2);padding:18px 14px;font-size:12px;line-height:1.5}.pending{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--tx-3);font-size:10px;font-weight:600}.home-welcome{text-align:center;place-items:center;padding:56px 40px;display:grid}.home-welcome .hw-mark{background:var(--bg-2);width:54px;height:54px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:16px;display:grid}.home-welcome .hw-mark svg{width:27px;height:27px}.home-welcome h2{font-family:var(--font-display);color:var(--forge);margin:0 0 8px;font-size:20px;font-weight:600}.home-welcome p{color:var(--tx-2);max-width:420px;margin:0 0 18px;line-height:1.6}.stats{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:11px;margin-bottom:18px;display:grid}.stat{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px}.stat .k{letter-spacing:.12em;text-transform:uppercase;color:var(--tx-2);font-size:10px}.stat .v{font-family:var(--font-mono);color:var(--tx-0);margin-top:6px;font-size:23px;font-weight:700}.stat .v small{color:var(--tx-2);font-size:12px;font-weight:400}.stat.accent .v{color:var(--amber)}.stat.cyan .v{color:var(--cyan)}.stat.green .v{color:var(--green)}.stat .delta{color:var(--tx-2);font-size:11px;font-family:var(--font-mono);margin-top:4px}.tbl-wrap{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);overflow:auto}table.tbl{border-collapse:collapse;width:100%;font-size:13px}table.tbl thead th{z-index:1;background:var(--bg-2);text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-1);border-bottom:2px solid var(--line-strong);white-space:nowrap;padding:9px 12px;font-size:10.5px;font-weight:700;position:sticky;top:0}table.tbl thead th.num{text-align:right}.jobs-page table.tbl thead th{box-shadow:inset 0 -2px 0 var(--line-strong);border-bottom:none}table.tbl tbody td{height:var(--row-h);border-bottom:1px solid var(--line-soft);color:var(--tx-0);white-space:nowrap;vertical-align:middle;padding:0 12px}table.tbl tbody tr.grp-header td{background:var(--cat);border-top:2px solid var(--line-strong);box-shadow:inset 3px 0 0 var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none}table.tbl tbody tr.grp-header:hover td{background:var(--sel)}table.tbl tbody tr:hover td{background:var(--hover)}table.tbl.zebra tbody tr:nth-child(2n) td{background:var(--zebra)}table.tbl.zebra tbody tr:hover td{background:var(--hover)}table.tbl.compact tbody td{height:26px;padding:0 8px;font-size:12.5px}table.tbl.compact thead th{padding:4px 8px}table.tbl.compact tbody td .btn{height:21px;padding:0 8px;font-size:11.5px}table.tbl th.sep,table.tbl td.sep{border-left:1px solid var(--line)}table.tbl.grid thead th,table.tbl.grid tbody td,table.tbl.grid tfoot td{border-right:1px solid var(--line)}table.tbl.grid thead th:last-child,table.tbl.grid tbody td:last-child,table.tbl.grid tfoot td:last-child{border-right:none}table.tbl.grid th.sep,table.tbl.grid td.sep{border-left:2px solid var(--line-strong)}.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num.qty{color:var(--cyan)}.num.money{color:var(--green)}.num.money.total{font-weight:700}.num.labor{color:var(--labor)}.num.labor.total{font-weight:700}.basis{text-align:center;min-width:20px;font-family:var(--font-mono);color:var(--tx-2);font-size:12px;display:inline-block}td.edit select.ce{font-family:var(--font-mono);appearance:none;padding:0 4px}td.edit select.ce:hover,td.edit select.ce:focus{border-color:var(--line);background:var(--bg-1)}th.bcell,td.bcell{text-align:center}td.bcell select.ce{text-align:center;text-align-last:center}table.tbl td.edit{padding:0 4px}.ce{width:100%;height:26px;color:inherit;font:inherit;cursor:text;background:0 0;border:1px solid #0000;border-radius:3px;padding:0 7px;font-size:13px}.ce.num{text-align:right;font-family:var(--font-mono)}.ce.name{font-weight:600}.ce.money{color:var(--green)}.ce.labor{color:var(--labor)}.ce:hover{background:var(--bg-2);border-color:var(--line)}.ce:focus{border-color:var(--accent);cursor:text;background:#fff;outline:none;box-shadow:0 0 0 2px #5e81ac2e}select.ce{cursor:pointer;font-family:var(--font-mono);text-align:center;padding:0 2px;font-size:11px}.editable-hint{color:var(--accent-ink)}.unit{color:var(--tx-2);text-transform:none;font-size:11.5px}td.id,.cell-id{font-family:var(--font-mono);color:var(--tx-2);font-size:11px}.cell-name{color:var(--tx-0);font-weight:600}.mono{font-family:var(--font-mono)}.muted{color:var(--tx-2)}table.tbl tfoot td{background:var(--bg-2);border-top:2px solid var(--line-strong);font-family:var(--font-mono);padding:11px 12px;font-weight:700;position:sticky;bottom:0}tr.grp-row td{background:var(--band);border-bottom:1px solid var(--line-strong);border-top:1px solid var(--line-strong);height:30px}tr.grp-row:hover td{background:var(--band)}tr.cat-head td{background:var(--cat);border-top:2px solid var(--line-strong);border-bottom:1px solid var(--line);height:38px}tr.cat-head:first-child td{border-top:none}tr.cat-head:hover td{background:var(--cat)}tr.cat-head td.lead{border-left:3px solid var(--accent);padding-left:13px}.cat-name{color:var(--tx-0);align-items:center;gap:9px;font-size:13px;font-weight:700;display:inline-flex}.cat-name .swatch{border-radius:2px;flex:none;width:9px;height:9px}.cat-count{color:var(--tx-2);font-family:var(--font-mono);margin-left:13px;font-size:11px}.cat-share{vertical-align:middle;align-items:center;gap:8px;margin-left:16px;display:inline-flex}.cat-share .track{background:var(--bg-3);border-radius:3px;width:130px;height:6px;overflow:hidden}.cat-share .fill{opacity:.85;border-radius:3px;height:100%}.cat-share .pct{font-family:var(--font-mono);color:var(--tx-2);font-size:11px}.share{justify-content:flex-end;align-items:center;gap:8px;display:flex}.share .track{background:var(--bg-3);border-radius:3px;width:70px;height:6px;overflow:hidden}.share .fill{background:var(--green);opacity:.55;border-radius:3px;height:100%}.share .pct{font-family:var(--font-mono);color:var(--tx-2);text-align:right;width:38px;font-size:11px}.tag{letter-spacing:.04em;border:1px solid var(--line-strong);height:19px;color:var(--tx-1);background:var(--bg-2);text-transform:uppercase;border-radius:3px;align-items:center;gap:5px;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.tag svg{width:11px;height:11px}.tag.amber{color:#8a6516;background:#f7efdb;border-color:#e0c98f}.tag.cyan{color:var(--cyan);background:#e2f1f3;border-color:#a9d2d9}.tag.green{color:var(--green);background:#e8f0df;border-color:#b6cda0}.tag.violet{color:var(--violet);background:#f3e7f0;border-color:#d4b9cf}.tag.blue{color:var(--blue);background:#e6edf6;border-color:#b3c4dc}.tag.red{color:var(--red);background:#f6e3e4;border-color:#e0adb1}.tag.slate{color:var(--tx-2);border-color:color-mix(in srgb, var(--tx-2) 35%, transparent);background:color-mix(in srgb, var(--tx-2) 12%, transparent)}.contract-btn{border:1px solid var(--line-strong);border-radius:var(--r);letter-spacing:.05em;white-space:nowrap;cursor:pointer;color:var(--blue);background:#e6edf6;border-color:#b3c4dc;justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.contract-btn:hover:not(:disabled){background:#dbe6f3;border-color:#9db3d1}.contract-btn.co{color:#8a6516;background:#f7efdb;border-color:#e0c98f}.contract-btn.co:hover:not(:disabled){background:#f2e6c9;border-color:#d4b877}.contract-btn:disabled{cursor:default}.contract-btn .cv{opacity:.65;font-size:9px}.to-canvas-bar.to-context-bar{background:var(--bg-2);z-index:8;flex-wrap:wrap;align-items:center;gap:6px 14px;height:auto;min-height:38px;padding:5px 12px;display:flex;position:relative}.to-context-bar .cb-cell{flex-direction:row;flex:auto;align-items:center;gap:6px;min-width:0;max-width:260px;display:flex;position:relative}.to-context-bar .cb-cell>.bar-chip{flex:auto;min-width:64px}.to-context-bar .cb-sep{background:var(--line-strong);opacity:.7;flex:0 0 1px;align-self:center;width:1px;height:22px;margin-left:auto}.to-context-bar .cb-cell.cb-view{flex:none;min-width:0;max-width:none}.to-context-bar .cb-cell.cb-view .bar-chip{background:var(--sel);border-color:var(--blue);color:var(--blue);font-weight:700}.to-context-bar .cb-cell.cb-view .bar-chip:hover{background:var(--sel);border-color:var(--blue);color:var(--blue);filter:brightness(1.06)}.to-context-bar .cb-cell.cb-view .cb-caret{opacity:.9}.to-context-bar .cb-label{letter-spacing:.6px;color:var(--tx-3);white-space:nowrap;flex:none;font-size:9.5px;font-weight:700}.to-context-bar .cb-cell .bar-chip{justify-content:space-between;width:100%;max-width:none}.to-context-bar .cb-val{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.to-context-bar .cb-caret{opacity:.65;flex:none;font-size:9px}.modal.breakdown-modal{flex-direction:column;width:min(1500px,96vw);max-width:none;height:min(84vh,900px);display:flex}.modal.breakdown-modal>:not(.bd-body):not(.bd-values){flex:none}.bd-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;padding:10px 16px;display:flex}.bd-tabs .seg-tab{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg-1);height:26px;color:var(--tx-1);cursor:pointer;padding:0 11px;font-size:12px;font-weight:600}.bd-tabs .seg-tab:hover{background:var(--bg-2);color:var(--tx-0)}.bd-tabs .seg-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.bd-body{flex:1;min-height:0;padding:0 4px 4px;overflow:auto}.bd-values{flex:1;min-height:0;padding:14px 16px;overflow:auto}.modal.bds-modal{resize:both;flex-direction:column;width:min(460px,92vw);min-width:320px;max-width:96vw;height:min(640px,88vh);min-height:260px;max-height:96vh;display:flex}.modal.bds-modal>:not(.bds-body){flex:none}.modal.bds-modal .modal-head{cursor:move;-webkit-user-select:none;user-select:none;height:38px;font-size:14px}.modal.bds-modal .modal-head .x{cursor:pointer}.bds-tabs{border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap;align-items:center;gap:3px;padding:7px 10px;display:flex}.bds-tabs .seg-tab{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);height:23px;color:var(--tx-2);cursor:grab;white-space:nowrap;align-items:center;gap:5px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.bds-tabs .seg-tab:hover{background:var(--bg-0);color:var(--tx-0)}.bds-tabs .seg-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.bds-count{opacity:.6;font-size:9.5px;font-weight:700;font-family:var(--font-mono)}.bds-top{border-bottom:1px solid var(--line);padding:8px 10px}.bds-body{flex:1;min-height:0;padding:4px 10px 10px;overflow:auto}.bds-head{align-items:baseline;gap:8px;padding:0 2px 6px;display:flex}.bds-head .muted{white-space:nowrap;font-size:11px}.bds-catname{min-width:0;height:24px;color:var(--tx-0);background:0 0;border-color:#0000;flex:1;padding:0 4px;font-size:13px;font-weight:700}.bds-catname:hover{border-color:var(--line);background:var(--bg-1)}.bds-catname:focus{border-color:var(--accent);background:var(--bg-1)}.bds-rows{flex-direction:column;display:flex}.bds-row{align-items:center;gap:4px;display:flex}.bds-drag+.bds-drag .bds-row{border-top:1px solid var(--line)}.bds-name{background:0 0;border-color:#0000;flex:1;min-width:0;height:26px;padding:0 5px;font-size:12.5px}.bds-name:hover{border-color:var(--line);background:var(--bg-1)}.bds-name:focus{border-color:var(--accent);background:var(--bg-1)}.bds-grip{text-align:center;cursor:grab;width:16px;color:var(--tx-3);-webkit-user-select:none;user-select:none;flex:none;font-size:12px;line-height:1}.bds-grip:active{cursor:grabbing}.bds-drag.dragging{opacity:.4}.bds-star,.bds-del{border-radius:var(--r);width:22px;height:22px;color:var(--tx-3);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;font-size:12px;line-height:1;display:grid}.bds-star{font-size:13px}.bds-star:hover,.bds-del:hover{background:var(--bg-2);color:var(--tx-1)}.bds-star.on{color:var(--amber)}.bds-del:hover{color:var(--red)}.bds-empty{margin:6px 4px 2px;font-size:12px}.bds-add{gap:5px;display:flex}.bds-add .input{flex:1;height:27px;font-size:12.5px}.bds-add .btn{height:27px;padding:0 12px}.bds-err{color:#8a2f24;background:#fdecea;border-bottom:1px solid #f3c7c1;align-items:center;gap:8px;padding:6px 10px;font-size:11.5px;display:flex}.bds-foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:7px 18px 7px 10px;display:flex}.bds-foot .muted{font-size:11px}.status-select{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line-strong);max-width:100%;height:19px;color:var(--tx-1);background:var(--bg-2);cursor:pointer;appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right 7px center,right 4px center;background-repeat:no-repeat;background-size:3px 3px,3px 3px;border-radius:3px;padding:0 18px 0 8px;font-size:10px;font-weight:700}.status-select:hover:not(:disabled){border-color:var(--accent)}.status-select:disabled{opacity:.55;cursor:default}.status-select option{text-transform:none;color:var(--tx-0);background:var(--bg-1)}.status-select.amber{color:#8a6516;background-color:#f7efdb;border-color:#e0c98f}.status-select.cyan{color:var(--cyan);background-color:#e2f1f3;border-color:#a9d2d9}.status-select.green{color:var(--green);background-color:#e8f0df;border-color:#b6cda0}.status-select.violet{color:var(--violet);background-color:#f3e7f0;border-color:#d4b9cf}.status-select.blue{color:var(--blue);background-color:#e6edf6;border-color:#b3c4dc}.status-select.red{color:var(--red);background-color:#f6e3e4;border-color:#e0adb1}.status-select.slate{color:var(--tx-2);border-color:color-mix(in srgb, var(--tx-2) 35%, transparent);background-color:color-mix(in srgb, var(--tx-2) 12%, transparent)}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:16px;display:flex}.tabs button{height:36px;color:var(--tx-2);cursor:pointer;background:0 0;border:none;padding:0 15px;font-size:12.5px;position:relative}.tabs button:hover{color:var(--tx-0)}.tabs button.on{color:var(--accent-ink);font-weight:600}.tabs button.on:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.banner{border-radius:var(--r);color:var(--tx-1);background:#faf4e4;border:1px solid #e0c98f;align-items:center;gap:10px;margin-bottom:16px;padding:10px 13px;font-size:12.5px;display:flex}.banner svg{width:16px;height:16px;color:var(--amber);flex:none}.banner.info{background:#eaf1f8;border-color:#b3c4dc}.banner.info svg{color:var(--blue)}.banner b{color:var(--tx-0)}.reauth-banner{z-index:60;border-radius:var(--r);color:var(--tx-1);background:#faf4e4;border:1px solid #e0c98f;align-items:center;gap:10px;max-width:min(92vw,620px);padding:8px 12px;font-size:12.5px;display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000024}.reauth-banner .btn{flex:none;height:26px;padding:0 10px;font-size:12px}.empty{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r);background:var(--bg-1);place-items:center;min-height:300px;padding:40px;display:grid}.empty .ico{width:42px;height:42px;color:var(--tx-3);margin-bottom:14px}.empty h3{font-family:var(--font-display);color:var(--forge);margin:0 0 6px;font-size:17px;font-weight:600}.empty p{color:var(--tx-2);max-width:470px;margin:0;line-height:1.6}.empty .phase{margin-top:16px}.split{gap:14px;display:grid}.split.c2{grid-template-columns:320px 1fr}.split.c3{grid-template-columns:250px 1fr 310px}.canvas-layout{grid-template-columns:260px 1fr 300px;gap:14px;height:calc(100vh - 110px);display:grid}.tree{font-size:12.5px}.tree .node{border-radius:var(--r);cursor:pointer;height:30px;color:var(--tx-1);white-space:nowrap;align-items:center;gap:8px;padding:0 8px;display:flex;position:relative;overflow:hidden}.tree .node>span:not(.meta):not(.sheetno){text-overflow:ellipsis;overflow:hidden}.tree .node:hover{background:var(--bg-2);color:var(--tx-0)}.tree .node.on{background:var(--sel);color:var(--accent-ink);font-weight:600}.tree .node .ic{width:15px;height:15px;color:var(--tx-2);flex:none}.tree .node.on .ic{color:var(--accent)}.tree .node .meta{font-family:var(--font-mono);color:var(--tx-3);margin-left:auto;font-size:10px}.tree .child{padding-left:32px}.tree .node .nm{cursor:pointer}.tree .node .twirl{width:14px;height:14px;color:var(--tx-3);cursor:pointer;border-radius:3px;flex:none;place-items:center;display:grid}.tree .node .twirl:hover{background:var(--bg-3);color:var(--tx-1)}.tree .node .twirl svg{width:11px;height:11px;transition:transform .12s;transform:rotate(-90deg)}.tree .node .twirl.open svg{transform:rotate(0)}.tree .node .nm{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tree .node .ncount{font-family:var(--font-mono);color:var(--tx-1);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;flex:none;margin-left:2px;padding:0 6px;font-size:10px}.tree .node:hover .ncount{background:var(--bg-3)}.tree .obj-row{height:24px;color:var(--tx-2);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:var(--r);align-items:center;gap:8px;padding:0 8px 0 36px;font-size:12px;display:flex;position:relative}.tree .obj-row.deep{padding-left:54px}.tree .obj-row.deep.has-anc{background-image:linear-gradient(var(--line), var(--line));background-position:20px 0;background-repeat:no-repeat;background-size:1px 100%}.tree .obj-row:hover{background-color:var(--bg-2)}.tree .obj-row:active{cursor:grabbing}.tree .obj-row.sel{background-color:var(--sel);color:var(--accent-ink);box-shadow:inset 2px 0 0 var(--accent)}.tree .obj-row.sel .obj-qty{color:var(--accent-ink)}.tree .obj-row.located{background-color:var(--bg-2);box-shadow:inset 2px 0 0 var(--accent)}.tree .obj-row .obj-key{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree .obj-row .obj-qty{font-family:var(--font-mono);color:var(--accent-ink);flex:none;font-size:11px;font-weight:600}.tree .obj-row .obj-qty .obj-of{color:var(--tx-3);font-weight:500}.nodes-tree .node .nm{color:var(--blue);font-weight:600}.nodes-tree .node.child .nm{color:var(--cyan)}.nodes-tree:not(.folder-rows) .node{background:var(--bg-2);border-bottom:1px solid var(--line)}.nodes-tree:not(.folder-rows) .node:hover{background:var(--bg-3)}.nodes-tree .obj-row .obj-key{color:var(--tx-1)}.nodes-tree .obj-row.sel .obj-key{color:var(--accent-ink)}.nodes-tree .obj-row{padding-left:44px}.nodes-tree .obj-row.deep{padding-left:62px}.nodes-tree .obj-row:after{width:19px}.nodes-tree .breakout-band{border-radius:var(--r);cursor:pointer;background:var(--bg-2);border:1px solid var(--line-strong);align-items:center;gap:6px;height:26px;margin:8px 0 2px;padding:0 8px;display:flex;position:relative}.nodes-tree .breakout-band:hover{background:var(--bg-3)}.nodes-tree .breakout-band .twirl{width:14px;height:14px;color:var(--tx-3);flex:none;place-items:center;display:grid}.nodes-tree .breakout-band .twirl svg{width:11px;height:11px;transition:transform .12s;transform:rotate(-90deg)}.nodes-tree .breakout-band .twirl.open svg{transform:rotate(0)}.nodes-tree .breakout-band .bo-cat{letter-spacing:.6px;color:var(--tx-3);flex:none;font-size:9px;font-weight:700}.nodes-tree .breakout-band .bo-val{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--green);flex:1;font-size:12px;font-weight:700;overflow:hidden}.nodes-tree .breakout-band .bo-val.unfiled{color:var(--tx-3);font-style:italic;font-weight:600}.nodes-tree .breakout-band .bo-val.gap{color:var(--red);font-style:normal;font-weight:700}.to-breakout-flag{white-space:nowrap;align-items:center;gap:5px;height:20px;margin-bottom:5px;padding:0 8px;display:flex;overflow:hidden}.to-breakout-flag .bof-state{border:1px solid var(--amber);min-width:0;height:17px;color:var(--amber);cursor:pointer;letter-spacing:.4px;text-overflow:ellipsis;background:0 0;border-radius:9px;flex:0 auto;align-items:center;gap:4px;padding:0 6px;font-size:9.5px;font-weight:700;display:inline-flex;overflow:hidden}.to-breakout-flag .bof-state svg{flex:none}.to-breakout-flag .bof-state:hover{background:var(--sel)}.to-breakout-flag .bof-gap{border:1px solid var(--red);background:color-mix(in srgb, var(--red) 12%, transparent);height:17px;color:var(--red);cursor:pointer;letter-spacing:.3px;border-radius:9px;flex:none;padding:0 6px;font-size:9.5px;font-weight:700}.to-breakout-flag .bof-gap:hover{background:color-mix(in srgb, var(--red) 22%, transparent)}.to-breakout-flag .bof-n{font-family:var(--font-mono);color:var(--tx-3);flex:none;margin-left:auto;font-size:10px}.to-breakout-flag .bof-clear{border:1px solid var(--line);border-radius:var(--r);height:17px;color:var(--tx-2);cursor:pointer;letter-spacing:.4px;background:0 0;flex:none;padding:0 6px;font-size:9.5px;font-weight:700}.to-breakout-flag .bof-clear:hover{background:var(--bg-3);color:var(--tx-0);border-color:var(--line-strong)}.modal-scrim.bo-scrim{background:#2e344029;place-items:start center;padding-top:6vh}.modal.bo-modal{resize:both;flex-direction:column;width:780px;max-width:94vw;height:560px;max-height:86vh;display:flex}.modal.bo-modal>:not(.bo-body){flex:none}.modal.bo-modal .modal-head{cursor:move;-webkit-user-select:none;user-select:none;height:38px;font-size:14px}.modal.bo-modal .modal-head .x{cursor:pointer}.bo-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:10px 12px;display:flex;overflow:hidden}.bo-sec{flex-direction:column;gap:5px;display:flex}.bo-sec.bo-grow{flex:1;min-height:0}.bo-cap{letter-spacing:.6px;color:var(--tx-3);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:700;overflow:hidden}.bo-cap-eff{letter-spacing:.2px;text-transform:none;font-weight:600}.bo-cap-group{color:var(--blue)}.bo-cap-filter{color:var(--amber)}.bo-shelf-group{border-color:color-mix(in srgb, var(--blue) 55%, transparent)}.bo-views{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:7px 12px;display:flex}.bo-views .input{min-width:0;height:24px;font-size:12px}.bo-views>select.input{flex:0 200px}.bo-views>input.input{flex:1}.bo-views .btn{flex:none;height:24px;padding:0 9px;font-size:11px}.bo-palette{flex-wrap:wrap;gap:6px;display:flex}.bo-shelf{border:1px dashed var(--line-strong);border-radius:var(--r);background:var(--bg-0);flex-wrap:wrap;align-items:flex-start;gap:8px;min-height:42px;padding:7px;display:flex}.bo-shelf.bo-over{border-color:var(--accent);background:var(--sel);border-style:solid}.bo-shelf.bo-blank{align-items:center}.bo-shelf-list{flex-wrap:wrap;gap:8px;display:flex}.bo-hint{color:var(--tx-3);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11.5px;font-style:italic;overflow:hidden}.bo-chip{border:1px solid var(--line-strong);background:var(--bg-1);height:26px;color:var(--tx-1);-webkit-user-select:none;user-select:none;border-radius:13px;align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex}.bo-chip-nm{white-space:nowrap;font-weight:600}.bo-grip{cursor:grab;color:var(--tx-3);flex:none;font-size:11px;line-height:1}.bo-grip:active{cursor:grabbing}.bds-drag.dragging .bo-chip{opacity:.4}.bo-chip.on{border-color:var(--blue);color:var(--blue);background:var(--bg-1)}.bo-lvl{background:var(--blue);width:15px;height:15px;color:var(--bg-1);border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.bo-palette .bo-chip{cursor:grab;padding-right:11px}.bo-palette .bo-chip:active{cursor:grabbing}.bo-palette .bo-chip.bo-live{border-color:var(--cyan);color:var(--cyan);font-weight:600}.bo-palette .bo-chip.bo-dim{color:var(--tx-3);border-color:var(--line)}.bo-palette .bo-chip:hover{background:var(--bg-2)}.bo-palette .bo-chip.bo-used{opacity:.45}.bo-mini{border:1px solid var(--line);height:17px;color:var(--tx-2);cursor:pointer;background:0 0;border-radius:4px;flex:none;padding:0 6px;font-size:10px;font-weight:600;line-height:1}.bo-mini:hover:not(:disabled){background:var(--bg-3);color:var(--tx-0);border-color:var(--line-strong)}.bo-mini:disabled{opacity:.35;cursor:default}.bo-sec-head{align-items:center;gap:5px;display:flex}.bo-sec-head .bo-cap{flex:1;min-width:0}.bo-bands{border:1px dashed color-mix(in srgb, var(--amber) 55%, transparent);border-radius:var(--r);background:var(--bg-0);flex:1;min-height:0;padding:5px 4px;overflow:auto}.bo-band{white-space:nowrap;border-radius:var(--r);cursor:default;align-items:center;gap:5px;height:22px;min-height:22px;padding-right:6px;font-size:11.5px;line-height:22px;display:flex;overflow:hidden}.bo-band:hover{background:var(--bg-2)}.bo-band input{accent-color:var(--amber);cursor:pointer;flex:none;margin:0}.bo-band input:disabled{cursor:not-allowed;opacity:.5}.bo-band-twirl{width:13px;height:13px;color:var(--tx-3);cursor:pointer;border-radius:3px;flex:none;place-items:center;display:grid}.bo-band-twirl.leaf{cursor:default}.bo-band-twirl:not(.leaf):hover{background:var(--bg-3);color:var(--tx-1)}.bo-band-twirl svg{width:10px;height:10px;transition:transform .12s;transform:rotate(-90deg)}.bo-band-twirl.open svg{transform:rotate(0)}.bo-band-dim{letter-spacing:.5px;color:var(--tx-3);flex:none;font-size:8.5px;font-weight:700}.bo-band-nm{text-overflow:ellipsis;min-width:0;color:var(--green);flex:1;font-weight:700;overflow:hidden}.bo-band-nm.unfiled{color:var(--tx-3);font-style:italic;font-weight:500}.bo-band-n{font-family:var(--font-mono);color:var(--cyan);flex:none;font-size:10px;font-weight:700}.bo-band.bo-none .bo-band-nm,.bo-band.bo-none .bo-band-n{color:var(--tx-3);font-weight:500}.bo-band.bo-off .bo-band-nm{color:var(--tx-3);text-decoration:line-through}.bo-band.bo-off .bo-band-dim,.bo-band.bo-off .bo-band-n{color:var(--tx-3);opacity:.7}.bo-band.bo-gap .bo-band-nm{color:var(--red);font-style:normal;font-weight:700}.bo-band.bo-gap .bo-band-n{color:var(--red)}.bo-band.bo-gap:hover{background:color-mix(in srgb, var(--red) 10%, transparent)}.bo-band.bo-gap.bo-off .bo-band-nm{color:var(--red);opacity:.9;text-decoration:line-through}.bo-foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:7px 18px 7px 12px;display:flex}.bo-foot .muted{font-size:11.5px}.tree .obj-row .obj-act{width:18px;height:18px;color:var(--mustard);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:none}.tree .obj-row:hover .obj-act{display:inline-flex}.tree .obj-row .obj-act:hover{background:var(--bg-3);color:color-mix(in srgb, var(--mustard) 75%, #fff)}.tree .obj-row:before,.tree .node.child:before{content:"";border-left:1px solid var(--line);position:absolute;top:0;bottom:0;left:20px}.tree .obj-row.deep:before{left:38px}.tree .obj-row:after,.tree .node.child:after{content:"";border-top:1px solid var(--line);width:11px;position:absolute;top:50%;left:20px}.tree .obj-row.deep:after{left:38px}.tree .obj-row.last:before{height:12px;bottom:auto}.tree .node.child.last-node:before{height:15px;bottom:auto}.nodes-tree .obj-row:before,.nodes-tree .node.child:before,.nodes-tree .obj-row:after,.nodes-tree .node.child:after{left:var(--rail,20px)}.tree .node .node-actions{flex:none;align-items:center;gap:4px;margin-left:6px;display:none;overflow:visible}.tree .node:hover .node-actions{display:flex}.tree:not(.nodes-tree) .node.child .node-actions{opacity:.5;display:flex}.tree:not(.nodes-tree) .node.child:hover .node-actions{opacity:1}.tree .node .node-actions button{white-space:nowrap;min-width:20px;height:20px;color:var(--tx-2);cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;place-items:center;padding:0 3px;display:grid}.tree .node .node-actions button:hover{background:var(--bg-3);color:var(--accent-ink)}.tree .node .node-actions button.danger:hover{color:var(--red);background:#bf616a24}.tree .node .node-actions svg{width:13px;height:13px}.nodes-tree .node .node-actions button{color:var(--accent-ink)}.nodes-tree .node .node-actions button:hover{background:var(--bg-3);color:var(--accent-ink)}.nodes-tree .node .node-actions button.danger{color:var(--red)}.nodes-tree .node .node-actions button.danger:hover{color:var(--red);background:#bf616a29}.tree .node[draggable=true]{cursor:grab}.tree .node.drop-target{background:var(--sel);outline:2px solid var(--accent);outline-offset:-2px}.tree .node.drop-before{box-shadow:inset 0 3px 0 -1px var(--accent)}.tree .node.drop-after{box-shadow:inset 0 -3px 0 -1px var(--accent)}.tree .node.viewing{background:var(--sel);color:var(--accent-ink);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.tree .node.viewing .ic,.tree .node.viewing .sheetno{color:var(--accent)}.tree .node.child.sel{background:var(--sel);box-shadow:inset 2px 0 0 var(--accent)}.tree .node.child.sel .sheetno{color:var(--accent-ink)}.tree .rev{cursor:pointer;height:26px;color:var(--tx-1);border-radius:var(--r);align-items:center;gap:8px;padding:0 8px 0 38px;display:flex}.tree .rev:hover{background:var(--bg-2)}.tree .rev.on{background:var(--sel);color:var(--accent-ink)}.tree .rev .rdot{border-radius:50%;flex:none;width:7px;height:7px}.tree .rev .lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.tree .rev .issued{text-align:right;white-space:nowrap;width:10ch;font-family:var(--font-mono);color:var(--tx-3);flex:none;font-size:10.5px}.tree .rev.on .issued{color:inherit;opacity:.7}.tree .rev .act{flex:none;justify-content:flex-end;align-items:center;width:62px;display:flex}.tree .node .sheetno{width:calc(var(--sheetno-w,56px) + 2px);white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-mono);color:var(--accent-ink);flex:none;font-size:11px;font-weight:600;overflow:hidden}.tree .node .sheettitle{min-width:0;color:var(--tx-1);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.canvas{background:linear-gradient(var(--line-soft) 1px, transparent 1px) 0 0 / 100% 30px, linear-gradient(90deg, var(--line-soft) 1px, transparent 1px) 0 0 / 30px 100%, var(--bg-inset);border:1px solid var(--line);border-radius:var(--r);position:relative;overflow:hidden}.canvas .stamp{border:2px solid var(--accent);cursor:pointer;background:#5e81ac40;border-radius:2px;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%)}.canvas .center-hint{color:var(--tx-3);pointer-events:none;text-align:center;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.props{font-size:12.5px}.prop{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:10px;padding:8px 0;display:flex}.prop .k{color:var(--tx-2)}.prop .v{color:var(--tx-0);font-family:var(--font-mono);text-align:right}.kv{grid-template-columns:160px 1fr;font-size:12.5px;display:grid}.kv .k{color:var(--tx-2);border-bottom:1px solid var(--line-soft);padding:9px 0}.kv .v{border-bottom:1px solid var(--line-soft);color:var(--tx-0);padding:9px 0}.field{margin-bottom:13px}.field label{color:var(--tx-2);letter-spacing:.03em;margin-bottom:5px;font-size:11px;display:block}.field input,.field select{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;height:32px;color:var(--tx-0);padding:0 11px;font-size:12.5px}.field input:focus,.field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5e81ac26}.loading{color:var(--tx-2);align-items:center;gap:10px;padding:24px;font-size:12.5px;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tool-rail{flex-direction:column;gap:4px;display:flex}.tool-rail .tool{border-radius:var(--r);height:32px;color:var(--tx-1);cursor:pointer;align-items:center;gap:10px;padding:0 8px;font-size:12.5px;display:flex}.tool-rail .tool:hover{background:var(--bg-2);color:var(--tx-0)}.tool-rail .tool.on{background:var(--sel);color:var(--accent-ink);font-weight:600}.tool-rail .tool svg{width:16px;height:16px}.tool-rail .tool.on svg{color:var(--accent)}.tool-rail .tool kbd{margin-left:auto}.modal.ledger-modal{width:94vw;min-width:820px;max-width:1480px}.modal.ledger-modal .modal-head{height:50px}.modal.ledger-modal .modal-body.ledger-body{gap:16px;height:72vh;max-height:760px;padding:18px;display:flex;overflow:hidden}.ledger-col{flex-direction:column;flex:3 1 0;gap:12px;min-width:0;display:flex}.assign-browser{flex:3 1 0;min-width:0}.assign-tabs{flex:none;gap:4px;margin-bottom:8px;display:flex}.assign-tabs .atab{border:1px solid var(--line);background:var(--bg-1);letter-spacing:.04em;text-transform:uppercase;height:28px;color:var(--tx-2);cursor:pointer;border-radius:6px;flex:1;font-size:11px;font-weight:700}.assign-tabs .atab:hover{background:var(--bg-2)}.assign-tabs .atab.on{background:var(--accent);border-color:var(--accent);color:#fff}.ledger-wrap.drop-active{outline:2px dashed var(--accent);outline-offset:-2px}.ledger-left{background:var(--bg-inset);border:1px solid var(--line);border-radius:6px;flex-direction:column;flex:none;gap:12px;min-width:0;padding:16px;display:flex}.modal.ledger-modal .ledger-left .field{grid-template-columns:84px 1fr;align-items:center;gap:6px 10px;margin:0;display:grid}.modal.ledger-modal .ledger-left .field>span{letter-spacing:.05em;text-transform:uppercase;color:var(--tx-2);text-align:left;white-space:nowrap;font-size:10px;font-weight:700}.modal.ledger-modal .ledger-left .field input,.modal.ledger-modal .ledger-left .field select{width:100%;height:34px}.modal.ledger-modal .ledger-left .field.field-notes{flex:none;align-items:stretch}.modal.ledger-modal .ledger-left .field.field-notes>span{align-self:start;padding-top:9px}.modal.ledger-modal .ledger-left .field.field-notes textarea{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;height:58px;min-height:58px;color:var(--tx-0);font:inherit;resize:none;padding:9px 11px;font-size:12.5px;line-height:1.55}.modal.ledger-modal .ledger-left .field input:focus,.modal.ledger-modal .ledger-left .field select:focus,.modal.ledger-modal .ledger-left .field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5e81ac26}.linear-info-card{z-index:44;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:10px;flex-direction:column;width:360px;display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 48px #2e344052}.linear-info-card .lic-head{background:var(--accent);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.linear-info-card .lic-head:active{cursor:grabbing}.linear-info-card .lic-head .x{cursor:pointer;opacity:.9;display:flex}.linear-info-card .lic-head .x:hover{opacity:1}.linear-info-card .lic-head .x svg{width:15px;height:15px}.linear-info-card .lic-body{flex-direction:column;gap:12px;padding:12px 14px;display:flex}.linear-info-card .field{grid-template-columns:84px 1fr;align-items:center;gap:6px 10px;margin:0;display:grid}.linear-info-card .field>span{letter-spacing:.05em;text-transform:uppercase;color:var(--tx-2);text-align:left;white-space:nowrap;font-size:10px;font-weight:700}.linear-info-card .field input,.linear-info-card .field select{width:100%;height:32px}.linear-info-card .field.field-notes{align-items:stretch}.linear-info-card .field.field-notes>span{align-self:start;padding-top:8px}.linear-info-card .field.field-notes textarea{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;height:56px;min-height:56px;color:var(--tx-0);font:inherit;resize:none;padding:8px 11px;font-size:12.5px;line-height:1.5}.linear-info-card .field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5e81ac26}.linear-info-card .lic-actions{border-top:1px solid var(--line);background:var(--bg-inset);gap:8px;padding:10px 14px;display:flex}.ledger-right{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.ledger-wrap{border:1px solid var(--line);background:var(--bg-1);border-radius:6px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ledger-head{background:var(--bg-2);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;height:48px;padding:0 14px;display:flex}.ledger-head>span:first-child{font-family:var(--font-display);color:var(--forge);font-size:14.5px;font-weight:600}.ledger-head .btn{height:30px;font-weight:600}.ledger-head .btn.ledger-add-mat{color:var(--cyan);border-color:#a9d2d9}.ledger-head .btn.ledger-add-mat:hover{background:#e2f1f3}.ledger-head .btn.ledger-add-asm{color:var(--violet);border-color:#d4b9cf}.ledger-head .btn.ledger-add-asm:hover{background:#f3e7f0}.ledger-wrap .tbl-wrap{background:var(--bg-1);border:none;border-radius:0;flex:1;min-height:0}table.ledger-tbl{table-layout:fixed;font-size:12.5px}table.ledger-tbl thead th{background:var(--bg-2);border-bottom:1px solid var(--line-strong);text-align:left;padding:6px 10px}table.ledger-tbl thead th.num{text-align:right}table.ledger-tbl tbody td{border-bottom:1px solid var(--line);height:27px;color:var(--tx-0);padding:0 10px}.ledger-tbl td.li-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ledger-tbl tbody tr:hover td{background:var(--hover)}.ledger-tbl tr.blank td{height:27px}.ledger-tbl tr.blank:hover td{background:0 0}.ledger-tbl .num.qty{color:var(--cyan);font-family:var(--font-mono);font-weight:700}.ledger-tbl td.edit{padding:0 3px}.ledger-tbl input.ce.num{text-align:right;border:1px solid var(--line);background:var(--bg-1);border-radius:2px;width:100%;height:23px;padding:0 6px;font-size:12px}.ledger-tbl input.ce.num:hover{border-color:var(--line-strong)}.ledger-tbl input.ce.num:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 2px #5e81ac2e}.ledger-tbl input[type=number]{appearance:textfield}.ledger-tbl input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ledger-tbl input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ledger-tbl tr.asm-head td{background:color-mix(in srgb, var(--tx-0) 6%, var(--bg-1));font-weight:600}.ledger-tbl tr.asm-comp td{background:color-mix(in srgb, var(--tx-0) 3%, var(--bg-1));color:var(--tx-1);height:24px;font-size:11.5px}.ledger-tbl td.li-name.comp{padding-left:26px}.ledger-tbl tr.asm-comp:hover td{background:color-mix(in srgb, var(--tx-0) 6%, var(--bg-1))}.ledger-tbl .twirl{cursor:pointer;width:15px;color:var(--tx-2);-webkit-user-select:none;user-select:none;font-size:9px;display:inline-block}.ledger-tbl thead th:last-child,.ledger-tbl tbody td:last-child{text-align:center;padding:0}.ledger-tbl .ar-del{width:26px;height:22px;color:var(--tx-3);cursor:pointer;background:0 0;border:none;border-radius:3px;place-items:center;display:inline-grid}.ledger-tbl .ar-del svg{width:15px;height:15px}.ledger-tbl .ar-del:hover{color:var(--red);background:#f6e3e4}.tbl .ar-del{width:26px;height:22px;color:var(--tx-3);cursor:pointer;background:0 0;border:none;border-radius:3px;place-items:center;display:inline-grid}.tbl .ar-del svg{width:15px;height:15px}.tbl .ar-del:hover{color:var(--red);background:#f6e3e4}.tbl .ar-del:disabled{opacity:.4;cursor:not-allowed}.modal.dbpick-modal{flex-direction:column;width:56vw;min-width:520px;max-width:880px;height:72vh;display:flex}.modal.dbpick-modal .modal-body{flex:1;min-height:0}.dbpick-crumbbar{border-bottom:1px solid var(--line);background:var(--bg-1);flex-wrap:wrap;align-items:center;padding:7px 10px;display:flex}.dbpick-crumbbar .bc{align-items:center;display:inline-flex}.dbpick-crumbbar .sep{color:var(--tx-3);margin:0 1px}.dbpick-crumbbar .crumb{color:var(--accent-ink);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;gap:5px;padding:3px 6px;font-size:12px;display:inline-flex}.dbpick-crumbbar .crumb:hover{background:var(--bg-2)}.dbpick-crumbbar .crumb.cur{color:var(--tx-0);cursor:default;font-weight:600}.dbpick-crumbbar .crumb.cur:hover{background:0 0}.dbpick-crumbbar .crumb svg{width:13px;height:13px;color:var(--bronze)}.dbpick-folder{text-align:left;border:none;border-bottom:1px solid var(--line-soft);cursor:pointer;background:0 0;align-items:center;gap:9px;width:100%;padding:9px 12px;display:flex}.dbpick-folder:hover{background:var(--bg-2)}.dbpick-folder>svg{width:16px;height:16px;color:var(--bronze);flex:none}.dbpick-folder .df-name{min-width:0;color:var(--tx-0);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;font-weight:600;overflow:hidden}.dbpick-folder svg.df-go{width:13px;height:13px;color:var(--tx-3);transform:rotate(-90deg)}.dbpick-tbl{width:100%}.dbpick-tbl th.chk,.dbpick-tbl td.chk{text-align:center;width:30px;padding-left:0;padding-right:0}.dbpick-tbl th.bcell,.dbpick-tbl td.bcell{text-align:center;font-family:var(--font-mono);color:var(--tx-2);font-size:11px}.dbpick-tbl td.dp-cat{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:11px;overflow:hidden}.dbpick-tbl tbody tr:not(.folder-row):hover td{background:var(--hover)}.modal.sched-flow{width:500px;max-width:92vw}.sched-flow .sf-back{cursor:pointer;vertical-align:middle;display:inline-flex}.sched-flow .sf-back svg{width:15px;height:15px;color:var(--tx-2);transform:rotate(90deg)}.sched-flow .sf-back:hover svg{color:var(--accent)}.sched-cards{gap:10px;display:grid}.sched-card{text-align:left;border:1px solid var(--line-strong);background:var(--bg-1);cursor:pointer;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:40px 1fr;align-items:center;column-gap:13px;padding:14px 16px;transition:border-color .12s,background .12s;display:grid}.sched-card:hover{border-color:var(--accent);background:var(--bg-inset)}.sched-card .sc-icon{background:var(--bg-2);width:40px;height:40px;color:var(--accent);border-radius:8px;grid-row:1/span 2;place-items:center;display:grid}.sched-card .sc-icon svg{width:21px;height:21px}.sched-card .sc-title{color:var(--tx-0);font-size:14px;font-weight:700}.sched-card .sc-blurb{color:var(--tx-2);font-size:12px}.sched-methods{gap:9px;display:grid}.sched-method{text-align:left;border:1px solid var(--line-strong);background:var(--bg-1);cursor:pointer;border-radius:8px;gap:2px;padding:12px 14px;transition:border-color .12s,background .12s;display:grid}.sched-method:hover:not(:disabled){border-color:var(--accent);background:var(--bg-inset)}.sched-method:disabled{opacity:.5;cursor:not-allowed}.sched-method b{color:var(--tx-0);font-size:13px}.sched-method span{color:var(--tx-2);font-size:12px}.sched-method.alt{border-style:dashed}.sched-cat{gap:10px;display:grid}.sched-cat-head{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:4px;display:flex}.sched-tbl{border-collapse:collapse;font-size:12px}.sched-tbl th,.sched-tbl td{border:1px solid var(--line-strong);padding:1px 2px}.sched-tbl thead th{background:var(--bg-2);color:var(--tx-1);vertical-align:middle}.sched-tbl td{border-color:var(--line)}.sched-tbl th.rownum,.sched-tbl td.rownum{text-align:center;background:var(--bg-2);width:28px;color:var(--tx-3);font-size:10px}.sched-tbl td.rowdel{text-align:center;width:24px}.sched-tbl th.addcol{background:0 0;border:none;padding:0 4px}.dbpick-list{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.dbpick-row{text-align:left;border:none;border-bottom:1px solid var(--line-soft);cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;padding:8px 12px;display:flex}.dbpick-row:hover{background:var(--bg-2)}.dbpick-row.on{background:var(--sel)}.dbpick-row .cb{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--accent);background:var(--bg-1);border-radius:3px;flex:none;place-items:center;font-size:11px;display:grid}.dbpick-row.on .cb{background:var(--accent);color:#fff;border-color:var(--accent)}.dbpick-row .dp-name{min-width:0;color:var(--tx-0);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;font-weight:500;overflow:hidden}.dbpick-row .dp-sub{max-width:30%;color:var(--violet);font-size:10.5px;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.sel-move-row:hover:not(:disabled){background:var(--hover)}.dbpick-row .dp-meta{font-size:11px;font-family:var(--font-mono);color:var(--tx-2);flex:none}.palette-scrim{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2e344059;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.palette{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:7px;width:580px;max-width:92vw;overflow:hidden;box-shadow:0 24px 70px #2e344040}.palette input{border:none;border-bottom:1px solid var(--line);width:100%;height:48px;color:var(--tx-0);background:0 0;padding:0 16px;font-size:14px}.palette input:focus{outline:none}.palette .results{max-height:340px;padding:6px;overflow:auto}.palette .res{border-radius:var(--r);cursor:pointer;height:38px;color:var(--tx-1);align-items:center;gap:10px;padding:0 10px;display:flex}.palette .res.on,.palette .res:hover{background:var(--sel);color:var(--accent-ink)}.palette .res svg{width:16px;height:16px;color:var(--tx-2)}.palette .res.on svg{color:var(--accent)}.palette .res .grp{color:var(--tx-3);text-transform:uppercase;letter-spacing:.1em;margin-left:auto;font-size:10px}.bar-meter{background:var(--bg-3);border:1px solid var(--line);border-radius:3px;height:6px;overflow:hidden}.bar-meter>span{background:var(--accent);height:100%;display:block}.takeoff{background:var(--bg-1);flex-direction:column;height:calc(100vh - 74px);display:flex;overflow:hidden}.to-shell{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.to-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.to-workspace{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.to-workspace>*{min-height:0}.to-toolrail{background:var(--bg-2);border-right:1px solid var(--line);z-index:20;scrollbar-width:none;overscroll-behavior:contain;flex-direction:column;flex:none;align-items:center;gap:2px;width:54px;padding:7px 0;display:flex;position:relative;overflow:hidden auto}.to-toolrail:hover{scrollbar-width:thin}.to-toolrail::-webkit-scrollbar{width:0}.to-toolrail:hover::-webkit-scrollbar{width:6px}.to-toolrail::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.to-toolrail .trail-btn{width:42px;height:38px;color:var(--tx-1);border-radius:var(--r);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;display:grid;position:relative}.to-toolrail .trail-label{white-space:nowrap;background:var(--tx-0);color:var(--bg-1);border-radius:var(--r);opacity:0;pointer-events:none;z-index:60;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;font-weight:600;transition:opacity 90ms,transform 90ms;display:flex;position:absolute;top:50%;left:calc(100% + 9px);transform:translateY(-50%)translate(-4px);box-shadow:0 8px 22px #2e34404d}.to-toolrail .trail-label:before{content:"";border:5px solid #0000;border-right-color:var(--tx-0);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.to-toolrail .trail-btn:hover .trail-label{opacity:1;transform:translateY(-50%)translate(0)}.to-toolrail .trail-label kbd{color:var(--bg-1);font-size:10px;font-family:var(--font-mono);background:#ffffff2e;border:none;border-radius:3px;padding:1px 6px}.to-toolrail .trail-label .lblsub{color:#ffffff8c;font-size:11px;font-weight:500}.to-toolrail .trail-btn:hover{background:var(--bg-3);color:var(--tx-0)}.to-toolrail .trail-btn.on{background:var(--accent);color:#fff}.to-toolrail .trail-btn svg{width:18px;height:18px;color:var(--tx-2)}.to-toolrail .trail-btn .trail-ic{place-items:center;display:grid}.to-toolrail .trail-btn .trail-ic svg{color:inherit}.to-toolrail .trail-btn.on .trail-ic{color:#fff!important}.to-toolrail .trail-btn .trail-ic{opacity:.88;transition:opacity .12s}.to-toolrail .trail-btn:hover .trail-ic,.to-toolrail .trail-btn.on .trail-ic{opacity:1}.to-toolrail .trail-btn:hover svg{color:var(--tx-0)}.to-toolrail .trail-action[aria-disabled=true]{opacity:.38;cursor:default}.to-toolrail .trail-action[aria-disabled=true]:hover{background:0 0}.to-toolrail .trail-action[aria-disabled=true]:hover .trail-ic{opacity:.88}.to-toolrail .trail-btn.on svg{color:#fff}.to-toolrail .trail-spacer{flex:1;min-height:6px}.to-toolrail .trail-btn.circuits,.to-toolrail .trail-btn.circuits svg{color:var(--accent)}.to-toolrail .trail-btn.circuits.on,.to-toolrail .trail-btn.circuits.on svg{color:#fff}.to-toolrail .trail-group.open{background:var(--bg-3);color:var(--tx-0)}.to-toolrail .trail-group.open .trail-ic{opacity:1}.to-toolrail .trail-group .trail-dot{width:5px;height:5px;box-shadow:0 0 0 1.5px var(--bg-2);border-radius:50%;position:absolute;top:5px;right:6px}.to-toolrail .trail-group.open .trail-dot{box-shadow:0 0 0 1.5px var(--bg-3)}.trail-flyout{z-index:46;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:7px;flex-direction:column;gap:1px;min-width:258px;max-width:320px;max-height:calc(100vh - 16px);padding:5px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 14px 38px #2e344047}.trail-flyout .tf-head{border-bottom:1px solid var(--line-soft);margin-bottom:3px;padding:6px 8px 7px}.trail-flyout .tf-title{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.trail-flyout .tf-note{color:var(--tx-3);margin-top:2px;font-size:11px;line-height:1.35;display:block}.trail-flyout .tf-row{border-radius:var(--r);align-items:stretch;gap:2px;display:flex}.trail-flyout .tf-row:hover{background:var(--hover)}.trail-flyout .tf-row.on{background:var(--accent)}.trail-flyout .tf-open{border-radius:var(--r);cursor:pointer;text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:1;align-items:flex-start;gap:9px;padding:7px 8px;display:flex}.trail-flyout .tf-ic{flex:none;place-items:center;padding-top:1px;display:grid}.trail-flyout .tf-ic svg{width:17px;height:17px;color:inherit}.trail-flyout .tf-row.on .tf-ic{color:#fff!important}.trail-flyout .tf-text{flex-direction:column;gap:1px;min-width:0;display:flex}.trail-flyout .tf-label{color:var(--tx-0);font-size:12.5px;font-weight:600}.trail-flyout .tf-blurb{color:var(--tx-3);font-size:11px;line-height:1.35}.trail-flyout .tf-row.on .tf-label,.trail-flyout .tf-row.on .tf-blurb{color:#fff}.trail-flyout .tf-head .tf-note.tf-why{color:var(--tx-1);font-style:italic}.trail-flyout .tf-row.dead{opacity:.5}.trail-flyout .tf-row.dead:hover{background:0 0}.trail-flyout .tf-row.dead .tf-open{cursor:default}.trail-flyout .tf-row.dead .tf-blurb{color:var(--tx-2)}.to-toolrail .trail-btn.dim .trail-ic{opacity:.42}.to-toolrail .trail-btn.dim:hover .trail-ic{opacity:.72}.to-toolrail .trail-btn.dead{opacity:.38;cursor:default}.to-toolrail .trail-btn.dead:hover{background:0 0}.audit-shell{align-items:flex-start;min-width:0;display:flex}.audit-shell>.to-toolrail{background:var(--bg-1);align-self:flex-start;height:calc(100vh - 111px);position:sticky;top:37px}.audit-shell>.page{flex:1;min-width:0}.modal.m3d-modal{flex-direction:column;width:75vw;min-width:560px;max-width:75vw;height:75vh;min-height:380px;display:flex}.modal.m3d-modal>:not(.m3d-stage){flex:none}.m3d-sub{font-family:var(--font);color:var(--tx-3);letter-spacing:0;margin-left:10px;font-size:11px;font-weight:500}.m3d-bar{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:7px 10px;display:flex}.m3d-bar .btn.ghost.on{outline:1px solid var(--accent);color:var(--tx-0)}.m3d-gap{flex:1}.m3d-seg{gap:0;display:flex}.m3d-seg .btn.ghost{border-radius:0}.m3d-seg .btn.ghost:first-child{border-top-left-radius:var(--r);border-bottom-left-radius:var(--r)}.m3d-seg .btn.ghost:last-child{border-top-right-radius:var(--r);border-bottom-right-radius:var(--r)}.m3d-fade{color:var(--tx-2);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.m3d-fade input[type=range]{width:92px;accent-color:var(--accent);cursor:pointer;margin:0}.m3d-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:30px;color:var(--tx-3)}.m3d-stage{background:#14171c;flex:1;min-height:0;position:relative}.m3d-canvas{position:absolute;inset:0}.m3d-veil{z-index:2;color:var(--tx-1);background:#14171cb8;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.m3d-note{z-index:3;border:1px solid var(--line-strong);color:var(--tx-1);background:#14171ceb;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.4;position:absolute;top:10px;left:10px;right:10px}.m3d-note.bad{border-color:var(--danger,#d2687f);color:#f0c7cf}.m3d-fly{z-index:2;max-width:60%;color:var(--tx-2);background:#14171cd1;border-radius:6px;padding:6px 10px;font-size:12px;position:absolute;bottom:10px;left:10px}.m3d-fly-sub{color:var(--tx-3);margin-top:3px;font-size:11px}.m3d-foot{border-top:1px solid var(--line);color:var(--tx-2);flex-wrap:wrap;align-items:center;gap:14px;padding:7px 12px;font-size:12px;display:flex}.m3d-foot b{color:var(--tx-0);font-weight:600}.m3d-verdict{color:var(--tx-3)}.m3d-verdict.bad{color:#d2687f}.m3d-warn{border-top:1px solid var(--line);color:var(--tx-3);max-height:76px;margin:0;padding:6px 12px 8px 30px;font-size:11px;overflow-y:auto}.to-topbar{background:var(--bg-1);border-bottom:1px solid var(--line);z-index:30;flex:none;align-items:center;gap:10px;height:42px;padding:0 10px 0 8px;display:flex;position:relative}.to-topbar .to-topbar-div{background:var(--line);flex:none;width:1px;height:22px}.to-topbar .to-toolbar-h{border-left:none;flex:none;margin-left:0;padding-left:0}.to-toolbar-h{align-items:center;gap:3px;height:100%;display:flex}.to-toolbar-h .t{border-radius:var(--r);height:30px;color:var(--tx-1);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:0 11px;font-size:12.5px;display:flex}.to-toolbar-h .t:hover{background:var(--bg-2);color:var(--tx-0)}.to-toolbar-h .t.on{background:var(--accent);color:#fff}.to-toolbar-h .t svg{width:16px;height:16px;color:var(--tx-2)}.to-toolbar-h .t.on svg{color:#fff}.to-toolbar-h .t kbd{margin-left:2px}.to-toolbar-h .tsep{background:var(--line);flex:none;width:1px;height:22px;margin:0 7px}.to-rail{background:var(--bg-1);border-right:1px solid var(--line);flex-direction:column;flex:none;width:258px;display:flex}.to-rail-pane{flex-direction:column;min-height:0;display:flex;overflow:hidden}.to-rail-head{border-bottom:1px solid var(--line);background:var(--bg-2);letter-spacing:.1em;text-transform:uppercase;height:30px;color:var(--tx-2);flex:none;align-items:center;gap:8px;padding:0 12px;font-size:11px;display:flex}.to-rail-tab{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--tx-1);background:var(--bg-2);box-shadow:inset 3px 0 0 var(--line-strong);font-weight:600;transition:background .1s,color .1s}.to-rail-tab:hover{background:var(--bg-3);color:var(--tx-0)}.to-rail-tab.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-2));box-shadow:inset 3px 0 0 var(--accent)}.to-rail-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.to-rail-content>.acc-body{flex:1}.rail-collapse-btn{width:20px;height:20px;color:var(--tx-2);cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;justify-content:center;align-items:center;margin-right:-6px;padding:0;transition:background .1s,color .1s;display:inline-flex}.rail-collapse-btn:hover{background:var(--bg-3);color:var(--tx-0)}.to-rail-stub{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;flex:none;align-items:center;gap:10px;width:26px;padding:4px 0;display:flex}.to-rail-stub .stub-btn{width:20px;height:20px;color:var(--tx-2);cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.to-rail-stub .stub-btn:hover{background:var(--bg-3);color:var(--tx-0)}.to-rail-stub .stub-tab{writing-mode:vertical-rl;cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-1);white-space:nowrap;padding:6px 0;font-size:11px;font-weight:600;transition:color .1s}.to-rail-stub .stub-tab:hover{color:var(--tx-0)}.to-rail-stub .stub-tab.on{color:var(--accent)}.acc-stack{flex-direction:column;flex:1;min-height:0;display:flex}.acc{border-bottom:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.acc.open{flex:1}.acc.closed{flex:none}.acc-head{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;height:32px;color:var(--tx-2);-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:8px;padding:0 10px;font-size:11px;display:flex}.acc-head:hover{background:var(--bg-2);color:var(--tx-0)}.acc-head .chev{width:12px;height:12px;transition:transform .12s}.acc.closed .acc-head .chev{transform:rotate(-90deg)}.acc-head .count{font-family:var(--font-mono);color:var(--tx-3);margin-left:auto;font-size:10px}.acc-body{flex:1;min-height:0;padding:4px 6px 8px;overflow:auto}.tree-toolbar{z-index:5;background:var(--bg-1);position:sticky;top:0}.to-canvas{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.to-canvas-bar{border-bottom:1px solid var(--line);background:var(--bg-1);flex:none;align-items:center;gap:12px;height:38px;padding:0 12px;display:flex}.to-canvas-bar.bottom{border-bottom:none;border-top:1px solid var(--line)}.to-canvas-bar.sheetnav{border-bottom:none;border-top:1px solid var(--line);justify-content:center;gap:8px;height:30px;position:relative}.to-canvas-bar .title{white-space:nowrap;flex:none;font-weight:600}.to-canvas-bar .sub{color:var(--tx-2);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:40ch;font-size:11px;overflow:hidden}.to-canvas-bar .node-picker{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg-1);max-width:22ch;height:26px;color:var(--tx-0);cursor:pointer;flex:none;padding:0 6px;font-size:12px}.to-canvas-bar .node-picker:hover{background:var(--bg-2);border-color:#b0bbcd}.bar-chip{border:1px solid var(--line-strong);background:var(--bg-0);height:24px;color:var(--tx-1);white-space:nowrap;cursor:pointer;border-radius:5px;flex:none;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.bar-chip:hover{background:var(--bg-2);border-color:#b0bbcd}.bar-chip.on{border-color:var(--amber);background:var(--amber);color:var(--bg-0);font-weight:700}.to-canvas-bar .spacer{flex:1}.to-canvas-bar .zoom{align-items:center;gap:2px;display:flex}.to-canvas-bar .zoom .zb{border:1px solid var(--line-strong);background:var(--bg-1);width:28px;height:26px;color:var(--tx-1);cursor:pointer;place-items:center;display:grid}.to-canvas-bar .zoom .zb:first-child{border-radius:var(--r) 0 0 var(--r)}.to-canvas-bar .zoom .zb:last-child{border-radius:0 var(--r) var(--r) 0;border-left:none}.to-canvas-bar .zoom .zb:hover{background:var(--bg-2)}.to-canvas-bar .zoom .zlvl{font-family:var(--font-mono);color:var(--tx-1);padding:0 10px;font-size:11px}.to-canvas-body{flex:1;min-width:0;min-height:0;padding:0;position:relative;overflow:hidden}.to-shell,.to-topbar{-webkit-user-select:none;user-select:none}.to-shell input,.to-shell textarea,.to-shell [contenteditable=true],.to-topbar input,.to-topbar textarea,.to-topbar [contenteditable=true]{-webkit-user-select:text;user-select:text}.pdf-stage{background:var(--bg-inset);cursor:grab;-webkit-user-select:none;user-select:none;padding:18px;display:grid;position:absolute;inset:0;overflow:auto}.pdf-stage.panning{cursor:grabbing}.pdf-stage canvas{background:#fff;border-radius:2px}.pdf-stage>div{margin:auto}.pdf-hint{color:var(--tx-3);text-align:center;max-width:360px;margin:auto;font-size:13px;line-height:1.6}:root{--sheet-ink:#2e3440;--sheet-labor:#b0692a;--sheet-violet:#8a5a82}.measure-svg{overflow:visible}.measure-svg .m-shape polyline,.measure-svg .m-shape polygon{stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.measure-svg .m-shape.area polygon,.measure-svg .m-shape.draft.area polygon{fill:#5e81ac24}.measure-svg .m-shape circle{fill:#fff;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.measure-svg .m-shape.draft polyline,.measure-svg .m-shape.draft polygon,.measure-svg .m-shape.draft circle{stroke:var(--labor)}.measure-svg .m-shape.feeder polyline{stroke:var(--violet);stroke-width:2.5px}.measure-svg .m-shape.feeder circle{stroke:var(--violet)}.measure-svg .m-shape.feeder .m-label{fill:var(--sheet-violet);font-weight:600}.measure-svg .m-label{font-family:var(--font-mono);fill:var(--sheet-ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;font-size:12px}.measure-svg .m-label.live{fill:var(--sheet-labor);font-weight:700}.measure-svg .m-shape.committed.hot polyline,.measure-svg .m-shape.committed.hot polygon{stroke-width:3.5px}.measure-svg .m-shape.committed.hot .m-label,.measure-svg .m-shape.committed.hot text{font-weight:700}.modal-scrim{z-index:50;background:#2e344057;place-items:center;display:grid;position:fixed;inset:0}.modal-scrim.scrim-over{z-index:60;background:#2e344047}.modal{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:8px;width:420px;max-width:92vw;overflow:hidden;box-shadow:0 18px 50px #2e34404d}.modal-head{border-bottom:1px solid var(--line);height:44px;font-family:var(--font-display);letter-spacing:.01em;color:var(--forge);align-items:center;padding:0 14px;font-size:15px;font-weight:600;display:flex}.modal-head .x{cursor:pointer;color:var(--tx-2);border-radius:4px;margin-left:auto;padding:4px 6px}.modal.import-modal{resize:both;flex-direction:column;width:760px;min-width:520px;max-width:96vw;height:68vh;min-height:340px;max-height:88vh;display:flex;position:fixed;top:7vh;left:max(2vw,50% - 380px)}.modal.import-modal>:not(.import-rows){flex:none}.import-rows{flex:1;min-height:0;overflow:auto}.import-rows table{border-collapse:collapse;width:100%;font-size:13px}.import-rows thead th{z-index:1;background:var(--bg-1);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--tx-2);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:8px 10px;font-size:10px;font-weight:700;position:sticky;top:0}.import-rows tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px 10px}.import-rows tbody tr{cursor:pointer}.import-rows tbody tr:hover td{background:var(--bg-2)}.import-rows tbody tr.off,.import-rows tbody tr.off .no,.import-rows tbody tr.off .ttl{color:var(--tx-3)}.import-rows .pg{text-align:right;width:58px;font-family:var(--font-mono);color:var(--tx-2);font-size:12px}.import-rows .ck{width:38px;padding-left:16px}.import-rows .kind{width:132px}.import-rows .no{font-family:var(--font-mono);color:var(--tx-0);white-space:nowrap;font-weight:700}.import-rows .ttl{color:var(--tx-1)}.import-rows td:last-child{padding-right:16px}.import-rows tbody tr.import-file-head td{z-index:1;background:var(--bg-2);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding-top:7px;padding-bottom:7px;position:sticky;top:33px}.import-rows tbody tr.import-file-head:hover td{background:var(--bg-3)}.import-rows tbody tr.import-file-head .fn{color:var(--tx-0);font-size:12.5px;font-weight:700}.modal-head .x:hover{background:var(--bg-2);color:var(--tx-0)}.modal-body{padding:14px}.assign-list{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-inset);max-height:280px;overflow:auto}.assign-item{cursor:pointer;border-bottom:1px solid var(--line-soft);align-items:baseline;gap:8px;padding:6px 10px;display:flex}.assign-item:last-child{border-bottom:none}.assign-item:hover{background:var(--bg-2)}.assign-item.on{background:var(--sel);box-shadow:inset 2px 0 0 var(--accent)}.assign-item .ai-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--tx-0);flex:1;font-size:12.5px;overflow:hidden}.assign-item.on .ai-name{color:var(--accent-ink);font-weight:600}.assign-item .ai-sub{font-family:var(--font-mono);color:var(--tx-3);flex:none;font-size:10.5px}.auth-splash{height:100vh;color:var(--tx-3);place-items:center;font-size:14px;display:grid}.auth-screen{background:var(--bg-1);place-items:center;height:100vh;display:grid}.auth-card{background:var(--bg-inset);border:1px solid var(--line-strong);border-radius:10px;flex-direction:column;gap:12px;width:320px;padding:28px;display:flex;box-shadow:0 18px 50px #2e34402e}.auth-brand{font-family:var(--font-display);letter-spacing:.04em;color:var(--forge);font-size:22px}.auth-sub{color:var(--tx-3);margin-bottom:6px;font-size:13px}.auth-card label{color:var(--tx-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.auth-card input{background:var(--bg-1);border:1px solid var(--line-strong);height:34px;color:var(--tx-0);border-radius:6px;padding:0 10px;font-size:13px}.auth-card input:focus{border-color:var(--accent);outline:none}.auth-pw{display:flex;position:relative}.auth-pw input{flex:1;padding-right:34px}.auth-pw-toggle{cursor:pointer;width:34px;height:34px;color:var(--tx-3);background:0 0;border:none;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.auth-pw-toggle:hover{color:var(--tx-1)}.auth-pw-toggle svg{width:17px;height:17px}.app-error{background:var(--bg-1);place-items:center;min-height:100vh;padding:24px;display:grid}.app-error-card{background:var(--bg-inset);border:1px solid var(--line-strong);border-radius:10px;width:100%;max-width:480px;padding:28px;box-shadow:0 18px 50px #2e34402e}.app-error-title{color:var(--tx-0);margin-bottom:8px;font-size:18px;font-weight:600}.app-error-msg{color:var(--tx-2);margin-bottom:14px;font-size:13px}.app-error-detail{font-family:var(--font-mono);color:#bf616a;background:var(--bg-1);border:1px solid var(--line-strong);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin-bottom:16px;padding:10px;font-size:12px;overflow-x:auto}.app-error-actions{gap:10px;display:flex}.auth-err{color:#bf616a;font-size:12px}.auth-card .btn.primary{justify-content:center;height:36px;margin-top:6px}.auth-help{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:4px;padding-top:12px;display:flex}.auth-help a{color:var(--accent);font-size:12px;text-decoration:none}.auth-help a:hover{text-decoration:underline}.auth-note{color:var(--tx-3);margin:0;font-size:11px;line-height:1.5}.assign-split{grid-template-columns:1fr 1fr;height:56vh;min-height:340px;display:grid}.assign-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.assign-pane.right{border-left:1px solid var(--line)}.assign-pane-h{border-bottom:1px solid var(--line);background:var(--bg-2);letter-spacing:.06em;text-transform:uppercase;height:38px;color:var(--tx-2);flex:none;align-items:center;gap:8px;padding:0 12px;font-size:11px;font-weight:600;display:flex}.assign-pane-body{flex:1;min-height:0;padding:6px;overflow:auto}.assigned-row{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);margin-bottom:6px;padding:7px 9px}.assigned-row .ar-top{align-items:center;gap:7px;display:flex}.assigned-row .ar-kind{font-family:var(--font-mono);letter-spacing:.06em;color:#fff;border-radius:3px;flex:none;padding:1px 5px;font-size:9px;font-weight:700}.assigned-row .ar-kind.material{background:var(--cyan)}.assigned-row .ar-kind.assembly{background:var(--violet)}.assigned-row .ar-kind.custom{background:var(--labor)}.assigned-row .ar-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--tx-0);flex:1;font-size:12.5px;font-weight:500;overflow:hidden}.assigned-row .ar-del{width:22px;height:22px;color:var(--tx-3);cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;place-items:center;display:grid}.assigned-row .ar-del:hover{color:var(--red);background:#f3e3e4}.assigned-row .ar-del svg{width:14px;height:14px}.assigned-row .ar-edit{align-items:center;gap:8px;margin-top:7px;display:flex}.assigned-row .ar-edit label{color:var(--tx-2);align-items:center;gap:4px;font-size:10.5px;display:flex}.assigned-row .ar-edit input{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg-1);width:54px;height:26px;color:var(--tx-0);padding:0 6px;font-size:12px}.assigned-row .ar-eff{font-family:var(--font-mono);color:var(--green);white-space:nowrap;margin-left:auto;font-size:11.5px;font-weight:600}.assigned-row .ar-apply{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg-1);height:26px;color:var(--tx-3);cursor:not-allowed;flex:none;align-items:center;gap:4px;padding:0 8px;font-size:11px;display:inline-flex}.assigned-row .ar-apply.on{color:#fff;background:var(--accent);border-color:var(--accent);cursor:pointer}.assigned-row .ar-apply svg{width:12px;height:12px}.assigned-row .ar-note{color:var(--amber);margin-top:5px;font-size:10.5px}.lib-item{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding:6px 8px;display:flex}.lib-item:hover{background:var(--bg-2)}.lib-item .li-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--tx-0);flex:1;font-size:12.5px;overflow:hidden}.lib-item .li-sub{font-family:var(--font-mono);color:var(--tx-3);flex:none;font-size:10px}.lib-item .li-add{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg-1);width:24px;height:24px;color:var(--accent-ink);cursor:pointer;flex:none;place-items:center;display:grid}.lib-item .li-add:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.lib-item .li-add svg{width:14px;height:14px}.seg-tabs{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;gap:4px;margin:6px 0 12px;padding:3px;display:flex}.seg-tabs button{height:28px;color:var(--tx-1);font-size:12.5px;font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1}.seg-tabs button.on{background:var(--bg-1);color:var(--accent-ink);font-weight:600;box-shadow:0 1px 2px #2e34401a}.modal-method .field{align-items:center;gap:10px;margin:10px 0;display:flex}.modal-method .field>span{width:56px;color:var(--tx-2);font-size:12px}.modal-method .field select,.modal-method .field input{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);height:32px;color:var(--tx-0);font-size:13px;font-family:var(--font-ui);flex:1;padding:0 10px}.modal-method .field input:focus,.modal-method .field select:focus{border-color:var(--accent);outline:none}.modal-method .muted{font-size:12.5px;line-height:1.5}.scale-readout{font-family:var(--font-mono);color:var(--green);background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--r);margin:8px 0 4px;padding:8px 10px;font-size:13px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.modal-body .field{align-items:center;gap:10px;margin:10px 0;display:flex}.modal-body .field>span{width:70px;color:var(--tx-2);flex:none;font-size:12px}.modal-body .field select,.modal-body .field input{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);height:32px;color:var(--tx-0);font-size:13px;font-family:var(--font-ui);flex:1;padding:0 10px}.modal-body .field select:focus,.modal-body .field input:focus,.modal-body .field textarea:focus{border-color:var(--accent);outline:none}.modal.count-modal .modal-body .field{margin:0 0 4px;display:block}.modal.count-modal .modal-body .field>span{width:auto;color:var(--tx-2);letter-spacing:.03em;flex:none;margin-bottom:5px;font-size:11px;display:block}.modal.count-modal .modal-body .field input,.modal.count-modal .modal-body .field select{height:32px;font-size:12.5px}.modal.count-modal .modal-body .field>input{width:100%}.modal.job-modal{width:720px;max-width:95vw}.modal.job-modal .modal-body{max-height:74vh;overflow:auto}.modal.job-modal .modal-actions,.modal-scrim>form.modal>.modal-actions{border-top:1px solid var(--line);margin-top:0;padding:12px 14px}.modal-scrim>form.modal .field>label{letter-spacing:.04em;text-transform:uppercase;color:var(--tx-2);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.modal-scrim>form.modal .field>textarea{resize:vertical;width:100%}.modal.job-modal .modal-head .x{align-items:center;display:inline-flex}.modal.job-modal .modal-head .x svg{width:16px;height:16px}.job-form{grid-template-columns:1fr 1fr 1fr;gap:12px 14px;display:grid}.modal-body .job-form .field{margin:0;display:block}.modal-body .job-form .field.col-2{grid-column:span 2}.modal-body .job-form .field>label{width:auto;color:var(--tx-2);letter-spacing:.03em;flex:none;margin-bottom:5px;font-size:11px;display:block}.modal-body .job-form .field input,.modal-body .job-form .field select,.modal-body .job-form .field textarea{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;height:32px;color:var(--tx-0);font-size:12.5px;font-family:var(--font-ui);padding:0 11px}.modal-body .job-form .field textarea{resize:vertical;height:auto;min-height:56px;padding:8px 11px;line-height:1.45}.modal-body .job-form .field input:focus,.modal-body .job-form .field select:focus,.modal-body .job-form .field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5e81ac26}.job-form .section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--tx-2);border-top:1px solid var(--line-soft);grid-column:1/-1;margin-top:6px;padding-top:11px;font-size:10px;font-weight:700}.job-form .section-label:first-child{border-top:none;margin-top:0;padding-top:0}.modal-body .feeder-grid{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.modal-body .feeder-grid .field{margin:0;display:block}.modal-body .feeder-grid .field>label{width:auto;color:var(--tx-2);flex:none;margin-bottom:5px;font-size:11px;display:block}.modal-body .feeder-grid .field input,.modal-body .feeder-grid .field select{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;height:32px;color:var(--tx-0);font-size:12.5px;font-family:var(--font-ui);padding:0 11px}.modal-body .feeder-form{flex-direction:column;gap:7px;display:flex}.modal-body .feeder-form .ff-row{align-items:end;gap:6px 8px;display:grid}.modal-body .feeder-form .ff-2{grid-template-columns:1fr 1fr}.modal-body .feeder-form .ff-service{grid-template-columns:96px 92px 92px 1fr}.modal-body .feeder-form .ff-fittings{grid-template-columns:84px 96px 1.1fr 96px 92px}.ff-xfmr{align-items:center;gap:10px;min-width:0;margin-top:-2px;display:flex}.modal-body .feeder-form .ff-xfmr .ff-side{flex:none;align-self:center;width:auto}.modal-body .feeder-form .ff-xfmr .ff-side button{flex:none;justify-content:center;align-items:center;height:28px;padding:0 10px;font-size:12px;line-height:1;display:inline-flex}.modal-body .feeder-form .ff-xfmr .ff-stub input{background:var(--bg-1);width:54px;height:24px;color:var(--tx-1);border:1px solid var(--line-strong);border-radius:var(--r);padding:0 6px;font-size:12px}.ff-xfmr{flex-wrap:wrap;row-gap:6px}.ff-check{color:var(--tx-2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.ff-check input{width:13px;height:13px;accent-color:var(--accent);cursor:pointer;margin:0}.ff-check:hover{color:var(--tx-1)}.ff-check.is-disabled{color:var(--tx-3,var(--tx-2));opacity:.45;cursor:not-allowed}.ff-check.is-disabled:hover{color:var(--tx-3,var(--tx-2))}.ff-check.is-disabled input{cursor:not-allowed}.ff-derived{color:var(--accent-ink);letter-spacing:.01em;white-space:nowrap;border-left:1px solid var(--line-soft);padding-left:10px;font-size:10.5px}.modal-body .feeder-form .ff-raceway{grid-template-columns:1.1fr 1fr 72px 76px 68px}.modal-body .feeder-form .ff-mc{grid-template-columns:1.2fr 1fr 96px 84px}.modal-body .feeder-form .ff-code{grid-template-columns:1fr 68px 88px 72px}.modal-body .feeder-form .ff-vert-derived{grid-template-columns:1.25fr 84px 92px 1.05fr}.modal-body .feeder-form .ff-vert-derived5{grid-template-columns:1.1fr 76px 82px 82px 1fr}.modal-body .feeder-form .ff-vert-total{grid-template-columns:1.1fr 116px}.modal-body .feeder-form .ff-vert-off{grid-template-columns:1fr}.modal-body .feeder-form .ff-vertmore{grid-template-columns:1.4fr 1fr}.modal-body .feeder-form .ff-dist-roofwt{grid-template-columns:116px 1fr}.modal-body .feeder-form .ff-dist-roofitem{grid-template-columns:1fr}.modal-body .feeder-form .ff-dist-meters{grid-template-columns:92px 148px 1fr}.modal-body .feeder-form .ff-gen-top{grid-template-columns:1fr 1fr}.modal-body .feeder-form .ff-gen-item{grid-template-columns:1fr 84px}.modal-body .feeder-form .ff-dist-disc{grid-template-columns:176px 1fr}.modal-body .feeder-form .ff-dist-fuse{grid-template-columns:1fr 132px}.modal-body .feeder-form .ff-dist-fusenote,.modal-body .feeder-form .ff-dist-disc-brand{grid-template-columns:1fr}.modal-body .feeder-form .ff-dist-whip{grid-template-columns:152px 104px 1fr}.modal-body .feeder-form .ff-dist-whip2{grid-template-columns:1fr 1fr 1fr 116px}.modal.dist-wizard-modal .feeder-form .ff-derived.warn{color:var(--amber);border-left-color:var(--amber)}.modal-body .feeder-form .ff-dist-inv,.modal-body .feeder-form .ff-dist-brk{grid-template-columns:1fr 1fr}.modal-body .feeder-form .ff-subhead{letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#8a94a6);margin:10px 0 2px;font-size:11px}.modal-body .feeder-form .ff-ser{grid-template-columns:96px 104px 1fr}.modal-body .feeder-form .ff-vertmore3{grid-template-columns:1.4fr 108px 1fr}.modal-body .feeder-form .ff-ug-ends0{grid-template-columns:1fr}.modal-body .feeder-form .ff-ug-ends1{grid-template-columns:1.2fr 76px 1.4fr auto}.modal-body .feeder-form .ff-ug-ends2{grid-template-columns:1.1fr 64px 64px 1.3fr auto}.modal-body .feeder-form .ff-ug-sweep{grid-template-columns:1.2fr 1fr 1.2fr}.modal-body .feeder-form .ff-ug-mat{grid-template-columns:1.6fr 84px 1fr}.modal-body .feeder-form .ff-ug-trench{grid-template-columns:1.2fr 1.3fr .9fr}.modal-body .feeder-form .ff-ug-stub,.modal-body .feeder-form .ff-ug-loc{grid-template-columns:1fr}.modal-body .feeder-form .ff-gear2,.modal-body .feeder-form .ff-gear3{grid-template-columns:1fr 1fr}.modal-body .feeder-form .ff-gear{grid-template-columns:110px 1fr}.modal-body .feeder-form .ff-mount{grid-template-columns:1fr}.modal-body .feeder-form .ff-gearsize{grid-template-columns:1fr 1fr}.modal-body .feeder-form .ff-fx-mount{grid-template-columns:150px 1fr}.modal-body .feeder-form .ff-fx-whip,.modal-body .feeder-form .ff-fx-box,.modal-body .feeder-form .ff-fx-cond,.modal-body .feeder-form .ff-fx-cond2,.modal-body .feeder-form .ff-fx-custom2{grid-template-columns:1fr 1fr}.modal-body .feeder-form .ff-fx-tag,.modal-body .feeder-form .ff-fx-whip2{grid-template-columns:1fr 1fr 1fr}.modal-body .feeder-form .ff-fx-pick{grid-template-columns:130px minmax(0,1fr)}.modal-body .feeder-form .ff-lc-tag{grid-template-columns:1fr 130px}.modal-body .feeder-form .ff-lc-pick,.modal-body .feeder-form .ff-lc-box2,.modal-body .feeder-form .ff-lc-cond2{grid-template-columns:1fr 1fr}.modal-body .feeder-form .ff-lc-search{grid-template-columns:130px minmax(0,1fr)}.modal-body .feeder-form .ff-lc-mcsup,.modal-body .feeder-form .ff-lc-part,.modal-body .feeder-form .ff-lc-comp,.modal-body .feeder-form .ff-lc-feed{grid-template-columns:1fr}.modal-body .feeder-form .ff-lc-saved{grid-template-columns:1fr 92px}.modal-body .feeder-form .ff-lc-box,.modal-body .feeder-form .ff-lc-ctrl{grid-template-columns:150px 1fr}.modal-body .feeder-form .ff-lc-mc{grid-template-columns:1fr 84px 84px 96px}.modal-body .feeder-form .ff-pd-plate{grid-template-columns:150px 110px minmax(0,1fr)}.modal-body .feeder-form .ff-lc-cond{grid-template-columns:1fr 1fr 1fr}.modal-body .feeder-form .ff-fx-src{grid-template-columns:132px minmax(0,1fr)}.modal-body .feeder-form .ff-fx-sweep{grid-template-columns:46px 100px minmax(0,1fr) 78px}.modal-body .feeder-form .ff-fx-boxhw,.modal-body .feeder-form .ff-fx-whipsup,.modal-body .feeder-form .ff-fx-pole,.modal-body .feeder-form .ff-fx-polebase,.modal-body .feeder-form .ff-fx-polebasesize,.modal-body .feeder-form .ff-fx-rod,.modal-body .feeder-form .ff-fx-gec,.modal-body .feeder-form .ff-fx-hhrun,.modal-body .feeder-form .ff-fx-wpterm{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.modal-body .feeder-form .ff-fx-scope{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.modal-body .feeder-form .ff-fx-handhole,.modal-body .feeder-form .ff-fx-condsup{grid-template-columns:minmax(0,1fr)}.modal-body .feeder-form .ff-fx-lib{grid-template-columns:1fr}.fx-lib{flex-wrap:wrap;gap:5px;display:flex}.fx-actions{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;width:580px;margin-left:auto;display:grid}.fx-actions .btn{justify-content:center;width:100%}.fx-act-msg{min-width:0;color:var(--tx-2);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;align-self:center;font-size:11.5px;overflow:hidden}.modal.dist-wizard-modal .modal-actions{flex-wrap:nowrap;align-items:center;margin-top:10px}.modal.fx-lib-modal{flex-direction:column;width:560px;max-width:92vw;max-height:80vh;display:flex}.modal.fx-lib-modal .modal-body{flex:1;min-height:0;overflow-y:auto}.fx-lib-sub{color:var(--tx-2);padding:2px 2px 10px;font-size:11.5px}.fx-lib-list{flex-direction:column;display:flex}.fx-lib-row{border-bottom:1px solid var(--line-soft);grid-template-columns:62px minmax(0,1fr) auto auto 20px;align-items:center;gap:8px;padding:6px 4px;display:grid}.fx-lib-row:last-child{border-bottom:none}.fx-lib-row:hover{background:var(--hover)}.fx-lib-mark{color:var(--tx-0);font-size:12.5px;font-weight:700}.fx-lib-what{color:var(--tx-2);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.fx-lib-row.unbuilt .fx-lib-mark{color:var(--tx-3);font-weight:500}.fx-lib-row.unbuilt .fx-lib-what{color:var(--tx-3);font-style:italic}.fx-lib-del{cursor:pointer;color:var(--tx-3);text-align:center;font-size:12px}.fx-lib-del:hover{color:var(--red)}.btn.sm{height:24px;padding:0 9px;font-size:11.5px}.fx-lib-chip{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg-1);color:var(--tx-0);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:5px;padding:3px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.fx-lib-chip:hover{background:var(--hover);border-color:var(--accent)}.fx-lib-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.fx-lib-chip.unbuilt{color:var(--tx-3);cursor:default;border-style:dashed;font-weight:500}.fx-lib-chip.unbuilt:hover{background:var(--bg-1);border-color:var(--line-strong)}.fx-lib-chip b{color:var(--tx-3);padding:0 1px;font-weight:400}.fx-lib-chip b:hover{color:var(--red)}.fx-lib-chip.on b{color:#ffffffbf}.modal-body .feeder-form .ff-pad{grid-template-columns:1fr 1fr}.modal-body .feeder-form .ff-stubsup{grid-template-columns:1fr 78px}.modal-body .feeder-form .ff-cond{grid-template-columns:72px 1fr 56px 1fr 1fr}.modal-body .feeder-form .ff-detail{grid-template-columns:repeat(4,1fr)}.modal-body .feeder-form .ff-detail3{grid-template-columns:repeat(3,1fr)}.modal-body .feeder-form .ff-support{grid-template-columns:1fr 104px}.modal-body .feeder-form .ff-flex{grid-template-columns:92px 1fr 104px}.modal-body .feeder-form .ff-disc{grid-template-columns:84px 116px 1fr 1fr 1fr}.modal-body .feeder-form.compact .ff-row{grid-template-columns:1fr 1fr}.modal-body .feeder-form .field{margin:0;display:block}.modal-body .feeder-form .field>label{width:auto;color:var(--tx-1);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;flex:none;margin-bottom:2px;font-size:10px;font-weight:500;display:block;overflow:hidden}.modal-body .feeder-form .field input,.modal-body .feeder-form .field select{background:var(--bg-0);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;height:28px;color:var(--tx-0);font-size:12.5px;font-family:var(--font-ui);padding:0 8px}.modal-body .feeder-form .field input:focus,.modal-body .feeder-form .field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--sel);outline:none}.modal-body .feeder-form .seg-group{width:100%}.modal-body .feeder-form .seg-group button{flex:1;height:28px;padding:0 6px;font-size:12px}.feeder-form .ff-head{letter-spacing:.1em;text-transform:uppercase;color:var(--tx-0);border-top:1px solid var(--line);align-items:baseline;gap:9px;margin-top:5px;padding-top:10px;font-size:10.5px;font-weight:700;display:flex}.feeder-form .ff-note{letter-spacing:0;text-transform:none;color:var(--tx-2);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:400;overflow:hidden}.feeder-form .ff-summary{color:var(--tx-1);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:6px 9px;font-size:11.5px}.feeder-form .ff-adv-toggle{text-align:left;cursor:pointer;border:none;border-top:1px solid var(--line-soft);width:100%;color:var(--tx-1);font-size:11.5px;font-family:var(--font-ui);background:0 0;align-items:baseline;gap:8px;margin-top:2px;padding:9px 0 0;display:flex}.feeder-form .ff-adv-toggle:hover{color:var(--accent)}.feeder-form .ff-caret{color:var(--tx-2);font-size:9px}.feeder-form.compact .ff-adv-toggle .ff-note{display:none}.tool-cov{margin-top:10px}.tool-cov>.btn{justify-content:center;width:100%}.tool-cov-body{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);max-height:190px;margin-top:8px;padding:8px 10px;overflow-y:auto}.tool-cov-head{letter-spacing:.08em;text-transform:uppercase;color:var(--warn,#b58900);margin-bottom:3px;font-size:10px;font-weight:700}.tool-cov-head+.tool-cov-list{margin-bottom:8px}.tool-cov-list{color:var(--tx-2);font-size:11px;line-height:1.5}.mat-sel{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);overflow:hidden}.mat-sel-head{background:var(--bg-2);border-bottom:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;color:var(--tx-2);align-items:center;gap:8px;padding:8px 11px;font-size:10px;font-weight:700;display:flex}.mat-sel-sub{letter-spacing:0;text-transform:none;color:var(--tx-2);font-size:10px;font-weight:400}.mat-sel-body{max-height:440px;overflow-y:auto}.db-vols{flex-direction:column;gap:3px;font-size:12px;display:flex}.db-vol-row{grid-template-columns:96px 108px 1fr;align-items:baseline;gap:8px;display:grid}.db-vol-k{color:var(--tx-2)}.db-vol-v{color:var(--tx-0);font-weight:600}.db-vol-n{color:var(--tx-2);font-size:10.5px}.db-vol-sep{background:var(--line);height:1px;margin:5px 0}table.bom-tbl{table-layout:fixed}table.bom-tbl tbody td{text-overflow:ellipsis;overflow:hidden}.modal-body .feeder-form .ff-chks{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px 14px}.feeder-form .ff-chk{color:var(--tx-0);cursor:pointer;align-items:center;gap:7px;height:30px;font-size:12px;display:flex}.feeder-form .ff-chk input{width:14px;height:14px;accent-color:var(--accent);flex:none;margin:0}.feeder-form .ff-chk .ff-note{margin-left:2px}.modal-body .feeder-form .ff-enc{flex-wrap:wrap;align-items:end;gap:7px 14px;display:flex}.modal-body .feeder-form .ff-enc .field{width:86px}.modal-body .feeder-form .ff-enc .field select{width:100%}.modal-body .feeder-form .ff-spare{grid-template-columns:96px 88px auto auto 1fr;align-items:end}.modal-body .feeder-form .ff-spare .btn{height:30px;padding:0 10px;font-size:11.5px}.modal-body .feeder-form.ff-sectioned{gap:0}.modal-body .feeder-form .ff-sec{border-top:1px solid var(--line-soft);border-left:3px solid #0000;grid-template-columns:96px minmax(0,1fr);gap:0 14px;margin-left:-14px;padding:9px 0 9px 11px;display:grid}.modal-body .feeder-form .ff-sec:hover{border-left-color:var(--accent);background:var(--hover)}.modal-body .feeder-form .ff-sec:focus-within{border-left-color:var(--accent)}.modal-body .feeder-form .ff-sec:first-of-type{border-top:none}.modal-body .feeder-form.ff-sectioned>.ff-row{padding-left:11px}.modal-body .feeder-form .ff-sec-rail{flex-direction:column;gap:3px;padding-top:15px;display:flex}.modal-body .feeder-form .ff-sec-title{letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);font-size:10.5px;font-weight:700;line-height:1.2}.modal-body .feeder-form .ff-sec-note{color:var(--tx-2);white-space:normal;font-size:10px;line-height:1.35}.modal-body .feeder-form .ff-sec-body{flex-direction:column;gap:6px;min-width:0;display:flex}.modal-body .feeder-form .ff-sec-body .ff-head{border-top:none;margin-top:0;padding-top:0}.modal-body .feeder-form .ff-sec .ff-chks{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.modal-body .feeder-form .ct-3{grid-template-columns:1fr 1fr 1fr}.modal-body .feeder-form .bd-plug{grid-template-columns:1.2fr .9fr .9fr .6fr 1.1fr 22px;align-items:end;gap:6px 8px;padding-bottom:6px;display:grid}.modal-body .feeder-form .bd-plug-x{border:1px solid var(--line);height:26px;color:var(--muted,#8b95a1);cursor:pointer;background:0 0;border-radius:4px;padding:0;font-size:11px;line-height:1}.modal-body .feeder-form .bd-plug-x:hover{color:var(--fg,#e8edf2);border-color:var(--fg,#e8edf2)}.modal-body .feeder-form .bd-taps{border:1px solid var(--line);border-radius:4px;margin:2px 0 6px;padding:5px 8px}.modal-body .feeder-form .bd-tap-row{grid-template-columns:92px 1fr;gap:8px;font-size:11px;line-height:1.7;display:grid}.modal-body .feeder-form .bd-tap-k{color:var(--muted,#8b95a1)}.modal-body .feeder-form .bd-tap-v{color:var(--fg,#e8edf2)}.modal-body .feeder-form .ff-hint{padding:1px 0 6px;font-size:11px;line-height:1.45}.modal-body .feeder-form .ff-trench{grid-template-columns:none;grid-auto-columns:minmax(72px,1fr);grid-auto-flow:column}.modal-body .feeder-form .ff-riser{grid-template-columns:96px 96px minmax(0,1fr)}.modal-body .feeder-form .ff-circuit{grid-template-columns:92px 72px 72px 66px minmax(0,1fr)}.modal-body .feeder-form .ff-trenchsize{grid-template-columns:132px minmax(0,1fr) minmax(0,1fr)}.modal-body .feeder-form .ff-wiresize{grid-template-columns:132px minmax(0,1fr)}.modal-body .feeder-form .ff-lug{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.modal-body .feeder-form .ff-hint.ff-bad{color:var(--red)}.modal-body .feeder-form .ff-auto{color:var(--tx-0);flex-direction:column;grid-column:2/-1;justify-content:center;gap:1px;height:30px;font-size:12px;display:flex}.modal-body .feeder-form .ff-auto-why{color:var(--tx-2);font-size:10px}.modal-body .feeder-form .ff-sweep{grid-template-columns:1.2fr 88px 76px 76px}.modal.feeder-wizard-modal{flex-direction:column;max-height:94vh;display:flex}.modal.feeder-wizard-modal .modal-body{flex:1;min-height:0;display:flex}.modal.feeder-wizard-modal .ff-wizard-grid{flex:1;grid-template-columns:640px minmax(0,1fr);align-items:stretch;gap:16px;min-height:0;display:grid}.modal.feeder-wizard-modal .ff-wizard-grid>*{min-height:0}.modal.feeder-wizard-modal .ff-wizard-form{overflow:visible}.modal.feeder-wizard-modal .mat-sel{flex-direction:column;min-height:0;display:flex}.modal.feeder-wizard-modal .mat-sel-head{flex:none}.modal.feeder-wizard-modal .mat-sel-body{flex:1;min-height:0;max-height:none}table.mat-tbl{table-layout:fixed;width:100%}table.mat-tbl th:nth-child(2),table.mat-tbl td:nth-child(2){width:78px}table.mat-tbl th:nth-child(3),table.mat-tbl td:nth-child(3),table.mat-tbl th:nth-child(4),table.mat-tbl td:nth-child(4){width:46px}table.mat-tbl th:nth-child(5),table.mat-tbl td:nth-child(5){width:92px}td.mat-fixed{color:var(--accent-ink,var(--accent));font-weight:600}table.mat-tbl tbody tr.gap td[colspan]{width:auto}table.mat-tbl tbody td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}table.mat-tbl tbody tr.mat-grp-row td,table.mat-tbl tbody tr.mat-grp-row:hover td{background:var(--bg-2);letter-spacing:.08em;text-transform:uppercase;color:var(--tx-2);height:22px;font-size:10px;font-weight:700}table.mat-tbl tbody tr.mat-grp-row.warn td,table.mat-tbl tbody tr.gap td{color:var(--warn,#b58900)}table.mat-tbl tbody tr.gap td.muted{color:var(--tx-2)}.modal.dist-wizard-modal{min-height:min(800px,94vh)}.modal.fx-wizard-modal{min-height:min(940px,94vh)}.modal.fx-wizard-modal .feeder-form .ff-sec{padding-top:5px;padding-bottom:5px}.modal.fx-wizard-modal .feeder-form .ff-sec-rail{padding-top:13px}.modal.fx-wizard-modal .feeder-form .ff-sec-body{gap:4px}.modal.fx-wizard-modal .ff-placement{gap:2px;padding:6px 10px}.modal.dist-wizard-modal .ff-wizard-grid{grid-template-columns:470px minmax(0,1fr)}.modal.dist-wizard-modal .feeder-form .field>label{letter-spacing:.07em;text-transform:uppercase;color:var(--tx-2);margin-bottom:3px;font-size:9.5px;font-weight:600}.modal.dist-wizard-modal .feeder-form .field input,.modal.dist-wizard-modal .feeder-form .field select{height:28px;padding:0 9px;font-size:12px}.modal.fx-wizard-modal .feeder-form .field input,.modal.fx-wizard-modal .feeder-form .field select{height:26px;padding:0 6px;font-size:11.5px}.modal.fx-wizard-modal .feeder-form .field select{padding-right:18px}.modal.fx-wizard-modal .feeder-form .seg-group button{height:26px;padding:0 8px;font-size:11px}.modal.fx-wizard-modal .feeder-form .field>label{letter-spacing:.06em;font-size:9px}.modal.dist-wizard-modal .feeder-form .seg-group button{height:28px;padding:0 11px;font-size:11.5px;font-weight:500}.modal.dist-wizard-modal .feeder-form .seg-group button.on{font-weight:600}.modal.dist-wizard-modal .feeder-form .ff-row{gap:6px 8px}.modal.dist-wizard-modal .feeder-form .field>label{margin-bottom:2px}.modal.dist-wizard-modal .ff-wizard-form{flex-direction:column;display:flex}.modal.dist-wizard-modal .ff-wizard-form>.feeder-form{flex:1}.modal.dist-wizard-modal .ff-placement{background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--r);box-shadow:inset 3px 0 0 var(--accent);flex-direction:column;gap:3px;margin-top:auto;padding:8px 11px;display:flex}.modal.dist-wizard-modal .ff-placement-head{letter-spacing:.12em;text-transform:uppercase;color:var(--tx-2);font-size:9.5px;font-weight:700}.modal.dist-wizard-modal .ff-placement-name{font-family:var(--font-display);color:var(--forge);overflow-wrap:anywhere;font-size:14px;line-height:1.25}.modal.dist-wizard-modal .ff-placement-line{color:var(--tx-2);overflow-wrap:anywhere;font-size:11px;line-height:1.35}.modal.dist-wizard-modal .ff-placement-line span{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--tx-3);margin-right:7px;font-size:10px}.modal.dist-wizard-modal .ff-placement-line.warn,.modal.dist-wizard-modal .ff-placement-line.warn span{color:var(--amber)}.modal.dist-wizard-modal .feeder-form .ff-derived{white-space:normal;border-left:2px solid var(--line);padding:4px 0 4px 9px;font-size:11px;line-height:1.45}table.mat-tbl td.money .muted{font-size:10.5px}.empty-card{border:1px dashed var(--line-strong);background:var(--bg-1);border-radius:8px;padding:22px 24px}.empty-card b{font-size:14px}.empty-card p{margin:6px 0 0;line-height:1.55}.req-group{margin-top:18px}.req-cat{text-transform:uppercase;letter-spacing:.08em;color:var(--tx-2);margin:0 0 8px;font-size:12px;font-weight:700}.req-rows{flex-direction:column;gap:6px;display:flex}.req-row{background:var(--bg-1);border:1px solid var(--line);border-radius:6px;align-items:flex-start;gap:12px;padding:11px 14px;display:flex}.req-row.candidate{border-left:3px solid var(--amber)}.req-main{flex:1;min-width:0}.req-title{align-items:center;gap:8px;font-weight:600;display:flex}.req-flag{text-transform:uppercase;letter-spacing:.06em;color:var(--amber);border:1px solid var(--amber-dim);border-radius:8px;padding:0 6px;font-size:10px;font-weight:700}.req-detail{color:var(--tx-1);margin-top:3px;font-size:12.5px;line-height:1.5}.req-meta{color:var(--tx-3);font-size:11px;font-family:var(--font-mono);gap:8px;margin-top:4px;display:flex}.req-spec{margin-top:5px}.req-spec-toggle{color:var(--accent-ink);cursor:pointer;font-size:11.5px;font-family:var(--font-ui);background:0 0;border:none;padding:0}.req-spec-toggle:hover{text-decoration:underline}.req-evidence{border-left:3px solid var(--line-strong);background:var(--bg-inset);border-radius:0 var(--r) var(--r) 0;color:var(--tx-1);margin:6px 0 2px;padding:8px 12px;font-size:12.5px;font-style:italic;line-height:1.55}.req-evidence-src{color:var(--tx-3);font-size:11px;font-style:normal;font-family:var(--font-mono);margin-top:5px}.req-actions{flex:none;align-items:center;gap:6px;display:flex}.checks{flex-direction:column;gap:8px;display:flex}.check{border:1px solid var(--line);background:var(--bg-1);border-left-width:3px;border-radius:6px;align-items:flex-start;gap:11px;padding:10px 12px;display:flex}.check.ok{border-left-color:var(--green)}.check.warn{border-left-color:var(--amber);background:#fdfaf2}.check.fail{border-left-color:var(--red);background:#fcf3f3}.check-ic{flex:none;margin-top:1px;display:flex}.check.ok .check-ic{color:var(--green)}.check.warn .check-ic{color:var(--amber)}.check.fail .check-ic{color:var(--red)}.check-ic svg{width:16px;height:16px}.check-body{flex:1;min-width:0}.check-head{align-items:center;gap:8px;display:flex}.check-head .grow{flex:1}.check-verdict{flex:none;justify-content:flex-end;width:46px;display:flex}.check-num{white-space:nowrap;text-align:right;flex:none}.feeder-report{flex-direction:column;gap:14px;display:flex}.feeder-report.split{grid-template-columns:minmax(380px,420px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.modal.feeder-modal{flex-direction:column;max-height:90vh;display:flex}.modal.feeder-modal .modal-body{flex:1;min-height:0;display:flex}.modal.feeder-modal .feeder-report.split{flex:1;align-items:stretch;min-height:0}.modal.feeder-modal .feeder-report.split>.panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.modal.feeder-modal .feeder-report.split>.panel>.panel-head{flex:none}.modal.feeder-modal .feeder-report.split>.panel>.bom-main{flex:1;min-height:0}.modal.feeder-modal .feeder-report.split>.panel>.tbl-wrap{overflow:auto}.modal.feeder-modal .feeder-report.split>.panel>.panel-body{min-height:0;overflow:auto}@media (width<=1000px){.feeder-report.split{grid-template-columns:minmax(0,1fr)}}.checks.compact{gap:5px}.checks.compact .check{border-radius:5px;gap:8px;padding:6px 8px}.checks.compact .check-ic svg{width:13px;height:13px}.checks.compact .check-head{flex-wrap:wrap;gap:6px}.checks.compact .check-head b{font-size:12px}.checks.compact .check-msg{margin-top:1px;font-size:11px;line-height:1.35}.checks.compact .check-fix{margin-top:2px;font-size:11px}.checks.compact .check>.btn{align-self:center;padding:3px 8px;font-size:11px}.to-section{border-bottom:1px solid var(--line);padding:12px}.to-section h4{letter-spacing:.12em;text-transform:uppercase;color:var(--tx-2);margin:0 0 10px;font-size:10px;font-weight:600}.to-bind{background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--r);align-items:center;gap:9px;padding:9px 11px;display:flex}.to-bind svg{width:15px;height:15px;color:var(--violet)}.drawer-scrim{z-index:60;background:#2e344057;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--bg-1);border-left:1px solid var(--line-strong);flex-direction:column;width:640px;max-width:96vw;height:100%;animation:.16s ease-out drawer-in;display:flex;box-shadow:-18px 0 50px #2e344038}@keyframes drawer-in{0%{opacity:.5;transform:translate(26px)}to{opacity:1;transform:none}}.drawer .modal-head{flex:none}.drawer .modal-head .x{margin-left:auto}.drawer .modal-body{flex:1;padding:14px 16px;overflow:auto}.drawer-foot{border-top:1px solid var(--line);background:var(--bg-2);flex:none;align-items:center;gap:8px;padding:12px 14px;display:flex}.drawer-foot .grow{flex:1}.drawer .modal-body .job-form .field textarea{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;min-height:64px;color:var(--tx-0);font-size:12.5px;font-family:var(--font-mono);resize:vertical;padding:8px 11px;line-height:1.5}.drawer .modal-body .job-form .field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5e81ac26}.cat-cols{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}@media (width<=1100px){.cat-cols{grid-template-columns:1fr}}.cat-tree{font-size:12.5px}.cat-root-drop{border-bottom:1px dashed var(--line);border-radius:var(--r);align-items:center;gap:10px;margin-bottom:6px;padding:4px 0 8px;display:flex}.cat-root-drop.hot{background:var(--sel);outline:2px dashed var(--accent);outline-offset:-2px}.cat-tree .node-actions button{color:var(--tx-2);font-size:10px;line-height:1}.cat-tree .node-actions button:disabled{opacity:.3;cursor:default}.cat-add{padding:3px 0}.cat-add input,.cat-rename{border:1px solid var(--accent);border-radius:var(--r);height:26px;color:var(--tx-0);font-size:12.5px;font-family:var(--font-ui);background:#fff;outline:none;padding:0 8px;box-shadow:0 0 0 2px #5e81ac2e}.cat-add input{width:220px}.cat-rename{flex:1;min-width:0}.x-inline{cursor:pointer;vertical-align:middle;color:var(--tx-2);margin-left:8px;display:inline-flex}.x-inline svg{width:13px;height:13px}.lib-split{grid-template-columns:248px 1fr;align-items:start;gap:14px;display:grid}@media (width<=1000px){.lib-split{grid-template-columns:1fr}}.lib-cats{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);max-height:calc(100vh - 210px);padding:8px;position:sticky;top:0;overflow:auto}.lib-cats-head{letter-spacing:.1em;text-transform:uppercase;color:var(--tx-2);align-items:center;gap:8px;padding:2px 4px 8px;font-size:10px;font-weight:700;display:flex}.lib-cats-head .btn{height:22px;margin-left:auto;padding:0 7px;font-size:10px}.lib-cat-all{text-align:left;border-radius:var(--r);width:100%;height:28px;color:var(--tx-1);cursor:pointer;background:0 0;border:none;margin-bottom:4px;padding:0 8px;font-size:12.5px;display:block}.lib-cat-all:hover{background:var(--bg-2);color:var(--tx-0)}.lib-cat-all.on{background:var(--sel);color:var(--accent-ink);font-weight:600}.lib-main{min-width:0}.lib-breadcrumb{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;font-size:12.5px;display:flex}.lib-breadcrumb .bc-seg{color:var(--accent-ink);cursor:pointer;font-size:12.5px;font-family:var(--font-ui);background:0 0;border:none;padding:0}.lib-breadcrumb .bc-seg:hover{text-decoration:underline}.lib-breadcrumb .bc-sep{color:var(--tx-3);margin:0 4px}.lib-breadcrumb .bc-cur{color:var(--tx-0);font-weight:600}.labor-cols{grid-template-columns:1fr;gap:16px;display:grid}.labor-cols .panel table.tbl{border-radius:0 0 var(--r) var(--r)}.bulk-bar{background:var(--sel);border-radius:var(--r);border:1px solid #b3c4dc;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.bulk-bar .bb-count{color:var(--accent-ink);font-size:12.5px;font-weight:700}.bulk-bar .bb-sep{background:var(--line-strong);width:1px;height:22px;margin:0 2px}.bulk-bar .input,.bulk-bar .btn{height:28px}table.tbl tbody tr.row-sel td{background:#dde7f4!important}table.tbl tbody tr.row-cut td{opacity:.45;font-style:italic}.bulk-bar.clip-bar{background:#fdf6e3;border-color:#e0cfa0}.bulk-bar.clip-bar .bb-count{color:#7a5c12}.ctx-menu .ctx-key{opacity:.55;margin-left:auto;padding-left:14px;font-size:11px}.ctx-menu button{align-items:center;gap:6px;display:flex}.explorer-bar{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);align-items:center;gap:2px;margin-bottom:12px;padding:7px 12px;display:flex}.explorer-bar .bc{align-items:center;display:inline-flex}.explorer-bar .bc-sep{color:var(--tx-3);margin:0 3px}.explorer-bar .bc-seg{color:var(--accent-ink);cursor:pointer;font-size:13px;font-family:var(--font-ui);border-radius:var(--r);background:0 0;border:none;padding:2px 6px}.explorer-bar .bc-seg:hover:not(:disabled){background:var(--bg-2)}.explorer-bar .bc-seg.cur{color:var(--tx-0);cursor:default;font-weight:700}.explorer-bar .grow{flex:1}tr.folder-row{cursor:pointer}tr.folder-row td{border-bottom:1px solid var(--line);background:#f3f6fb;height:34px}tr.folder-row:hover td{background:#e9f0fa}.fldr{cursor:pointer;color:var(--tx-0);font-size:13px;font-weight:600;font-family:var(--font-ui);background:0 0;border:none;align-items:center;gap:9px;padding:0;display:inline-flex}.fldr svg{width:16px;height:16px;color:var(--accent);flex:none}.fldr .fldr-go{width:14px;height:14px;color:var(--tx-3);opacity:0;transform:rotate(-90deg)}tr.folder-row:hover .fldr .fldr-go{opacity:1}tr.folder-row.drop-target td{box-shadow:inset 0 2px 0 var(--accent), inset 0 -2px 0 var(--accent);background:#d7e6fb}tr.folder-row.drop-into td{box-shadow:inset 0 0 0 2px var(--accent);background:#d7e6fb}tr.folder-row.drop-before td{box-shadow:inset 0 3px 0 var(--accent)}tr.folder-row.drop-after td{box-shadow:inset 0 -3px 0 var(--accent)}.explorer-bar .bc-seg.drop-target{box-shadow:inset 0 0 0 2px var(--accent);background:#d7e6fb}.lib-split{align-items:flex-start;gap:0;display:flex}.lib-main{flex:1;min-width:0}.lib-rail{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;flex:none;align-self:stretch;display:flex;overflow:hidden}.ft-head{letter-spacing:.04em;text-transform:uppercase;color:var(--tx-3);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:5px 6px 5px 10px;font-size:10.5px;font-weight:700;display:flex}.ft-head-t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ft-head-btns{flex:none;gap:2px;display:flex}.ft-hbtn{width:22px;height:22px;color:var(--tx-3);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.ft-hbtn svg{width:13px;height:13px}.ft-hbtn:not(:disabled):hover{background:var(--bg-2);color:var(--accent)}.ft-hbtn:disabled{opacity:.3;cursor:default}.ft-scroll{flex:1;min-height:0;max-height:68vh;padding:4px 0;overflow:auto}.ft-foot{color:var(--tx-3);border-top:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;flex:none;padding:6px 10px;font-size:10.5px;overflow:hidden}.ft-empty{color:var(--tx-3);padding:10px;font-size:12px}.ft-node{color:var(--tx-0);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;margin:0 4px 1px;padding:4px 8px 4px 6px;font-size:12.5px;display:flex}.ft-node:hover{background:var(--bg-2)}.ft-node.cur{background:var(--sel);font-weight:700}.ft-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ft-ic{width:14px;height:14px;color:var(--accent);flex:none}.ft-root .ft-ic{color:var(--tx-2)}.ft-twisty{width:14px;height:14px;color:var(--tx-3);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ft-twisty svg{width:12px;height:12px;transition:transform 90ms}.ft-twisty.leaf{cursor:default}.ft-node.drop-into{background:var(--sel);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ft-node.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.ft-node.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.lib-divider{cursor:col-resize;background:0 0;flex:none;align-self:stretch;width:7px;position:relative}.lib-divider:after{content:"";background:var(--line);width:1px;transition:background 90ms;position:absolute;top:8px;bottom:8px;left:3px}.lib-divider:hover:after,.lib-divider:active:after{background:var(--accent)}@media (width<=900px){.lib-split{flex-direction:column}.lib-rail{align-self:stretch;margin-bottom:10px;width:auto!important}.lib-rail .ft-scroll{max-height:220px}.lib-divider{display:none}}.gutter.rowedit{text-align:center;padding:0}.row-edit-btn{width:100%;height:100%;min-height:22px;color:var(--tx-3);cursor:pointer;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity 90ms,color 90ms;display:inline-flex}.row-edit-btn svg{width:13px;height:13px}tr:hover .row-edit-btn,tr.row-sel .row-edit-btn{opacity:1}.row-edit-btn:hover{color:var(--accent);background:var(--bg-2)}.row-edit-btn:disabled{cursor:default;opacity:0}.mem-back{z-index:60;background:#14181f8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.mem{background:var(--bg-1);border:1px solid var(--line-strong,var(--line));border-radius:10px;flex-direction:column;width:520px;max-width:100%;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 18px 48px #00000057}.mem-head{border-bottom:1px solid var(--line);flex:none;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.mem-title{flex:1;min-width:0}.mem-name{color:var(--tx-0);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.mem-sub{color:var(--tx-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.mem-body{flex:1;min-height:0;padding:4px 14px 10px;overflow-y:auto}.mem-group{padding-top:10px}.mem-gtitle{letter-spacing:.05em;text-transform:uppercase;color:var(--tx-3);border-bottom:1px solid var(--line);margin-bottom:6px;padding:4px 0 6px;font-size:10px;font-weight:700}.mem-row{align-items:center;gap:10px;padding:3px 0;display:flex}.mem-label{width:128px;color:var(--tx-2);flex:none;font-size:12px}.mem-field{flex:1;min-width:0;display:flex}.mem-field .input{width:100%;height:28px;font-size:12.5px}.mem-field .input.num{text-align:right;font-family:var(--font-mono)}.mem-ro{color:var(--tx-3);font-size:12px;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mem-row.changed .mem-label{color:var(--accent-ink,var(--accent));font-weight:700}.mem-row.changed .input{border-color:var(--accent)}.mem-foot{border-top:1px solid var(--line);background:var(--bg-2);flex:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.mem-count{min-width:0;color:var(--tx-3);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.mem.fdd{width:460px}.fdd .mem-body{padding-top:10px;padding-bottom:12px}.fdd-opt{text-align:left;cursor:pointer;background:var(--bg-1);border:1px solid var(--line-strong,var(--line));width:100%;color:var(--tx-0);font:inherit;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:11px 12px;display:flex}.fdd-opt:hover{background:var(--bg-2);border-color:var(--accent)}.fdd-opt svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:1px}.fdd-opt b{font-size:13px;font-weight:700;display:block}.fdd-opt small{color:var(--tx-2);margin-top:3px;font-size:11.5px;line-height:1.4;display:block}.fdd-opt.danger svg{color:var(--red)}.fdd-opt.danger:hover{border-color:var(--red);background:color-mix(in srgb, var(--red) 10%, transparent)}.fdd-opt.disabled{cursor:default;opacity:.72;background:var(--bg-2)}.fdd-opt.disabled:hover{border-color:var(--line-strong,var(--line))}.fdd-opt.disabled svg{color:var(--tx-3)}.ctx-menu button:not(:disabled),.ctx-sub button:not(:disabled){cursor:pointer}.ctx-menu button:not(:disabled):hover,.ctx-menu button:not(:disabled):focus-visible,.ctx-sub button:not(:disabled):hover,.ctx-sub button:not(:disabled):focus-visible{background:color-mix(in srgb, var(--accent) 34%, var(--bg-1));color:var(--tx-0);box-shadow:inset 2px 0 0 var(--accent);outline:none}.ctx-menu button:not(:disabled):hover svg,.ctx-menu button:not(:disabled):focus-visible svg,.ctx-sub button:not(:disabled):hover svg,.ctx-sub button:not(:disabled):focus-visible svg{color:var(--accent)}.ctx-menu button.danger:not(:disabled):hover,.ctx-sub button.danger:not(:disabled):hover{background:color-mix(in srgb, var(--red) 26%, var(--bg-1));color:var(--tx-0);box-shadow:inset 2px 0 0 var(--red)}.ctx-menu button.danger:not(:disabled):hover svg,.ctx-sub button.danger:not(:disabled):hover svg{color:var(--red)}.ctx-menu button:disabled,.ctx-sub button:disabled{opacity:.32;cursor:not-allowed;color:var(--tx-2)!important;background:0 0!important}.ctx-menu button:disabled svg,.ctx-sub button:disabled svg{color:var(--tx-3)!important}.ctx-menu button.has-sub:not(:disabled):hover{background:color-mix(in srgb, var(--accent) 34%, var(--bg-1))}.ctx-menu button.primary{background:color-mix(in srgb, var(--accent) 22%, var(--bg-1));color:var(--tx-0);font-weight:700}.ctx-menu button.primary svg{color:var(--accent)}.ctx-menu button.primary:hover{background:color-mix(in srgb, var(--accent) 40%, var(--bg-1))}table.tbl tbody tr[draggable=true] td.id{cursor:grab}table.tbl tbody tr.reorder-target td{box-shadow:inset 0 2px 0 var(--accent)}table.tbl.resizable{table-layout:fixed}table.tbl.resizable th,table.tbl.resizable td{overflow:hidden}table.tbl.resizable th{position:relative}table.tbl.resizable .col-resize{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:2;width:7px;height:100%;position:absolute;top:0;right:0}table.tbl.resizable .col-resize:hover{background:var(--accent);opacity:.45}.ce-ro{height:26px;color:inherit;white-space:nowrap;text-overflow:ellipsis;padding:0 7px;font-size:13px;line-height:26px;display:block;overflow:hidden}.ce-ro.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ce-ro.money{color:var(--green)}.ce-ro.labor{color:var(--labor)}.ce-ro.name{color:var(--tx-0);font-weight:600}.ce-ro.mono{font-family:var(--font-mono)}.btn.lock-toggle.editing{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.btn.lock-toggle.editing:hover{background:#456a2d}.db-mode{letter-spacing:.04em;text-transform:uppercase;color:var(--tx-2);white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.db-mode .db-mode-dot{background:var(--tx-3);border-radius:50%;width:7px;height:7px}.db-mode.on{color:var(--green)}.db-mode.on .db-mode-dot{background:var(--green);box-shadow:0 0 0 3px #6a99552e}.ctx-backdrop{z-index:200;position:fixed;inset:0}.ctx-menu .ctx-head{letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);padding:4px 10px 6px;font-size:10px;font-weight:700}.ctx-menu button{border-radius:var(--r);width:100%;height:30px;color:var(--tx-1);cursor:pointer;text-align:left;font-size:12.5px;font-family:var(--font-ui);background:0 0;border:none;align-items:center;gap:9px;padding:0 10px;display:flex}.ctx-menu button svg{width:14px;height:14px;color:var(--tx-2)}.ctx-menu .ctx-sep{background:var(--line);height:1px;margin:4px 0}table.tbl th.gutter-h{padding:0}table.tbl td.gutter{cursor:pointer;background:var(--bg-2);border-right:1px solid var(--line);padding:0;position:relative}table.tbl td.gutter:after{content:"";background:var(--tx-3);opacity:0;border-radius:1px;position:absolute;inset:40% 42%}table.tbl tbody tr:hover td.gutter:after{opacity:.5}table.tbl tbody tr.row-sel td.gutter{background:var(--accent)}table.tbl tbody tr.row-sel td.gutter:after{opacity:0}table.tbl td .cv{text-overflow:ellipsis;white-space:nowrap;height:26px;padding:0 7px;line-height:26px;display:block;overflow:hidden}table.tbl td.num .cv{text-align:right;font-family:var(--font-mono)}table.tbl td.ctr .cv{text-align:center;font-family:var(--font-mono);font-size:11px}table.tbl td.money .cv{color:var(--green)}table.tbl td.labor .cv{color:var(--labor)}table.tbl td.name .cv{font-weight:600}table.tbl td.cell-focus{box-shadow:inset 0 0 0 2px var(--accent);border-radius:2px}table.tbl tr.row-drop-above>td{box-shadow:inset 0 2px 0 0 var(--accent)}table.tbl tr.row-drop-below>td{box-shadow:inset 0 -2px 0 0 var(--accent)}table.tbl tr.row-drop-above>td.cell-focus,table.tbl tr.row-drop-below>td.cell-focus{box-shadow:inset 0 0 0 2px var(--accent)}table.tbl thead th.bom,table.tbl td.bom{text-align:center}table.tbl td .recipe-btn{height:24px;color:var(--accent-ink);border:1px solid var(--line);background:var(--bg-1);gap:5px;padding:0 8px;font-size:11.5px}table.tbl td .recipe-btn:hover{background:var(--sel);border-color:var(--accent)}table.tbl td .recipe-btn svg{width:12px;height:12px}table.tbl td.cell-focus .cv{background:0 0}.ctx-row{position:relative}.ctx-sub{z-index:202;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:6px;min-width:200px;max-height:60vh;margin-left:2px;padding:5px;position:absolute;top:-5px;left:100%;overflow-y:auto;box-shadow:0 12px 34px #2e34403d}.ctx-sub button{border-radius:var(--r);width:100%;height:30px;color:var(--tx-1);cursor:pointer;text-align:left;font-size:12.5px;font-family:var(--font-ui);background:0 0;border:none;align-items:center;gap:9px;padding:0 10px;display:flex}.ctx-sub button svg{width:14px;height:14px;color:var(--tx-2)}.ctx-sub .ctx-sub-form{flex-direction:column;gap:6px;min-width:190px;padding:6px;display:flex}.ctx-sub .ctx-sub-form .row{gap:6px;display:flex}.ctx-sub .ctx-sub-form input,.ctx-sub .ctx-sub-form select{height:28px}.ctx-sub .ctx-note{color:var(--tx-3);padding:2px 10px 6px;font-size:11px}.modal.asm-modal{flex-direction:column;width:1280px;max-width:96vw;height:90vh;display:flex}.modal.asm-modal .modal-head{flex:none}.modal.asm-modal .modal-actions{border-top:1px solid var(--line);background:var(--bg-2);flex:none;align-items:center;gap:8px;margin:0;padding:12px 14px;display:flex}.modal.asm-modal .modal-body.asm-body{flex-direction:column;flex:1;min-height:0;padding:14px;display:flex;overflow:hidden}.asm-head-row{flex:none;grid-template-columns:2fr 1fr 1.6fr;gap:12px;margin-bottom:14px;display:grid}.asm-head-row .field{margin:0}.asm-head-row .field label{color:var(--tx-2);margin-bottom:5px;font-size:11px;display:block}.asm-head-row .field input{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;height:32px;color:var(--tx-0);padding:0 11px;font-size:12.5px}.asm-head-row .field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5e81ac26}.asm-split{flex:1;grid-template-columns:1fr 460px;gap:14px;min-height:0;display:grid}@media (width<=900px){.asm-split{grid-template-columns:1fr}}.asm-lines{border-radius:var(--r);flex-direction:column;min-height:0;display:flex}.asm-lines.drop-active{outline:2px dashed var(--accent);outline-offset:-3px;background:#5e81ac0f}.asm-lines .asm-lines-wrap{flex:1;min-height:0;overflow:auto}.asm-picker .lib-item{cursor:grab}.asm-picker .lib-item:active{cursor:grabbing}.asm-lines .asm-mat-name{color:var(--tx-0);font-size:12.5px;font-weight:500}.asm-lines td.asm-grip{cursor:grab;white-space:nowrap;-webkit-user-select:none;user-select:none}.asm-lines td.asm-grip:active{cursor:grabbing}.asm-lines .asm-grip-dots{opacity:0;margin-right:3px;transition:opacity .1s}.asm-lines tr.asm-line:hover .asm-grip-dots{opacity:.55}.asm-lines tr.asm-line.drop-before td{box-shadow:inset 0 2px 0 var(--accent)}.asm-lines tr.asm-line.drop-after td{box-shadow:inset 0 -2px 0 var(--accent)}.asm-lines td.edit .ce{height:24px}.asm-lines .btn.ghost{padding:0 5px;font-size:10px}.audit-totals{align-items:flex-end;gap:40px;padding:2px 2px 14px;display:flex}.audit-total{flex-direction:column;gap:2px;display:flex}.audit-total-k{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-2);font-size:10.5px;font-weight:600}.audit-total-v{font-size:22px;font-weight:700;font-family:var(--font-mono)}.audit-total-v small{color:var(--tx-2);font-size:12px;font-weight:500}.page.audit-page{max-width:none}.review-objects-layout{align-items:flex-start;gap:14px;display:flex}.review-dbpanel{flex-direction:column;flex:none;gap:8px;width:520px;height:calc(100vh - 134px);display:flex;position:sticky;top:48px}.review-dbpanel-head{letter-spacing:.1em;text-transform:uppercase;color:var(--tx-2);flex:none;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.review-dbpanel .asm-picker{flex:1;min-height:0}.review-dbpanel .pick-children>.pick-mat:nth-child(2n),.review-dbpanel .pick-flat>div:nth-child(2n) .pick-item{background:0 0!important}.review-dbpanel .pick-tree-body .pick-item,.review-dbpanel .pick-tree-body .lib-item{border-bottom:1px solid var(--line-soft);background:0 0;border-radius:0}.review-dbpanel .pick-tree-body .pick-item:hover,.review-dbpanel .pick-tree-body .lib-item:hover{box-shadow:inset 2px 0 0 var(--accent);background:#dbe6f4!important}.audit-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:9px 12px;display:flex}.audit-toolbar .audit-search{background:var(--bg-1)}.audit-toolbar .btn.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.audit-toolbar .btn.on:hover{background:#54739c;border-color:#54739c}.audit-tree{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);grid-template-columns:minmax(240px,2fr) minmax(78px,max-content) minmax(52px,88px) minmax(52px,88px) minmax(62px,max-content) minmax(72px,max-content) minmax(34px,max-content) minmax(94px,max-content) minmax(62px,max-content) minmax(34px,max-content) minmax(94px,max-content) minmax(44px,max-content);align-content:start;font-size:12.5px;display:grid;overflow-x:auto}.audit-tree>.audit-tree-head,.audit-tree>.obj-row{grid-column:1/-1;grid-template-columns:subgrid;align-items:stretch;display:grid}.audit-tree>.node,.audit-tree>.obj-row.item.empty{grid-column:1/-1}.audit-tree>.obj-row.item.empty{display:flex}.audit-tree-head{border-bottom:1px solid var(--line);letter-spacing:.05em;text-transform:uppercase;height:28px;color:var(--mustard);background:color-mix(in srgb, var(--mustard) 9%, transparent);font-size:12.5px;font-weight:600}.audit-tree-head .obj-key{align-items:center;min-width:0;padding-left:12px;display:flex}.audit-tree-head>span:not(.obj-key){justify-content:center}.audit-tree .node{border-bottom:1px solid var(--line)}.audit-tree .node .nroll{white-space:nowrap;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--tx-1);flex:none;grid-template-columns:142px 112px 142px 132px;align-items:center;padding-left:10px;font-size:11px;display:grid;overflow:visible}.audit-tree .node .nroll .nr{grid-template-columns:max-content 1fr;align-items:baseline;column-gap:7px;padding-right:26px;display:grid;position:relative}.audit-tree .node .nroll .nr .v{min-width:0}.audit-tree .node .nroll .nr.tot{padding-right:0}.audit-tree .node .nroll .nr:not(.tot):after{content:"|";color:var(--tx-3);opacity:.45;pointer-events:none;font-weight:400;position:absolute;top:50%;right:13px;transform:translate(50%,-50%)}.audit-tree .node .nroll .nr b{letter-spacing:.06em;color:var(--tx-3);flex:none;font-size:9px;font-weight:600}.audit-tree .node .nroll .nr .v{text-align:left}.audit-tree .node .nroll .nr.tot{color:var(--mustard);font-weight:600}.audit-tree .node .nroll .nr.tot b{color:var(--mustard);opacity:.75}.audit-tree .node .nroll.muted{color:var(--tx-3);letter-spacing:.03em;font-size:10px;display:block}.audit-tree .obj-row{cursor:pointer;border-bottom:1px solid var(--line);gap:0;height:auto;min-height:26px;padding:0}.audit-tree .obj-row.last:before{height:auto;bottom:50%}.audit-tree .obj-row.drop-target{background:var(--sel);box-shadow:inset 0 0 0 1px var(--accent)}.audit-tree .obj-row>.twirl{left:calc(44px + var(--ind,0px));width:14px;height:14px;color:var(--tx-3);place-items:center;margin:0;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.audit-tree .obj-row>.twirl svg{width:11px;height:11px;transition:transform .12s;transform:rotate(-90deg)}.audit-tree .obj-row>.twirl.open svg{transform:rotate(0)}.audit-tree .obj-row .obj-key{min-width:0;padding-left:calc(66px + var(--ind,0px));flex-direction:column;justify-content:center;gap:1px;padding-right:8px;display:flex}.audit-tree .obj-row .obj-nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audit-tree .obj-row .obj-note{color:var(--tx-2);white-space:pre-line;font-size:11px}.audit-tree .obj-row:not(.item) .obj-nm{color:var(--tx-0);font-weight:600}.audit-tree .obj-sub{color:var(--tx-3);font-size:10.5px}.audit-tree .col-kind,.audit-tree .col-mult,.audit-tree .col-div,.audit-tree .col-qty,.audit-tree .col-price,.audit-tree .col-per,.audit-tree .col-extprice,.audit-tree .col-labor,.audit-tree .col-per2,.audit-tree .col-extlabor,.audit-tree .col-act{white-space:nowrap;border-left:1px solid var(--line);justify-content:flex-end;align-items:center;padding:0 8px;display:flex}.audit-tree .col-kind{justify-content:center;padding:0 6px}.audit-tree .kind-plain{text-transform:uppercase;letter-spacing:.05em;color:var(--tx-2);font-size:10px}.audit-tree .col-mult,.audit-tree .col-div{padding:0 5px}.audit-tree .col-per,.audit-tree .col-per2{justify-content:center;padding:0 4px}.audit-tree .col-act{justify-content:center;padding:0 6px}.audit-tree .col-mult .ce,.audit-tree .col-div .ce{text-align:right;border:1px solid var(--line);background:var(--bg-1);width:100%;height:22px;color:var(--tx-0);font-family:var(--font-mono);border-radius:4px;padding:0 5px;font-size:11.5px}.audit-tree .col-mult .ce:focus,.audit-tree .col-div .ce:focus{border-color:var(--accent);outline:none}.audit-tree .col-kind .ce{text-align:center;border:1px solid var(--line);background:var(--bg-1);width:100%;height:22px;color:var(--tx-0);font:inherit;border-radius:4px;padding:0 4px;font-size:11px}.audit-tree .col-kind .ce:focus{border-color:var(--accent);outline:none}.audit-tree .ce[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.audit-tree .ce[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.audit-tree .ce[type=number]{appearance:textfield}.audit-tree .obj-row.item{--rail:52px;cursor:default}.audit-tree .obj-row.item .obj-key{padding-left:calc(76px + var(--ind,0px));flex-direction:row;justify-content:flex-start;align-items:center;gap:6px}.audit-tree .obj-row.item .obj-nm{color:var(--tx-1);font-weight:400}.audit-tree .obj-row.item.empty .obj-key{gap:10px}.audit-tree .obj-row.item.has-anc{background-image:linear-gradient(var(--line), var(--line));background-repeat:no-repeat;background-size:1px 100%;background-position:calc(20px + var(--ind,0px)) 0}.audit-tree .obj-row.item .size-cell{border-right:1px solid var(--line);min-width:46px;font-family:var(--font-mono);color:var(--tx-1);text-align:right;flex:none;padding-right:6px;font-size:11.5px}.audit-tree .obj-row.item.pending{animation:1.1s ease-in-out infinite audit-pending}.audit-tree .obj-row.item.pending .obj-sub{font-size:11px}@keyframes audit-pending{0%,to{opacity:.55}50%{opacity:.9}}.review-objects-layout .ar-del{width:24px;height:22px;color:var(--tx-3);cursor:pointer;background:0 0;border:none;border-radius:3px;place-items:center;display:inline-grid}.review-objects-layout .ar-del svg{width:14px;height:14px}.review-objects-layout .ar-del:hover{color:var(--red);background:#f6e3e4}.review-objects-layout .ar-del:disabled{opacity:.4;cursor:not-allowed}.review-objects-layout .ar-edit{width:24px;height:22px;color:var(--tx-3);cursor:pointer;background:0 0;border:none;border-radius:3px;place-items:center;display:inline-grid}.review-objects-layout .ar-edit svg{width:14px;height:14px}.review-objects-layout .ar-edit:hover{background:var(--sel);color:var(--accent-ink)}.review-objects-layout .ar-tool{color:var(--accent-ink);font-size:13px}.obj-act.obj-tool{color:var(--accent-ink);opacity:1;font-size:12px}.obj-act.obj-tool:hover{color:var(--tx-0)}.review-objects-layout .ar-tool:hover{background:var(--sel);color:var(--tx-0)}.audit-tree .col-act{justify-content:flex-end;gap:2px}.review-items-tbl input.ce.num[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.review-items-tbl input.ce.num[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.review-items-tbl input.ce.num[type=number]{appearance:textfield}table.tbl.review-items-tbl thead th,table.tbl.review-items-tbl thead th.num{text-align:center}table.tbl.review-items-tbl thead th:first-child{text-align:left}@media (width<=1100px){.review-objects-layout{flex-direction:column}.review-dbpanel{width:100%;height:420px;position:static}}.asm-picker{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-inset);flex-direction:column;min-height:0;padding:10px;display:flex}.asm-picker-head{letter-spacing:.1em;text-transform:uppercase;color:var(--tx-2);flex:none;align-items:center;gap:8px;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.asm-clear-cat{text-transform:none;letter-spacing:0;color:var(--accent-ink);white-space:nowrap;max-width:62%;margin-left:auto;font-size:10px;overflow:hidden}.asm-clear-cat svg{width:12px;height:12px}.asm-pick-folders{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);flex:0 0 230px;margin-bottom:8px;padding:6px 4px;overflow:auto}.asm-pick-folders .cat-tree{font-size:12px}.asm-pick-search{background:var(--bg-1);flex:none;align-items:center;gap:8px;margin-bottom:8px;padding:0 10px;display:flex}.pick-search-row{flex:none;align-items:flex-start;gap:8px;display:flex}.pick-search-row .asm-pick-search{flex:1;min-width:0}.pick-search-row .pick-bulk{flex:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:16px;font-weight:700;line-height:1;display:inline-flex}.asm-picker-list{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);flex:1;min-height:0;overflow:auto}.pick-tree{flex-direction:column;flex:1;min-height:0;display:flex}.pick-tree .asm-pick-search{flex:none}.pick-tree-body{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);flex:1;min-height:0;padding:3px 0;overflow:auto}.pick-tree-root{padding:0 6px 0 8px}.pick-flat{padding:0 2px}.pick-folder{cursor:pointer;-webkit-user-select:none;user-select:none;height:28px;color:var(--tx-0);border-radius:4px;align-items:center;gap:4px;padding:0 8px 0 4px;font-size:12.5px;display:flex}.pick-folder:hover{background:var(--bg-2)}.pick-folder.sel{box-shadow:inset 2px 0 0 var(--accent);background:#5e81ac29}.pick-folder.sel .nm,.pick-folder.sel .ic{color:var(--accent-ink)}.pick-folder .twirl{width:14px;color:var(--tx-3);flex:none;transition:transform .12s;display:inline-flex}.pick-folder .twirl.open{transform:rotate(90deg)}.pick-folder .twirl svg{width:12px;height:12px}.pick-folder .ic{width:14px;height:14px;color:var(--accent);flex:none}.pick-folder .nm{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.pick-folder .pick-cnt{font-family:var(--font-mono);color:var(--tx-3);flex:none;margin-left:auto;padding-left:8px;font-size:10.5px}.pick-folder.sel .pick-cnt{color:var(--accent-ink)}.pick-tools{flex:none;align-items:center;gap:6px;padding:0 2px 7px;display:flex}.pick-tools .btn{gap:5px;height:22px;padding:0 8px;font-size:10.5px}.pick-tools .btn svg{width:11px;height:11px}.pick-tools-sp{flex:1}.pick-tools-n{color:var(--tx-2);font-size:10.5px;font-family:var(--font-mono)}.pick-tree-body .pick-item{border:none;border-radius:4px;min-height:28px;padding:2px 8px}.pick-item .pi-size{text-align:left;width:46px;font-family:var(--font-mono);color:var(--tx-2);white-space:nowrap;flex:none;font-size:11px}.pick-children>.pick-mat:nth-child(2n){background:var(--zebra);border-radius:4px}.pick-flat>div:nth-child(2n) .pick-item{background:var(--zebra)}.pick-tree-body .pick-item:hover{background:var(--hover)}.pick-tree-body .pick-item .li-add{width:20px;height:20px}.pick-empty{padding:3px 8px;font-size:11px;font-style:italic}.pick-children{padding-left:16px}.pick-children>.pick-node{position:relative}.pick-children>.pick-node:before{content:"";border-left:1px solid var(--line-strong);position:absolute;top:0;bottom:0;left:-9px}.pick-children>.pick-node:last-child:before{height:14px;bottom:auto}.pick-children>.pick-node:after{content:"";border-top:1px solid var(--line-strong);width:9px;position:absolute;top:14px;left:-9px}.asm-versions{border-top:1px solid var(--line);flex:none;margin-top:14px;padding-top:12px}.model-page{max-width:1720px}.model-page .panel{margin-bottom:14px}.model-page .panel:last-child{margin-bottom:0}.model-page .err{border-radius:var(--r);color:var(--red);background:#f6e3e4;border:1px solid #e0adb1;gap:8px;padding:9px 12px;font-size:12.5px;display:flex}.model-page .preset-bar{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.model-page .preset-lead{letter-spacing:.1em;text-transform:uppercase;color:var(--tx-2);margin-right:4px;font-size:11px;font-weight:700}.model-page .preset-chip{border:1px solid var(--line-strong);background:var(--bg-1);height:28px;color:var(--tx-1);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:12.5px;transition:background .1s,border-color .1s,color .1s;display:inline-flex}.model-page .preset-chip:hover{background:var(--bg-2);color:var(--tx-0)}.model-page .preset-chip.on{background:var(--sel);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.model-page .preset-chip.new{color:var(--tx-2);border-style:dashed}.model-page .preset-chip.new:hover{color:var(--accent-ink);border-color:var(--accent)}.model-page .preset-chip .dot{background:var(--amber);border-radius:50%;flex:none;width:6px;height:6px}.model-page .preset-active{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:9px;margin-top:12px;padding-top:12px;display:flex}.model-page .preset-active .pa-name{font-family:var(--font-display);color:var(--forge);font-size:15px;font-weight:600}.model-page .preset-active .pa-dirty{color:var(--amber);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.model-page .preset-active .pa-dirty .dot{background:var(--amber);border-radius:50%;width:6px;height:6px}.model-page .preset-active .grow{flex:1}.model-page .name-edit{align-items:center;gap:6px;display:inline-flex}.model-page .name-edit input{width:190px;height:28px}.model-page .build-sec{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.model-page .build-sec:first-child{border-top:none;padding-top:0}.model-page .build-sec .lbl{color:var(--tx-0);font-size:13px;font-weight:600}.model-page .build-sec .hint{color:var(--tx-2);max-width:62ch;margin-top:3px;font-size:12px}.model-page .build-sec .hint b{color:var(--tx-0);font-weight:700}.model-page .metrics{border:1px solid var(--line);border-top:2px solid var(--bronze);border-radius:var(--r);background:var(--bg-inset);flex-wrap:wrap;display:flex;overflow:hidden}.model-page .metric{border-right:1px solid var(--line);flex:1;min-width:100px;padding:10px 16px}.model-page .metric:last-child{border-right:none}.model-page .metric .mv{font-family:var(--font-mono);color:var(--tx-0);letter-spacing:-.01em;font-size:20px;font-weight:700;line-height:1}.model-page .metric .mk{letter-spacing:.1em;text-transform:uppercase;color:var(--tx-2);margin-top:6px;font-size:10px}.model-page .metric.accent .mv{color:var(--accent-ink)}.model-page .metric.cyan .mv{color:var(--cyan)}.model-page .metric.green .mv{color:var(--green)}.model-page .build-controls{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:2px;padding-top:14px;display:flex}.model-page .fld{flex-direction:column;gap:5px;display:flex}.model-page .fld>span{letter-spacing:.03em;color:var(--tx-2);font-size:11px}.model-page .fld input{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);height:32px;color:var(--tx-0);padding:0 11px;font-size:12.5px}.model-page .fld input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5e81ac26}.model-page .fld input[readonly]{background:var(--bg-2);color:var(--tx-2)}.model-page .prog-head{color:var(--tx-2);justify-content:space-between;margin-bottom:5px;font-size:12px;display:flex}.model-page .prog-head b{color:var(--tx-0)}.model-page .prog{background:var(--bg-2);border-radius:999px;height:8px;overflow:hidden}.model-page .prog>i{background:var(--accent);border-radius:999px;height:100%;transition:width .3s;display:block}.model-page .jobcard{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.model-page .jobcard+.jobcard{margin-top:6px}.model-page .jobcard-head{align-items:center;gap:9px;padding:8px 11px;display:flex}.model-page .jobcard-head.sel{background:var(--sel)}.model-page .jobcard-head .jc-btn{cursor:pointer;text-align:left;min-width:0;color:var(--tx-0);background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;font-weight:600;display:flex}.model-page .jobcard-head .jc-btn .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-page .jobcard-head .tw{color:var(--tx-3);flex:none;font-size:10px;transition:transform .1s}.model-page .jobcard-head .tw.open{transform:rotate(90deg)}.model-page .jobcard-head .jc-meta{font-family:var(--font-mono);color:var(--tx-3);flex:none;margin-left:auto;font-size:11px;font-weight:400}.model-page .catcard{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.model-page .catcard+.catcard{margin-top:6px}.model-page .catcard-head{align-items:center;gap:9px;padding:8px 11px;display:flex}.model-page .catcard-head.on{background:var(--bg-2)}.model-page .catcard-head .cc-btn{cursor:pointer;text-align:left;color:var(--tx-0);background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;font-weight:600;display:flex}.model-page .catcard-head .tw{color:var(--tx-3);font-size:10px;transition:transform .1s}.model-page .catcard-head .tw.open{transform:rotate(90deg)}.model-page .catcard-head .cc-meta{font-family:var(--font-mono);color:var(--tx-3);margin-left:auto;font-size:11px;font-weight:400}.model-page .train-cmd{align-items:stretch;gap:8px;display:flex}.model-page .train-cmd input{flex:1}.model-page .thumb{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:4px;width:36px;height:36px;display:block}.model-page .previews{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.model-page .previews img{border:1px solid var(--line);border-radius:6px;width:100%}.model-page .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.model-page h4{font-family:var(--font-display);color:var(--forge);margin:16px 0 7px;font-size:14px;font-weight:600}.model-page .mm-kpi{margin-bottom:14px}.mm-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=1180px){.mm-layout{grid-template-columns:1fr}}.mm-rail{position:sticky;top:14px}.mm-rail .panel-body{max-height:calc(100vh - 230px);padding:10px;overflow:auto}@media (width<=1180px){.mm-rail{position:static}.mm-rail .panel-body{max-height:none}}.mm-rail-search{width:100%;margin-bottom:9px}.mm-list{flex-direction:column;gap:6px;display:flex}.mm-model{text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);cursor:pointer;flex-direction:column;gap:7px;width:100%;padding:10px 11px;transition:background .1s,border-color .1s;display:flex}.mm-model:hover{background:var(--bg-2)}.mm-model.on{border-color:var(--accent);background:var(--sel);box-shadow:inset 3px 0 0 var(--accent)}.mm-model.custom{border-style:dashed}.mm-model .mm-top{align-items:center;gap:8px;min-width:0;display:flex}.mm-model .mm-nm{color:var(--tx-0);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.mm-model.on .mm-nm{color:var(--accent-ink)}.mm-model .mm-status{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-2);flex:none;align-items:center;gap:5px;margin-left:auto;font-size:9.5px;font-weight:700;display:inline-flex}.mm-model .mm-status .dot{background:var(--tx-3);border-radius:50%;width:7px;height:7px}.mm-model .mm-status.built .dot{background:var(--green)}.mm-model .mm-status.dirty .dot{background:var(--amber)}.mm-model .mm-status.dirty{color:var(--amber)}.mm-model .mm-figs{font-family:var(--font-mono);color:var(--tx-3);gap:13px;font-size:11px;display:flex}.mm-model .mm-figs b{color:var(--tx-1)}.mm-rail-empty{text-align:center;color:var(--tx-3);padding:20px 8px;font-size:12px}.mm-work-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mm-work-head .wh-name{font-family:var(--font-display);color:var(--forge);font-size:19px;font-weight:600}.mm-work-head .grow{flex:1}.mm-work-head .pa-dirty{color:var(--amber);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.mm-work-head .pa-dirty .dot{background:var(--amber);border-radius:50%;width:6px;height:6px}.mm-recipe{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.mm-card{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-inset);flex-direction:column;gap:7px;min-height:118px;padding:12px 14px;display:flex}.mm-card .mc-k{letter-spacing:.1em;text-transform:uppercase;color:var(--tx-2);font-size:10px;font-weight:700}.mm-card .mc-v{font-family:var(--font-mono);color:var(--tx-0);font-size:20px;font-weight:700;line-height:1.1}.mm-card .mc-v small{font-family:var(--font-ui);color:var(--tx-2);font-size:12px;font-weight:400}.mm-card .mc-v.slug{word-break:break-all;color:var(--accent-ink);font-size:13px}.mm-card .mc-sub{color:var(--tx-2);font-size:11.5px}.mm-card .mc-actions{margin-top:auto}.mm-card input.mc-num{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);width:88px;height:30px;color:var(--tx-0);font-family:var(--font-mono);padding:0 10px;font-size:14px}.mm-card input.mc-num:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5e81ac26}.mm-bal{flex-direction:column;display:flex}.mm-bal-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(120px,1.4fr) 90px minmax(120px,3fr) 70px 74px;align-items:center;gap:12px;padding:6px 0;display:grid}.mm-bal-row:last-child{border-bottom:none}.mm-bal .bc-code{color:var(--tx-0);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.mm-bal .bc-sys{color:var(--tx-3);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.mm-bal .bc-track{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;height:9px;overflow:hidden}.mm-bal .bc-fill{background:var(--cyan);opacity:.85;border-radius:3px;height:100%}.mm-bal .bc-fill.low{background:var(--amber)}.mm-bal .bc-fill.dropped,.mm-bal .bc-fill.off{background:var(--tx-3);opacity:.5}.mm-bal .bc-qty{font-family:var(--font-mono);text-align:right;color:var(--tx-1);font-size:12px}.mm-nobuild{border:1px dashed var(--line-strong);border-radius:var(--r);background:var(--bg-inset);color:var(--tx-2);align-items:center;gap:12px;padding:18px;font-size:13px;display:flex}.mm-trained{flex-wrap:wrap;gap:7px;display:flex}.mm-trained .tm-chip{border:1px solid var(--line-strong);background:var(--bg-1);height:26px;font-family:var(--font-mono);color:var(--tx-1);border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12px;display:inline-flex}.mm-trained .tm-chip .dot{background:var(--green);border-radius:50%;width:6px;height:6px}.mm-tax-sys{font-family:var(--font-display);color:var(--forge);align-items:center;gap:8px;margin:14px 0 6px;font-size:13px;font-weight:600;display:flex}.mm-tax-sys .n{font-family:var(--font-mono);color:var(--tx-3);font-size:11px;font-weight:400}.mm-seed{flex-direction:column;gap:8px;margin-top:4px;display:flex}.mm-seed label{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:var(--bg-1);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.mm-seed label:hover{background:var(--bg-2)}.mm-seed label.on{border-color:var(--accent);background:var(--sel)}.mm-seed .s-body{flex-direction:column;gap:2px;display:flex}.mm-seed .s-t{color:var(--tx-0);font-size:13px;font-weight:600}.mm-seed .s-d{color:var(--tx-2);font-size:11.5px}.model-page .mm-modal-foot{background:var(--bg-1);border-top:1px solid var(--line);align-items:center;gap:8px;margin:14px -14px -14px;padding:11px 14px;display:flex;position:sticky;bottom:0}.model-page .cadm-scroll{flex-direction:column;gap:8px;display:flex}.model-page .cadm-cat{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.model-page .cadm-cat-head{background:var(--bg-2);align-items:center;gap:8px;padding:8px 11px;display:flex}.model-page .cadm-cat-head .tw{color:var(--tx-3);font-size:10px;transition:transform .1s}.model-page .cadm-cat-head .tw.open{transform:rotate(90deg)}.model-page .cadm-cat-head .nm{font-family:var(--font-display);color:var(--forge);font-size:14px;font-weight:600}.model-page .cadm-cat-head .n{font-family:var(--font-mono);color:var(--tx-3);font-size:11px}.model-page .cadm-cat-head .acts{gap:4px;margin-left:auto;display:flex}.model-page .cadm-in{background:var(--bg-1);border:1px solid var(--line-strong);width:100%;height:26px;color:var(--tx-0);font-size:12px;font-family:var(--font-ui);border-radius:3px;padding:0 8px}.model-page .cadm-in:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #5e81ac2e}.model-page select.cadm-in{cursor:pointer}.model-page .cadm-thumb{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:3px;width:28px;height:28px;display:block}.model-page .cadm-del{cursor:pointer;color:var(--tx-3);background:0 0;border:none;border-radius:3px;padding:2px 7px;font-size:13px;line-height:1}.model-page .cadm-del:hover{color:var(--red);background:#bf616a24}.model-page .cadm-create{flex-wrap:wrap}[data-theme=nordix-dark]{--bg-0:#141414;--bg-1:#232323;--bg-2:#2e2e2e;--bg-3:#3a3a3a;--bg-inset:#0c0c0c;--line:#ffffff1a;--line-soft:#ffffff0f;--line-strong:#ffffff2e;--tx-0:#f0f0f0;--tx-1:#ababab;--tx-2:#969696;--tx-3:#7a7a7a;--accent:#00c8e0;--accent-rgb:0 200 224;--accent-ink:#00c8e0;--forge:#f0f0f0;--bronze:#fb923c;--amber:#fb923c;--amber-dim:#a16207;--mustard:#d4a72c;--cyan:#00c8e0;--green:#2ecc71;--red:#e74c3c;--violet:#a78bfa;--blue:#89e;--labor:#f97316;--tree-l0:#eeeeec;--tree-l1:#c8c8c4;--sel:#00c8e01a;--hover:#ffffff0a;--zebra:#ffffff05;--band:#2a2a2a;--cat:#2e2e2e;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Inter", system-ui, sans-serif;--font-display:"Inter", system-ui, sans-serif;--r:4px}[data-theme=nordix-light]{--bg-0:#d4d7db;--bg-1:#e8eaed;--bg-2:#bec2c9;--bg-3:#c7cacf;--bg-inset:#c5c8cc;--line:#00000024;--line-soft:#00000014;--line-strong:#0000003d;--tx-0:#0d1117;--tx-1:#2d3748;--tx-2:#4a5568;--tx-3:#718096;--accent:#0891b2;--accent-rgb:8 145 178;--accent-ink:#0891b2;--forge:#0d1117;--bronze:#c2410c;--amber:#c2410c;--amber-dim:#d9a662;--mustard:#a16207;--cyan:#0891b2;--green:#059669;--red:#dc2626;--violet:#8b5cf6;--blue:#2563eb;--labor:#ea580c;--tree-l0:#14181c;--tree-l1:#3b4148;--sel:#0891b21a;--hover:#0000000b;--zebra:#00000006;--band:#dbdde0;--cat:#dfe1e4;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Inter", system-ui, sans-serif;--font-display:"Inter", system-ui, sans-serif;--r:4px}[data-theme^=nordix] body{font-variant-numeric:tabular-nums;font-size:13.5px}[data-theme^=nordix] *{scrollbar-color:var(--line-strong) transparent}[data-theme^=nordix] ::-webkit-scrollbar{width:8px;height:8px}[data-theme^=nordix] ::-webkit-scrollbar-track{background:var(--bg-1)}[data-theme^=nordix] ::-webkit-scrollbar-thumb{background:var(--line-strong);border:none;border-radius:4px}[data-theme^=nordix] ::-webkit-scrollbar-thumb:hover{background:rgb(var(--accent-rgb) / .25)}[data-theme^=nordix] ::selection{background:rgb(var(--accent-rgb) / .22)}[data-theme^=nordix] input:focus,[data-theme^=nordix] select:focus,[data-theme^=nordix] textarea:focus{border-color:var(--accent)!important;box-shadow:none!important}[data-theme^=nordix] .ce:focus,[data-theme^=nordix] .ledger-tbl input.ce.num:focus,[data-theme^=nordix] .cat-add input,[data-theme^=nordix] .cat-rename{background:var(--bg-1);box-shadow:none}[data-theme^=nordix] .btn:hover{border-color:var(--line-strong)}[data-theme^=nordix] .btn.primary{color:var(--accent);border-color:rgb(var(--accent-rgb) / .4);background:0 0}[data-theme^=nordix] .btn.primary:hover{background:rgb(var(--accent-rgb) / .1);border-color:var(--accent)}[data-theme^=nordix] .btn.lock-toggle.editing{color:var(--green);border-color:color-mix(in srgb, var(--green) 40%, transparent);background:0 0}[data-theme^=nordix] .btn.lock-toggle.editing:hover{background:color-mix(in srgb, var(--green) 10%, transparent)}[data-theme^=nordix] .seg-group button.on,[data-theme^=nordix] .assign-tabs .atab.on,[data-theme^=nordix] .to-toolrail .trail-btn.on,[data-theme^=nordix] .to-toolbar-h .t.on,[data-theme^=nordix] .trail-flyout .tf-row.on,[data-theme^=nordix] .assigned-row .ar-apply.on,[data-theme^=nordix] .dbpick-row.on .cb{background:rgb(var(--accent-rgb) / .12);color:var(--accent);border-color:rgb(var(--accent-rgb) / .4)}[data-theme^=nordix] .to-toolrail .trail-btn.on svg,[data-theme^=nordix] .to-toolbar-h .t.on svg,[data-theme^=nordix] .to-toolrail .trail-btn.circuits.on,[data-theme^=nordix] .to-toolrail .trail-btn.circuits.on svg{color:var(--accent)}[data-theme^=nordix] .trail-flyout .tf-row.on .tf-ic{color:var(--accent)!important}[data-theme^=nordix] .trail-flyout .tf-row.on .tf-label,[data-theme^=nordix] .trail-flyout .tf-row.on .tf-blurb{color:var(--accent)}[data-theme^=nordix] .lib-item .li-add:hover{background:rgb(var(--accent-rgb) / .12);color:var(--accent);border-color:var(--accent)}[data-theme^=nordix] .assigned-row .ar-kind{color:var(--cyan);background:color-mix(in srgb, var(--cyan) 14%, transparent);border:1px solid color-mix(in srgb, var(--cyan) 40%, transparent)}[data-theme^=nordix] .assigned-row .ar-kind.material{color:var(--cyan);background:color-mix(in srgb, var(--cyan) 14%, transparent);border-color:color-mix(in srgb, var(--cyan) 40%, transparent)}[data-theme^=nordix] .assigned-row .ar-kind.assembly{color:var(--violet);background:color-mix(in srgb, var(--violet) 14%, transparent);border-color:color-mix(in srgb, var(--violet) 40%, transparent)}[data-theme^=nordix] .assigned-row .ar-kind.custom{color:var(--labor);background:color-mix(in srgb, var(--labor) 14%, transparent);border-color:color-mix(in srgb, var(--labor) 40%, transparent)}[data-theme^=nordix] .tag{background:var(--bg-2);border-color:var(--line-strong);color:var(--tx-1)}[data-theme^=nordix] .tag.amber{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 40%, transparent);background:color-mix(in srgb, var(--amber) 12%, transparent)}[data-theme^=nordix] .tag.cyan{color:var(--cyan);border-color:color-mix(in srgb, var(--cyan) 40%, transparent);background:color-mix(in srgb, var(--cyan) 12%, transparent)}[data-theme^=nordix] .tag.green{color:var(--green);border-color:color-mix(in srgb, var(--green) 40%, transparent);background:color-mix(in srgb, var(--green) 12%, transparent)}[data-theme^=nordix] .tag.violet{color:var(--violet);border-color:color-mix(in srgb, var(--violet) 40%, transparent);background:color-mix(in srgb, var(--violet) 12%, transparent)}[data-theme^=nordix] .tag.blue{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 40%, transparent);background:color-mix(in srgb, var(--blue) 12%, transparent)}[data-theme^=nordix] .tag.red{color:var(--red);border-color:color-mix(in srgb, var(--red) 40%, transparent);background:color-mix(in srgb, var(--red) 12%, transparent)}[data-theme^=nordix] .contract-btn{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 40%, transparent);background:color-mix(in srgb, var(--blue) 12%, transparent)}[data-theme^=nordix] .contract-btn:hover:not(:disabled){background:color-mix(in srgb, var(--blue) 20%, transparent);border-color:color-mix(in srgb, var(--blue) 55%, transparent)}[data-theme^=nordix] .contract-btn.co{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 40%, transparent);background:color-mix(in srgb, var(--amber) 12%, transparent)}[data-theme^=nordix] .contract-btn.co:hover:not(:disabled){background:color-mix(in srgb, var(--amber) 20%, transparent);border-color:color-mix(in srgb, var(--amber) 55%, transparent)}[data-theme^=nordix] .status-select{background-color:var(--bg-2);border-color:var(--line-strong);color:var(--tx-1)}[data-theme^=nordix] .status-select option{background:var(--bg-1);color:var(--tx-0)}[data-theme^=nordix] .status-select.amber{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 40%, transparent);background-color:color-mix(in srgb, var(--amber) 12%, transparent)}[data-theme^=nordix] .status-select.cyan{color:var(--cyan);border-color:color-mix(in srgb, var(--cyan) 40%, transparent);background-color:color-mix(in srgb, var(--cyan) 12%, transparent)}[data-theme^=nordix] .status-select.green{color:var(--green);border-color:color-mix(in srgb, var(--green) 40%, transparent);background-color:color-mix(in srgb, var(--green) 12%, transparent)}[data-theme^=nordix] .status-select.violet{color:var(--violet);border-color:color-mix(in srgb, var(--violet) 40%, transparent);background-color:color-mix(in srgb, var(--violet) 12%, transparent)}[data-theme^=nordix] .status-select.blue{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 40%, transparent);background-color:color-mix(in srgb, var(--blue) 12%, transparent)}[data-theme^=nordix] .status-select.red{color:var(--red);border-color:color-mix(in srgb, var(--red) 40%, transparent);background-color:color-mix(in srgb, var(--red) 12%, transparent)}[data-theme^=nordix] .banner{border-color:color-mix(in srgb, var(--amber) 35%, transparent);background:color-mix(in srgb, var(--amber) 8%, transparent)}[data-theme^=nordix] .banner.info{border-color:color-mix(in srgb, var(--blue) 35%, transparent);background:color-mix(in srgb, var(--blue) 8%, transparent)}[data-theme^=nordix] .check.warn{background:color-mix(in srgb, var(--amber) 7%, transparent)}[data-theme^=nordix] .check.fail{background:color-mix(in srgb, var(--red) 7%, transparent)}[data-theme^=nordix] .model-page .err{border-color:color-mix(in srgb, var(--red) 35%, transparent);background:color-mix(in srgb, var(--red) 10%, transparent)}[data-theme^=nordix] .app-error-detail,[data-theme^=nordix] .auth-err{color:var(--red)}[data-theme^=nordix] .ledger-tbl .ar-del:hover,[data-theme^=nordix] .assigned-row .ar-del:hover,[data-theme^=nordix] .review-objects-layout .ar-del:hover,[data-theme^=nordix] .tbl .ar-del:hover,[data-theme^=nordix] .ctx-menu button.danger:not(:disabled):hover{background:color-mix(in srgb, var(--red) 12%, transparent);color:var(--red)}[data-theme^=nordix] .ledger-head .btn.ledger-add-mat{border-color:color-mix(in srgb, var(--cyan) 40%, transparent)}[data-theme^=nordix] .ledger-head .btn.ledger-add-mat:hover{background:color-mix(in srgb, var(--cyan) 10%, transparent)}[data-theme^=nordix] .ledger-head .btn.ledger-add-asm{border-color:color-mix(in srgb, var(--violet) 40%, transparent)}[data-theme^=nordix] .ledger-head .btn.ledger-add-asm:hover{background:color-mix(in srgb, var(--violet) 10%, transparent)}[data-theme^=nordix] tr.folder-row td{background:var(--bg-2)}[data-theme^=nordix] tr.folder-row:hover td{background:var(--bg-3)}[data-theme^=nordix] tr.folder-row.drop-target td,[data-theme^=nordix] tr.folder-row.drop-into td,[data-theme^=nordix] .explorer-bar .bc-seg.drop-target{background:rgb(var(--accent-rgb) / .15)}[data-theme^=nordix] table.tbl tbody tr.row-sel td{background:var(--sel)!important}[data-theme^=nordix] .bulk-bar{border-color:rgb(var(--accent-rgb) / .35)}[data-theme^=nordix] .review-dbpanel .pick-tree-body .pick-item:hover,[data-theme^=nordix] .review-dbpanel .pick-tree-body .lib-item:hover{background:var(--sel)!important}[data-theme^=nordix] .ledger-tbl tr.asm-head td{background:color-mix(in srgb, var(--violet) 7%, transparent)}[data-theme^=nordix] table.tbl thead th{border:1px solid var(--line);border-bottom:1px solid var(--line-strong)}[data-theme^=nordix] .brand-inline .name,[data-theme^=nordix] .page-head .titles h1{text-shadow:none}[data-theme^=nordix] .brand-inline .name{font-weight:600}[data-theme^=nordix] .brand-inline .name b{color:var(--accent);font-weight:700}[data-theme^=nordix] .brand-inline .mark{background:rgb(var(--accent-rgb) / .12);color:var(--accent);border:1px solid rgb(var(--accent-rgb) / .4);box-shadow:none}[data-theme^=nordix] .brand-inline .mark svg{filter:none}[data-theme^=nordix] .owner-badge{box-shadow:none}[data-theme^=nordix] .ledger{box-shadow:none;border-top-color:var(--accent)}[data-theme^=nordix] .led-stat:hover{background:var(--hover)}[data-theme^=nordix] .page-head:after{background:var(--accent);opacity:1}[data-theme^=nordix] .model-page .metrics{border-top-color:var(--accent)}[data-theme^=nordix] .seg-tabs button.on{box-shadow:none;border:1px solid var(--line-strong)}[data-theme^=nordix] .dev-bar{box-shadow:inset 0 2px 0 rgb(var(--accent-rgb) / .55)}[data-theme^=nordix] .dev-tag{color:var(--amber);background:color-mix(in srgb, var(--amber) 10%, transparent);border-color:color-mix(in srgb, var(--amber) 40%, transparent)}[data-theme^=nordix] .navtab.dev-enter,[data-theme^=nordix] .navtab.dev-enter svg,[data-theme^=nordix] .job-nav .jn-right .navtab.dev-mode,[data-theme^=nordix] .job-nav .jn-right .navtab.dev-mode svg{color:var(--amber)}[data-theme^=nordix] .linear-info-card .lic-head{background:var(--bg-2);color:var(--accent);border-bottom:1px solid var(--line)}[data-theme^=nordix] .section-menu,[data-theme^=nordix] .modal,[data-theme^=nordix] .palette,[data-theme^=nordix] .ctx-menu,[data-theme^=nordix] .linear-info-card,[data-theme^=nordix] .auth-card,[data-theme^=nordix] .app-error-card,[data-theme^=nordix] .sched-card,[data-theme^=nordix] .sched-method,[data-theme^=nordix] .sched-card .sc-icon,[data-theme^=nordix] .seg-tabs,[data-theme^=nordix] .assign-tabs .atab,[data-theme^=nordix] .ledger-left,[data-theme^=nordix] .ledger-wrap,[data-theme^=nordix] .req-row,[data-theme^=nordix] .check,[data-theme^=nordix] .empty-card,[data-theme^=nordix] .home-welcome .hw-mark,[data-theme^=nordix] .dev-tag,[data-theme^=nordix] .dev-tab,[data-theme^=nordix] .model-page .previews img,[data-theme^=nordix] .auth-card input,[data-theme^=nordix] .app-error-detail,[data-theme^=nordix] .owner-badge,[data-theme^=nordix] .model-page .preset-chip,[data-theme^=nordix] .mm-trained .tm-chip,[data-theme^=nordix] .panel-soon,[data-theme^=nordix] .navtab .badge,[data-theme^=nordix] .tree .node .ncount,[data-theme^=nordix] .req-flag,[data-theme^=nordix] .model-page .prog,[data-theme^=nordix] .model-page .prog>i{border-radius:4px}[data-theme^=nordix] .nodes-tree .node .nm{color:var(--tree-l0)}[data-theme^=nordix] .nodes-tree .node.child .nm{color:var(--tree-l1);font-weight:500}[data-theme^=nordix] .nodes-tree .obj-row .obj-key{color:var(--tx-1)}[data-theme^=nordix] .nodes-tree .obj-row.sel .obj-key{color:var(--accent-ink)}[data-theme=nordix-dark]{--sheet-dim:.78}[data-theme=nord-dark]{--sheet-dim:.85}[data-theme=nordix-dark] .pdf-stage .sheet-base,[data-theme=nord-dark] .pdf-stage .sheet-base{filter:brightness(var(--sheet-dim))}.labor-col-pick{align-items:center;gap:7px;display:flex}.labor-col-pick select{height:30px;padding:0 8px;font-size:12.5px}.labor-col-note{padding:2px 2px 8px;font-size:12px}.tbl td.labor-override{box-shadow:inset 0 -2px 0 var(--labor-override);position:relative}.tbl td.labor-override .override-clear{cursor:pointer;width:17px;height:17px;color:var(--tx-2);opacity:0;background:0 0;border:none;padding:0;font-size:12px;line-height:1;transition:opacity .12s;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.tbl tr:hover td.labor-override .override-clear{opacity:1}.tbl td.labor-override .override-clear:hover{color:var(--tx-0)}.page.bom-page{max-width:none;padding-left:10px;padding-right:10px}.bom-page table.tbl{width:max-content;min-width:100%}.bom-page td.cell-name,.bom-page td.edit.name{min-width:320px}.bom-page td.edit.name .ce.name{width:auto;min-width:100%}.bom-page{--row-h:26px}.bom-page table.tbl{font-size:12.5px}.bom-page table.tbl thead th{padding:6px 7px}.bom-page table.tbl tbody td,.bom-page table.tbl tfoot td{padding:0 7px}.bom-page table.tbl td.edit{padding:0 3px}.bom-page .ce{height:24px;padding:0 4px;font-size:12.5px}.bom-page table.tbl tbody tr.grp-header td{height:24px}.page.closeout-page{max-width:none;padding:14px 12px}.co-head{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;height:40px;margin-bottom:10px;padding-bottom:8px;display:flex;position:relative}.co-head:after{content:"";background:var(--bronze);opacity:.85;width:46px;height:2px;position:absolute;bottom:-1px;left:0}.co-head h1{font-family:var(--font-display);color:var(--forge);letter-spacing:.005em;white-space:nowrap;text-overflow:ellipsis;max-width:44ch;margin:0;font-size:20px;font-weight:600;overflow:hidden}.co-head .co-dot{color:var(--tx-2);flex:none}.co-head .co-meta{font-family:var(--font-mono);color:var(--tx-1);flex:none;font-size:12.5px}.co-head .co-right{align-items:center;gap:10px;margin-left:auto;display:flex}.co-info{cursor:help;border:1px solid var(--line-strong);width:18px;height:18px;color:var(--tx-1);background:var(--bg-1);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.co-info:hover{color:var(--accent-ink);border-color:var(--accent)}.co-sqft{font-family:var(--font-mono);color:var(--tx-1);cursor:text;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 5px;font-size:12.5px}.co-sqft:hover{border-color:var(--line-strong)}.co-sqft.unset{color:var(--tx-1);font-style:italic}input.co-sqft{background:var(--bg-2);border-color:var(--cyan);width:11ch;box-shadow:inset 0 0 0 1px var(--cyan);color:var(--tx-0);font:inherit;font-family:var(--font-mono);outline:none}.co-strip{z-index:20;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);align-items:stretch;margin-bottom:10px;display:flex;position:sticky;top:0}.co-cell{border:none;border-left:1px solid var(--line);cursor:pointer;text-align:left;min-width:0;height:52px;font:inherit;color:inherit;background:0 0;flex-direction:column;flex:1 1 0;justify-content:center;gap:2px;padding:6px 10px;display:flex;position:relative}.co-cell:first-child{border-left:none}.co-cell-k{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-1);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.co-cell-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--tx-0);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;overflow:hidden}.co-cell-u{color:var(--tx-1);font-size:12.5px}.co-cell:hover{background:var(--hover)}.co-cell:focus-visible{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--cyan);outline:none}.co-cell.disabled{opacity:.45;cursor:default}.co-grp{flex:1 1 0;align-items:stretch;min-width:0;display:flex}.co-grp+.co-grp{border-left:1px solid var(--line-strong);flex:1.35 1 0}.co-grp .co-cell{border-left:none}.co-cell-v.plain{font-family:var(--font-ui);font-size:13px}.co-pop{z-index:40;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);cursor:default;flex-direction:column;gap:9px;min-width:230px;padding:10px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 30px #2e34402e}.co-pop label{color:var(--tx-1);flex-direction:column;gap:3px;font-size:12px;display:flex}.co-pop select{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--bg-1);color:var(--tx-0);font:inherit;padding:5px 6px;font-size:12px}.co-pop .co-check{cursor:pointer;color:var(--tx-1);flex-direction:row;align-items:center;gap:7px;font-size:12px}.co-body{grid-template-columns:minmax(0,1fr) 206px 252px;align-items:start;gap:10px;display:grid}.co-main{flex-direction:column;gap:10px;min-width:0;display:flex}.co-ledger{border-collapse:collapse;table-layout:fixed;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);width:100%;font-size:13px}.co-ledger td:first-child,.co-ledger th:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.co-ledger thead th{background:var(--bg-2);height:28px;color:var(--tx-1);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);text-align:left;white-space:nowrap;padding:0 10px;font-size:11.5px;font-weight:700}.co-ledger td.num{text-align:right}.co-ledger th.num{text-align:center}.co-ledger tbody td{border-bottom:1px solid var(--line-soft);height:34px;color:var(--tx-0);white-space:nowrap;vertical-align:middle;padding:0 10px}.co-ledger tbody tr:hover td{background:var(--hover)}.co-ledger td.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.co-ledger td.money{color:var(--green)}.co-ledger td.labor{color:var(--labor)}.co-ledger .co-sub{color:var(--tx-1);margin-left:6px;font-size:12px}.co-ledger td.edit{padding:0 4px}.co-ledger .co-in{text-align:right;width:100%;height:25px;color:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;cursor:text;background:0 0;border:1px solid #0000;border-radius:3px;padding:0 6px;font-size:13px}.co-mkup{justify-content:flex-end;align-items:center;gap:4px;display:flex}.co-mkup .co-in{flex:none;width:44px}.co-mkup-amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--tx-1);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11.5px;overflow:hidden}.co-ledger .co-mode{color:var(--tx-1);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:3px;margin-left:6px;padding:0 2px;font-family:inherit;font-size:12px}.co-ledger .co-mode:hover{border-color:var(--line-strong);color:var(--tx-0)}.co-na{color:var(--tx-1)}.co-resid{color:var(--tx-1);vertical-align:super;cursor:help;margin-left:1px;font-size:9px}.co-ledger .co-in:hover{border-color:var(--line-strong)}.co-ledger .co-in:focus{background:var(--bg-2);border-color:var(--cyan);outline:none}.co-ledger .co-in:disabled{color:var(--tx-2)}.co-ledger tr.band td{background:var(--band);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);font-weight:700}.co-ledger tr.bid td{background:var(--sel);color:var(--accent-ink);border-top:2px solid var(--accent);border-bottom:none;height:40px;font-size:14.5px;font-weight:700}.co-ledger tr.caption td{background:var(--bg-2);height:26px;color:var(--tx-1);letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--line);font-size:11px;font-weight:700}.co-ledger tr.dim td{opacity:.55}.co-ledger tr.co-adjust-row td{border-left:none}.co-ledger tr.co-adjust-row td:first-child{box-shadow:inset 3px 0 0 var(--amber-dim)}.co-ledger tr.co-adjust-row.on td{background:color-mix(in srgb, var(--amber) 9%, transparent)}.co-ledger tr.co-adjust-row.on td:first-child{box-shadow:inset 3px 0 0 var(--amber);color:var(--tx-0);font-weight:600}.co-ledger tr.co-adjust-row.on:hover td{background:color-mix(in srgb, var(--amber) 14%, transparent)}.co-adjust-label{cursor:pointer}.co-adjust-label:hover{color:var(--tx-0)}.co-ledger tr.co-adjust-row:not(.on) td{color:var(--tx-2)}.co-ledger td.co-adjust-label,.co-ledger td.co-adjust-orig{text-align:left;white-space:nowrap}.co-cellflex{align-items:center;gap:7px;min-width:0;display:flex}.co-adjust-label .co-cellflex{gap:6px}.co-was-k{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-2);font-size:10.5px;font-weight:700}.co-was-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--tx-1);font-size:12.5px}.co-reset{cursor:pointer;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);height:20px;color:var(--tx-1);letter-spacing:.04em;text-transform:uppercase;padding:0 8px;font-size:10.5px;font-weight:700}.co-reset:hover{color:var(--tx-0);border-color:var(--line-strong)}.co-reset:disabled{opacity:.5;cursor:not-allowed}.co-ledger .co-in.co-price{color:var(--accent-ink);font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.co-adjust-err{color:var(--red);white-space:nowrap;font-size:10.5px;font-weight:600}.co-tabs{align-items:flex-end;gap:2px;margin-bottom:6px;display:flex}.co-tab{border:1px solid var(--line);background:var(--bg-2);height:26px;color:var(--tx-1);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r) var(--r) 0 0;padding:0 14px;font-size:11.5px;font-weight:700}.co-tab:hover{color:var(--tx-0);border-color:var(--line-strong)}.co-tab.on{background:var(--bg-1);color:var(--accent-ink);border-color:var(--line-strong);border-bottom-color:var(--bg-1);box-shadow:inset 0 2px 0 var(--bronze)}.co-bd{flex-direction:column;min-width:0;display:flex}.co-bd-all{cursor:pointer;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);height:20px;color:var(--tx-1);margin-bottom:3px;margin-left:auto;padding:0 10px;font-size:11px;font-weight:600}.co-bd-all:hover{color:var(--tx-0);border-color:var(--line-strong)}.co-bd-scroll{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);max-height:560px;overflow:auto}.co-bd-tbl{border-collapse:separate;border-spacing:0;white-space:nowrap;font-size:12px}.co-bd-tbl thead th{z-index:2;background:var(--bg-2);height:24px;color:var(--tx-1);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);text-align:right;padding:0 8px;font-size:10.5px;font-weight:700;position:sticky;top:0}.co-bd-tbl thead tr.grp th{z-index:7;text-align:center;color:var(--tx-2);border-bottom:1px solid var(--line);font-size:10px;top:0}.co-bd-tbl thead tr:last-child th{top:24px}.co-bd-tbl thead tr.grp th[rowspan]{z-index:8}.co-bd-tbl th.sys,.co-bd-tbl td.sys{z-index:1;text-align:left;text-overflow:ellipsis;background:var(--bg-1);border-right:1px solid var(--line-strong);min-width:210px;max-width:210px;position:sticky;left:0;overflow:hidden}.co-bd-tbl thead th.sys{z-index:9;background:var(--bg-2)}.co-bd-tbl tbody td{height:26px;color:var(--tx-0);border-bottom:1px solid var(--line-soft);padding:0 8px}.co-bd-tbl td.num{text-align:right}.co-bd-tbl td.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.co-bd-tbl td.money{color:var(--green)}.co-bd-tbl td.labor{color:var(--labor)}.co-bd-tbl td.sep,.co-bd-tbl th.sep{border-right:1px solid var(--line)}.co-bd-tbl tbody tr:hover td,.co-bd-tbl tbody tr:hover td.sys{background:var(--hover)}.co-bd-tbl tr.root td{font-weight:600}.co-bd-tbl tr.rollup td.sys{font-weight:700}.co-bd-tbl tr.pw td,.co-bd-tbl tr.pw td.sys{background:var(--band);font-style:italic}.co-bd-tbl td.tot{color:var(--accent-ink);font-weight:700}.co-bd-tbl tfoot td{z-index:4;background:var(--sel);height:30px;color:var(--accent-ink);border-top:2px solid var(--accent);padding:0 8px;font-weight:700;position:sticky;bottom:0}.co-bd-tbl tfoot td.sys{z-index:5;background:var(--sel)}.co-bd-tbl tr.co-bd-spacer td{background:0 0;border:none;height:30px;padding:0}.co-bd-tbl tbody tr.co-bd-spacer:hover td{background:0 0}.co-bd-name{align-items:center;gap:4px;min-width:0;display:inline-flex}.co-bd-tw{text-align:center;cursor:pointer;width:14px;color:var(--tx-1);background:0 0;border:none;flex:0 0 14px;padding:0;font-size:10px}.co-bd-tw:hover{color:var(--tx-0)}.co-bd-tw.dim{cursor:default}.co-bd-sub{color:var(--tx-1);margin-left:6px;font-size:10.5px;font-weight:600}.co-bd-note{color:var(--tx-2);margin-top:6px;font-size:11px}.co-bd-empty{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);color:var(--tx-2);text-align:center;padding:28px 20px;font-size:12.5px}.co-mp{flex-direction:column;gap:10px;min-width:0;display:flex}.co-mp-controls{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:8px 10px;display:flex}.co-mp-rule{background:var(--line);align-self:stretch;width:1px;margin:0 2px}.co-mp-controls label{letter-spacing:.05em;text-transform:uppercase;color:var(--tx-2);gap:3px;font-size:10px;font-weight:700;display:grid}.co-mp-controls select,.co-mp-controls .co-in{text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);height:26px;color:var(--tx-0);padding:0 6px;font-size:12.5px}.co-mp-controls .co-in{width:66px;font-family:var(--font-mono);text-align:right}.co-mp-week{color:var(--tx-2);margin-left:auto;font-size:11.5px}.co-mp-controls .co-in.date{text-align:left;width:132px;font-family:var(--font-mono)}.co-mp-hol{border:1px solid var(--line);border-radius:var(--r);background:color-mix(in srgb, var(--amber) 6%, transparent);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;font-size:11.5px;display:flex}.co-mp-hol-k{letter-spacing:.06em;text-transform:uppercase;color:var(--amber);font-size:10px;font-weight:700}.co-mp-hol-p{border:1px solid color-mix(in srgb, var(--amber) 35%, transparent);color:var(--tx-1);border-radius:10px;align-items:baseline;gap:5px;padding:1px 7px;display:inline-flex}.co-mp-hol-p i{font-style:normal;font-family:var(--font-mono);color:var(--tx-2);font-size:10px}.co-mp-hol-n{color:var(--tx-2);margin-left:auto;font-size:10.5px}.co-mp-holmark{fill:var(--amber)}.co-mp-tip-hol{border-top:1px solid var(--line);color:var(--amber);margin-top:5px;padding-top:5px;font-size:10.5px;line-height:1.4}.co-mp-tbl td.hol{color:var(--amber);font-size:11px}.co-mp-blocked{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);color:var(--tx-2);text-align:center;padding:28px 24px;font-size:12.5px;line-height:1.6}.co-mp-stats{gap:8px;display:flex}.co-mp-stat{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);flex-direction:column;flex:1 1 0;gap:1px;min-width:0;padding:7px 10px;display:flex}.co-mp-stat.on{border-color:var(--labor);background:color-mix(in srgb, var(--labor) 7%, transparent)}.co-mp-stat-k{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-2);font-size:10px;font-weight:700}.co-mp-stat-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--tx-0);font-size:20px;font-weight:700;line-height:1.15}.co-mp-stat.on .co-mp-stat-v{color:var(--labor)}.co-mp-stat-s{color:var(--tx-2);font-size:10.5px}.co-mp-chart{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);padding:10px 10px 6px}.co-mp-chart svg{width:100%;height:150px;display:block}.co-mp-grid{stroke:var(--line-soft);stroke-width:1px;vector-effect:non-scaling-stroke}.co-mp-axis{stroke:var(--line-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.co-mp-bar{fill:color-mix(in srgb, var(--labor) 55%, transparent)}.co-mp-bar.peak{fill:var(--labor)}.co-mp-bar.on{fill:var(--accent)}.co-mp-hit{fill:#0000;cursor:crosshair}.co-mp-plot{position:relative}.co-mp-tip{z-index:5;pointer-events:none;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);min-width:148px;padding:7px 9px;font-size:11.5px;position:absolute;top:6px;box-shadow:0 8px 24px #2e344038}.co-mp-tip-h{border-bottom:1px solid var(--line);color:var(--tx-0);align-items:center;gap:6px;margin-bottom:5px;padding-bottom:5px;font-size:12px;font-weight:700;display:flex}.co-mp-tip-peak{background:color-mix(in srgb, var(--labor) 18%, transparent);color:var(--labor);letter-spacing:.05em;text-transform:uppercase;border-radius:3px;margin-left:auto;padding:1px 5px;font-size:9.5px;font-weight:700}.co-mp-tip-r{align-items:baseline;gap:10px;line-height:1.7;display:flex}.co-mp-tip-r span{color:var(--tx-2)}.co-mp-tip-r b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--tx-0);margin-left:auto;font-weight:600}.co-mp-tip-r b.w{color:var(--labor);font-size:13px}.co-mp-tip-r b.dim{color:var(--tx-2);font-family:var(--font-ui);font-weight:400}.co-mp-axis-lbl{color:var(--tx-2);justify-content:space-between;gap:8px;margin-top:4px;font-size:10.5px;display:flex}.co-mp-scroll{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);max-height:260px;overflow:auto}.co-mp-tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}.co-mp-tbl thead th{z-index:2;background:var(--bg-2);height:26px;color:var(--tx-1);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);text-align:left;white-space:nowrap;padding:0 10px;font-size:10.5px;font-weight:700;position:sticky;top:0}.co-mp-tbl th.num,.co-mp-tbl td.num{text-align:right}.co-mp-tbl tbody td{height:26px;color:var(--tx-0);border-bottom:1px solid var(--line-soft);padding:0 10px}.co-mp-tbl td.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.co-mp-tbl td.dim{color:var(--tx-2)}.co-mp-tbl td.labor{color:var(--labor);font-weight:600}.co-mp-tbl tbody tr:hover td{background:var(--hover)}.co-mp-tbl tbody tr.peak td{background:color-mix(in srgb, var(--labor) 8%, transparent)}.co-mp-tbl tfoot td{z-index:2;background:var(--sel);height:28px;color:var(--accent-ink);border-top:2px solid var(--accent);padding:0 10px;font-weight:700;position:sticky;bottom:0}.co-mp-tbl tr.co-mp-spacer td{background:0 0;border:none;height:28px;padding:0}.co-mp-tbl tbody tr.co-mp-spacer:hover td{background:0 0}.co-mp-note{color:var(--tx-2);font-size:11px;line-height:1.5}.co-sanity{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);flex-direction:column;align-self:stretch;display:flex}.co-sanity-head{background:var(--bg-2);border-bottom:1px solid var(--line-strong);letter-spacing:.06em;text-transform:uppercase;height:28px;color:var(--tx-2);align-items:center;padding:0 7px;font-size:11.5px;font-weight:700;display:flex}.co-sanity-row{flex-direction:column;flex:auto;align-items:stretch;display:flex}.co-metric{border-top:1px solid var(--line);text-align:left;min-width:0;min-height:62px;font:inherit;color:inherit;cursor:default;background:0 0;flex-direction:column;flex:1 1 0;justify-content:center;gap:2px;padding:6px 10px;display:flex}.co-metric:first-child{border-top:none}.co-metric-k{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-1);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.co-metric-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--tx-0);align-items:center;gap:5px;font-size:15px;display:flex}.co-metric-v.tone-money{color:var(--green)}.co-metric-v.tone-labor{color:var(--labor)}.co-metric-v.tone-ratio{color:var(--cyan)}.co-metric-v.not_computable{color:var(--tx-2)}.co-metric-c{color:var(--tx-1);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.co-rail{flex-direction:column;align-self:stretch;gap:10px;display:flex}.co-card{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);flex:auto;min-height:0;padding:11px 13px}.co-slice-pick{margin-left:auto;position:relative}.co-slice-btn{align-items:center;gap:5px;display:inline-flex}.co-slice-btn.on{border-color:var(--amber);color:var(--amber)}.co-slice-btn.idle{opacity:.55}.co-slice-btn.idle:hover{opacity:1}.co-slice-why{color:var(--tx-2);white-space:normal;max-width:230px;font-size:11.5px;line-height:1.45}.co-slice-pop{z-index:40;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r);flex-direction:column;gap:5px;min-width:190px;padding:8px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #2e344038}.co-slice-pop .input{height:24px;padding:0 5px;font-size:12px}.co-slice-cap{letter-spacing:.6px;color:var(--tx-3);font-size:9px;font-weight:700}.co-card-slice{border-color:var(--amber)}.co-slice-band{border-radius:var(--r) var(--r) 0 0;background:var(--amber);color:#1a1a1a;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;margin:-11px -13px 9px;padding:4px 13px;font-size:9.5px;font-weight:700;overflow:hidden}.co-card-k{letter-spacing:.07em;text-transform:uppercase;color:var(--tx-1);margin-bottom:6px;font-size:11px;font-weight:700}.co-bid{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--accent-ink);letter-spacing:-.01em;font-size:28px;font-weight:700;line-height:1.1}.co-line{color:var(--tx-1);justify-content:space-between;align-items:baseline;gap:8px;margin-top:5px;font-size:12.5px;display:flex}.co-line b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--tx-1);font-size:12.5px;font-weight:500}.co-rule{background:var(--line);height:1px;margin:9px 0 6px}.co-card select{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--bg-1);width:100%;color:var(--tx-0);font-size:12.5px;font:inherit;padding:5px 6px;font-size:12px}.co-flags{flex-direction:column;gap:5px;margin-top:9px;display:flex}.co-flag{color:var(--tx-1);align-items:center;gap:6px;font-size:12px;display:flex}.co-flag.warn{color:var(--amber)}.co-flag-act{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.co-flag-act:hover:not(:disabled){text-decoration:underline}.co-flag-act:disabled{cursor:default;opacity:.7}.co-save{border-radius:var(--r);border:1px solid var(--line);background:var(--bg-1);width:100%;color:var(--tx-2);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:default;margin-top:11px;padding:7px 10px;font-size:12px;font-weight:600;transition:background-color .12s,border-color .12s,color .12s}.co-save.on{border-color:var(--accent);background:var(--accent);color:#fff;cursor:pointer}.co-save.on:hover:not(:disabled){filter:brightness(1.07)}.co-save.on:disabled{opacity:.72;cursor:default}.co-rail .btn{justify-content:center;width:100%}.co-rail .btn.cyan{border-color:var(--accent);color:var(--accent-ink);background:var(--bg-1)}.co-rail .btn.cyan:hover:not(:disabled){background:var(--sel)}.co-rail .btn:disabled{opacity:.5;cursor:not-allowed}.co-link{color:var(--tx-1);text-align:center;margin:5px 0 8px;font-size:12px}.co-link.on{color:var(--green)}@media (width<=1360px){.co-body{grid-template-columns:minmax(0,1fr) 264px}.co-sanity{grid-area:2/1;align-self:start}.co-sanity-row{flex-direction:row;flex:none}.co-metric{border-top:none;border-left:1px solid var(--line);flex:1 1 0;height:56px;min-height:0}.co-metric:first-child{border-left:none}}@media (width<=1180px){.co-body{grid-template-columns:minmax(0,1fr)}.co-sanity{grid-area:auto/1}.co-rail{flex-flow:wrap}.co-card{flex:220px}}.exports-page{max-width:1080px}.xp-strip{background:var(--bg-1);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:12px 16px;display:flex}.xp-job{color:var(--tx-0);font-size:15px;font-weight:650}.xp-sub{color:var(--tx-2);margin-top:2px;font-size:11.5px}.xp-figs{align-items:center;gap:28px;display:flex}.xp-fig{flex-direction:column;gap:2px;display:flex}.xp-lab{letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);font-size:9.5px;font-weight:700}.xp-val{color:var(--tx-0);font-variant-numeric:tabular-nums;font-size:14px;font-weight:650}.xp-val.money,.xp-val.ok{color:var(--green)}.xp-val.warn{color:var(--amber)}.xp-hero{background:var(--bg-1);border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:10px;margin-bottom:26px;padding:20px 22px}.xp-hero-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.xp-hero-text{flex:380px;min-width:0}.xp-hero h2{color:var(--tx-0);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:650}.xp-hero>.xp-hero-main p{color:var(--tx-2);margin:4px 0 0;font-size:12.5px}.xp-manifest{gap:7px;margin:14px 0 0;padding:0;list-style:none;display:grid}.xp-manifest li{color:var(--tx-1);padding-left:16px;font-size:12px;line-height:1.45;position:relative}.xp-manifest li:before{content:"";background:var(--line-strong);width:8px;height:1px;position:absolute;top:8px;left:0}.xp-manifest b{color:var(--tx-0);font-weight:650}.xp-hero-act{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.btn.xp-build{padding:9px 18px;font-size:13px}.xp-hint{text-align:right;max-width:200px;font-size:10.5px}.xp-prog{align-items:center;gap:12px;margin-top:18px;display:flex}.xp-prog .muted{white-space:nowrap;font-size:11.5px}.xp-bar{background:var(--bg-3);border-radius:2px;flex:1;height:4px;overflow:hidden}.xp-bar span{background:var(--accent);border-radius:2px;height:100%;transition:width .35s;display:block}.xp-done{border-top:1px solid var(--line-soft);color:var(--green);flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;padding-top:14px;font-size:12px;font-weight:600;display:flex}.xp-done a{color:var(--accent-ink);font-size:11.5px;font-weight:500}.xp-warn{background:var(--bg-inset);border:1px solid var(--amber-dim);color:var(--tx-1);border-radius:6px;margin-top:16px;padding:11px 13px;font-size:11.5px}.xp-warn b{color:var(--amber);margin-bottom:5px;font-size:11px;display:block}.xp-warn ul{gap:3px;margin:0;padding-left:16px;display:grid}.xp-sechead{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.xp-sechead h3{letter-spacing:.09em;text-transform:uppercase;color:var(--tx-2);margin:0;font-size:11px;font-weight:700}.xp-sechead .muted{font-size:11px}.xp-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.xp-card{background:var(--bg-1);border:1px solid var(--line);border-radius:8px;flex-direction:column;padding:15px 16px;display:flex}.xp-card.off{background:var(--bg-2)}.xp-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.xp-card h4{color:var(--tx-0);margin:0;font-size:13.5px;font-weight:650}.xp-card p{color:var(--tx-2);flex:1;margin:6px 0 0;font-size:11.5px;line-height:1.5}.xp-card-act{gap:6px;margin-top:14px;display:flex}.xp-card-act .btn{flex:1;justify-content:center}.xp-foot{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:flex-start;gap:28px;margin-top:26px;padding-top:18px;display:flex}.xp-company{flex:0 320px}.xp-foot p{flex:320px;margin:0;font-size:11px;line-height:1.6}@media (width<=720px){.xp-strip,.xp-hero-main,.xp-foot{flex-direction:column;align-items:stretch}.xp-figs{gap:20px}.xp-hero-act{align-items:stretch}.xp-hint{text-align:left;max-width:none}}.xp-grain{letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);margin-top:3px;font-size:9.5px;font-weight:700}.pd-wrap{border:1px solid var(--line);background:var(--bg-1);border-radius:8px;margin-bottom:18px}.pd-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;padding:14px;display:flex}.pd-title{font-family:var(--font-display);color:var(--forge);font-size:15px;font-weight:600}.pd-sub{color:var(--tx-2);max-width:62ch;margin-top:3px;font-size:12px;line-height:1.5}.pd-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.pd-note{background:var(--bg-2);color:var(--tx-1);border-radius:5px;margin:10px 14px;padding:9px 11px;font-size:12px;line-height:1.5}.pd-note.good{color:#2f6b3a;background:#eaf6ec}.pd-note.warn{color:#8a5a00;background:#fdf6ec}.pd-note.bad{color:#a12c2c;background:#fdeaea}.pd-note strong{font-weight:700}.pd-empty{color:var(--tx-2);padding:20px 14px;font-size:12.5px}.pd-table{border-collapse:collapse;width:100%;font-size:12.5px}.pd-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-2);border-bottom:1px solid var(--line);padding:7px 12px;font-size:10px;font-weight:700}.pd-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}.pd-name{color:var(--tx-0);font-weight:600}.pd-meta{color:var(--tx-2);margin-top:2px;font-size:11px}.pd-unread{color:#8a5a00}.pd-row-actions{justify-content:flex-end;gap:6px;display:flex}.pd-state{border-radius:3px;padding:2px 7px;font-size:10.5px;font-weight:600;display:inline-block}.pd-state.pending{background:var(--bg-2);color:var(--tx-2)}.pd-state.indexed{color:#2f4f7a;background:#eaf0f8}.pd-state.extracting{background:color-mix(in srgb, var(--amber) 14%, var(--bg-1));color:var(--amber)}.pd-state.extracted{color:#2f6b3a;background:#eaf6ec}.pd-state.failed{color:#a12c2c;background:#fdeaea}.pd-shortlist{margin:6px 0 0;padding-left:18px}.pd-shortlist li{margin:2px 0}.modal.insights-modal{flex-direction:column;width:940px;max-width:95vw;height:80vh;max-height:860px;display:flex}.modal.insights-modal>:not(.ins-body){flex:none}.ins-tools{background:var(--bg-2);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.ins-search{border:1px solid var(--line-strong);background:var(--bg-1);min-width:200px;height:30px;color:var(--tx-0);border-radius:4px;flex:260px;padding:0 10px;font-size:13px}.ins-search::placeholder{color:var(--tx-3)}.ins-search:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--sel);outline:none}.ins-clear{border:1px solid var(--line-strong);background:var(--bg-1);width:26px;height:26px;color:var(--tx-2);cursor:pointer;border-radius:4px;flex:none;font-size:11px;line-height:1}.ins-clear:hover{background:var(--bg-3);color:var(--tx-0)}.ins-menus{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ins-menu-wrap{position:relative}.ins-menu-btn{border:1px solid var(--line-strong);background:var(--bg-1);height:26px;color:var(--tx-1);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.ins-menu-btn:hover:not(:disabled){background:var(--bg-3);color:var(--tx-0)}.ins-menu-btn:disabled{opacity:.45;cursor:default}.ins-menu-btn.on{border-color:var(--accent);color:var(--accent-ink);background:var(--sel)}.ins-menu-n{background:var(--accent);color:#fff;text-align:center;border-radius:8px;min-width:15px;padding:0 5px;font-size:10px;line-height:15px}.ins-menu-caret{color:var(--tx-3);font-size:8px}.ins-menu{z-index:60;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:5px;min-width:250px;max-width:400px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 12px 30px #2e344033}.ins-menu-head{background:var(--bg-2);border-bottom:1px solid var(--line);letter-spacing:.07em;text-transform:uppercase;color:var(--tx-2);justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:9.5px;font-weight:700;display:flex}.ins-menu-list{max-height:300px;padding:3px 0;overflow-y:auto}.ins-menu-opt{color:var(--tx-0);cursor:pointer;align-items:center;gap:8px;padding:5px 10px;font-size:12px;display:flex}.ins-menu-opt:hover{background:var(--hover)}.ins-menu-opt.empty{opacity:.42}.ins-menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ins-menu-count{color:var(--tx-3);font-variant-numeric:tabular-nums;font-size:10.5px}.ins-chip{border:1px solid var(--line-strong);background:var(--bg-1);height:26px;color:var(--tx-1);cursor:pointer;white-space:nowrap;border-radius:4px;padding:0 9px;font-size:11.5px;font-weight:600}.ins-chip:hover{background:var(--bg-3)}.ins-chip.warn{border-color:var(--amber-dim);color:var(--amber)}.ins-chip.warn.on{background:var(--amber);border-color:var(--amber);color:#fff}.ins-linkbtn{color:var(--accent-ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.ins-cov{color:var(--tx-2);background:var(--bg-inset);border-bottom:1px solid var(--line);padding:8px 14px;font-size:12px}.ins-cov.warn{background:color-mix(in srgb, var(--amber) 9%, var(--bg-1));color:color-mix(in srgb, var(--amber) 78%, var(--tx-0));border-bottom-color:var(--amber-dim)}.ins-cov strong{color:var(--tx-1);font-weight:700}.ins-cov.warn strong{color:color-mix(in srgb, var(--amber) 60%, var(--tx-0))}.ins-body{background:var(--bg-1);flex:1;overflow-y:auto}.ins-group-head{border:none;border-top:1px solid var(--line);background:var(--band);cursor:pointer;width:100%;font-family:var(--font-display);letter-spacing:.04em;color:var(--forge);text-align:left;align-items:center;gap:8px;padding:7px 14px;font-size:12px;font-weight:600;display:flex}.ins-group:first-child .ins-group-head{border-top:none}.ins-group-head:hover{background:var(--sel)}.ins-caret{width:9px;color:var(--tx-3);font-size:9px}.ins-gcount{background:var(--bg-1);color:var(--tx-2);border:1px solid var(--line-strong);font-variant-numeric:tabular-nums;border-radius:9px;margin-left:auto;padding:0 7px;font-size:10px;font-weight:700;line-height:16px}.ins-row{border-top:1px solid var(--line-soft);border-left:3px solid var(--line-strong);cursor:pointer;grid-template-columns:104px 1fr auto 12px 26px;align-items:start;gap:10px;padding:6px 14px 6px 11px;display:grid}.ins-row:nth-of-type(2n){background:var(--zebra)}.ins-row:hover{background:var(--hover)}.ins-row.deny{border-left-color:var(--red)}.ins-row.conditional{border-left-color:var(--amber)}.ins-row.note{border-left-color:var(--blue)}.ins-row.allow{border-left-color:var(--green)}.ins-row.open,.ins-row.open:hover{background:var(--sel)}.ins-row.confirmed{border-left-color:var(--line-strong)}.ins-row.confirmed .ins-title{color:var(--tx-2);font-weight:500}.ins-rule{white-space:nowrap;justify-content:center;width:104px;padding:0;font-size:9.5px}.ins-main{min-width:0}.ins-title{color:var(--tx-0);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:19px;overflow:hidden}.ins-row.open .ins-title{white-space:normal}.ins-expand{margin:6px 0 4px}.ins-detail{color:var(--tx-1);margin-bottom:7px;font-size:12.5px;line-height:1.55}.ins-evidence{background:var(--bg-inset);border:1px solid var(--line);border-left:2px solid var(--bronze);color:var(--tx-1);white-space:pre-wrap;border-radius:0 4px 4px 0;margin:0 0 5px;padding:8px 11px;font-size:11.5px;line-height:1.6}.ins-evsrc{letter-spacing:.05em;text-transform:uppercase;color:var(--bronze);margin-bottom:5px;font-size:9.5px;font-weight:700;display:block}.ins-cite{color:var(--tx-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10.5px;line-height:19px}.ins-dupes{color:var(--accent-ink);margin-left:4px;font-weight:700}.ins-chev{color:var(--tx-3);font-size:9px;line-height:19px}.ins-actions{display:flex}.ins-act{border:1px solid var(--line-strong);background:var(--bg-1);width:26px;height:19px;color:var(--tx-3);cursor:pointer;border-radius:3px;font-size:11px;line-height:1}.ins-act:hover:not(:disabled){background:var(--bg-3);color:var(--tx-0)}.ins-act.on{background:color-mix(in srgb, var(--green) 14%, var(--bg-1));border-color:color-mix(in srgb, var(--green) 45%, transparent);color:var(--green)}.ins-empty{color:var(--tx-2);padding:24px 16px;font-size:12.5px;line-height:1.65}.ins-empty strong{color:var(--tx-1)}.ins-foot{background:var(--bg-2);border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 14px;display:flex}.ins-foot-note{color:var(--tx-2);margin-right:auto;font-size:11.5px}.ins-open{letter-spacing:.5px;font-weight:700}.ins-open .ins-badge{font-family:var(--font-mono);letter-spacing:0;color:var(--tx-1);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:0 6px;font-size:10px;font-weight:500}.pd-confirm{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.pd-confirm>div:first-child{flex:340px}.pd-confirm-acts{flex:none;gap:8px;display:flex}.pd-state.queued{background:var(--sel);color:var(--accent-ink)}.modal-scrim.jv-scrim{place-items:center}.modal.jv-modal{flex-direction:column;width:940px;max-width:96vw;max-height:92vh;display:flex}.jv-cols{grid-template-columns:repeat(3,1fr);align-items:start;gap:0 18px;padding:12px 18px 14px;display:grid;overflow:auto}.jv-col{flex-direction:column;gap:12px;min-width:0;display:flex}.jv-g{border:1px solid var(--line);border-radius:6px;padding:7px 10px 9px}.jv-g.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--sel)}.jv-g-h{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.09em;color:var(--tx-1);margin:0 0 6px;font-size:10.5px;font-weight:700}.jv-r{grid-template-columns:1fr 66px 20px;align-items:center;gap:6px;min-height:26px;display:grid}.jv-r-k{min-width:0;color:var(--tx-0);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;font-size:11.5px;display:flex;overflow:hidden}.jv-r-u{color:var(--tx-1);font-size:11px}.jv-q{width:12px;height:12px;color:var(--tx-2);border:1px solid var(--line-strong);cursor:help;border-radius:50%;flex:none;place-items:center;font-size:8.5px;font-weight:700;line-height:1;display:inline-grid}.jv-r:hover .jv-q{color:var(--accent-ink);border-color:var(--accent)}.jv-in{background:var(--bg-0);width:100%;min-width:0;height:24px;color:var(--tx-0);border:1px solid var(--line);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;border-radius:4px;padding:0 6px;font-size:12px}select.jv-in{font-family:var(--font-ui);text-align:left;padding:0 4px}.jv-in:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--sel);outline:none}.jv-in:disabled{opacity:.45;cursor:not-allowed}.jv-ck{width:15px;height:15px;accent-color:var(--accent);justify-self:start;margin:0 0 0 2px}.jv-note{color:var(--tx-2);margin:0;padding:0 2px;font-size:10.5px;line-height:1.45}.jv-err{color:var(--accent-ink);background:var(--sel);border:1px solid var(--accent);border-radius:5px;flex:none;margin:0 18px 2px;padding:7px 10px;font-size:12px;line-height:1.45}.jv-foot{border-top:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:10px 18px;display:flex}.jv-dirty{color:var(--tx-1);margin-right:auto;font-size:12px}.co-vars{border:none;border-right:1px solid var(--line-strong);height:52px;font:inherit;color:inherit;cursor:pointer;background:0 0;flex:none;align-items:center;gap:7px;padding:0 15px 0 13px;display:flex}.co-vars:hover{background:var(--hover)}.co-vars:focus-visible{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--cyan);outline:none}.co-vars-ic{color:var(--tx-1);font-size:14px;line-height:1}.co-vars-t{font-family:var(--font-ui);color:var(--accent-ink);white-space:nowrap;font-size:12.5px;font-weight:600}.co-vars:hover .co-vars-ic{color:var(--accent-ink)}.co-ledger .co-in.co-in-ro{cursor:pointer;font:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-bottom-style:dotted;border-bottom-color:var(--line-strong);font-size:13px}.co-ledger .co-in.co-in-ro:hover{background:var(--bg-2);border-color:var(--line-strong)}.co-ledger .co-in.co-in-ro:focus-visible{background:var(--bg-2);border-color:var(--cyan);outline:none}.co-ledger .co-in.co-in-ro:disabled{color:var(--tx-2);cursor:default;border-bottom-color:#0000}.co-mp-vars{color:var(--tx-0);border:1px solid var(--line);cursor:pointer;font:inherit;background:0 0;border-radius:5px;flex-direction:column;align-items:flex-start;gap:1px;padding:3px 9px;font-size:12px;display:flex}.co-mp-vars:hover{background:var(--bg-2);border-color:var(--line-strong)}.co-mp-vars:disabled{opacity:.5;cursor:default}.co-mp-vars .co-mp-sub{color:var(--tx-1);font-size:10.5px}.ledger-mismatch{border:1px solid var(--amber,#7a5b1a);background:color-mix(in srgb, var(--amber,#7a5b1a) 12%, transparent);color:var(--tx-1);border-radius:5px;flex:none;margin:0 0 6px;padding:6px 9px;font-size:11.5px;line-height:1.45}.ledger-tbl .comp-basis{color:var(--tx-3);white-space:nowrap;font-size:10.5px}.ctx-scrim{z-index:50;position:fixed;inset:0}.ctx-menu{z-index:51;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:8px;min-width:216px;padding:4px;position:fixed;box-shadow:0 12px 32px #2e344038}.ctx-head{text-transform:uppercase;letter-spacing:.06em;color:var(--tx-2);white-space:nowrap;text-overflow:ellipsis;max-width:220px;padding:6px 12px 4px;font-size:10px;overflow:hidden}table.tbl tbody tr.row-menu-open>td{background:color-mix(in srgb, var(--accent) 16%, var(--bg-1))!important}table.tbl tbody tr.row-menu-open>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}table.tbl tbody tr.row-menu-open>td:first-child,table.tbl tbody tr.row-menu-open>td:nth-child(2){color:var(--tx-0);font-weight:700}.modal.bom-replace{width:min(720px,92vw)}.modal.bom-replace .modal-head{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;height:auto;padding:10px 14px}.modal.bom-replace .modal-body{height:60vh;min-height:0;max-height:620px;padding:10px;display:flex}.modal.bom-replace .modal-body .pick-tree{flex:1;min-height:0}.frp-back{z-index:210;position:fixed;inset:0}.frp{z-index:211;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:8px;width:260px;padding:9px 10px 10px;position:fixed;box-shadow:0 14px 36px #00000057}.frp-label{letter-spacing:.05em;text-transform:uppercase;color:var(--tx-3);margin-bottom:6px;font-size:10px;font-weight:700}.frp-row{align-items:center;gap:6px;display:flex}.frp-input{flex:1;min-width:0;height:28px;font-size:12.5px}.frp-ok{flex:none;height:28px;padding:0 12px}.ctx-menu.ctx-menu-lib{z-index:201}.ctx-menu.ctx-menu-lib .ctx-sub{z-index:202}.modal.lc-pick-modal{width:760px;max-width:94vw}.modal.lc-pick-modal .modal-body{max-height:62vh;padding-top:10px;overflow:auto}.modal.lc-pick-modal .lc-pick-bar{align-items:center;gap:6px;margin-bottom:8px;display:flex}.modal.lc-pick-modal .lc-pick-bar .btn{justify-content:center;width:26px;height:24px;padding:0}.modal.lc-pick-modal .lc-pick-bar .input{flex:1;min-width:0;height:24px;padding:0 8px;font-size:12px}.lc-pick-tree .obj-row{cursor:pointer}.lc-pick-tree .obj-row input[type=checkbox]{flex:none;margin:0}.lc-pick-tree label.obj-row{-webkit-user-select:none;user-select:none}.m-app{background:var(--bg-0);height:100dvh;color:var(--tx-0);touch-action:manipulation;-webkit-tap-highlight-color:transparent;grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.m-top{height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0 12px;background:var(--bg-1);border-bottom:1px solid var(--line);align-items:center;gap:10px;display:flex}.m-top-brand{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.m-mark{color:var(--accent);display:flex}.m-mark svg{width:19px;height:19px}.m-top-title{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.m-viewpill{letter-spacing:.08em;color:var(--bronze);border:1px solid var(--bronze);background:0 0;border-radius:4px;flex:none;padding:3px 7px;font-size:10px;font-weight:700}.m-iconbtn{min-width:44px;height:44px;color:var(--tx-1);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.m-more{position:relative}.m-scrim{z-index:60;position:fixed;inset:0}.m-menu{z-index:61;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:10px;flex-direction:column;min-width:200px;max-width:min(78vw,320px);padding:5px;display:flex;position:absolute;top:calc(100% + 2px);right:0;box-shadow:0 16px 40px #00000059}.m-menu button{text-align:left;min-height:44px;color:var(--tx-1);background:0 0;border:none;border-radius:6px;padding:0 12px;font-size:15px}.m-menu button.danger{color:var(--red)}.m-menu-sep{background:var(--line);height:1px;margin:4px 2px}.m-acct{flex-direction:column;gap:2px;min-width:0;padding:8px 12px 10px;display:flex}.m-acct-label{text-transform:uppercase;letter-spacing:.07em;color:var(--tx-3);font-size:11px}.m-acct-email{color:var(--tx-0);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.m-main{-webkit-overflow-scrolling:touch;min-height:0;overflow:hidden auto}.m-page{flex-direction:column;gap:12px;padding:12px 12px 24px;display:flex}.m-tabs{background:var(--bg-1);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.m-tab{min-height:56px;color:var(--tx-3);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.m-tab svg{width:21px;height:21px}.m-tab.on{color:var(--accent-ink)}.m-btn{border:1px solid var(--line-strong);background:var(--bg-1);min-height:44px;color:var(--tx-0);cursor:pointer;border-radius:8px;padding:0 16px;font-size:15px;font-weight:600}.m-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.m-btn.sm{flex:none;min-height:40px;padding:0 13px;font-size:14px}.m-btn.wide{width:100%;margin-bottom:10px}.m-btn:disabled{opacity:.55}.m-search{gap:8px;display:flex}.m-search input{border:1px solid var(--line-strong);background:var(--bg-1);min-width:0;min-height:44px;color:var(--tx-0);border-radius:8px;flex:1;padding:0 12px;font-size:16px}.m-err,.m-ok,.m-note{border-radius:8px;padding:10px 12px;font-size:13.5px;line-height:1.4}.m-err{border:1px solid var(--red);color:var(--tx-0);background:#bf616a24}.m-ok{border:1px solid var(--green);color:var(--tx-0);background:#a3be8c24}.m-note{background:var(--bg-2);border:1px solid var(--line);color:var(--tx-2)}.m-loading{color:var(--tx-2);align-items:center;gap:9px;padding:14px 2px;font-size:14px;display:flex}.m-spin{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite m-spin}.m-spin.sm{border-width:1.8px;width:13px;height:13px}@keyframes m-spin{to{transform:rotate(360deg)}}.m-empty{text-align:center;padding:40px 20px}.m-empty-t{margin-bottom:5px;font-size:16px;font-weight:700}.m-empty-s{color:var(--tx-2);margin-bottom:16px;font-size:14px;line-height:1.45}.m-boot{text-align:center;background:var(--bg-0);height:100dvh;color:var(--tx-0);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:28px;display:flex}.m-boot-mark{letter-spacing:.22em;color:var(--accent-ink);font-size:13px;font-weight:800}.m-boot-t{font-size:17px;font-weight:700}.m-boot-s{color:var(--tx-2);max-width:320px;font-size:14px;line-height:1.45}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.m-cards{flex-direction:column;gap:8px;display:flex}.m-card{background:var(--bg-1);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding-right:9px;display:flex}.m-card.on{border-color:var(--accent)}.m-card-main{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:auto;padding:9px 0 10px 12px}.m-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;line-height:1.3;overflow:hidden}.m-card-line2{justify-content:space-between;align-items:baseline;gap:10px;margin-top:2px;display:flex}.m-card-meta{min-width:0;color:var(--tx-2);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:12px;overflow:hidden}.m-card-nums{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--tx-1);flex:none;align-items:baseline;gap:5px;font-size:12.5px;display:flex}.m-card-nums b{font-weight:600}.m-card-dot{color:var(--tx-3)}.m-card-status{flex:none;align-items:center;gap:6px;display:flex}.m-status,.m-pill{border:1px solid var(--line-strong);background:var(--bg-2);min-height:38px;color:var(--tx-1);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:92px;padding:0 10px;font-size:12.5px;font-weight:600;overflow:hidden}.m-pill{align-items:center;display:inline-flex}.m-status{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 12px),calc(100% - 8px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:22px}.m-status.green,.m-pill.green{color:var(--green);border-color:var(--green)}.m-status.amber,.m-pill.amber{color:var(--amber);border-color:var(--amber)}.m-status.cyan,.m-pill.cyan{color:var(--cyan);border-color:var(--cyan)}.m-status.red,.m-pill.red{color:var(--red);border-color:var(--red)}.m-status.violet,.m-pill.violet{color:var(--violet);border-color:var(--violet)}.m-status.blue,.m-pill.blue{color:var(--blue);border-color:var(--blue)}.m-segs{background:var(--bg-2);border-radius:9px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;padding:3px;display:grid}.m-seg{min-height:38px;color:var(--tx-2);cursor:pointer;background:0 0;border:none;border-radius:7px;font-size:14px;font-weight:600}.m-seg.on{background:var(--bg-1);color:var(--tx-0);box-shadow:0 1px 3px #0003}.m-hero{background:var(--bg-1);border:1px solid var(--line);text-align:center;border-radius:12px;padding:18px 16px}.m-hero-lbl{text-transform:uppercase;letter-spacing:.09em;color:var(--tx-3);font-size:11.5px}.m-hero-val{font-size:32px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:4px}.m-hero-flag{color:var(--amber);margin-top:8px;font-size:12.5px}.m-block{background:var(--bg-1);border:1px solid var(--line);border-radius:12px;overflow:hidden}.m-block-h{text-transform:uppercase;letter-spacing:.08em;color:var(--tx-3);background:var(--bg-2);border-bottom:1px solid var(--line);padding:10px 14px;font-size:11.5px;font-weight:700}.m-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;font-size:14.5px;display:flex}.m-row:last-child{border-bottom:none}.m-row span{color:var(--tx-2)}.m-row b{font-size:15px}.m-actions{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;display:grid}.m-stats{gap:26px;padding:2px 4px;display:flex}.m-stats span{flex-direction:column;display:flex}.m-stats b{font-size:20px;font-family:var(--font-mono)}.m-stats i{color:var(--tx-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-style:normal}.m-acc{text-align:left;border:none;border-bottom:1px solid var(--line-soft);width:100%;min-height:50px;color:var(--tx-0);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:8px 14px;font-size:15px;display:flex}.m-acc-t{flex-direction:column;flex:1;min-width:0;font-weight:600;display:flex}.m-acc-t i{color:var(--tx-3);margin-top:1px;font-size:12px;font-style:normal;font-weight:400}.m-acc-n{font-family:var(--font-mono);color:var(--tx-2);font-size:14px}.m-chev{color:var(--tx-3);text-align:right;width:14px;font-size:13px}.m-acc.on{background:var(--bg-2)}.m-mat{border-bottom:1px solid var(--line-soft);background:var(--bg-0);padding:9px 14px 10px 20px}.m-mat-n{font-size:14px;line-height:1.35}.m-mat-m{color:var(--tx-2);flex-wrap:wrap;gap:4px 14px;margin-top:3px;font-size:12.5px;display:flex}.m-mat-p{color:var(--tx-3)}.m-grp.target{box-shadow:inset 3px 0 0 var(--accent)}.m-grp-body{background:var(--bg-0);padding:2px 0 6px}.m-item{color:var(--tx-2);justify-content:space-between;gap:12px;padding:7px 14px 7px 20px;font-size:13px;display:flex}.m-item-n{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.m-sheetrow{text-align:left;border:none;border-bottom:1px solid var(--line-soft);width:100%;min-height:52px;color:var(--tx-0);cursor:pointer;background:0 0;align-items:center;gap:12px;padding:8px 14px;font-size:15px;display:flex}.m-sheetrow b{flex:none;min-width:62px}.m-sheetrow span:not(.m-chev){min-width:0;color:var(--tx-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.m-sheet-scrim{z-index:90;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0}.m-sheet{background:var(--bg-1);border-top:1px solid var(--line-strong);width:100%;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;overflow-y:auto}.m-sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 8px 10px 16px;display:flex}.m-sheet-head h3{margin:0;font-size:17px}.m-sheet-foot{border-top:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;padding:12px 16px 16px;display:grid}.m-form{flex-direction:column;gap:12px;padding:16px;display:flex}.m-form label{color:var(--tx-2);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;display:flex}.m-form input,.m-form select{border:1px solid var(--line-strong);background:var(--bg-0);min-height:46px;color:var(--tx-0);text-transform:none;letter-spacing:0;border-radius:8px;padding:0 12px;font-size:16px;font-weight:400}.m-confirm{padding:16px;font-size:14.5px;line-height:1.5}.m-confirm p{margin:0 0 10px}.m-confirm-big{font-size:28px;font-weight:700;font-family:var(--font-mono);text-align:center}.m-confirm-s{color:var(--tx-2);font-size:13px}.m-sheetview{flex-direction:column;height:100%;min-height:0;display:flex}.m-sheetbar{border-bottom:1px solid var(--line);background:var(--bg-1);flex:none;align-items:center;gap:6px;padding:4px 10px 4px 2px;display:flex}.m-sheetbar-t{flex-direction:column;min-width:0;display:flex}.m-sheetbar-t b{font-size:14px}.m-sheetbar-t span{color:var(--tx-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.m-focusbar{background:var(--sel);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;display:flex}.m-focusbar button{border:1px solid var(--accent);min-height:34px;color:var(--accent-ink);background:0 0;border-radius:6px;padding:0 10px;font-size:13px;font-weight:600}.msheet{flex:1;min-height:0;position:relative}.msheet-msg{text-align:center;color:var(--tx-2);padding:30px 22px;font-size:14px;line-height:1.5}.msheet-stage{background:var(--bg-inset);touch-action:none;overscroll-behavior:contain;cursor:grab;position:absolute;inset:0;overflow:hidden}.msheet-content{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.msheet-tile{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;display:block;position:absolute}.msheet-overview{top:0;left:0}.msheet-stamp{pointer-events:none;border:1.5px solid #ffffffe6;border-radius:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;transition:opacity .15s;position:absolute;box-shadow:0 0 0 1px #00000059}.msheet-stamp.dim{opacity:.16}.msheet-stamp.picked{border-width:2.5px;width:19px;height:19px;margin:-9.5px 0 0 -9.5px;box-shadow:0 0 0 2px #0006,0 0 12px 3px}.msheet-zoom{z-index:5;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:10px;right:10px}.msheet-zoom button{background:var(--bg-1);border:1px solid var(--line-strong);width:44px;height:44px;color:var(--tx-0);cursor:pointer;border-radius:10px;font-size:19px;line-height:1;box-shadow:0 3px 10px #00000047}.m-picked{z-index:6;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:10px;flex-direction:column;gap:2px;padding:9px 12px;font-size:14px;display:flex;position:absolute;bottom:10px;left:10px;right:64px;box-shadow:0 4px 14px #0000004d}.m-picked span{color:var(--tx-2);font-size:12.5px}.m-legend{border-top:1px solid var(--line);background:var(--bg-1);padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom));scrollbar-width:none;flex:none;gap:7px;display:flex;overflow-x:auto}.m-legend::-webkit-scrollbar{display:none}.m-chip{border:1px solid var(--line-strong);background:var(--bg-2);min-height:36px;color:var(--tx-1);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 11px;font-size:13px;display:inline-flex}.m-chip.on{border-color:var(--accent);background:var(--sel);color:var(--accent-ink)}.m-chip i{border-radius:50%;flex:none;width:9px;height:9px}.m-chip b{font-family:var(--font-mono);color:var(--tx-3);font-size:12px}.m-diag{font-family:var(--font-mono);color:var(--tx-3);background:var(--bg-2);border:1px solid var(--line);word-break:break-all;-webkit-user-select:text;user-select:text;border-radius:6px;margin:0 0 14px;padding:7px 9px;font-size:11.5px}.m-monthnav{background:var(--bg-1);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;display:flex}.m-monthnav span{letter-spacing:.01em;font-size:14.5px;font-weight:700}.m-monthnav button{min-width:44px;min-height:42px;color:var(--tx-1);cursor:pointer;background:0 0;border:none;flex:none;font-size:22px;line-height:1}.m-cal{background:var(--bg-1);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px;display:grid}.m-cal-dow{text-align:center;letter-spacing:.08em;color:var(--tx-3);text-transform:uppercase;padding-bottom:2px;font-size:10.5px;font-weight:700}.m-cal-cell{min-height:46px;color:var(--tx-1);cursor:default;background:0 0;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:3px 0;display:flex}.m-cal-cell.has{background:var(--bg-2);border-color:var(--line);cursor:pointer}.m-cal-cell.out{visibility:hidden}.m-cal-cell.today .m-cal-num{color:var(--accent-ink);font-weight:800}.m-cal-cell.today{border-color:var(--accent-ink)}.m-cal-cell.sel{background:var(--sel);border-color:var(--accent)}.m-cal-num{font-variant-numeric:tabular-nums;font-size:13px;line-height:1}.m-cal-dots{align-items:center;gap:2px;min-height:6px;display:flex}.m-cal-dot{background:var(--tx-3);border-radius:50%;width:5px;height:5px}.m-cal-dot.green{background:var(--green)}.m-cal-dot.amber{background:var(--amber)}.m-cal-dot.cyan{background:var(--cyan)}.m-cal-dot.red{background:var(--red)}.m-cal-dot.violet{background:var(--violet)}.m-cal-dot.blue{background:var(--blue)}.m-cal-more{color:var(--tx-3);font-size:9px;line-height:1}.m-daybar{color:var(--tx-2);justify-content:space-between;align-items:center;gap:10px;margin-bottom:-4px;padding:0 2px;font-size:12.5px;font-weight:600;display:flex}.m-daybar button{border:1px solid var(--line-strong);background:var(--bg-1);min-height:32px;color:var(--accent-ink);border-radius:6px;padding:0 10px;font-size:12px;font-weight:600}.m-undated{border:1px dashed var(--line-strong);width:100%;min-height:40px;color:var(--tx-2);text-align:left;background:0 0;border-radius:8px;padding:0 12px;font-size:12.5px}.msheet-runs{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.msheet-run{stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;transition:opacity .15s}polygon.msheet-run{fill-opacity:.14}.msheet-run.dim{opacity:.12}.msheet-run.picked{stroke-width:4.5px}.msheet-runlabel{white-space:nowrap;pointer-events:none;font-family:var(--font-mono);color:var(--tx-0);background:var(--bg-1);border:1px solid var(--line-strong);border-left-width:3px;border-radius:5px;padding:2px 6px;font-size:10.5px;font-weight:600;line-height:1.35;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000059}.msheet-runlabel.picked{border-width:2px 2px 2px 4px;font-size:12px}.m-picked b{align-items:center;gap:7px;display:flex}.m-picked-dot{border-radius:50%;flex:none;width:9px;height:9px}.m-chip i.bar{border-radius:2px;width:14px;height:4px}
