/* Client experience inspired by the reference's hospitality typography and framing. */
.client-arrival{min-height:calc(100dvh - 40px);position:relative;isolation:isolate;display:flex;flex-direction:column;background:#05080d;color:#fff;overflow:hidden}
.client-arrival-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}
.client-arrival:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#03070bd9 0%,#03070bdf 45%,#03070be8 100%);z-index:-1}
.client-arrival-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 5%;border-bottom:1px solid #ffffff1a}
.client-arrival-header .brand-logo{width:130px;height:60px;background:transparent;padding:0}
.client-arrival-signout{display:flex;align-items:center;gap:10px;border:1px solid #ffffff55;background:#05080d55;color:#fff;font:400 14px 'DM Sans',sans-serif;padding:12px 17px;cursor:pointer;border-radius:4px}
.client-arrival-signout:hover{border-color:#007cff;background:#007cff22}
.client-arrival-signout .icon{width:17px;height:17px}
.client-arrival-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:58px 24px 66px;animation:ace-arrival-in .65s ease-out both;min-width:0}
.client-arrival-monogram{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid #007cff;border-radius:50%;color:#8fc5ff;font:500 16px 'DM Sans',sans-serif;letter-spacing:.04em;background:#007cff12;margin-bottom:28px}
.client-arrival-eyebrow{font:500 11px 'DM Sans',sans-serif;letter-spacing:.24em;color:#8fc5ff;margin-bottom:23px}
.client-arrival h1{font:400 clamp(48px,6vw,90px)/1.04 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;color:#fff;margin:0;max-width:min(1060px,100%);overflow-wrap:anywhere}
.client-arrival h1 em{font-weight:400;color:#007cff}
.client-arrival h1:focus{outline:none}
.client-arrival-copy{font:400 16px/1.7 'DM Sans',sans-serif;color:#d9e3f1;margin:26px 0 34px}
.client-arrival-enter{display:flex;align-items:center;justify-content:center;gap:20px;background:#0068d8;color:#fff;border:1px solid #007cff;border-radius:4px;padding:17px 26px;font:500 15px/1.4 'DM Sans',sans-serif;box-shadow:0 4px 0 #004389;transition:background-color .15s,transform .15s,box-shadow .15s;max-width:100%}
.client-arrival-enter:hover{background:#0065d4;transform:translateY(-2px);box-shadow:0 6px 0 #004389}
.client-arrival-enter:active{transform:translateY(2px);box-shadow:0 1px 0 #004389}
.client-arrival-enter .icon{width:18px;height:18px;flex:none}
.client-arrival a:focus-visible,.client-arrival button:focus-visible{outline:2px solid #8fc5ff;outline-offset:6px}
.client-arrival-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 5%;border-top:1px solid #ffffff1a;font:400 10px/1.6 'DM Sans',sans-serif;letter-spacing:.13em;color:#d9e3f1}
@keyframes ace-arrival-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.client-arrival-header{padding:22px}.client-arrival-header .brand-logo{width:105px;height:49px}.client-arrival-signout{padding:10px 13px;font-size:13px}.client-arrival-content{padding:45px 22px 56px}.client-arrival h1{font-size:clamp(43px,11vw,64px)}.client-arrival-copy{font-size:15px}.client-arrival-enter{padding:16px 22px;font-size:14px}.client-arrival-footer{padding:20px 22px;font-size:9px;letter-spacing:.08em}.client-arrival-photo{object-position:65% center}}
@media(prefers-reduced-motion:reduce){.client-arrival-content{animation:none}.client-arrival-enter{transition:none}.client-arrival-enter:hover,.client-arrival-enter:active{transform:none}}
body[data-portal-role=client]:not([data-portal-role=""]){
 --ink:#121923;--muted:#586577;--line:#dce3ec;--canvas:#f4f6f9;
 --theme-surface:#ffffff;--theme-soft:#edf2f8;--theme-text:#121923;--theme-muted:#586577;--theme-border:#dce3ec;
 --theme-accent-soft:#e8f2ff;--theme-accent-text:#0065d4;--theme-accent-border:#86b9f3;
 --portal-ink:#0068d8;--portal-inverse:#ffffff;--blue:#0065d4;
 --club-accent:#007cff;--club-display:'Cormorant Garamond',Georgia,serif;
}
:root[data-theme=dark] body[data-portal-role=client]:not([data-portal-role=""]){
 --ink:#f4f6fa;--muted:#acb6c5;--line:#2b323d;--canvas:#090c12;
 --theme-surface:#12161e;--theme-soft:#1b2330;--theme-text:#f4f6fa;--theme-muted:#acb6c5;--theme-border:#2b323d;
 --theme-accent-soft:#15283f;--theme-accent-text:#66afff;--theme-accent-border:#315b86;
 --portal-ink:#0068d8;--portal-inverse:#ffffff;--blue:#66afff;
 --club-accent:#007cff;
}
.portal[data-portal=client] .portal-layout{display:block}
.portal[data-portal=client] .client-club-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 20px;align-items:center;padding:24px 4% 28px;background:var(--theme-surface);border-bottom:1px solid var(--theme-border);position:relative;z-index:30}
[data-theme] .portal[data-portal=client] .sidebar{display:contents}
.portal[data-portal=client] .sidebar>.portal-brand{display:block;grid-column:1;grid-row:1;margin:0;width:118px}
.portal[data-portal=client] .sidebar .brand,.portal[data-portal=client] .sidebar .brand-logo{width:118px;height:48px}
.portal[data-portal=client] .sidebar>div:not(.side-bottom){grid-column:1/-1;grid-row:2;min-width:0}
.portal[data-portal=client] .workspace-label,.portal[data-portal=client] .side-bottom{display:none}
.portal[data-portal=client] .side-nav{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:start;gap:12px;padding:0;overflow:visible}
.portal[data-portal=client] .nav-primary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:stretch}
.portal[data-portal=client] .side-nav a,.portal[data-portal=client] .nav-group summary{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 14px;border:1px solid var(--theme-border);border-radius:6px;font:500 15px/1.35 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;white-space:normal;text-align:center;background:var(--theme-soft);color:var(--theme-text);box-shadow:0 4px 0 #1219231a,0 7px 14px #1219230d;transition:transform .16s,box-shadow .16s,background-color .16s,border-color .16s;position:relative}
[data-theme=dark] .portal[data-portal=client] .side-nav a,[data-theme=dark] .portal[data-portal=client] .nav-group summary{box-shadow:0 4px 0 #0005,0 8px 14px #0003}
.portal[data-portal=client] .nav-primary>a .icon{display:none}
[data-theme] .portal[data-portal=client] .side-nav a.active{background:#0068d8;color:#fff;border-color:#007cff;box-shadow:0 4px 0 #004389,0 7px 14px #007cff26;font-weight:600}
[data-theme] .portal[data-portal=client] .side-nav a.active:after{display:none}
[data-theme] .portal[data-portal=client] .side-nav a:hover,.portal[data-portal=client] .nav-group summary:hover{background:var(--theme-accent-soft);color:var(--theme-accent-text);border-color:var(--club-accent);transform:translateY(-2px);box-shadow:0 6px 0 #1219231a,0 9px 16px #12192314}
[data-theme=dark] .portal[data-portal=client] .side-nav a:hover,[data-theme=dark] .portal[data-portal=client] .nav-group summary:hover{box-shadow:0 6px 0 #0005,0 10px 16px #0004}
[data-theme] .portal[data-portal=client] .side-nav a.active:hover{background:#0065d4;color:#fff;box-shadow:0 6px 0 #004389,0 9px 16px #007cff26}
[data-theme] .portal[data-portal=client] .side-nav a:active,.portal[data-portal=client] .nav-group summary:active{transform:translateY(2px);box-shadow:0 1px 0 #0002}
.portal[data-portal=client] .nav-group{margin:0;padding:0;border:0;position:relative}
.portal[data-portal=client] .nav-group summary{padding-right:33px;cursor:pointer;list-style:none}
.portal[data-portal=client] .nav-group summary:before,.portal[data-portal=client] .nav-group summary:after{right:16px;width:8px}
.portal[data-portal=client] .nav-group[data-current=true] summary,.portal[data-portal=client] .nav-group[open] summary{border-color:var(--club-accent);color:var(--theme-accent-text);background:var(--theme-accent-soft)}
.portal[data-portal=client] .nav-group-links{position:absolute;right:0;top:100%;width:280px;margin:13px 0 0;padding:16px;display:grid;grid-template-columns:1fr;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:6px;box-shadow:0 12px 30px #0002;gap:10px}
.portal[data-portal=client] .nav-group-links>a{justify-content:flex-start;text-align:left;padding:11px 13px;gap:10px;font-size:14px;min-height:46px}
.portal[data-portal=client] .portal-top{grid-column:2;grid-row:1;height:auto;min-height:44px;padding:0;position:static;background:transparent;border:0;gap:0}
.portal[data-portal=client] .portal-top .pill.blue,.portal[data-portal=client] .portal-account-name{display:none}
.portal[data-portal=client] .portal-top>.row{gap:18px;flex-wrap:nowrap;min-width:0}
.portal[data-portal=client] .client-greeting{font-size:15px;line-height:1.5;color:var(--theme-muted);max-width:500px;overflow-wrap:anywhere}
.portal[data-portal=client] .client-greeting strong{color:var(--theme-text);font-weight:500}
.portal[data-portal=client] .avatar{width:44px;height:44px;font-size:15px;font-weight:600;border-radius:6px;color:var(--theme-accent-text);border-color:var(--theme-accent-border);background:var(--theme-accent-soft);flex:none}
.portal[data-portal=client] .portal-top .icon-button{width:38px;height:44px;flex:none}
.portal[data-portal=client] .portal-account{flex:none}
.portal[data-portal=client] .portal-main{max-width:1440px;padding:55px 5% 35px;margin:auto}
.portal[data-portal=client][data-page=""] .portal-main{max-width:none;padding-top:0}
.portal[data-portal=client] h1,.portal[data-portal=client] h2,.portal[data-portal=client] h3,.portal[data-portal=client] h4{font-family:var(--club-display);font-weight:400;letter-spacing:-.025em}
.portal[data-portal=client] .eyebrow{color:var(--theme-accent-text);letter-spacing:.21em;font-size:9px}
.portal[data-portal=client] .dashboard-title{margin-bottom:38px;padding-bottom:28px;border-bottom:1px solid var(--theme-border)}
.portal[data-portal=client] .dashboard-title h1{font:400 clamp(37px,4vw,55px)/1.08 var(--club-display);letter-spacing:-.025em;margin:0 0 16px}
.portal[data-portal=client] .dashboard-title p{font-size:12px;line-height:1.8}
.portal[data-portal=client] .portal-welcome{display:block;position:relative;isolation:isolate;min-height:590px;margin:0 -5.556%;border:0;border-radius:0;background:#05080d;color:#fff;overflow:hidden}
.portal[data-portal=client] .portal-welcome-photo{position:absolute;inset:0;min-height:0;z-index:-1;background:#05080d}
.portal[data-portal=client] .portal-welcome-photo img{object-position:center 63%;width:100%;height:100%;object-fit:cover}
.portal[data-portal=client] .portal-welcome-photo:after{background:linear-gradient(90deg,#03070bed 0%,#03070bcc 33%,#03070b55 67%,#03070b22),linear-gradient(0deg,#03070b88,transparent 35%)}
.portal[data-portal=client] .portal-welcome-photo span{left:auto;right:5%;bottom:26px;text-align:right;color:#d9e3f1;font-size:8px;letter-spacing:.24em}
.portal[data-portal=client] .portal-welcome-copy{min-height:590px;padding:80px 8% 105px;justify-content:center;max-width:850px;position:relative}
.portal[data-portal=client] .portal-welcome .eyebrow{color:#66afff;letter-spacing:.25em;margin-bottom:24px;font-size:9px;display:flex;gap:14px;align-items:center}
.portal[data-portal=client] .portal-welcome .eyebrow:before{content:'';width:38px;height:1px;background:#66afff}
.portal[data-portal=client] .portal-welcome h1{color:#ffffff;font:400 clamp(48px,5.4vw,82px)/1.02 var(--club-display);letter-spacing:-.025em;margin:0 0 25px}
.portal[data-portal=client] .portal-welcome h1 em{color:#007cff;font-weight:400}
.portal[data-portal=client] .portal-welcome p{color:#dce3ed;font-size:13px;line-height:1.9;max-width:400px}
.portal[data-portal=client] .portal-welcome-actions{gap:30px;margin-top:31px}
.portal[data-portal=client] .portal-welcome .btn{background:#0068d8;color:#ffffff;border-color:#007cff;padding:16px 23px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.portal[data-portal=client] .portal-welcome .link-button{color:#ffffff;font-size:11px;border-bottom:1px solid #007cff;padding:10px 0;display:flex;align-items:center;gap:12px}
.portal[data-portal=client] .client-service-bar{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1160px;margin:-35px auto 78px;background:var(--theme-surface);border:1px solid var(--theme-border);box-shadow:0 10px 25px #00008}
.portal[data-portal=client] .client-service-bar>a{display:flex;align-items:center;gap:20px;padding:29px 28px;min-width:0;border-right:1px solid var(--theme-border);transition:background-color .2s}
.portal[data-portal=client] .client-service-bar>a:last-child{border:0}
.portal[data-portal=client] .client-service-bar>a:hover{background:var(--theme-soft)}
.portal[data-portal=client] .client-service-number{font:italic 400 27px var(--club-display);color:var(--theme-accent-text)}
.portal[data-portal=client] .client-service-bar small{display:block;font:500 8px 'DM Sans',sans-serif;letter-spacing:.16em;color:var(--theme-accent-text);margin-bottom:8px}
.portal[data-portal=client] .client-service-bar strong{font:400 23px/1.1 var(--club-display);color:var(--theme-text)}
.portal[data-portal=client] .client-service-bar .icon{margin-left:auto;width:17px;min-width:17px;color:var(--theme-accent-text)}
.portal[data-portal=client] .portal-section-head{margin:0 0 30px;padding:0 0 25px;border-color:var(--theme-border)}
.portal[data-portal=client] .portal-section-head>div{display:block}
.portal[data-portal=client] .portal-section-index{display:block;font-size:8px;letter-spacing:.2em;margin-bottom:12px;color:var(--theme-accent-text)}
.portal[data-portal=client] .portal-section-head h2{font:400 43px/1.1 var(--club-display);letter-spacing:-.025em}
.portal[data-portal=client] .panel,.portal[data-portal=client] .rental-card,.portal[data-portal=client] .car-card,.portal[data-portal=client] .rewards-strip,.portal[data-portal=client] .empty{border-radius:0;box-shadow:none;border-color:var(--theme-border)}
.portal[data-portal=client] .panel h3,.portal[data-portal=client] .panel-head h3{font-size:27px}
.portal[data-portal=client] .rental-card{grid-template-columns:minmax(280px,36%) minmax(0,1fr);margin-bottom:30px}
.portal[data-portal=client] .rental-card>img{height:100%;min-height:285px;object-fit:cover}
.portal[data-portal=client] .rental-card-content{padding:34px 40px}
.portal[data-portal=client] .rental-card h3{font-size:36px;margin:18px 0;letter-spacing:-.02em}
.portal[data-portal=client] .rental-card-content .between{gap:20px;flex-wrap:wrap}
.portal[data-portal=client] .rental-card-content .between>.small{font-size:12px;max-width:370px}
.portal[data-portal=client] .rental-meta{margin:19px 0 25px;font-size:12px}
.portal[data-portal=client] .btn{border-radius:0;padding:13px 20px;font-size:11px;letter-spacing:.035em}
.portal[data-portal=client] .btn.secondary{border-color:var(--theme-accent-border)}
.portal[data-portal=client] .link-button{color:var(--theme-accent-text);font-size:11px}
.portal[data-portal=client] .rewards-strip{padding:32px 38px;margin:38px 0;background:var(--theme-soft)}
.portal[data-portal=client] .rewards-strip strong{font:400 31px var(--club-display)}
.portal[data-portal=client] .rewards-strip p{margin-top:8px;font-size:12px}
.portal[data-portal=client] .settings-card{gap:30px}
.portal[data-portal=client] .settings-card .panel{padding:34px 36px}
.portal[data-portal=client] .empty{padding:45px 32px}
.portal[data-portal=client] .empty h3{font-size:32px}
.portal[data-portal=client] .client-browse .page-intro{background:transparent;border:0;border-bottom:1px solid var(--theme-border);padding:0 0 35px;border-radius:0}
.portal[data-portal=client] .client-browse .page-intro h1{font:400 clamp(40px,4vw,57px) var(--club-display);letter-spacing:-.025em}
.portal[data-portal=client] .client-browse .page-intro p{font-size:13px}
.portal[data-portal=client] .car-content h3{font:400 28px var(--club-display)}
.portal[data-portal=client] .car-content{padding:27px}
.portal[data-portal=client] .price{font:400 25px var(--club-display)}
.portal[data-portal=client] .price small{font:400 11px 'DM Sans',sans-serif}
.portal[data-portal=client] .car-photo-wrap{border-radius:0}
.portal[data-portal=client] .car-go{background:transparent;border-color:var(--theme-accent-border);color:var(--theme-accent-text)}
.portal[data-portal=client] .search-strip,.portal[data-portal=client] .booking-box{border-radius:0;background:var(--theme-surface);border-color:var(--theme-border);box-shadow:none}
.portal[data-portal=client] .op-welcome{background:transparent;border:0;border-top:1px solid var(--theme-border);border-radius:0;padding:17px 0;margin-bottom:28px}
.portal[data-portal=client][data-page=""] .op-welcome{margin:44px 0 0}
.portal[data-portal=client] .portal-note{margin-top:25px;font-size:10px;line-height:1.8}
body[data-portal-role=client] dialog:not(.ace-datepicker){border-radius:0}
body[data-portal-role=client] dialog:not(.ace-datepicker) .modal-head h2{font:400 32px var(--club-display)}
body[data-portal-role=client] dialog:not(.ace-datepicker) .btn{border-radius:0}
.portal[data-portal=client] a:focus-visible,.portal[data-portal=client] button:focus-visible{outline:2px solid var(--theme-accent-text);outline-offset:5px}
.portal[data-portal=client] .portal-welcome a:focus-visible{outline-color:#66afff}
@media(max-width:1250px){
 .portal[data-portal=client] .client-service-bar>a{gap:15px;padding:26px 22px}
 .portal[data-portal=client] .client-service-bar strong{font-size:21px}
 .portal[data-portal=client] .rental-card-content{padding:29px}
}
@media(max-width:1050px){
 .portal[data-portal=client] .portal-welcome,.portal[data-portal=client] .portal-welcome-copy{min-height:530px}
 .portal[data-portal=client] .portal-welcome-copy{padding:70px 7% 100px;max-width:690px}
 .portal[data-portal=client] .portal-welcome h1{font-size:64px}
 .portal[data-portal=client] .client-service-bar strong{font-size:20px}
 .portal[data-portal=client] .client-service-bar .icon{display:none}
 .portal[data-portal=client] .rental-card{grid-template-columns:32% minmax(0,1fr)}
}
@media(max-width:720px){
 .portal[data-portal=client] .portal-main{padding:35px 22px}
 .portal[data-portal=client] .portal-welcome{margin:0 -22px;min-height:490px}
 .portal[data-portal=client] .portal-welcome-copy{min-height:490px;padding:62px 30px 95px;max-width:600px}
 .portal[data-portal=client] .portal-welcome h1{font-size:55px}
 .portal[data-portal=client] .portal-welcome-photo img{object-position:63% center}
 .portal[data-portal=client] .portal-welcome-photo:after{background:linear-gradient(90deg,#03070bec,#03070b99 67%,#03070b55)}
 .portal[data-portal=client] .portal-welcome-photo span{right:30px;bottom:52px;left:30px;text-align:left;font-size:7px}
 .portal[data-portal=client] .client-service-bar{grid-template-columns:1fr;margin:-30px 0 48px}
 .portal[data-portal=client] .client-service-bar>a{border-right:0;border-bottom:1px solid var(--theme-border);padding:20px 23px;gap:19px}
 .portal[data-portal=client] .client-service-bar .icon{display:block}
 .portal[data-portal=client] .client-service-bar strong{font-size:23px}
 .portal[data-portal=client] .client-service-bar small{margin-bottom:5px}
 .portal[data-portal=client] .portal-section-head h2{font-size:36px}
 .portal[data-portal=client] .rental-card{grid-template-columns:1fr}
 .portal[data-portal=client] .rental-card>img{height:230px;min-height:0}
 .portal[data-portal=client] .rental-card-content{padding:27px}
 .portal[data-portal=client] .rental-card h3{font-size:32px}
 .portal[data-portal=client] .rewards-strip{padding:27px;gap:22px}
 .portal[data-portal=client] .rewards-strip strong{font-size:29px}
 .portal[data-portal=client] .settings-card .panel{padding:27px}
}
@media(max-width:420px){
 .portal[data-portal=client] .portal-welcome h1{font-size:47px}
 .portal[data-portal=client] .portal-welcome-actions{gap:22px}
 .portal[data-portal=client] .portal-welcome .btn{padding:14px 18px;font-size:9px}
 .portal[data-portal=client] .portal-welcome p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.portal[data-portal=client] .client-service-bar>a{transition:none}}
@media(min-width:1600px){.portal[data-portal=client] .portal-welcome-copy{max-width:960px}}
@media(max-width:1000px){
 .portal[data-portal=client] .side-nav{grid-template-columns:1fr;gap:14px}
 .portal[data-portal=client] .nav-primary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .portal[data-portal=client] .nav-group-links{width:min(440px,100%);grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal[data-portal=client] .nav-group summary{justify-content:flex-start;padding-left:18px}
}
@media(max-width:700px){
 .portal[data-portal=client] .client-club-header{grid-template-columns:minmax(0,1fr);gap:20px;padding:22px 20px 26px}
 .portal[data-portal=client] .portal-top{grid-column:1;grid-row:2;width:100%}
 .portal[data-portal=client] .portal-top>.row{width:100%;gap:12px}
 .portal[data-portal=client] .client-greeting{flex:1;font-size:14px;max-width:none}
 .portal[data-portal=client] .sidebar>div:not(.side-bottom){grid-row:3}
 .portal[data-portal=client] .side-nav a{font-size:14px;min-height:60px;padding:12px 9px}
 .portal[data-portal=client] .nav-group summary{font-size:15px}
 .portal[data-portal=client] .nav-group-links{width:100%}
 .portal[data-portal=client] .nav-group-links>a{font-size:14px;text-align:left}
}
@media(max-width:420px){.portal[data-portal=client] .nav-primary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){
 .portal[data-portal=client] .side-nav a,.portal[data-portal=client] .nav-group summary{transition:none}
 [data-theme] .portal[data-portal=client] .side-nav a:hover,[data-theme] .portal[data-portal=client] .side-nav a:active,.portal[data-portal=client] .nav-group summary:hover,.portal[data-portal=client] .nav-group summary:active{transform:none}
}
