:root{--ink:#0c1733;--cyan:#3ee4c6;--orange:#ff7b48;--paper:#f5f7fb;--white:#fff;--line:#b9c3d7;--red:#b72d2d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:linear-gradient(90deg,#e9edf6 1px,transparent 1px),linear-gradient(#e9edf6 1px,transparent 1px),var(--paper);background-size:32px 32px;color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button,.file{border:2px solid var(--ink);background:#fff;padding:.65rem .8rem;font-weight:800;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}button:hover,.file:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)}button:focus-visible,.file:focus-within,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid #2e7cff;outline-offset:2px}.primary{background:var(--orange)}.file{display:inline-flex;align-items:center}.file input{position:absolute;width:1px;height:1px;opacity:0}header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:1rem;padding:.75rem max(1rem,calc((100vw - 1280px)/2));background:var(--ink);color:#fff;border-bottom:5px solid var(--cyan)}header .brand{color:#fff;text-decoration:none;letter-spacing:.12em;font-size:1.1rem}header .brand b{color:var(--cyan)}header span{margin-right:auto;font-size:.75rem;letter-spacing:.13em;color:#cbd5eb}header button{color:var(--ink)}main{max-width:1280px;margin:auto;padding:1.4rem}.mast{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;padding:2rem 0 1.2rem}.kicker{color:#0b6480;letter-spacing:.16em;font-size:.78rem;font-weight:900;margin:0 0 .5rem}h1{font-size:clamp(2.2rem,5vw,4.6rem);line-height:.96;letter-spacing:-.05em;margin:0 0 .5rem;max-width:850px}.mast p{margin:.2rem 0}.mast-actions,.actions{display:flex;gap:.6rem;flex-wrap:wrap}.mast-actions{justify-content:flex-end}#notice{background:#fff;border-left:7px solid var(--cyan);padding:.8rem 1rem;font-weight:650;margin:.4rem 0 1rem;box-shadow:0 0 0 2px var(--ink)}#notice.error{border-color:var(--red);background:#ffe8e8}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);gap:2px;border:2px solid var(--ink);margin-bottom:1.7rem}.metrics div{background:#fff;padding:1rem 1.15rem}.metrics div:nth-child(2){background:#d9fff7}.metrics div:nth-child(4){background:#ffe5dc}.metrics span{font-size:2.6rem;font-weight:900}.metrics p{margin:.1rem 0 0;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:900}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:1rem;background:var(--ink);color:#fff;padding:1rem;margin-bottom:1rem}.filters{display:flex;gap:.7rem;flex:1}.toolbar label{flex:1}.toolbar input,.toolbar select{background:#fff}.toolbar .file,.toolbar button:not(.primary){color:var(--ink)}label{display:grid;gap:.35rem;font-weight:800;font-size:.88rem}input,select,textarea{width:100%;border:2px solid var(--ink);background:#fff;padding:.7rem;min-height:44px}textarea{resize:vertical}.route{position:relative}.route:before{content:"";position:absolute;left:32px;top:25px;bottom:25px;width:6px;background:var(--cyan);border:2px solid var(--ink)}.stop{position:relative;display:grid;grid-template-columns:70px 1fr 1fr .9fr .8fr 1fr;gap:0;background:#fff;border:2px solid var(--ink);margin:0 0 .75rem;box-shadow:4px 4px 0 #cad2e0}.stop>div{padding:.9rem;border-right:1px solid var(--line);min-width:0}.stop>div:last-child{border:0}.seq{position:relative;z-index:2;display:grid;place-items:center!important;font-size:1.7rem;font-weight:950;background:var(--cyan);border-right:2px solid var(--ink)!important}.stop h2{font-size:1.2rem;margin:.15rem 0}.stop p,.stop small{display:block;margin:.2rem 0;overflow-wrap:anywhere}.eyebrow{font-size:.7rem;letter-spacing:.1em;font-weight:900;color:#405070}.status{font-weight:900;text-transform:uppercase}.status.missed{background:#ffe5dc}.status.completed{background:#d9fff7}.status.skipped{background:#eee}.manage{display:flex;flex-direction:column;gap:.42rem}.manage button{font-size:.78rem;padding:.45rem;box-shadow:none}.mobile-label{display:none}#empty{text-align:center;border:2px dashed var(--ink);background:#fff;padding:2rem}#empty[hidden]{display:none}.foot{display:flex;justify-content:space-between;gap:2rem;align-items:center;border-top:4px solid var(--ink);padding-top:1rem;margin-top:2rem}.privacy{font-size:.82rem;color:#576174}.small{font-size:.84rem;color:#576174}dialog{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--cyan);padding:0;width:min(92vw,720px);background:var(--paper)}dialog::backdrop{background:#0c1733cc}dialog form{padding:1.2rem;display:grid;gap:1rem}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:2px solid var(--ink);padding-bottom:.7rem}.dialog-top h2{margin:0}.two,.three{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.three{grid-template-columns:.7fr 1fr 1.2fr}[role=alert]{color:#8f1e1e;font-weight:800}#print-label{display:none}
@media(max-width:920px){header span{display:none}.mast{grid-template-columns:1fr}.mast-actions{justify-content:flex-start}.metrics{grid-template-columns:repeat(2,1fr)}.toolbar{flex-direction:column;align-items:stretch}.filters{width:100%}.stop{grid-template-columns:64px 1fr 1fr}.stop>div:nth-child(3n){border-right:0}.manage{grid-column:2/-1;flex-direction:row}.manage button{flex:1}.route:before{left:29px}.mobile-label{display:block;font-size:.68rem;letter-spacing:.08em;color:#667188;font-weight:900;text-transform:uppercase}}
@media(max-width:560px){main{padding:1rem}header{padding:.65rem 1rem}.mast{padding-top:1rem}.metrics{grid-template-columns:repeat(2,1fr)}.metrics span{font-size:2rem}.filters,.two,.three{display:grid;grid-template-columns:1fr}.mast-actions>*{flex:1;justify-content:center}.toolbar .actions>*{flex:1}.stop{grid-template-columns:52px 1fr}.stop>div{border-right:0;border-bottom:1px solid var(--line)}.seq{grid-row:1/7;border-right:2px solid var(--ink)!important;border-bottom:0!important}.manage{grid-column:2;flex-wrap:wrap}.manage button{min-width:42%}.route:before{left:22px}.foot{align-items:flex-start;flex-direction:column}}
@media print{header,.mast-actions,#notice,.toolbar,.manage,#empty,.foot button,.privacy,dialog{display:none!important}body{background:#fff}.mast{padding:0}.mast button{display:none}h1{font-size:2rem}#print-label{display:block}.metrics{margin-bottom:.7rem}.metrics div{padding:.4rem}.metrics span{font-size:1.5rem}.route:before{display:none}.stop{grid-template-columns:40px 1.2fr 1fr .9fr .8fr;box-shadow:none;break-inside:avoid;margin-bottom:.25rem}.stop>div{padding:.4rem}.stop h2{font-size:.9rem}.seq{font-size:1.1rem}.manage{display:none}.foot{display:block;font-size:.7rem;margin-top:.6rem}main{padding:0}}
.primary{color:var(--ink)}
