@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#222923;--muted:#7c857c;--line:#e9ebe6;--paper:#fff;--bg:#f6f7f4;--green:#315b43;--green2:#e8f1e9;--lime:#d7ee85;--red:#c45b52;--red-bg:#fbecea;--amber:#94652b;--amber-bg:#fbf3e5;--shadow:0 8px 30px #1c2a1c0a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;background:#fff;border-right:1px solid var(--line);padding:27px 17px 15px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:4}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font:800 17px Manrope,sans-serif;text-decoration:none;padding:0 8px 28px;letter-spacing:-.5px}.brand-mark{width:33px;height:33px;background:var(--green);border-radius:11px;color:var(--lime);display:grid;place-items:center;font:800 24px Manrope}.brand-sub{display:block;color:#92998f;font:700 8px 'DM Sans';letter-spacing:1.4px;margin-top:2px}.org-switch{background:#f7f8f5;border:1px solid var(--line);border-radius:12px;padding:11px 9px;display:flex;align-items:center;gap:10px;margin-bottom:27px}.org-icon{width:30px;height:30px;border-radius:9px;background:#e4ebdf;color:var(--green);display:grid;place-items:center;font-size:17px}.org-switch b,.profile-row b{display:block;font-size:11px}.org-switch small,.profile-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.chevron{margin-left:auto;color:#858d83}.nav-label{font-size:9px;letter-spacing:1.3px;color:#9aa098;font-weight:700;padding:0 10px 9px}nav{display:grid;gap:4px}nav button{border:0;background:none;color:#6e776e;border-radius:9px;text-align:left;padding:11px 12px;display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500}nav button .nav-icon{font-size:16px;width:17px;text-align:center}nav button.active{background:#edf3e9;color:var(--green);font-weight:700}nav button:hover{background:#f6f7f4}.sidebar-bottom{margin-top:auto}.help-card{border:1px solid var(--line);border-radius:13px;padding:14px;margin-bottom:17px}.help-icon{color:#a2b875;font-size:19px;margin-bottom:7px}.help-card b{font-size:11px}.help-card p{font-size:10px;color:var(--muted);margin:5px 0 11px}.text-button{border:0;padding:0;background:none;color:var(--green);font-size:10px;font-weight:700}.text-button span{margin-left:5px}.profile-row{border-top:1px solid var(--line);padding:15px 1px 0;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9e5da;color:#665638;font-size:10px;font-weight:700;flex-shrink:0}.dots{border:0;background:transparent;margin-left:auto;color:#7c857c;font-weight:700;letter-spacing:2px}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:61px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 38px;background:#ffffffa6;justify-content:space-between}.crumb{color:#959c92;font-size:11px}.crumb span{margin:0 9px;color:#c1c5bf}.crumb b{color:#464e46}.top-actions{display:flex;align-items:center;gap:18px}.icon-button{position:relative;border:0;background:transparent;font-size:19px;color:#6f786f}.icon-button i{position:absolute;width:5px;height:5px;border-radius:50%;background:#df8b5b;right:1px;top:2px}.small-avatar{width:29px;height:29px}.mobile-brand{display:none}.content{max-width:1180px;padding:37px 42px 56px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:700;color:#81907d;letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}.page-head h1{font:700 26px Manrope;margin:0;letter-spacing:-.8px}.page-head p{color:var(--muted);font-size:12px;margin:7px 0 0}.head-actions{display:flex;gap:9px}.btn{border:1px solid #dde1d9;border-radius:8px;padding:10px 14px;background:white;color:#414b41;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:7px}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.lime{background:var(--lime);border-color:var(--lime);color:#25381e}.btn.sm{padding:7px 10px;font-size:10px}.grid{display:grid;gap:15px}.stats{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.stat{padding:16px 17px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#858e84;font-size:10px}.stat-icon{width:28px;height:28px;border-radius:8px;background:#f0f4ed;color:var(--green);display:grid;place-items:center;font-size:15px}.stat-value{font:700 23px Manrope;margin-top:8px;letter-spacing:-.7px}.stat-note{font-size:10px;color:#8c948b;margin-top:3px}.stat-note .positive{color:#53825a}.dashboard-grid{grid-template-columns:1.55fr 1fr;align-items:start}.panel{padding:18px 19px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head h2{font:700 14px Manrope;margin:0}.panel-head p{font-size:10px;color:var(--muted);margin:4px 0 0}.link-button{border:0;background:none;color:var(--green);font-size:10px;font-weight:700}.kid-card{border:1px solid var(--line);border-radius:11px;padding:13px;display:flex;align-items:center;gap:12px;margin-bottom:10px}.kid-card:last-child{margin-bottom:0}.kid-photo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f1e9df;font:700 13px Manrope;color:#735c3b}.kid-photo.blue{background:#e5eef4;color:#456983}.kid-main{flex:1;min-width:0}.kid-main b{font-size:12px;display:block}.kid-main small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.kid-balance{text-align:right;min-width:80px}.kid-balance b{font:700 16px Manrope;display:block}.kid-balance small{font-size:9px;color:var(--muted)}.balance-bar{height:4px;background:#edf0e9;border-radius:4px;margin-top:7px;overflow:hidden}.balance-bar span{height:100%;display:block;background:#8eaa76;border-radius:4px}.section-gap{margin-top:15px}.session-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #f0f1ee}.session-row:last-child{border-bottom:0;padding-bottom:0}.date-block{width:39px;height:43px;border-radius:9px;background:#f4f6f1;text-align:center;padding-top:5px;flex-shrink:0}.date-block b{display:block;font:700 15px Manrope}.date-block small{font-size:8px;color:var(--muted);text-transform:uppercase}.session-main{flex:1;min-width:0}.session-main b{font-size:11px;display:block}.session-main small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.pill{font-size:9px;font-weight:700;border-radius:99px;padding:5px 8px;display:inline-block;background:#edf3e9;color:#54764f;white-space:nowrap}.pill.red{background:var(--red-bg);color:var(--red)}.pill.amber{background:var(--amber-bg);color:var(--amber)}.pill.gray{background:#f0f1ef;color:#767e76}.pay-item{display:flex;align-items:center;padding:11px 0;border-bottom:1px solid #f0f1ee;gap:10px}.pay-item:last-child{border:0}.pay-badge{width:34px;height:34px;border-radius:10px;background:#f7eee0;color:#a07840;display:grid;place-items:center}.pay-text{flex:1}.pay-text b{font-size:10px;display:block}.pay-text small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.muted{color:var(--muted)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:620px}.table th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#8d958d;font-weight:700;padding:11px 12px;border-bottom:1px solid var(--line)}.table td{font-size:11px;padding:13px 12px;border-bottom:1px solid #f0f1ee;vertical-align:middle}.table tr:last-child td{border-bottom:0}.person{display:flex;align-items:center;gap:9px}.person .kid-photo{width:30px;height:30px;border-radius:9px;font-size:10px}.person b{font-size:11px}.person small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.tabs{display:flex;gap:4px;background:#eff1ed;padding:4px;border-radius:9px;width:max-content;margin-bottom:15px}.tabs button{border:0;background:none;color:#808980;border-radius:7px;padding:7px 12px;font-size:10px;font-weight:600}.tabs button.active{background:white;color:var(--green);box-shadow:0 1px 4px #00000010}.search{border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:11px;outline:none}.toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.batch-grid{grid-template-columns:repeat(3,1fr)}.batch-card{padding:17px}.batch-card-top{display:flex;justify-content:space-between}.batch-icon{width:34px;height:34px;border-radius:10px;background:#edf3e9;color:var(--green);display:grid;place-items:center;font-size:16px}.batch-card h3{font:700 14px Manrope;margin:14px 0 4px}.batch-card p{font-size:10px;color:var(--muted);margin:0}.batch-meta{display:flex;justify-content:space-between;padding-top:13px;margin-top:14px;border-top:1px solid var(--line);font-size:10px;color:#697369}.batch-meta b{color:#414b41}.attendance-person{display:grid;grid-template-columns:1.4fr 1fr auto;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid #eff0ed}.attendance-person:last-child{border:0}.att-buttons{display:flex;gap:5px}.att-btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 10px;color:#858d84;font-size:10px}.att-btn.present.selected{background:#eaf2e8;color:#467449;border-color:#d3e4cf}.att-btn.absent.selected{background:#fbecea;color:#bf5a51;border-color:#f1d4d1}.att-btn:disabled{cursor:default;opacity:.85}.select{border:1px solid var(--line);border-radius:8px;background:white;padding:9px 10px;font-size:10px;color:#465046}.balance-hero{padding:22px;background:#315b43;color:white;position:relative;overflow:hidden}.balance-hero:after{content:'';position:absolute;width:200px;height:200px;border:1px solid #ffffff18;border-radius:50%;right:-35px;top:-102px;box-shadow:0 0 0 25px #ffffff09,0 0 0 50px #ffffff07}.balance-hero small{color:#d4e5d1;font-size:10px}.balance-hero b{font:700 31px Manrope;display:block;margin-top:6px}.balance-hero p{font-size:10px;color:#dae6d8;margin:6px 0 0}.notice{border:1px solid #f0e5c8;background:#fffaf0;border-radius:9px;padding:11px 13px;font-size:10px;color:#87632e;margin-bottom:13px}.empty{padding:30px;text-align:center;color:var(--muted);font-size:11px}.divider-title{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;color:#737d72;margin:19px 0 8px}.divider-title:after{content:'';height:1px;background:var(--line);flex:1}.modal-backdrop{display:none;position:fixed;inset:0;background:#1b231c66;z-index:9;align-items:center;justify-content:center;padding:15px}.modal-backdrop.open{display:flex}.modal{width:min(470px,100%);background:white;border-radius:15px;padding:23px;box-shadow:0 20px 80px #0002;max-height:90vh;overflow:auto}.modal h2{font:700 18px Manrope;margin:0 0 6px}.modal>p{font-size:11px;color:var(--muted);margin:0 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:700;color:#5e675e}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px;outline:none;background:white;color:var(--ink)}.field input:focus,.field select:focus{border-color:#8aa781}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;background:#27372a;color:white;border-radius:9px;padding:11px 16px;font-size:11px;box-shadow:var(--shadow);transition:.2s;z-index:12;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.content{padding:30px 26px}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.batch-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{width:100%;height:58px;inset:auto 0 0;padding:5px 8px;border-right:0;border-top:1px solid var(--line);flex-direction:row;justify-content:center;background:#fff}.brand,.org-switch,.nav-label,.sidebar-bottom{display:none}nav{width:100%;display:flex;justify-content:space-around;gap:1px}nav button{padding:6px 7px;flex-direction:column;gap:2px;font-size:8px;border-radius:8px;min-width:55px}nav button .nav-icon{font-size:17px}.main{margin:0;width:100%;padding-bottom:59px}.topbar{height:53px;padding:0 17px}.crumb{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font:800 14px Manrope}.mobile-brand .brand-mark{width:27px;height:27px;font-size:19px;border-radius:9px}.top-actions{gap:13px}.content{padding:26px 16px 30px}.page-head{margin-bottom:19px;gap:8px}.page-head h1{font-size:22px}.page-head p{font-size:10px;max-width:230px;line-height:1.45}.head-actions{gap:6px}.head-actions .btn{padding:8px 9px;font-size:9px}.stats{gap:9px;margin-bottom:11px}.stat{padding:12px}.stat-value{font-size:20px}.stat-note{font-size:9px}.dashboard-grid{gap:11px}.panel{padding:14px}.kid-card{padding:10px;gap:9px}.kid-photo{width:36px;height:36px}.kid-balance{min-width:66px}.batch-grid{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar .search{width:100%}.attendance-person{grid-template-columns:1fr auto;gap:8px}.attendance-person>.att-state{grid-column:2;grid-row:1}.att-buttons{grid-column:1/-1;padding-left:39px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal{padding:19px}.pill{font-size:8px;padding:4px 7px}}

