:root{--bg:#f5f5f7;--panel:#fff;--line:rgba(0,0,0,.09);--line-2:rgba(0,0,0,.055);--text:#1d1d1f;--sub:#86868b;--brand:#0071e3;--brand-weak:#eaf2fd;--ok:#1d8a4e;--warn:#b25000;--danger:#d0342c;--info-ink:#0058b0;--info-bg:#eaf2fd;--danger-ink:#c0392b;--danger-bg:#fde8e8;--radius:14px;--radius-sm:10px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow:0 1px 2px rgba(0,0,0,.04),0 6px 20px rgba(0,0,0,.06)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Malgun Gothic,Apple SD Gothic Neo,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em}::-webkit-scrollbar{height:11px;width:11px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:99px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.32);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.topbar{background:hsla(0,0%,100%,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line);padding:0 22px;display:flex;align-items:center;gap:8px;height:52px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar .logo{font-weight:700;font-size:15px;margin-right:10px;letter-spacing:-.02em}.topbar nav{display:flex;gap:1px;flex-wrap:wrap}.topbar nav a{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--sub);transition:background .18s ease,color .18s ease}.topbar nav a:hover{background:rgba(0,0,0,.05);color:var(--text)}.topbar nav a.active{background:var(--brand);color:#fff}.topbar .env{margin-left:auto;font-size:11.5px;padding:4px 11px;border-radius:99px;font-weight:600}.env.live{background:#e3f9ec;color:#1d8a4e}.env.local{background:#fff4e0;color:#b25000}.page{padding:20px 22px 76px;max-width:1120px;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.row{flex-wrap:wrap;gap:10px;align-items:flex-end}.fld,.row{display:flex}.fld{flex-direction:column;gap:5px}.fld label{font-size:11px;color:var(--sub);font-weight:600}input,select,textarea{font:inherit;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:#b0b0b7}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3.5px rgba(0,113,227,.18)}button{font:inherit;font-weight:500;padding:8px 15px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer;color:var(--text);transition:background .15s ease,transform .08s ease,filter .15s ease}button:hover{background:#f0f0f2}button:active{transform:scale(.975)}button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}button.primary:hover{background:#0077ed;filter:brightness(1.03)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}a:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 3.5px rgba(0,113,227,.28);border-radius:9px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.stat{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--sub);margin-top:8px}.stat b{color:var(--text);font-size:15px}.hint{font-size:12.5px;color:var(--sub);line-height:1.7}.hint b{color:var(--text)}.notice{font-size:12.5px;line-height:1.7;background:#fff8ec;border:1px solid #ffe2b0;color:#9a5b00;border-radius:11px;padding:11px 14px;margin-top:10px}table{width:100%;border-collapse:collapse;background:var(--panel);font-size:13px}thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#fafafc;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:11.5px;font-weight:600;color:var(--sub)}tbody td,thead th{white-space:nowrap}tbody td{padding:9px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fafbfd}tbody tr.clickable:hover{background:#f5f8ff;cursor:pointer}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.tag{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:99px;background:#eef0f2;color:#4b5563;margin-left:4px;white-space:nowrap}.tag.zr{background:#fff4e0;color:#b25000;font-weight:700}.tag.oe{background:#eaf2fd;color:#0058b0;font-weight:700}.tag.truck{background:#e3f9ec;color:#1d8a4e}.tag.imperial{background:#ffedd5;color:#9a3412}.tblwrap{overflow:auto;max-height:64vh;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm)}.page-title{font-size:17px;font-weight:700;letter-spacing:-.02em}.page-sub{color:var(--sub);font-weight:400;letter-spacing:0}.chip,.page-sub{font-size:12.5px}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:7px;font-weight:700}.chip.info{background:var(--info-bg);color:var(--info-ink)}.chip.danger{background:var(--danger-bg)}.chip.danger,.val-neg{color:var(--danger-ink)}.val-neg{font-weight:700}@media print{.no-print,.topbar{display:none!important}body{background:#fff}.page{padding:0;max-width:none}.print-doc{box-shadow:none!important;border:none!important}@page{margin:14mm}}