.child-stats{margin-bottom:25px}
.child-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow:auto}
.child-tab{border:0;background:transparent;padding:12px 15px;color:#829087;font:600 10px system-ui,sans-serif;white-space:nowrap;border-bottom:2px solid transparent;cursor:pointer}
.child-tab.active{color:#315d45;border-bottom-color:#5b8c73}
.child-panel{display:none}.child-panel.active{display:block}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.panel-heading h2{font:500 21px Georgia,serif;color:#263d34;margin:0}
.panel-heading p,.subheading p{font-size:10px;color:#849089;margin:5px 0 0}
.primary-button,.secondary-button{border:0;border-radius:8px;padding:10px 13px;font:700 10px system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.primary-button{background:#315d45;color:#fff}.primary-button:hover{background:#244b37}
.secondary-button{background:#edf3ef;color:#496b56}
.session-toolbar{display:flex;align-items:end;gap:12px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:11px;margin-bottom:15px;flex-wrap:wrap}
.session-toolbar label,.activity-child-label{display:grid;gap:6px;font-size:9px;font-weight:700;color:#78877e;min-width:145px}
.session-toolbar select,.session-toolbar input,.activity-child-label select,.lesson-toolbar input,.lesson-toolbar select,.children-toolbar input,.children-toolbar select{height:37px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:#405449;font:10px system-ui,sans-serif;min-width:0}
.session-meta{font-size:9px;color:#829087;margin-left:auto;padding:8px}
.attendance-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
.attendance-card,.activity-card,.children-directory{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px;min-width:0}
.subheading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.subheading h3{font:500 17px Georgia,serif;color:#2c4438;margin:0}
.count-chip{font-size:9px;color:#50715c;background:#edf4ef;border-radius:20px;padding:7px 9px;white-space:nowrap}
.attendance-list{display:grid;gap:7px}
.attendance-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #edf1ed;border-radius:8px}
.attendance-row input,.activity-check input{accent-color:#47795a;width:16px;height:16px}
.attendance-person{flex:1;min-width:0}.attendance-person strong,.attendance-person small{display:block}.attendance-person strong{font-size:10px;color:#405449}.attendance-person small{font-size:8px;color:#9aa49e;margin-top:3px}
.attendance-state{font-size:8px;color:#839188}
.activity-child-label{margin-bottom:13px}
.activity-tracker{border-top:1px solid #eff2ef;padding-top:12px}
.activity-progress{font-size:9px;color:#607a68;margin-bottom:10px}
.activity-check{display:flex;gap:9px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f0f3f0;font-size:10px;line-height:1.45;color:#53665a}
.activity-check:last-child{border-bottom:0}
.empty-state{font-size:10px;color:#99a39c;padding:15px 0}
.lesson-toolbar,.children-toolbar{display:flex;gap:9px;margin-bottom:15px}
.lesson-toolbar input,.children-toolbar input{flex:1}
.lesson-grid,.class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lesson-card,.class-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;min-width:0}
.lesson-card-top,.class-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.lesson-age,.class-age{font-size:8px;letter-spacing:.04em;text-transform:uppercase;color:#5e7e68;background:#edf4ef;padding:6px 8px;border-radius:20px}
.lesson-duration{font-size:8px;color:#99a39c}
.lesson-card h3,.class-card h3{font:500 16px Georgia,serif;color:#2f493a;margin:12px 0 5px}
.lesson-passage{font-size:9px;color:#7d8b82;margin:0 0 9px}
.lesson-objective{font-size:10px;line-height:1.55;color:#68786e;margin:0 0 10px}
.lesson-activities{border-top:1px solid #eff2ef;padding-top:9px}
.lesson-activities strong{font-size:9px;color:#536d5b}
.lesson-activities ul{padding-left:17px;margin:6px 0 0;color:#829087;font-size:9px;line-height:1.7}
.class-card p{font-size:9px;color:#829087;line-height:1.6;margin:6px 0}
.class-card .class-count{font-size:9px;color:#4d7059;background:#f1f6f2;border-radius:7px;padding:8px;margin-top:10px}
.children-directory{margin-top:18px;padding:0;overflow:hidden}
.children-directory>.subheading{padding:16px 16px 0}
.children-toolbar{padding:0 16px 14px}
.people-table{min-width:620px}
.child-dialog{border:1px solid var(--line);border-radius:13px;padding:0;width:min(570px,calc(100% - 28px));max-height:90vh;overflow:auto;box-shadow:0 20px 70px #1b30251c}
.child-dialog::backdrop{background:#172b2180;backdrop-filter:blur(2px)}
.child-dialog form{padding:22px}
.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.dialog-head h2{font:500 21px Georgia,serif;color:#263d34;margin:0}
.icon-button{border:0;background:#f1f4f1;border-radius:8px;width:30px;height:30px;font-size:19px;color:#63756a;cursor:pointer}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid label{display:grid;gap:6px;font-size:9px;font-weight:700;color:#687a6f}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff;color:#405449;font:10px system-ui,sans-serif}
.form-grid textarea{resize:vertical;line-height:1.5}
.full-field{grid-column:1/-1}
.form-hint{font-size:9px;color:#9a8170;line-height:1.5;margin:13px 0}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
@media(max-width:850px){.attendance-layout{grid-template-columns:1fr}}
@media(max-width:650px){.panel-heading{align-items:flex-start;flex-direction:column}.lesson-grid,.class-grid{grid-template-columns:1fr}.session-toolbar{align-items:stretch;flex-direction:column}.session-toolbar label{min-width:0}.session-meta{margin-left:0;padding:0}.child-tabs{margin-right:-17px}.child-dialog form{padding:16px}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.children-directory>.subheading{align-items:flex-start;flex-direction:column}.children-toolbar{flex-direction:column}}

.activity-check input:disabled{opacity:.35;cursor:not-allowed}
.activity-check:has(input:disabled){color:#a5aea8}
.reset-demo-button{padding:8px 10px;font-size:9px}
@media(max-width:430px){.reset-demo-button{padding:7px 8px;font-size:8px}.top-actions{gap:6px}}

.report-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:14px}
.report-filters label,.report-child-label{display:grid;gap:6px;min-width:160px;font-size:9px;font-weight:700;color:#78877e}
.report-filters select,.report-filters input,.report-child-label select{height:37px;min-width:170px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:#405449;font:10px system-ui,sans-serif}
.report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.report-stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px}
.report-stat span,.individual-stat span{display:block;font-size:9px;color:#829087}
.report-stat strong{display:block;font:500 24px Georgia,serif;color:#315d45;margin-top:7px}
.report-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;align-items:start}
.report-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px;min-width:0}
.report-table{min-width:520px}
.report-rate{display:block;width:64px;height:5px;border-radius:8px;background:linear-gradient(to right,#5d8d70 var(--rate),#edf1ed var(--rate));margin-top:5px}
.report-empty{font-size:10px;color:#99a39c;padding:13px 0}
.report-child-label{margin-bottom:13px}
.individual-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0 18px}
.individual-stat{background:#f6f8f6;border-radius:8px;padding:10px;min-width:0}
.individual-stat strong{display:block;font:500 17px Georgia,serif;color:#315d45;margin-top:5px}
.report-subtitle{font:500 14px Georgia,serif;color:#385244;margin:0 0 9px}
.progress-session{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-top:1px solid #eff2ef;padding:11px 0}
.progress-session-main{flex:1;min-width:120px}
.progress-session-main strong,.progress-session-main small{display:block}
.progress-session-main strong{font-size:10px;color:#455a4d}
.progress-session-main small,.progress-activity{font-size:8px;color:#94a097;margin-top:4px}
.progress-status{font-size:8px;padding:5px 7px;border-radius:15px}
.progress-status.present{background:#edf4ef;color:#50765c}
.progress-status.absent{background:#f7efeb;color:#a2785f}
.progress-activity{width:100%;margin:0 0 0 0}
@media(max-width:900px){.report-grid{grid-template-columns:1fr}}
@media(max-width:650px){.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters{align-items:stretch;flex-direction:column}.report-filters label,.report-filters select,.report-filters input{width:100%;min-width:0}.individual-stats{grid-template-columns:1fr 1fr}.report-card{padding:12px}}
@media print{
 @page{size:A4 portrait;margin:14mm}
 body{background:#fff!important;color:#222}
 .sidebar,.topbar,.demo-notice,.child-stats,.child-tabs,.panel-heading button,.report-filters,.reset-demo-button,footer{display:none!important}
 .main{margin:0!important}.content{max-width:none!important;padding:0!important}
 .welcome-row{margin-bottom:12px}.welcome-row h1{font-size:22px}
 .welcome-row .date-chip{display:none}
 .child-panel{display:none!important}#panel-reports{display:block!important}
 .report-grid{grid-template-columns:1fr}
 .report-card,.report-stat{break-inside:avoid;border:1px solid #ddd}
 .report-summary{grid-template-columns:repeat(4,1fr)}
 .report-table{min-width:0}
 .table-wrap{overflow:visible}
}

.demo-role-chip{font-size:8px;letter-spacing:.06em;color:#8a765b;background:#f6f1e8;border-radius:20px;padding:8px 10px;white-space:nowrap}
.teacher-selector-wrap{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:14px;max-width:520px}
.teacher-selector-wrap label{display:block;font-size:9px;font-weight:700;color:#718177;margin-bottom:7px}
.teacher-selector-wrap select{height:38px;width:100%;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:#405449;font:10px system-ui,sans-serif}
.teacher-selector-wrap p{font-size:9px;color:#9a8b79;line-height:1.5;margin:8px 0 0}
.teacher-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}
.teacher-stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px}
.teacher-stat span{display:block;font-size:9px;color:#829087}
.teacher-stat strong{display:block;font:500 24px Georgia,serif;color:#315d45;margin-top:7px}
.teacher-section-heading{display:flex;align-items:end;justify-content:space-between;margin:18px 0 12px}
.teacher-section-heading h3{font:500 17px Georgia,serif;color:#2c4438;margin:0}
.teacher-section-heading p{font-size:9px;color:#849089;margin:5px 0 0}
.teacher-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.teacher-class-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;min-width:0}
.teacher-class-top{display:flex;align-items:center;justify-content:space-between;gap:7px}
.teacher-role{font-size:8px;color:#7e8c82}
.teacher-class-card h4{font:500 16px Georgia,serif;color:#2f493a;margin:13px 0 6px}
.teacher-class-card p{font-size:9px;color:#829087;margin:0 0 13px}
.teacher-class-card button{width:100%}
.teacher-session-list{display:grid;gap:8px}
.teacher-session-row{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px}
.teacher-session-date{min-width:78px}
.teacher-session-date strong,.teacher-session-date small,.teacher-session-info strong,.teacher-session-info small{display:block}
.teacher-session-date strong{font-size:10px;color:#405449}
.teacher-session-date small,.teacher-session-info small{font-size:8px;color:#98a39b;margin-top:4px}
.teacher-session-info{flex:1;min-width:0}
.teacher-session-info strong{font-size:10px;color:#455a4d}
@media(max-width:900px){.teacher-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.teacher-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-class-grid{grid-template-columns:1fr}.teacher-session-row{align-items:flex-start;flex-wrap:wrap}.teacher-session-info{min-width:calc(100% - 95px)}.teacher-session-row button{margin-left:91px}.teacher-section-heading{align-items:flex-start}}

.guardian-field-label{display:block;font-size:9px;font-weight:700;color:#687a6f;margin-bottom:7px}
.guardian-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:#f8faf8;border:1px solid var(--line);border-radius:8px;padding:9px;max-height:150px;overflow:auto}
.guardian-option{display:flex;align-items:center;gap:7px;padding:6px;font-size:9px;color:#52675a;font-weight:500}
.guardian-option input{accent-color:#47795a}
.other-guardian-label{display:grid;gap:6px;font-size:9px;font-weight:700;color:#687a6f;margin-top:10px}
.other-guardian-label input{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:10px system-ui,sans-serif}
@media(max-width:650px){.guardian-options{grid-template-columns:1fr}}
