/* Presentation only. Scoped away from workshop, billing and owner workflows. */
body.sp-customer,body.ccc-account{
  color-scheme:light;--sp-bg:#f1eee7;--sp-panel:#fffefa;--sp-panel2:#f5f2ec;
  --sp-text:#191b1d;--sp-muted:#565a5d;--sp-line:#d9d6cf;--sp-red:#bb241a;
  --sp-shadow:0 12px 36px rgba(38,30,23,.045);--void:#f1eee7;--panel:#fffefa;
  --panel-2:#f5f2ec;--chrome-1:#191b1d;--chrome-2:#51565a;--dim:#5b6063;
  --line:#d9d6cf;--line-2:#b7b9b8;--white:#191b1d;--red:#bb241a;
  background:#f1eee7;color:#191b1d;line-height:1.6;
}
body.sp-customer.sp-authenticated{background:radial-gradient(ellipse at 100% 0%,#fffefa 0,transparent 52%),#f1eee7}
body.sp-customer:before,.ccc-account .aura{display:none}
.sp-customer .sp-shell,.sp-customer.sp-authenticated .sp-shell{max-width:1280px;padding-inline:clamp(16px,4vw,40px)}
.sp-customer .sp-topbar{position:relative;top:auto;background:transparent;backdrop-filter:none;border-bottom:1px solid #d1cec7;padding-block:18px;gap:16px;flex-wrap:wrap}
.sp-customer .sp-brand{min-width:0}.sp-customer .sp-brand img{width:56px;height:56px;object-fit:contain}
.sp-customer .sp-brand small{font-family:Manrope,sans-serif;text-transform:none;letter-spacing:0;font-size:.8rem}
.sp-customer .sp-top-actions{flex-wrap:wrap;gap:8px;max-width:none;overflow:visible;padding:0}
.sp-customer .sp-icon-button{min-height:44px;border-color:#cbc9c3;color:#34383b;background:#fffefa}
.sp-customer .sp-tabs{position:relative;top:auto!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:20px 0;background:none;backdrop-filter:none;overflow:visible}
.sp-customer .sp-tab{min-height:54px;padding:12px;white-space:normal;background:#fffefa;color:#41464a;border:1px solid #cbc9c3;border-radius:12px;font-size:.9rem;line-height:1.35}
.sp-customer .sp-tab[aria-selected=true]{background:#202325;color:#fff;border-color:#202325;box-shadow:inset 0 -3px #d72c21}
.sp-customer :is(.sp-hero h1,.sp-customer-intro h1){font-size:clamp(2rem,4.1vw,3.5rem);line-height:1.1;letter-spacing:-.045em;max-width:24ch;overflow-wrap:anywhere}
.sp-customer .sp-hero{padding:44px 0 30px;align-items:center;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.sp-customer .sp-hero-mark{min-height:170px;background:#fffefa;box-shadow:none}.sp-customer .sp-hero-mark b{font-size:3rem;letter-spacing:-.06em}
.sp-customer .sp-customer-intro{padding:12px 0 8px;gap:20px}.sp-customer .sp-customer-intro p:not(.sp-kicker){margin-top:12px;max-width:62ch}
.sp-customer :is(.sp-card,.sp-vehicle-showcase,.sp-now-panel,.sp-dashboard-panel,.sp-vehicle-file,.sp-empty-state){background:#fffefa;border:1px solid #d9d6cf;box-shadow:var(--sp-shadow);border-radius:20px}
.sp-customer .sp-now-panel{background:#fffefa;border-top:3px solid #bc261c;gap:16px}
.sp-customer :is(.sp-progress-card,.sp-now-empty,.sp-document,.sp-media-card){background:#f5f2ec;color:#191b1d;border-color:#d9d6cf}
.sp-customer :is(.sp-progress-card>b,.sp-section-title>button,.sp-section-title>a:not(.sp-button)){color:#a81f16}
.sp-customer .sp-progress{background:#ddd9d1}.sp-customer .sp-progress>i{box-shadow:none}
.sp-customer :is(.sp-kicker,.sp-label,.sp-mono){letter-spacing:.06em}
.sp-customer .sp-kicker{font-size:.75rem;margin-bottom:12px}.sp-customer .sp-label{font-size:.75rem}
.sp-customer :is(.sp-section-title h2,.sp-now-panel h2,.sp-dashboard-panel h2){font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.25}
.sp-customer .sp-vehicle-showcase__body h2,.sp-customer .sp-file-head h2{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.12;margin-top:12px}
.sp-customer .sp-vehicle-cover{color:#fff}.sp-customer .sp-vehicle-cover--large{min-height:220px;aspect-ratio:16/8}
.sp-customer .sp-vehicle-cover--placeholder{background:linear-gradient(125deg,#383b3d,#141617 70%)}
.sp-customer .sp-vehicle-cover--placeholder>small{color:#d7d8d5}.sp-customer .sp-vehicle-cover--placeholder>span{font-size:4.5rem}
.sp-customer .sp-vehicle-cover img{object-fit:contain;background:#181a1c}
.sp-customer .sp-quick-actions>a,.sp-customer .sp-quick-actions>button{background:#fffefa;color:#191b1d;border:1px solid #bcbdb8;min-height:94px;border-radius:14px}
.sp-customer .sp-quick-actions>a:hover,.sp-customer .sp-quick-actions>button:hover{background:#f9f4ed;border-color:#a9231a}
.sp-customer .sp-button{min-height:46px;border-radius:11px;border-color:#babcb8;background:#fffefa;color:#272c30;white-space:normal;text-align:center}
.sp-customer .sp-button--primary{background:#ba251b;border-color:#ba251b;color:#fff;box-shadow:none}
.sp-customer .sp-button--quiet{background:transparent}.sp-customer .sp-status{background:#f6f1e8;color:#393b3c;max-width:100%;white-space:normal}
.sp-customer .sp-status:before{box-shadow:none;flex-shrink:0}.sp-customer .sp-inline-stats>span{background:#ece9e2}
.sp-customer .sp-alert{background:#202325;color:#fff}.sp-customer .sp-modal-panel{background:#fffefa}
.sp-customer a.sp-media-loading:after{background:#ece9e2;color:#404649}.sp-customer a.sp-media-unavailable:after{background:#f4eee9;color:#333}
.sp-customer :is(h1,h2,h3,strong,small,.sp-document,.sp-item,.sp-booking-card){overflow-wrap:anywhere}
.sp-customer :is(.sp-dashboard,.sp-dashboard-focus,.sp-dashboard-columns,.sp-quick-actions,.sp-grid)>*{min-width:0}
.sp-customer .sp-document{flex-wrap:wrap;gap:12px}.sp-customer .sp-document>span{min-width:0;flex:1 1 200px}.sp-customer .sp-document>b{font-size:.8rem;color:#a82118}
.sp-customer :is(button,a,input,select):focus-visible,.ccc-account :is(button,a,input,select,summary):focus-visible{outline:3px solid #a5231b;outline-offset:4px}
.sp-customer .sp-field label{font-family:Manrope,sans-serif;text-transform:none;letter-spacing:0;font-size:.875rem}
.sp-customer .sp-footer{border-top:1px solid #d9d6cf;padding-top:22px}
/* Account access and benefits retain all existing IDs, events and privacy gates. */
.ccc-account header.bar,.ccc-account .wrap{max-width:860px}
.ccc-account header.bar{gap:14px;padding-block:22px;flex-wrap:wrap}.ccc-account .brand img{height:52px}
.ccc-account .brand span{letter-spacing:.04em;font-family:Manrope,sans-serif;text-transform:none;font-size:.75rem}
.ccc-account .back{background:#fffefa;color:#303538;min-height:44px;display:flex;align-items:center;font-family:Manrope,sans-serif;text-transform:none;letter-spacing:0;font-size:.875rem;font-weight:750}
.ccc-account .portal-intro{padding:26px 0;background:none;border:0;box-shadow:none}.ccc-account .portal-intro:after{display:none}.ccc-account .portal-intro h1{color:#191b1d;max-width:24ch;font-size:clamp(1.9rem,5.5vw,3rem);line-height:1.14;letter-spacing:-.04em}
.ccc-account .portal-benefit strong{color:#24292c}.ccc-account .portal-benefit span,.ccc-account .portal-kicker{color:#a62118}
.ccc-account .portal-intro p{color:#51565a;max-width:62ch}.ccc-account .portal-benefits{gap:8px}.ccc-account .portal-benefit{background:#fffefa;border:1px solid #d9d6cf}
.ccc-account .panel{padding:clamp(20px,4vw,32px);box-shadow:0 12px 36px #26201708;border-color:#d9d6cf;border-radius:20px}
.ccc-account .btn{border-radius:11px;min-height:48px}.ccc-account .btn-p{background:#ba251b;color:#fff;box-shadow:none}.ccc-account .btn-g{color:#272c30;background:#fffefa;border:1px solid #bcbdb8}
.ccc-account .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:6px}.ccc-account .tab{white-space:normal;font-size:.85rem;line-height:1.3;padding:12px 8px;min-height:48px;border-radius:10px;flex:initial}
.ccc-account .tab.on{background:#202325;color:#fff;box-shadow:inset 0 -3px #d72c21}.ccc-account .account-head{gap:12px;flex-wrap:wrap}.ccc-account .account-head a{min-height:44px;display:flex;align-items:center}
.ccc-account :is(.glist .v,.who,.account-list,.referral-link){min-width:0;overflow-wrap:anywhere}.ccc-account .security-note{font-size:.8rem;color:#555b5e}
.ccc-account .account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.ccc-account .account-actions a{padding:18px;background:#fffefa;border:1px solid #bcbdb8;border-radius:14px;color:#252a2e;text-decoration:none;font-weight:800}.ccc-account .account-actions a:first-child{background:#202325;color:#fff;border-color:#202325}.ccc-account .account-actions small{display:block;font-size:.8rem;font-weight:500;margin-top:4px}
.ccc-account .account-details{margin-top:18px}.ccc-account .account-details summary{cursor:pointer;font-weight:750;padding:12px 0}.ccc-account .account-details .glist{margin-top:8px!important}
.ccc-account:has(#app:not(.hide)) .portal-benefits{display:none}
.ccc-account:has(#app:not(.hide)) .portal-intro{padding:8px 0 20px}
.ccc-account:has(#app:not(.hide)) .portal-intro>p,.ccc-account:has(#app:not(.hide)) .portal-kicker{display:none}
.ccc-account:has(#app:not(.hide)) .portal-intro h1{font-size:1.5rem;line-height:1.25;margin:0;max-width:none}
@media(max-width:900px){
  .sp-customer .sp-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 0}
  .sp-customer .sp-hero{grid-template-columns:1fr;padding-top:26px}.sp-customer .sp-hero-mark{min-height:0;gap:20px}
  .sp-customer .sp-dashboard-focus{grid-template-columns:1fr}.sp-customer .sp-now-panel{order:-1}
  .sp-customer .sp-customer-intro{flex-direction:column;align-items:stretch}.sp-customer .sp-customer-intro h1{font-size:clamp(1.8rem,5.5vw,2.8rem);max-width:25ch}
  .sp-customer .sp-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-customer .sp-quick-actions>a,.sp-customer .sp-quick-actions>button{padding:16px;gap:8px;min-height:100px}
  .sp-customer .sp-quick-actions span{font-size:.65rem;letter-spacing:.03em}.sp-customer .sp-quick-actions strong{font-size:.875rem}
  .sp-customer .sp-dashboard-columns,.sp-customer .sp-vehicle-file{grid-template-columns:1fr}
  .sp-customer .sp-showcase-actions{width:100%}.sp-customer .sp-showcase-actions .sp-button{flex:1 1 130px;width:auto}
  .sp-customer .sp-vehicle-cover--large{min-height:180px;max-height:290px;aspect-ratio:16/9}
  .sp-customer .sp-modal{padding:10px}.sp-customer .sp-modal-panel{max-height:calc(100dvh - 20px);padding:20px;overscroll-behavior:contain}
}
@media(max-width:520px){
  .sp-customer.sp-authenticated .sp-customer-intro h1{font-size:1.6rem;line-height:1.16}
  .sp-customer.sp-authenticated .sp-customer-intro p:not(.sp-kicker){display:none}
  .sp-customer .sp-brand img{width:44px;height:44px}.sp-customer .sp-brand strong{font-size:1rem}.sp-customer .sp-topbar{gap:12px;padding-block:16px}
  .sp-customer .sp-top-actions{width:100%}.sp-customer .sp-top-actions>*{flex:1;text-align:center;justify-content:center;padding:10px;font-size:.8rem}
  .sp-customer .sp-label-text{display:inline}.sp-customer .sp-dashboard{gap:14px}.sp-customer .sp-card,.sp-customer .sp-dashboard-panel,.sp-customer .sp-now-panel{padding:20px}
  .sp-customer .sp-form-row{grid-template-columns:1fr}.sp-customer .sp-item{flex-wrap:wrap}.sp-customer .sp-item-main{flex-basis:170px}
  .sp-customer .sp-section-title{gap:10px}.sp-customer .sp-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ccc-account header.bar{padding:16px}.ccc-account .brand b{font-size:1rem}.ccc-account .brand img{height:44px}.ccc-account .back{font-size:.8rem;padding:10px}
  .ccc-account .portal-benefits{grid-template-columns:1fr}.ccc-account .portal-benefit{padding:12px 16px}
  .ccc-account .account-actions{grid-template-columns:1fr}.ccc-account .row{flex-wrap:wrap}.ccc-account .row>*{flex-basis:200px}
}
@media(prefers-reduced-motion:reduce){.sp-customer *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body.sp-customer,body.ccc-account{background:#fff}.sp-customer .sp-tabs,.sp-customer .sp-top-actions{display:none}}
