#liveMap{height:390px;border-radius:18px;margin:18px 0;overflow:hidden;background:#dce9e1}
.maplibregl-map{font:14px/20px Arial,sans-serif}
.maplibregl-ctrl-attrib{font-size:10px}
.tracking-pin{width:50px;height:50px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 20px #19372c55;cursor:pointer}
.tracking-pin.customer{background:#176bff;color:#fff;font-size:.7rem;font-weight:800}
.tracking-pin.driver{background:#f7b928;font-size:1.55rem}
.map-meta{display:flex;gap:8px;flex-wrap:wrap}
.map-meta span{background:#edf5f0;border-radius:999px;padding:8px 12px;font-size:.86rem}
.arrival-message{background:#dff7e9;color:#075d39;border-radius:12px;padding:14px;font-weight:700;margin:14px 0}
#protocolWarning{background:#fff1d6;border-left:4px solid #d98b00;padding:14px;margin:16px 0;border-radius:8px}
@media(max-width:600px){#liveMap{height:310px}}
.payment-panel{margin:24px 0;border:1px solid #dce5d8;border-radius:20px;padding:22px;background:linear-gradient(135deg,#f7faef 0%,#fff 65%)}
.payment-heading-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.payment-heading-row h2{margin:7px 0 4px;font-size:1.45rem}.payment-heading-row p{margin:0;color:#68746d}.payment-heading-row>strong{font-size:1.9rem;color:#0d3025;white-space:nowrap}
.payment-methods{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.payment-methods span{border:1px solid #cbd8ca;background:#fff;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:750;color:#24483b}
.pay-now-btn{width:100%;border:0;border-radius:12px;padding:17px 20px;background:#d8fb3e;color:#09271e;font:inherit;font-weight:850;font-size:1.05rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.pay-now-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px #73922130}.pay-now-btn:disabled{cursor:not-allowed;transform:none;box-shadow:none;opacity:.62}
.payment-message{margin:12px 0 0;font-size:.85rem;color:#65736c}.payment-message.error{color:#a33528}.payment-panel.paid{background:#edf9ef;border-color:#9dcca7}.payment-panel.paid .payment-methods{display:none}
.fare-review-panel{margin:20px 0;padding:22px;border:1px solid #e1c879;border-left:5px solid #d8a928;background:#fff8dc}.fare-review-panel h2{margin:7px 0 14px}.fare-review-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fare-review-values span{display:flex;flex-direction:column;gap:5px;background:#fff;padding:13px}.fare-review-values strong{font-size:1.25rem}.fare-review-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:9px;margin-top:15px}.fare-review-actions .export-btn{width:100%}
@media(max-width:600px){.payment-heading-row{display:block}.payment-heading-row>strong{display:block;margin-top:14px}}
.safety-card{margin:18px 0;padding:20px;border:1px solid #dbe2dc;background:linear-gradient(135deg,#fff 0%,#f3f8ef 100%)}
.safety-card h2{margin:6px 0;font-size:1.25rem}.safety-card p{margin:0 0 14px;color:#64716b;line-height:1.55}
.safety-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.safety-actions a,.safety-actions button{text-align:center;text-decoration:none}
.sos-btn{border:0;background:#b42318;color:#fff;font-weight:800;padding:13px 16px;cursor:pointer}.sos-btn:hover{background:#8f1c13}
.otp-card{border-top:4px solid #d8ff45}.trip-otp{margin:14px 0;padding:12px;background:#0b2c23;color:#d8ff45;font:800 2rem/1 'DM Sans',sans-serif;letter-spacing:.35em;text-align:center}
@media(max-width:520px){.safety-actions{grid-template-columns:1fr}.trip-otp{font-size:1.6rem}}
@media(max-width:520px){.fare-review-values,.fare-review-actions{grid-template-columns:1fr}}
/* Secure, read-only family tracking view. */
.family-view-banner{margin:0 0 22px;padding:18px 20px;border-radius:16px;background:#e9f6c9;border:1px solid #cce28f;color:#173f32}.family-view-banner span{display:block;color:#5f7b19;font-size:9px;font-weight:900;letter-spacing:.16em}.family-view-banner strong{display:block;margin:7px 0 3px;font:800 18px Manrope}.family-view-banner p{margin:0;color:#5d6d65;font-size:12px;line-height:1.55}.family-view #trackPhone{color:#718078}.family-view .location-panel{border-top:4px solid #d8f35c}.family-view #safetyPanel{background:linear-gradient(135deg,#eff7da,#fff)}
