/* Readable, keyboard-accessible implementation and configuration forms. */
.sportiva-onboarding,.sportiva-settings{font-size:16px;line-height:1.55}
.sportiva-onboarding *,.sportiva-settings *{box-sizing:border-box}
.sportiva-onboarding [hidden],.sportiva-settings [hidden]{display:none!important}
.sportiva-onboarding .sportiva-ob-step{display:block;margin-bottom:32px}
.sportiva-onboarding.is-enhanced .sportiva-ob-step{display:none;margin-bottom:0}
.sportiva-onboarding.is-enhanced .sportiva-ob-step.is-active{display:block}
.sportiva-onboarding:not(.is-enhanced) [data-ob-next],.sportiva-onboarding:not(.is-enhanced) [data-ob-back]{display:none}
.sportiva-onboarding .sportiva-ob-shell{grid-template-columns:280px minmax(0,1fr)}
.sportiva-onboarding .sportiva-ob-shell>main{padding:40px clamp(20px,4vw,64px);min-width:0}
.sportiva-onboarding .sportiva-ob-shell>aside{overflow-y:auto;padding:24px 18px}
.sportiva-onboarding .sportiva-ob-brand span,.sportiva-onboarding .sportiva-ob-progress>span,.sportiva-onboarding .sportiva-ob-progress small,.sportiva-onboarding .sportiva-ob-shell aside>footer{font-size:14px;letter-spacing:normal;line-height:1.5;color:#e4eaf3;text-transform:none}
.sportiva-onboarding .sportiva-ob-shell nav button{min-height:48px;padding:10px;color:#e4eaf3}
.sportiva-onboarding .sportiva-ob-shell nav button span,.sportiva-onboarding .sportiva-ob-shell nav button b{font-size:16px}
.sportiva-onboarding .sportiva-ob-shell nav button.is-complete b{box-shadow:inset 0 0 0 2px #b2e0ce}
.sportiva-onboarding .sportiva-ob-step h1{font-size:clamp(26px,3vw,38px);line-height:1.15;margin:12px 0 16px;scroll-margin-top:24px}
.sportiva-onboarding .sportiva-ob-step>p{font-size:17px;line-height:1.6;color:#475569;max-width:70ch}
.sportiva-onboarding .sportiva-kicker{font-size:14px;letter-spacing:.04em}
.sportiva-onboarding .sportiva-form-grid,.sportiva-settings .sportiva-form-grid{gap:20px;margin-top:22px}
.sportiva-onboarding label,.sportiva-settings label{font-size:16px;line-height:1.5;color:#334155}
.sportiva-onboarding input:not([type=checkbox]):not([type=radio]):not([type=color]),.sportiva-onboarding select,.sportiva-settings input:not([type=checkbox]):not([type=radio]):not([type=color]),.sportiva-settings select{min-height:48px;width:100%;font-size:16px;line-height:1.4;padding:11px 13px;border:1px solid #aab8c9;border-radius:10px;background:#fff;color:#172033}
.sportiva-onboarding input[type=file],.sportiva-settings input[type=file]{height:auto;white-space:normal}
.sportiva-onboarding small,.sportiva-settings small{font-size:14px;line-height:1.5;color:#475569}
.sportiva-onboarding .sportiva-form-grid label>small{display:block;font-weight:400;margin-top:4px}
.sportiva-onboarding input[type=checkbox],.sportiva-onboarding input[type=radio],.sportiva-settings input[type=checkbox],.sportiva-settings input[type=radio]{min-width:20px;min-height:20px;accent-color:#1d4ed8}
.sportiva-onboarding :focus-visible,.sportiva-settings :focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.sportiva-onboarding [aria-invalid=true],.sportiva-settings [aria-invalid=true]{border-color:#b91c1c!important;box-shadow:0 0 0 2px #fee2e2}
.sportiva-ob-errors{padding:15px 18px;margin:0 0 24px;border:1px solid #f0b5b5;border-left:5px solid #b91c1c;border-radius:10px;color:#8f1d1d;background:#fff5f5;font-size:16px;line-height:1.5}
.sportiva-onboarding .sportiva-rule b,.sportiva-onboarding .sportiva-module-grid b,.sportiva-settings .sportiva-rule b,.sportiva-settings .sportiva-settings-modules b{font-size:16px;line-height:1.5}
.sportiva-onboarding .sportiva-rule small,.sportiva-onboarding .sportiva-module-grid small,.sportiva-settings .sportiva-rule small,.sportiva-settings .sportiva-settings-modules small{font-size:14px;line-height:1.5;color:#475569}
.sportiva-onboarding .sportiva-rule,.sportiva-onboarding .sportiva-module-grid>label,.sportiva-settings .sportiva-rule,.sportiva-settings .sportiva-settings-modules>label{min-height:82px;padding:14px;gap:12px}
.sportiva-onboarding .sportiva-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sportiva-onboarding .sportiva-choice>span{padding:22px 18px;min-height:275px}
.sportiva-onboarding .sportiva-choice b{font-size:20px;line-height:1.25}
.sportiva-onboarding .sportiva-choice small{font-size:16px;line-height:1.5;color:#475569}
.sportiva-onboarding .sportiva-choice em{font-size:15px;line-height:1.5}
.sportiva-onboarding .sportiva-brand-editor{grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);gap:22px}
.sportiva-onboarding .sportiva-brand-preview{grid-column:1/-1;padding:20px;min-height:0}
.sportiva-onboarding .sportiva-brand-preview>span,.sportiva-onboarding .sportiva-preview-card b,.sportiva-onboarding .sportiva-logo-drop span,.sportiva-onboarding .sportiva-switch b{font-size:15px}
.sportiva-onboarding .sportiva-preview-card strong{font-size:26px;line-height:1.4;overflow-wrap:anywhere}
.sportiva-onboarding .sportiva-preview-card button{font-size:16px;min-height:44px}
.sportiva-onboarding .sportiva-colors label{font-size:16px}
.sportiva-onboarding .sportiva-colors code{font-size:15px}
.sportiva-onboarding .sportiva-review{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sportiva-onboarding .sportiva-review article{padding:20px;min-width:0;overflow-wrap:anywhere}
.sportiva-onboarding .sportiva-review article span{font-size:14px}
.sportiva-onboarding .sportiva-review article strong{font-size:20px;line-height:1.5}
.sportiva-onboarding .sportiva-review article small{font-size:15px;line-height:1.5;color:#475569}
.sportiva-onboarding .sportiva-review .wide{grid-column:1/-1}
.sportiva-onboarding .sportiva-review .wide strong{font-size:16px;font-weight:600}
.sportiva-onboarding .sportiva-demo-choice{padding:18px;align-items:flex-start;gap:12px}
.sportiva-onboarding .sportiva-demo-choice b,.sportiva-onboarding .sportiva-ready-note b{font-size:17px}
.sportiva-onboarding .sportiva-demo-choice small,.sportiva-onboarding .sportiva-ready-note p{font-size:15px;line-height:1.6}
.sportiva-onboarding .sportiva-ob-actions{margin-top:28px;gap:12px;padding:18px 0;position:sticky;bottom:0;background:#fff;border-top:1px solid #dbe3ec;z-index:3}
.sportiva-onboarding .sportiva-ob-actions button{font-size:17px;min-height:50px;padding:12px 20px;line-height:1.4;white-space:normal}
.sportiva-onboarding .sportiva-ob-actions span{font-size:14px;color:#475569}
.sportiva-onboarding .sportiva-ob-actions button:disabled{opacity:.6;cursor:wait}
.sportiva-settings .sportiva-settings-cols>div{gap:16px;padding:22px}
.sportiva-settings .sportiva-settings-form h3,.sportiva-settings .sportiva-maintenance h3,.sportiva-settings .sportiva-units h3{font-size:21px}
.sportiva-settings .sportiva-settings-cols label{display:grid;gap:6px}
.sportiva-settings .sportiva-maintenance p,.sportiva-settings .sportiva-unit-form label,.sportiva-settings .sportiva-unit-list strong,.sportiva-settings .sportiva-reset-scopes label{font-size:16px;line-height:1.5}
.sportiva-settings .sportiva-unit-list small,.sportiva-settings .sportiva-unit-list article>span{font-size:14px;line-height:1.5}
.sportiva-settings button{font-size:16px;min-height:46px;line-height:1.4}
@media(max-width:1100px){.sportiva-onboarding .sportiva-choice-grid{grid-template-columns:1fr}.sportiva-onboarding .sportiva-choice>span{min-height:0}.sportiva-onboarding .sportiva-form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.sportiva-settings .sportiva-settings-modules,.sportiva-settings .sportiva-settings-toggles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sportiva-onboarding .sportiva-ob-shell{display:block}.sportiva-onboarding .sportiva-ob-shell>aside{position:relative;height:auto;padding:18px}.sportiva-onboarding .sportiva-ob-shell>main{padding:24px 18px}.sportiva-onboarding .sportiva-ob-shell nav{display:flex;gap:6px;overflow-x:auto;margin-top:15px;padding-bottom:8px}.sportiva-onboarding .sportiva-ob-shell nav button{flex:0 0 auto;width:auto}.sportiva-onboarding .sportiva-ob-shell nav button span{font-size:14px}.sportiva-onboarding .sportiva-ob-shell nav button b{width:24px;height:24px;font-size:14px}.sportiva-onboarding .sportiva-ob-brand{padding-bottom:10px}.sportiva-onboarding .sportiva-ob-progress{padding-bottom:0}.sportiva-onboarding .sportiva-ob-form{min-height:0}.sportiva-settings .sportiva-settings-cols{grid-template-columns:1fr}}
@media(max-width:600px){.sportiva-onboarding .sportiva-brand-editor,.sportiva-onboarding .sportiva-review,.sportiva-onboarding .sportiva-module-grid,.sportiva-onboarding .sportiva-form-grid.compact,.sportiva-onboarding .sportiva-form-grid,.sportiva-settings .sportiva-settings-modules,.sportiva-settings .sportiva-settings-toggles{grid-template-columns:1fr}.sportiva-onboarding .sportiva-review .wide{grid-column:auto}.sportiva-onboarding .sportiva-ob-actions button{font-size:16px;padding:12px 14px}.sportiva-onboarding .sportiva-ob-actions span{font-size:13px}.sportiva-onboarding .sportiva-ob-shell>main{padding:22px 14px}.sportiva-onboarding .sportiva-ob-shell nav button span{display:none}.sportiva-onboarding .sportiva-ob-shell nav button.is-active span{display:inline}.sportiva-settings .sportiva-settings-cols>div{padding:16px}.sportiva-settings .sportiva-maintenance,.sportiva-settings .sportiva-unit-list article{flex-wrap:wrap}.sportiva-settings .sportiva-unit-form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sportiva-onboarding *{scroll-behavior:auto!important;transition:none!important}}
.sportiva-onboarding .sportiva-logo-drop input[type=file]{display:block;max-width:100%;min-width:0;margin-top:10px;font-size:14px;padding:8px;color:#172033}
.sportiva-onboarding .sportiva-logo-drop label{max-width:100%}
.sportiva-onboarding .sportiva-choice input:focus-visible+span{outline:3px solid #2563eb;outline-offset:4px}
.sportiva-onboarding input[type=checkbox],.sportiva-onboarding input[type=radio],.sportiva-settings input[type=checkbox],.sportiva-settings input[type=radio]{width:20px;height:20px;padding:0;flex-shrink:0}
