:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#122136;background:#f5f7fb;font-size:15px}*{box-sizing:border-box}body{margin:0}header{background:#102741;color:#fff;padding:17px max(24px,calc((100vw - 1120px)/2))}header .bar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}header a{color:#dcefff;text-decoration:none}nav{display:flex;gap:15px;align-items:center}main{max-width:1120px;margin:30px auto;padding:0 20px}.two{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.card{background:white;border:1px solid #e0e7f0;border-radius:15px;padding:23px;box-shadow:0 4px 12px #12213606;margin-bottom:20px}h1{font-size:30px;line-height:1.13;margin:0 0 10px}h2{font-size:20px;margin:0 0 16px}h3{margin:10px 0}p{line-height:1.55}small,.muted{color:#62748c}.lead{font-size:16px;color:#405872}label{font-size:13px;font-weight:650;color:#36516e;display:block;margin:13px 0 5px}input,textarea,select{font:inherit;width:100%;border:1px solid #bfcbdb;background:#fff;color:#112642;border-radius:9px;padding:11px;outline-offset:3px}textarea{min-height:75px}button,.button{font:inherit;background:#1260ba;color:white;border:0;border-radius:10px;padding:12px 17px;font-weight:650;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:#e7effa;color:#194879}button.warn{background:#b74a3f}button.small{font-size:12px;padding:8px 11px;margin:4px 3px 0 0}button:hover{filter:brightness(.96)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{padding:13px;border-radius:10px;background:#ecf5ff;color:#17426d;border:1px solid #cce5fb;margin:12px 0}.danger{background:#fff0ef;color:#8b2424;border-color:#fac9c6}.success{background:#eaf8ef;color:#17663a;border-color:#bce5c6}.hide{display:none!important}.tag{display:inline-block;background:#e8eff8;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:700;text-transform:capitalize}.tag.confirmed,.tag.completed{background:#dff6e6;color:#266941}.tag.pending{background:#fff0ca;color:#795b16}.tag.cancelled,.tag.declined{background:#f8e1df;color:#8d3030}.booking{border:1px solid #e0e8f1;border-radius:12px;padding:15px;margin:10px 0}.booking>div{margin-bottom:5px}.stretch{flex:1} .map{width:100%;height:360px;border:1px solid #d4e1ee;border-radius:11px;background:#e4ecf4}.key{padding:10px;background:#f1f6fc;font-family:monospace;overflow-wrap:anywhere}.stat{font-size:24px;font-weight:800}footer{color:#61728a;max-width:1120px;margin:30px auto;padding:10px 20px 35px;font-size:12px} @media(max-width:750px){.two{grid-template-columns:1fr}main{margin-top:22px}.card{padding:17px}h1{font-size:26px}.split{grid-template-columns:1fr}}


