:root{--paper:#f2f4f9;--card:#fff;--ink:#0a0e1c;--ink-soft:#565e70;--line:#d8dce6;--line-strong:#b6bdcd;--accent:#2557ed;--accent-ink:#1a3fb0;--accent-tint:#eaf0fd;--brand-dark:#00030d;--brand-periwinkle:#c0cbff;--green:#1d7a4d;--red:#c23b2e;--amber:#b07908;--font-ui:"Inter", system-ui, sans-serif;--font-display:"Orbitron", "Avenir Next Condensed", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius:6px;--shadow:0 1px 2px #0a0e1c0f, 0 2px 8px #0a0e1c0d}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);margin:0;font-size:14px;line-height:1.45}.shell{min-height:100vh;display:flex}.rail{background:var(--brand-dark);color:#e8eaee;flex-direction:column;flex-shrink:0;width:220px;height:100vh;display:flex;position:sticky;top:0}.rail-brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding:18px 16px 16px;display:flex}.rail-logo{flex-shrink:0;width:44px;height:auto}.rail-brand .mark{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:#fff;font-size:15px;font-weight:700;line-height:1.15}.rail-brand .mark span{color:var(--brand-periwinkle);display:block}.rail-brand .sub{font-family:var(--font-mono);color:#8a93b0;letter-spacing:.08em;margin-top:4px;font-size:9.5px}.rail nav{flex-direction:column;gap:2px;padding:12px 10px;display:flex}.rail a{border-radius:var(--radius);color:#c3c9d1;border-left:3px solid #0000;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.rail a:hover{color:#fff;background:#ffffff0f}.rail a.active{color:#fff;border-left-color:var(--accent);background:#2557ed33}.rail-foot{color:#9aa2ad;border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:14px 18px;font-size:12px;display:flex}.rail-foot button{color:#c3c9d1;border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #ffffff40;padding:4px 10px;font-size:12px}.rail-foot button:hover{border-color:var(--accent);color:#fff}.main{flex:1;max-width:1240px;padding:26px 30px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 2px;font-size:11px}h1{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:23px;font-weight:700;line-height:1.15}h2{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin:0 0 10px;font-size:14.5px;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat .label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:10.5px}.stat .value{font-family:var(--font-mono);margin-top:4px;font-size:26px;font-weight:600}.stat .value.pos{color:var(--green)}.stat .sub{color:var(--ink-soft);margin-top:2px;font-size:12px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=900px){.grid-2{grid-template-columns:1fr}}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px solid var(--line-strong);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 10px;font-size:10.5px;font-weight:500}th.nosort{cursor:default}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}tr.rowlink{cursor:pointer}tr.rowlink:hover td{background:var(--accent-tint)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pos{color:var(--green)}.neg{color:var(--red)}.muted{color:var(--ink-soft)}.load-no{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.badge{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:3px;padding:3px 8px;font-size:10.5px;font-weight:600;display:inline-block}.badge.s-quoting{color:#6b5b95;background:#f3f0fa;border-color:#c6bcdd}.badge.s-posted{color:#8a6d00;background:#fbf5df;border-color:#e2cd7e}.badge.s-tendered{color:#b34c05;background:#fdefe2;border-color:#f0b384}.badge.s-in-transit{color:#0f5aa0;background:#eaf3fc;border-color:#9cc4e8}.badge.s-delivered{color:var(--green);background:#eaf7f0;border-color:#a4d3ba}.badge.s-invoiced{color:#7c5209;background:#faf2e0;border-color:#d9b878}.badge.s-paid{color:#1f6f43;background:#e4f5eb;border-color:#8fcaa8}.badge.s-closed{color:#555c66;background:#eef0f3;border-color:#c2c8d0}.pipeline{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);margin:14px 0 22px;display:flex;overflow-x:auto}.pipeline button{font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%);background:0 0;border:none;flex:1;min-width:96px;padding:12px 6px 12px 18px;font-size:10.5px;font-weight:600;position:relative}.pipeline button:first-child{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);padding-left:12px}.pipeline button:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%)}.pipeline button.done{color:var(--ink-soft);background:#e9edf1}.pipeline button.current{background:var(--accent);color:#fff}.pipeline button:hover:not(.current){background:var(--accent-tint);color:var(--accent-ink)}.field{flex-direction:column;gap:4px;display:flex}.field label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);font-size:10.5px}input,select,textarea{font-family:var(--font-ui);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;width:100%;padding:8px 10px;font-size:13.5px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical;min-height:70px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.form-grid .wide{grid-column:1/-1}.section-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);border-bottom:1px solid var(--line);margin:18px 0 10px;padding-bottom:4px;font-size:11px}.section-label:first-child{margin-top:0}.geo-row{grid-template-columns:minmax(200px,1fr) 90px 130px;gap:12px;max-width:560px;margin-bottom:12px;display:grid}.geo-row.combined{grid-template-columns:minmax(240px,1fr) 130px;max-width:480px}@media (width<=560px){.geo-row{grid-template-columns:1fr 80px 110px}.geo-row.combined{grid-template-columns:1fr 110px}}.autocomplete{position:relative}.autocomplete ul{z-index:30;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);min-width:240px;max-height:240px;margin:2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.autocomplete li{cursor:pointer;white-space:nowrap;border-radius:4px;justify-content:space-between;align-items:baseline;gap:8px;padding:7px 10px;font-size:13.5px;display:flex}.autocomplete li .region{color:var(--ink-soft);text-overflow:ellipsis;font-size:12px;overflow:hidden}.autocomplete li.hi,.autocomplete li:hover{background:var(--accent-tint);color:var(--accent-ink)}.btn{font-family:var(--font-ui);border-radius:var(--radius);border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent-ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}.btn.danger{color:var(--red)}.btn.danger:hover{border-color:var(--red)}.btn.small{padding:4px 10px;font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar input[type=search]{max-width:260px}.toolbar select{width:auto}.task{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:9px 0;display:flex}.task:last-child{border-bottom:none}.task input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin-top:2px}.task .desc{flex:1}.task.done .desc{color:var(--ink-soft);text-decoration:line-through}.task .due{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;font-size:12px}.task .due.overdue{color:var(--red);font-weight:600}.lane-card{margin-bottom:16px}.lane-route{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;font-size:15px;font-weight:600}.lane-route .arrow{color:var(--accent);margin:0 8px}.quote-row.accepted td{background:#eaf7f0}.doc-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.doc-row:last-child{border-bottom:none}.auth-wrap{background:var(--brand-dark);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--card);border-radius:var(--radius);flex-direction:column;gap:14px;width:360px;padding:28px;display:flex}.auth-card h1{font-size:19px}.auth-logo{width:64px;height:auto;margin-bottom:4px}.empty{text-align:center;color:var(--ink-soft);padding:26px;font-size:13.5px}.error-note{color:var(--red);font-size:13px}.section-gap{margin-top:20px}@media (width<=760px){.shell{flex-direction:column}.rail{flex-direction:row;align-items:center;width:100%;height:auto;position:static;overflow-x:auto}.rail nav{flex-direction:row}.rail-foot{border:none;margin:0 0 0 auto}.main{padding:18px 14px 50px}}@media (prefers-reduced-motion:no-preference){.btn,.rail a,.pipeline button{transition:background .12s,color .12s,border-color .12s}}.bol-sheet{max-width:820px;padding:24px 28px;font-size:13px}.bol-head{border-bottom:2px solid var(--ink);justify-content:space-between;gap:20px;padding-bottom:12px;display:flex}.bol-company{flex-direction:column;gap:4px;width:300px;display:flex}.bol-company input{border:none;border-bottom:1px dashed var(--line);border-radius:0;padding:2px 4px}.bol-co-name{font-family:var(--font-display);text-transform:uppercase;font-size:15px;font-weight:700}.bol-logo{flex-shrink:0;width:54px;height:auto}.bol-title{text-align:right;flex-direction:column;gap:4px;display:flex}.bol-doc-title{font-family:var(--font-display);letter-spacing:.06em;font-size:19px;font-weight:700}.bol-title label,.bol-block label,.bol-carrier label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:8px;font-size:10px;display:flex}.bol-title label{justify-content:flex-end}.bol-title input{width:160px}.bol-parties{grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;display:grid}.bol-block{border:1px solid var(--ink);flex-direction:column;gap:6px;padding:10px;display:flex}.bol-block-title{font-family:var(--font-mono);letter-spacing:.1em;background:var(--ink);color:#fff;margin:-10px -10px 4px;padding:4px 10px;font-size:10.5px;font-weight:700}.bol-block label input{flex:1}.bol-carrier{border:1px solid var(--ink);flex-wrap:wrap;gap:14px;margin-top:14px;padding:10px;display:flex}.bol-carrier label{flex:1;min-width:140px}.bol-carrier input,.bol-carrier select{flex:1}.bol-items{border:1px solid var(--ink);margin-top:14px}.bol-items th{border-bottom:1px solid var(--ink);cursor:default}.bol-items td{border-bottom:1px solid var(--line);padding:4px 6px}.bol-items input,.bol-items select{border-color:#0000;padding:4px 6px}.bol-items input:hover,.bol-items select:hover{border-color:var(--line-strong)}.bol-total td{border-top:2px solid var(--ink)}.bol-sign{color:var(--ink-soft);grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px;font-size:11px;display:grid}.bol-sign-line{border-bottom:1px solid var(--ink);height:28px;margin-bottom:4px}.bol-fine{color:var(--ink-soft);margin-top:16px;font-size:9.5px;line-height:1.4}@media print{.no-print,.rail{display:none!important}body{background:#fff}.shell{display:block}.main{max-width:none;padding:0}.print-area{box-shadow:none;border:none;max-width:none;padding:0}.print-area input,.print-area select,.print-area textarea{appearance:none;resize:none;background:0 0;border-color:#0000!important}.bol-company input{border-bottom-color:#0000}}
