@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Outfit:wght@300;400;500;600&display=swap');
:root{--gold:#b28c3f;--light-gold:#e8d9b4;--ink:#202822;--cream:#faf7f0;--paper:#fffefa;--line:#e4e3d9;--muted:#70776d;--green:#2d6246;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Outfit',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,.button{cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px 19px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;min-height:46px}button:hover,.button:hover{border-color:var(--gold)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--ink);border-color:var(--ink);color:white}.gold{background:var(--gold);color:white;border-color:var(--gold)}.ghost{background:transparent}.danger{color:#983d36}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:var(--paper)}.brand{font:24px var(--serif);letter-spacing:.22em;white-space:nowrap}.brand small{display:block;font:9px var(--sans);letter-spacing:.32em;text-align:center;margin-top:4px;color:var(--gold)}header nav{display:flex;gap:20px;align-items:center;font-size:13px}.eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);font-weight:500}h1,h2,h3,p{margin-top:0}h1{font:clamp(38px,4.4vw,62px)/1.02 var(--serif);letter-spacing:-.025em;margin-bottom:16px}h1 em{color:var(--gold);font-weight:400}h2{font:30px/1.15 var(--serif)}h3{font-size:16px;font-weight:500}.muted{color:var(--muted)}.banner{background:#f4e9cb;border-bottom:1px solid #dfcc98;padding:10px 5vw;font-size:12px;display:flex;gap:16px;justify-content:center;align-items:center}.banner a{text-decoration:underline}.wrap{max-width:1180px;margin:auto;padding:42px 32px 70px}.intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;gap:25px}.intro p{max-width:510px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.85fr);gap:30px;align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px}.card-title{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:22px}.num{border:1px solid var(--light-gold);border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:var(--gold);font-size:12px}.card-title h2{margin:0;font-size:26px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:500;margin-bottom:6px}input,select,textarea{width:100%;padding:13px 12px;min-height:48px;background:white;border:1px solid var(--line);border-radius:7px;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--gold)}textarea{resize:vertical}fieldset{margin:0;padding:0;border:0;min-width:0}legend{padding:0}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}.services label{margin:0;padding:14px 5px;text-align:center;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:11px}.services input{width:auto;min-height:0;margin:0 5px 0 0;accent-color:var(--gold)}.services label:has(input:checked){border-color:var(--gold);background:#f6efdF}.form-section{margin-top:28px}.consent{display:flex;align-items:start;gap:10px;margin-top:22px;color:var(--muted);font-size:12px}.consent input{width:18px;height:18px;min-height:0;flex-shrink:0;accent-color:var(--gold)}.submit{width:100%;margin-top:18px}.car-card{background:var(--ink);color:white;padding:0;overflow:hidden}.car-card img{width:100%;height:190px;object-fit:cover;object-position:center}.car-card .pad{padding:24px}.car-card h2{font-size:30px;margin:8px 0}.car-card p{color:#c4cdc4;font-size:13px}.tag{display:inline-flex;border-radius:30px;padding:5px 10px;font-size:11px;background:#eaf1e9;color:var(--green);white-space:nowrap}.tag.requested{background:#fbefcf;color:#886521}.tag.cancelled{background:#f6e4e1;color:#983d36}.tag.completed{background:#e9eaf0;color:#505a75}.tag.dark{background:#ffffff15;color:#e7dfc9;border:1px solid #ffffff30}.side-note{padding:24px 3px}.side-note ul{padding-left:18px;color:var(--muted);font-size:13px}.side-note li{margin-bottom:12px}.notice{padding:13px 16px;background:#eef2ec;border-radius:7px;font-size:13px;margin-bottom:20px}.notice.error{background:#fae9e5;color:#9b3c32}.notice:empty{display:none}.small{font-size:12px}footer{border-top:1px solid var(--line);padding:25px 5vw;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:20px}.honeypot{position:absolute;left:-10000px;visibility:hidden}.hidden,[hidden]{display:none!important}.steps{display:flex;gap:18px;margin:25px 0 0;font-size:11px;color:var(--muted)}.steps span{display:flex;align-items:center;gap:8px}.steps b{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--gold)}.admin-layout{display:grid;grid-template-columns:215px 1fr;min-height:calc(100vh - 88px)}.sidebar{border-right:1px solid var(--line);padding:35px 18px;background:var(--paper)}.sidebar button,.sidebar a{width:100%;justify-content:flex-start;margin-bottom:8px}.sidebar .active{background:#eeeee6;border-color:#eeeee6}.sidebar .bottom{margin-top:50px;font-size:12px;color:var(--muted);padding:12px}.dashboard{padding:38px;max-width:1250px;width:100%;margin:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.stat{padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.stat strong{display:block;font:34px var(--serif);margin-top:8px}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;gap:15px;margin:28px 0 18px;align-items:center}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{padding:7px 12px;min-height:35px;font-size:12px}.filters .active{background:var(--ink);color:white}.search{max-width:220px}.rides{display:grid;gap:14px}.ride{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:24px;align-items:center;background:var(--paper);padding:22px;border:1px solid var(--line);border-radius:12px;text-align:left;width:100%;font-weight:400}.ride:hover{box-shadow:0 6px 22px #20282208}.ride-date{border-right:1px solid var(--line);font-size:12px;color:var(--muted)}.ride-date strong{font:30px var(--serif);display:block;color:var(--ink)}.route{display:grid;gap:8px;font-size:14px}.route div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route div:before{content:'●';color:var(--gold);font-size:8px;margin-right:10px}.ride-meta{font-size:11px;color:var(--muted);margin-top:13px}.ride-end{text-align:right}.ride-end strong{display:block;font:26px var(--serif);margin-bottom:8px}.empty{padding:50px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.login{max-width:450px;margin:60px auto}.login input{margin-bottom:16px}.modal{border:0;padding:0;border-radius:15px;width:min(620px,calc(100% - 24px));max-height:90vh;box-shadow:0 30px 100px #0003}.modal::backdrop{background:#1119;backdrop-filter:blur(3px)}.modal-head{padding:22px 26px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0}.modal-head button{padding:4px 12px;color:white;background:transparent;border-color:#fff4;font-size:20px}.modal-body{padding:26px}.detail-route{background:var(--cream);padding:18px;border-radius:8px;display:grid;gap:12px;margin:18px 0}.detail-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px}.detail-row span{color:var(--muted)}.detail-row strong{font-weight:400;white-space:pre-line;text-align:right}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.actions button,.actions a{font-size:12px}.price-form{display:flex;gap:8px;align-items:end;margin-top:20px}.price-form label{flex:1}.price-form input{margin-top:6px}.document{background:white;padding:40px;color:#222;font-size:13px}.document h1{font-size:27px}.document .doc-head{border-bottom:2px solid var(--gold);padding-bottom:20px;margin-bottom:24px}.document h3{margin-top:25px;color:var(--gold)}.document .watermark{color:#a4342d;font-size:14px;border:1px solid;padding:10px;margin-bottom:20px}.amount{font:36px var(--serif)}@media(max-width:850px){header{padding:0 20px;height:76px}.brand{font-size:20px}header nav{gap:12px}header nav .desktop{display:none}.booking-layout{grid-template-columns:1fr}.booking-layout aside{display:none}.wrap{padding:30px 18px 50px}.admin-layout{grid-template-columns:1fr}.sidebar{display:none}.dashboard{padding:26px 18px}.intro{align-items:start}.intro h1{font-size:40px}.stats{gap:8px}.stat{padding:14px}.toolbar{flex-direction:column;align-items:stretch}.search{max-width:none}.ride{grid-template-columns:58px minmax(0,1fr);padding:17px;gap:14px}.ride-end{grid-column:2;text-align:left;display:flex;align-items:center;gap:15px}.ride-end strong{margin:0;font-size:23px}.banner{font-size:11px;padding:10px 15px}.steps{gap:10px;flex-wrap:wrap}.card{padding:22px}.modal-body{padding:20px}footer{flex-direction:column;gap:7px}.intro>.button{font-size:11px;padding:10px}.fields{gap:15px}}@media(max-width:420px){.fields{grid-template-columns:1fr}.services{grid-template-columns:1fr 1fr}.stat span{font-size:9px}.stat strong{font-size:28px}.card{padding:18px}.brand{font-size:18px}h1{font-size:39px}.intro{flex-wrap:wrap}}@media print{body>*{display:none!important}body>dialog[open]{display:block!important;position:static!important;width:100%;max-height:none;border:0;box-shadow:none}dialog .modal-head,dialog .actions{display:none!important}.document{padding:0}.modal::backdrop{display:none}body{background:white}@page{size:A4;margin:18mm}}
@media print{body>#rideDialog[open]{display:none!important}body>#documentDialog[open]{display:block!important}}

/* Driver confirmation: keep explanations out of the input row. */
.price-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end;padding:20px;background:var(--cream);border:1px solid var(--line);border-radius:12px}
.price-form>p,.price-form>button{grid-column:1/-1;margin:0}
.price-form>label{min-width:0;margin:0;font-size:14px}
.price-form input{font-size:20px;min-width:0;min-height:54px}
.price-form>button{width:100%;font-size:16px;min-height:52px}
.price-form input[readonly]{background:#eeeae0;font-weight:600}
.price-form .price-help{color:var(--muted);font-size:14px}
@media(max-width:540px){.price-form{grid-template-columns:1fr;padding:16px}.detail-row{flex-wrap:wrap}.detail-row strong{overflow-wrap:anywhere}.modal-body{padding:16px}}

.customer-card{max-width:740px;margin:0 auto}.customer-card h2{font-size:36px;margin-bottom:14px}.customer-total{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 12px}.customer-total .amount{font-size:50px}.customer-status{color:var(--muted);font-size:16px;margin-bottom:24px}.customer-actions{display:grid;gap:12px}.customer-actions button{width:100%;min-height:76px;flex-direction:column;gap:3px;padding:16px 20px;font-size:18px}.customer-actions button span{font-size:14px;font-weight:400}.customer-actions button:disabled{opacity:1;background:#eaf1e6;color:var(--green);border-color:#d1dfcc}.more-actions{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.more-actions summary{cursor:pointer;font-size:14px;color:var(--muted);padding:8px 0}.more-actions .actions{margin-top:12px}.driver-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.driver-actions button{min-height:54px;font-size:16px}.price-form>label{grid-column:1/-1}.customer-card .detail-route{margin-top:24px}
@media(max-width:540px){.customer-card h2{font-size:30px}.customer-total .amount{font-size:42px}.customer-actions button{font-size:17px}.driver-actions{grid-template-columns:1fr}}
