*{box-sizing:border-box}body{margin:0;background:#f3f6f8;color:#183142;font:16px/1.5 system-ui,sans-serif}main{max-width:1000px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:16px;border-bottom:3px solid #067c77;padding:16px 0}header strong{font-size:25px;letter-spacing:.1em}h1{font-size:34px}h2{font-size:22px;margin-top:0}.panel{background:white;border:1px solid #ccd9df;border-radius:12px;padding:24px;margin:20px 0}form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:end}label{display:grid;gap:6px;font-weight:600}input,select,textarea,button{font:inherit;border:1px solid #9bafb8;border-radius:6px;padding:11px;min-width:0}textarea{min-height:90px}button{background:#066b66;color:white;cursor:pointer;margin:5px 4px 5px 0}button:disabled{opacity:.5;cursor:wait}button:hover{background:#034a47}input:focus,button:focus,select:focus,textarea:focus{outline:3px solid #dfab27;outline-offset:2px}#notice{padding:12px;background:#e0efeb;border-radius:8px}#notice.error{background:#ffe6df;color:#902911}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:450px;overflow:auto;font-size:14px}.booking-row{border-bottom:1px solid #dbe3e7;padding:12px 0;display:flex;justify-content:space-between;gap:12px}.buttons{display:flex;flex-wrap:wrap}@media(max-width:600px){main{padding:12px}header{flex-direction:column}.panel{padding:16px}form{grid-template-columns:1fr}}
[hidden]{display:none!important}.trip-card{padding:18px;margin:16px 0;border:1px solid #ccd9df;border-radius:12px}.trip-card label{margin:10px 0}fieldset{min-width:0;border:1px solid #ccd9df;border-radius:8px;display:grid;gap:12px;grid-column:1/-1}.modules{display:flex;flex-wrap:wrap;gap:6px}#serviceBrowse{min-width:0}#serviceBrowse form{margin:16px 0}

.restaurant-card{display:inline-flex;vertical-align:top;flex-direction:column;gap:.4rem;box-sizing:border-box;width:min(100%,320px);min-height:210px;margin:8px;padding:22px;border:1px solid #dfdfd5;border-radius:20px;background:linear-gradient(145deg,#fff6df,#e9f4ed);color:#193b30}.restaurant-card h3{margin:8px 0}.restaurant-card button{margin-top:auto}fieldset{min-width:0}article,fieldset{overflow-wrap:anywhere}#serviceBrowse input,#serviceBrowse select{max-width:100%;box-sizing:border-box}

/* Shared-ride copy and spacing: no field or workflow changes. */
.field-hint{display:block;font-size:13px;line-height:1.4;font-weight:400;color:#4b616c}
#serviceBrowse .ride-intro{margin:8px 0;font-size:14px;line-height:1.45;color:#4b616c}
#serviceBrowse .shared-ride-form{margin:8px 0 12px;gap:12px}
.shared-ride-form fieldset{margin:0;padding:12px;gap:10px}
.shared-ride-form legend{font-weight:700;padding:0 4px}
.shared-ride-form input,.shared-ride-form select,.shared-ride-form button{width:100%;margin-inline:0}
.ride-help{margin-top:16px;border-top:1px solid #ccd9df;padding-top:12px;font-size:14px;color:#4b616c}
.ride-help summary{cursor:pointer;min-height:44px;padding:10px 0}
.ride-help p{margin:4px 0 8px}

#serviceBrowse:has(.shared-ride-form)>button{display:block;width:100%;margin:8px 0}
body.customer-detail:has(.shared-ride-form) main>header{flex-direction:row;align-items:center;padding:8px 0;gap:8px}
body.customer-detail:has(.shared-ride-form) main>header strong{font-size:21px}
body.customer-detail:has(.shared-ride-form) main>header span{font-size:11px;text-align:right}