#auth-gate{display:none;min-height:100vh;padding:32px 18px;align-items:center;justify-content:center;background:radial-gradient(ellipse at 18% 12%,#e6efe5 0,transparent 34%),#f6f7f4;color:var(--ink)}
#auth-gate.visible{display:flex}
.auth-card{width:min(510px,100%);padding:32px;background:#fff;border:1px solid #e9ece6;border-radius:18px;box-shadow:0 22px 70px #21342012}
.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:30px;color:#263b2c}
.auth-brand .brand-mark{width:40px;height:40px;display:grid;place-items:center;background:#315b43;color:#fff;border-radius:13px;font:800 25px Manrope}
.auth-brand b{display:block;font:800 18px Manrope;letter-spacing:-.5px}
.auth-brand small{display:block;margin-top:2px;font-size:8px;letter-spacing:1.1px;color:#818b80}
.auth-heading h1,.auth-card>h1{font:800 25px Manrope;letter-spacing:-.7px;margin:0 0 7px;color:#263b2c}
.auth-heading p,.auth-card>p{margin:0 0 22px;color:#737d72;font-size:12px;line-height:1.55}
.auth-form{display:grid;gap:13px}
.auth-form label{display:grid;gap:6px;font-size:10px;font-weight:700;color:#596458}
.auth-form input,.auth-form select{width:100%;min-height:42px;border:1px solid #dfe4dc;border-radius:9px;padding:10px 12px;font:400 12px Inter,Arial,sans-serif;color:#29352b;background:#fff;outline:none}
.auth-form input:focus,.auth-form select:focus{border-color:#7c9d79;box-shadow:0 0 0 3px #e8f0e6}
.auth-submit{width:100%;justify-content:center;min-height:42px;margin-top:3px}
.auth-demo{width:100%;justify-content:center;margin-top:9px}
.auth-link{display:block;border:0;background:none;color:#386345;padding:12px 0 3px;font-size:11px;font-weight:700;text-align:left;cursor:pointer}
.auth-error{color:#a4352d;font-size:11px;line-height:1.5;margin:8px 0}
.auth-notice{padding:11px 12px;margin:0 0 14px;background:#f0f5ed;border:1px solid #dce8d7;border-radius:9px;color:#496145;font-size:10px;line-height:1.5}
.auth-help,.auth-footnote{color:#737d72;font-size:10px;line-height:1.55}
.auth-footnote{margin:18px 0 0;padding-top:14px;border-top:1px solid #edf0ea}
.backend-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;padding-bottom:10px;border-bottom:1px solid #edf0ea;color:#707a6f;font-size:10px}
.backend-toolbar .auth-link{padding:3px 0}
.backend-panel{margin:14px 0;padding:15px;border:1px solid #e7ebe4;border-radius:12px;background:#fcfdfb}
.backend-panel h2{margin:0 0 12px;font:700 14px Manrope;color:#2b3e2e}
.backend-caption{margin:-7px 0 12px;color:#7a8378;font-size:10px}
.auth-form.compact{gap:10px}
.auth-form.compact input,.auth-form.compact select{min-height:38px}
.auth-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.backend-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf0ea}
.backend-row:last-child{border-bottom:0}
.backend-row b{display:block;font-size:11px;color:#344136}
.backend-row small{display:block;margin-top:4px;color:#808980;font-size:9px}
.live-page-head{margin-bottom:20px}.live-page-head h1{font-size:28px}.live-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.live-stat{padding:17px 19px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.live-stat span{display:block;color:#858e84;font-size:9px;font-weight:700;letter-spacing:.7px}.live-stat b{display:block;margin-top:8px;font:700 25px Manrope;color:#263b2c}.live-stat small{display:block;margin-top:3px;color:#8c948b;font-size:10px}.live-home-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.8fr);gap:17px;align-items:start}.home-section-heading{margin:2px 0 13px}.home-section-heading h2,.home-list-heading h2{margin:0;font:700 15px Manrope;color:#263b2c}.home-section-heading p{margin:5px 0 0;color:var(--muted);font-size:10px}.home-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}.home-forms .backend-panel{margin:0;padding:16px}.home-lists{display:grid;gap:13px}.home-lists .backend-panel{margin:0;padding:16px}.home-list-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.home-list-heading>span{display:grid;place-items:center;min-width:23px;height:23px;border-radius:99px;background:#edf3e9;color:var(--green);font-size:10px;font-weight:700}.home-empty{margin:8px 0 2px;color:#858e84;font-size:10px;line-height:1.5}.live-notice{margin-bottom:15px}.pilot-label{border:1px solid #e3e9dc;border-radius:20px;padding:6px 10px;color:#627a58;font-size:9px;font-weight:700;letter-spacing:.8px}.profile-copy{min-width:0;overflow:hidden}.profile-copy b{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-home-nav{width:100%}
@media(max-width:1050px){.live-home-grid{grid-template-columns:1fr}.home-lists{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.live-stats{grid-template-columns:1fr 1fr;gap:9px}.live-stat{padding:13px}.live-stat:last-child{grid-column:1/-1}.live-stat b{font-size:21px}.live-home-grid{gap:10px}.home-forms,.home-lists{grid-template-columns:1fr}.live-page-head h1{font-size:23px}.sidebar-bottom{display:none!important}}
.backend-tag{padding:5px 8px;border-radius:20px;background:#eaf2e8;color:#4e7048;font-size:9px;text-transform:capitalize;white-space:nowrap}
.backend-tag.pending{background:#fff5df;color:#98702f}
.schedule-title{display:flex;align-items:center;justify-content:space-between;margin:2px 0 -3px}.schedule-title>b{font-size:10px;color:#344136}.schedule-add,.schedule-remove{border:0;background:none;color:var(--green);font-size:9px;font-weight:700;padding:4px}.schedule-slot{min-width:0;margin:0;padding:10px;border:1px solid #e7ebe4;border-radius:9px}.schedule-slot legend{padding:0 4px;color:#697369;font-size:9px;font-weight:700}.schedule-remove{margin-left:8px;color:#9b6257}.weekday-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:9px}.weekday-choice{display:block!important;position:relative}.weekday-choice input{position:absolute;opacity:0;width:1px!important;height:1px!important;min-height:0!important}.weekday-choice span{display:grid;place-items:center;min-height:29px;border:1px solid #e4e8e0;border-radius:6px;background:#fff;color:#70796f;font-size:9px;font-weight:600}.weekday-choice input:checked+span{border-color:#b9ceb2;background:#edf3e9;color:#315b43}.weekday-choice input:focus-visible+span{outline:2px solid #7c9d79;outline-offset:1px}.schedule-times{display:grid;grid-template-columns:1fr 1fr;gap:8px}.schedule-times label{display:grid;gap:5px;color:#596458;font-size:9px;font-weight:700}.schedule-times input{min-height:34px!important;padding:7px!important;font-size:10px!important}.package-fields{margin-top:1px}.batch-summary small{line-height:1.65}
.schedule-slot-fields{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8px;align-items:end}.schedule-slot-fields label{display:grid;gap:5px;color:#596458;font-size:9px;font-weight:700}.schedule-slot-fields select,.schedule-slot-fields input{min-height:34px!important;padding:7px!important;font-size:10px!important}
.home-forms{grid-template-columns:minmax(0,1fr);gap:16px}.create-batch-panel{padding:22px!important}.create-batch-panel>h2{font-size:20px}.batch-step{display:grid;gap:12px;padding:3px 0 17px;border-bottom:1px solid #edf0ea}.batch-step-heading{display:grid;gap:4px;margin-bottom:1px}.batch-step-heading b{font:700 15px Manrope;color:#2b3e2e}.batch-step-heading span{font-size:13px;font-weight:400;line-height:1.5;color:#737d72}.package-example{margin:0;color:#687567;font-size:12px}.schedule-slots{display:grid;gap:10px}.schedule-add{align-self:start;border:1px solid #d8e4d3;border-radius:8px;background:#f7faf5;padding:9px 12px;font-size:12px}.schedule-remove{font-size:11px}.schedule-slot{padding:13px}.schedule-slot legend{font-size:12px}.schedule-slot-fields{grid-template-columns:1.3fr 1fr 1fr;gap:12px}.schedule-slot-fields label{font-size:12px}.schedule-slot-fields select,.schedule-slot-fields input{min-height:45px!important;padding:9px 10px!important;font-size:14px!important}.create-batch-panel .auth-submit{min-height:48px;font-size:15px}
/* Larger type and touch targets across the coach and sample screens. */
body{font-size:16px}.brand{font-size:19px}.brand-sub{font-size:9px}.org-switch b,.profile-row b{font-size:13px}.org-switch small,.profile-row small{font-size:12px}.nav-label{font-size:11px}nav button{font-size:14px}.help-card b{font-size:13px}.help-card p,.text-button{font-size:12px}.crumb{font-size:13px}.page-head h1{font-size:30px}.page-head p{font-size:15px}.eyebrow{font-size:12px}.btn{font-size:13px;min-height:42px}.btn.sm{font-size:12px;min-height:36px}.stat-top{font-size:12px}.stat-value{font-size:27px}.stat-note{font-size:12px}.panel-head h2{font-size:16px}.panel-head p{font-size:12px}.kid-main b,.session-main b,.person b{font-size:13px}.kid-main small,.session-main small,.kid-balance small{font-size:11px}.batch-card h3{font-size:16px}.batch-card p,.batch-meta{font-size:12px}.table th{font-size:11px}.table td{font-size:13px}.attendance-person .att-btn{font-size:12px;padding:8px 11px}.auth-card{width:min(560px,100%)}.auth-heading h1,.auth-card>h1{font-size:28px}.auth-heading p,.auth-card>p{font-size:14px}.auth-form label{font-size:13px}.auth-form input,.auth-form select{min-height:48px;font-size:15px}.auth-form.compact input,.auth-form.compact select{min-height:46px;font-size:14px}.auth-submit{min-height:48px;font-size:14px}.auth-link{font-size:13px}.auth-help,.auth-footnote,.auth-notice,.auth-error{font-size:12px}.backend-panel h2{font-size:17px}.backend-caption{font-size:13px}.backend-row b{font-size:14px}.backend-row small{font-size:12px}.home-section-heading h2,.home-list-heading h2{font-size:18px}.home-section-heading p{font-size:14px}.home-empty{font-size:13px}.live-stat span{font-size:11px}.live-stat b{font-size:29px}.live-stat small{font-size:12px}.backend-tag{font-size:11px}.invite-result>b{font-size:12px}.invite-result>small{font-size:11px}.invite-result input{font-size:12px}
@media(max-width:700px){.page-head h1{font-size:25px}.page-head p{font-size:13px}.content{padding:24px 16px 30px}.schedule-slot-fields{grid-template-columns:1fr}.live-stats .live-stat span{font-size:10px}.live-stats .live-stat small{font-size:11px}.live-stats .live-stat b{font-size:24px}}
:root{color-scheme:dark;--ink:#f0f3ee;--muted:#c0c9bf;--line:#566057;--paper:#414a42;--bg:#343c35;--green:#a3c2a2;--green2:#495b4a;--lime:#d7ee85;--red:#f08f84;--red-bg:#573d39;--amber:#efca80;--amber-bg:#554a35;--shadow:0 8px 30px #0004}
.app-shell[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink)}.sidebar{background:#2e3730;border-color:var(--line)}.brand{color:var(--ink)}.org-switch{background:#39433b;border-color:var(--line)}.org-icon,.stat-icon{background:var(--green2);color:#d1e5ca}nav button{color:#c0c9bf}nav button.active{background:#48594a;color:#d4e8ca}nav button:hover{background:#3d473f}.help-card,.profile-row{border-color:var(--line)}.avatar{background:#4b5145;color:#edf0dc}.topbar{background:#39433b;border-color:var(--line)}.crumb{color:#c0c9bf}.crumb b{color:var(--ink)}.icon-button{color:#d0d7cf}.card{background:var(--paper);border-color:var(--line)}.kid-card{border-color:var(--line)}.kid-photo{background:#554b3d;color:#f1d4a2}.kid-photo.blue{background:#3b5059;color:#c7e0ec}.balance-bar{background:#59635a}.session-row,.backend-row,.table td,.table th,.attendance-person{border-color:#525d53}.date-block{background:#4a554b;color:var(--ink)}.date-block small,.kid-balance small{color:var(--muted)}.pill{background:#465744;color:#d4e8ca}.pill.red{background:var(--red-bg);color:#ffc0b7}.pill.amber{background:var(--amber-bg);color:#f1d69b}.pill.gray{background:#4b554c;color:#d4dad2}.pay-badge{background:#554a35;color:#f1d69b}.tabs{background:#3a443c}.tabs button{color:#c0c9bf}.tabs button.active{background:#505b51;color:#f0f3ee}.search,.select,.field input,.field select,.field textarea{background:#343c35;color:var(--ink);border-color:#5b665b}.search::placeholder,.field input::placeholder{color:#b0b9af}.att-btn{background:#414a42;color:#e6ebe4;border-color:#5b665b}.att-btn.present.selected{background:#405344;color:#d5ead1;border-color:#6e8b70}.att-btn.absent.selected{background:#573d39;color:#ffc0b7;border-color:#89564f}.notice{background:#514832;border-color:#76673e;color:#f1d69b}.empty{color:var(--muted)}.modal-backdrop{background:#111a1299}.modal{background:var(--paper);color:var(--ink)}.field label{color:#d4dbd2}.field input:focus,.field select:focus{border-color:#9fbe9e;box-shadow:0 0 0 3px #9fbe9e30}.toast{background:#1f2a21;color:#f0f3ee}.btn{background:#454f46;color:var(--ink);border-color:#5a655b}.btn.primary{background:#8eaf8f;border-color:#8eaf8f;color:#1e2b20}.auth-gate{background:radial-gradient(ellipse at 18% 12%,#465448 0,transparent 34%),#343c35;color:var(--ink)}.auth-card{background:var(--paper);border-color:var(--line);box-shadow:0 22px 70px #0005}.auth-brand{color:var(--ink)}.auth-brand small,.auth-heading p,.auth-card>p{color:var(--muted)}.auth-form label{color:#d4dbd2}.auth-form input,.auth-form select{background:#343c35;color:var(--ink);border-color:#5b665b}.auth-form input::placeholder{color:#b0b9af}.auth-form input:focus,.auth-form select:focus{border-color:#9fbe9e;box-shadow:0 0 0 3px #9fbe9e30}.auth-notice{background:#3f503f;border-color:#5b7358;color:#d7e6d0}.auth-help,.auth-footnote{color:var(--muted)}.auth-footnote{border-color:var(--line)}.backend-toolbar{color:var(--muted);border-color:var(--line)}.backend-panel{background:#3b443d;border-color:var(--line)}.backend-panel h2,.backend-row b{color:var(--ink)}.backend-caption,.backend-row small{color:var(--muted)}.backend-row{border-color:#505a51}.backend-tag{background:#405344;color:#d5ead1}.backend-tag.pending{background:#554a35;color:#f1d69b}.invite-result{background:#3d4d3e;border-color:#5b7358}.invite-result>b{color:#d7e6d0}.invite-result input{background:#343c35;color:var(--ink);border-color:#5b665b}.invite-result>small{color:var(--muted)}.schedule-slot{border-color:var(--line)}.schedule-slot legend,.schedule-slot-fields label{color:#d4dbd2}.schedule-slot-fields select,.schedule-slot-fields input{background:#343c35!important;color:var(--ink)!important;border-color:#5b665b!important}.package-example{color:var(--muted)}.pilot-label{border-color:var(--line);color:#d0decf}
.coach-home-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.85fr);gap:16px;align-items:start}.coach-home-column{display:grid;gap:15px;min-width:0}.coach-page-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px;align-items:start}.coach-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.coach-section-heading h2{margin:0;font:700 18px Manrope}.coach-section-heading p{margin:5px 0 0;color:var(--muted);font-size:14px}.coach-empty{padding:19px;border-radius:10px;background:#343c35}.coach-empty b{font-size:15px}.coach-empty p{margin:5px 0 12px;color:var(--muted);font-size:13px;line-height:1.5}.coach-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.coach-list-row b{display:block;font-size:14px}.coach-list-row small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.coach-list-row>span:not(.backend-tag){font-size:13px;font-weight:650;white-space:nowrap}.coach-step{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.coach-step>span{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--green2);color:#d7e6d0;font-size:13px;font-weight:700}.coach-step>div{flex:1}.coach-step b{display:block;font-size:14px}.coach-step small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.coach-step button,.coach-quick-link{border:0;background:transparent;color:var(--green);font-size:13px;font-weight:700}.coach-quick-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:9px 0;border-top:1px solid var(--line);color:var(--ink);text-align:left}.coach-quick-link span{color:var(--green)}.coach-coming{max-width:720px;padding:28px!important}.coach-coming h2{margin:12px 0 6px;font:700 22px Manrope}.coach-coming p{margin:0 0 18px;color:var(--muted);font-size:15px;line-height:1.55}.coming-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--green2);color:#d7e6d0;font-size:21px}
:root .brand-mark{background:#4c704f;color:#f0f3ee}:root .live-stat{background:var(--paper);border-color:var(--line)}.eyebrow,.live-page-head .eyebrow{color:#b7d5b3}.batch-step-heading b{color:var(--ink)}.batch-icon{background:#495b4a;color:#d7e6d0}.auth-heading h1,.auth-card>h1{color:var(--ink)}.auth-link{color:#b8d7b6}.auth-error{color:#ffb2a9}.auth-gate,#auth-gate{background:radial-gradient(ellipse at 18% 12%,#465448 0,transparent 34%),#343c35;color:var(--ink)}.coach-quick-link:hover,.coach-step button:hover,.link-button:hover,.text-button:hover{color:#d7e6d0}.topbar .crumb span{color:#9ca89d}
@media(max-width:1050px){.coach-home-grid,.coach-page-grid{grid-template-columns:1fr}.coach-home-column{gap:12px}}
@media(max-width:700px){.coach-section-heading h2{font-size:17px}.coach-section-heading p,.coach-list-row small,.coach-step small{font-size:12px}.coach-coming{padding:20px!important}}
@media(max-width:700px){.sidebar{position:relative;inset:auto;width:100%;height:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line);flex-direction:column}.brand,.org-switch,.nav-label,.sidebar-bottom{display:none!important}nav{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}nav button{min-width:0;padding:9px 10px;flex-direction:row;justify-content:flex-start;font-size:13px}.main{width:100%;margin:0;padding-bottom:0}.app-shell{display:flex;flex-direction:column}.top-actions{gap:10px}.live-signout{padding:0!important;font-size:12px!important}.topbar{padding:0 16px}.content{padding:22px 16px 32px}}
.invite-result{margin-top:13px;padding:12px;border-radius:9px;background:#f0f5ed;border:1px solid #dce8d7}
.invite-result>b{display:block;margin-bottom:8px;color:#41613c;font-size:10px}
.invite-result input{width:100%;padding:9px;border:1px solid #d4dfd1;border-radius:7px;background:#fff;font-size:9px;color:#485347}
.invite-actions{display:flex;gap:8px;margin:9px 0;flex-wrap:wrap}
.invite-actions .btn{text-decoration:none}
.invite-result>small{font-size:9px;line-height:1.45;color:#727c70}
@media(max-width:560px){#auth-gate{padding:16px 12px;align-items:flex-start}.auth-card{padding:22px 18px;border-radius:15px}.auth-brand{margin-bottom:24px}.auth-heading h1,.auth-card>h1{font-size:22px}.auth-fields{grid-template-columns:1fr}}

.coach-loading{max-width:720px;padding:22px!important}.coach-loading h2{margin:0 0 8px;font:700 20px Manrope}.coach-loading p{color:var(--muted);line-height:1.5}

.schedule-add{background:#495b4a!important;border-color:#7a9278!important;color:#f2f6ef!important}.schedule-add:hover{background:#566c57!important}.time-picker{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:5px}.schedule-slot-fields .time-picker select{min-width:0;width:100%;min-height:45px;padding:8px 6px;background:#343c35;color:var(--ink);border:1px solid #5b665b;border-radius:7px;font-size:14px}.schedule-slot-fields .time-picker select:focus{outline:2px solid #9fbe9e;outline-offset:1px}

.time-picker{grid-template-columns:minmax(0,1fr) 86px}.schedule-slot-fields .time-picker select{min-width:0}.schedule-slot-fields .time-picker select:first-child{padding-left:10px;padding-right:10px}

.weekday-selector{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekday-button{min-width:0;min-height:46px;padding:8px 4px;border:1px solid #b8c5b5;border-radius:9px;background:#d9e1d6;color:#29362d;font-size:14px;font-weight:750;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.weekday-button:hover{background:#c7d4c4}.weekday-button.selected,.weekday-button[aria-pressed=true]{background:#495b4a;border-color:#8da98b;color:#f2f6ef}.weekday-button:focus-visible{outline:3px solid #a3c2a2;outline-offset:2px}.schedule-prompt{margin:0;color:var(--muted);font-size:13px}.schedule-slots{display:grid;gap:9px}.schedule-slot legend{font-size:14px;font-weight:750;color:var(--ink)}.schedule-slot-fields{grid-template-columns:1fr 1fr}.schedule-slot-fields>label{min-width:0}.schedule-remove{color:#f1a69b!important;font-size:12px!important}@media(max-width:480px){.weekday-selector{gap:5px}.weekday-button{min-height:42px;font-size:12px;padding:6px 2px}}

@media(max-width:700px){.schedule-slot-fields{grid-template-columns:1fr}}

.batch-summary{align-items:flex-start}.batch-summary-copy{min-width:0;flex:1}.batch-row-actions{display:flex;align-items:center;gap:10px;flex:none}.batch-delete{padding:6px 10px;border:1px solid #8b5c54;border-radius:8px;background:#543c38;color:#ffd0c8;font-size:12px;font-weight:700}.batch-delete:hover{background:#684943}.batch-delete:disabled{opacity:.65;cursor:wait}.live-notice{color:#d7e6d0}

.google-button{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff!important;border:1px solid #bdc7bd!important;color:#202720!important}.google-button:hover{background:#edf1ed!important}.google-button span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#fff;color:#4285f4;font:800 18px Arial,sans-serif}.auth-card .google-button{width:100%;min-height:48px;margin-top:10px;font-size:14px}
.schedule-slot{padding:7px 8px;scroll-margin-block:16px}
.schedule-slot-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.schedule-slot-fields .time-picker{grid-template-columns:minmax(0,1fr) 86px;gap:4px}
.schedule-slot-fields .time-picker select{min-height:42px;padding:5px 4px;font-size:14px}
.schedule-slot-fields .time-picker select:disabled{opacity:1;color:var(--ink);cursor:default}
.batch-row-actions{display:grid;justify-items:end;align-content:start;gap:8px}
.batch-row-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.batch-row-actions>.btn{white-space:nowrap}
.coach-message-dialog{width:min(420px,calc(100vw - 32px));padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}
.coach-message-dialog::backdrop{background:#17201999;backdrop-filter:blur(2px)}
.coach-message-dialog h2{margin:0 0 8px;font:700 21px Manrope,Arial,sans-serif;color:var(--ink)}
.coach-message-dialog p{margin:0 0 20px;color:var(--muted);line-height:1.55}
.venue-maps-field{display:grid;gap:7px;margin-top:-2px}.venue-maps-field>span{font-size:12px;font-weight:700;color:var(--muted)}.venue-maps-field small{color:var(--muted);font-size:12px;line-height:1.45}.venue-google-autocomplete{min-width:0}.venue-google-autocomplete:empty{display:none}.venue-google-autocomplete gmp-place-autocomplete{display:block;width:100%;min-height:46px;padding:2px 10px;background-color:#343c35;color:var(--ink);color-scheme:dark;border:1px solid #5b665b;border-radius:8px;font:inherit}
.parent-live-dashboard{display:grid;gap:14px;margin:20px 0}.parent-child-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#343c35}.parent-child-card h2{margin:0 0 10px;color:var(--ink);font-size:18px}.parent-class-row{display:grid;gap:5px;padding:12px 0;border-top:1px solid var(--line)}.parent-class-row b{color:var(--ink);font-size:14px}.parent-class-row small,.parent-empty{color:var(--muted);font-size:13px;line-height:1.5}.parent-empty{margin:4px 0}.parent-workspace-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}
.parent-page-head{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 22px}
.parent-page-head h1{margin:0;font:700 30px Manrope;letter-spacing:-.6px;color:var(--ink)}
.parent-page-head p{margin:7px 0 0;color:var(--muted);font-size:15px}
.parent-home{display:grid;gap:16px;width:100%}
.parent-welcome{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;border:1px solid #5b7358;border-radius:14px;background:linear-gradient(115deg,#405442,#3c493e)}
.parent-welcome>div:first-child>span{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#bad4b1}
.parent-welcome h2{margin:6px 0;font:700 22px Manrope;color:var(--ink)}
.parent-welcome p{margin:0;color:var(--muted);font-size:13px}
.parent-next-pill{display:grid;gap:4px;min-width:180px;padding:12px 14px;border:1px solid #687e66;border-radius:10px;background:#344238}
.parent-next-pill small{font-size:9px;letter-spacing:.8px;color:#bad4b1;font-weight:800}.parent-next-pill b{font-size:13px;color:var(--ink)}
.parent-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.parent-summary-card{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#3b443d}
.parent-summary-card small{color:var(--muted);font-size:12px}.parent-summary-card b{font:700 24px Manrope;color:var(--ink)}
.parent-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);gap:14px;align-items:start}
.parent-section{min-width:0;padding:17px;border:1px solid var(--line);border-radius:13px;background:#3b443d}
.parent-section-heading{margin-bottom:10px}.parent-section-heading h2{margin:0;font:700 17px Manrope;color:var(--ink)}.parent-section-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}
.parent-live-dashboard{margin:0;gap:10px}.parent-child-card{padding:15px;border-color:#566157;background:#343c35}
.parent-child-heading{display:flex;align-items:center;gap:11px;margin-bottom:3px}.parent-kid-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#52694f;color:#e5f0df;font-weight:800}
.parent-child-title h2{margin:0;color:var(--ink);font:700 16px Manrope}.parent-child-title small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.parent-class-row{gap:8px}.parent-class-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.parent-class-row b{color:var(--ink)}.parent-class-row small{display:block;color:var(--muted);font-size:12px;line-height:1.45;margin-top:4px}
.parent-classes-left{flex-shrink:0;padding:5px 8px;border-radius:99px;background:#485a49;color:#d7e6d0;font-size:10px;font-weight:700}
.parent-class-subline{display:flex;justify-content:space-between;gap:8px;color:#bdc7bd;font-size:10px}
.parent-upcoming-row{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.parent-upcoming-row>div{display:grid;gap:4px}
.parent-upcoming-row b{font-size:12px;color:var(--ink)}.parent-upcoming-row small{font-size:11px;color:var(--muted);line-height:1.4}
.parent-calendar-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#485a49;color:#d7e6d0;flex-shrink:0}
.parent-notes,.parent-recent-updates{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.parent-notes h3,.parent-recent-updates h3{margin:0 0 8px;font-size:12px;color:var(--ink)}
.parent-note,.parent-recent-note{padding:9px 0;border-top:1px solid #4d584e}.parent-note:first-of-type,.parent-recent-note:first-of-type{border-top:0}
.parent-note small,.parent-recent-note small{color:var(--muted);font-size:10px}.parent-note p,.parent-recent-note p{margin:4px 0 0;color:#e0e6df;font-size:12px;line-height:1.5}
.parent-recent-note>b{color:var(--ink);font-size:11px;margin-right:8px}.parent-workspace-actions{margin-top:3px}
@media(max-width:760px){.parent-page-head h1{font-size:25px}.parent-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-dashboard-grid{grid-template-columns:1fr}.parent-welcome{align-items:flex-start;flex-direction:column}.parent-next-pill{width:100%}}
