.cp-page{--cp-surface:#19253a;--cp-border:#64748b;--cp-text:#f1f5f9;--cp-muted:#cbd5e1;--cp-primary:#4f46e5;--cp-primary-hover:#4338ca;--cp-tint:rgba(129,140,248,.10);--cp-accent:#c4b5fd;--cp-pending:#fcd34d;--cp-success:#6ee7b7;--cp-danger:#fda4af;font-size:16px;line-height:1.6;color:var(--cp-text)}
.cp-page:is([data-theme=light],[data-theme=green_light],[data-theme=light_red_yellow],[data-theme=light_red_blue]){--cp-surface:#fff;--cp-border:#64748b;--cp-text:#172033;--cp-muted:#475569;--cp-tint:rgba(79,70,229,.05);--cp-accent:#5b21b6;--cp-pending:#854d0e;--cp-success:#065f46;--cp-danger:#9f1239}
.cp-shell{width:min(100%,1060px);margin:0 auto;padding:clamp(1rem,3vw,2.5rem);min-width:0}.cp-page-header,.cp-topnav,.cp-section-heading,.cp-request-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.cp-page-header{margin:1rem 0 1.75rem;align-items:flex-start}.cp-page-header>div{min-width:0;flex:1}.cp-page h1,.cp-page h2,.cp-page h3,.cp-page p{overflow-wrap:anywhere}.cp-page h1{font-size:clamp(1.5rem,3vw,2rem);line-height:1.3;font-weight:650;margin:0 0 .6rem}.cp-page h2{font-size:1.3rem;line-height:1.4;margin:0 0 .6rem}.cp-page h3{font-size:1.12rem;margin:0 0 .5rem}.cp-eyebrow{font-size:.85em;font-weight:600;color:var(--cp-accent);margin:0 0 .45rem}.cp-lead,.cp-muted,.cp-field small{color:var(--cp-muted)}.cp-lead{max-width:65ch;margin:0}.cp-icon{width:20px;height:20px;flex:none}
.cp-page .cp-button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;min-height:44px;max-width:100%;padding:.65rem 1rem;border:1px solid transparent;border-radius:6px;font-size:.9375em;line-height:1.4;font-weight:600;white-space:normal;text-decoration:none;text-align:center;box-shadow:none;transition:background-color .15s,border-color .15s,color .15s}.cp-page .cp-button:hover{transform:none;filter:none;box-shadow:none}.cp-page .cp-button:active{opacity:.85}.cp-page .cp-button:focus-visible,.cp-page .form-control:focus-visible{outline:3px solid var(--cp-accent);outline-offset:3px}.cp-page .cp-button-primary{background:var(--cp-primary);color:#fff}.cp-page .cp-button-primary:hover{background:var(--cp-primary-hover)}.cp-page .cp-button-secondary,.cp-page .cp-button-quiet{background:transparent;color:var(--cp-text);border-color:var(--cp-border)}.cp-page .cp-button-secondary:hover,.cp-page .cp-button-quiet:hover{background:var(--cp-tint);border-color:var(--cp-accent)}.cp-page .cp-button-cancel{background:transparent;color:var(--cp-danger);border-color:var(--cp-border)}.cp-page .cp-button-cancel:hover{border-color:var(--cp-danger);background:rgba(244,63,94,.08)}
.cp-empty{border:1px solid var(--cp-border);background:var(--cp-surface);border-radius:12px;padding:clamp(1.25rem,4vw,2.5rem)}.cp-empty-intro{text-align:center;max-width:65ch;margin:0 auto 2rem}.cp-empty-intro p{color:var(--cp-muted);margin:.65rem 0 0}.cp-empty-icon{display:inline-flex;width:64px;height:64px;justify-content:center;align-items:center;background:var(--cp-tint);color:var(--cp-accent);border-radius:12px;margin-bottom:1.25rem}.cp-empty-icon svg{width:36px;height:36px}.cp-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.cp-choice{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.cp-choice+.cp-choice{border-left:1px solid var(--cp-border);padding-left:2rem}.cp-choice-label{font-size:.8em;color:var(--cp-accent);font-weight:600;margin-bottom:.5rem}.cp-choice p{color:var(--cp-muted);margin:0 0 1.25rem;flex:1}.cp-choice .cp-button{width:100%}.cp-empty-note{color:var(--cp-muted);font-size:.875em;border-top:1px solid var(--cp-border);padding-top:1.25rem;margin-top:1.75rem}
.cp-topnav{margin-bottom:1.5rem}.cp-claims-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:1.5rem;align-items:start}.cp-panel,.cp-guide,.cp-request-card,.cp-list-empty{min-width:0;border:1px solid var(--cp-border);border-radius:10px;background:var(--cp-surface);padding:1.5rem}.cp-panel>.cp-muted{font-size:.9375em;margin:0}.cp-request-form{margin-top:1.5rem}.cp-field{margin-bottom:1.25rem}.cp-field label{display:block;font-size:.9375em;font-weight:600;margin-bottom:.5rem}.cp-field label span{font-weight:400;font-size:.9em}.cp-page .cp-field .form-control{min-height:46px;color:var(--cp-text);border-color:var(--cp-border)!important;font-size:1em}.cp-field .form-control::placeholder{color:var(--cp-muted);opacity:.8}.cp-field textarea.form-control{resize:vertical;min-height:128px}.cp-field small{display:block;font-size:.8125em;margin-top:.45rem;line-height:1.6}.cp-guide{background:var(--cp-tint)}.cp-guide h2{font-size:1.1rem}.cp-guide ol{padding-left:1.35rem;margin:1.25rem 0}.cp-guide li{padding-left:.25rem;margin:0 0 1rem}.cp-guide li::marker{color:var(--cp-accent);font-weight:700}.cp-guide li p{color:var(--cp-muted);font-size:.875em;margin:.25rem 0 0}.cp-guide-note{border-top:1px solid var(--cp-border);padding-top:1rem;color:var(--cp-muted);font-size:.875em}.cp-guide .cp-button{width:100%;margin-top:1rem}.cp-form-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.cp-requests{margin-top:2rem}.cp-section-heading{margin-bottom:1rem}.cp-section-heading h2{margin:0}.cp-section-heading>span{font-size:.875em}.cp-request-card{margin-bottom:1rem}.cp-request-heading{align-items:flex-start}.cp-request-heading h3{margin:0 0 .25rem}.cp-request-heading p{font-size:.8125em;margin:0}.cp-status{display:inline-flex;align-items:center;min-height:30px;border:1px solid currentColor;padding:.15rem .65rem;border-radius:5px;font-size:.8125em;font-weight:600;flex:none}.cp-status-pending{color:var(--cp-pending);background:rgba(245,158,11,.08)}.cp-status-processed{color:var(--cp-success);background:rgba(16,185,129,.08)}.cp-status-rejected{color:var(--cp-danger);background:rgba(244,63,94,.08)}.cp-status-cancelled{color:var(--cp-muted)}.cp-request-note{white-space:pre-line;margin:1rem 0 0;overflow-wrap:anywhere}.cp-cancel-form{margin-top:1rem}.cp-list-empty p{margin:0}.cp-alert{border:1px solid;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.cp-alert p{margin:0}.cp-alert-error{border-color:var(--cp-danger);color:var(--cp-text);background:rgba(244,63,94,.08)}.cp-alert-success{border-color:var(--cp-success);color:var(--cp-text);background:rgba(16,185,129,.08)}
@media(max-width:760px){.cp-claims-layout{grid-template-columns:minmax(0,1fr)}.cp-choices{grid-template-columns:minmax(0,1fr);gap:1.5rem}.cp-choice+.cp-choice{border-left:0;padding-left:0;border-top:1px solid var(--cp-border);padding-top:1.5rem}.cp-empty-intro{margin-bottom:1.5rem}.cp-panel,.cp-guide,.cp-request-card{padding:1.1rem}.cp-form-actions .cp-button{width:100%}.cp-page-header{gap:.75rem}.cp-topnav{gap:.5rem}.cp-topnav .cp-button{font-size:.875em;padding:.6rem .75rem}}
@media(prefers-reduced-motion:reduce){.cp-page .cp-button,.cp-page .form-control{transition:none}}

/* Shared customer authentication, vehicle home and add-car views, 02/11/2026. */
.cp-auth-shell{width:min(100%,540px);margin:auto;padding:2rem 1rem}.cp-auth-brand{text-align:center;margin-bottom:1.5rem;color:var(--cp-muted)}.cp-auth-brand .cp-eyebrow{font-size:1rem;margin-bottom:.25rem}.cp-auth-card h1{margin-bottom:.75rem}.cp-auth-card>.cp-muted{margin-bottom:1.5rem}.cp-auth-form>.cp-button{width:100%}.cp-auth-switch{text-align:center;margin:1.5rem 0 0;color:var(--cp-muted);font-size:.9375em}.cp-auth-switch a,.cp-auth-footer a{color:var(--cp-accent);text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}.cp-auth-footer{text-align:center;font-size:.875em;margin-top:1rem}.cp-step{font-size:.85em;color:var(--cp-accent);font-weight:600;margin-bottom:.75rem}.cp-email-recipient{overflow-wrap:anywhere;padding:.75rem;border:1px solid var(--cp-border);border-radius:6px;margin-bottom:1.5rem}.cp-page .cp-otp-input{letter-spacing:.35em;text-align:center;font-size:1.5em}.cp-resend{margin-top:1rem;display:grid;gap:.5rem;text-align:center}.cp-resend .cp-button{width:100%}.cp-page .cp-button:disabled{opacity:.6;cursor:not-allowed}.cp-alert a{margin-top:.75rem}
.cp-dashboard{width:min(100%,1240px)}.cp-dashboard-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1.5rem;align-items:start}.cp-dashboard-info,.cp-dashboard-content{display:grid;gap:1.5rem;min-width:0}.cp-vehicle-toolbar{display:flex;gap:1rem;align-items:end;justify-content:space-between;flex-wrap:wrap;margin-bottom:1.5rem}.cp-vehicle-toolbar>.cp-field{flex:1;min-width:min(100%,260px);margin:0}.cp-vehicle-toolbar>.cp-form-actions{padding-bottom:.1rem}.cp-details{margin-top:1rem}.cp-details>div{padding:.7rem 0;border-top:1px solid var(--cp-border)}.cp-details dt{color:var(--cp-muted);font-size:.8125em}.cp-details dd{margin:.25rem 0 0;overflow-wrap:anywhere;font-size:.9375em}.cp-plate{font-size:1.4rem!important;margin-top:1rem!important}.cp-vehicle-name{color:var(--cp-muted)}.cp-date-time{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:1rem}.cp-date-time input{width:100%;min-width:0}.cp-booking-form{margin-top:1.25rem}.cp-booking-form .cp-form-actions>*{flex:1}.cp-booking-card,.cp-history-card{border-top:1px solid var(--cp-border);padding:1.25rem 0 .25rem;margin-top:1rem;min-width:0}.cp-inline-request{display:grid;gap:.6rem;margin-top:1rem}.cp-inline-request label{font-size:.9em}.cp-inline-request .cp-button{justify-self:start}.cp-history-card .sh-task-table{width:100%;table-layout:fixed;font-size:.875em}.cp-history-card .sh-task-table td,.cp-history-card .sh-task-table th{overflow-wrap:anywhere;color:var(--cp-text)}.cp-history-note{font-size:.875em;margin-top:.75rem}.cp-customer .cp-panel{overflow:hidden}
.cp-add-car .cp-car-header{max-width:1060px;width:100%;margin:0 auto;background:transparent!important;padding:1.5rem 1rem!important;flex-wrap:wrap}.cp-add-car .cp-car-header h2{margin:0}.cp-add-car .auth-container{width:100%;box-sizing:border-box}.cp-add-car .cp-car-card{color:var(--cp-text);background:var(--cp-surface);text-align:left}.cp-add-car .form-label{color:var(--cp-text);font-size:.9375em;font-weight:600}.cp-add-car .form-control{font-size:1em;min-height:46px;color:var(--cp-text);border-color:var(--cp-border)!important}.cp-add-car .cp-car-card h3{margin:1.5rem 0 1rem}.cp-add-car .cp-car-card h3:first-child{margin-top:0}.cp-add-car .cp-ocr-panel{background:var(--cp-tint);border-color:var(--cp-border)}.cp-add-car .ocr-panel p,.cp-add-car .document-sample small{color:var(--cp-muted)!important}.cp-add-car .cp-car-card>p{color:var(--cp-muted)}.cp-add-car .form-group{margin-bottom:0}.cp-add-car #vehicle-form{margin-top:1.5rem}.cp-add-car .vehicle-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cp-add-car .document-sample{border-color:var(--cp-border)}.cp-add-car .cp-button{font-size:.9375em!important}.cp-add-car .ocr-preview{width:auto}
@media(max-width:900px){.cp-dashboard-grid{grid-template-columns:minmax(0,1fr)}.cp-dashboard-info{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cp-auth-shell{padding:1.25rem .8rem}.cp-auth-card{padding:1.25rem}.cp-dashboard-info{grid-template-columns:minmax(0,1fr)}.cp-vehicle-toolbar .cp-form-actions{width:100%}.cp-vehicle-toolbar .cp-button{flex:1}.cp-date-time{grid-template-columns:minmax(0,1fr)}.cp-dashboard-content>.cp-panel{padding:1rem}.cp-booking-form .cp-form-actions{display:grid;grid-template-columns:minmax(0,1fr)}.cp-add-car .vehicle-form-grid{grid-template-columns:minmax(0,1fr)!important}.cp-add-car .auth-container{padding:1rem .75rem!important}.cp-add-car .cp-car-card{padding:1rem!important}.cp-inline-request .cp-button{width:100%}}

/* Native date/time picker contrast follows the customer theme. */
.cp-page input[type=date],.cp-page input[type=time]{color-scheme:dark}
.cp-page:is([data-theme=light],[data-theme=green_light],[data-theme=light_red_yellow],[data-theme=light_red_blue]) input[type=date],.cp-page:is([data-theme=light],[data-theme=green_light],[data-theme=light_red_yellow],[data-theme=light_red_blue]) input[type=time]{color-scheme:light}

/* Customer portal section headings follow the same semantic roles as staff UI. */
.cp-page{--cp-heading-main:#c4b5fd;--cp-heading-info:#93c5fd;--cp-heading-action:#6ee7b7;--cp-heading-history:#fcd34d}
.cp-page:is([data-theme=light],[data-theme=green_light],[data-theme=light_red_yellow],[data-theme=light_red_blue]){--cp-heading-main:#5b21b6;--cp-heading-info:#1d4ed8;--cp-heading-action:#047857;--cp-heading-history:#92400e}
.cp-page .cp-heading-main{color:var(--cp-heading-main)}.cp-page .cp-heading-info{color:var(--cp-heading-info)}.cp-page .cp-heading-action{color:var(--cp-heading-action)}.cp-page .cp-heading-history{color:var(--cp-heading-history)}