/* Staging visual polish: readable mobile forms, clear booking hierarchy, operator overview */
:root{color-scheme:light;--ink:#162a40;--muted:#51657c;--accent:#1160ac;--line:#dde6ee}
body{background:#f4f7fa;color:var(--ink)}
header{background:#102a46;border-bottom:3px solid #2280c9;padding-top:18px;padding-bottom:18px}
header .bar{max-width:1120px;margin:auto}
.brand{font-size:17px;letter-spacing:-.015em}.brand span{color:#a9d7f8;font-weight:500}
header nav a{font-size:14px;font-weight:550}
h1{letter-spacing:-.035em;font-weight:800;font-size:36px;line-height:1.12}
h2{letter-spacing:-.02em;font-size:21px}
main{margin-top:30px}
.eyebrow{font-size:11px;letter-spacing:.1em;font-weight:800;color:#2a689c;text-transform:uppercase}
.hero{padding:18px 0 26px;max-width:800px}.hero h1{margin:10px 0 12px}.hero .lead{max-width:690px;font-size:17px;line-height:1.7}
.hero-trust{display:flex;gap:11px;flex-wrap:wrap;padding-top:8px}.hero-trust span{border:1px solid #d2e3ef;background:#fff;border-radius:25px;color:#335470;padding:8px 12px;font-size:12px;font-weight:650}
.two{grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);align-items:start;gap:23px}
.card{border:1px solid #dce5ec;border-radius:16px;padding:26px;box-shadow:0 6px 18px rgba(18,40,65,.045)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head h2{margin:6px 0}
.mini-pill{white-space:nowrap;background:#e9f3fd;color:#245b8a;border-radius:15px;font-size:12px;font-weight:750;padding:8px 11px}
label{margin-top:17px;color:#294761;font-size:13px}
.optional{font-weight:450;color:#77869a}
input,select,textarea{border-color:#bfcfdd;min-height:44px;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:2px solid #a5d2f4;outline-offset:1px;border-color:#2475b4}
button,.button{background:#1260ad;border-radius:9px;padding:12px 18px;min-height:43px}
button:hover{filter:brightness(.93)}
button:focus-visible,a:focus-visible{outline:3px solid #ffbb5c;outline-offset:3px}
.fineprint{font-size:12px;line-height:1.7}
.steps{padding-left:26px;counter-reset:steps;list-style:none;margin:20px 0 0}
.steps li{counter-increment:steps;position:relative;margin:0 0 24px}
.steps li:before{content:counter(steps);position:absolute;left:-26px;top:0;background:#e4f1fc;color:#1362a5;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:800}
.steps li strong{display:block;margin:0 0 4px}
.steps li span{display:block;color:#566c81;font-size:13px;line-height:1.55}
.side-note{border-top:4px solid #94c8e8}
.notice{line-height:1.5}
.booking-confirmation{margin-top:20px;padding:20px;border-left:4px solid #16844e}
.booking-confirmation h3{font-size:19px;margin:0 0 10px}
.booking-confirmation p{margin:9px 0}.booking-confirmation a{font-weight:750;color:#145e9c}
.dashboard-head{margin:3px 0 22px}.dashboard-head h1{margin:7px 0}
.owner-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr)}
.dash-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:650px;margin-bottom:20px}
.metric{background:#fff;border:1px solid #d8e3ed;border-radius:13px;padding:16px 18px}
.metric span{color:#5b7085;font-size:13px;display:block}.metric strong{display:block;font-size:29px;color:#193955;margin-top:5px;line-height:1}
.booking{background:#fff;border:1px solid #d6e3ee;border-radius:13px;padding:18px;margin:16px 0;box-shadow:0 2px 5px #1a365008}
.booking-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:16px;padding:0 0 10px}
.booking>div{margin-bottom:8px;line-height:1.45}.booking .tag{font-size:11px}
.booking a{font-weight:600}.booking button{margin-top:10px}
#alertStatus{max-width:100%;margin-bottom:20px}
@media(max-width:780px){main{margin-top:18px}.two,.owner-grid{grid-template-columns:1fr}.hero{padding:16px 0 22px}h1{font-size:30px}.card{padding:20px}}
@media(max-width:450px){.split{grid-template-columns:1fr}.dash-overview{grid-template-columns:1fr}header .bar{align-items:start}.hero-trust{gap:7px}.booking{padding:12px}.card{padding:16px}}

/* Explicit date/time and luggage controls avoid browser-dependent datetime placeholders. */
.field-section{margin-top:18px;border:1px solid #dce7f0;padding:16px;border-radius:12px;background:#f9fbfd}
.field-section h3{font-size:16px;margin:0 0 8px}
.date-parts,.time-parts,.luggage-parts{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.sub-label{font-weight:500;color:#60758a;font-size:12px;margin-top:7px}
.field-section label{margin-top:12px}
.luggage-parts label{font-size:12px}
.seat-section{padding:14px 16px;margin-top:12px;background:#f3f8fe;border:1px solid #d1e4f4;border-radius:12px}
.address-field{position:relative;min-width:0}
.address-suggestions{position:absolute;top:calc(100% - 3px);left:0;right:0;background:#fff;z-index:12;box-shadow:0 12px 30px #12253b29;border:1px solid #c4d6e7;border-radius:12px;max-height:240px;overflow-y:auto}
.address-option{display:block;background:#fff;color:#1c3852;padding:11px 12px;text-align:left;width:100%;border-bottom:1px solid #e5edf4;border-radius:0;font-size:13px;font-weight:500;min-height:35px}
.address-option:hover,.address-option:focus{background:#edf6ff}
.location-button{margin-top:8px;background:#e7f1fa!important;color:#205783!important}
#pickup_preview{color:#205783;margin-bottom:2px}
@media(max-width:580px){.date-parts,.time-parts,.luggage-parts{gap:6px}.field-section{padding:12px}.date-parts select,.time-parts select,.luggage-parts select{padding:9px 4px;font-size:13px}.luggage-parts label{min-height:28px}}

.fare-editor{padding:12px 0;border-top:1px solid #dde6ee;display:grid;gap:8px}
.fare-editor strong{font-size:13px}
.fare-editor input[type=number]{max-width:180px}
.toggle-line{display:flex;gap:10px;align-items:center;margin:0!important;cursor:pointer}
.toggle-line input[type=checkbox]{width:20px;height:20px;min-height:auto}
.seat-fare-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #dee7ef;font-size:13px}
.seat-fare-row strong{white-space:nowrap;color:#155b96}
.required-label{color:#9c3827;font-weight:600;font-size:12px}
#smtpInfo{overflow-wrap:anywhere;font-size:13px;line-height:1.7}
