/* SolarQuery vendor onboarding © ThinkStart Private Limited. */
.sq-vendor-page { background:#f5f8f6; --sqv-deep:#213b31; --sqv-mint:#edf6f1; }
.sqv-main { padding:2rem 0 0; }
.sqv-page-intro { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem 2rem; padding-bottom:1.75rem; }
.sqv-page-intro h1 { font-size:clamp(1.875rem,3vw,2.75rem); line-height:1.15; margin:.5rem 0 .75rem; }
.sqv-page-intro>div>p { font-size:1.125rem; color:#526459; }
.sqv-signin { font-size:1rem; display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.sqv-signin a { display:inline-flex; gap:.5rem; align-items:center; color:var(--sq-action-dark); min-height:2.75rem; font-weight:600; }
.sqv-progress { background:#fff; border:1px solid #d4e2d8; border-radius:1rem; padding:1rem 1.25rem; margin-bottom:1.75rem; }
.sqv-progress ol { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); list-style:none; margin:0; padding:0; gap:.5rem; }
.sqv-progress li { min-width:0; }
.sqv-progress button { width:100%; min-width:0; display:flex; flex-direction:column; align-items:center; gap:.5rem; background:none; border:0; padding:.25rem; color:#526459; font-size:1rem; line-height:1.35; text-align:center; border-radius:.5rem; }
.sqv-step-dot { width:2.125rem; height:2.125rem; display:grid; place-items:center; border:1px solid #a8bfb0; border-radius:50%; background:#f5f8f6; color:#415c4c; font-size:1rem; font-weight:600; }
.sqv-progress button:disabled { opacity:1; cursor:default; }
.sqv-progress button[aria-current=step] { font-weight:700; color:#213b31; }
.sqv-progress button[aria-current=step] .sqv-step-dot { color:#102e25; border-color:#04bfa5; background:#04bfa5; box-shadow:0 0 0 4px #e3f7ee; }
.sqv-progress button[data-complete=true] .sqv-step-dot { color:#fff; background:#213b31; border-color:#213b31; }
.sqv-layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.65fr); gap:1.75rem; align-items:start; }
.sqv-aside { grid-column:1; grid-row:1; border:1px solid #d0e1d6; border-radius:1.25rem; overflow:hidden; background:#eaf4ed; }
.sqv-aside figure { margin:0; }
.sqv-aside img { width:100%; aspect-ratio:1.55; object-fit:cover; display:block; }
.sqv-aside-copy { padding:1.75rem; }
.sqv-aside h2 { font-size:1.875rem; line-height:1.2; margin:.75rem 0 1rem; }
.sqv-aside p { font-size:1rem; line-height:1.8; color:#41584b; }
.sqv-aside ul { list-style:none; margin:1.25rem 0; padding:0; }
.sqv-aside li { display:flex; gap:.75rem; font-size:1rem; line-height:1.7; margin:.75rem 0; color:#354f43; }
.sqv-aside li::before { content:'✓'; font-weight:700; color:#067364; }
.sqv-aside-note { border-block:1px solid #c4d9cb; padding:1.25rem 0; }
.sqv-aside-note strong { font-size:1.125rem; }
.sqv-aside-note p { margin-top:.25rem; }
.sqv-aside details { padding-top:1rem; }
.sqv-aside summary { font-size:1rem; font-weight:600; cursor:pointer; padding:.5rem 0; }
.sqv-aside-contact { padding-top:1.25rem; display:flex; flex-direction:column; font-size:1rem; }
.sqv-aside-contact a { min-height:2.75rem; display:flex; align-items:center; color:#067364; text-decoration:underline; }
.sqv-form-card { grid-column:2; grid-row:1; min-width:0; background:#fff; border:1px solid #d6e3da; border-radius:1.25rem; padding:1.75rem 2rem 1.25rem; box-shadow:0 .75rem 2.5rem #183b2909; }
.sqv-form-top { display:flex; gap:1rem; justify-content:space-between; border-bottom:1px solid #e0e9e3; padding-bottom:1rem; margin-bottom:1.5rem; }
.sqv-form-top p { font-size:1rem; color:#526459; }
.sqv-required { color:#843126; }
.sqv-optional { font-size:1rem; font-weight:400; color:#596561; }
.sqv-step-heading { margin-bottom:1.5rem; }
.sqv-step-heading h2 { font-size:clamp(1.5rem,2vw,2rem); line-height:1.25; margin:.5rem 0 .625rem; }
.sqv-step-heading>p { font-size:1rem; line-height:1.75; max-width:43rem; color:#526459; }
.sqv-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1.25rem; }
.sqv-wide { grid-column:1/-1; }
.sq-vendor-page .sq-field { margin:0 0 1.25rem; }
.sq-vendor-page .sq-field>label { font-size:1rem; display:block; font-weight:600; margin-bottom:.5rem; }
.sq-vendor-page input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.sq-vendor-page select,.sq-vendor-page textarea { background:#fcfefd; font-size:1rem; line-height:1.5; border:1px solid #718078; border-radius:.625rem; width:100%; min-height:3rem; padding:.75rem .875rem; color:#242a29; }
.sq-vendor-page input[aria-invalid=true],.sq-vendor-page select[aria-invalid=true],.sq-vendor-page textarea[aria-invalid=true] { border-color:#843126!important; box-shadow:0 0 0 1px #843126; }
.sq-vendor-page input[type=checkbox],.sq-vendor-page input[type=radio] { accent-color:#067364; flex:none; width:1.25rem; height:1.25rem; margin:.25rem 0 0; }
.sqv-help { font-size:1rem; line-height:1.6; color:#596561; margin:.375rem 0 0; }
.sqv-password { position:relative; }
.sqv-password input { padding-right:4.75rem!important; }
.sqv-password button { position:absolute; inset:.125rem .25rem .125rem auto; border:0; background:none; color:#067364; font-size:1rem; font-weight:600; padding:0 .625rem; }
.sqv-password-rules { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem .875rem; padding:0 0 1.25rem; margin:-.5rem 0 0; list-style:none; }
.sqv-password-rules li { display:flex; align-items:center; gap:.5rem; font-size:1rem; color:#596561; }
.sqv-password-rules li[data-met=true] { color:#067364; }
.sqv-verify-box { background:#f2f8f4; border:1px solid #ccded2; border-radius:.75rem; padding:1.25rem; }
.sqv-verify-box .sq-field { margin:0; }
.sqv-phone-row { display:flex; align-items:end; gap:.75rem; }
.sqv-phone-row>.sq-field { flex:1; }
.sqv-phone { display:flex; align-items:stretch; min-width:0; flex:1; }
.sqv-phone>span { display:flex; align-items:center; justify-content:center; flex:0 0 4rem; min-width:4rem; white-space:nowrap; overflow-wrap:normal; border:1px solid #718078; border-right:0; border-radius:.625rem 0 0 .625rem; background:#e6f1e9; padding:0 .75rem; font-size:1rem; font-weight:600; line-height:1.5; }
.sq-vendor-page .sqv-phone input#phone { flex:1 1 0; min-width:0; width:0; border-radius:0 .625rem .625rem 0!important; }
.sqv-phone-row>.sq-button { flex:none; min-height:3.125rem; padding:.75rem 1rem; font-size:1rem; line-height:1.5; white-space:nowrap; }
.sqv-otp { border-top:1px solid #c9dcd0; margin-top:1rem; padding-top:1rem; }
.sqv-otp .sqv-phone-row { margin-top:.75rem; }
.sqv-otp input { letter-spacing:.18em; }
.sqv-verified { color:#067364; display:flex; gap:.5rem; align-items:center; font-weight:600; font-size:1rem; margin-top:1rem; }
.sqv-form-note { font-size:1rem; line-height:1.75; margin:1rem 0; color:#526459; }
.sqv-form-note a { color:#067364; }
.sqv-inline { margin:-.625rem 0 1.25rem; }
.sqv-text-button { background:none; padding:.25rem 0; border:0; font-size:1rem; font-weight:600; color:#067364; text-decoration:underline; text-underline-offset:.2em; }
.sqv-fieldset { min-width:0; border:0; padding:0; margin:0 0 1.5rem; }
.sqv-fieldset legend { font-size:1rem; font-weight:600; margin-bottom:.75rem; padding:0; }
.sqv-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.sqv-choice { display:flex; align-items:start; gap:.75rem; cursor:pointer; border:1px solid #a9beb0; padding:1rem; border-radius:.75rem; background:#fff; }
.sqv-choice:has(input:checked) { border-color:#067364; box-shadow:inset 0 0 0 1px #067364; background:#edf6f1; }
.sqv-choice>span { display:flex; flex-direction:column; gap:.25rem; }
.sqv-choice strong { font-size:1rem; line-height:1.5; }
.sqv-choice>span>span { font-size:1rem; line-height:1.6; color:#526459; }
.sqv-error { color:#843126; font-size:1rem; line-height:1.6; margin-top:.375rem; }
.sqv-error-summary,.sqv-status { border-left:3px solid #843126; border-radius:.5rem; background:#fff2ed; color:#843126; padding:1rem 1.25rem; margin-bottom:1.25rem; font-size:1rem; }
.sqv-error-summary h3 { font-size:1.125rem; margin:0 0 .5rem; }
.sqv-error-summary ul { padding-left:1.25rem; margin:0; }
.sqv-error-summary a { color:inherit; }
.sqv-status[data-kind=success] { color:#213b31; border-color:#067364; background:#edf6f1; }
.sqv-selected-summary { display:flex; gap:1rem; flex-wrap:wrap; justify-content:space-between; align-items:center; margin-bottom:1rem; font-size:1rem; }
.sqv-service-group { border:1px solid #cadbd0; border-radius:.75rem; margin-bottom:.75rem; overflow:hidden; }
.sqv-service-group summary { display:flex; align-items:center; justify-content:space-between; gap:.875rem; padding:1rem; font-size:1rem; font-weight:600; cursor:pointer; background:#f5f9f6; }
.sqv-service-group summary::after { content:'+'; color:#067364; font-size:1.5rem; font-weight:400; }
.sqv-service-group[open] summary::after { content:'−'; }
.sqv-count { font-size:1rem; font-weight:400; color:#526459; margin-left:auto; white-space:nowrap; }
.sqv-service-tools { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; padding:.5rem 1rem 0; }
.sqv-service-tools button { background:none; border:0; padding:.25rem 0; font-size:1rem; color:#067364; text-decoration:underline; text-underline-offset:.2em; }
.sqv-service-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:.5rem 1rem 1rem; gap:.5rem 1rem; }
.sqv-service-check,.sqv-state-check { display:flex; align-items:start; gap:.625rem; padding:.5rem 0; font-size:1rem; line-height:1.65; cursor:pointer; min-height:2.75rem; }
.sqv-upload { border:1px dashed #718078; border-radius:.875rem; padding:1.25rem; margin-bottom:1.25rem; background:#f8fbf9; }
.sqv-upload>label { display:flex; gap:.875rem; align-items:flex-start; margin-bottom:.875rem; }
.sqv-upload>label>.sq-icon { color:#067364; width:1.75rem; height:1.75rem; flex:none; }
.sqv-upload>label>span { display:flex; flex-direction:column; gap:.25rem; }
.sqv-upload strong { font-size:1.125rem; line-height:1.5; }
.sqv-upload>label>span>span { font-size:1rem; color:#526459; line-height:1.6; }
.sq-vendor-page input[type=file] { border-color:#b6cbbd; padding:.5rem; background:#fff; cursor:pointer; }
.sq-vendor-page input[type=file]::file-selector-button { border:0; border-radius:.375rem; background:#e7f3eb; color:#213b31; padding:.625rem .875rem; font:inherit; margin-right:.75rem; cursor:pointer; }
.sqv-file-list>div { display:flex; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid #d1e1d6; padding:.625rem 0 0; margin-top:.625rem; font-size:1rem; }
.sqv-file-list button { font-size:1rem; background:none; border:0; color:#843126; text-decoration:underline; padding:.25rem; flex:none; }
.sqv-file-size { font-size:1rem; display:block; color:#596561; }
.sqv-portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0 1.5rem; }
.sqv-portfolio-item { border:1px solid #cbded2; border-radius:.75rem; overflow:hidden; background:#f8fbf9; }
.sqv-portfolio-item>img { width:100%; aspect-ratio:1.4; object-fit:cover; display:block; }
.sqv-portfolio-item>div { padding:1rem; }
.sqv-portfolio-item strong { font-size:1rem; display:block; margin-bottom:.5rem; }
.sqv-portfolio-item label { display:block; font-size:1rem; margin-bottom:.375rem; }
.sqv-portfolio-item input { background:#fff!important; }
.sqv-portfolio-item button { background:none; border:0; font-size:1rem; color:#843126; text-decoration:underline; padding:.25rem 0; margin-top:.5rem; }
.sqv-subheading { margin:1.5rem 0 1.25rem; }
.sqv-subheading h3 { font-size:1.25rem; margin-bottom:.375rem; }
.sqv-subheading p { font-size:1rem; color:#526459; }
.sqv-notice { border-left:3px solid #067364; background:#edf6f1; border-radius:.5rem; padding:1rem; font-size:1rem; line-height:1.75; margin:1rem 0; color:#344f42; }
.sqv-credential-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 1.25rem; margin-top:1rem; }
.sqv-credential { display:flex; gap:.75rem; align-items:start; padding:.625rem 0; cursor:pointer; }
.sqv-credential strong { font-size:1rem; display:block; }
.sqv-credential span>span { font-size:1rem; color:#596561; display:block; line-height:1.6; margin-top:.25rem; }
.sqv-declaration { display:flex; gap:.75rem; align-items:start; border:1px solid #c6dbce; background:#edf6f1; padding:1.25rem; border-radius:.75rem; font-size:1rem; line-height:1.75; cursor:pointer; }
.sqv-coverage-choices { display:grid; gap:.75rem; }
.sqv-states { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem 1.25rem; border:1px solid #d3e1d7; border-radius:.75rem; padding:1rem; }
.sqv-district-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; align-items:end; gap:.75rem; margin-bottom:1rem; border:1px solid #d2e1d7; padding:1rem; border-radius:.75rem; }
.sqv-district-row .sq-field { margin:0; }
.sqv-district-row button { font-size:1rem; background:none; border:0; color:#843126; padding:.75rem .25rem; text-decoration:underline; min-width:2.75rem; }
.sqv-review-note { display:flex; align-items:flex-start; gap:.75rem; padding:1rem; background:#edf6f1; border:1px solid #d0e1d5; border-radius:.75rem; margin-bottom:1.25rem; }
.sqv-review-note .sq-icon { flex:none; color:#067364; margin-top:.25rem; }
.sqv-review-note p { font-size:1rem; line-height:1.7; }
.sqv-review-card { border:1px solid #d0e1d5; border-radius:.75rem; margin-bottom:1rem; overflow:hidden; }
.sqv-review-card header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.875rem 1.25rem; background:#f3f8f5; }
.sqv-review-card h3 { font-size:1.125rem; }
.sqv-review-card button { border:0; background:none; color:#067364; text-decoration:underline; font-size:1rem; padding:.25rem 0; }
.sqv-review-card dl { padding:1.25rem; margin:0; font-size:1rem; }
.sqv-review-card dl>div { display:grid; grid-template-columns:minmax(0,.6fr) minmax(0,1fr); gap:.75rem; padding:.5rem 0; border-bottom:1px solid #edf2ee; }
.sqv-review-card dl>div:last-child { border:0; }
.sqv-review-card dt { color:#596561; }
.sqv-review-card dd { margin:0; color:#242a29; white-space:pre-line; }
.sqv-submit-info { padding:1.25rem; background:#edf6f1; border-radius:.75rem; margin-top:1.5rem; font-size:1rem; line-height:1.75; }
.sqv-submit-info p { margin-top:.375rem; }
.sqv-terms { font-size:1rem; line-height:1.75; margin:1.25rem 0; }
.sqv-terms a { color:#067364; }
.sqv-step-actions { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid #d6e5da; }
.sqv-step-actions .sq-button { font-size:1rem; padding:.875rem 1.25rem; }
.sqv-step[data-step="1"] .sqv-step-actions { justify-content:flex-end; }
.sqv-back { display:inline-flex; align-items:center; min-height:2.75rem; background:none; border:0; font-size:1rem; padding:.25rem 0; color:#526459; text-decoration:underline; }
.sqv-session-note { font-size:1rem; line-height:1.7; color:#596561; margin-top:1.25rem; }
.sqv-success { padding:2rem .5rem; }
.sqv-success>.sq-icon { width:3rem; height:3rem; padding:.5rem; background:#d9f3e5; color:#067364; border-radius:50%; margin-bottom:1rem; }
.sqv-success h2 { font-size:2rem; margin-bottom:1rem; }
.sqv-success p { font-size:1.125rem; margin-bottom:1.5rem; }
.sqv-after { margin-block:3rem; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); gap:3rem; padding:2rem; background:#eaf4ed; border-radius:1rem; }
.sqv-after h2 { font-size:1.75rem; line-height:1.3; margin-top:.625rem; }
.sqv-after ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.sqv-after strong { display:block; font-size:1.125rem; line-height:1.45; margin-bottom:.5rem; }
.sqv-after p { font-size:1rem; color:#526459; line-height:1.7; }
.sqv-footer { padding:2rem 0; border-top:1px solid #d4e2d9; background:#fff; }
.sqv-footer>.sq-container { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:1.25rem 2rem; }
.sqv-footer .sq-brand { width:10.5rem; }
.sqv-footer nav { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem 1.25rem; }
.sqv-footer a,.sqv-footer button { font-size:1rem; min-height:2.75rem; display:flex; align-items:center; text-decoration:underline; color:#526459; }
.sqv-footer button { background:none; border:0; padding:0; }
.sqv-footer p { flex-basis:100%; font-size:1rem; color:#596561; }
.sq-vendor-page [hidden] { display:none!important; }
/* Compact progress uses native details/summary for touch and keyboard access. */
.sqv-progress-summary { display:none; }
.sqv-progress-summary::-webkit-details-marker { display:none; }
.sqv-progress-summary::marker { content:''; }
.sqv-progress-current { min-width:0; display:flex; flex-direction:column; text-align:left; gap:.125rem; }
.sqv-progress-current>span { font-size:1rem; color:#526459; }
.sqv-progress-current strong { font-size:1.125rem; color:#213b31; line-height:1.4; }
.sqv-progress-toggle { font-size:1rem; color:#067364; font-weight:600; text-decoration:underline; white-space:nowrap; }
.sqv-progress-track { grid-column:1/-1; width:100%; height:.375rem; background:#dce9e0; border-radius:1rem; overflow:hidden; }
.sqv-progress-track>span { display:block; height:100%; width:12.5%; background:#067364; border-radius:inherit; }
/* Touch targets also benefit hybrid laptops and enlarged browser text. */
.sqv-form-card button,.sqv-progress button,.sqv-service-check,.sqv-state-check,.sqv-credential,.sqv-aside summary,.sqv-additional summary { min-height:2.75rem; }
.sqv-form-card button { min-width:2.75rem; }
.sqv-password button { min-width:3.5rem; }
.sqv-service-tools { gap:.5rem 1rem; }
.sqv-service-tools button,.sqv-text-button { padding-block:.625rem; }
.sqv-file-list button,.sqv-portfolio-item button,.sqv-review-card button { padding:.625rem .5rem; }
.sqv-file-list>div>span,.sqv-portfolio-item strong,.sqv-review-card dd { min-width:0; overflow-wrap:anywhere; }
.sqv-file-list>div>span { flex:1 1 0; }
.sqv-form-card select { min-width:0; max-width:100%; text-overflow:ellipsis; }
.sqv-form-card textarea { min-height:7rem; resize:vertical; }
.sq-vendor-page input[type=file] { min-width:0; max-width:100%; overflow:hidden; }
.sq-vendor-page input[type=file]::file-selector-button { min-height:2.75rem; max-width:100%; }
.sqv-step-heading h2,.sqv-error-summary,.sqv-status,.sqv-success,.sqv-form-card input,.sqv-form-card select,.sqv-form-card textarea { scroll-margin-block:7rem 2rem; }
.sqv-review-card header { flex-wrap:wrap; }
.sqv-review-card header button { flex:none; margin-left:auto; }
@media(max-width:70em) {
 .sq-vendor-page .sq-header { position:relative; top:auto; }
 .sq-vendor-page .sq-nav-toggle { min-width:2.75rem; min-height:2.75rem; }
 .sqv-main { padding-top:1.5rem; }
 .sqv-layout { display:flex; flex-direction:column; gap:1.5rem; }
 .sqv-form-card { width:100%; order:0; padding:1.5rem 2rem; }
 .sqv-aside { width:100%; order:1; display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); }
 .sqv-aside figure img { height:100%; aspect-ratio:auto; }
 .sqv-aside-copy { padding:1.5rem; }
 .sqv-aside h2 { font-size:1.625rem; }
 .sqv-progress { padding:.875rem 1rem; margin-bottom:1.25rem; }
 .sqv-progress-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.75rem 1rem; cursor:pointer; min-height:3rem; list-style:none; }
 .sqv-progress ol { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; padding-top:1.25rem; }
 .sqv-progress button { gap:.375rem; padding:.5rem; }
 .sqv-after { grid-template-columns:minmax(0,1fr); gap:1.5rem; padding:1.5rem; margin-block:2rem; }
 .sqv-step-heading h2,.sqv-error-summary,.sqv-status,.sqv-success,.sqv-form-card input,.sqv-form-card select,.sqv-form-card textarea { scroll-margin-block:1.5rem; }
}
@media(max-width:44em) {
 .sqv-service-options,.sqv-credential-grid { grid-template-columns:minmax(0,1fr); }
 .sqv-district-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sqv-district-row button { grid-column:1/-1; justify-self:start; }
 .sqv-aside { display:block; }
 .sqv-aside figure img { aspect-ratio:2; height:auto; }
 .sqv-after ol { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:40em) {
 .sq-vendor-page>.sq-header>.sq-container,.sq-vendor-page .sqv-main>.sq-container,.sq-vendor-page .sqv-footer>.sq-container { width:calc(100% - 1.5rem); }
 .sqv-main { padding-top:1.25rem; }
 .sqv-page-intro { gap:.5rem; padding-bottom:1rem; }
 .sqv-page-intro h1 { font-size:1.875rem; margin:.375rem 0 .625rem; }
 .sqv-page-intro>div>p { font-size:1rem; }
 .sqv-signin { gap:.375rem; }
 .sqv-form-card { padding:1.25rem; border-radius:1rem; }
 .sqv-form-top { gap:.5rem 1rem; flex-wrap:wrap; margin-bottom:1.25rem; }
 .sqv-grid,.sqv-choices,.sqv-portfolio-grid,.sqv-states,.sqv-district-row { grid-template-columns:minmax(0,1fr); }
 .sqv-phone-row { flex-direction:column; align-items:stretch; }
 .sqv-phone-row>.sq-field,.sqv-phone-row>.sqv-phone { width:100%; flex:initial; }
 .sqv-phone-row>.sq-button { width:100%; }
 .sqv-password-rules { grid-template-columns:minmax(0,1fr); gap:.25rem; }
 .sqv-step-actions { display:grid; grid-template-columns:minmax(3.5rem,.3fr) minmax(0,1fr); gap:.75rem; align-items:center; padding-top:1.25rem; margin-top:1.25rem; }
 .sqv-step-actions>.sq-button { min-width:0; width:100%; padding:.875rem .75rem; gap:.5rem; white-space:normal; order:initial; justify-content:center; }
 .sqv-step-actions>.sqv-back { justify-self:start; padding:.625rem 0; }
 .sqv-step[data-step="1"] .sqv-step-actions { grid-template-columns:minmax(0,1fr); }
 .sqv-step-actions>.sq-button>.sq-icon { display:none; }
 .sqv-service-group summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.25rem .75rem; padding:.875rem; }
 .sqv-service-group summary>span:first-child { grid-column:1; }
 .sqv-service-group summary .sqv-count { grid-column:1; margin:0; }
 .sqv-service-group summary::after { grid-column:2; grid-row:1/3; }
 .sqv-service-tools { padding:.5rem .875rem 0; }
 .sqv-service-tools button { text-align:left; }
 .sqv-service-options { padding:.5rem .875rem .875rem; }
 .sqv-file-list>div { flex-wrap:wrap; gap:.25rem .75rem; }
 .sqv-file-list>div>span { flex-basis:100%; }
 .sqv-review-card dl>div { grid-template-columns:minmax(0,1fr); gap:.25rem; }
 .sqv-review-card dl,.sqv-review-card header { padding:1rem; }
 .sqv-verify-box,.sqv-upload,.sqv-declaration { padding:1rem; }
 .sqv-upload>label { gap:.625rem; }
 .sqv-aside-copy { padding:1.25rem; }
 .sqv-footer nav { gap:.5rem 1rem; }
}
@media(max-width:30em) {
 .sqv-progress ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sqv-form-card { padding:1rem; }
 .sqv-verify-box,.sqv-upload { padding:.875rem; }
 .sq-vendor-page input[type=file]::file-selector-button { width:100%; margin:0 0 .375rem; }
 .sqv-phone>span { flex-basis:3.5rem; min-width:3.5rem; padding-inline:.5rem; }
 .sqv-step-actions { grid-template-columns:minmax(3.25rem,.25fr) minmax(0,1fr); gap:.625rem; }
}
@media(hover:hover) {
 .sqv-service-check:hover,.sqv-state-check:hover { background:#edf6f1; }
}
@media(prefers-reduced-motion:reduce) { .sq-vendor-page *, .sq-vendor-page *::before,.sq-vendor-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

.sqv-additional { margin:0 0 1.5rem; border:1px solid #d0e1d5; border-radius:.75rem; padding:.75rem 1rem; }
.sqv-additional summary { font-size:1rem; font-weight:600; cursor:pointer; padding:.5rem 0; }
