/* CLASSBOM approved blue/white brand. Keep semantic error/success colours. */
:root{--brand:#2874e8;--brand-strong:#1d5fc5;--brand-soft:#eaf2ff;--green:var(--brand-strong);--text:#20324a;--muted:#56677f;--border:#dfe8f4;background:#f3f8ff;color:var(--text)}
body{background:#f3f8ff;color:var(--text)}
h1,h2,h3,.stat-number{color:#20324a}
.brand img,.sidebar .brand img{width:60px;height:60px;flex:none;object-fit:contain;border-radius:12px;background:#fff}
.brand em{color:#2874e8}.brand small,.subtext{color:#56677f}
.sidebar{background:#18365b}.sidebar .brand{padding:0;gap:8px}.sidebar .brand em{display:none}.sidebar .brand small{color:#c5d8f0}
.sidebar .academy,.sidebar .support{background:#21456e;border-color:#365a81}
.sidebar .academy .avatar,.sidebar .profile .avatar{background:#305b88;color:#eaf2ff}
.sidebar .nav button{color:#d0e0f3}.sidebar .nav button:hover{background:#264d78}.sidebar .nav button.active{background:#1d5fc5;color:white}
.sidebar .nav-group{color:#afc9e6}.sidebar .profile{border-color:#365a81}
.btn.primary,.segmented button.active{background:#1d5fc5;border-color:#1d5fc5;color:white}
.btn.primary:hover{background:#174da0}
.btn.soft,.btn:hover,.family-tab.active,.family-tab:hover{background:#eaf2ff;color:#1d5fc5;border-color:#c4d9f7}
input:focus,select:focus,textarea:focus{outline:2px solid #2874e8;outline-offset:2px}
input[type=checkbox],input[type=radio],progress{accent-color:#1d5fc5}
.demo-note,.welcome,.bill-preview{background:#eaf2ff;color:#33557f}
.stat-icon{background:#eaf2ff!important;color:#1d5fc5!important}
.bill-preview>b,.bill-preview strong,.family-child strong{color:#1d5fc5}
.family-nav{border-color:#dfe8f4}.family-tab.active{color:#1d5fc5}
.week-legend{color:#1d5fc5}.week-column.is-today,.week-day.is-today{background:#f3f8ff}
.is-today .week-date strong{background:#1d5fc5}
.week-date.selected{background:#eaf2ff;color:#1d5fc5}
.week-event:not(.individual):not(.cancelled):not(.extra){background:#eaf2ff;border-color:#2874e8;color:#1d5fc5}
.payment-choice:has(input:checked){border-color:#1d5fc5;background:#eaf2ff}
.payment-choice input{accent-color:#1d5fc5}
.response-comment{background:#eaf2ff}.auth-side,.kiosk-intro{background:#eaf2ff}
.ops-hero,.auth-story{background:#eaf2ff;border-color:#c4d9f7}
.ops-hero h2,.auth-story h1,.auth-story .brand{color:#203f6b}
.ops-hero p,.ops-hero-summary span,.ops-hero-summary small,.auth-story p,.auth-benefits,.auth-tag,.ops-kicker{color:#56677f}
.ops-hero p strong,.ops-hero-summary b,.hero-link,.auth-switch,.auth-story .brand em{color:#1d5fc5}
.ops-hero .btn{color:#1d5fc5;border-color:#c4d9f7}
.ops-hero-summary{border-color:#c4d9f7}
.plan.featured{border-color:#2874e8;background:#f8fbff}
.plan ul,.plan .price span{color:#56677f}.plan li:before{color:#1d5fc5}
@media(max-width:760px){.brand img,.sidebar .brand img{width:48px;height:48px}.family-header .brand{gap:8px}}
:root .family-pay-button { width: 100%; min-height: 48px; margin: 12px 0 4px; }
