:root{--bg:#f5f7f4;--panel:#fff;--ink:#121212;--muted:#5f6f63;--line:#e2e7dd;--teal:#11664f;--teal-d:#0c4e3c;--navy:#062c13;--accent:#b7ed3f;--lime:#b7ed3f;--chip:#eef1e6;--green:#1d8f5e;--green-bg:#e7f4ec;--amber:#b9810c;--amber-bg:#f8efda;--red:#c0392b;--red-bg:#f7e7e4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-size:14px;line-height:1.45}a{color:var(--teal);text-decoration:none}code{background:var(--chip);border-radius:4px;padding:1px 5px;font-size:12.5px}.app{min-height:100vh;display:flex}.side{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:230px;height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--line);padding:18px 18px 16px}.brand img{max-width:182px;display:block}.brand .sub{color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:6px;font-size:11px}.nav{flex:1;padding:10px 0}.nav a,.nav .soon{color:var(--ink);border-left:3px solid #0000;align-items:center;gap:10px;padding:11px 18px;font-size:13.5px;display:flex}.nav a:hover{color:var(--teal);background:#eef3ee}.nav a.active{border-left-color:var(--teal);color:var(--teal);background:#e7f1ea}.nav .soon{color:var(--muted);opacity:.7;cursor:default}.nav .when{background:var(--chip);border-radius:6px;margin-left:auto;padding:1px 6px;font-size:10.5px}.nav .ico{text-align:center;opacity:.85;width:18px}.side .foot{color:var(--muted);border-top:1px solid var(--line);padding:14px 18px;font-size:11px}.side .foot .houselogo{object-fit:contain;max-width:150px;max-height:60px;margin-bottom:8px;display:block}.main{flex:1;min-width:0}.topbar{background:var(--panel);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:16px;padding:12px 26px;display:flex;position:sticky;top:0}.topbar .spacer{flex:1}.content{padding:24px 26px 60px}.brandpick{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.brandpick select{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:7px;padding:5px 8px;font-size:13px}.whoami{color:var(--muted);white-space:nowrap;font-size:12.5px}.linkbtn{font:inherit;color:var(--teal);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.btn{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 15px;font-size:13px;font-weight:600}.btn:hover{background:var(--teal-d)}.btn:disabled{opacity:.6;cursor:default}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:18px;padding:18px 20px}.card h2{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 0 14px;font-size:14px;font-weight:700}.card.warn{background:var(--amber-bg);border-color:var(--amber)}.kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px 16px}.kpi .v{color:var(--navy);font-size:24px;font-weight:700}.kpi .l{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:3px;font-size:11.5px}.pill{background:var(--chip);color:var(--navy);border-radius:6px;margin-left:6px;padding:1px 7px;font-size:11px;display:inline-block}.muted{color:var(--muted)}.subtle{color:var(--muted);font-size:12.5px}.head-row{margin-bottom:18px}.head-row h1{color:var(--navy);margin:0 0 2px;font-size:22px}ul.plain{margin:0;padding-left:18px}.navgrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:12px;display:grid}.navcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.nc-title{color:var(--navy);font-weight:700}.splash{min-height:100vh;color:var(--muted);text-align:center;place-content:center;padding:16px;display:grid}.loginwrap{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.logincard{background:#fff;border:1px solid #e4e8e2;border-radius:16px;flex-direction:column;gap:12px;width:360px;max-width:100%;padding:30px 28px;display:flex;box-shadow:0 10px 36px #0000001a}.logincard .loginlogo{align-self:center;max-width:220px;height:auto;margin:4px 0 2px}.loginsub{color:#6b7a72;text-transform:uppercase;letter-spacing:1.5px;text-align:center;margin:0 0 6px;font-size:11px}.authform{flex-direction:column;gap:12px;display:flex}.logincard label{color:#6b7a72;flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.logincard input{border:1px solid #d8dfd7;border-radius:8px;padding:9px 11px;font-size:14px;font-weight:400}.pwwrap{display:block;position:relative}.pwwrap input{width:100%;padding-right:54px}.pweye{color:#6b7a72;cursor:pointer;background:0 0;border:none;font-size:11.5px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.loginerr{color:var(--red);min-height:15px;font-size:12.5px}.loginhint{color:#6b7a72;text-align:center;font-size:12px}.authnote{color:var(--ink);margin:0;font-size:13px}@media (width<=760px){.app{flex-direction:column}.side{border-right:none;border-bottom:1px solid var(--line);width:100%;height:auto;position:static}.nav{flex-wrap:wrap;padding:4px 8px;display:flex}.nav a,.nav .soon{border-left:none;padding:8px 10px}.side .foot{display:none}.topbar{flex-wrap:wrap;padding:10px 16px}.content{padding:16px 16px 40px}}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.toolbar .spacer{flex:1}.search{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:100%;max-width:420px;padding:9px 12px;font-size:14px}a.btn{color:#fff;display:inline-block}.btn.gray{color:var(--ink);background:#eef2f5}.btn.ghost{color:var(--teal);border:1px solid var(--teal);background:#fff}.btn.sm{padding:5px 10px;font-size:12px}.btn.danger{background:var(--red)}.filters{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;font-size:12px;display:flex}.filters label{align-items:center;gap:6px;display:flex}.filters select,.inlineform select,.inlineform input,.fg input,.fg select,.fg textarea{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:7px;padding:6px 8px;font-family:inherit;font-size:13px}.check{color:var(--ink);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%}table.list th,table.list td,table.ntab th,table.ntab td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 10px}table.list th,table.ntab th{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:var(--panel);font-size:11.5px;font-weight:700}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.nowrap{white-space:nowrap}tr.click{cursor:pointer}tr.click:hover td{background:#f6f9f6}.flag{color:var(--red);margin-left:8px;font-size:11px;font-weight:700}.pill.alg{background:var(--red-bg);color:var(--red);margin:1px 4px 1px 0}.tag{border-radius:20px;padding:1px 8px;font-size:10.5px;font-weight:700;display:inline-block}.tag.live{background:var(--green-bg);color:var(--green)}.tag.dev{background:var(--amber-bg);color:var(--amber)}.tag.archived{background:var(--chip);color:var(--muted)}.tag.approved{background:var(--green-bg);color:var(--green);border:1px solid var(--green);margin-left:4px}.pnav{margin-bottom:10px;font-size:13px}.head-row.split{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.head-row.split .meta{flex:1;min-width:260px}.actions{flex-wrap:wrap;gap:8px;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;display:grid}.facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:13px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.facts.compact{margin-top:12px;display:block}.factrow{border-bottom:1px solid var(--line);justify-content:space-between;padding:3px 0;display:flex}.alg-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;display:grid}.alg-item{border:1px solid var(--line);border-radius:6px;justify-content:space-between;padding:4px 8px;font-size:12px;display:flex}.alg-item .present{color:var(--red);font-weight:700}.alg-item .absent{color:var(--muted)}.card h2 .right{float:right;text-transform:none;letter-spacing:0;align-items:center;gap:10px;font-weight:400;display:inline-flex}.nutcols{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:14px 22px;display:grid}details summary{cursor:pointer;color:var(--teal);margin:6px 0;font-size:13px}.inlineform{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.inlineform input[type=number]{width:110px}.formgrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;display:grid}.formgrid.three{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.fg{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.fg input:focus,.fg select:focus,.fg textarea:focus,.search:focus{outline:2px solid var(--teal);outline-offset:-1px}.check.runout{margin-top:12px;font-weight:700}.check.runout.on{color:var(--red)}.checkgrid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;display:grid}.nutset{border:1px solid var(--line);border-radius:8px;margin:0 0 12px;padding:10px 12px 12px}.nutset legend{color:var(--muted);padding:0 6px;font-size:11.5px;font-weight:700}.nutgrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 12px;display:grid}.subhead{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px;font-size:12px;font-weight:700}.overlay{z-index:50;background:#0a140f59;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border-radius:14px;width:640px;max-width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #00000040}.modal .mhead,.modal .mbody,.modal .mfoot{padding:16px 20px}.modal .mhead{border-bottom:1px solid var(--line)}.modal .mhead h3{margin:0;font-size:16px}.modal .mfoot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;display:flex}.mulrow{margin-bottom:10px}.fg.changed input,.fg.changed select,.fg.changed textarea{border-color:var(--amber);background:#fff4cc}.fg.changed{color:var(--amber)}.check.changed{background:#fff4cc;border-radius:6px;padding:0 4px}.unsaved{color:var(--amber);background:#fff4cc;border-radius:6px;align-self:center;padding:4px 8px;font-size:12.5px;font-weight:700}table.review td{font-size:13px}.gridtitle{color:var(--navy);margin:0;font-size:18px}.unsaved.bad{color:var(--red);background:var(--red-bg)}.card.ok{background:var(--green-bg);border-color:var(--green)}.gridwrap{border:1px solid var(--line);background:var(--panel);border-radius:10px;outline:none;height:calc(100vh - 230px);min-height:320px;overflow:auto}.gridwrap:focus-visible{box-shadow:0 0 0 2px var(--teal)}table.grid{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:max-content;font-size:12.5px}table.grid th,table.grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--panel);height:30px;padding:0 8px}table.grid thead th{z-index:3;color:var(--muted);background:#f3f6f2;font-size:11px;font-weight:700;position:sticky;top:0}table.grid thead tr:nth-child(2) th{top:30px}table.grid th.grp{text-align:left;text-transform:uppercase;letter-spacing:.4px}table.grid th.h2{text-overflow:ellipsis;text-align:right;min-width:84px;max-width:120px;overflow:hidden}table.grid th.h2 .u{font-size:10px;font-weight:400;display:block}table.grid .stick{z-index:2;position:sticky}table.grid .s1{width:240px;min-width:240px;max-width:240px;left:0}table.grid .s2{border-right:2px solid var(--line);width:80px;min-width:80px;left:240px}table.grid thead .corner{z-index:4;text-align:left}table.grid .rowname{text-align:left;text-overflow:ellipsis;font-weight:600;overflow:hidden}table.grid .rowname a{color:var(--ink)}table.grid .code{color:var(--muted)}table.grid td.cell{text-align:right;cursor:cell;min-width:84px}table.grid td.cell.changed{background:#fff4cc}table.grid td.cell.invalid{background:var(--red-bg);color:var(--red)}table.grid td.cell.sel{outline:2px solid var(--teal);outline-offset:-2px}table.grid input.editor{text-align:right;width:100%;font:inherit;background:0 0;border:none;outline:none;padding:0}.modal.wide{width:860px}button.kpi.pick{text-align:left;font:inherit;cursor:pointer}button.kpi.pick:hover,button.kpi.pick.active{border-color:var(--teal)}button.kpi.pick.active{box-shadow:inset 0 0 0 1px var(--teal)}tr.handedit td{background:var(--amber-bg)}.card .card{margin:12px 0 0}.card.warn .check{margin-top:6px;display:block}.small{font-size:12px}.legend{color:var(--muted);margin-top:8px;font-size:11.5px}.prewrap{white-space:pre-wrap}.crumbs{color:var(--muted);margin-bottom:14px;font-size:14px}.crumbs .linkbtn{color:var(--teal);cursor:pointer;font-weight:600}.crumbs b{color:var(--ink)}button.navcard.click{text-align:left;font:inherit;cursor:pointer;transition:all .12s}button.navcard.click:hover{border-color:var(--teal);transform:translateY(-1px);box-shadow:0 2px 12px #062c1314}.nc-sub{color:var(--muted);margin-top:4px;font-size:12.5px}.cur{background:var(--teal);color:#fff;letter-spacing:.4px;vertical-align:middle;border-radius:20px;padding:1px 9px;font-size:10.5px;font-weight:700}.tree details.flav{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin-bottom:8px;overflow:hidden}.tree details.flav>summary{cursor:pointer;color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:11px 14px;font-size:14.5px;list-style:none;display:flex}.tree details.flav>summary::-webkit-details-marker{display:none}.tree details.flav>summary:before{content:"▸";color:var(--muted);font-size:12px;transition:all .12s}.tree details.flav[open]>summary:before{transform:rotate(90deg)}.tree details.flav>summary:hover{background:#eef3ee}.tree details.flav .nm{color:var(--navy);font-weight:700}.tree details.flav .nm:hover{color:var(--teal);text-decoration:underline}.vlist{border-top:1px solid var(--line);background:#fafcf8;padding:4px 14px 8px 32px}.vrow{border-bottom:1px dashed var(--line);align-items:center;gap:8px;padding:6px 0;display:flex}.vrow:last-child{border-bottom:none}.vrow .nm{color:var(--teal);font-weight:600}.vrow .spacer{flex:1}.vrow .cur{padding:1px 7px;font-size:9.5px}.pnav.split{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pnav .spacer{flex:1}.info-strip{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:22px;margin-bottom:16px;padding:14px 20px;display:flex}.info-strip .it .l{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:10.5px}.info-strip .it .v{color:var(--navy);font-size:14px;font-weight:700}.ro-banner{border:1px solid var(--line);color:var(--muted);background:#eef1e6;border-radius:10px;margin-bottom:14px;padding:8px 14px;font-size:13px}.ptabs{border-bottom:2px solid var(--line);flex-wrap:wrap;gap:2px;margin:0 0 16px;display:flex}.ptab{font:inherit;color:var(--muted);cursor:pointer;letter-spacing:.2px;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:9px 18px;font-size:13px;font-weight:700}.ptab:hover{color:var(--teal)}.ptab.active{color:var(--teal);border-bottom-color:var(--lime)}table.ntab.panel{table-layout:fixed}table.ntab.panel th:first-child{width:34%}.section-row td{letter-spacing:.5px;color:var(--navy);text-transform:uppercase;background:#f0f4f6;font-size:11px;font-weight:700}.mmol-row td{color:var(--muted);font-size:12px}.mmol-row .mmol-lab{padding-left:18px}.total-row td{border-top:2px solid var(--line);font-weight:700}.dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot.g{background:var(--green)}.dot.a{background:var(--amber)}.dot.r{background:var(--red)}.lim-ok{color:#0c4e3c;font-weight:700}.lim-lo{color:#b9770e;font-weight:700}.lim-hi{color:#b00020;font-weight:700}.mulbadge{vertical-align:middle;border-radius:6px;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.mul-HIGH{color:#b3261e;background:#fbe9e8;border:1px solid #e7b4ae}.mul-MEDIUM{color:#9a6a06;background:#fcf3e0;border:1px solid #ecd9a8}.mul-LOW{color:#7d6a13;background:#fdfae6;border:1px solid #e9e0b0}.mulrow-HIGH td{background:#fdf1f0}.mulrow-MEDIUM td{background:#fdf8ec}.mulrow-LOW td{background:#fdfcef}.mulrow-HIGH td:first-child{border-left:3px solid #b3261e}.mulrow-MEDIUM td:first-child{border-left:3px solid #c8860a}.scorebar{background:var(--chip);vertical-align:middle;border-radius:4px;width:120px;height:8px;display:inline-block;overflow:hidden}.scorebar span{background:var(--teal);height:100%;display:block}table.recipe-view tr.runout td{background:#fcecea}table.list tfoot td{border-bottom:none}table.navlist .nm{color:var(--navy);cursor:pointer;font-weight:700}table.navlist tr.click:hover .nm{color:var(--teal);text-decoration:underline}table.navlist th.num{width:110px}.crumbs.split{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.crumbs .spacer{flex:1}.head-row.split .actions{align-items:center}.controls{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin-bottom:12px;display:flex}.fg.inline input,.fg.inline select{max-width:100%}.fg.inline.grow{flex:1;min-width:220px}.fg.inline.changed{color:var(--amber)}.fg.inline.changed input,.fg.inline.changed select{border-color:var(--amber);background:#fff4cc}table.recipe-edit td{vertical-align:middle;padding:4px 8px}table.recipe-edit tr.runout td{background:#fcecea}input.cellin{text-align:right;border:1px solid var(--line);width:76px;font:inherit;background:#fbfcfb;border-radius:6px;padding:5px 7px;font-size:13px}input.cellin:focus{outline:2px solid var(--teal);background:#fff}td.changed input,td.changed select{border-color:var(--amber);background:#fff4cc}table.recipe-edit select{border:1px solid var(--line);font:inherit;border-radius:6px;padding:4px 6px;font-size:12.5px}.picker{flex:1;max-width:520px;position:relative}.picker .search{width:100%}.picklist{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:8px;max-height:320px;margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 6px 20px #062c131f}.picklist li{cursor:pointer;padding:6px 12px;font-size:13px}.picklist li.active{background:#eef3ee}.picklist.empty{padding:8px 12px}.ro-banner.editing{border-color:var(--teal);color:var(--ink);background:#eef6f1}.ro-banner.livewarn{background:var(--amber-bg);border-color:var(--amber);color:var(--ink)}.chipbtn{cursor:pointer;font:inherit;border:none;margin:2px 6px 2px 0;font-size:12px}.chipbtn:hover{background:var(--lime)}textarea.notes{border:1px solid var(--line);width:100%;font:inherit;box-sizing:border-box;border-radius:8px;padding:8px 10px;font-size:13px}textarea.notes.changed{border-color:var(--amber);background:#fff4cc}th.rmcol,td.rmcol{text-align:right;width:44px}th.mvcol,td.mvcol{text-align:right;width:72px;padding-left:4px;padding-right:0}.tag.past{color:#5b6672;background:#e8ebef}tr.discarded td{color:var(--muted);opacity:.7}details.menu{display:inline-block;position:relative}details.menu>summary{color:var(--ink);margin:0;list-style:none}details.menu>summary::-webkit-details-marker{display:none}.menulist{z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-width:210px;padding:4px 0;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #062c131f}.menulist button,.menulist a{text-align:left;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:none;padding:8px 14px;font-size:13px;text-decoration:none}.menulist button:hover,.menulist a:hover{background:#eef3ee}.menulist button.danger{color:var(--red)}td.cost-total{color:var(--navy);font-size:14px}textarea.notes.mono{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}div.menu{display:inline-block;position:relative}.suit{flex-wrap:wrap;gap:8px;display:flex}.suit .s{border-radius:20px;padding:5px 12px;font-size:12.5px;font-weight:700}.suit .yes{background:var(--green-bg);color:var(--green)}.suit .no{color:var(--muted);background:#eef1e6}.verdict{border-radius:10px;margin-bottom:12px;padding:10px 14px;font-size:13.5px}.verdict.good{color:var(--teal-d);background:#e7f5ec;border:1px solid #bfe3cc}.verdict.bad{color:#9b2222;background:#fdecec;border:1px solid #f1c3c3}.declbox{background:var(--chip);border-radius:8px;margin-bottom:10px;padding:10px 12px;font-size:13px;line-height:1.5}.kpis.three{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:16px}.scorebar.mid span{background:#d9a227}.scorebar.low span{background:var(--red)}.calc-max{background:#fff1c2;border-radius:3px;font-weight:700}td.right{text-align:right}.widewrap{border:1px solid var(--line);border-radius:8px;max-height:68vh;overflow:auto}table.ntab.panel.wide{table-layout:auto;border-collapse:separate;border-spacing:0;font-size:11.5px}table.ntab.panel.wide th{z-index:2;white-space:nowrap;text-align:right;position:sticky;top:0}table.ntab.panel.wide td{white-space:nowrap;padding:4px 9px}table.ntab.panel.wide th:first-child,table.ntab.panel.wide td:first-child{background:var(--panel);text-align:left;border-right:2px solid var(--line);z-index:1;width:auto;min-width:200px;position:sticky;left:0}table.ntab.panel.wide th:first-child{z-index:3}.seg{gap:6px;margin-bottom:10px;display:flex}.okmsg{color:var(--green,#1a7f37);margin:6px 0}input.cellin.wide{text-align:left;width:100%;min-width:160px}.toolbar.wrap{flex-wrap:wrap}.qrow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.qlead{text-align:right;width:44px}.qrow select{max-width:320px}.qval{width:100px}.qfoot{flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;display:flex}.changelog td{vertical-align:top}.logval{overflow-wrap:anywhere;max-width:280px}.mulrow .formgrid{margin-top:6px}.bagset{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:12px;display:flex}.kpis.four{grid-template-columns:repeat(4,1fr);margin-bottom:12px}@media (width<=700px){.kpis.four{grid-template-columns:repeat(2,1fr)}}.formgrid.four{grid-template-columns:repeat(4,1fr)}@media (width<=800px){.formgrid.four{grid-template-columns:1fr 1fr}}table.compare th .btn{margin-top:4px}table.ntab.compare th.num,table.ntab.compare td.num{text-align:right;min-width:130px}table.ntab.compare th:nth-child(2),table.ntab.compare td:nth-child(2){text-align:left;width:56px}table.compare tr.differs td,.differs-key{background:#fff4cc}ul.attention li{margin:4px 0}.printpage{background:#fff;max-width:980px;min-height:100vh;margin:0 auto;padding:18px 20px 40px}.printbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.spec{position:relative}.spec h3{text-transform:uppercase;letter-spacing:.4px;color:var(--navy);align-items:center;gap:10px;margin:16px 0 6px;font-size:13px;display:flex}.spec-head{border-bottom:2px solid var(--navy);align-items:center;gap:16px;margin-bottom:8px;padding-bottom:10px;display:flex}.spec-head-mid{text-align:center;flex:1}.sh-doc{color:var(--navy);font-size:16px;font-weight:700}.sh-sub{color:var(--muted)}.sh-fr{height:34px}table.spec-info{border-collapse:collapse;width:100%;margin:6px 0}table.spec-info td{vertical-align:top;padding:4px 6px}.declaration{background:var(--chip,#f3f5f7);border-radius:6px;padding:8px 10px}.spec-panel{break-inside:avoid}.specfoot{border-top:1px solid var(--line);color:var(--muted);margin-top:20px;padding-top:6px;font-size:11px}.watermark{letter-spacing:8px;color:#0d2a4f12;pointer-events:none;z-index:0;white-space:nowrap;font-size:110px;font-weight:800;position:fixed;top:45%;left:50%;transform:translate(-50%,-50%)rotate(-30deg)}.mono{font-family:ui-monospace,Menlo,monospace}table.labsheet tbody tr:not(.total-row){cursor:pointer}table.labsheet td{padding-top:10px;padding-bottom:10px}.tickcol{width:34px}.tickcol input{width:20px;height:20px}table.labsheet tr.weighed td{color:#9aa3ad;text-decoration:line-through}input.labbatch{width:90px}.labnotes{border:1px solid #bbb;border-radius:6px;height:170px;margin-bottom:14px}@page{margin:12mm}@media print{.noprint{display:none!important}body,.printpage{background:#fff}.printpage{max-width:none;padding:0}input.labbatch{background:0 0;border:none}.tablewrap{overflow:visible}}.lockscreen{z-index:1000;background:var(--bg);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lockbtns{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.idlewarn{z-index:900;background:var(--navy);color:#fff;border-radius:8px;max-width:calc(100% - 32px);padding:10px 16px;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #0000002e}@media print{.idlewarn{display:none}}.ottoparty{z-index:950;pointer-events:none;position:fixed;inset:0;overflow:hidden}.otto{height:auto;transform:rotate(var(--turn));filter:drop-shadow(0 6px 12px #00000040);animation:.35s cubic-bezier(.2,1.6,.4,1) both otto-pop;position:absolute}@keyframes otto-pop{0%{opacity:0;transform:rotate(var(--turn)) scale(.3)}to{opacity:1;transform:rotate(var(--turn)) scale(1)}}@media (prefers-reduced-motion:reduce){.otto{animation:none}}@media print{.ottoparty{display:none}}.modal .mfoot .spacer{flex:1}.modal h4{margin:16px 0 6px}label.radio{margin:4px 0;display:block}.ticks{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 16px;display:grid}.tickgroup{margin:8px 0 10px}.tickhead{margin-bottom:4px;font-weight:600;display:block}
