:root{--bg:#0f1216;--panel:#171b21;--panel-2:#1f242c;--line:#2b323c;--text:#e6e9ee;--muted:#8b95a3;--accent:#f5b301;--accent-ink:#1a1400;--ok:#22c55e;--warn:#f59e0b;--err:#ef4444;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px}@media (prefers-color-scheme:light){:root{--bg:#f3f4f6;--panel:#fff;--panel-2:#f1f3f6;--line:#dde1e7;--text:#15191f;--muted:#667085;--accent:#e0a100;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0;font-size:1.5rem}h2{margin:0;font-size:1.15rem}h3{margin:0 0 .5rem;font-size:1rem}a{color:inherit}.muted{color:var(--muted)}.small{font-size:.85em}.error{color:var(--err);background:color-mix(in srgb, var(--err) 10%, transparent);border-radius:8px;padding:.6rem .8rem}.warn-text{color:var(--warn)}.ok-text{color:var(--ok);font-size:1.1rem;font-weight:600}button,.button,input,select{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;min-height:38px;padding:.5rem .75rem}button,.button{cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}button:hover,.button:hover{border-color:var(--muted)}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.ghost{background:0 0;border-color:#0000}.ghost:hover{background:var(--panel-2)}.block{width:100%;margin-top:1rem;display:flex}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent)}input[type=range]{accent-color:var(--accent);background:0 0;border:0;flex:1;padding:0}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.topbar{z-index:10;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:1.5rem;padding:.6rem 1.25rem;display:flex;position:sticky;top:0}.brand{color:var(--accent);letter-spacing:.02em;align-items:center;gap:.5rem;font-weight:800;text-decoration:none;display:flex}.topbar nav{flex:1;gap:.25rem;display:flex}.topbar nav a{color:var(--muted);border-radius:8px;padding:.45rem .8rem;text-decoration:none}.topbar nav a.active{color:var(--text);background:var(--panel-2)}.menu{position:relative}.menu summary{cursor:pointer;border-radius:8px;padding:.3rem .7rem;font-size:1.3rem;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:.25rem;width:280px;padding:.4rem;display:grid;position:absolute;top:110%;right:0;box-shadow:0 10px 30px #0006}.menu>div button{background:0 0;border:0;justify-content:flex-start}.menu>div button:hover{background:var(--panel-2)}main{max-width:1400px;margin:0 auto;padding:1.25rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.back{color:var(--muted);font-size:.9rem;text-decoration:none}.count{color:var(--muted);font-size:1rem;font-weight:400}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.actions.left{margin:.5rem 0 1rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.toolbar input[type=search]{flex:1;min-width:200px}.tabs{border-bottom:1px solid var(--line);gap:.25rem;margin-bottom:1.25rem;display:flex;overflow-x:auto}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;padding:.65rem 1rem;text-decoration:none}.tabs a.active{color:var(--text);border-color:var(--accent)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow-x:auto}.table-wrap.small{max-height:220px;margin:.75rem 0;font-size:.85rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.5rem .7rem}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--panel-2);font-size:.8rem;font-weight:600;position:sticky;top:0}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--panel-2)}tr.off{opacity:.4}tr.head td{background:var(--panel-2);font-weight:700}table.edit input:not([type=checkbox]),table.edit select{width:100%;min-width:70px}.qty{width:70px}select.new{border-color:var(--accent)}td select+select{margin-top:.3rem}td select{max-width:280px}.dot{vertical-align:middle;border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.badge{background:var(--panel-2);border:1px solid var(--line);vertical-align:middle;border-radius:999px;min-height:0;margin-left:.4rem;padding:.1rem .45rem;font-size:.72rem;font-weight:500;display:inline-block}.badge.warn{color:var(--warn);border-color:var(--warn);cursor:pointer;background:0 0}.badge.ok{color:var(--ok);border-color:var(--ok)}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:.35rem;padding:1rem;display:flex}.card:hover{border-color:var(--muted)}.card p{margin:0}.card-actions{flex-wrap:wrap;gap:.25rem;margin-top:.5rem;display:flex}.card.vehicle{cursor:default}.card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card.nofit{opacity:.75}.progress{background:var(--panel-2);border-radius:6px;height:22px;margin-top:.4rem;position:relative;overflow:hidden}.progress>div{background:color-mix(in srgb, var(--ok) 55%, transparent);transition:width .2s;position:absolute;inset:0 auto 0 0}.progress span{padding-left:.5rem;font-size:.8rem;line-height:22px;position:relative}.progress.big{height:36px;margin-bottom:1rem}.progress.big span{font-size:.95rem;font-weight:600;line-height:36px}.meter{grid-template-columns:70px 1fr 50px;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.meter>div{background:var(--panel-2);border-radius:4px;height:8px;overflow:hidden}.meter>div>div{background:var(--ok);height:100%}.meter.high>div>div{background:var(--warn)}.meter.over>div>div{background:var(--err)}.meter.over b{color:var(--err)}.meter b{text-align:right}.stats{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;margin:1rem 0;display:grid}.stats>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:.6rem .75rem;display:flex}.stats b{font-size:1.3rem}.stats span{color:var(--muted);font-size:.8rem}.form{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.form label input,.form label select{color:var(--text)}.form .span2{grid-column:span 2}.form.inline{margin-bottom:1rem}.unit{align-items:center;gap:.4rem;display:flex}.unit input{flex:1;min-width:0}.checks{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.checks label{color:var(--text);flex-direction:row;align-items:center}.toggle{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:1rem;display:inline-flex}.toolbar .toggle,.plan-toolbar .toggle{margin:0}.add-line{flex-wrap:wrap;gap:.5rem;display:flex}.add-line input:first-child{flex:1;min-width:200px}.grid-2{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.5rem;display:grid}.grid-2 aside{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;position:sticky;top:80px}.grid-2 aside .stats{margin-top:0}.zones{margin:.5rem 0 1rem;padding-left:1.5rem}.zones li{padding:.1rem 0}.zones li>*{vertical-align:middle}.zones li span:first-child{cursor:text;min-width:130px;display:inline-block}.zones button{min-height:28px;padding:.1rem .45rem}.modal-bg{z-index:50;background:#000a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:1rem;width:min(560px,100%);max-height:92vh;padding:1.25rem;display:flex;overflow:auto}.modal.wide{width:min(1050px,100%)}.modal header,.modal footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.modal footer{justify-content:flex-end}.modal p{margin:0}.drop{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;justify-items:center;gap:1rem;padding:2rem;display:grid}.mapping{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.6rem;display:grid}.mapping label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.mapping label:first-child{grid-column:1/-1}.mapping select{color:var(--text)}.plan{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1.25rem;display:grid}.plan-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:0 0;border:0;border-radius:0}.seg button.active{background:var(--accent);color:var(--accent-ink)}.truck3d canvas{position:absolute;inset:0}.plan>*,.grid-2>*{min-width:0}.truck3d{background:radial-gradient(ellipse at center, var(--panel-2), var(--panel));border:1px solid var(--line);border-radius:var(--radius);touch-action:none;width:100%;height:min(58vh,560px);position:relative;overflow:hidden}.stepper{align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.stepper span{text-align:right;font-variant-numeric:tabular-nums;min-width:60px}.current{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);padding:.75rem 1rem}.current p{margin:.3rem 0 0}.plan-list{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 120px);padding:1rem;position:sticky;top:80px;overflow:auto}.plan-list ol,.check-list{margin:0;padding:0;list-style:none}.plan-list h4{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin:.75rem 0 .25rem;font-size:.75rem}.row{text-align:left;white-space:normal;background:0 0;border-color:#0000;justify-content:flex-start;width:100%;min-height:32px;padding:.25rem .4rem}.row.active{background:var(--panel-2);border-color:var(--accent)}.row.done span:last-child{color:var(--muted);text-decoration:line-through}.num{font-variant-numeric:tabular-nums;color:var(--muted);min-width:1.8rem;font-size:.85rem}.checklist{max-width:760px;margin:0 auto}.next{background:color-mix(in srgb, var(--accent) 14%, var(--panel));border:2px solid var(--accent);text-align:left;white-space:normal;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:1rem 1.25rem;display:flex}.next small{color:var(--muted)}.next b{font-size:1.3rem}.next em{color:var(--accent);margin-top:.25rem;font-style:normal;font-weight:600}.check-list li label{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:.7rem;padding:.75rem .5rem;display:flex}.check-list input{flex:none;width:26px;height:26px}.check-list .name{flex-direction:column;display:flex}.check-list small{color:var(--muted)}.check-list label.done .name{opacity:.5;text-decoration:line-through}.print-only{display:none}.login{place-items:center;min-height:100vh;padding:1rem;display:grid}.login form{background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:.9rem;width:min(380px,100%);padding:1.5rem;display:grid}.login h1{color:var(--accent)}.login p{margin:0}.login label{color:var(--muted);gap:.3rem;font-size:.85rem;display:grid}.login input{color:var(--text)}.sync{color:var(--muted);white-space:nowrap;font-size:.85rem}.sync.ok:first-letter{color:var(--ok)}.sync.error{color:var(--warn)}.fab{z-index:20;background:var(--panel);border-color:var(--accent);border-radius:999px;padding:.6rem 1rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 6px 20px #0005}textarea{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--line);resize:vertical;border-radius:8px;width:100%;padding:.6rem .75rem}.seg.wrap{flex-wrap:wrap}.feedback-list{gap:.75rem;max-width:900px;display:grid}.fb{cursor:default}.fb header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.fb header select{min-height:32px;margin-left:auto;padding:.2rem .5rem}.fb p{white-space:pre-wrap;margin:.25rem 0 0}.fb.closed{opacity:.55}@media (width<=900px){.grid-2,.plan{grid-template-columns:minmax(0,1fr)}.grid-2 aside,.plan-list{max-height:none;position:static}main{padding:1rem}.topbar{flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem}.topbar nav{order:3;width:100%;overflow-x:auto}.brand{flex:1}.truck3d{height:48vh}}@media (width<=520px){.form{grid-template-columns:1fr}.form .span2{grid-column:auto}}@media print{.fab{display:none!important}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#000}body{background:#fff}.topbar,.tabs,.page-head,.plan-main,.plan-list{display:none!important}.plan{display:block}.print-only{color:#000;display:block}.print-only table{font-size:11pt}.print-only th,.print-only td{color:#000;background:#fff;border:1px solid #999}}
