/* Customer layout only. All palette rules are owned by customer-theme.css. */
/* Layout preserved from client.css */
body{margin:0;padding:0;-webkit-text-size-adjust:none;}
*{border:0;letter-spacing:0.8pt;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;outline:0;}
a{text-decoration:none;}
.lib-src{display:none;}
#msg{display:block;padding:5px 0;text-align:center;font-style:italic;font-size:12px;}
#_win{display:none;width:100%;position:absolute;top:0;left:0;z-index:1000;cursor:pointer;}
#_win div{width:50px;height:50px;z-index:9999;border:2px solid var(--ui-line);}
label{cursor:pointer;}
label > input{display:inline-block;}
.rate-results{margin:15px 0px;display:flex;flex-wrap:wrap;}
.rate-result{border-radius:10px !important;margin:10px;width:100%;max-width:430px;padding:10px;display:flex;cursor:pointer;}
.rate-result-full{display:none;position:fixed;border-radius:10px !important;width:100%;max-width:80%;height:320px;box-sizing:content-box;top:50px;left:10%;padding:20px;}
@media only screen and (max-width:510px) {
.rate-result-full{width:100%;max-width:100%;left:0;}
}
.rate-result-full.active{display:flex;z-index:999;}
.rate-result .titles, .rate-result-full .titles{text-align:left !important;width:50%;display:flex;flex-direction:column;justify-content:space-between;}
.rate-result .vehicle, .rate-result-full .vehicle{text-align:right !important;width:50%;}
.rate-result .vehicle .picture, .rate-result-full .vehicle .picture{height:100%;}
.rate-result div, .rate-result-full div{margin:5px 0;}
.rate-result .button, .rate-result-full .button{margin:10px 0;text-align:center !important;}
.rate-result .button a.btn, .rate-result-full .button a.btn{display:inline-block;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;padding:10px 0 !important;width:40%;text-transform:uppercase;text-decoration:none;margin:0;border-radius:100px;-webkit-appearance:none;cursor:pointer;text-align:center;}
.pre-booking .ss, .rate-checker .ss{width:30% !important;}
.pre-booking .hh, .rate-checker .hh{width:60% !important;}
.pre-booking td.t, .rate-checker td.t{padding-bottom:10px;font-size:80%;}
.pre-booking .spld, .rate-checker .spld{font-size:70%;text-align:center;border-radius:100px;line-height:180%;padding:10px 0;margin:0 auto 10px;width:90%;}
.pre-booking .si, .rate-checker .si{font-size:90%;text-align:center;padding:10px 0;margin:0 auto;width:92%;}
.user-card .field{box-sizing:border-box;font-weight:400;border:1px solid var(--ui-line);border-radius:24px;outline:none;flex:1;height:48px;line-height:48px;padding:12px 20px;cursor:text;}
.user-card .field iframe{height:48px !important;}
.user-home .x{display:block;width:100%;margin:0;padding:5px 0;text-transform:none;text-align:center;}
.user-home .x .initials{display:block;margin:0 auto;box-sizing:content-box;width:150px;height:100px;border-radius:100px;padding-top:50px;}
.user-home .x .initials img:nth-child(2){margin:0 0 0 -18px;}
.user-home .x b{text-transform:capitalize;}
.app-host{width:100%;}
.app-host input[type=text], .app-host input[type=password], .app-host input[type=file], .app-host select{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;width:90%;border:1px solid var(--ui-line);padding:10px;text-align:center;border-radius:100px;}
.app-host input[type=submit], .app-host input[type=button]{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;padding:10px 0;width:70%;text-transform:uppercase;margin:15px 0;text-align:center;border-radius:100px;-webkit-appearance:none;cursor:pointer;}
.app-host select{width:90%;}
.app-host input.ll{float:left;margin:0 0 0 5%;width:12%;border-radius:50px 0 0 50px;padding:10px 0;}
.app-host input.rr{float:right;margin:0 5% 0 0;padding:10px 0;width:77%;border-radius:0 50px 50px 0;}
.app-host .frm{width:100%;max-width:500px;margin:20px auto;border-spacing:0;z-index:99999;}
.app-host .frm td{width:100%;text-transform:capitalize;text-align:center;}
.app-host .frm td.s{font-size:10px;text-transform:uppercase;padding:60px 0 10px 0;font-weight:bold;}
.app-host .frm td.t{font-size:10px;text-transform:capitalize;padding:1px 0 20px 0;line-height:150%;}
.app-host .frm td a{display:block;padding:15px 0;width:200px;text-decoration:underline;text-decoration-style:dotted;text-transform:uppercase;margin:0 auto;text-align:center;}
.app-host .frm td a.btn{display:block;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;padding:10px 0 !important;width:70%;text-transform:uppercase;text-decoration:none;margin:15px auto;border-radius:100px;-webkit-appearance:none;cursor:pointer;}
.app-host .frm td a._v, .app-host ._v, #axd{display:none;}
.app-host .more-text{display:none;}
.app-host #readMoreBtn{border:none;padding:8px 12px;cursor:pointer;font-size:14px;border-radius:4px;}
.app-host .pre-booking-extra-stops #map, .app-host .pre-booking-extra-stops #_map{height:200px;margin:0 auto;padding:0;width:90%;}
.app-host .pre-booking-extra-stops td.t, .rate-checker td.t{padding-bottom:10px;font-size:80%;}
.app-host .user-history td.u{padding:10px;line-height:150%;font-size:90%;height:50px;text-align:left;border-bottom:1px dashed var(--ui-line);}
.app-host .user-history td.u span{display:block;text-align:center;}
.app-host .user-history td.u a{text-align:center;font-size:110%;}
.app-host .user-profile .x{display:block;width:100%;margin:0;padding:5px 0;text-transform:none;text-align:center;font-size:75%;}
.app-host .user-profile .x .initials{display:block;margin:0 auto;box-sizing:content-box;width:150px;height:100px;border-radius:100px;padding-top:50px;}
.app-host .user-profile .x .initials img:nth-child(2){margin:0 0 0 -18px;}
.app-host .user-profile input[type=file]{width:50%;}
.public-page{padding-top:50px;}
.bar{width:100%;height:20px;border-bottom:2px solid var(--ui-line);}
.main{width:100%;min-width:320px;}
.head{width:100%;float:left;height:250px;}
.head .logo{margin:-180px 0 0 -155px;left:50%;position:absolute;font-size:70%;padding-top:160px;width:300px;height:140px;overflow:hidden;border-radius:100%;border:5px solid var(--ui-line);text-align:center;}
.head .logo span{font-size:320%;padding-left:20px;}
.head .logo span span{font-size:120%;}
.head a{font-size:110%;display:block;padding-top:12px;width:70px;height:58px;overflow:hidden;border-radius:100%;border:5px solid var(--ui-line);text-align:center;}
.head .c{margin:100px 0 0 4px;float:left;}
.head .b{margin:140px 0 0 -85px;position:absolute;left:50%;}
.head .r{margin:140px 0 0 5px;position:absolute;left:50%;}
.head .s{margin:100px 4px 0 0;float:right;}
.head .mApp{float:none;width:300px;height:67px !important;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;border-radius:10px !important;padding:5px;margin:0 auto;font-size:80%;text-align:center;margin-top:228px;}
.head .mApp span{display:block;font-size:190%;margin:0 0 2px 0;}
.menu{width:100%;float:left;}
ul#nav{list-style:none;margin:0;padding:0;position:relative;}
ul#nav li{position:relative;}
ul#nav li a, ul#nav li label{display:block;cursor:pointer;text-align:center;text-transform:uppercase;padding:12px 0;border-bottom:1px dotted var(--ui-line);}
ul#nav li.l a{border:0;}
#m_s:checked + ul, #m_p:checked + ul, #m_f:checked + ul, #m_t:checked + ul{display:block;}
ul#nav ul{list-style:none;margin:0;padding:0;display:none;position:absolute;z-index:99999;width:100%;}
ul#nav ul li{width:100%;}
ul#nav ul li a{display:block;width:100%;text-align:center;text-transform:capitalize;border-bottom:1px dotted var(--ui-line);padding:12px 0;}
.sdw{width:100%;height:13px;float:left;}
.head .p, .head .f, .bdw, .banner, .more{display:none;}
.senu{width:90%;margin:0 auto;}
.senu ul{list-style:none;margin:0 auto;padding:0;}
.senu ul li{width:45%;float:left;margin:5px;}
.senu ul li a{display:block;text-align:center;font-size:80%;border-radius:10px 10px 0 0;text-transform:capitalize;padding:12px 0;}
.content{width:100%;float:left;padding:10px 0 20px 0;border-bottom:3px solid var(--ui-line);}
.content .left{display:none;}
.content .right{width:100%;float:right;padding:0 0 0 24px;}
span.ttl, h1, h2, h3{display:block;padding:5px;margin:0;font-weight:500;text-transform:capitalize;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:150%;}
.content .right p{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:19px;text-align:justify;float:left;padding:0 10px;}
.content .right p span.more{padding-top:10px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;text-align:justify;float:left;}
.content .right table{text-align:justify;margin:0 auto;width:90%;}
.content .right table td{text-align:center;}
.content .right a{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center;}
.content .right table a{padding:10px 0;display:block;}
.feet{width:100%;float:left;padding:10px 0;}
.feet .col1{float:left;font-size:11px;text-align:left;padding:10px;line-height:30px;}
.feet .col1 a{font-size:12px;padding:10px 0;}
.feet .rgt{width:100%;height:30px;margin:7px 10px 0 10px;float:right;text-align:center;}
.apy{display:inline;}
@media only screen and (min-width:1024px) {
.main{width:1024px;margin:0 auto;}
.head{width:100%;float:left;height:100px;}
.head .logo{padding-top:160px;height:100px;border:5px solid var(--ui-line);font-size:10px;}
.head .logo span{display:block;font-size:26px;text-align:right;padding-left:0;width:230px;}
.head .logo span span{font-size:24px;display:inline;}
.head a{font-size:17px;}
.head .c{display:none;}
.head .p{display:block;margin:40px 0 0 0;float:left;font-size:23px;}
.head .f{display:block;margin:10px 40px 0 0;float:right;}
.head .b{margin:10px 0 0 0;position:inherit;float:right;}
.head .r{margin:10px 40px 0 0;position:inherit;float:right;}
.head .s{display:none;}
.head .mApp{display:none;}
.menu{border:2px solid var(--ui-line);border-radius:10px;float:left;height:55px;}
ul#nav{padding:6px 0 0 8px;}
ul#nav li{float:left;}
ul#nav li.f a{border-radius:8px 0 0 8px;}
ul#nav li.l a{border-radius:0 8px 8px 0;}
ul#nav li a, ul#nav li label{padding:13px 0;border:0;font-size:14px;height:18px;width:126px;}
ul#nav ul{width:220px;border:5px solid var(--ui-line);border-radius:10px;}
ul#nav li:hover ul{display:block;}
.sdw, .bdw{display:block;width:100%;height:13px;float:left;}
.banner{display:block;width:1014px;height:240px;padding:10px 0 0 10px;border:2px solid var(--ui-line);border-radius:10px;float:left;}
.banner img{border-radius:8px 0 0 8px;}
.banner .slide{float:left;width:759px;}
.banner a{display:block;width:245px;height:230px;float:left;border-radius:0 8px 8px 0;}
.banner .mApp{position:absolute;z-index:999;height:80px !important;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;width:350px;border-radius:10px !important;padding:5px;margin:5px 0 0 5px;font-size:14px;text-align:center;border:2px dashed var(--ui-line);}
.banner .mApp span{display:block;font-size:20px;margin:0 0 5px 0;}
.senu{width:100%;float:left;}
.senu ul li{width:160px;float:left;margin:5px;}
.senu ul li a{font-size:13px;}
.senu ul li a:hover{padding-bottom:32px;margin-top:-20px;}
.content{width:1024px;float:left;padding:10px 0 20px 0;border-bottom:3px solid var(--ui-line);}
.content .left{display:block;width:260px;float:left;padding:0 0 0 20px;}
.content .left span.t{font-size:26px;float:left;text-transform:capitalize;padding:0;margin:0;font-weight:normal;}
.content .left ul{padding:50px 0 0 0;list-style:none;margin:0 0 0 15px;}
.content .left ul li{padding:0 0 0 15px;border-bottom:1px dotted var(--ui-line);}
.content .left ul li a{font-size:16px;line-height:32px;}
.content .right{width:720px;}
.content .right table{font-size:15px;float:left;width:700px;}
.content .right a{font-size:15px;text-align:left;}
.content .right table a{padding:2px 0;text-align:center;}
.iscope{padding:10px;font-size:13px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:18px;text-align:center;}
.iscope a{font-size:13px;}
.iscope span{font-size:13px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;}
.feet{width:1004px;padding:10px;}
.feet .col1{width:1004px;font-size:12px;line-height:15px;}
.feet .col1 a{font-size:12px;}
.feet .rgt{width:190px;margin:7px 10px 0 0;}
.apy{display:none;}
}
.app-modal{top:0;left:0;right:0;bottom:0;width:100%;position:fixed;perspective:1000px;display:none;z-index:999999;padding:25px;box-sizing:border-box;}
.app-modal.active{display:block;}
.app-modal .backdrop{width:100%;height:100%;padding:25px;border-radius:25px;box-sizing:border-box;}
.app-modal-content{width:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;}
.app-toaster{top:0;left:calc(50% - 210px);position:fixed;perspective:1000px;display:none;z-index:999999;}
.app-toaster.active{display:block;}
.app-toaster.backdroped{left:0;right:0;bottom:0;width:100%;}
.app-toaster.backdroped .backdrop{display:block;}
.app-toaster .backdrop{display:none;position:absolute;top:0;left:0;right:0;bottom:0;cursor:not-allowed;}
.app-toaster .app-toast{position:relative;width:420px;margin:20px auto;padding:20px 10px;text-align:center;border-radius:16px;cursor:default;animation:toast 0.4s;}
.app-toaster .app-toast .title{font-size:1rem;display:block;}
.app-toaster .app-toast .message{font-size:0.8rem;display:block;padding:10px 0;text-transform:capitalize;}
.app-toaster .app-toast .butns{padding:30px 0 0 0;margin:0 -10px -20px;}
.app-toaster .app-toast .butns button{margin:0;border:0;width:50%;height:56px;border-top:1px solid var(--ui-line);}
.app-toaster .app-toast .butns button:last-child{width:calc(50% - 1px);border-left:1px solid var(--ui-line);}
.app-loader{top:0;left:0;right:0;bottom:0;position:fixed;display:none;z-index:999999;}
.app-loader.active{display:block;}
.app-loader .loader{position:absolute;left:calc(50% - 40px);top:calc(50% - 40px);width:80px;height:80px;}
.app-loader .loader .outer{position:absolute;border:2px solid var(--ui-line);width:100%;height:100%;border-radius:50%;animation:loader-outter 1s linear infinite;}
.app-loader .loader .inner{position:absolute;border:2px solid var(--ui-line);border-radius:50%;width:60px;height:60px;left:calc(50% - 30px);top:calc(50% - 30px);animation:loader-inner 0.8s linear infinite;}
/* Layout preserved from customer-panel.css */
.customer-portal-page,
.customer-portal-page *{box-sizing:border-box;letter-spacing:normal;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;}
.customer-portal-page{min-width:320px;min-height:100vh;margin:0;}
.portal-skip-link{position:fixed;top:-100px;left:16px;z-index:10000;padding:10px 14px;border-radius:8px;}
.portal-skip-link:focus{top:16px;}
.portal-header{position:relative;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;width:min(1240px, calc(100% - 48px));min-height:92px;margin:0 auto;border-bottom:1px solid var(--ui-line);}
.portal-brand{display:inline-flex;align-items:center;width:182px;}
.portal-brand img{display:block;width:100%;height:auto;}
.portal-header-copy{display:flex;flex-direction:column;padding-left:22px;border-left:1px solid var(--ui-line);text-align:left;}
.portal-header-copy span{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;}
.portal-header-copy small{margin-top:3px;font-size:.78rem;}
.portal-support{display:flex;flex-direction:column;text-align:right;text-decoration:none;}
.portal-support span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;}
.portal-support strong{margin-top:2px;font-size:1.02rem;}
.portal-main{display:grid;grid-template-columns:minmax(0, .9fr) minmax(480px, 640px);align-items:center;gap:clamp(48px, 8vw, 120px);width:min(1240px, calc(100% - 48px));min-height:calc(100vh - 170px);margin:0 auto;padding:64px 0 74px;}
.portal-intro{text-align:left;}
.portal-kicker,
.customer-eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;}
.portal-intro h1{max-width:620px;margin:15px 0 22px;padding:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:clamp(3rem, 5.3vw, 5.7rem);font-weight:400;line-height:.98;letter-spacing:-.045em;text-transform:none;}
.portal-intro > p{max-width:570px;margin:0;font-size:1.05rem;line-height:1.7;}
.portal-assurances{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.portal-assurances span{padding:8px 11px;border:1px solid var(--ui-line);border-radius:999px;font-size:.72rem;font-weight:700;}
.portal-workspace{width:100%;overflow:hidden;border:1px solid var(--ui-line);border-radius:28px;}
.portal-workspace .app-host{width:100%;min-height:570px;}
.customer-view{width:100%;padding:clamp(28px, 5vw, 48px);text-align:left;}
.customer-view-heading{margin-bottom:28px;text-align:center;}
.customer-view-heading-left{text-align:left;}
.customer-view h2,
.customer-profile-summary h2{margin:8px 0 8px;padding:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:clamp(2rem, 4vw, 2.75rem);font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none;}
.customer-view-heading p,
.customer-profile-summary p{margin:0 auto;max-width:450px;font-size:.92rem;line-height:1.6;}
.customer-view-heading-left p{margin-left:0;}
.customer-form{display:grid;gap:18px;}
.customer-field{display:grid;gap:8px;}
.customer-field label{font-size:.78rem;font-weight:800;}
.app-host .customer-field input[type="email"],
.app-host .customer-field input[type="password"],
.app-host .customer-inline-field input[type="password"]{width:100%;min-height:52px;margin:0;padding:0 16px;border:1px solid var(--ui-line);border-radius:11px;font:inherit;text-align:left;transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;}
.app-host input.customer-primary-action[type="button"],
.app-host button.customer-primary-action,
.app-host .customer-inline-field input[type="button"]{width:100%;min-height:52px;margin:4px 0 0;padding:0 20px;border:1px solid var(--ui-line);border-radius:11px;font:inherit;font-weight:850;text-transform:none;cursor:pointer;transition:transform .18s ease, background .18s ease;}
.app-host input.customer-primary-action[type="button"]:hover,
.app-host button.customer-primary-action:hover,
.app-host .customer-inline-field input[type="button"]:hover{transform:translateY(-1px);}
.customer-text-action,
.customer-secondary-action,
.customer-guest-action,
.customer-back-action,
.history-page,
.trip-action{appearance:none;border:0;font:inherit;cursor:pointer;}
.customer-text-action{justify-self:center;margin-top:-4px;padding:5px;font-size:.82rem;font-weight:750;}
.customer-text-action:hover,
.customer-back-action:hover{text-decoration:underline;}
.customer-divider{display:flex;align-items:center;gap:14px;margin:28px 0 18px;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em;}
.customer-divider::before,
.customer-divider::after{content:"";flex:1;height:1px;}
.customer-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.customer-secondary-action,
.customer-guest-action{min-height:48px;padding:10px 14px;border-radius:10px;font-size:.84rem;font-weight:800;}
.customer-secondary-action{border:1px solid var(--ui-line);}
.customer-guest-action{border:1px solid var(--ui-line);}
.customer-guest-action:disabled{cursor:not-allowed;opacity:.82;}
.customer-secondary-action:hover,
.customer-guest-action:hover{transform:translateY(-1px);}
.customer-security-note{margin:22px 0 0;font-size:.7rem;line-height:1.5;text-align:center;}
.customer-security-note span{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:4px;border-radius:50%;font-weight:900;}
.app-host ._v{display:none !important;}
.customer-profile-summary{display:flex;align-items:center;gap:18px;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid var(--ui-line);}
.customer-profile-summary h2{font-size:clamp(1.75rem, 3vw, 2.2rem);}
.customer-profile-summary p{margin-left:0;}
.customer-avatar{display:grid;flex:0 0 auto;place-items:center;width:66px;height:66px;border:5px solid var(--ui-line);border-radius:20px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.45rem;font-weight:700;}
.customer-profile-editor{max-width:980px;}
.profile-editor-summary{margin-bottom:22px;}
.profile-settings-card{margin-bottom:18px;padding:22px;border:1px solid var(--ui-line);border-radius:16px;}
.profile-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;}
.profile-settings-heading h3{margin:5px 0 0;font-size:1.05rem;}
.profile-settings-heading p,
.profile-help-text,
.profile-legacy-payment{margin:7px 0 0;font-size:.72rem;line-height:1.55;}
.profile-secondary-button,
.profile-text-button{min-height:42px;padding:10px 14px;border:1px solid var(--ui-line);border-radius:9px;font:inherit;font-size:.7rem;font-weight:900;white-space:nowrap;cursor:pointer;}
.profile-email-change{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid var(--ui-line);}
.profile-email-change[hidden]{display:none;}
.profile-inline-actions,
.profile-help-text{grid-column:1 / -1;}
.profile-inline-actions{display:flex;align-items:center;gap:10px;}
.profile-inline-actions .customer-primary-action{width:auto;margin:0;}
.profile-settings-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px;margin-top:20px;}
.profile-password-field{padding-top:16px;border-top:1px solid var(--ui-line);}
.profile-form-actions .customer-primary-action{width:auto;margin:0;}
.profile-coming-soon{padding:7px 10px;border-radius:999px;font-size:.66rem;font-weight:900;white-space:nowrap;}
.profile-legacy-payment{padding:12px 14px;border:1px solid var(--ui-line);border-radius:10px;}
.account-confirmation-page{display:grid;min-height:100vh;padding:24px;place-items:center;}
.account-confirmation-card{width:min(100%, 560px);padding:38px;border:1px solid var(--ui-line);border-radius:20px;text-align:center;}
.account-confirmation-card img{width:min(100%, 230px);height:auto;margin-bottom:26px;}
.account-confirmation-card h1{margin:6px 0 10px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:clamp(1.8rem, 5vw, 2.5rem);}
.account-confirmation-card p{margin:0 0 22px;line-height:1.6;}
.account-confirmation-card .customer-primary-action{display:inline-block;width:auto;min-height:48px;padding:13px 18px;border:1px solid var(--ui-line);border-radius:10px;font-weight:900;text-decoration:none;}
.customer-guest-checkout{max-width:760px;}
.guest-checkout-assurance{display:flex;align-items:flex-start;gap:12px;margin:0 0 22px;padding:15px 17px;border:1px solid var(--ui-line);border-radius:13px;}
.guest-checkout-assurance > span{display:grid;flex:0 0 26px;width:26px;height:26px;place-items:center;border-radius:50%;font-weight:900;}
.guest-checkout-assurance p{margin:1px 0 0;font-size:.78rem;line-height:1.55;}
.guest-checkout-form{margin-top:0;}
.guest-security-code{padding:15px;border:1px solid var(--ui-line);border-radius:12px;}
.signup-turnstile{min-height:4px;width:100%;}
.guest-security-code-row{display:flex;align-items:center;gap:14px;}
.guest-security-code-row img{width:auto;max-width:180px;height:46px;object-fit:contain;border:1px solid var(--ui-line);border-radius:8px;}
.guest-security-code-row label{flex:1;}
.guest-checkout-actions{display:flex;align-items:center;gap:14px;}
.guest-checkout-actions .customer-primary-action{width:auto;flex:1;}
.guest-checkout-actions .customer-back-action{margin:0;}
.guest-checkout-unavailable{margin-bottom:18px;}
.customer-guest-account-notice{grid-template-columns:1fr;}
.guest-activation-notice{display:flex;align-items:flex-start;gap:13px;margin:0 0 22px;padding:16px 18px;border-radius:13px;text-align:left;}
.guest-activation-sent{border:1px solid var(--ui-line);}
.guest-activation-warning{border:1px solid var(--ui-line);}
.guest-activation-icon{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;font-weight:900;}
.guest-activation-notice strong{display:block;margin-bottom:3px;}
.guest-activation-notice p{margin:0;font-size:.76rem;line-height:1.5;}
.guest-activation-card{text-align:center;}
.guest-activation-email{padding:10px 12px;border-radius:9px;}
.guest-activation-form{display:grid;gap:14px;margin-top:22px;text-align:left;}
.guest-activation-form .customer-primary-action{width:100%;margin-top:2px;cursor:pointer;}
.customer-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.customer-action-card,
.app-host .customer-action-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:148px;width:100%;margin:0;padding:20px;border:1px solid var(--ui-line);border-radius:16px;font:inherit;text-align:left;text-decoration:none;text-transform:none;cursor:pointer;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;}
.customer-action-card:hover{transform:translateY(-2px);}
.customer-action-icon{display:grid;place-items:center;width:30px;height:30px;margin-bottom:22px;border-radius:9px;font-size:1rem;font-weight:900;}
.customer-action-card strong{font-size:.96rem;}
.customer-action-card small{margin-top:6px;font-size:.72rem;line-height:1.45;}
.customer-alert{grid-column:1 / -1;display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--ui-line);border-radius:12px;}
.customer-alert strong{font-size:.84rem;}
.customer-alert span{font-size:.74rem;line-height:1.45;}
.customer-account-access{display:grid;grid-template-columns:1fr minmax(230px, .9fr);align-items:center;gap:20px;margin:0 0 22px;padding:20px;border:1px solid var(--ui-line);border-radius:15px;}
.customer-account-access-copy{display:flex;align-items:center;gap:13px;}
.customer-account-access-copy > div{display:flex;flex-direction:column;gap:4px;}
.customer-account-access-icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:50%;font-size:1.05rem;line-height:1;}
.customer-account-access strong{font-size:1rem;}
.customer-account-access .customer-account-access-message{font-size:.78rem;line-height:1.45;}
.customer-inline-field{display:grid;grid-template-columns:1fr auto;}
.app-host .customer-inline-field input[type="password"]{min-width:0;border-radius:10px 0 0 10px;}
.app-host .customer-inline-field input[type="button"]{width:auto;margin:0;border-radius:0 10px 10px 0;}
.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important;}
.customer-history{padding:38px;}
.trip-card-list{display:grid;gap:15px;}
.trip-card{overflow:hidden;border:1px solid var(--ui-line);border-radius:17px;}
.trip-card-header,
.trip-card-footer,
.trip-date-row,
.trip-card-meta{display:flex;align-items:center;}
.trip-card-header{justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--ui-line);}
.trip-card-header > div{display:flex;align-items:baseline;gap:7px;}
.trip-order-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;}
.trip-card-header strong{font-size:1rem;}
.trip-status,
.trip-return-badge{padding:5px 8px;border-radius:999px;font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;}
.trip-card-cancelled{opacity:.78;}
.trip-date-row{flex-wrap:wrap;gap:7px 10px;padding:15px 18px 4px;font-size:.76rem;}
.trip-return-badge{margin-left:auto;}
.trip-route{padding:15px 18px 10px;}
.trip-route-point{display:grid;grid-template-columns:16px 1fr;gap:9px;align-items:start;}
.trip-route-point > div{display:flex;flex-direction:column;gap:3px;}
.trip-route-point small,
.trip-card-meta span{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.trip-route-point strong{font-size:.8rem;font-weight:700;line-height:1.45;}
.trip-route-dot{display:block;width:9px;height:9px;margin-top:5px;border:2px solid var(--ui-line);border-radius:50%;}
.trip-route-point-dropoff .trip-route-dot{border-radius:2px;}
.trip-route-line{width:1px;height:22px;margin:1px 0 1px 4px;}
.trip-card-meta{justify-content:space-between;gap:20px;margin:0 18px;padding:11px 0;border-top:1px solid var(--ui-line);}
.trip-card-meta strong{font-size:.73rem;text-align:right;}
.trip-card-footer{justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid var(--ui-line);}
.trip-guidance{font-size:.68rem;line-height:1.45;}
.trip-action{flex:0 0 auto;padding:9px 12px;border-radius:8px;font-size:.69rem;font-weight:850;}
.customer-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:20px;}
.customer-pagination span{font-size:.66rem;text-align:center;}
.history-page{justify-self:start;padding:9px 12px;border-radius:8px;font-size:.7rem;font-weight:800;}
.history-page:last-child{justify-self:end;}
.customer-back-action{display:block;margin:24px auto 0;padding:7px;font-size:.75rem;font-weight:800;}
.customer-empty-state{padding:55px 20px;border:1px dashed var(--ui-line);border-radius:16px;text-align:center;}
.customer-empty-state > span{display:block;margin-bottom:12px;font-size:2rem;}
.customer-empty-state strong{display:block;}
.customer-empty-state p{margin:6px 0 0;font-size:.76rem;}
.booking-workflow{max-width:100%;}
.booking-progress{display:grid;grid-template-columns:repeat(3, 1fr);margin:-4px 0 30px;border:1px solid var(--ui-line);border-radius:13px;overflow:hidden;}
.booking-progress-compact{grid-template-columns:repeat(2, 1fr);}
.booking-progress-step{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:9px 12px;border-right:1px solid var(--ui-line);font-size:.68rem;font-weight:800;}
.booking-progress-button{width:100%;border-top:0;border-bottom:0;border-left:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;}
.booking-progress-button:hover,
.booking-progress-button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px;}
.booking-progress-step:last-child{border-right:0;}
.booking-progress-step b{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--ui-line);border-radius:50%;font-size:.66rem;}
.booking-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px;}
.booking-heading p{max-width:620px;}
.booking-change-trip,
.booking-back-button{min-height:45px;padding:11px 16px;border:2px solid var(--ui-line);border-radius:10px;font:inherit;font-size:.72rem;font-weight:900;white-space:nowrap;cursor:pointer;}
.booking-change-trip:hover,
.booking-change-trip:focus-visible,
.booking-back-button:hover,
.booking-back-button:focus-visible{outline:3px solid var(--ui-focus);}
.booking-back-button{width:100%;margin-top:10px;}
.payment-security-copy{padding:12px 14px !important;border:1px solid var(--ui-line) !important;border-radius:10px;text-transform:none !important;letter-spacing:0 !important;}
.payment-security-summary{padding:20px;border:1px solid var(--ui-line);border-radius:15px;}
.payment-security-summary span{display:block;margin-bottom:5px;font-size:.66rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;}
.payment-security-summary p{margin:10px 0 0;font-size:.74rem;line-height:1.55;}
.booking-notice,
.trip-list-intro{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;padding:14px 16px;border:1px solid var(--ui-line);border-radius:12px;font-size:.7rem;line-height:1.5;}
.booking-notice strong,
.trip-list-intro strong{flex:0 0 auto;}
.booking-workflow .frm{display:block;width:100%;margin:0;padding:0;border:0;}
.booking-workflow .frm tbody{display:block;margin:0 0 16px;padding:20px;border:1px solid var(--ui-line);border-radius:15px;}
.booking-workflow .frm tbody:empty{display:none;}
.booking-workflow .frm tr,
.booking-workflow .frm td{display:block;width:100%;height:auto;padding:0;border:0;text-align:left;}
.booking-workflow .frm tr:first-child:empty,
.booking-workflow .frm td:empty{display:none;}
.booking-workflow .frm td.t{margin:5px 0 15px;font-size:.66rem;font-weight:800;line-height:1.4;text-transform:uppercase;letter-spacing:.055em;}
.booking-workflow .frm td.r{margin-top:13px;padding:11px 13px;border:1px solid var(--ui-line);border-radius:9px;font-size:.78rem;font-weight:750;line-height:1.45;}
.booking-workflow .frm input[type="text"],
.booking-workflow .frm input[type="email"],
.booking-workflow .frm input[type="tel"],
.booking-workflow .frm select{width:100%;min-height:46px;margin:0;padding:10px 12px;border:1px solid var(--ui-line);border-radius:9px;outline:0;font-size:.78rem;}
.booking-workflow .frm select.ss,
.booking-workflow .frm select.hh{display:inline-block;width:calc(33.333% - 12px);}
.booking-workflow .frm td:has(> .ll){display:flex;align-items:stretch;gap:8px;}
.booking-workflow .frm input.rr{order:1;width:calc(100% - 50px);}
.booking-workflow .frm input.ll{order:2;flex:0 0 42px;width:42px;min-height:46px;margin:0;padding:0;border:1px solid var(--ui-line);border-radius:9px;}
.booking-workflow .frm input[type="button"]#B1,
.booking-workflow .frm input[type="button"]#B2,
.booking-workflow .frm a.btn{display:block;width:100%;min-height:47px;margin:10px 0 0;padding:13px 16px;border:0;border-radius:10px;font-size:.76rem;font-weight:900;text-align:center;text-decoration:none;cursor:pointer;}
.booking-workflow .frm a.btn.b,
.booking-workflow .frm #cancel,
.booking-workflow .frm #back{border:1px solid var(--ui-line);}
.booking-workflow .spld,
.booking-workflow #map,
.booking-workflow #_map{width:100%;margin:8px 0 16px;padding:14px;border:1px solid var(--ui-line);border-radius:12px;font-size:.72rem;line-height:1.55;text-align:center;}
.booking-workflow #map,
.booking-workflow #_map{min-height:230px;padding:0;overflow:hidden;}
.booking-workflow .spld img{max-width:190px;height:auto;margin-bottom:10px;border-radius:10px;}
.booking-workflow > div[style*="padding-top"]{display:none;}
.booking-complete{padding-top:56px;text-align:center;}
.booking-decision-summary{padding:14px 16px !important;border:1px solid var(--ui-line) !important;border-radius:11px;font-size:.74rem;line-height:1.65;}
.booking-decision-text,
.security-log-text{white-space:pre-wrap;overflow-wrap:anywhere;}
.booking-policy-warning{margin:15px 0;padding:16px;border:1px solid var(--ui-line);border-radius:11px;font-size:.72rem;line-height:1.55;}
.booking-policy-warning strong{display:block;font-size:.76rem;}
.booking-policy-warning p{margin:5px 0 12px;}
.booking-acknowledgement,
.booking-checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:.7rem;font-weight:750;line-height:1.45;cursor:pointer;}
.booking-acknowledgement input,
.booking-workflow .booking-checkbox-label + input,
.booking-workflow input#ok{flex:0 0 auto;width:19px;height:19px;margin:1px 0 0;}
.booking-contact-actions{display:flex;flex-wrap:wrap;gap:8px;}
.booking-contact-actions a{padding:8px 11px;border:1px solid var(--ui-line);border-radius:8px;font-size:.68rem;font-weight:850;text-decoration:none;}
.booking-success-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;font-size:1.6rem;font-weight:900;}
.booking-success-order{display:grid;gap:5px;width:min(430px, 100%);margin:22px auto 26px;padding:22px;border:1px solid var(--ui-line);border-radius:16px;}
.booking-success-order > span{font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em;}
.booking-success-order > strong{font-size:clamp(1.65rem, 4vw, 2.3rem);}
.booking-success-order > small{font-size:.7rem;}
.booking-pending-notice{display:grid;gap:0;width:min(720px, 100%);margin:0 auto 26px;overflow:hidden;border:1px solid var(--ui-line);border-radius:16px;text-align:left;}
.booking-pending-row{display:flex;align-items:flex-start;gap:13px;padding:17px 19px;}
.booking-pending-row + .booking-pending-row{border-top:1px solid var(--ui-line);}
.booking-pending-icon{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:50%;font-size:.75rem;font-weight:900;}
.booking-pending-row strong{display:block;margin:1px 0 5px;font-size:.82rem;}
.booking-pending-row p{margin:0;font-size:.72rem;line-height:1.55;}
.booking-next-actions{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;text-align:left;}
.booking-next-card{display:grid;grid-template-columns:auto 1fr;gap:4px 11px;align-items:center;min-height:132px;padding:18px;border:1px solid var(--ui-line);border-radius:15px;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;}
.booking-next-card:hover{transform:translateY(-2px);}
.booking-next-card > span{grid-row:1 / 3;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:1rem;font-weight:900;}
.booking-next-card > strong{font-size:.82rem;}
.booking-next-card > small{font-size:.67rem;line-height:1.45;}
.history-heading-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;}
.history-heading-actions .trip-action{border:1px solid var(--ui-line);}
.trip-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;padding:5px;border-radius:13px;}
.trip-tab{display:flex;align-items:center;justify-content:center;gap:9px;min-height:45px;padding:9px 12px;border:0;border-radius:9px;font-size:.71rem;font-weight:850;}
.trip-tab strong{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;font-size:.63rem;}
.trip-filter-panel{margin-bottom:18px;padding:17px;border:1px solid var(--ui-line);border-radius:14px;}
.trip-filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.trip-filter-heading > div{display:grid;gap:3px;}
.trip-filter-heading strong{font-size:.8rem;}
.trip-filter-heading span{font-size:.67rem;line-height:1.45;}
.trip-filter-count{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-weight:850;}
.trip-range-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;}
.trip-range-button{min-height:35px;padding:7px 11px;border:1px solid var(--ui-line);border-radius:999px;font:inherit;font-size:.68rem;font-weight:850;cursor:pointer;}
.trip-custom-range{display:none;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) auto;align-items:end;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--ui-line);}
.trip-custom-range.is-open{display:grid;}
.trip-custom-range label{display:grid;gap:5px;font-size:.66rem;font-weight:850;}
.app-host .trip-custom-range input[type="date"]{min-height:42px;margin:0;padding:8px 10px;border:1px solid var(--ui-line);border-radius:9px;font:inherit;}
.trip-custom-range .trip-action{min-height:42px;border:1px solid var(--ui-line);}
.trip-list-intro{flex-direction:column;gap:2px;margin-bottom:20px;}
.trip-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;}
.trip-actions .trip-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ui-line);text-decoration:none;}
.portal-footer{display:flex;justify-content:space-between;gap:20px;width:min(1240px, calc(100% - 48px));margin:-42px auto 0;padding:20px 0;border-top:1px solid var(--ui-line);font-size:.7rem;}
@media (max-width: 980px) {
.portal-main{grid-template-columns:1fr;gap:38px;max-width:720px;padding-top:46px;}
.portal-intro{text-align:center;}
.portal-intro h1,
    .portal-intro > p{margin-left:auto;margin-right:auto;}
.portal-intro h1{font-size:clamp(2.8rem, 8vw, 4.7rem);}
.portal-assurances{justify-content:center;}
.portal-footer{max-width:720px;margin-top:0;}
}
@media (max-width: 680px) {
.portal-header{grid-template-columns:1fr auto;width:min(100% - 32px, 620px);min-height:76px;}
.portal-brand{width:148px;}
.portal-header-copy{display:none;}
.portal-support span{display:none;}
.portal-support strong{font-size:.83rem;}
.portal-main{width:min(100% - 24px, 620px);padding:34px 0 48px;}
.portal-intro > p,
    .portal-assurances{display:none;}
.portal-intro h1{margin-bottom:0;font-size:clamp(2.4rem, 12vw, 3.7rem);}
.portal-workspace{border-radius:20px;}
.portal-workspace .app-host{min-height:520px;}
.customer-view,
    .customer-history{padding:28px 20px;}
.customer-secondary-actions,
    .customer-action-grid{grid-template-columns:1fr;}
.customer-action-card,
    .app-host .customer-action-card{min-height:126px;}
.customer-account-access{grid-template-columns:1fr;}
.customer-profile-summary{align-items:flex-start;}
.profile-settings-heading,
    .profile-inline-actions{align-items:stretch;flex-direction:column;}
.profile-settings-grid,
    .profile-email-change{grid-template-columns:1fr;}
.profile-settings-grid .booking-field-wide,
    .profile-email-change > *{grid-column:1;}
.profile-secondary-button,
    .profile-inline-actions .customer-primary-action,
    .profile-text-button,
    .profile-form-actions .customer-primary-action{width:100%;}
.guest-checkout-actions,
    .guest-security-code-row{align-items:stretch;flex-direction:column;}
.guest-security-code-row img{max-width:100%;}
.guest-checkout-actions .customer-back-action{width:100%;}
.customer-avatar{width:58px;height:58px;}
.trip-card-footer{align-items:flex-start;flex-direction:column;}
.trip-action{width:100%;}
.booking-progress-step{min-height:42px;padding:7px 5px;font-size:.59rem;text-align:center;}
.booking-progress-step b{display:none;}
.booking-notice{flex-direction:column;gap:3px;}
.booking-heading{flex-direction:column;}
.booking-change-trip{width:100%;}
.trip-tabs{grid-template-columns:1fr;}
.booking-next-actions{grid-template-columns:1fr;}
.booking-next-card{min-height:105px;}
.history-heading-actions .trip-action{width:auto;}
.trip-filter-heading{flex-direction:column;}
.trip-custom-range{grid-template-columns:1fr;}
.trip-custom-range .trip-action{width:100%;}
.trip-actions{width:100%;}
.trip-actions .trip-action{width:100%;}
.customer-pagination{grid-template-columns:1fr 1fr;}
.customer-pagination span{grid-column:1 / -1;grid-row:1;}
.portal-footer{flex-direction:column;width:min(100% - 32px, 620px);margin-top:0;text-align:center;}
}
.booking-for-fieldset{margin:0 0 20px;padding:0;border:0;}
.booking-for-fieldset > legend{margin-bottom:9px;font-size:.8rem;font-weight:800;}
.booking-for-toggle{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;}
.booking-for-toggle label{position:relative;cursor:pointer;}
.booking-for-toggle input{position:absolute;opacity:0;}
.booking-for-toggle span{display:flex;min-height:72px;flex-direction:column;justify-content:center;gap:4px;padding:14px 16px;border:1px solid var(--ui-line);border-radius:13px;transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;}
.booking-for-toggle strong{font-size:.82rem;}
.booking-for-toggle small{font-size:.7rem;line-height:1.35;}
.booking-contact-group,
.booking-flight-panel{margin:0 0 18px;padding:18px;border:1px solid var(--ui-line);border-radius:14px;}
.booking-section-label{display:flex;flex-direction:column;gap:3px;margin:2px 0 10px;}
.booking-section-label strong{font-size:.82rem;}
.booking-section-label span{font-size:.7rem;}
.booking-field em{font-size:.65rem;font-style:normal;font-weight:600;}
.booking-flight-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.booking-flight-heading > div{display:flex;flex-direction:column;gap:3px;}
.booking-flight-heading strong{font-size:.88rem;}
.booking-flight-heading small{font-size:.7rem;line-height:1.4;}
.booking-flight-badge{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;}
.booking-passenger-summary p{margin-bottom:3px;}
@media (max-width: 680px) {
.booking-for-toggle{grid-template-columns:1fr;}
.booking-flight-heading{align-items:flex-start;flex-direction:column;}
}
@media (prefers-reduced-motion: reduce) {
.customer-action-card,
    .customer-secondary-action,
    .customer-guest-action,
    .app-host input.customer-primary-action[type="button"]{transition:none;}
}
.customer-portal-page.booking-flow-active .portal-main{grid-template-columns:minmax(0, 1fr);align-items:start;gap:32px;width:min(1120px, calc(100% - 48px));padding-top:44px;}
.customer-portal-page.booking-flow-active .portal-intro{max-width:820px;}
.customer-portal-page.booking-flow-active .portal-intro h1{max-width:none;margin:10px 0 12px;font-size:clamp(2.5rem, 5vw, 4.2rem);}
.customer-portal-page.booking-flow-active .portal-intro > p{max-width:760px;}
.customer-portal-page.booking-flow-active .portal-assurances{display:none;}
.customer-portal-page.booking-flow-active .portal-workspace,
.customer-portal-page.booking-flow-active .portal-workspace .app-host{width:100%;min-height:0;}
.booking-rate-flow [hidden]{display:none !important;}
.booking-rate-flow{max-width:none;}
.booking-stage{padding:clamp(22px, 3vw, 34px);border:1px solid var(--ui-line);border-radius:20px;}
.booking-stage h3,
.booking-stage h4{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:500;}
.booking-stage h3{font-size:clamp(1.35rem, 3vw, 2rem);}
.booking-stage h4{font-size:1.15rem;}
.booking-mode-tabs{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:8px;margin:22px 0;padding:5px;border-radius:14px;}
.booking-mode-tabs label{position:relative;margin:0;cursor:pointer;}
.booking-mode-tabs input{position:absolute;opacity:0;pointer-events:none;}
.booking-mode-tabs span{display:block;padding:12px 9px;border-radius:10px;font-size:.84rem;font-weight:800;text-align:center;}
.booking-mode-tabs input:focus-visible + span{outline:3px solid var(--ui-focus);outline-offset:2px;}
.booking-fields{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:16px;}
.booking-fields-route{grid-template-columns:repeat(4, minmax(0, 1fr));}
.booking-detail-fields{grid-template-columns:repeat(2, minmax(0, 1fr));}
.booking-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;}
.booking-field-wide{grid-column:span 2;}
.booking-field > span,
.car-seat-fields legend{font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;}
.booking-field input,
.booking-field select,
.pre-booking-order textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--ui-line);border-radius:10px;font:inherit;box-sizing:border-box;}
.booking-field input:focus,
.booking-field select:focus,
.pre-booking-order textarea:focus{outline:3px solid var(--ui-focus);}
.booking-passenger-panel .booking-field > span,
.quote-passenger-stage .booking-field > span{font-size:.82rem;letter-spacing:.035em;}
.booking-passenger-panel .booking-field input:focus,
.quote-passenger-stage .booking-field input:focus{outline:3px solid var(--ui-focus);outline-offset:2px;}
.booking-contact-phone{padding:12px;border:2px solid var(--ui-line);border-radius:12px;}
.booking-contact-phone > small{font-size:.8rem;line-height:1.4;}
.booking-contact-phone > small[hidden]{display:none;}
.booking-contact-phone input:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px;}
.booking-account-email-note{margin:12px 0 18px;padding:12px 15px;border-left:4px solid var(--ui-line);border-radius:6px;font-size:.88rem;line-height:1.45;}
.booking-account-email-note[hidden]{display:none;}
#trip-step .booking-fields-route > .booking-field{padding:13px;border:2px solid var(--ui-line);border-radius:12px;}
#trip-step .booking-fields-route > .booking-field > span{font-size:.9rem;line-height:1.35;letter-spacing:.025em;}
#trip-step .booking-fields-route > .booking-field input,
#trip-step .booking-fields-route > .booking-field select{min-height:52px;}
#trip-step .booking-fields-route > .booking-field input:focus,
#trip-step .booking-fields-route > .booking-field select:focus{outline:3px solid var(--ui-focus);outline-offset:2px;}
.booking-required-note{margin-left:5px;font-size:.73rem;font-weight:800;letter-spacing:0;text-transform:none;}
#trip-step .booking-stops-panel{border:2px solid var(--ui-line);}
#trip-step .booking-stops-panel .booking-inline-heading h4{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.12rem;font-weight:800;}
#trip-step .booking-stops-panel .booking-inline-heading p{font-size:.85rem;}
.booking-return-panel,
.traveller-details,
.booking-passenger-panel{margin-top:24px;padding-top:24px;border-top:1px solid var(--ui-line);}
.booking-return-heading,
.booking-stage-heading,
.booking-inline-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px;}
.booking-stage-heading p,
.booking-inline-heading p,
.car-seat-fields p{margin:6px 0 0;line-height:1.55;}
.booking-inline-heading h3,
.booking-inline-heading h4{margin:0;}
.booking-stops-panel{margin-top:20px;padding:18px;border:1px solid var(--ui-line);border-radius:14px;}
.booking-return-stops{margin-top:18px;}
.booking-stop-list{display:grid;gap:11px;}
.booking-stop-row{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:end;gap:10px;}
.booking-stop-remove{min-height:48px;padding:10px 13px;border:1px solid var(--ui-line);border-radius:10px;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer;}
.booking-child-seat-toggle{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:.79rem;font-weight:800;cursor:pointer;}
.booking-child-seat-toggle input{width:18px;height:18px;}
.booking-vehicle-stage{margin-top:22px;}
.booking-route-metrics{font-weight:850;}
.booking-text-button{flex:none;padding:5px 0;border:0;border-bottom:1px solid var(--ui-line);font:inherit;font-size:.79rem;font-weight:800;cursor:pointer;}
.booking-address-help{margin:16px 0 0;font-size:.78rem;}
.booking-stage-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px;}
.booking-primary-action,
.booking-secondary-action{min-height:46px;padding:11px 18px;border-radius:999px;font:inherit;font-size:.8rem;font-weight:900;cursor:pointer;}
.booking-primary-action{border:1px solid var(--ui-line);}
.booking-primary-action:disabled{cursor:not-allowed;opacity:.55;}
.booking-secondary-action{border:1px solid var(--ui-line);}
.vehicle-option-grid{display:grid;gap:14px;}
.vehicle-option-card{display:grid;grid-template-columns:190px minmax(0, 1fr) auto;align-items:center;gap:22px;padding:18px;border:1px solid var(--ui-line);border-radius:16px;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;}
.vehicle-option-card:hover,
.vehicle-option-card.selected{transform:translateY(-1px);}
.vehicle-option-media{position:relative;min-width:0;}
.vehicle-option-media > img{width:100%;height:110px;object-fit:contain;border-radius:10px;}
.vehicle-option-media > span{display:block;margin-top:4px;font-size:.59rem;font-weight:750;text-align:center;text-transform:uppercase;letter-spacing:.045em;}
.vehicle-option-unavailable{opacity:.7;}
.vehicle-option-unavailable:hover{transform:none;}
.vehicle-option-copy h4{margin-bottom:7px;font-size:1.25rem;}
.vehicle-option-copy p{margin:0 0 10px;font-size:.82rem;line-height:1.5;}
.vehicle-capacity{font-size:.78rem;font-weight:800;}
.vehicle-option-price{display:flex;align-items:flex-end;flex-direction:column;gap:4px;min-width:170px;}
.vehicle-option-price strong{font-size:1.38rem;}
.vehicle-option-price > span{font-size:.68rem;}
.vehicle-option-price .vehicle-choose{min-height:39px;margin-top:9px;padding:8px 14px;}
.vehicle-details-button{padding:5px 0;border:0;border-bottom:1px solid var(--ui-line);font:inherit;font-size:.7rem;font-weight:850;cursor:pointer;}
.vehicle-detail-modal[hidden]{display:none !important;}
.vehicle-detail-modal{position:fixed;z-index:10020;inset:0;display:grid;place-items:center;padding:22px;}
.vehicle-detail-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;cursor:pointer;}
.vehicle-detail-dialog{position:relative;z-index:1;width:min(920px, 100%);max-height:calc(100vh - 44px);padding:clamp(22px, 4vw, 36px);border-radius:20px;overflow:auto;}
.vehicle-detail-close{position:absolute;z-index:2;top:12px;right:14px;width:38px;height:38px;border:0;border-radius:50%;font-size:1.45rem;line-height:1;cursor:pointer;}
.vehicle-detail-layout{display:grid;grid-template-columns:minmax(260px, .9fr) minmax(320px, 1.1fr);gap:clamp(24px, 4vw, 42px);align-items:start;}
.vehicle-detail-image-wrap{position:sticky;top:0;}
.vehicle-detail-image-wrap img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:contain;border-radius:15px;}
.vehicle-detail-image-wrap span{display:block;margin-top:7px;font-size:.62rem;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.06em;}
.vehicle-detail-copy h3{margin:5px 0 8px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:clamp(1.65rem, 3vw, 2.3rem);font-weight:500;}
.vehicle-detail-copy > p{line-height:1.55;}
.vehicle-rate-breakdown{margin-top:20px;border-top:1px solid var(--ui-line);}
.vehicle-rate-line{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--ui-line);font-size:.79rem;}
.vehicle-rate-line.is-subtotal{margin-top:3px;font-weight:800;}
.vehicle-rate-line.is-total{padding:14px 0;border-bottom:0;font-size:.95rem;font-weight:900;}
.vehicle-rate-line.is-total strong{font-size:1.18rem;}
.vehicle-rate-note{margin:4px 0 18px;font-size:.68rem;}
body.vehicle-modal-open{overflow:hidden;}
.car-seat-fields{margin:22px 0 0;padding:20px;border:1px solid var(--ui-line);border-radius:14px;}
.car-seat-fields legend{padding:0 7px;}
.car-seat-fields p{margin:0 0 15px;font-size:.79rem;}
.booking-capacity-message{margin-top:16px;padding:11px 13px;border-radius:9px;font-size:.78rem;font-weight:700;}
.booking-empty-state{margin:0;padding:24px;border-radius:12px;text-align:center;}
.booking-review-page{max-width:1180px;}
.booking-review-heading{margin-bottom:18px;}
.booking-review-grid{display:grid;grid-template-columns:minmax(0, 1.2fr) minmax(340px, .8fr);gap:20px;align-items:start;}
.booking-review-card{min-width:0;padding:22px;border:1px solid var(--ui-line);border-radius:16px;}
.booking-checkout-card{position:sticky;top:18px;}
.booking-review-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:17px;}
.booking-review-card-heading h3{margin:2px 0 0;font-size:1.08rem;line-height:1.25;}
.booking-review-badge{flex:0 0 auto;max-width:190px;padding:7px 10px;border:1px solid var(--ui-line);border-radius:999px;font-size:.66rem;font-weight:900;line-height:1.25;text-align:center;}
.booking-review-facts{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1px;overflow:hidden;margin-bottom:20px;border:1px solid var(--ui-line);border-radius:12px;}
.booking-review-fact{min-width:0;padding:12px 14px;}
.booking-review-fact-wide{grid-column:1 / -1;}
.booking-review-fact span,
.booking-review-note > span,
.booking-route-point small,
.booking-checkout-field > span,
.booking-tip-row label{display:block;margin-bottom:4px;font-size:.62rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase;}
.booking-review-fact strong{display:block;overflow-wrap:anywhere;font-size:.76rem;line-height:1.4;}
.booking-route{position:relative;margin:3px 0 20px;padding-left:2px;}
.booking-route::before{content:"";position:absolute;top:15px;bottom:17px;left:8px;width:2px;}
.booking-route-point{position:relative;display:grid;grid-template-columns:18px minmax(0, 1fr);gap:11px;padding:8px 0;}
.booking-route-marker{position:relative;z-index:1;width:14px;height:14px;margin-top:2px;border:4px solid var(--ui-line);border-radius:50%;box-sizing:border-box;}
.booking-route-dropoff .booking-route-marker{border-radius:3px;}
.booking-route-point small{margin-bottom:3px;}
.booking-route-point strong{display:block;font-size:.78rem;line-height:1.45;}
.booking-review-note{margin-top:12px;padding:13px 14px;border:1px solid var(--ui-line);border-radius:11px;}
.booking-review-note strong,
.booking-review-note small{display:block;}
.booking-review-note p,
.booking-review-note small{margin:3px 0 0;font-size:.73rem;line-height:1.5;}
.booking-return-summary{margin-top:20px;padding-top:20px;border-top:1px solid var(--ui-line);}
.booking-return-summary-heading{margin-bottom:9px;}
.booking-return-summary .booking-route{margin-bottom:0;}
.booking-cost-list{padding:3px 0 7px;border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);}
.booking-cost-list > div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:7px 0;font-size:.73rem;}
.booking-cost-list strong{flex:0 0 auto;}
.booking-tip-row{display:grid;grid-template-columns:minmax(0, 1fr) minmax(150px, .85fr);gap:12px;align-items:center;padding:14px 0;}
.booking-tip-row label{margin:0;}
.booking-tip-row select,
.booking-checkout-field select,
.booking-checkout-field textarea{width:100%;min-height:44px;margin:0;padding:9px 11px;border:1px solid var(--ui-line);border-radius:9px;font:inherit;font-size:.74rem;box-sizing:border-box;outline:0;}
.booking-estimated-total{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:3px 15px;margin-bottom:18px;padding:14px 15px;border-radius:12px;}
.booking-estimated-total > span{align-self:center;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;}
.booking-estimated-total > strong{font-size:1.35rem;line-height:1;}
.booking-estimated-total > small{grid-column:1 / -1;font-size:.62rem;line-height:1.45;}
.booking-checkout-fields{display:grid;gap:13px;}
.booking-checkout-field{display:block;}
.booking-checkout-field > span small{font-size:inherit;font-weight:700;letter-spacing:0;text-transform:none;}
.booking-checkout-field textarea{min-height:70px;resize:vertical;}
.booking-checkout-field > small{display:block;margin-top:5px;font-size:.62rem;line-height:1.45;}
.booking-submit-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:56px;margin-top:17px;padding:10px 16px;border:0;border-radius:10px;font:inherit;font-size:.78rem;font-weight:950;cursor:pointer;}
.booking-submit-button small{margin-top:2px;font-size:.59rem;font-weight:750;}
.booking-submit-button:hover,
.booking-submit-button:focus-visible{outline:3px solid var(--ui-focus);}
.booking-review-page .booking-back-button{min-height:41px;margin-top:8px;padding:8px 12px;border-width:1px;font-size:.66rem;}
.booking-security-mark{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid var(--ui-line);}
.booking-security-mark strong,
.booking-security-mark small{display:block;}
.booking-security-mark strong{font-size:.67rem;}
.booking-security-mark small{margin-top:2px;font-size:.6rem;line-height:1.4;}
.booking-calculation-error{padding:18px;border:1px solid var(--ui-line);border-radius:12px;}
.booking-calculation-error p{margin:7px 0 0;font-size:.73rem;line-height:1.5;}
.portal-nav{display:flex;align-items:center;justify-content:flex-end;gap:7px;width:min(1240px, calc(100% - 48px));margin:10px auto -24px;}
.portal-nav[hidden]{display:none;}
.portal-nav button{min-height:38px;padding:8px 12px;border:1px solid var(--ui-line);border-radius:9px;font:inherit;font-size:.68rem;font-weight:800;cursor:pointer;}
.portal-nav button:hover,
.portal-nav button:focus-visible,
.portal-nav button.is-current{outline:3px solid var(--ui-focus);}
.customer-password-control{position:relative;}
.app-host .customer-password-control input[type="password"],
.app-host .customer-password-control input[type="text"]{padding-right:72px;}
.customer-password-control button{position:absolute;top:50%;right:9px;min-width:52px;min-height:34px;padding:6px 8px;border:1px solid var(--ui-line);border-radius:7px;font:inherit;font-size:.64rem;font-weight:900;transform:translateY(-50%);cursor:pointer;}
.customer-action-card-disabled,
.app-host .customer-action-card-disabled{cursor:default;}
.customer-action-card-disabled:hover{transform:none;}
.customer-signup-form .booking-field > small{margin-top:-1px;font-size:.64rem;line-height:1.45;}
.passcode-reset-card{max-width:500px;}
.passcode-reset-card > p strong{overflow-wrap:anywhere;}
.passcode-reset-return{display:block;margin-top:16px;}
.passcode-reset-return[hidden]{display:none;}
.booking-decision-card{padding:22px;border:1px solid var(--ui-line);border-radius:16px;}
.booking-decision-order{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--ui-line);}
.booking-decision-order span,
.booking-decision-details span{font-size:.63rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase;}
.booking-decision-order strong{font-size:1.3rem;}
.booking-decision-details{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;padding:17px 0;}
.booking-decision-details > div{padding:12px 13px;border:1px solid var(--ui-line);border-radius:10px;}
.booking-decision-details span,
.booking-decision-details strong{display:block;}
.booking-decision-details strong{margin-top:4px;font-size:.76rem;line-height:1.45;}
.booking-decision-actions{display:grid;gap:10px;margin-top:16px;}
.booking-decision-actions .booking-primary-action,
.booking-decision-actions .booking-secondary-action,
.booking-danger-action{width:100%;}
.booking-danger-action{min-height:47px;padding:12px 16px;border:1px solid var(--ui-line);border-radius:10px;font:inherit;font-size:.74rem;font-weight:900;cursor:pointer;}
.booking-danger-action:hover,
.booking-danger-action:focus-visible{outline:3px solid var(--ui-focus);}
.booking-cancellation-amount{margin:0;font-size:.72rem;text-align:center;}
.booking-edit-page .booking-decision-summary{margin-bottom:16px;}
.trip-feedback-page{max-width:680px;margin:0 auto;}
.trip-feedback-card{padding:22px;border:1px solid var(--ui-line);border-radius:16px;}
.trip-feedback-driver{display:flex;align-items:center;gap:16px;padding-bottom:19px;border-bottom:1px solid var(--ui-line);}
.trip-feedback-driver img{width:76px;height:76px;object-fit:cover;border:3px solid var(--ui-line);border-radius:50%;}
.trip-feedback-driver span,
.trip-feedback-driver small{display:block;font-size:.66rem;}
.trip-feedback-driver h3{margin:3px 0 4px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.35rem;font-weight:500;}
.trip-feedback-card form{display:grid;gap:14px;margin-top:20px;}
.trip-rating-fieldset{margin:0;padding:0;border:0;text-align:center;}
.trip-rating-fieldset legend{width:100%;font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;}
.trip-rating-options{display:inline-flex;flex-direction:row-reverse;justify-content:center;margin-top:8px;}
.trip-rating-options input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.trip-rating-options label{padding:2px 4px;font-size:2.25rem;line-height:1;cursor:pointer;}
.trip-rating-options input:focus-visible + label{outline:3px solid var(--ui-focus);border-radius:6px;}
#rating-description{margin:5px 0 0;font-size:.7rem;}
.trip-feedback-card textarea{width:100%;min-height:100px;padding:11px 13px;border:1px solid var(--ui-line);border-radius:10px;font:inherit;resize:vertical;box-sizing:border-box;}
.trip-feedback-card textarea:focus{outline:3px solid var(--ui-focus);}
@media (max-width: 680px) {
.portal-nav{justify-content:flex-start;width:min(100% - 24px, 620px);margin:8px auto -16px;padding-bottom:4px;overflow-x:auto;}
.portal-nav button{flex:0 0 auto;}
.booking-decision-details{grid-template-columns:1fr;}
.trip-feedback-driver{align-items:flex-start;}
}
@media (max-width: 920px) {
.booking-review-grid{grid-template-columns:1fr;}
.booking-checkout-card{position:static;}
}
@media (max-width: 820px) {
.customer-portal-page.booking-flow-active .portal-main{width:min(100% - 28px, 680px);}
.booking-fields-route,
    .booking-fields{grid-template-columns:repeat(2, minmax(0, 1fr));}
.vehicle-option-card{grid-template-columns:140px minmax(0, 1fr);}
.vehicle-option-price{grid-column:1 / -1;align-items:center;flex-direction:row;flex-wrap:wrap;}
.vehicle-option-price .vehicle-choose{margin:0 0 0 auto;}
.vehicle-detail-layout{grid-template-columns:1fr;}
.vehicle-detail-image-wrap{position:static;}
}
@media (max-width: 560px) {
.customer-portal-page.booking-flow-active .portal-intro{display:none;}
.customer-portal-page.booking-flow-active .portal-main{gap:0;padding-top:24px;}
.booking-rate-flow{padding:24px 16px;}
.booking-stage{padding:20px 14px;border-radius:14px;}
.booking-mode-tabs,
    .booking-fields-route,
    .booking-fields{grid-template-columns:1fr;}
.booking-field-wide{grid-column:auto;}
.booking-stage-heading,
    .booking-return-heading,
    .booking-inline-heading{flex-direction:column;gap:8px;}
.booking-stop-row{grid-template-columns:1fr;}
.booking-stop-remove{min-height:40px;}
.vehicle-option-card{grid-template-columns:1fr;text-align:center;}
.vehicle-option-media > img{height:130px;}
.vehicle-option-price{justify-content:center;}
.vehicle-option-price .vehicle-choose{width:100%;margin:8px 0 0;}
.vehicle-details-button{width:100%;margin:6px 0;}
.vehicle-detail-modal{padding:10px;}
.vehicle-detail-dialog{max-height:calc(100vh - 20px);padding:24px 16px;border-radius:14px;}
.booking-stage-actions,
    .booking-stage-actions button{width:100%;}
.booking-review-card{padding:17px 14px;border-radius:13px;}
.booking-review-card-heading{align-items:flex-start;flex-direction:column;gap:9px;}
.booking-review-badge{max-width:none;}
.booking-review-facts{grid-template-columns:1fr;}
.booking-review-fact-wide{grid-column:auto;}
.booking-tip-row{grid-template-columns:1fr;gap:7px;}
}
.quote-booking-page{width:100%;max-width:980px;padding:34px;}
.quote-account-bar{position:sticky;top:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:-10px 0 24px;padding:15px 17px;border:1px solid var(--ui-line);border-radius:13px;}
.quote-account-bar > div{display:grid;gap:3px;}
.quote-account-bar strong{font-size:.86rem;}
.quote-account-bar span{font-size:.72rem;line-height:1.45;}
.quote-account-bar .customer-secondary-action{flex:0 0 auto;width:auto;min-width:110px;margin:0;}
.quote-booking-progress{grid-template-columns:repeat(4, 1fr);margin-bottom:25px;}
.quote-booking-page .booking-heading{display:block;margin-bottom:12px;}
.quote-change-row{display:flex;justify-content:flex-end;margin:-2px 0 18px;}
.quote-change-row .booking-secondary-action{width:auto;margin:0;}
.quote-passenger-stage{display:grid;gap:20px;}
.quote-passenger-stage[hidden]{display:none;}
.quote-passenger-fields{grid-template-columns:repeat(2, minmax(0, 1fr));}
.quote-auth-choice{margin-top:22px;padding:20px;border:1px solid var(--ui-line);border-radius:14px;}
.quote-auth-heading h4{margin:0;font-size:1rem;}
.quote-auth-heading p{margin:5px 0 16px;font-size:.73rem;line-height:1.5;}
.quote-auth-actions{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;}
.quote-auth-actions button{width:100%;margin:0;}
.quote-auth-actions .customer-text-action{grid-column:1 / -1;}
@media (max-width: 680px) {
.quote-booking-page{padding:22px 14px;}
.quote-account-bar{position:static;align-items:stretch;flex-direction:column;gap:12px;margin-top:0;}
.quote-account-bar .customer-secondary-action{width:100%;}
.quote-booking-progress{grid-template-columns:repeat(2, 1fr);}
.quote-booking-progress .booking-progress-step:nth-child(2){border-right:0;}
.quote-booking-progress .booking-progress-step:nth-child(-n+2){border-bottom:1px solid var(--ui-line);}
.quote-passenger-fields,
    .quote-auth-actions{grid-template-columns:1fr;}
.quote-auth-actions .customer-text-action{grid-column:auto;}
}
.vehicle-rate-line>span{min-width:0;overflow-wrap:anywhere;}
.booking-input-invalid{border:2px solid var(--ui-line) !important;}
.booking-field-error{display:block;font-size:.875rem;line-height:1.4;margin-top:.35rem;}
.booking-error-summary{border:2px solid var(--ui-line);border-radius:10px;padding:1rem;margin:0 0 1.25rem;text-align:left;}
.booking-error-summary ul{padding-left:1.25rem;margin:.5rem 0 0;}
.booking-error-summary a{text-decoration:underline;}
.customer-portal-page.trip-history-active .portal-main{display:block;width:min(1280px, calc(100% - 48px));min-height:0;padding:36px 0 72px;}
.customer-portal-page.trip-history-active .portal-intro{display:none;}
.customer-portal-page.trip-history-active .portal-workspace,
.customer-portal-page.trip-history-active .portal-workspace .app-host{width:100%;min-height:0;}
.customer-portal-page.trip-history-active .customer-history{padding:0;}
.history-page-header{display:grid;grid-template-columns:minmax(240px, 1fr) minmax(300px, 1.15fr);align-items:center;gap:32px;padding:34px clamp(24px, 4vw, 52px);border-bottom:1px solid var(--ui-line);}
.history-page-header .customer-view-heading{margin:0;}
.history-page-header .customer-view-heading p{max-width:450px;}
.history-policy-message{padding:18px 22px;border:1px solid var(--ui-line);border-radius:14px;}
.history-policy-message strong{font-size:.85rem;}
.history-policy-message p{margin:6px 0 11px;font-size:.77rem;line-height:1.55;}
.history-policy-links{display:flex;flex-wrap:wrap;gap:8px 16px;}
.history-policy-links a{font-size:.73rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;}
.history-page-body{padding:28px clamp(20px, 3.5vw, 44px) 36px;}
.history-page-body .trip-card-list{grid-template-columns:repeat(2, minmax(0, 1fr));align-items:stretch;gap:16px;}
.history-page-body .trip-card{display:flex;min-width:0;flex-direction:column;}
.history-page-body .trip-card-footer{margin-top:auto;}
.history-page-body .trip-route strong{overflow-wrap:anywhere;}
.history-page-body .customer-empty-state{grid-column:1 / -1;}
@media (max-width: 800px) {
.customer-portal-page.trip-history-active .portal-main{width:min(100% - 28px, 680px);padding-top:24px;}
.history-page-header{grid-template-columns:1fr;gap:16px;padding:26px 20px;}
.history-page-body .trip-card-list{grid-template-columns:1fr;}
}
/* Layout preserved from booking-experience.css */
.booking-appearance{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px;margin:0;border-bottom:1px solid var(--ui-line);font:600 .875rem/1.5 system-ui,sans-serif;border-radius:16px 16px 0 0;}
.booking-appearance select{width:auto;min-width:145px;min-height:44px;padding:8px 30px 8px 12px;border:1px solid var(--ui-line);border-radius:8px;font:inherit;letter-spacing:normal;}
.customer-portal-page .portal-header{padding:12px 20px;border-radius:0 0 16px 16px;}
.customer-portal-page .portal-workspace{overflow:visible;}
.customer-portal-page .portal-workspace .app-host{border-radius:0 0 16px 16px;}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .app-host .customer-field input[type="email"],
:root[data-booking-theme="dark"] :is(.customer-portal-page) .app-host .customer-field input[type="password"],
:root[data-booking-theme="dark"] :is(.customer-portal-page) .app-host .customer-inline-field input[type="password"]{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .customer-guest-action{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .customer-avatar{border:5px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .profile-legacy-payment{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .guest-checkout-assurance{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .guest-security-code{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .guest-security-code-row img{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .guest-activation-sent{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .guest-activation-warning{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .customer-alert{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .trip-route-dot{border:2px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .trip-card-meta{border-top:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .trip-card-footer{border-top:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .customer-empty-state{border:1px dashed var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-progress-step b{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .payment-security-copy{border:1px solid var(--ui-line) !important;}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-notice,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .trip-list-intro{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-workflow .frm td.r{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-workflow .frm input[type="text"],
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-workflow .frm input[type="email"],
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-workflow .frm input[type="tel"],
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-workflow .frm select{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-workflow .frm input.ll{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-workflow .frm a.btn.b,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-workflow .frm #cancel,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-workflow .frm #back{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-policy-warning{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-contact-actions a{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-pending-notice{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-pending-row + .booking-pending-row{border-top:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .trip-range-button{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .trip-custom-range{border-top:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .app-host .trip-custom-range input[type="date"]{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-contact-group,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-flight-panel{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-stage{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-field input,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-field select,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .pre-booking-order textarea{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-contact-phone{border:2px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-account-email-note{border-left:4px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) #trip-step .booking-fields-route > .booking-field{border:2px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) #trip-step .booking-stops-panel{border:2px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-return-panel,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .traveller-details,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-passenger-panel{border-top:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-stops-panel{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-stop-remove{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-secondary-action{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .vehicle-option-card{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .vehicle-rate-breakdown{border-top:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .vehicle-rate-line{border-bottom:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .car-seat-fields{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-review-badge{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-review-facts{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-review-note{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-return-summary{border-top:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-cost-list{border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-tip-row select,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-checkout-field select,
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-checkout-field textarea{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-security-mark{border-top:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-calculation-error{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .customer-password-control button{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-decision-order{border-bottom:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-decision-details > div{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-danger-action{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .trip-feedback-driver{border-bottom:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .trip-feedback-driver img{border:3px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .trip-feedback-card textarea{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .quote-auth-choice{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-input-invalid{border:2px solid var(--ui-line) !important;}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .booking-error-summary{border:2px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(.customer-portal-page) .history-policy-message{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(#rate-check) .field input,
:root[data-booking-theme="dark"] :is(#rate-check) .field select{border:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(#rate-check) .public-rate-line{border-bottom:1px solid var(--ui-line);}
:root[data-booking-theme="dark"] :is(#rate-check) .booking-input-invalid{border:2px solid var(--ui-line) !important;}
:root[data-booking-theme="dark"] :is(#rate-check) .booking-error-summary{border:2px solid var(--ui-line);}
:is(.customer-portal-page,#rate-check) :is(.booking-field,.customer-field,.field)>span:first-child{font-size:.9375rem;font-weight:750;line-height:1.5;}
:is(.customer-portal-page,#rate-check) :is(.booking-field,.customer-field,.field) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-height:48px;padding:12px 14px;border:1.5px solid var(--ui-line);border-radius:9px;font-size:1rem;line-height:1.5;letter-spacing:normal;}
:is(.customer-portal-page,#rate-check) :is(input,textarea)::placeholder{opacity:1;}
:is(.customer-portal-page,#rate-check) :is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid var(--ui-focus) !important;outline-offset:3px;}
:is(.customer-portal-page,#rate-check) .booking-required-note{display:inline-block;margin-left:5px;padding:2px 7px;border-radius:5px;font-size:.75rem;font-weight:750;font-style:normal;text-transform:none;}
:is(.customer-portal-page,#rate-check) :is(.booking-address-help,.booking-field>small,.rate-help){font-size:.875rem;line-height:1.6;}
:is(.customer-portal-page,#rate-check) .booking-input-invalid{border:2px solid var(--ui-line) !important;}
:is(.customer-portal-page,#rate-check) .booking-error-summary{border:2px solid var(--ui-line);padding:16px;border-radius:10px;margin:0 0 20px;font-size:.9375rem;line-height:1.6;}
:is(.customer-portal-page,#rate-check) .booking-error-summary ul{margin:8px 0 0;padding-left:22px;}
:is(.customer-portal-page,#rate-check) .booking-error-summary a{text-decoration:underline;text-underline-offset:3px;}
#rate-check .booking-appearance{padding:0 0 12px;margin-bottom:12px;border-radius:0;}
@media (max-width:600px) {
.booking-appearance{justify-content:space-between;padding:10px 14px;}
.customer-portal-page .portal-header{padding:12px;}
:is(.customer-portal-page,#rate-check) :is(.booking-field,.customer-field,.field)>span:first-child{font-size:.875rem;}
}
@media (prefers-reduced-motion:reduce) {
:is(.customer-portal-page,#rate-check) *{scroll-behavior:auto !important;transition:none !important;animation:none !important;}
}
@media print {
.booking-appearance{display:none;}
}
:is(.customer-portal-page,#rate-check) :is(.booking-mode-tabs,.booking-for-toggle,.public-trip-tabs) input:focus-visible+ :is(span,label){outline:3px solid var(--ui-focus) !important;outline-offset:3px;}
:is(.customer-portal-page,#rate-check) [hidden]:not([hidden="until-found"]){display:none !important;}
.customer-portal-page .customer-device-choice{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:.9375rem;line-height:1.5;cursor:pointer;}
.customer-portal-page .customer-device-choice input[type=checkbox]{flex:0 0 auto;appearance:auto;width:20px;height:20px;min-height:20px;margin:1px 0;}
.customer-device-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;}
.customer-device-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;list-style:none;margin:20px 0;padding:0;}
.customer-device-card{padding:20px;border:1px solid var(--ui-line);border-radius:12px;}
.customer-device-card h3{margin:0 0 16px;font-size:1rem;}
.customer-device-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.875rem;}
.customer-device-card dt{font-weight:700;}
.customer-device-card dd{margin:0;overflow-wrap:anywhere;}
@media (max-width:700px) {
.customer-device-list{grid-template-columns:1fr;}
}
.customer-portal-page.device-security-active .portal-main{display:block;width:min(1200px,calc(100% - 32px));min-height:0;padding:28px 0 50px;}
.customer-portal-page.device-security-active .portal-intro{display:none;}
.customer-portal-page.device-security-active .portal-workspace{width:100%;}

/* B226: customer trip history presentation */
.customer-portal-page.trip-history-active .history-page-header{align-items:start;gap:24px}
.customer-portal-page.trip-history-active .history-page-header .customer-view-heading{text-align:left}
.customer-portal-page.trip-history-active .history-policy-message{max-width:620px;line-height:1.5}
.customer-portal-page.trip-history-active .history-page-body{padding-top:24px}
.customer-portal-page.trip-history-active .trip-card-list{gap:18px}
.customer-portal-page.trip-history-active .trip-card{border-radius:16px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.customer-portal-page.trip-history-active .trip-card-header{gap:12px;align-items:flex-start;padding:18px 20px}
.customer-portal-page.trip-history-active .trip-card-header>div{flex-wrap:wrap;min-width:0}
.customer-portal-page.trip-history-active .trip-card-header strong{font-size:1.08rem}
.customer-portal-page.trip-history-active .trip-status{flex:0 0 auto;line-height:1.35;text-align:center}
.customer-portal-page.trip-history-active .trip-date-row{padding:16px 20px 0;font-size:.86rem;line-height:1.5}
.customer-portal-page.trip-history-active .trip-route{padding:16px 20px}
.customer-portal-page.trip-history-active .trip-route-point{grid-template-columns:18px minmax(0,1fr);gap:10px}
.customer-portal-page.trip-history-active .trip-route-point strong{font-size:.9rem;overflow-wrap:anywhere}
.customer-portal-page.trip-history-active .trip-card-meta{margin:0 20px;gap:14px;align-items:flex-start}
.customer-portal-page.trip-history-active .trip-card-meta span{font-size:.7rem;line-height:1.4}
.customer-portal-page.trip-history-active .trip-card-meta strong{font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}
.customer-portal-page.trip-history-active .trip-card-footer{flex-wrap:wrap;align-items:center;padding:16px 20px;gap:12px}
.customer-portal-page.trip-history-active .trip-guidance{flex:1 1 210px;font-size:.78rem;line-height:1.5}
.customer-portal-page.trip-history-active .trip-action{min-height:42px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;padding:10px 14px}
.customer-portal-page.trip-history-active :is(.trip-action,.history-page):focus-visible{outline:3px solid var(--ui-focus,#2872b5);outline-offset:3px}
.customer-portal-page.trip-history-active .customer-pagination{gap:14px}
.customer-portal-page.trip-history-active .customer-pagination span{font-size:.8rem}
@media(max-width:720px){.customer-portal-page.trip-history-active .history-page-header{gap:16px}.customer-portal-page.trip-history-active .history-page-body{padding:18px 14px 30px}.customer-portal-page.trip-history-active .trip-card-list{grid-template-columns:minmax(0,1fr)}.customer-portal-page.trip-history-active .trip-card-footer .trip-action{flex:1 1 150px}.customer-portal-page.trip-history-active .trip-card-meta{gap:8px}}
@media(max-width:420px){.customer-portal-page.trip-history-active .trip-card-header{flex-wrap:wrap}.customer-portal-page.trip-history-active .trip-card-meta{flex-wrap:wrap}.customer-portal-page.trip-history-active .trip-card-meta strong{text-align:left}.customer-portal-page.trip-history-active .customer-pagination{grid-template-columns:auto 1fr auto}}
