:root{--ink:#142d43;--muted:#556b7d;--navy:#102c46;--blue:#1764cc;--sky:#eaf3ff;--line:#d9e2ea;--bg:#f2f5f8;--white:#fff;--red:#a32236;--green:#156347;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;background:var(--blue);color:#fff;border:1px solid transparent;border-radius:10px;padding:.65rem 1.1rem;font-weight:650;cursor:pointer;text-align:center;line-height:1.4}button:hover,.button:hover{background:#1254ac;text-decoration:none}button:disabled{opacity:.6;cursor:wait}.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.secondary:hover{background:var(--sky)}.quiet{background:none;color:var(--blue);border:0;padding:.4rem .2rem;min-height:44px}.quiet:hover{background:var(--sky)}.danger{color:var(--red)}:focus-visible{outline:3px solid #efad21;outline-offset:3px}.topbar{background:var(--navy);color:#fff;min-height:84px;display:flex;align-items:center;gap:2rem;padding:1rem max(5vw,20px)}.brand{display:flex;align-items:center;gap:.7rem;color:inherit;font-size:1.15rem;font-weight:450;letter-spacing:.01em}.brand:hover{text-decoration:none}.mark{width:40px;height:40px;background:#2e76d7;border:1px solid #609ce7;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.3rem}.vehicle{font-size:.875rem;border-left:1px solid #496279;padding-left:2rem;color:#c9d8e7}.account{margin-left:auto;font-size:.875rem}.nav{display:flex;gap:.5rem;padding:.75rem max(5vw,20px);background:#fff;border-bottom:1px solid var(--line);overflow-x:auto}.nav a{color:var(--muted);padding:.55rem 1rem;white-space:nowrap;border-radius:8px;font-size:.95rem;font-weight:600}.nav a[aria-current]{background:var(--sky);color:var(--blue)}.shell{max-width:1280px;margin:0 auto;padding:2rem 2.5rem 3rem}.page-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.5rem 0 1.6rem}.page-title p{margin:.3rem 0;color:var(--muted)}h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;letter-spacing:-.025em;margin:.45rem 0}h2{font-size:1.2rem;line-height:1.35;margin:0 0 1rem}p{margin:.65rem 0}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:750;color:var(--muted);margin-bottom:.4rem}.panel,.request{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem;box-shadow:0 4px 16px #102c4604}.columns,.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(250px,1fr);gap:1.7rem;align-items:start}.accent-panel{border-top:4px solid var(--blue)}.form{display:flex;flex-direction:column;gap:1.1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:650;min-width:0}input:not([type=checkbox]),textarea,select{width:100%;background:#fbfcfe;border:1px solid #b9c8d5;border-radius:8px;padding:.7rem .8rem;min-height:46px;color:var(--ink);font-weight:400;font-size:1rem}textarea{resize:vertical}input[type=checkbox]{width:21px;height:21px;accent-color:var(--blue);flex-shrink:0}.check-label{flex-direction:row;align-items:center;gap:.65rem;align-self:center;font-weight:500}.help,.meta{font-size:.875rem;line-height:1.5;color:var(--muted);font-weight:400}.form>button{align-self:flex-start}.message{padding:1rem 1.2rem;background:#e5f5ed;border:1px solid #a7d6c0;border-radius:10px;margin-bottom:1.3rem;color:var(--green)}.message.error{background:#fff0f1;border-color:#e9b6be;color:var(--red)}.login-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:5rem;align-items:center;padding:5vh 3vw}.login-layout h1{font-size:clamp(2rem,4vw,3.4rem);max-width:650px}.login-info{border-left:3px solid var(--blue);padding:.5rem 1rem;margin-top:2rem;max-width:480px}.login-info p{color:var(--muted);font-size:.95rem}.login-layout .panel{padding:2rem}.request-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.badge{font-size:.875rem;line-height:1.4;padding:.35rem .65rem;background:#edf1f5;color:var(--muted);border-radius:6px;font-weight:650}.badge.pending{background:#fff2d6;color:#845500}.badge.accepted{background:#e5f0ff;color:#1256aa}.badge.on_way,.badge.collected{background:#e7eefe;color:#483da1}.badge.completed{background:#e1f4e9;color:#146340}.badge.cancelled,.badge.declined{background:#fae9eb;color:#962137}.route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.8rem;align-items:center;margin:1.2rem 0}.route strong{display:block;overflow-wrap:anywhere;font-size:1.1rem}.route-divider{color:#7b91a5;font-size:.875rem}.route .eyebrow{font-size:.75rem}.passengers{font-weight:650}.details{margin:1rem 0;display:flex;flex-direction:column;gap:.6rem}.details>div{display:flex;gap:1rem;justify-content:space-between;border-top:1px solid #edf1f5;padding-top:.55rem;font-size:.875rem}.details dt{color:var(--muted);min-width:100px}.details dd{margin:0;font-weight:600;text-align:right}.note{padding:.8rem 1rem;background:#f0f5fb;border-radius:8px;font-size:.95rem;overflow-wrap:anywhere}.request p{overflow-wrap:anywhere}.inline{display:inline-block}.schedule-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.select-request{display:flex;flex-direction:row;gap:.6rem;align-items:center}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-heading h2{margin:0}.count{background:var(--navy);color:white;border-radius:6px;min-width:30px;text-align:center;font-size:.875rem;padding:.2rem}.trip{border-left:4px solid var(--blue)}.trip-time{font-size:1.45rem}.trip .request{padding:1rem;margin-top:1rem;box-shadow:none;background:#f8fafc}.trip .request .details,.trip .request .note{display:none}.button-row{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0}.button-row form{margin:0}.date-filter{display:flex;align-items:end;gap:.75rem;margin-bottom:1rem}.date-filter label{flex:1}.availability{display:flex;gap:1rem;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.875rem}.empty{padding:2rem;color:var(--muted)}summary{cursor:pointer;font-weight:650;min-height:44px;padding:.5rem 0}details>.form{margin-top:1rem}.block,.activity{padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.875rem}.activity span{display:block;color:var(--muted)}.activity p:empty{display:none}.location-item{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding:.5rem 0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:.8rem}td{padding:.8rem;border-top:1px solid var(--line);vertical-align:top}td details{min-width:140px}footer{color:var(--muted);text-align:center;padding:1.5rem;font-size:.875rem}.setup{max-width:650px;margin:3rem auto;padding:1.2rem}.setup .brand{color:var(--navy);margin-bottom:2rem}.check{font-size:.875rem}.good{color:var(--green)}.bad{color:var(--red)}.text-link{font-weight:650}.logout{margin-top:1.5rem}@media(max-width:900px){.shell{padding:1.5rem}.schedule-layout{grid-template-columns:1fr}.login-layout{gap:2rem;padding:2vh 0}.booking-layout{grid-template-columns:1fr}.booking-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}@media(max-width:620px){.topbar{gap:1rem;padding:1rem;flex-wrap:wrap}.vehicle{display:none}.account{font-size:.8rem;max-width:140px;overflow-wrap:anywhere}.nav{padding:.5rem .6rem;gap:0}.nav a{font-size:.875rem;padding:.6rem .8rem}.shell{padding:1rem}.columns,.card-grid,.login-layout{grid-template-columns:1fr;gap:1rem}.login-layout h1{font-size:2rem}.login-info{display:none}.panel,.request{padding:1.1rem;border-radius:12px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.check-label{align-self:start}.booking-layout aside{display:block}.page-title{align-items:start;flex-direction:column}.route{gap:.6rem}.route strong{font-size:1rem}.details>div{gap:.75rem}.details dt{min-width:80px}.trip-time{font-size:1.3rem}.button-row{flex-direction:column;align-items:stretch}.button-row button{width:100%}.date-filter button{padding:.7rem}.login-layout .panel{padding:1.2rem}footer{font-size:.8rem}.availability{flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s ease}}
