#attendance,#settings,#parentAccountPanel{scroll-margin-top:145px}
.parent-account-panel{padding:26px!important;border:1px solid #e0eaf4;background:linear-gradient(135deg,#fff 70%,#f2f8ff);border-radius:20px!important}
.parent-account-heading{display:flex;align-items:center;gap:15px;margin-bottom:18px}.parent-account-avatar{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:17px;color:#2673b6;background:#e5f2ff;font-size:24px;font-weight:800}.parent-account-heading h2{font-size:1.18rem;margin:5px 0;color:#173653}.parent-account-heading p{font-size:.78rem;margin:0;color:#7a90a4}.parent-account-manage{margin-left:auto;font-size:.8rem;text-decoration:none;color:#287dc4;white-space:nowrap}#parentAccountStatus{padding:12px 15px;background:#f1f6fc;border-radius:10px;color:#617e98;font-size:.8rem;margin:0}
#parentProfileForm{margin:20px 0 0;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px 24px;align-items:center}#parentProfileForm>label:first-child{font-size:.8rem;font-weight:700;color:#496985}#parentProfileName{box-sizing:border-box;min-height:46px;border:1px solid #d5e2ee;border-radius:10px;padding:11px 13px;width:100%;font:inherit;background:#fff;color:#173653}#parentProfileForm .parent-check{display:flex;align-items:center;gap:12px;border:1px solid #e1ebf5;border-radius:12px;background:#fff;padding:15px;margin:0}#parentProfileSMS{flex:none;width:20px;height:20px;margin:0;accent-color:#287dc4}#parentProfileForm .parent-check strong{display:block;font-size:.86rem;color:#244c70}#parentProfileForm .parent-check small{display:block;color:#8194a6;font-size:.72rem;line-height:1.7;margin-top:4px}#parentProfileForm .auth-button{width:fit-content;min-height:44px;padding:10px 24px;border-radius:10px;font-size:.8rem;box-shadow:0 5px 12px #287dc420}.parent-profile-save-note{font-size:.74rem;color:#8a9caf}#parentProfileResult:not(:empty){margin:12px 0 0;padding:9px 12px;border-radius:8px;background:#ecf8f2;font-size:.8rem}
.parent-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:20px 0 16px;gap:12px}.parent-calendar-month-nav{display:flex;align-items:center;gap:12px}.parent-calendar-month-nav strong{font-size:.98rem;color:#24496a;min-width:110px;text-align:center}.parent-calendar-toolbar button{min-height:40px;min-width:40px;border:1px solid #dae6f1;border-radius:10px;background:#fff;color:#3979ae;cursor:pointer;font:inherit}.parent-calendar-month-nav button{font-size:24px}.parent-calendar-toolbar>button{padding:7px 12px;font-size:.75rem}.parent-calendar-weekdays,.parent-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.parent-calendar-weekdays{margin-bottom:8px;text-align:center;color:#869caf;font-size:.76rem;padding:5px 0}.parent-calendar-grid{min-height:300px}.parent-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:62px;padding:8px 2px;border:1px solid #edf1f6;border-radius:10px;background:#fafcff;color:#284b6d;cursor:pointer;font:inherit}.parent-calendar-day strong{font-size:.95rem}.parent-calendar-day small{font-size:.64rem;white-space:nowrap;color:#93a2b2}.parent-calendar-day[data-status=present]{background:#edf9f4;color:#258266}.parent-calendar-day[data-status=present] small{color:#258266}.parent-calendar-day[data-status=leave]{background:#fff7e8;color:#b88b32}.parent-calendar-day[data-status=leave] small{color:#b88b32}.parent-calendar-day[data-status=absent]{background:#fff0f0;color:#c36363}.parent-calendar-day[data-status=absent] small{color:#c36363}.parent-calendar-day[data-status=holiday],.parent-calendar-day[data-status=paused]{background:#f0f1f7;color:#8c8fa6}.parent-calendar-day[data-today=true] strong::after{content:'';display:inline-block;margin-left:3px;width:4px;height:4px;border-radius:50%;background:#398bd3;vertical-align:middle}.parent-calendar-day[aria-pressed=true]{border-color:#489cde;box-shadow:inset 0 0 0 1px #489cde}.parent-calendar-day:hover{border-color:#a6c9e4}.parent-calendar-day:focus-visible,.parent-calendar-toolbar button:focus-visible{outline:3px solid #8ac4f1;outline-offset:2px}.parent-calendar-grid[aria-busy=true]{opacity:.6}.parent-calendar-legend{display:flex;flex-wrap:wrap;gap:9px 14px;margin:17px 0;font-size:.68rem;color:#8295a8}.parent-calendar-legend span::before{content:'';display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#cad7e3}.parent-calendar-legend [data-status=present]::before{background:#50ac8b}.parent-calendar-legend [data-status=leave]::before{background:#d7b55c}.parent-calendar-legend [data-status=absent]::before{background:#d48b8b}.parent-calendar-legend [data-status=holiday]::before{background:#9da1b9}.parent-calendar-selection{border-radius:12px;background:#f4f8fc;padding:14px 16px}.parent-calendar-selection strong{font-size:.8rem;color:#426c90}.parent-calendar-selection p{margin:7px 0 0;font-size:.8rem;color:#6f879d;line-height:1.7}
.parent-wechat-card{padding:26px!important;border-radius:20px!important;background:linear-gradient(130deg,#fff,#f2fbf7);border:1px solid #daece3}.parent-wechat-heading{display:flex;align-items:center;gap:13px}.parent-wechat-icon{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:15px;background:#e0f3e9;color:#389774;font-size:24px}.parent-wechat-heading h2{font-size:1.12rem;color:#244e41;margin:6px 0}.parent-wechat-badge{margin-left:auto;white-space:nowrap;font-size:.7rem;color:#9b803b;background:#fff5dc;padding:7px 11px;border-radius:20px}#settings[data-state=ready] .parent-wechat-badge{color:#398565;background:#e6f5ed}#wechatStatus{font-size:.85rem;line-height:1.7;color:#527868;background:#edf7f1;border-radius:10px;padding:13px 15px;margin:20px 0}.parent-wechat-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;font-size:.75rem;color:#597965}.parent-wechat-steps span{display:flex;align-items:center;gap:7px}.parent-wechat-steps b{display:grid;place-items:center;flex:none;width:23px;height:23px;border:1px solid #d4e8dc;border-radius:50%;font-size:.7rem;color:#579777}.parent-wechat-help{font-size:.77rem;line-height:1.7;color:#819789;margin:15px 0!important}.parent-wechat-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.parent-wechat-actions button,.parent-wechat-actions a{font-size:.76rem;border-radius:10px;min-height:42px;padding:10px 14px;box-sizing:border-box}.parent-wechat-actions .auth-button{width:auto;box-shadow:0 4px 12px #3985651c;background:#3d9476;border-color:#3d9476}.parent-wechat-actions .logout{background:#fff;border:1px solid #d5e4dc;color:#54836d}.parent-wechat-actions .back{color:#60927c;text-decoration:none}
@media(max-width:600px){.parent-account-panel,.parent-wechat-card{padding:20px!important}.parent-account-heading{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:8px 12px}.parent-account-avatar{grid-row:1/3}.parent-account-heading>div{min-width:0}.parent-account-manage{grid-column:2;margin-left:0;white-space:normal;font-size:.75rem}#parentProfileForm{grid-template-columns:1fr}#parentProfileForm .auth-button{width:100%}.parent-profile-save-note{text-align:center}.parent-wechat-heading{flex-wrap:wrap}.parent-wechat-heading>div{flex:1}.parent-wechat-badge{margin:5px 0 0 63px}.parent-wechat-steps{grid-template-columns:1fr;gap:12px}.parent-wechat-actions{display:grid;grid-template-columns:1fr 1fr}.parent-wechat-actions .auth-button{grid-column:1/-1}.parent-wechat-actions a{grid-column:1/-1;text-align:center}.parent-calendar-grid{gap:4px}.parent-calendar-day{min-height:59px;border-radius:7px}.parent-calendar-day small{font-size:10px}.parent-calendar-toolbar{gap:6px}.parent-calendar-month-nav{gap:5px}.parent-calendar-month-nav strong{min-width:100px;font-size:.88rem}.parent-calendar-toolbar>button{font-size:.68rem;padding:5px 8px}}
.parent-finance-sync { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin: 12px 0; font-size: 12px; color: #527167; }
.parent-finance-sync .is-stale { color: #996815; }
.parent-finance-sync button { flex-shrink: 0; }
.parent-paid-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.parent-paid-summary > div { min-width: 0; padding: 16px 12px; border: 1px solid #dbe8e2; border-radius: 12px; background: #f5faf8; }
.parent-paid-summary small, .parent-paid-summary strong, .parent-paid-summary span { display: block; }
.parent-paid-summary small { color: #496e60; font-size: 12px; }
.parent-paid-summary strong { margin: 8px 0; color: #284d3f; font-size: clamp(18px, 2vw, 24px); overflow-wrap: anywhere; }
.parent-paid-summary span { color: #6b7d76; font-size: 11px; line-height: 1.6; }
.parent-money-help { margin: 16px 0; padding: 13px 15px; border-radius: 10px; background: #f5f8fb; color: #586e82; font-size: 12px; line-height: 1.8; }
.parent-money-help summary { cursor: pointer; font-weight: 600; }
.parent-money-help p { margin: 10px 0 0; }
.parent-money-pending { padding: 10px 12px; background: #fff5df; color: #855b12 !important; border-radius: 8px; }
@media (max-width: 600px) {
 .parent-paid-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .parent-paid-summary > div:first-child { grid-column: 1 / -1; }
}

.parent-visit-package{margin-top:18px;padding:16px;border:1px solid #dae6f1;background:#f5f9ff;border-radius:14px}.parent-visit-package p{font-size:.8rem;line-height:1.7;margin:8px 0 0}.parent-visit-package .is-stale{color:#a56728}.parent-individual-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.parent-individual-card{padding:20px;border:1px solid #dce7f0;border-radius:16px;min-width:0;background:#fafcff;overflow-wrap:anywhere}.parent-individual-card header{display:flex;justify-content:space-between;gap:12px;align-items:start}.parent-individual-card h3{font-size:1.05rem;margin:0;color:#294e6c}.parent-individual-card header span{font-size:.72rem;color:#507d9e;flex-shrink:0}.parent-individual-card p{font-size:.78rem;color:#678095;line-height:1.8}.parent-individual-card>strong{color:#267b64;font-size:1.2rem}.parent-individual-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid #dce7f0;padding-top:14px}.parent-individual-card dt{font-size:.7rem;color:#678095}.parent-individual-card dd{margin:7px 0 0;font-size:.95rem;font-weight:700;color:#294e6c}.parent-individual-card .parent-course-reminder{padding:10px 12px;background:#fff3dc;border-radius:10px;color:#8d651e}
@media(max-width:760px){.parent-individual-list{grid-template-columns:1fr}}
@media(max-width:440px){.parent-individual-card{padding:16px}.parent-individual-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-individual-card dl>div:first-child{grid-column:1/-1}}

.parent-lesson-history{margin-top:22px;padding:20px;border:1px solid #dce7f0;border-radius:16px;background:#fafcff;scroll-margin-top:80px;min-width:0}.parent-lesson-history[hidden]{display:none}.parent-lesson-history>header,.parent-lesson-item>header{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}.parent-lesson-history h3{margin:0;font-size:1rem;overflow-wrap:anywhere}.parent-lesson-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.parent-lesson-controls label{display:grid;gap:6px;font-size:.8rem;color:#50718b;min-width:0}.parent-lesson-controls input{max-width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:8px 12px;border:1px solid #cfdeed;border-radius:10px;background:#fff;font:inherit}.parent-lesson-history button{min-height:44px}.parent-lesson-summary{font-size:.85rem;line-height:1.8;color:#294e6c;font-weight:600}#parentLessonStatus{font-size:.8rem;color:#678095;line-height:1.7}#parentLessonStatus.is-stale{color:#9a5a20}.parent-lesson-list{display:grid;gap:12px}.parent-lesson-item{padding:16px;background:#fff;border:1px solid #dce7f0;border-radius:12px;overflow-wrap:anywhere}.parent-lesson-item header{font-size:.8rem}.parent-lesson-item header span{font-size:.72rem;color:#27765f}.parent-lesson-item h4{margin:12px 0 8px;color:#294e6c;font-size:.95rem}.parent-lesson-item p,.parent-lesson-content{font-size:.82rem;line-height:1.8;color:#526e84}.parent-lesson-content{white-space:pre-wrap}.parent-lesson-item.is-reversed{background:#f4f5f6;border-style:dashed}.parent-lesson-item.is-reversed header span{color:#865d2d}@media(max-width:440px){.parent-lesson-history{padding:12px}.parent-lesson-item{padding:12px}.parent-lesson-controls label{max-width:100%}}
/* Package controls share the lesson history's mobile layout. */
.parent-lesson-controls select { width: 100%; max-width: 100%; min-width: 0; padding: 10px; border: 1px solid #cbdde8; border-radius: 8px; background: #fff; color: #263f5c; }
.parent-visit-renewal { margin: 14px 0; padding: 14px; background: #f2f8ff; border-radius: 12px; overflow-wrap: anywhere; }
.parent-visit-renewal[hidden] { display: none; }
.parent-visit-renewal textarea { display: block; box-sizing: border-box; width: 100%; margin: 8px 0; padding: 10px; resize: vertical; font: inherit; line-height: 1.7; color: #263f5c; background: #fff; border: 1px solid #cbdde8; border-radius: 8px; }
#parentVisitHistory { overflow-wrap: anywhere; }
#parentVisitStatus, #parentVisitHistory small { font-size: .8rem; line-height: 1.7; color: #678095; }
#parentVisitStatus.is-stale { color: #9a5a20; }
#parentVisitHistory .parent-lesson-controls label { min-width: 0; max-width: 100%; flex: 1 1 240px; }
