/* Customer account, booking records, quotations and consent. */
.customer-panel.booking-account-page{width:min(1080px,94vw);max-width:none;background:linear-gradient(150deg,#1a3347,#0d1d2b 75%);border-radius:26px;padding:32px;max-height:90dvh;overflow:auto}
.booking-account-page .summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.booking-account-page .summary-tile{padding:20px;border:1px solid #a9d6f020;background:#a9d6f007;border-radius:18px}.booking-account-page .summary-tile b{font-size:32px;font-weight:450;color:#c6e9ff}.booking-account-page .summary-tile span{font-size:12px;color:#adc5d7}
.booking-account-page .workspace-tabs{display:flex;gap:8px;overflow-x:auto;padding:5px 0 14px;margin-bottom:18px;border-bottom:1px solid #b9d9ee1a;scrollbar-width:none}.booking-account-page .workspace-tabs button{flex-shrink:0;padding:10px 14px;border-radius:12px;color:#a9c1d3;font-size:12px}.booking-account-page .workspace-tabs button.active{background:#b9dfff;color:#102b3d}.booking-account-page .workspace-tabs button:after{display:none}
.booking-account-page .journey-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.booking-card{display:block!important;text-align:start!important;width:100%;padding:20px!important;border-radius:20px!important;background:#112c3e!important;border:1px solid #b4dbf222!important;transition:border-color .2s,transform .2s}.booking-card:hover{border-color:#a8dfff70!important;transform:translateY(-2px)}.booking-card[hidden]{display:none!important}.booking-card-top{display:flex;align-items:center;gap:10px}.booking-service-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#a5dfff12;color:#bde7ff;flex-shrink:0}.booking-card-top>div{flex:1;min-width:0}.booking-card-top b{display:block;font-size:15px;font-weight:550}.booking-card-top small{font-size:10px;opacity:.6;overflow-wrap:anywhere}.booking-card .state{font-size:9px;max-width:120px;white-space:normal;line-height:1.5;padding:6px 9px;border-radius:9px;background:#a4dcff14;color:#c9e9ff}.booking-card-route{display:grid;gap:13px;padding:18px 0;margin:15px 0;border-block:1px solid #b5d7ee13}.booking-card-route>span{display:flex;gap:8px;align-items:baseline}.booking-card-route small{font-size:10px;color:#8aaec5;min-width:52px}.booking-card-route b{font-size:12px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.booking-card-foot{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:10px;color:#adc9dc}.booking-card-foot strong{font-size:15px;white-space:nowrap;color:#d8efff}.booking-open{display:block;text-align:end;color:#b7e2ff;font-size:11px;margin-top:13px}
.booking-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;padding:18px 0!important;margin:12px 0!important;gap:2px;position:relative}.booking-progress li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;position:relative;color:#6f8a9e;font-size:10px}.booking-progress li:before{content:'';position:absolute;top:13px;inset-inline:-50% 50%;height:1px;background:#4c677d55;z-index:0}.booking-progress li:first-child:before{display:none}.booking-progress span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#1b3447;border:1px solid #3e6078;z-index:1;font-size:11px}.booking-progress .done{color:#9ddbcc}.booking-progress .done span{background:#173d3d;border-color:#6dc3b2}.booking-progress .current{color:#d2edff}.booking-progress .current span{background:#b9e2ff;color:#0c2535;border-color:#c8eeff;box-shadow:0 0 0 4px #b9e2ff0c}.booking-progress small{font-size:9px;line-height:1.35}.booking-cancelled{padding:12px;color:#f0bcbb;font-size:12px}
.booking-search input{width:100%;border:1px solid #9acbec30;border-radius:14px;background:#0b2132;padding:14px 17px;color:#d7edfc;font-size:14px;margin:0 0 16px}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.document-tile{display:flex;flex-direction:column;text-align:start;gap:8px;border:1px solid #add5ee25;border-radius:19px;padding:20px;background:#132d40;color:#d9efff}.document-mark{font-size:32px;color:#addbfb}.document-tile b{font-size:14px}.document-tile small{font-size:10px;color:#90afc6;overflow-wrap:anywhere}.document-tile>div{display:grid;gap:6px;padding:12px 0;border-block:1px solid #b0d6ee18;font-size:11px}.document-tile strong{font-size:11px;color:#b2ddff;font-weight:450}
.booking-order-page{width:min(720px,94vw)!important;max-width:none!important;background:#112638!important;border-radius:25px!important}.booking-status-hero{padding:24px 20px;border:1px solid #a9dcff22;border-radius:18px;background:radial-gradient(ellipse at top right,#5192b52a,transparent 80%),#102c3f;margin:10px 0 18px}.booking-status-hero h3{font-size:25px;font-weight:450;margin:12px 0 7px;line-height:1.3}.booking-status-hero small{font-size:10px;color:#8fb3cd}.booking-order-page .detail-grid{padding:18px;border:1px solid #a7d5f020;border-radius:17px;gap:18px}.booking-order-page .price-total{font-size:36px;letter-spacing:-.03em;padding-top:15px;color:#d0ecff}.booking-order-page .breakdown{padding:14px 20px;border-radius:17px;background:#0d2030}.booking-order-page .breakdown>div{padding:10px 0;border-bottom:1px solid #b6dfff10}.booking-order-page .soft-card{border:1px solid #abd5ef22;border-radius:17px;padding:20px;background:#152e40}.signature-review{padding:20px;border:1px solid #a8d6f03a;border-radius:18px;margin:18px 0;background:#17374c}.signature-review h3{font-weight:500;font-size:18px;margin:0 0 8px}.signature-review p{font-size:12px;color:#a9c5d9}.signature-review label{font-size:12px}.signature-review .signature-name{display:block;width:100%;padding:14px;margin:8px 0 15px;font:italic 24px Georgia,serif;background:#102638;color:#e1f1ff;border:1px solid #b2dbf044;border-radius:12px}.signature-review .check{padding:12px 0;align-items:flex-start;line-height:1.6}.signature-review .primary-button{width:100%;min-height:46px}
@media(max-width:800px){.customer-panel.booking-account-page,.customer-panel.booking-order-page{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:22px 16px max(24px,env(safe-area-inset-bottom))!important;border:0!important}.booking-account-page .panel-header h2,.booking-order-page .panel-header h2{font-size:25px!important}.booking-account-page .summary-grid{gap:7px;margin:16px 0}.booking-account-page .summary-tile{padding:13px 10px;border-radius:13px}.booking-account-page .summary-tile b{font-size:25px}.booking-account-page .summary-tile span{font-size:10px}.booking-account-page .journey-list,.document-grid{grid-template-columns:1fr}.booking-card{padding:17px!important}.booking-progress small{font-size:8px}.booking-account-page .workspace-tabs{position:sticky;top:-22px;z-index:3;background:#122a3b;padding-top:12px}.booking-account-page .workspace-tabs button{font-size:11px;padding:9px 12px}.booking-order-page .detail-grid{grid-template-columns:1fr 1fr;font-size:12px}.booking-status-hero h3{font-size:22px}.booking-card-foot{font-size:9px}.document-tile{padding:17px}}
@media(prefers-reduced-motion:reduce){.booking-card{transition:none}.booking-card:hover{transform:none}}
