:root{--deep: #0e2b35;--accent: #16885e;--accent-soft: #b9efd2;--ground: #eef2ef;--line: #d6dfda;--ink: #102126;--ink-3: #7b8b93;--overlay: rgba(14, 43, 53, .45);--shadow-frame: rgba(16, 33, 38, .3);--danger: #a8322a;--danger-soft: #fbeceb;--ease-out: cubic-bezier(.23, 1, .32, 1);--f: "Aptos", "Open Sans", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--f);font-size:13px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}table{border-collapse:collapse;width:100%}thead th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--ink-3);padding:8px 11px;border-bottom:1px solid var(--line);background:#fafbfc}tbody td{padding:12px 11px;border-bottom:1px solid #edf1f3}td.r,th.r{text-align:right}.card{background:#fff;border:1px solid var(--line);border-radius:3px}.pad{padding:13px 15px}.scroll{overflow-x:auto}.app{padding:16px 18px 44px}.tabstrip{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}.tabstrip button{background:none;border:0;border-bottom:2px solid transparent;padding:9px 14px;cursor:pointer;color:#4a5c66;font-weight:600}.tabstrip button[aria-current=true]{color:var(--accent);border-bottom-color:var(--accent)}.srv-name{font-weight:600;font-size:13.5px}.rowsub{color:var(--ink-3);font-size:11.5px;margin-top:2px}.grp{color:#4a5c66;font-size:12.5px}.dims{margin-top:9px;display:flex;flex-direction:column;gap:8px}.dimlbl{font-size:11px;color:var(--ink-3);margin-bottom:4px}.chips{display:flex;gap:5px;flex-wrap:wrap}.vchip{position:relative;border:1px solid var(--line);background:#fff;border-radius:3px;padding:5px 11px;font-size:12.5px;color:#4a5c66;cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color .14s var(--ease-out),background-color .14s var(--ease-out),color .14s var(--ease-out),transform .14s var(--ease-out)}@media (hover: hover) and (pointer: fine){.vchip:hover{border-color:var(--accent-soft);color:var(--ink)}}.vchip:active{transform:scale(.97)}.vchip[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);color:#0f6a49;font-weight:600}.vchip[aria-checked=true]:after{content:"✓";position:absolute;top:-6px;right:-6px;width:14px;height:14px;border-radius:100px;background:var(--accent);color:#fff;font-size:8px;line-height:14px;text-align:center;border:2px solid #fff;font-weight:700}.vchip:disabled{opacity:.35;cursor:not-allowed}.out{display:inline-block;min-width:74px;text-align:right;font-variant-numeric:tabular-nums}.out .u{color:var(--ink-3);font-weight:400;font-size:11.5px}.price{font-weight:650;color:#0f6a49}@media (prefers-reduced-motion: reduce){*{transition-duration:1ms!important}.vchip:active,.filters .chip:active,.ico:active{transform:none}}.ov{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;padding:22px;z-index:50}.frame{background:var(--ground);border-radius:5px;width:min(1120px,100%);max-height:100%;display:flex;flex-direction:column;box-shadow:0 18px 60px var(--shadow-frame);overflow:hidden}.fr-head{background:#fff;padding:15px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.fr-head h2{font-size:19px;margin:0}.fr-x{background:none;border:0;font-size:20px;color:var(--ink-3);cursor:pointer}.fr-body{overflow:auto;padding:14px 20px}.fr-foot{background:#fff;border-top:1px solid var(--line);padding:11px 20px;display:flex;gap:8px;justify-content:flex-end}.blk{background:#fff;border:1px solid var(--line);border-radius:3px;padding:13px 15px}.blk+.blk{margin-top:12px}.blk h3{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:0 0 9px}.lbl{display:block;font-size:11.5px;color:var(--ink-3);margin:9px 0 3px}.fld{border:1px solid var(--line);border-radius:3px;padding:6px 9px}.fld.full{width:100%}.fld:disabled,table.vars input.cell:disabled{background:var(--ground);color:var(--ink-3);cursor:not-allowed}.radio{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:3px;padding:7px 10px;margin-bottom:5px;font-size:12.5px;cursor:pointer;background:#fff;transition:border-color .14s var(--ease-out),background-color .14s var(--ease-out)}.radio:hover{border-color:var(--accent-soft)}.radio input{accent-color:var(--accent);margin:0;cursor:pointer}.radio:has(input:checked){border-color:var(--accent);background:#f2fbf6;font-weight:600;color:#0f6a49}.varhead{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid #edf1f3}.varhead .add,.colRhead .add{color:var(--accent);font-weight:700;background:none;border:0;cursor:pointer}.varhead .add:disabled{color:var(--ink-3);cursor:not-allowed}table.vars input.cell{width:62px;text-align:right;border:1px solid var(--line);border-radius:3px;padding:4px 6px;font-variant-numeric:tabular-nums}.hint{font-size:12px;color:var(--ink-3);margin:9px 0 0;font-weight:400}.btn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:3px;padding:6px 13px;font-weight:600;cursor:pointer}.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line);font-weight:500}.btn-sm{padding:4px 9px;font-size:12px}.lnkrow{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}.lnkrow:hover{color:var(--accent);text-decoration:underline}.chip{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 7px;border-radius:100px;border:1px solid var(--line);color:#4a5c66;background:#f4f6f8}.chip.em{color:#0f6a49;background:var(--accent-soft);border-color:var(--accent)}.spacer{margin-left:auto}.namerow{padding:15px 18px 0}.namerow .fld input{font-size:14.5px;font-weight:600}.cols{display:grid;grid-template-columns:320px 1fr;gap:0}.colL{padding:16px 18px;border-right:1px solid var(--line);background:#fafbfc}.colR{padding:16px 18px;min-width:0}.box{background:#fff;border:1px solid var(--line);border-radius:3px;padding:12px 13px;margin-bottom:12px}.box h3{margin:0 0 10px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:650}.cols .fld,.namerow .fld{margin-bottom:10px}.cols .fld:last-child{margin-bottom:0}.cols .fld label,.namerow .fld label{display:block;font-size:11px;color:var(--ink-3);margin-bottom:3px}.cols .fld input,.cols .fld select,.namerow .fld input{width:100%;padding:6px 9px;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:13px;background:#fff;color:var(--ink)}.cols .fld input:focus,.cols .fld select:focus,.namerow .fld input:focus{border-color:var(--accent);outline:0}.colRhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}.colRhead h3{margin:0;font-size:13px;font-weight:650}@media (max-width: 760px){.cols{grid-template-columns:1fr}.colL{border-right:0;border-bottom:1px solid var(--line)}}.tasks{border-top:1px solid var(--line);padding:16px 18px;background:#fafbfc}.tasks h3{margin:0 0 3px;font-size:13px;font-weight:650}.mchips{display:flex;flex-wrap:wrap;gap:4px}.mchip{border:1px solid var(--line);background:#fff;border-radius:3px;padding:4px 9px;font-size:12px;color:#4a5c66;cursor:pointer;font-family:inherit;min-width:38px;transition:border-color .14s var(--ease-out),background-color .14s var(--ease-out),color .14s var(--ease-out),transform .14s var(--ease-out)}@media (hover: hover) and (pointer: fine){.mchip:hover{border-color:var(--accent-soft)}}.mchip:active{transform:scale(.95)}.mchip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:#0f6a49;font-weight:650}.chk{display:flex;align-items:center;gap:8px;padding:5px 0}.chk .grab{color:#c2ccc7;cursor:grab;line-height:0}.chk input[type=text]{flex:1;padding:6px 9px;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:12.5px;background:#fff;color:var(--ink)}.chk input[type=text]:focus{border-color:var(--accent);outline:0}.linkrow{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:11px 13px;margin-bottom:9px}@media (prefers-reduced-motion: reduce){.mchip:active{transform:none}}.chain{display:flex;flex-wrap:wrap;margin-bottom:12px}.link{flex:1 1 148px;padding:11px 13px;border-right:1px solid #edf1f3}.link:last-child{border-right:0}.link .step{font-size:10.5px;font-weight:700;color:var(--accent);letter-spacing:.05em}.link .nm{font-weight:600;margin-top:2px;font-size:12.5px}.link .v{font-size:18px;font-weight:650;margin-top:5px;font-variant-numeric:tabular-nums}.subtabs{display:flex;gap:3px;margin-bottom:12px}.subtabs button{background:#fff;border:1px solid var(--line);border-radius:100px;padding:5px 13px;cursor:pointer;color:#4a5c66;font-weight:600}.subtabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff}.warn{border-left:3px solid var(--deep);margin-bottom:12px}.warn-h{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--deep);font-weight:700;margin-bottom:6px}.warn ul{margin:0;padding-left:18px}.warn li{color:var(--ink);font-size:12.5px;line-height:1.5}.warn li+li{margin-top:4px}.total td{font-weight:700;border-top:2px solid var(--line)}.rowedit{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.fielderr{flex-basis:100%;color:var(--deep);font-size:11.5px;line-height:1.4;text-align:right}table.exptable .fld{width:100%}table.exptable select.fld{width:auto;min-width:168px}table.exptable input.fld{width:110px;text-align:right}.chip.warn{color:#fff;background:var(--deep);border-color:var(--deep)}.refgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(198px,1fr));gap:10px;margin-bottom:12px}.ref{background:#fff;border:1px solid var(--line);border-radius:3px;padding:12px 13px;cursor:pointer;text-align:left}.ref[aria-current=true]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.ref .t{font-weight:600}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.u{color:var(--ink-3);font-weight:400;font-size:11.5px}.newrow td{background:#f2fbf6}.newrow .inp{border-color:var(--accent-soft);background:#fff}tr.rowoff td{background:#fbfbfa}tr.rowoff .inp,tr.rowoff .num{color:var(--ink-3)}.offmark{display:block;margin-top:3px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--deep)}.sw{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:11px 13px;margin-bottom:9px;cursor:pointer;transition:border-color .14s var(--ease-out),background-color .14s var(--ease-out)}.sw:hover{border-color:#c3d2ca}.sw b{display:block;font-size:13px;font-weight:650;margin-bottom:2px}.sw span{display:block;font-size:11.5px;color:var(--ink-3);line-height:1.4}.sw input{position:absolute;opacity:0;width:0;height:0}.knob{flex:none;width:38px;height:21px;border-radius:100px;background:#d3dcd7;position:relative;margin-top:2px;transition:background-color .16s var(--ease-out)}.knob:after{content:"";position:absolute;top:2.5px;left:2.5px;width:16px;height:16px;border-radius:100px;background:#fff;box-shadow:0 1px 3px #10212647;transition:transform .16s var(--ease-out)}.sw input:checked~.knob{background:var(--accent)}.sw input:checked~.knob:after{transform:translate(17px)}.sw:has(input:checked){border-color:var(--accent);background:#f5fcf8}.sw input:focus-visible~.knob{outline:2px solid var(--accent);outline-offset:2px}.filters{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line);background:#fafbfc;border-radius:3px 3px 0 0}.fsearch{position:relative;flex:1 1 200px;min-width:160px}.fsearch input{width:100%;padding:6px 10px 6px 27px;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:12.5px;background:#fff;color:var(--ink)}.fsearch svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--ink-3)}.filters .chip{border:1px solid var(--line);background:#fff;border-radius:3px;padding:5px 10px;font-size:12.5px;color:#4a5c66;cursor:pointer;font-family:inherit;font-variant-numeric:tabular-nums;transition:border-color .14s var(--ease-out),background-color .14s var(--ease-out),color .14s var(--ease-out),transform .14s var(--ease-out)}@media (hover:hover) and (pointer:fine){.filters .chip:hover{border-color:var(--accent-soft);color:var(--ink)}}.filters .chip:active{transform:scale(.97)}.filters .chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:#0f6a49;font-weight:600}.filters .chip .n{color:var(--ink-3);font-weight:400;margin-left:4px;font-size:11.5px}.filters .chip[aria-pressed=true] .n{color:#0f6a49}.filters select{padding:6px 8px;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:12.5px;background:#fff;color:var(--ink);cursor:pointer}.toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#4a5c66;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{accent-color:var(--accent);cursor:pointer;margin:0}.foot{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12px;background:#fafbfc;border-radius:0 0 3px 3px}.vtable td{padding:7px 9px}.vtable input[type=number]{width:66px;padding:4px 7px;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:12.5px;text-align:right;background:#fff;color:var(--ink);font-variant-numeric:tabular-nums}.vtable input[type=number]:focus{border-color:var(--accent);outline:0}.vtable tr.dup td{background:var(--danger-soft)}.vdup{margin:9px 0 0;font-size:12px;color:var(--danger)}.inp{width:100%;padding:5px 8px;border:1px solid transparent;border-radius:3px;font:inherit;font-size:13px;background:transparent;color:var(--ink);transition:border-color .14s var(--ease-out),background-color .14s var(--ease-out)}.inp:hover{border-color:var(--line);background:#fff}.inp:focus{border-color:var(--accent);background:#fff;outline:0}.ico{border:0;background:none;padding:4px;border-radius:3px;cursor:pointer;color:var(--ink-3);line-height:0;transition:background-color .14s var(--ease-out),color .14s var(--ease-out),transform .14s var(--ease-out)}@media (hover:hover) and (pointer:fine){.ico:hover{background:#eef2ef;color:var(--ink)}}.ico:active{transform:scale(.9)}.ico.dg:hover{background:var(--danger-soft);color:var(--danger)}.rowacts{display:flex;gap:1px;justify-content:flex-end;opacity:.45;transition:opacity .14s var(--ease-out)}tr:hover .rowacts,tr:focus-within .rowacts{opacity:1}@media (prefers-reduced-motion:reduce){.rowacts{transition:none}}.framehead{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line);background:#fff}.framehead h2{margin:0;font-size:15.5px;font-weight:650}.warnbox{border:1px solid #e5cdcb;background:var(--danger-soft);border-radius:3px;padding:11px 13px;margin-bottom:13px;font-size:12.5px;color:var(--ink)}.warnbox b{color:var(--danger)}.warnbox ul{margin:6px 0 0;padding-left:19px}.warnbox li+li{margin-top:2px}.framefoot{display:flex;justify-content:space-between;gap:9px;padding:13px 18px;border-top:1px solid var(--line);background:#fafbfc;border-radius:0 0 4px 4px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.btn-danger{color:var(--danger);border-color:#e5cdcb}@media (hover:hover) and (pointer:fine){.btn.btn-danger:hover{background:var(--danger-soft);border-color:#d9b3b0}}.subnav{display:flex;flex-wrap:wrap;gap:3px;padding:10px 13px;border-bottom:1px solid var(--line);background:#fafbfc;border-radius:3px 3px 0 0}.subnav button{border:1px solid transparent;background:none;border-radius:3px;padding:5px 10px;font:inherit;font-size:12.5px;color:#4a5c66;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background-color .14s var(--ease-out),color .14s var(--ease-out),border-color .14s var(--ease-out),transform .14s var(--ease-out)}@media (hover:hover) and (pointer:fine){.subnav button:hover{background:#eef2ef;color:var(--ink)}}.subnav button:active{transform:scale(.97)}.subnav button[aria-current=true]{background:#fff;border-color:var(--line);color:var(--accent);font-weight:650}.subnav .n{color:var(--ink-3);font-size:11.5px;font-variant-numeric:tabular-nums}.subnav button[aria-current=true] .n{color:var(--accent)}.subsep{width:1px;background:var(--line);margin:2px 5px;align-self:stretch}.pane{padding:15px 17px;min-width:0}.panehead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:4px}.panehead h2{margin:0;font-size:15px;font-weight:650}.panehint{color:var(--ink-3);font-size:12px;margin:2px 0 13px;max-width:66ch}@media (prefers-reduced-motion:reduce){.subnav button:active{transform:none}}.vals{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.val{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:3px;padding:3px 5px 3px 9px;font-size:12.5px;color:#33474f;font-variant-numeric:tabular-nums}.val input{border:0;background:none;font:inherit;font-size:12.5px;width:7ch;padding:0;color:inherit}.val input:focus{outline:0;border-bottom:1px solid var(--accent)}.val .x{border:0;background:none;color:#c2ccc7;cursor:pointer;padding:1px;line-height:0;border-radius:2px;transition:color .14s var(--ease-out),background-color .14s var(--ease-out)}.val .x:hover{color:var(--danger);background:var(--danger-soft)}.val.add{border-style:dashed;border-color:var(--accent-soft);color:var(--accent);cursor:pointer;padding:3px 9px;font-weight:600}.msgbox{border:1px solid #e5cdcb;background:var(--danger-soft);border-radius:3px;padding:11px 13px;margin-bottom:14px;font-size:12.5px;color:var(--ink)}.msgbox b{color:var(--danger)}
