:root{--navy:#113447;--blue:#176b8d;--sky:#eaf4f8;--ink:#17313e;--line:#cbd9df;--red:#c63d3d;--green:#21864b;--bronze:#99652f}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:#eef3f5}button,input,select,textarea{font:inherit}button{cursor:pointer}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0c2d3e,#176b8d)}.login-card{width:min(430px,92vw);background:white;border-radius:18px;padding:34px;box-shadow:0 22px 60px #0018}.brandmark{width:64px;height:64px;border-radius:18px;background:#176b8d;color:white;display:grid;place-items:center;font-size:28px;font-weight:800}.login h1{margin:18px 0 4px}.muted{color:#607986}.field{display:grid;gap:6px;margin:14px 0}.field input,.field select,.field textarea{padding:10px;border:1px solid #b8cbd3;border-radius:8px;background:#fff}.primary,.secondary,.danger{border:0;border-radius:8px;padding:10px 15px;font-weight:650}.primary{background:#176b8d;color:white}.secondary{background:#e3edf1;color:#17313e}.danger{background:#fee9e9;color:#a22424}.wide{width:100%}.error{color:#b52626;min-height:20px}.shell{min-height:100vh;display:grid;grid-template-columns:225px 1fr}.side{background:#113447;color:white;padding:20px 12px;position:sticky;top:0;height:100vh}.side h2{font-size:17px;margin:8px}.side small{color:#b8d0da}.nav{display:grid;gap:5px;margin-top:24px}.nav button{border:0;color:#dcebf0;background:transparent;text-align:left;padding:12px;border-radius:8px}.nav button.active,.nav button:hover{background:#ffffff1d;color:white}.main{min-width:0}.topbar{height:70px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}.topbar h1{font-size:21px;margin:0}.identity{text-align:right;font-size:13px}.content{padding:22px}.page-head,.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-head{margin-bottom:18px}.page-head h2{margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}.card,.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 2px 8px #17313e0b}.metric{font-size:28px;font-weight:750;color:#176b8d}.notes{margin-top:18px}.note{padding:12px;border-left:4px solid #e49c25;background:#fff8ea;margin:8px 0;border-radius:5px}.table-wrap{overflow:auto;background:white;border-radius:10px;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:10px;border-bottom:1px solid #e3eaed;text-align:left;white-space:nowrap}th{background:#edf4f6;position:sticky;top:0}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.form-grid .span2{grid-column:span 2}.form-grid .span4{grid-column:span 4}.radio-line{display:flex;gap:18px;align-items:center}.alloc-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.dual{display:grid;grid-template-columns:minmax(310px,37%) 1fr;gap:12px}.suggestions,.board{min-width:0}.suggestions{background:#f8fbfc;border:1px solid var(--line);border-radius:10px;padding:10px}.job-card{border:1px solid #afc5ce;border-radius:8px;background:white;padding:9px;margin:7px 0;cursor:grab;position:relative;font-size:12px;box-shadow:inset 0 -4px 11px var(--company,#176b8d)}.job-card.pending{border:2px solid #d08319;background:#fff7e9}.job-card .icons{position:absolute;top:5px;right:7px;font-size:11px}.job-card strong{display:block;padding-right:38px}.board-head,.lane{display:grid;grid-template-columns:76px 1fr 145px}.board-head{font-size:11px;color:#607986;margin-bottom:3px}.timeline{display:grid;grid-template-columns:repeat(10,1fr)}.timeline span{text-align:center}.lane-label,.driver-label{background:white;border:1px solid var(--line);padding:9px;font-size:12px}.lane-label.out{color:#a9b4b8}.lane-track{height:54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:repeating-linear-gradient(90deg,#fff 0,#fff calc(10% - 1px),#d9e4e8 calc(10% - 1px),#d9e4e8 10%)}.allocbar{position:absolute;top:8px;height:38px;min-width:80px;border:1px solid var(--company);border-radius:7px;background:linear-gradient(90deg,color-mix(in srgb,var(--company) 24%,transparent),#ffffffdb 40%,#ffffffdb 60%,color-mix(in srgb,var(--company) 24%,transparent));box-shadow:inset 0 -5px 8px color-mix(in srgb,var(--company) 55%,transparent);padding:3px 7px;font-size:10px;overflow:hidden}.allocbar .top{display:flex;justify-content:space-between}.allocbar .route{text-align:center;font-weight:700;margin-top:4px;white-space:nowrap}.driver-label.used{color:#c52b2b;font-weight:700}.tray{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}.modal-wrap{position:fixed;inset:0;background:#0018;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:white;border-radius:14px;width:min(900px,96vw);max-height:92vh;overflow:auto;padding:22px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:15px}.tabs button{border:0;background:transparent;padding:10px}.tabs button.active{border-bottom:3px solid #176b8d;color:#176b8d}.phone{max-width:430px;margin:auto;background:#eef3f5;border:10px solid #17313e;border-radius:28px;min-height:700px;overflow:hidden}.phone-head{background:#176b8d;color:white;padding:18px}.phone-body{padding:12px}.phone-tile{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;margin:10px 0}.checklist label{display:block;padding:10px;border-bottom:1px solid #e5ecef}.small{font-size:12px}.status{padding:3px 8px;border-radius:999px;background:#e6f3e9;color:#28683a}.status.off{background:#fee7e7;color:#9d2929}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{height:auto;position:static;padding:10px}.nav{display:flex;overflow:auto;margin-top:10px}.nav button{white-space:nowrap}.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .span4{grid-column:span 2}.dual{grid-template-columns:1fr}.topbar{position:static}.content{padding:12px}}@media(max-width:520px){.cards,.form-grid{grid-template-columns:1fr}.form-grid .span2,.form-grid .span4{grid-column:span 1}.identity{display:none}.topbar{height:auto;padding:13px}.topbar h1{font-size:16px}.board-head,.lane{grid-template-columns:58px 1fr 92px}.content{padding:8px}}
