/* Hobidoo · shared LMS interface */
:root{--lms-ink:#233148;--lms-muted:#748299;--lms-accent:#217d75;--lms-navy:#172a36;--lms-line:#e5ebef;--lms-bg:#f5f7fa;--ink:var(--lms-ink);--muted:var(--lms-muted);--green:var(--lms-accent);--line:var(--lms-line);--bg:var(--lms-bg)}
body,body.leads-view,body.coach-portal,body.student-portal,body.parent-portal{background:var(--lms-bg);color:var(--lms-ink);font-family:'DM Sans',system-ui,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}button,.button{border-radius:10px;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s,transform .15s}button:hover,.button:hover{filter:none}button:focus-visible,a:focus-visible{outline:3px solid #58a99a;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3{font-family:'Manrope',system-ui,sans-serif}h1{color:#203347}h2,h3{color:#2a3b51}button.secondary,.secondary{background:#edf3f4;color:#3f686a;border:1px solid #dfe9e9}.ghost{color:#6c7e91}input,select,textarea{font-size:14px;border:1px solid #dce4ec;border-radius:9px;background:#fff;min-height:44px;color:#35465c}textarea{padding:12px;line-height:1.6;width:100%;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #8dc5b7;outline-offset:2px}label{font-size:13px;font-weight:600;color:#63748a}input[type=checkbox],input[type=radio]{min-height:0;width:auto;accent-color:#217d75}input[readonly]{background:#f3f6f9;color:#718097}
body.leads-view aside{width:242px;background:var(--lms-navy);border:0;padding:29px 17px 18px;color:#e9f0f1;box-shadow:8px 0 24px #1d354305;z-index:10}body.leads-view .erp-brand{color:#f6fafb;font-size:25px;gap:10px;padding:0 12px 25px;border-bottom:1px solid #ffffff10;letter-spacing:-1px;flex-shrink:0}.erp-brand img{width:40px;height:40px;object-fit:contain}.brand span{color:#e9b65f!important}body.leads-view .workspace{display:none}body.leads-view aside nav{padding-top:23px;scrollbar-width:thin;scrollbar-color:#354955 transparent}body.leads-view nav button{font-size:13px!important;font-weight:500;padding:12px 14px!important;gap:12px;color:#aabcc7;background:transparent;border:1px solid transparent;margin:3px 0;border-radius:9px;letter-spacing:0;line-height:1.4}body.leads-view nav button:hover{background:#ffffff07;color:#fff}body.leads-view nav button.active{background:#2b544f;color:#eefbf7;border-color:#417068;font-weight:650;box-shadow:0 3px 7px #00000008}nav i{width:20px!important;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}nav i svg{height:19px;width:19px}body.leads-view .nav-section{margin:16px 0 5px}body.leads-view .nav-group{font-size:10px!important;font-weight:700;color:#778e9a!important;letter-spacing:1.4px;text-transform:uppercase;padding:8px 14px!important;margin-bottom:5px}.nav-group .nav-chevron{font-size:13px}.nav-children{padding-left:0!important}.nav-group[aria-expanded=false]{opacity:.85}
body.leads-view .shell{margin-left:242px}body.leads-view .shell>header{height:78px;background:#ffffffed;border-bottom:1px solid var(--lms-line);padding:0 38px;font-size:13px;color:#8290a2;position:sticky;top:0;z-index:8;backdrop-filter:blur(12px)}body.leads-view header>span>b{font-size:13px;color:#718097;font-weight:600}.account-label{line-height:1.6}.account-label>b{font-size:12px;color:#475d70!important}.account-label>small{font-size:11px;color:#92a0af}.avatar{height:35px;width:35px;background:#e9f2ef;color:#4d8072;font-size:13px;border:1px solid #dceae4}body.leads-view header .ghost{font-size:12px;color:#7c8a9c;padding:9px 11px}body.leads-view header #logout{border-left:1px solid #e7ecf0;border-radius:0;padding-left:18px}body.leads-view main{max-width:1600px;padding:32px 38px 55px}body.leads-view .pagehead{margin-bottom:26px;align-items:center}body.leads-view .pagehead h1{font-size:29px!important;line-height:1.35;font-weight:800;letter-spacing:-1px;color:#25374c;margin:0}.page-eyebrow{display:none}#add{background:#217d75;color:white;border:1px solid #217d75;padding:13px 19px;box-shadow:0 3px 8px #217d7515;font-size:13px}
.panel,.parent-panel,.pipe-panel,.coach-panel,.kid-session,.parent-child-card{border-color:var(--lms-line);box-shadow:0 3px 14px #24394e03;border-radius:13px}.panelhead h2,.parent-panel-head h2,.pipe-heading h2{font-size:18px;font-weight:750;letter-spacing:-.45px;color:#304159}.pipe-panel{padding:24px;margin-bottom:21px}.pipe-heading{margin-bottom:22px}.pipe-heading>span{color:#94a0af;font-size:11px}.pipe-stages{gap:13px}.pipe-stage{border:1px solid #e3eaf0;border-top:3px solid #829ab2;border-radius:8px;background:#f9fbfd;padding:18px 18px 14px;gap:12px}.pipe-stage>span:first-child{font-size:13px;min-height:35px;color:#6d7e94}.pipe-stage strong{font-size:28px;font-weight:750;color:#304661}.pipe-stage .pipe-detail{align-self:flex-end;font-size:13px}.pipe-stage.green{border-top-color:#6aa899;background:#f7fbf9}.pipe-stage.green strong{color:#317b67}.pipe-stage.amber{border-top-color:#c9aa6d;background:#fdfbf6}.pipe-stage.amber strong{color:#a27d3f}.pipe-stage.red{border-top-color:#bd8c91;background:#fcf9fa}.pipe-stage.red strong{color:#a26c74}.admin-report-filters{gap:14px;margin-bottom:26px;align-items:flex-end}.admin-report-filters label{font-size:11px;font-weight:650;letter-spacing:.2px;min-width:150px;gap:7px}.admin-report-filters input,.admin-report-filters select{height:44px;border-radius:8px;padding:10px 13px;font-size:13px;border-color:#dce4ed;box-shadow:0 2px 3px #25354c02}.admin-report-filters input{margin-top:0}.admin-report-filters button{height:44px;font-size:12px;border-radius:8px}
table th,.coach-report-panel th,.parent-panel th{background:#f7f9fc;font-size:10px;letter-spacing:.8px;font-weight:650;color:#8290a2;padding:15px 20px;border-bottom:1px solid #e8edf3}table td,.coach-report-panel td,.parent-panel td{font-size:13px;color:#52627a;padding:19px 20px;border-bottom:1px solid #edf1f5}table td b{color:#344962;font-weight:650}table tbody tr:hover{background:#fbfcfe}table tbody tr:last-child td{border-bottom:0}.tablewrap{scrollbar-width:thin;scrollbar-color:#cbd6df transparent}.j-link,.details-button{color:#377e79!important;font-size:12px!important;font-weight:650;background:#edf6f3;border-radius:7px;padding:8px 12px!important;border:0}.pill,.j-tag{font-size:10px!important;font-weight:650;padding:6px 9px;border-radius:6px;letter-spacing:.2px}.toolbar{gap:16px}.toolbar input,.lead-search input{font-size:13px;min-height:44px;background:#fafbfd;border-color:#e2e8ef}.j-toolbar{gap:16px}.j-tabs button,.lead-bucket{font-size:13px!important}.j-stats{gap:14px}.j-stats>div{background:#f6f9fc;border-color:#e5ecf3;border-radius:10px;padding:18px}.j-stats b{font-size:24px;color:#314963}.j-detail-grid,.student-personal-details{gap:21px}.j-detail-grid>div{background:#f8fafc;border:1px solid #edf1f5;border-radius:8px;padding:13px 15px}.j-detail-grid small{font-size:10px;color:#8a98aa}.j-detail-grid b{font-size:13px;line-height:1.6}.j-detail-hero{background:#f2f6f9;border:1px solid #e4ecf1;border-radius:10px;padding:22px}.j-detail-hero p{font-size:13px;color:#8290a4}.j-line{padding:17px 0;border-color:#edf1f5;font-size:13px}.j-line b{font-weight:600}.j-slot{font-size:18px;color:#344d68}.j-timeline{border-color:#dce8e9}.j-event{font-size:13px}
.lead-buckets{background:white;border:1px solid var(--lms-line);border-radius:11px;padding:10px 18px!important;margin-bottom:22px}.lead-bucket{padding:10px 12px!important;border-bottom:0!important;background:none;color:#8592a4;border-radius:7px}.lead-bucket.selected{color:#217d75!important;background:#eef6f3!important}.lead-bucket span{font-size:10px;background:#f0f3f7!important;color:#7b8da2!important}.leads-panel{border-radius:12px}.lead-table-head{background:#f7f9fc;color:#8896a8;font-size:10px!important;padding-top:16px;padding-bottom:16px}.lead-row{border-color:#edf1f5;padding-top:22px;padding-bottom:22px}.lead-child b,.lead-parent b{font-size:14px!important;color:#36485f}.lead-child small,.lead-parent small{font-size:11px!important;color:#8a98aa}.lead-avatar{background:#edf3f7!important;color:#70879c!important;border-radius:11px;width:37px;height:39px}.lead-date{color:#536a80;font-size:12px!important}.lead-date small{font-size:10px!important;color:#94a2b1}.lead-status{font-size:12px!important;border-radius:7px;min-height:36px;color:#9c814d;background:#fbf7ec;border-color:#ede4ca}.lead-country b{font-size:13px;color:#66788d}.lead-received{color:#7f90a4}.lead-status.convert{background:#edf7f2;color:#4b8c74;border-color:#dcece3}.lead-status.rejected{background:#faf0f2;color:#aa727c;border-color:#eedee1}
dialog{border:1px solid #e3e9ef;border-radius:17px;box-shadow:0 32px 100px #152b4930;padding:28px 30px;color:#33465e;max-height:90svh}dialog::backdrop{background:#172b3f75;backdrop-filter:blur(5px)}dialog h2{font-size:22px;color:#2c4059}dialog .panelhead{padding-bottom:18px;border-bottom:1px solid #edf1f5}dialog .formgrid{gap:20px}dialog label{font-size:12px}dialog .modalfoot{border-top:1px solid #edf1f5;padding-top:20px;margin-top:25px}dialog .ghost{font-size:18px;padding:7px 11px;border-radius:8px;background:#f4f7fa;color:#8a97aa}#toast{background:#21493f;color:#f5fcf8;border:1px solid #ffffff15;border-radius:10px;box-shadow:0 8px 30px #17352920;font-size:13px;padding:14px 24px}
.coach-welcome{background:linear-gradient(115deg,#e9f2f0,#f0f5f9);border:1px solid #e0eae8;border-radius:13px;padding:25px 28px;gap:20px}.coach-welcome h2{font-size:24px;color:#2b4b56}.coach-welcome p{font-size:12px;color:#84999f}.coach-metric{border-color:#cfdedc}.coach-metric b{font-size:29px;color:#3e6a6c}.coach-metric span{color:#81999c;font-size:11px}.coach-panel{padding:0;overflow:hidden}.coach-panel>.panelhead{padding:21px 24px;margin:0;border-bottom:1px solid #edf1f5}.coach-tabs button{font-size:12px;color:#8a98aa;padding:9px 15px;background:transparent;border-radius:7px}.coach-tabs button.selected{color:#286c65;background:#eaf3ef}.coach-session{padding:21px 24px;gap:20px;border-color:#edf1f5}.coach-session-time{font-size:16px;color:#354e6b}.coach-session-time small{font-size:10px;color:#8f9fb2}.coach-session-name b{font-size:14px;color:#415570}.coach-session-name small{font-size:11px;color:#92a0b1}.coach-kind{font-size:9px;letter-spacing:.9px;background:#edf4f1;color:#548675;border-radius:5px;padding:5px 7px}.coach-kind.trial{background:#f5f0e6;color:#a88c59}.coach-session button{font-size:11px;border-radius:7px;padding:10px 13px}.coach-calendar{gap:1px;background:#e8edf3;border:1px solid #e8edf3;border-radius:0;padding:0}.coach-weekday{background:#f8fafc;color:#92a0b1;font-size:10px;letter-spacing:1px;padding:14px}.coach-date{border:0!important;border-radius:0!important;background:white;min-height:104px;padding:13px 10px}.coach-date b{font-size:12px;color:#73869e}.coach-date span{font-size:9px;background:#edf5f1;border-radius:4px;color:#6c9283}.coach-date.today{box-shadow:inset 0 3px #579b89;background:#f9fcfb}.coach-date.selected{background:#f0f7f5}.coach-date .trial{background:#f8f3e9;color:#af945f}.coach-day-plan{padding:23px}.coach-report-tabs{gap:15px}.coach-report-tab{min-height:136px;border-radius:12px;padding:23px;border-color:#e3eaf1}.coach-report-tab strong{font-size:32px;color:#34516a}.coach-report-tab>span:last-child{font-size:12px}.coach-report-tab.selected{background:#28544f;border-color:#28544f;box-shadow:0 5px 16px #28544f12}.coach-report-tab .coach-report-icon{background:#f0f5f8;color:#8a9caf}.coach-report-tab.selected .coach-report-icon{background:#ffffff12;color:#d5e9df}.coach-report-panel{border-radius:12px}.coach-report-panel .j-link{background:#edf6f3}.coach-report-total{background:#eef5f1;color:#6b8c7d;border-radius:6px}
.kid-welcome{margin:4px 0 27px}.kid-welcome h2{font-size:29px;color:#2c4258}.kid-welcome>div>span{color:#9ba8b8;font-size:9px;letter-spacing:1.8px}.kid-profile{font-size:12px}.kid-next-grid{gap:23px}.kid-session{padding:27px;border-radius:15px}.kid-featured:first-child{background:linear-gradient(125deg,#244b4b,#326766);border-color:#244b4b;box-shadow:0 10px 25px #244b4b0b}.kid-session-kind{font-size:10px;letter-spacing:1.6px;color:#8c9eaf}.kid-featured:first-child .kid-session-kind{color:#accec4}.kid-session h2{font-size:22px;color:#39516b;font-weight:700}.kid-featured:first-child h2{color:white}.kid-slot>b{font-size:15px}.kid-slot>strong{font-size:35px;font-weight:750;letter-spacing:-1.1px}.kid-slot>span{font-size:11px;color:#8ea0b3}.kid-featured:first-child .kid-slot>span{color:#aecfc5}.kid-session-footer{border-color:#e9eff3}.kid-session-footer b{font-size:13px}.kid-session-footer small{font-size:10px}.kid-join{background:#e9bb68!important;color:#3d453e!important;border:1px solid #e9bb68;font-size:12px;border-radius:8px}.kid-list-heading{font-size:12px}.kid-class-grid{gap:19px}.kid-class-grid .kid-session{border-radius:12px}.kid-class-grid .kid-slot>strong{font-size:29px}.kid-class-grid .kid-slot>b{font-size:13px}.kid-class-grid .kid-session h2{font-size:19px}.kid-empty{font-size:13px;border-radius:12px;border-color:#e5ebf1;color:#94a2b4}.kid-recording{border-radius:12px}.kid-shortcuts{gap:15px}.kid-shortcuts button{border-radius:11px;border-color:#e5ebef}.kid-shortcuts button>span{color:#609282;background:#eef6f2}
.parent-toolbar label{font-size:11px;letter-spacing:.2px}.parent-toolbar select{font-size:13px;min-height:44px;border-radius:8px;border-color:#dce5ed}.parent-toolbar>span{font-size:11px;color:#94a3b4}.parent-child-card{padding:26px;border-radius:13px}.parent-child-name>span:first-child{background:#edf4f1;color:#618f80;border-radius:11px;font-size:20px}.parent-child-name h2{font-size:20px;color:#354e64}.parent-child-name small{font-size:11px}.parent-info-section>b{font-size:15px;color:#3d5970}.parent-info-section>span,.parent-fee-period>span{font-size:10px;color:#8da0b2}.parent-info-section p{font-size:12px}.parent-fee-period{background:#edf5f2;border:1px solid #e2eee7;border-radius:10px;padding:20px}.parent-fee-period>b{font-size:16px;color:#416c5e}.parent-fee-period>div{color:#7f9b8e;font-size:11px}.parent-panel{padding:25px;border-radius:12px}.parent-panel-head{margin-bottom:23px}.parent-feedback p{font-size:14px;color:#71849a}.parent-feedback b{color:#496178}.parent-feedback span{color:#92a2b3;font-size:11px}.parent-holiday>span{background:#fbf6eb;color:#bda36c;border-radius:9px;font-size:23px;display:grid;place-items:center;align-self:flex-start;padding:8px 11px}.parent-holiday b{font-size:14px;color:#496079}.parent-holiday p{font-size:12px}.parent-report-grid article{border-radius:12px}.parent-report-grid b{color:#3b6a61}.parent-certificate{background:linear-gradient(135deg,#fff,#fdfaf4);border-color:#e8dfcc;border-radius:13px}
/* A single entrance shared by all roles, with no extra marketing copy. */
body.login-page{background:#f0f4f6}.login-stage{background:radial-gradient(ellipse at 15% 15%,#e3ede9 0,transparent 52%),radial-gradient(ellipse at 88% 90%,#f2ebdd 0,transparent 48%),#f3f6f7;padding:40px 25px}.login-stage::before,.login-stage::after{border-color:#d5e0df60;box-shadow:none}.login-card{width:790px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch;padding:0;border:1px solid #fff;border-radius:21px;overflow:hidden;box-shadow:0 35px 90px -35px #24434c35,0 4px 15px #24434c03;background:#fff}.login-card::before{display:none}.login-identity{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:65px 30px;background:linear-gradient(145deg,#19323e,#2a4d4b);position:relative;overflow:hidden}.login-identity:before{content:'';position:absolute;width:350px;height:350px;border:1px solid #ffffff0a;border-radius:50%;left:-190px;bottom:-190px;box-shadow:0 0 0 45px #ffffff03,0 0 0 90px #ffffff02}.login-logo{width:190px;height:190px;object-fit:contain;margin:-15px 0 -9px;filter:drop-shadow(0 15px 20px #0000000b)}.login-wordmark{color:#f5faf8;font-size:30px;letter-spacing:-1.3px}.login-wordmark>span{color:#e6ba70}.premium-login{padding:62px 38px 54px;display:flex;flex-direction:column;justify-content:center;min-width:0}.premium-login label{font-size:12px;color:#64758b;margin-bottom:10px;font-weight:600}.login-input{height:51px;border:1px solid #e0e7ed;border-radius:8px;background:#fafcfd;margin-bottom:22px;padding:0 13px}.login-input input{font-size:14px;color:#3d526a}.login-input input::placeholder{font-size:12px;color:#a4b0bf}.login-input svg{color:#95a5b7;stroke:#95a5b7;width:17px;height:17px}.login-input:focus-within{border-color:#7cafa0;box-shadow:0 0 0 3px #7cafa015}.login-submit{border-radius:8px;background:#276b60;border:1px solid #276b60;box-shadow:0 5px 13px #276b6014;height:49px;font-size:13px;margin-top:5px}.login-submit:hover{background:#205b52;box-shadow:0 7px 16px #276b6020}.login-error{font-size:11px;margin:0 0 12px}
@media(max-width:1150px) and (min-width:701px){body.leads-view aside{width:215px;padding-left:13px;padding-right:13px}body.leads-view .shell{margin-left:215px}body.leads-view main{padding:28px}body.leads-view .shell>header{padding:0 28px}.coach-session{gap:12px;padding:19px}.coach-session-name{min-width:130px}}
@media(max-width:700px){body.leads-view aside{position:static;width:100%;padding:17px 17px 8px;border-radius:0}body.leads-view .erp-brand{padding:0 4px 12px;border:0;font-size:23px}body.leads-view aside nav{display:flex;overflow:auto;align-items:flex-start;gap:7px;padding:0 0 8px}body.leads-view nav button{width:auto;white-space:nowrap;flex:0 0 auto;margin:0;font-size:12px!important;padding:10px 12px!important}body.leads-view .nav-section{margin:0;flex-shrink:0}body.leads-view .nav-group{font-size:9px!important;padding:10px 11px!important;margin:0}.nav-children{display:flex;gap:5px}body.leads-view .shell{margin-left:0}body.leads-view .shell>header{height:59px;padding:0 19px;position:static}body.leads-view header .ghost{font-size:10px;padding:7px}.account-label{display:none}body.leads-view main{padding:23px 18px 40px}body.leads-view .pagehead h1{font-size:25px!important}.pagehead{gap:12px}.pipe-panel{padding:19px}.pipe-heading h2{font-size:17px}.pipe-stage{padding:15px 13px}.pipe-stage strong{font-size:25px}.pipe-stage>span:first-child{font-size:12px}.admin-report-filters{gap:12px;display:grid;grid-template-columns:1fr 1fr}.admin-report-filters label{min-width:0;width:100%;font-size:10px}.admin-report-filters button{grid-column:1/-1}.coach-welcome{padding:21px;flex-wrap:wrap;gap:15px}.coach-welcome h2{font-size:21px}.coach-metric b{font-size:24px}.coach-session{display:flex;flex-wrap:wrap;padding:19px;gap:15px}.coach-session-name{flex:1;min-width:130px}.coach-session-time{font-size:14px}.coach-day-plan{padding:15px}.coach-date{min-height:75px;padding:9px 4px}.coach-date span{font-size:8px;padding:3px}.coach-weekday{padding:10px 0;font-size:8px}.coach-report-tabs{gap:10px}.coach-report-tab{min-height:120px;padding:18px}.coach-report-tab strong{font-size:28px}.coach-report-tab>span:last-child{font-size:10px}.coach-report-icon{display:none}.kid-welcome h2{font-size:25px}.kid-welcome{margin-bottom:23px}.kid-session{padding:23px}.kid-next-grid{gap:18px}.kid-slot>strong{font-size:32px}.kid-session h2{font-size:21px}.parent-panel,.parent-child-card{padding:20px}.parent-child-name{gap:11px}.parent-child-name h2{font-size:18px}.parent-fee-period>b{font-size:14px}.parent-two-col{gap:0}.parent-toolbar{gap:12px}.parent-toolbar label{width:100%;min-width:0}dialog{padding:23px 20px;border-radius:13px;width:94vw}.formgrid{gap:17px}table th,table td{padding:15px;font-size:12px}.login-stage{padding:27px 20px}.login-card{width:420px;display:block;border-radius:17px}.login-identity{padding:26px 20px 23px}.login-logo{width:125px;height:125px;margin:-4px 0 -8px}.login-wordmark{font-size:26px}.premium-login{padding:30px 27px 32px}.premium-login label{font-size:12px}.login-input{margin-bottom:20px}.login-card .login-identity{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
body.leads-view #add{background:#217d75;border:1px solid #217d75;color:white;box-shadow:0 3px 8px #217d7515}body.leads-view nav button{font-size:14px!important}body.leads-view .nav-group{font-size:10px!important}
@media(min-width:701px){body.leads-view .lead-table-head,body.leads-view .lead-row{min-width:830px;grid-template-columns:minmax(130px,1.15fr) minmax(130px,1.15fr) minmax(95px,.85fr) minmax(135px,1fr) 112px 65px;gap:18px}body.leads-view .lead-table-head{font-size:10px!important}}
@media(min-width:1000px){.parent-profile-grid>.parent-child-card:only-child{display:grid;grid-template-columns:1.05fr 1fr;column-gap:40px}.parent-profile-grid>.parent-child-card:only-child .parent-child-name{grid-column:1/-1;margin-bottom:22px}.parent-profile-grid>.parent-child-card:only-child .parent-info-section:nth-child(2){grid-column:1;grid-row:2}.parent-profile-grid>.parent-child-card:only-child .parent-info-section:nth-child(3){grid-column:1;grid-row:3}.parent-profile-grid>.parent-child-card:only-child .parent-fee-period{grid-column:2;grid-row:2/4;margin:0;justify-content:center;align-self:stretch;gap:16px}.parent-profile-grid>.parent-child-card:only-child .parent-fee-period>b{font-size:19px}}

/* Login — shared with the public website's warm, playful identity. */
body.login-page{background:#fffaf0;color:#242642;font-family:'Nunito',system-ui,sans-serif}
body.login-page .login-stage{min-height:100svh;display:flex;padding:115px 36px 55px;align-items:center;justify-content:center;background:radial-gradient(ellipse at 5% 22%,#ffedd4 0,transparent 40%),radial-gradient(ellipse at 95% 80%,#fff0e9 0,transparent 40%),#fffaf2}
body.login-page .login-stage:before{width:560px;height:560px;border:1px solid #edcfa44a;left:-300px;top:28%;box-shadow:0 0 0 55px #eecb9a0c,0 0 0 110px #eecb9a0a}
body.login-page .login-stage:after{width:450px;height:450px;right:-280px;bottom:-230px;border-color:#f3d9bb80;box-shadow:0 0 0 50px #f3d9bb18}
body.login-page .login-topbar{position:absolute;top:25px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 72px));display:flex;align-items:center;justify-content:space-between;gap:20px}
body.login-page .login-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#ed642f;font-family:'Fredoka',sans-serif;font-size:29px;font-weight:600;letter-spacing:-.8px}
body.login-page .login-brand img{width:45px;height:45px;object-fit:contain}body.login-page .login-brand>span>span{color:#dd3b8a}body.login-page .login-brand i{color:#2c7cce;font-style:normal}
body.login-page .login-home{display:flex;align-items:center;gap:8px;text-decoration:none;color:#696079;font-weight:800;font-size:13px;padding:12px 0}body.login-page .login-home svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}body.login-page .login-home:hover{color:#e65c2f}
body.login-page .login-card{width:1040px;max-width:100%;min-height:560px;display:grid;grid-template-columns:1.02fr 1fr;padding:0;border-radius:32px;border:1px solid #f2dec7;background:#fff;box-shadow:0 24px 85px -35px #94542f48,0 2px 9px #e5b78712;overflow:hidden}
body.login-page .login-card:before{display:none}
body.login-page .login-identity{min-width:0;margin:0;padding:0;min-height:560px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 36% 28%,#ffeaa5 0,transparent 62%),linear-gradient(150deg,#fff3d4,#ffe7cd 70%,#ffe3d7);isolation:isolate;overflow:hidden}
body.login-page .login-identity:before{display:none}
body.login-page .login-logo{width:365px;height:365px;max-width:85%;object-fit:contain;margin:-5px 0 0;position:relative;z-index:3;filter:drop-shadow(0 24px 16px #b56a221f);transform:rotate(-5deg)}
body.login-page .login-mascot-halo{position:absolute;width:325px;height:325px;border-radius:50%;background:#fff9e3b3;box-shadow:0 0 0 30px #fff8e537,0 0 0 60px #fff9e51a;top:100px}
body.login-page .login-board{position:absolute;width:470px;height:230px;left:50%;bottom:-95px;transform:translateX(-50%) rotate(-18deg) skewX(14deg);border-radius:18px;background:conic-gradient(#dcae7a30 25%,#fff4dd80 0 50%,#dcae7a30 0 75%,#fff4dd80 0) 0 0/88px 88px;border:1px solid #dcba8c45;z-index:1}
body.login-page .login-orbit{position:absolute;border:1px solid #d8a05828;border-radius:50%;width:480px;height:480px;left:-300px;top:-220px;z-index:0}body.login-page .orbit-two{width:230px;height:230px;left:auto;right:-135px;top:190px}
body.login-page .login-spark{position:absolute;z-index:4;font-size:31px;color:#eb8c3b;line-height:1}.spark-one{top:100px;left:60px}.spark-two{right:55px;bottom:100px;transform:rotate(15deg);color:#c17aaa!important;font-size:23px!important}
body.login-page .login-chess{position:absolute;display:grid;place-items:center;width:65px;height:65px;border-radius:19px;font-family:Georgia,serif;font-size:43px;line-height:1;z-index:4;box-shadow:0 10px 25px #a56d2a14;border:1px solid #ffffffbd}.chess-one{right:33px;top:56px;background:#fffbef;color:#4975ab;transform:rotate(12deg)}.chess-two{left:38px;bottom:68px;background:#fff8ee;color:#e37f4f;transform:rotate(-12deg)}
body.login-page .login-dot{position:absolute;border-radius:50%;width:10px;height:10px;background:#78bfc0}.dot-one{left:48px;top:228px}.dot-two{right:94px;bottom:53px;width:6px!important;height:6px!important;background:#e796a7!important}
body.login-page .premium-login{padding:62px 57px 67px;justify-content:center;min-width:0;background:#fff}
body.login-page .login-title{font-family:'Fredoka',sans-serif;color:#262440;font-size:43px;letter-spacing:-1px;font-weight:500;line-height:1.15;margin:0 0 12px}body.login-page .login-title>span{color:#ed6838}
body.login-page .login-title-line{width:38px;height:4px;border-radius:4px;background:#ffb954;margin:0 0 36px}
body.login-page .premium-login label{font-family:'Nunito',sans-serif;color:#4c4359;font-size:14px;font-weight:800;margin:0 0 10px}
body.login-page .login-input{height:57px;padding:0 15px;border:1px solid #e8dcd6;border-radius:13px;background:#fffcf8;margin-bottom:25px;gap:11px}
body.login-page .login-input input{font-family:'Nunito',sans-serif;background:transparent;font-size:15px;color:#30283e;font-weight:600;min-height:0}body.login-page .login-input input::placeholder{color:#a29aab;font-size:14px;font-weight:400}
body.login-page .login-input>svg{width:18px;height:18px;stroke:#b59e94;color:#b59e94}
body.login-page .login-input:focus-within{border-color:#f09a70;box-shadow:0 0 0 4px #f18b4b13;background:#fff}
body.login-page .login-eye{background:transparent;border:0;padding:6px;margin-right:-5px;display:grid;place-items:center;flex-shrink:0;color:#9f919c;box-shadow:none;min-width:30px;min-height:30px}body.login-page .login-eye svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.6}body.login-page .login-eye:hover{color:#e57647;background:#fff2e8}
body.login-page .login-submit{height:56px;margin-top:7px;border-radius:13px;background:linear-gradient(105deg,#ec642e,#f3853a);border:1px solid #ea662b;color:#fff;font-family:'Nunito',sans-serif;font-size:17px;font-weight:800;box-shadow:0 7px 0 #cb4d2112,0 12px 20px #ed72252b;gap:15px}
body.login-page .login-submit:hover{background:linear-gradient(105deg,#e85b28,#f07b31);box-shadow:0 9px 22px #ed72253b;transform:translateY(-1px)}body.login-page .login-submit:disabled{transform:none;opacity:.65}
body.login-page .login-submit svg{width:20px;height:20px;stroke-width:2}body.login-page .login-error{font-size:13px;color:#b9444b;margin:-8px 0 14px}
body.login-page button:focus-visible,body.login-page a:focus-visible{outline:3px solid #ed946c;outline-offset:4px}
@media(max-width:760px){body.login-page .login-stage{padding:100px 22px 30px;align-items:center}body.login-page .login-topbar{top:20px;width:calc(100% - 44px)}body.login-page .login-brand{font-size:25px;gap:4px}body.login-page .login-brand img{width:36px;height:36px}body.login-page .login-home{font-size:12px;gap:4px}body.login-page .login-card{display:block;width:440px;min-height:0;border-radius:26px}body.login-page .login-identity{min-height:0;height:210px}body.login-page .login-logo{width:215px;height:215px;max-width:none;transform:rotate(-5deg);margin:0}body.login-page .login-mascot-halo{width:180px;height:180px;top:15px;box-shadow:0 0 0 18px #fff9e52e}body.login-page .login-chess{width:42px;height:42px;border-radius:12px;font-size:29px}.chess-one{right:28px;top:25px}.chess-two{left:27px;bottom:22px}.spark-one{top:30px;left:41px;font-size:23px!important}.spark-two{right:34px;bottom:25px;font-size:18px!important}body.login-page .login-board{height:130px;bottom:-98px;background-size:56px 56px}body.login-page .dot-one{top:110px;left:22px}body.login-page .dot-two{right:78px;bottom:19px}body.login-page .premium-login{padding:29px 29px 35px}body.login-page .login-title{font-size:34px;margin-bottom:9px}body.login-page .login-title-line{margin-bottom:24px;width:30px;height:3px}body.login-page .login-input{height:54px;margin-bottom:21px}body.login-page .login-submit{height:53px;font-size:16px}}
@media(max-height:700px) and (min-width:761px){body.login-page .login-stage{padding-top:100px;padding-bottom:30px}body.login-page .login-card,body.login-page .login-identity{min-height:480px}body.login-page .premium-login{padding-top:36px;padding-bottom:36px}body.login-page .login-mascot-halo{top:68px}}
@media(prefers-reduced-motion:reduce){body.login-page .login-submit{transition:none;transform:none}}

/* Family portals — website palette; operation and coach portals retain their own theme. */
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page){--lms-bg:#fffaf2;--lms-ink:#2b2b49;--lms-muted:#888196;--lms-line:#efe5dc;--lms-accent:#ee7036;--ink:#2b2b49;--muted:#888196;--line:#efe5dc;--green:#ed7034;--bg:#fffaf2;background:#fffaf2;color:#2b2b49;font-family:'Nunito',system-ui,sans-serif;font-size:15px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) h1,body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) h2,body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) h3{font-family:'Fredoka',sans-serif;font-weight:500;color:#2e2c49;letter-spacing:-.3px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) aside{background:#fffdf9;border-right:1px solid #f0e4d7;box-shadow:5px 0 35px #b4804a05;padding-top:27px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .erp-brand{font-family:'Fredoka',sans-serif;color:#e66c32;font-size:28px;border-bottom-color:#f2e5d6;letter-spacing:-.8px;gap:7px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .erp-brand img{width:45px;height:45px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .erp-brand span{color:#d9408a!important}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) aside nav{padding-top:27px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button{color:#70667b;font-size:14px!important;font-weight:800;padding:12px 14px!important;margin:5px 0;border-radius:14px;gap:12px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button:hover{background:#fff1e3;color:#ba572d}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button.active{background:#fff0df;color:#c75a2b;border:1px solid #f3d9bc;box-shadow:0 3px 9px #df8c3a08}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav i{width:34px!important;height:34px;border-radius:11px;background:#eaf0fe;color:#6685bd;display:grid;place-items:center}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button:nth-child(2) i{background:#fff0df;color:#dc8a36}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button:nth-child(3) i{background:#f8eaf4;color:#b773a5}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button:nth-child(4) i{background:#e5f6ef;color:#4e9d7d}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button:nth-child(5) i{background:#fff4d8;color:#bf9641}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button:nth-child(6) i{background:#eeebfc;color:#8c7cbb}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav i svg{width:19px;height:19px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .shell{background:radial-gradient(ellipse at 98% 0,#fff0dd80,transparent 40%),#fffaf2;min-height:100svh}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .shell>header{background:#fffdf9ed;border-bottom-color:#f0e5d8;color:#8a8093;height:78px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .shell>header>span>b{color:#8f7e72;font-size:14px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .avatar{background:#ffeccf;color:#c67b31;border-color:#f9debb;border-radius:12px;width:38px;height:38px;font-weight:800}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .account-label>b{color:#54435c!important;font-size:13px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .account-label>small{color:#978b9e;font-size:12px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) header .ghost{color:#8b7796;font-weight:700}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) #logout{border-left-color:#f0e5d8}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .pagehead h1{font-family:'Fredoka',sans-serif;font-size:32px!important;letter-spacing:-.6px;font-weight:500;color:#2b2947}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .panel,body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .parent-panel{border:1px solid #eee1d4;border-radius:21px;box-shadow:0 7px 23px #b67b3e06;background:#fff}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) table th{background:#fff5e8;color:#a48a70;font-family:'Nunito',sans-serif;font-size:11px;font-weight:800;letter-spacing:.6px;border-bottom-color:#f1e3d4}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) table td{font-family:'Nunito',sans-serif;font-size:14px;color:#74687e;border-bottom-color:#f5ede6;padding:19px 20px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) table td b{color:#51435d}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) table tbody tr:hover{background:#fffaf3}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) input,body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) select,body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) textarea{font-family:'Nunito',sans-serif;border-color:#e9ded4;border-radius:12px;color:#4c4159;background:#fffdfa;font-size:14px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) input:focus,body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) select:focus,body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) textarea:focus{outline-color:#f0b78b}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) button:focus-visible,body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) a:focus-visible{outline:3px solid #eda975;outline-offset:3px}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .pill,body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .j-tag{font-size:11px!important;border-radius:8px;padding:7px 10px;font-weight:800}
body.student-portal:not(.login-page) .kid-welcome{background:linear-gradient(110deg,#ffedc6,#fff2e0 65%,#ffe2d4);border:1px solid #f2ddbf;border-radius:24px;padding:29px 165px 29px 30px;min-height:158px;position:relative;overflow:hidden;gap:20px;box-shadow:0 7px 25px #b68b5507;margin-bottom:27px}
body.student-portal:not(.login-page) .kid-welcome:after{content:'';position:absolute;right:13px;bottom:-13px;width:164px;height:164px;background:url('/hobidoo-logo.png') center/contain no-repeat;transform:rotate(7deg);pointer-events:none}
body.student-portal:not(.login-page) .kid-welcome>div>span{font-family:'Nunito',sans-serif;font-size:10px;letter-spacing:1.7px;color:#bb8c5d;font-weight:800}
body.student-portal:not(.login-page) .kid-welcome h2{font-size:33px;color:#55394a;margin:10px 0 0;font-family:'Fredoka',sans-serif;font-weight:500}
body.student-portal:not(.login-page) .kid-welcome h2 span{color:#e5a343}
body.student-portal:not(.login-page) .kid-profile{font-size:13px;color:#a27859;position:relative;z-index:1;flex-wrap:wrap;justify-content:flex-end}
body.student-portal:not(.login-page) .kid-next-grid{gap:23px}
body.student-portal:not(.login-page) .kid-session{border-radius:22px;border:1px solid #eadfd5;padding:29px;background:#fff;box-shadow:0 7px 24px #a66c4307;position:relative;overflow:hidden}
body.student-portal:not(.login-page) .kid-featured:first-child{background:linear-gradient(130deg,#fff1dc,#ffe3c5);border-color:#f2d8b9;color:#62422e;box-shadow:0 8px 28px #d8953e0d}
body.student-portal:not(.login-page) .kid-featured:nth-child(2){background:linear-gradient(130deg,#f1edff,#e9f0ff);border-color:#e0ddf5;color:#565078}
body.student-portal:not(.login-page) .kid-session:after{content:'';position:absolute;right:-33px;top:-42px;width:130px;height:130px;border-radius:50%;border:1px solid #bca58c24;pointer-events:none}
body.student-portal:not(.login-page) .kid-session-kind{font-family:'Nunito',sans-serif;color:#b48d63;font-size:11px;font-weight:800;letter-spacing:1.3px}
body.student-portal:not(.login-page) .kid-featured:nth-child(2) .kid-session-kind{color:#9a8cbc}
body.student-portal:not(.login-page) .kid-session h2{font-family:'Fredoka',sans-serif;font-size:25px;color:#54404b;font-weight:500;margin:22px 0;line-height:1.3}
body.student-portal:not(.login-page) .kid-featured:nth-child(2) h2{color:#55517a}
body.student-portal:not(.login-page) .kid-slot>strong{font-family:'Fredoka',sans-serif;font-size:39px;color:#985f35;font-weight:500;letter-spacing:-.7px}
body.student-portal:not(.login-page) .kid-featured:nth-child(2) .kid-slot>strong{color:#7469a6}
body.student-portal:not(.login-page) .kid-slot>b{font-family:'Nunito',sans-serif;font-size:16px;color:#8e7259;font-weight:800}
body.student-portal:not(.login-page) .kid-slot>span{font-size:13px;color:#a18775}
body.student-portal:not(.login-page) .kid-featured:nth-child(2) .kid-slot>span{color:#9186aa}
body.student-portal:not(.login-page) .kid-session-footer{border-color:#dcb8954d;margin-top:25px;padding-top:22px}
body.student-portal:not(.login-page) .kid-session-footer small{color:#ac8a70;font-size:11px;font-weight:700}
body.student-portal:not(.login-page) .kid-session-footer b{color:#6c4d43;font-size:15px;font-weight:800}
body.student-portal:not(.login-page) .kid-join{background:#ed7537!important;color:#fff!important;border:1px solid #e5692b;border-radius:12px;font-family:'Nunito',sans-serif;padding:13px 20px;font-weight:800;box-shadow:0 6px 15px #d9762825}
body.student-portal:not(.login-page) .kid-class-tabs{gap:8px;background:#fff1e2;border:1px solid #f1dfcd;border-radius:13px;padding:5px}
body.student-portal:not(.login-page) .kid-class-tabs button{border-radius:9px;color:#aa8c72;font-size:14px;font-weight:800;padding:11px 17px}
body.student-portal:not(.login-page) .kid-class-tabs button.selected{background:#fff;color:#d16d38;box-shadow:0 3px 8px #b67a420c}
body.student-portal:not(.login-page) .kid-class-tabs span{background:#fff0df;border-radius:6px;padding:3px 6px;color:#cc8a55;font-size:11px}
body.student-portal:not(.login-page) .kid-list-heading{align-items:center;color:#a18d7d;font-size:13px}
body.student-portal:not(.login-page) .kid-recording-link{background:#e9f3ff;color:#477eb0;border-radius:9px;font-weight:800;font-size:13px}
body.student-portal:not(.login-page) .kid-empty{border:1px dashed #e9d5bc;border-radius:21px;background:#fffcf7;color:#ad967f;padding:60px 20px}
body.parent-portal:not(.login-page) .parent-toolbar{background:linear-gradient(110deg,#fff0d9,#fff7e9);border:1px solid #f0dfc7;border-radius:20px;padding:20px 25px;margin-bottom:25px;align-items:center}
body.parent-portal:not(.login-page) .parent-toolbar label{color:#9b7957;font-size:12px;font-weight:800;letter-spacing:.3px;gap:8px}
body.parent-portal:not(.login-page) .parent-toolbar select{background:#fffdf9;border-color:#e9d6bd;border-radius:12px;font-family:'Nunito',sans-serif;font-size:14px;color:#6f5549;min-height:47px}
body.parent-portal:not(.login-page) .parent-toolbar>span{background:#fffdf5;border:1px solid #f0dfc7;border-radius:10px;padding:10px 13px;font-size:12px;color:#ac8a65;font-weight:800}
body.parent-portal:not(.login-page) .parent-profile-grid{gap:23px}
body.parent-portal:not(.login-page) .parent-child-card{padding:27px;border-radius:23px;background:linear-gradient(125deg,#ffffff,#f7fcff);border:1px solid #dce9f3;border-top:4px solid #9bc5e7;box-shadow:0 8px 23px #6098bf08}
body.parent-portal:not(.login-page) .parent-child-card:nth-child(2n){background:linear-gradient(125deg,#fff,#fcf7ff);border-color:#eadff1;border-top-color:#d1b1e4}
body.parent-portal:not(.login-page) .parent-child-name>span:first-child{width:49px;height:49px;background:#e7f1fc;color:#6e9ac1;border-radius:16px;font-family:'Fredoka',sans-serif;font-size:25px;font-weight:500}
body.parent-portal:not(.login-page) .parent-child-card:nth-child(2n) .parent-child-name>span:first-child{background:#f1eafa;color:#a186c5}
body.parent-portal:not(.login-page) .parent-child-name h2{font-family:'Fredoka',sans-serif;font-size:24px;color:#50677f;font-weight:500;margin-bottom:7px}
body.parent-portal:not(.login-page) .parent-child-name small{font-size:12px;color:#98a7b7;font-weight:700}
body.parent-portal:not(.login-page) .parent-info-section{border-color:#e4edf3;gap:9px}
body.parent-portal:not(.login-page) .parent-info-section>span,body.parent-portal:not(.login-page) .parent-fee-period>span{font-size:12px;color:#91a0b2;font-weight:800}
body.parent-portal:not(.login-page) .parent-info-section>b{font-family:'Nunito',sans-serif;color:#5c748d;font-size:16px;font-weight:800}
body.parent-portal:not(.login-page) .parent-info-section p{color:#8c9bac;font-size:14px}
body.parent-portal:not(.login-page) .parent-fee-period{background:linear-gradient(115deg,#edf8f2,#e8f6f2);border:1px solid #d4ece1;border-radius:15px;padding:21px}
body.parent-portal:not(.login-page) .parent-fee-period>span{color:#7da38e}
body.parent-portal:not(.login-page) .parent-fee-period>b{font-family:'Nunito',sans-serif;font-size:17px;font-weight:800;color:#4f8a70}
body.parent-portal:not(.login-page) .parent-fee-period>div{font-size:13px;color:#7a9c8a}
body.parent-portal:not(.login-page) .parent-panel{padding:25px}
body.parent-portal:not(.login-page) .parent-panel h2{font-family:'Fredoka',sans-serif;font-size:22px;color:#62536e;font-weight:500}
body.parent-portal:not(.login-page) .parent-two-col>.parent-panel:first-child{border-top:4px solid #d8b1db}
body.parent-portal:not(.login-page) .parent-two-col>.parent-panel:last-child{border-top:4px solid #f0d08d}
body.parent-portal:not(.login-page) .parent-feedback{border-color:#f2e7f2}
body.parent-portal:not(.login-page) .parent-feedback b{font-size:15px;color:#816487;font-weight:800}
body.parent-portal:not(.login-page) .parent-feedback span{color:#b0a0b7;font-size:12px}
body.parent-portal:not(.login-page) .parent-feedback p{color:#96839c;font-size:14px;line-height:1.75}
body.parent-portal:not(.login-page) .parent-holiday{border-color:#f6ecd9}
body.parent-portal:not(.login-page) .parent-holiday>span{background:#fff1d0;color:#d1a04a;border-radius:13px;font-size:25px;padding:9px 12px}
body.parent-portal:not(.login-page) .parent-holiday b{color:#9f855c;font-size:15px;font-weight:800}
body.parent-portal:not(.login-page) .parent-holiday p{color:#b2a087;font-size:13px}
body.parent-portal:not(.login-page) .parent-empty{font-size:14px;color:#b1a2b5;padding:37px 15px!important}
body.parent-portal:not(.login-page) .parent-certificate{background:radial-gradient(ellipse at 50% 0,#fff1c9,transparent 65%),#fffdf7;border:1px solid #f1deae;border-radius:23px;box-shadow:0 7px 22px #b68c3608}
body.parent-portal:not(.login-page) .parent-certificate>div{color:#d2ab4e}
body.parent-portal:not(.login-page) .parent-panel-head button,body.parent-portal:not(.login-page) dialog button[type=submit]{background:#ed763b;color:#fff;border-radius:11px;font-weight:800;box-shadow:0 4px 12px #e78f3e1a}
body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) dialog{border:1px solid #f0deca;border-radius:23px;background:#fffdf9}
@media(max-width:1100px){body.student-portal:not(.login-page) .kid-welcome{padding-right:138px;flex-wrap:wrap}body.student-portal:not(.login-page) .kid-welcome:after{width:139px;height:139px}body.student-portal:not(.login-page) .kid-profile{justify-content:flex-start}body.student-portal:not(.login-page) .kid-next-grid{grid-template-columns:1fr}}
@media(max-width:700px){body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) aside{padding:18px 17px 9px;border-right:0;border-bottom:1px solid #f0e4d7}body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .erp-brand{font-size:26px;border-bottom:0;padding-bottom:12px}body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) aside nav{padding-top:0}body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button{font-size:13px!important;padding:9px 12px!important;gap:7px;margin:0}body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav i{width:28px!important;height:28px;border-radius:9px}body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) nav i svg{width:16px;height:16px}body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .shell>header{height:63px;padding:0 19px}body:is(.student-portal,.parent-portal,.coach-portal,[data-portal="admin"],[data-portal="staff"]):not(.login-page) .pagehead h1{font-size:29px!important}body.student-portal:not(.login-page) .kid-welcome{padding:23px 104px 23px 21px;min-height:155px;gap:15px;flex-direction:column;align-items:flex-start}body.student-portal:not(.login-page) .kid-welcome:after{width:112px;height:112px;right:-5px;bottom:12px}body.student-portal:not(.login-page) .kid-welcome h2{font-size:28px;line-height:1.2}body.student-portal:not(.login-page) .kid-profile{gap:9px;flex-wrap:wrap;justify-content:flex-start}body.student-portal:not(.login-page) .kid-session{padding:24px}body.student-portal:not(.login-page) .kid-session h2{font-size:23px}body.student-portal:not(.login-page) .kid-slot>strong{font-size:34px}body.student-portal:not(.login-page) .kid-class-tabs button{font-size:13px;padding:10px 12px}body.parent-portal:not(.login-page) .parent-toolbar{padding:18px;gap:16px;align-items:flex-start}body.parent-portal:not(.login-page) .parent-toolbar label{min-width:0;width:100%}body.parent-portal:not(.login-page) .parent-child-card{padding:21px}body.parent-portal:not(.login-page) .parent-panel{padding:20px}body.parent-portal:not(.login-page) .parent-fee-period>b{font-size:15px}body.parent-portal:not(.login-page) .parent-child-name h2{font-size:22px}}

/* Website colors for admin, staff and coach workspaces. */
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .nav-group{font-size:10px!important;letter-spacing:1.2px;color:#b09a85!important;font-weight:800;padding:10px 14px!important;background:transparent!important;border:0!important;box-shadow:none!important;margin:0 0 5px}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .nav-section{margin-top:12px}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button{padding:9px 12px!important;font-size:13px!important;margin:2px 0}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) nav i{width:29px!important;height:29px;border-radius:9px}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) nav i svg{width:17px;height:17px}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) #add{background:linear-gradient(105deg,#eb6c33,#f28b43);border-color:#e97338;color:#fff;border-radius:12px;box-shadow:0 6px 16px #e89a3a1c;font-size:14px;font-weight:800}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .admin-report-filters{gap:14px}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .admin-report-filters label{font-family:'Nunito',sans-serif;color:#a58b74;font-size:12px;font-weight:800}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .admin-report-filters input,body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .admin-report-filters select{border-color:#ecdfd0;background:#fffdf9;border-radius:11px;box-shadow:none;font-size:14px;color:#6f607b}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .admin-report-filters button{background:#fff0df;color:#bd7b47;border:1px solid #f1d9bf;border-radius:11px;font-weight:800}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-panel{background:#fff;border:1px solid #eee1d5;border-radius:22px;padding:25px;box-shadow:0 7px 25px #bd885006;margin-bottom:24px}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-heading h2{font-family:'Fredoka',sans-serif;font-size:23px;color:#57475f;font-weight:500;letter-spacing:-.3px}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-heading>span{font-family:'Nunito',sans-serif;font-size:12px;color:#b4a2b5;font-weight:700}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage{background:#edf5ff;border:1px solid #dce8f5;border-top:3px solid #9dc4e7;border-radius:13px;padding:19px 17px;gap:15px;transition:transform .15s,box-shadow .15s}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage:nth-child(4n+2){background:#eff9f3;border-color:#dbede2;border-top-color:#a0d1b7}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage:nth-child(4n+3){background:#fff5e5;border-color:#f4e6ce;border-top-color:#e6c38c}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage:nth-child(4n+4){background:#f5effc;border-color:#e8ddf3;border-top-color:#c8afe0}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage>span:first-child{font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;color:#8a8198;min-height:32px}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage strong{font-family:'Fredoka',sans-serif;font-size:33px;letter-spacing:-.5px;font-weight:500;color:#5f819f}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage .pipe-detail{color:#b2a5bc}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage.green{background:#ecf8f0;border-color:#d5eadc;border-top-color:#95cbaa}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage.green strong{color:#5a9479}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage.amber{background:#fff5e4;border-color:#efdfc6;border-top-color:#e9be78}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage.amber strong{color:#bd8c48}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage.red{background:#fff0f3;border-color:#f1dae1;border-top-color:#e4b0c1}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage.red strong{color:#bd7e97}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage:hover{transform:translateY(-2px);box-shadow:0 7px 17px #9e764310}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-tabs{border:1px solid #f0e0d0;background:#fffdf9;border-radius:15px}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-bucket{color:#a08b7d!important;font-family:'Nunito',sans-serif;font-weight:800;border-radius:9px}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-bucket.selected{background:#fff0df!important;color:#cf773d!important}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-bucket span{background:#f9efdf!important;color:#c39a6f!important;border-radius:6px}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-table-head{background:#fff6ea;color:#b19a81;border-color:#f1e4d5;font-size:11px!important}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-row{border-color:#f4ece4}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-child b,body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-parent b{color:#6f5e7c;font-family:'Nunito',sans-serif;font-size:15px!important;font-weight:800}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-child small,body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-parent small{color:#b0a0b7;font-size:12px!important}
body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .lead-avatar{background:#f2eafb!important;color:#a188bc!important;border-radius:12px}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .j-link,body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .details-button{background:#fff0e3;color:#c77a47!important;border-radius:9px;font-weight:800;font-size:13px!important}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .j-tabs button{border-radius:10px;color:#a18a79;font-weight:800}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .j-tabs button.active,body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) .j-tabs button.selected{background:#fff0e0;color:#cc793f;border-color:#f3d9bd}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) dialog{background:#fffdf9;border-color:#f0dfcc;border-radius:23px}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) dialog h2{font-family:'Fredoka',sans-serif;font-weight:500;color:#66516f;font-size:25px}
body:is([data-portal="admin"],[data-portal="staff"],.coach-portal):not(.login-page) dialog button[type=submit]{background:#ed783d;color:#fff;font-weight:800;border-radius:11px}
body.coach-portal:not(.login-page) .coach-welcome{background:linear-gradient(110deg,#ffedcb,#fff2df 65%,#ffe6d8);border:1px solid #f0ddbe;border-radius:23px;padding:27px 30px;color:#8c684a;gap:28px}
body.coach-portal:not(.login-page) .coach-eyebrow{color:#b99568;font-size:11px;font-weight:800}
body.coach-portal:not(.login-page) .coach-welcome h2{font-family:'Fredoka',sans-serif;color:#6d4e50;font-size:29px;font-weight:500;letter-spacing:-.5px}
body.coach-portal:not(.login-page) .coach-welcome p{color:#b5997c;font-family:'Nunito',sans-serif;font-size:13px}
body.coach-portal:not(.login-page) .coach-metric b{color:#b87e48;font-family:'Fredoka',sans-serif;font-size:33px;font-weight:500}
body.coach-portal:not(.login-page) .coach-metric span{color:#b5997b;font-family:'Nunito',sans-serif;font-size:12px;font-weight:800}
body.coach-portal:not(.login-page) .coach-panel,body.coach-portal:not(.login-page) .coach-report-panel{border:1px solid #ebdfd2;border-radius:21px;background:#fff;box-shadow:0 6px 23px #b3814406}
body.coach-portal:not(.login-page) .coach-panel>.panelhead{border-color:#f1e7db;padding:22px 25px}
body.coach-portal:not(.login-page) .panelhead h2{font-family:'Fredoka',sans-serif;font-size:23px;color:#695574;font-weight:500}
body.coach-portal:not(.login-page) .coach-tabs{background:#fff4e7;border:1px solid #f4e3ce;border-radius:12px;padding:4px}
body.coach-portal:not(.login-page) .coach-tabs button{color:#b29170;font-weight:800;font-size:13px;border-radius:8px;padding:10px 15px;background:transparent}
body.coach-portal:not(.login-page) .coach-tabs button.selected{background:#fff;color:#cf7940;box-shadow:0 3px 7px #b877390d}
body.coach-portal:not(.login-page) .coach-session{border-color:#f1e8df;padding:22px 25px}
body.coach-portal:not(.login-page) .coach-session-time{font-family:'Nunito',sans-serif;font-size:17px;font-weight:800;color:#9b7a5e}
body.coach-portal:not(.login-page) .coach-session-name>b{font-size:15px;font-weight:800;color:#7b6687}
body.coach-portal:not(.login-page) .coach-session small{font-size:12px;color:#b29fba}
body.coach-portal:not(.login-page) .coach-kind{background:#edf4ff;color:#7a9ec8;border-radius:7px;font-size:10px;font-weight:800}
body.coach-portal:not(.login-page) .coach-kind.trial{background:#fff0d6;color:#c2944d}
body.coach-portal:not(.login-page) .coach-session button{background:#ee7b3d;border:1px solid #e77537;color:#fff;border-radius:10px;font-size:12px;font-weight:800;box-shadow:0 4px 12px #e8953a18}
body.coach-portal:not(.login-page) .coach-calendar{background:#f3e8da;border:1px solid #f0e3d3;gap:1px}
body.coach-portal:not(.login-page) .coach-weekday{background:#fff5e7;color:#b59c7c;font-family:'Nunito',sans-serif;font-size:11px;font-weight:800}
body.coach-portal:not(.login-page) .coach-date{background:#fffdf9;padding:12px 10px;min-height:104px;box-shadow:none}
body.coach-portal:not(.login-page) .coach-date b{color:#a38a70;font-family:'Nunito',sans-serif;font-size:13px;font-weight:800}
body.coach-portal:not(.login-page) .coach-date span{background:#eaf2ff;color:#7f9ec5;border-radius:5px;font-size:10px;padding:4px}
body.coach-portal:not(.login-page) .coach-date .trial{background:#fff0d5;color:#bb995f}
body.coach-portal:not(.login-page) .coach-date .paused{background:#f5eaf8;color:#b091bc}
body.coach-portal:not(.login-page) .coach-date.today{background:#fff5e7;box-shadow:inset 0 3px #edaa6e}
body.coach-portal:not(.login-page) .coach-date.today>b{color:#ce8d51}
body.coach-portal:not(.login-page) .coach-date.selected{background:#ffefd9;box-shadow:inset 0 0 0 2px #efc28d}
body.coach-portal:not(.login-page) .coach-month-nav button{background:#fff1e2;color:#c89060;border:1px solid #f1ddc4;border-radius:9px}
body.coach-portal:not(.login-page) .coach-month-nav b{font-family:'Nunito',sans-serif;font-size:14px;color:#9b829e}
body.coach-portal:not(.login-page) .coach-day-plan{padding:24px;background:#fffaf2;border-radius:15px;border:1px solid #f1e5d5;margin:23px}
body.coach-portal:not(.login-page) .coach-empty{color:#b5a4b8;font-size:14px}
body.coach-portal:not(.login-page) .coach-report-tab{background:#edf5ff;border:1px solid #dce9f7;border-top:3px solid #a7c9e9;border-radius:17px;box-shadow:0 4px 15px #698ab009;padding:23px;min-height:141px}
body.coach-portal:not(.login-page) .coach-report-tab:nth-child(3n+2){background:#eff8f2;border-color:#dcecdf;border-top-color:#acd4b9}
body.coach-portal:not(.login-page) .coach-report-tab:nth-child(3n+3){background:#fff1e7;border-color:#f2dfd0;border-top-color:#edbe9a}
body.coach-portal:not(.login-page) .coach-report-tab strong{font-family:'Fredoka',sans-serif;font-size:35px;font-weight:500;color:#6f8fab}
body.coach-portal:not(.login-page) .coach-report-tab>span:last-child{color:#a08da7;font-size:13px;font-weight:800}
body.coach-portal:not(.login-page) .coach-report-icon{background:#ffffffa1;color:#a38bb5;border:1px solid #ffffff80;border-radius:10px}
body.coach-portal:not(.login-page) .coach-report-tab.selected{background:linear-gradient(115deg,#fff1d8,#ffe4ca);border-color:#edc99d;border-top-color:#eaa96c;box-shadow:0 7px 19px #ce994412}
body.coach-portal:not(.login-page) .coach-report-tab.selected strong{color:#b77b45}
body.coach-portal:not(.login-page) .coach-report-tab.selected>span:last-child{color:#ad875b}
body.coach-portal:not(.login-page) .coach-report-tab.selected .coach-report-icon{background:#fff8e8;color:#c99d65}
body.coach-portal:not(.login-page) .coach-report-total{background:#f2eafb;color:#ae92bd;border-radius:8px;padding:6px 10px}
@media(max-width:700px){body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .nav-group{font-size:10px!important;padding:10px 12px!important}body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) nav button{font-size:12px!important;gap:7px}body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-panel{padding:20px}body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-heading h2{font-size:21px}body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage{padding:16px 13px;border-radius:11px}body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage strong{font-size:29px}body.coach-portal:not(.login-page) .coach-welcome{padding:22px;gap:18px}body.coach-portal:not(.login-page) .coach-welcome h2{font-size:25px}body.coach-portal:not(.login-page) .coach-metric b{font-size:28px}body.coach-portal:not(.login-page) .coach-session{padding:19px;gap:15px}body.coach-portal:not(.login-page) .coach-day-plan{padding:17px;margin:15px}body.coach-portal:not(.login-page) .coach-date{padding:8px 5px;min-height:80px}body.coach-portal:not(.login-page) .coach-date>span{font-size:8px}body.coach-portal:not(.login-page) .coach-weekday{font-size:9px}body.coach-portal:not(.login-page) .coach-report-tab{padding:18px;min-height:127px}body.coach-portal:not(.login-page) .coach-report-tab strong{font-size:29px}}
@media(prefers-reduced-motion:reduce){body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage:hover{transform:none}}

@media(max-width:700px){body:is([data-portal="admin"],[data-portal="staff"]):not(.login-page) .pipe-stage strong{font-size:clamp(18px,5.4vw,24px);letter-spacing:-.6px}}

/* Camps and parent meetings */
.extra-audience{border:1px solid #e7dfd5;border-radius:18px;padding:16px;background:#fffcf7}.extra-audience>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.extra-child-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:230px;overflow:auto;margin-top:12px}.extra-child-list label{display:flex;align-items:center;gap:10px;background:white;border:1px solid #e8e5e0;border-radius:12px;padding:12px}.extra-child-list label[hidden]{display:none!important}.extra-child-list input{width:18px;height:18px;accent-color:#ed823c}.extra-child-list small{display:block;color:#7b7e88}.parent-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.parent-event-card{padding:24px;border:1px solid #d4e3f5;border-radius:24px;background:linear-gradient(125deg,#edf5ff,#fff);box-shadow:0 7px 20px #283b6a08}.parent-event-card.camps{border-color:#f2d8ad;background:linear-gradient(125deg,#fff2db,#fff)}.parent-event-card>span,.parent-event-card .kid-session-top>span:first-child{font-size:13px;font-weight:800;letter-spacing:.04em;color:#4463a2}.parent-event-card.camps>span,.parent-event-card.camps .kid-session-top>span:first-child{color:#a66a29}.parent-event-card h2{font-family:Fredoka,sans-serif;font-size:25px;margin:14px 0}.parent-event-time{display:grid;gap:4px;margin:16px 0}.parent-event-time strong{font-size:30px;color:#243c71}.parent-event-time small{color:#667187}.parent-event-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700}.parent-event-footer button{white-space:nowrap}@media(max-width:680px){.parent-event-grid,.extra-child-list{grid-template-columns:1fr}.parent-event-card{padding:19px}.parent-event-card h2{font-size:23px}}

/* Batch conversations */
.batch-chat{display:grid;grid-template-columns:285px minmax(0,1fr);height:clamp(520px,calc(100vh - 225px),780px);min-height:520px;background:#fffdf9;border:1px solid #e9e1d7;border-radius:24px;overflow:hidden;box-shadow:0 10px 35px #4c392108}.batch-chat-sidebar{background:#fffaf2;border-right:1px solid #e9e1d7;min-width:0;display:flex;flex-direction:column;overflow:hidden}.batch-chat-sidebar-head{padding:20px 18px 12px;display:flex;align-items:center;justify-content:space-between}.batch-chat-sidebar-head h2,.batch-chat-header h2{font:600 21px Fredoka,sans-serif;margin:0}.batch-chat-sidebar-head>span svg{width:24px;height:24px;color:#dd8a45}.batch-chat-sidebar>input{margin:0 14px 14px;width:calc(100% - 28px);min-height:42px;background:#fff}.batch-chat-sidebar #batch-chat-rooms{overflow:auto;flex:1}.batch-chat-room{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:0;padding:17px 14px;text-align:left;color:#3b3a50;background:transparent;box-shadow:none}.batch-chat-room:hover{background:#fff0dd}.batch-chat-room.selected{background:#f9e8d2;box-shadow:inset 4px 0 #eb934c}.batch-chat-room-icon,.batch-chat-header-icon{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:14px;background:#fff4e4;color:#b57139}.batch-chat-room-icon svg,.batch-chat-header-icon svg{width:21px;height:21px}.batch-chat-room-copy{min-width:0;flex:1}.batch-chat-room-copy b,.batch-chat-room-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-chat-room-copy b{font-size:14px}.batch-chat-room-copy small{font-size:12px;color:#85818b;margin-top:5px;font-weight:500}.chat-unread,.chat-nav-count{display:inline-flex;align-items:center;justify-content:center;background:#d67737;color:#fff;min-width:22px;height:22px;border-radius:20px;font-size:11px;font-weight:800;padding:0 5px}.chat-nav-count{margin-left:auto}.batch-chat-main{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden}.batch-chat-header{display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid #ece6de;background:#fffdf9}.batch-chat-header h2{font-size:20px;overflow-wrap:anywhere}.batch-chat-header small{display:block;color:#8a8490;font-size:12px;margin-top:4px}.batch-chat-scroll{flex:1;overflow:auto;overscroll-behavior:contain;padding:22px;background:radial-gradient(circle at 1px 1px,#c7baaa33 1px,transparent 0) 0 0/22px 22px #faf7f1}.batch-chat-message{max-width:85%;width:fit-content;min-width:160px;margin:0 auto 15px 0;padding:12px 15px 8px;border:1px solid #eee4d8;border-radius:16px 16px 16px 4px;background:#fff;box-shadow:0 3px 8px #34313d04;overflow-wrap:anywhere}.batch-chat-message.mine{margin-left:auto;margin-right:0;border-color:#c6e6d5;border-radius:16px 16px 4px 16px;background:#e5f5eb}.batch-chat-author{font-size:12px;font-weight:800;color:#966032;margin-bottom:6px}.batch-chat-message.mine .batch-chat-author{color:#39745c}.batch-chat-author>span{font-size:10px;font-weight:600;color:#98909b;margin-left:6px}.batch-chat-body{font-size:14px;line-height:1.6;white-space:pre-wrap;color:#383649}.batch-chat-message footer{display:flex;justify-content:flex-end;gap:10px;color:#99939c;font-size:10px;margin-top:8px}.chat-delivery{white-space:nowrap;color:#629e87}.batch-chat-composer{display:flex;align-items:flex-end;gap:12px;padding:14px 18px;background:#fffdf9;border-top:1px solid #ece6de}.batch-chat-composer textarea{flex:1;min-width:0;resize:none;max-height:140px;border-radius:15px;padding:12px;font-size:14px;background:#fff;line-height:1.5}.batch-chat-composer button{display:flex;align-items:center;gap:8px;min-height:48px;border-radius:15px;padding:10px 18px;background:#d98543;color:#fff}.batch-chat-composer button svg{width:20px;height:20px}.batch-chat-empty{padding:30px 20px;text-align:center;color:#9a9199;font-size:13px}.batch-chat-main>.batch-chat-empty{margin:auto}.batch-chat-error{font-size:12px;color:#a55c40;padding:0 18px;background:#fffdf9}.batch-chat-error:not(:empty){padding:8px 18px}.batch-chat-older{display:block;margin:0 auto 20px;background:#fff;color:#8a7560;border:1px solid #e7dac9;padding:7px 14px;border-radius:15px;font-size:12px}.batch-chat-jump{position:absolute;bottom:110px;right:25px;background:#fff;color:#407360;border:1px solid #c7dece;border-radius:20px;box-shadow:0 3px 14px #0001;padding:9px 14px;font-size:12px}.batch-chat [hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.batch-chat{grid-template-columns:220px minmax(0,1fr)}.batch-chat-message{max-width:94%}}@media(max-width:600px){.batch-chat{grid-template-columns:1fr;height:700px;grid-template-rows:auto minmax(0,1fr)}.batch-chat-sidebar{border-right:0;border-bottom:1px solid #e9e1d7;max-height:195px}.batch-chat-sidebar-head{padding:12px 14px 8px}.batch-chat-sidebar-head h2{font-size:19px}.batch-chat-sidebar>input{margin-bottom:8px;min-height:36px}.batch-chat-sidebar #batch-chat-rooms{display:flex;overflow:auto;flex:none;max-height:76px}.batch-chat-room{width:230px;min-width:230px;padding:10px 14px}.batch-chat-header{padding:12px 14px}.batch-chat-header h2{font-size:18px}.batch-chat-scroll{padding:15px 12px}.batch-chat-composer{padding:10px;gap:8px}.batch-chat-composer button{padding:10px 12px}.batch-chat-composer button span{display:none}.batch-chat-message footer{gap:6px;flex-wrap:wrap}.batch-chat-message{max-width:94%}}
.batch-chat-launcher{position:fixed;right:25px;bottom:25px;z-index:2100;width:72px;height:72px;border-radius:50%;padding:8px;border:3px solid #fff;background:#fff3da;box-shadow:0 7px 24px #6c472f35;display:flex;align-items:center;justify-content:center}.batch-chat-launcher img{width:100%;height:100%;object-fit:contain}.batch-chat-launcher .chat-nav-count{position:absolute;right:-3px;top:-4px;border:2px solid white;min-width:24px;height:24px}.batch-chat-launcher [hidden]{display:none!important}.batch-chat-floating{position:fixed;right:25px;bottom:110px;z-index:2099;width:min(970px,calc(100vw - 50px));height:min(720px,calc(100vh - 145px));min-height:410px;border-radius:25px;background:#fffdf9;box-shadow:0 18px 80px #302b3b35;overflow:hidden;border:1px solid #e8ded1;display:flex;flex-direction:column}.batch-chat-floating-head{height:58px;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:8px 17px;background:#fff7e9;border-bottom:1px solid #eadfce}.batch-chat-floating-head>span{display:flex;align-items:center;gap:9px;font:600 21px Fredoka,sans-serif;color:#7d573d}.batch-chat-floating-head img{width:35px;height:35px;object-fit:contain}.batch-chat-floating-head>button{border:0;background:transparent;color:#8e8078;padding:7px 10px;box-shadow:none}.batch-chat-floating #batch-chat-floating-content{flex:1;min-height:0}.batch-chat-floating .batch-chat{height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}.batch-chat-floating .batch-chat-sidebar{position:static;width:auto;inset:auto;padding:0}.batch-chat-floating .batch-chat-sidebar-head h2{font-size:18px}.batch-chat-floating #batch-chat-main{height:100%}.batch-chat-floating .batch-chat-jump{bottom:110px}@media(max-width:600px){.batch-chat-launcher{right:16px;bottom:18px;width:64px;height:64px}.batch-chat-floating{left:10px;right:10px;top:12px;bottom:94px;width:auto;height:auto;min-height:0;border-radius:20px}.batch-chat-floating .batch-chat{grid-template-rows:auto minmax(0,1fr)}.batch-chat-floating .batch-chat-sidebar{max-height:180px}.batch-chat-floating .batch-chat-header-icon{display:none}.batch-chat-floating .batch-chat-header{padding:10px 13px}}
#batch-chat-floating .batch-chat-header{position:static;height:auto;min-height:68px;flex-shrink:0;padding:13px 18px;border:0;border-bottom:1px solid #ece6de;box-shadow:none;background:#fffdf9;justify-content:flex-start;display:flex}#batch-chat-floating .batch-chat-header>div{display:block}#batch-chat-floating .batch-chat-sidebar{padding:0;min-height:0;display:flex;background:#fffaf2;box-shadow:none;border:0;border-right:1px solid #e9e1d7}#batch-chat-floating .batch-chat-message footer{padding:0;height:auto;background:transparent;border:0}#batch-chat-floating .batch-chat-composer{margin:0}@media(max-width:600px){#batch-chat-floating .batch-chat-sidebar{border-right:0;border-bottom:1px solid #e9e1d7}}
#batch-chat-floating .batch-chat-message footer{display:flex}#batch-chat-floating .batch-chat-message footer span{display:inline}
