/* Shared touch, reading and semantic states. */
#app summary{min-height:48px;padding-block:12px;line-height:1.8;cursor:pointer;box-sizing:border-box}
#app summary:focus-visible{outline:3px solid #006ffd;outline-offset:4px;border-radius:8px}
#app details[open]>summary{margin-bottom:12px}
html{scroll-padding-block:100px 32px}
html:has(body.has-quick-nav){scroll-padding-block-end:140px}
body.has-quick-nav #app :is(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-block-end:140px}
.panel-title-row,.appearance-title{position:relative;padding-inline-end:0}
body.display-light{color-scheme:light}
#app .badge[data-tone=neutral],#app .finance-status[data-tone=neutral]{background:#e8e9f1;color:#494a50;border:1px solid #d4d6dd}
#app .badge[data-tone=positive],#app .finance-status[data-tone=positive]{background:#e8e9f1;color:#006ffd;border:1px solid #c5c6cc}
#app .badge[data-tone=warning],#app .finance-status[data-tone=warning]{background:#e8e9f1;color:#ed3241;border:1px solid #ff616d}
#app .badge[data-tone=negative],#app .finance-status[data-tone=negative]{background:#e8e9f1;color:#ed3241;border:1px solid #c5c6cc}
.panel-view:not(.display-light) #app :is(.badge,.finance-status)[data-tone=neutral]{background:#ffffff08;color:#c5c6cc;border-color:#ffffff26}
.panel-view:not(.display-light) #app :is(.badge,.finance-status)[data-tone=positive]{background:#6fbaff14;color:#b4dbff;border-color:#6fbaff36}
.panel-view:not(.display-light) #app :is(.badge,.finance-status)[data-tone=warning]{background:#ff616d12;color:#ffe2e5;border-color:#ff616d40}
.panel-view:not(.display-light) #app :is(.badge,.finance-status)[data-tone=negative]{background:#ff616d12;color:#ffe2e5;border-color:#ff616d43}
#app .actual-order .order-actions{align-items:stretch}
#app .actual-order .order-actions .danger-text{margin-inline-start:auto}
#app .actual-order .order-actions :is([data-offers],[data-transition]:not(.danger-text)){font-weight:750}
#app .bike-facts>span{background:transparent;border:0;border-radius:0;padding:0}
#app .bike-facts{line-height:1.9}
#app .actual-order>p{max-width:75ch}
#app :is(.invoice-kind,.case-facts dt,.finance-stats span,.bike-facts){font-variant-numeric:tabular-nums}
#app :is(input,textarea){text-align:start}
#app :is(input[type=tel],input[type=password],input[name=phone]){direction:ltr;text-align:left}
#app .form-error-summary{padding:20px 24px;margin-bottom:24px;border:2px solid #ed3241;border-radius:14px;background:#f8f9fe;color:#ed3241;scroll-margin-block:100px 140px}
#app .form-error-summary h3{font-size:20px;margin:0 0 10px;color:#ed3241}
#app .form-error-summary ul{margin:0;padding-inline-start:22px}
#app .form-error-summary a{display:inline-block;min-height:44px;line-height:1.9;font-size:16px;padding-block:6px;color:#ed3241;text-decoration:underline;text-underline-offset:4px}
#app .inline-validation{display:block;margin-top:8px;font-size:15px;line-height:1.9;color:#ed3241}
#app [aria-invalid=true]{border:2px solid #ed3241}
#app .api-error:empty{display:none}
#app .api-error:not(:empty){border-inline-start:3px solid #ed3241;background:#f8f9fe;padding:12px 16px;border-radius:8px;color:#ed3241}
.panel-view:not(.display-light) #app .form-error-summary{background:#1f2024;border-color:#ff616d;color:#e8e9f1}
.panel-view:not(.display-light) #app .form-error-summary :is(h3,a){color:#e8e9f1}
.panel-view:not(.display-light) #app .inline-validation{color:#ffe2e5}
.panel-view:not(.display-light) #app [aria-invalid=true]{border-color:#ff616d}
.panel-view:not(.display-light) #app .api-error:not(:empty){background:#1f2024;color:#e8e9f1;border-color:#ff616d}
.panel-view:not(.display-light) #app summary:focus-visible{outline-color:#b4dbff}
@media(max-width:800px){
 .panel-quick-nav a,.panel-quick-nav a span{font-size:14px!important}
 .panel-title-row,.appearance-title{padding-inline-end:0}
 #app .actual-order .order-actions>*{min-height:48px;min-width:0}
 #app .actual-order .order-actions .danger-text{margin-inline-start:0}
 #app .form-error-summary{padding:18px}
 #app .form-error-summary a{font-size:16px}
}
@media print{.panel-title-row,.appearance-title{padding-inline-end:0}#app :is(.badge,.finance-status)[data-tone]{background:#ffffff!important;color:#006ffd!important;border-color:#d4d6dd!important}}
/* Appearance changes color, while card geometry stays consistent. */
#app a.link{color:#006ffd}
.display-light #app .stat{position:relative;min-height:148px}
.display-light #app .stat>span:not(.metric-icon){padding-inline-end:44px}
.display-light #app .stat .metric-icon{position:absolute;inset-inline-end:20px;top:20px;padding:0;width:34px;height:34px;min-width:34px;display:grid;place-items:center;background:#e8e9f1;border:1px solid #d4d6dd;border-radius:11px}
.display-light #app .stat .metric-icon img{width:20px;min-width:20px;height:20px}
.display-light #app .stat strong{margin-top:18px}
.display-light #app .order-stage i{background:#d4d6dd}.display-light #app .order-stage i.reached{background:#006ffd}
.display-light #app .role-card:has(>.bike-card){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.display-light #app .role-card:has(>.bike-card)>.panel-heading{grid-column:1/-1;margin-bottom:8px;padding-bottom:20px;border-bottom:1px solid #e8e9f1}
.display-light #app .bike-card{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:start;padding:24px;gap:20px 16px;margin:0;background:#ffffff}
.display-light #app .bike-card>img{width:68px;height:68px;padding:14px;background:#e8e9f1;border:1px solid #d4d6dd;border-radius:16px;object-fit:contain}
.display-light #app .bike-card>div{min-width:0}.display-light #app .bike-card b{font-size:18px;line-height:1.8;overflow-wrap:anywhere}
.display-light #app .bike-facts{display:grid;gap:10px;border-top:1px solid #e8e9f1;padding-top:14px;margin-top:14px}
.display-light #app .bike-facts b,.display-light #app .bike-facts span{font-size:15px}
.display-light #app .bike-card>a.link{grid-column:1/-1;min-height:48px;border-top:1px solid #e8e9f1;padding-top:16px;font-size:16px;display:flex;align-items:center}
@media(max-width:1100px){.display-light #app .role-card:has(>.bike-card){grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.display-light #app .bike-card{padding:18px;grid-template-columns:52px minmax(0,1fr);gap:14px}.display-light #app .bike-card>img{width:52px;height:52px;padding:8px}}
#app a.link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;padding-block:8px}
#app :is(a,button,input,select,textarea,.role-shortcuts>a){transition-property:border-color,box-shadow,transform}

#app small{font-size:15px;line-height:1.9}
.display-light #app .progress{gap:10px;margin-bottom:28px}
.display-light #app .progress span{font-size:14px;line-height:1.9;padding-top:12px;color:#71727a;border-color:#c5c6cc;min-width:0}
.display-light #app .progress span.active{color:#006ffd;border-color:#006ffd}
.display-light #app .receipt-symbol{color:#006ffd}
.display-light #app .order-state-timeline .timeline-number{color:#006ffd}
.display-light #app .order-state-timeline time{color:#71727a}
body:not(.panel-view) #app .eyebrow,.display-light #app .eyebrow{color:#006ffd}
/* Keep the service select usable at intermediate widths, not only phone/desktop. */
#app .hero-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:min(620px,100%)}
#app .hero-search select{grid-column:auto;grid-row:auto;width:100%;max-width:none;min-width:0;min-height:48px}
#app .hero-search>span,#app .hero-search>button{grid-column:auto;grid-row:auto}
@media(max-width:650px){#app .hero-search{grid-template-columns:minmax(0,1fr) auto}#app .hero-search select{grid-column:1/-1}#app .hero-search>span{grid-column:1}#app .hero-search>button{grid-column:2}}
/* Group qualification and readiness use existing product tokens and native controls. */
#app .skill-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--ui-space-4);margin-block:var(--ui-space-4)}
#app .skill-scope-grid>details{min-width:0;border:1px solid var(--ui-line);border-radius:var(--ui-radius-card);padding:var(--ui-space-4);background:var(--ui-surface)}
#app .skill-scope-grid summary{font-weight:700;overflow-wrap:anywhere}
#app .skill-family-options,#app .skill-model-options{display:grid;gap:var(--ui-space-2)}
#app .skill-scope-grid .consent,#app .skill-model-options .consent{display:flex;align-items:flex-start;gap:var(--ui-space-2);min-height:var(--ui-touch-min);padding-block:var(--ui-space-2);margin:0;overflow-wrap:anywhere}
#app .skill-scope-grid input[type=checkbox],#app .skill-model-options input[type=checkbox]{flex:0 0 auto;margin-top:6px}
#app .skill-model-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
#app .readiness-item{padding-block:var(--ui-space-3);border-bottom:1px solid var(--ui-line)}
#app .readiness-item p{margin-block:0 var(--ui-space-2)}
#app [data-skill-summary]{padding:var(--ui-space-3) var(--ui-space-4);background:var(--ui-soft);border-radius:var(--ui-radius-control);overflow-wrap:anywhere}

#app .readiness-overview{display:grid;gap:16px}#app .readiness-status{display:flex;align-items:center}#app .readiness-reasons{list-style:none;padding:0;margin:0;display:grid;gap:12px}#app .readiness-reason{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;background:var(--ui-soft);border-radius:12px}#app .readiness-reason>span{min-width:0;overflow-wrap:anywhere}#app .readiness-reason>a{flex:none}#app .readiness-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0}#app .readiness-facts>div{padding:14px;border:1px solid var(--ui-line);border-radius:12px;min-width:0}#app .readiness-facts dt{font-size:13px;color:var(--ui-muted);min-height:48px}#app .readiness-facts dd{font-size:24px;font-weight:700;margin:8px 0 0}#app .readiness-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:16px;border-top:1px solid var(--ui-line)}#app .readiness-compact{display:flex;align-items:center;justify-content:space-between;gap:16px}#app .readiness-compact>div{display:grid;gap:4px}#app .readiness-compact>button{flex:none}@media(max-width:1100px){#app .readiness-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){#app .readiness-facts{grid-template-columns:repeat(2,minmax(0,1fr))}#app .readiness-reason{align-items:stretch;flex-direction:column;gap:12px}#app .readiness-actions>*{flex:1 1 140px}#app .readiness-compact{align-items:stretch;flex-direction:column}#app .readiness-compact>button{align-self:start}}
