:root{--bg:#f0f2f6;--panel:#ffffff;--panel2:#f7f9fc;--ink:#141821;--soft:#5a6373;--faint:#98a1b2;--line:#e4e8ef;--line2:#d3dae4;--brand:#2f5fda;--brand2:#e9f0fd;--brandink:#1c3d94;--ok:#15794f;--oks:#e4f5ec;--warn:#9a5b00;--warns:#faefdd;--danger:#b42318;--dangers:#fcebe9;--nav:#141b2d;--navsoft:#9aa6bd;--navactive:#22304f;--r:9px;--mono:"SF Mono",Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:212px 1fr;min-height:100vh}.side{background:var(--nav);color:#fff;padding:14px 0}.brand{padding:0 16px 14px;font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px}.brand .logo{width:22px;height:22px;border-radius:6px;background:var(--brand);display:inline-block}.navgrp{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:#5d6b86;padding:12px 16px 4px}.navitem{padding:6px 16px;font-size:12.5px;color:var(--navsoft);display:flex;align-items:center;gap:8px;cursor:pointer}.navitem.active{background:var(--navactive);color:#fff;border-left:3px solid var(--brand);padding-left:13px}.navitem:hover{color:#fff}.main{display:flex;flex-direction:column;background:var(--bg)}.topbar{background:var(--panel);border-bottom:1px solid var(--line);padding:10px 20px;display:flex;align-items:center;gap:14px}.topbar .sp{flex:1}.tenant-pill{background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:5px 10px;font-size:12px;color:var(--soft)}.content{padding:20px 24px;overflow:auto}.pagehead{display:flex;align-items:center;margin-bottom:16px;gap:12px}.pagehead h2{margin:0;font-size:19px}.pagehead .sp{flex:1}.btn{font-size:12.5px;padding:7px 14px;border-radius:7px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);font-weight:550;cursor:pointer}.btn.pri{background:var(--brand);border-color:var(--brand);color:#fff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin-bottom:18px}.panel .ph{padding:11px 15px;border-bottom:1px solid var(--line);font-weight:650;font-size:13.5px}table{width:100%;border-collapse:collapse;font-size:12.5px}th{text-align:left;padding:8px 15px;color:var(--soft);font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line)}td{padding:9px 15px;border-bottom:1px solid var(--line);color:var(--ink)}tr.clickable:hover{background:var(--panel2);cursor:pointer}.badge{display:inline-block;font-size:10.5px;font-weight:650;padding:2px 9px;border-radius:100px}.b-open,.b-unassigned{background:var(--panel2);color:var(--soft);border:1px solid var(--line2)}.b-asgn,.b-assigned,.b-active,.b-pending{background:var(--brand2);color:var(--brandink)}.b-prog,.b-dispatched,.b-arrived{background:var(--warns);color:var(--warn)}.b-done,.b-complete,.b-completed,.b-renewed{background:var(--oks);color:var(--ok)}.b-canc,.b-cancelled,.b-expired{background:var(--dangers);color:var(--danger)}.empty{padding:40px;text-align:center;color:var(--faint);font-size:13px}.money{font-variant-numeric:tabular-nums}.detail-head{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;background:var(--panel)}.detail-head .sp{flex:1}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;padding:16px}.field-grid .fg label{display:block;font-size:11px;color:var(--soft);font-weight:600;margin-bottom:3px}.field-grid .fg .v{font-size:13px}.crumbs{font-size:11.5px;color:var(--faint);margin-bottom:10px}.form-row{margin-bottom:12px}.form-row label{display:block;font-size:11.5px;font-weight:600;color:var(--soft);margin-bottom:4px}.form-row input,.form-row select,.form-row textarea{width:100%;font-size:13px;padding:7px 9px;border:1px solid var(--line2);border-radius:7px;background:var(--panel);color:var(--ink);font-family:inherit}.form-row textarea{resize:vertical;min-height:60px}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.form-error{color:var(--danger);font-size:12px;margin-top:8px}.inline-actions{display:flex;gap:8px}html[data-vision=protanopia]{filter:url(#protanopia-filter)}html[data-vision=deuteranopia]{filter:url(#deuteranopia-filter)}html[data-vision=tritanopia]{filter:url(#tritanopia-filter)}html[data-vision=achromatopsia]{filter:url(#achromatopsia-filter)}
