:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183136;background:#eef3f4;font-size:16px;line-height:1.5;--teal:#006c68;--ink:#133337;--line:#cfdddf}*{box-sizing:border-box}body{margin:0}header{background:#123238;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.2rem max(1.25rem,calc((100vw - 1240px)/2));}a{color:inherit}.brand{text-decoration:none;font-size:1.4rem;font-weight:800;letter-spacing:.05em;white-space:nowrap}.brand span{font-size:.85rem;color:#95d5cf;letter-spacing:.14em}nav{display:flex;gap:1.4rem;align-items:center;font-size:.95rem}nav a{text-decoration:none}nav .quiet{color:#d5e8e7}main{max-width:1240px;margin:auto;padding:2rem 1.25rem 3rem}h1{font-size:2rem;line-height:1.2;margin:.2rem 0 1.2rem;letter-spacing:-.03em}h2{font-size:1.18rem;margin:.5rem 0 .2rem}.eyebrow{font-size:.8rem;letter-spacing:.13em;font-weight:750;color:#326e6c;margin:0 0 .4rem}.title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem;background:#fff;border:1px solid var(--line);padding:1.1rem 1.2rem;border-radius:.65rem}.toolbar form{display:flex;gap:.6rem;align-items:flex-end}.schedule{margin-left:auto;display:flex;flex-direction:column;font-size:.95rem}.schedule span,.muted{color:#566f73;font-size:.9rem}.cards{display:grid;gap:1.1rem}.reminder,.panel,.empty,.login{background:#fff;border:1px solid var(--line);border-radius:.65rem;padding:1.3rem}.reminder{border-left:4px solid #77a9a3}.person{display:flex;align-items:center;justify-content:space-between;gap:1rem}.person h2{font-size:1.35rem}.vehicle{margin:.15rem 0 1rem;color:#476165}.arrival{text-align:right;display:flex;flex-direction:column}.arrival span{font-size:.9rem;color:#566f73}.badge{display:inline-block;font-size:.8rem;line-height:1.35;padding:.3rem .65rem;border-radius:1rem;background:#e8eff0;font-weight:650;white-space:nowrap}.approved,.sent{background:#d8eee5;color:#16593f}.blocked,.uncertain,.failed{background:#fff0ce;color:#735004}.skipped,.cancelled{background:#e9e9e9;color:#5b6464}.review-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,2fr);gap:1.2rem;margin:.6rem 0 1rem}label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:650}input,select,textarea{font:inherit;color:var(--ink);border:1px solid #a6bcbf;border-radius:.35rem;padding:.65rem .7rem;background:#fff;max-width:100%;min-width:0}select,textarea{width:100%}textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #4fa7a0;outline-offset:2px}button{font:inherit;font-size:.95rem;font-weight:650;padding:.65rem 1rem;border:1px solid transparent;border-radius:.35rem;background:var(--teal);color:white;cursor:pointer;line-height:1.35}button:hover{filter:brightness(.93)}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#f7fbfb;color:#1a5554;border-color:#abc2c1}.quiet{background:transparent;color:#516c6e;padding:.55rem .6rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.issue{background:#fff5df;color:#694e1d;border-left:3px solid #cf9c38;padding:.6rem .8rem;font-size:.95rem}.notice{padding:1rem;border-radius:.4rem;margin-bottom:1.2rem}.error{background:#ffe6df;color:#8b3022}.success{background:#dbf0e8;color:#205e49}.check{flex-direction:row;align-items:flex-start;font-weight:500}.check input{margin-top:.35rem;flex:none}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.panel label{margin:1rem 0}.number{font-size:1.4rem;font-weight:700}.spaced{margin-top:1.5rem}code{display:block;overflow-wrap:anywhere;background:#eef5f5;padding:.7rem;font-size:.9rem}hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.login{max-width:440px;margin:3rem auto}.login label{margin:1rem 0}.login button{width:100%}fieldset{padding:0;border:0;margin:0;min-width:0}.late-send{margin-top:1rem}footer{padding:1.5rem;text-align:center;color:#5a7275;font-size:.85rem}.empty{text-align:center;padding:3rem 1.5rem}@media(max-width:800px){header{align-items:flex-start;flex-direction:column}nav{flex-wrap:wrap;gap:.9rem}.review-grid,.two-col{grid-template-columns:1fr}.schedule{margin-left:0;width:100%}.title-row{align-items:flex-start;flex-direction:column}.person{align-items:flex-start}.arrival{font-size:.9rem}main{padding:1.4rem .8rem}.toolbar form{flex-wrap:wrap}.actions button{flex:1 1 auto}h1{font-size:1.75rem}}@media(max-width:460px){.person{flex-direction:column}.arrival{text-align:left;margin-bottom:.7rem}.brand{font-size:1.15rem}}
