@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";@layer legacy{:root{--accent: #0f8f8a;--accent-strong: #0b6f6b;--accent-soft: #e8f7f5;--border-subtle: #e5e9ef;--border-hairline: .5px solid var(--border-subtle);--border-strong: 1.5px solid var(--accent);--danger: #b91c1c;--surface: #ffffff;--surface-muted: #f5f7f8;--text-main: #172033;--text-muted: #64748b;--text-soft: #8a96a8;--warm-surface: #fbf7f1;color:#172033;background:#f5f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.student-records-header{align-items:flex-start;gap:1rem}.student-records-tabs{border-bottom:1px solid #dbe4e8;display:flex;gap:.4rem;margin:1.25rem 0}.student-records-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;color:#64748b;padding:.8rem 1rem}.student-records-tabs button.active{border-bottom-color:#0f8f8a;color:#0f5f5b}.student-records-layout{align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(190px,240px) minmax(0,1fr)}.student-records-selector{background:#f7fafb;border:1px solid #dce6e8;border-radius:14px;padding:1rem;position:sticky;top:1rem}.student-records-selector>label{display:grid;font-size:.85rem;font-weight:700;gap:.4rem}.student-records-students{display:grid;gap:.4rem;margin-top:.8rem;max-height:68vh;overflow-y:auto}.student-records-students button{align-items:flex-start;background:#fff;border:1px solid #dbe4e8;color:#27364a;display:flex;flex-direction:column;gap:.2rem;padding:.75rem;text-align:left}.student-records-students button.selected{background:#e9f7f6;border-color:#0f8f8a;color:#0f5f5b}.student-records-students small{color:#718096;font-weight:500}.student-records-content{display:grid;gap:1rem;min-width:0}.student-records-card{background:#fff;border:1px solid #dce6e8;border-radius:16px;box-shadow:0 8px 24px #1e37410f;padding:1.2rem}.student-records-card>h2,.student-records-section-title h2{font-size:1.15rem;margin:0 0 .9rem}.student-records-section-title{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.student-records-section-title h2{margin-bottom:.25rem}.student-records-section-title p{color:#64748b;margin:0}.consultation-growth-snapshot{align-items:center;background:#f0f7f6;border:1px solid #d2e8e6;border-radius:12px;display:flex;flex-wrap:wrap;gap:.7rem 1rem;margin-bottom:1rem;padding:.8rem 1rem}.consultation-growth-snapshot span{color:#58706f;font-size:.82rem;width:100%}.consultation-growth-snapshot strong{color:#0f5f5b;font-size:.9rem}.student-records-form{display:grid;gap:.9rem}.student-records-form label{display:grid;font-size:.86rem;font-weight:700;gap:.4rem}.student-records-form .form-grid{display:grid;gap:.8rem}.student-records-form .form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.student-records-form .form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.student-records-form textarea{line-height:1.55;resize:vertical}.student-consultation-list{display:grid;gap:.85rem}.student-consultation-list>article{border:1px solid #dce6e8;border-radius:12px;padding:1rem}.student-consultation-list article>header,.student-consultation-list article>footer{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.student-consultation-list article>header>div{align-items:center;display:flex;gap:.5rem}.student-consultation-list time,.student-consultation-list footer span{color:#64748b;font-size:.8rem}.student-record-status{border-radius:999px;font-size:.72rem;font-weight:800;padding:.2rem .5rem}.student-record-status.completed{background:#dcfce7;color:#047857}.student-record-status.draft{background:#fef3c7;color:#a16207}.student-record-discussion{line-height:1.65;white-space:pre-wrap}.student-record-result{background:#f8fafc;border-radius:10px;margin:.7rem 0;padding:.75rem}.student-record-result b{color:#475569;font-size:.78rem}.student-record-result p{margin:.3rem 0 0;white-space:pre-wrap}.student-record-revisions{background:#f8fafc;border-top:1px solid #e2e8f0;display:grid;gap:.5rem;margin-top:.9rem;padding:.8rem}.student-record-revisions details{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.6rem}.student-record-revisions summary{cursor:pointer;font-weight:700}.student-publication-table td{min-width:90px;vertical-align:top}.student-publication-table td:nth-child(2),.student-publication-table td:last-child{min-width:180px}.student-publication-table td small{color:#64748b;display:block;margin-top:.3rem}@media(max-width:900px){.student-records-layout{grid-template-columns:1fr}.student-records-selector{position:static}.student-records-students{grid-template-columns:repeat(2,minmax(0,1fr));max-height:280px}.student-records-form .form-grid.three-columns{grid-template-columns:1fr}}@media(max-width:640px){.student-records-tabs,.student-records-section-title,.student-consultation-list article>header,.student-consultation-list article>footer{align-items:stretch;flex-direction:column}.student-records-tabs button{text-align:left}.student-records-students,.student-records-form .form-grid.two-columns{grid-template-columns:1fr}}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid transparent;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;font-weight:500;padding:12px 16px}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{background:#fff;border-color:var(--border-subtle);color:var(--text-main)}button.danger{background:#fff;border-color:#fecaca;color:#b91c1c}.link-button{background:var(--accent);border:1px solid var(--accent);border-radius:8px;color:#fff;display:inline-block;font-weight:500;padding:12px 16px;text-align:center;text-decoration:none}.app{min-height:100vh}.topbar{align-items:center;background:#0f8f8a;border-bottom:1px solid #0b766f;display:flex;gap:16px;justify-content:space-between;padding:16px 24px}.topbar strong{color:#fff;display:block;font-size:30px}.topbar span{color:#ffffffd1;font-size:13px}.topbar nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.topbar a{border-radius:8px;color:#fff;padding:8px 10px;text-decoration:none}.topbar a.active{background:#ffffff2e;color:#fff;font-weight:700}.config-warning{background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;padding:12px 24px}.pwa-install-banner{align-items:center;background:linear-gradient(135deg,#ecfdf5,#fff);border-bottom:var(--border-hairline);display:flex;gap:16px;justify-content:space-between;padding:14px 44px}.pwa-install-banner strong{color:var(--text-main);display:block;font-size:16px;font-weight:500}.pwa-install-banner p{color:var(--text-muted);margin:4px 0 0}.pwa-install-actions{display:flex;flex-shrink:0;gap:8px}.page{padding:32px 16px}.home-page{margin:0 auto;max-width:1120px;padding-top:40px;position:relative}.home-page:before{background:radial-gradient(circle at 18% 12%,rgba(15,143,138,.18),transparent 28%),radial-gradient(circle at 90% 10%,rgba(36,107,254,.1),transparent 24%);content:"";top:0;right:0;bottom:0;left:50%;pointer-events:none;position:fixed;transform:translate(-50%);width:min(100vw,1440px);z-index:-1}.home-hero{align-items:center;background:linear-gradient(135deg,#0f8f8af5,#0d746feb),#0f8f8a;border:1px solid rgba(255,255,255,.42);border-radius:8px;box-shadow:0 18px 40px #0c5f5a2e;color:#fff;display:flex;justify-content:space-between;overflow:hidden;padding:42px;position:relative}.home-hero:after{background:#ffffff17;border-radius:999px;content:"";height:240px;position:absolute;right:-70px;top:-90px;width:240px}.home-hero-copy{max-width:680px;position:relative;z-index:1}.eyebrow{color:#ffffffd6;font-size:14px;font-weight:900;letter-spacing:0;margin-bottom:8px}.home-hero h1{font-size:42px;line-height:1.12;margin-bottom:14px}.home-hero p{color:#ffffffe0;font-size:18px;max-width:640px}.home-hero-mark{align-items:center;aspect-ratio:1;background:#ffffff24;border:1px solid rgba(255,255,255,.22);border-radius:8px;display:grid;flex:0 0 148px;justify-items:center;padding:20px;position:relative;z-index:1}.home-hero-mark span,.home-hero-mark b{display:block}.home-hero-mark span{font-size:34px;font-weight:900}.home-hero-mark b{color:#ffffffd1;font-size:14px}.secondary-link{background:#e5e7eb;color:#263143}.portal-placeholder{min-height:280px}.home-section{background:#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 12px 30px #1720330f;margin-top:22px;padding:24px}.notice-list{display:grid;gap:12px;margin-top:18px}.notice-item{background:#fff;border:1px solid #edf1f7;border-radius:8px;padding:16px}.notice-item.pinned{background:#f0fdfa;border-color:#99f6e4}.notice-item strong{display:block;font-size:17px;margin-bottom:6px}.notice-item p{color:#6b7280;margin:0;white-space:pre-wrap}.notice-meta-row{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.notice-meta-row time{color:#94a3b8;font-size:12px;font-weight:800}.notice-badge,.notice-count{background:#ccfbf1;border-radius:999px;color:#0f766e;font-size:12px;font-weight:900;padding:5px 9px}.empty-notice{background:#f8fafc}.home-info-box{align-items:center;background:#ffffffb8;border:var(--border-hairline);border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-top:18px;padding:16px 18px}.home-info-box strong{color:#0f766e;flex-shrink:0}.home-info-box p{color:#64748b;margin:0;text-align:right}.panel{background:#fff;border:var(--border-hairline);border-radius:8px;margin:0 auto;max-width:680px;padding:24px}.panel.wide{max-width:1120px}h1,h2,p{margin-top:0}h1{font-size:28px;margin-bottom:6px}h2{font-size:16px}h3{font-size:15px;margin:0 0 12px}.form-row{align-items:end;display:grid;gap:12px;grid-template-columns:1fr auto}label{color:#4b5563;display:grid;font-size:14px;font-weight:700;gap:8px}input{border:1px solid #cbd5e1;border-radius:8px;font-size:18px;padding:12px 14px;width:100%}textarea{border:1px solid #cbd5e1;border-radius:8px;line-height:1.6;padding:12px 14px;resize:vertical;width:100%}select{border:1px solid #cbd5e1;border-radius:8px;min-height:42px;padding:10px;width:100%}select[multiple]{min-height:120px}.compact-select{min-height:auto}.checkbox-label{align-items:center;display:flex;flex-direction:row;gap:10px}.checkbox-label input{width:auto}.student-confirm,.stack{display:grid;gap:16px;margin-top:24px}.student-confirm p,.status,.title-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.status.vertical{align-items:flex-start;flex-direction:column}.admin-menu-row{align-items:center;border-top:var(--border-hairline);display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px}.admin-menu-row a,.admin-menu-row button{min-width:104px;text-align:center}code{background:#f1f5f9;border-radius:6px;color:#334155;display:block;overflow-wrap:anywhere;padding:8px}.student-confirm span,.status span,.list span{color:#6b7280}.button-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.button-row.inline{display:flex}.parent-actions{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.parent-dashboard-page .panel.wide{max-width:1120px}.calendar-panel{display:grid;gap:16px}.calendar-grid{background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:0;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}.calendar-weekday{background:#f8fafc;border-bottom:var(--border-hairline);color:#64748b;font-size:.84rem;padding:10px;text-align:center}.calendar-day{background:#fff;border:0;border-bottom:1px solid #edf1f7;border-right:1px solid #edf1f7;color:#0f172a;display:grid;gap:7px;min-height:104px;padding:8px;text-align:left}.calendar-day:nth-child(7n+7){border-right:0}.calendar-day.muted{background:#f8fafc;color:#94a3b8}.calendar-day.selected{background:#ecfeff;box-shadow:inset 0 0 0 2px #0891b2}.calendar-day.has-events>span{color:#0f766e;font-weight:900}.calendar-day>div{align-content:start;display:flex;flex-wrap:wrap;gap:4px}.calendar-day small{color:#64748b;font-size:.75rem;font-weight:900}.calendar-selected-events{background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:12px;padding:16px}.calendar-selected-events h3{margin:0}.calendar-selected-events strong{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.admin-students-page .panel.wide,.admin-learning-page .panel.wide,.admin-calendar-page .panel.wide{max-width:1280px}.calendar-admin-toolbar,.calendar-month-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.calendar-admin-toolbar{border-top:var(--border-hairline);margin-top:16px;padding-top:16px}.calendar-admin-toolbar strong,.calendar-month-controls strong{color:#0f172a;font-size:1.05rem;min-width:86px;text-align:center}.calendar-admin-layout{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);margin-top:20px}.calendar-event-form,.calendar-event-list{background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:14px;padding:16px}.calendar-admin-events strong{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.calendar-admin-events p{color:#475569;margin:8px 0 0;white-space:pre-wrap}.calendar-type-badge{border-radius:999px;display:inline-flex;font-size:.74rem;font-style:normal;font-weight:900;line-height:1;padding:5px 8px;white-space:nowrap}.calendar-type-badge.class{background:#ecfeff;color:#0e7490}.calendar-type-badge.test{background:#fff1f2;color:#be123c}.calendar-type-badge.assignment_due{background:#fef3c7;color:#b45309}.calendar-type-badge.consultation{background:var(--accent-soft);color:var(--accent-strong)}.calendar-type-badge.day_off{background:#f1f5f9;color:#475569}.calendar-type-badge.notice{background:#f0fdf4;color:#15803d}.admin-student-dashboard-page .panel.wide{max-width:1280px}.student-dashboard-layout{align-items:start;display:grid;gap:18px;grid-template-columns:280px minmax(0,1fr);margin-top:18px}.student-dashboard-list{background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:grid;gap:12px;grid-template-rows:auto auto minmax(0,1fr);max-height:calc(100vh - 180px);min-height:360px;overflow:hidden;padding:14px;position:sticky;top:16px}.student-dashboard-list input{width:100%}.student-dashboard-list-items{display:grid;gap:8px;max-height:100%;min-height:0;overflow:auto;padding-right:4px}.student-dashboard-list-items button{background:#fff;border:var(--border-hairline);border-radius:8px;color:#0f172a;display:grid;gap:4px;padding:10px;text-align:left}.student-dashboard-list-items button.selected{background:#ecfeff;border-color:#0891b2;box-shadow:0 0 0 1px #0891b226}.student-dashboard-list-items small{color:#64748b}.student-dashboard-detail{display:grid;gap:16px}.student-profile-card{align-items:center;background:linear-gradient(135deg,#0f766e,#0891b2);border-radius:8px;color:#fff;display:flex;gap:14px;justify-content:space-between;padding:22px}.student-profile-card h2,.student-profile-card p{margin:0}.student-profile-card p{color:#ffffffd1}.student-profile-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.student-profile-tags span{background:#ffffff29;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.82rem;font-weight:800;padding:6px 10px}.student-dashboard-metrics{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-metric-card,.student-dashboard-card{background:#fff;border:var(--border-hairline);border-radius:8px}.dashboard-metric-card{display:grid;gap:8px;padding:16px}.dashboard-metric-card span{color:#64748b;font-size:.86rem;font-weight:800}.dashboard-metric-card strong{color:#0f172a;font-size:1.25rem}.student-dashboard-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.student-dashboard-card{display:grid;gap:12px;padding:16px}.student-dashboard-card.wide{grid-column:1 / -1}.student-dashboard-card h3{margin:0}.recent-attendance-card .compact-info-list{max-height:260px;overflow:auto;padding-right:4px}.compact-info-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.compact-info-list li{background:#f8fafc;border:1px solid #edf1f7;border-radius:8px;display:grid;gap:3px;padding:10px}.compact-info-list li button{justify-self:start;margin-top:6px}.compact-info-list strong,.compact-info-list span,.compact-info-list small{display:block}.compact-info-list span,.compact-info-list small{color:#64748b}.student-crm-timeline{display:grid;gap:10px;list-style:none;margin:0;padding:0}.student-crm-timeline li{align-items:start;background:#f8fafc;border:1px solid #edf1f7;border-left:4px solid #94a3b8;border-radius:8px;display:grid;gap:12px;grid-template-columns:104px minmax(0,1fr);padding:12px}.student-crm-timeline li.attendance{border-left-color:#0f8f8a}.student-crm-timeline li.consultation{border-left-color:#7c3aed}.student-crm-timeline li.assignment{border-left-color:#2563eb}.student-crm-timeline li.exam{border-left-color:#f97316}.student-crm-timeline li.memo{border-left-color:#16a34a}.student-crm-timeline span{color:#64748b;font-size:.86rem}.student-crm-timeline div{display:grid;gap:4px}.student-crm-timeline small{color:#64748b}.admin-classes-dashboard-page .panel.wide{max-width:1280px}.class-dashboard-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:18px}.class-dashboard-card{background:#fff;border:var(--border-hairline);border-radius:8px;color:#0f172a;display:grid;gap:14px;padding:16px;text-align:left}.class-dashboard-card.selected{border-color:#0f8f8a;box-shadow:0 0 0 1px #0f8f8a2e}.class-dashboard-card strong{display:block;font-size:1.1rem}.class-dashboard-card span{color:#64748b}.class-dashboard-metrics{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.class-dashboard-metrics span{background:#f8fafc;border-radius:8px;color:#334155;padding:8px}.class-dashboard-detail{display:grid;gap:16px;margin-top:20px}.class-detail-columns{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-followups-page .panel.wide{max-width:1180px}.followup-toolbar{align-items:end;display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.followup-toolbar label{display:grid;gap:6px;min-width:180px}.followup-list{display:grid;gap:12px;margin-top:18px}.followup-row{background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:12px;padding:16px}.followup-row.done{opacity:.72}.followup-row span,.followup-row p{color:#64748b;margin:4px 0 0}.followup-row label{color:#64748b;display:grid;font-size:.9rem;gap:6px}.student-followup-done{border-top:var(--border-hairline);padding-top:10px}.student-followup-done summary{color:#64748b;cursor:pointer;font-weight:500;margin-bottom:10px}.student-followup-item.done{opacity:.72}.student-followup-fields{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px}.student-followup-item label{color:#64748b;display:grid;font-size:.86rem;gap:5px}.student-followup-item input,.student-followup-item textarea{background:#fff}.learning-admin-layout{align-items:start;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.learning-list-section{margin-top:20px}.learning-admin-list p{color:#6b7280;margin:6px 0}.learning-admin-list a{color:#0f766e;font-weight:800}.admin-students-toolbar{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(320px,1fr) repeat(3,130px);margin-top:20px}.compact-metric{min-height:68px}.admin-students-layout{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);margin-top:20px}.course-group-grid-single{grid-template-columns:1fr}.student-editor-panel{position:sticky;top:16px}.student-editor-form{grid-template-columns:1fr}.student-editor-actions{display:flex;gap:8px;margin-top:12px}.parent-login-card{margin-top:20px}.login-action-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.text-link-button{background:transparent;border:0;color:var(--accent-strong);font-weight:500;padding:0;text-decoration:underline;text-underline-offset:3px}.text-link-button:hover:not(:disabled){background:transparent;border:0;color:#065f5b}.parent-hero-card{align-items:center;background:#f8fafc;border:1px solid #edf1f7;border-radius:8px;display:flex;justify-content:space-between;margin-top:20px;padding:16px}.parent-hero-card strong,.parent-hero-card span,.parent-hero-card b,.parent-hero-card small{display:block}.parent-hero-card strong{font-size:24px}.parent-hero-card span,.parent-hero-card small{color:#6b7280;margin-top:4px}.parent-dashboard-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.parent-section{display:grid;gap:16px}.email-fallback-box,.pwa-help-card{background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:grid;gap:8px;padding:16px}.email-fallback-box{display:none}.email-fallback-box label{align-items:center;display:flex;gap:8px;font-weight:500}.email-fallback-box input{width:auto}.pwa-help-card strong{color:var(--accent-strong);font-weight:500}.pwa-help-card p{color:var(--text-muted);margin:0}.direct-message-list{display:grid;gap:12px}.direct-message-card{background:#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 8px 22px #0f172a09;display:grid;gap:8px;padding:16px}.direct-message-card.unread{border:var(--border-strong);background:#f0fdfa}.direct-message-card>div:first-child{align-items:center;display:flex;gap:8px;justify-content:space-between}.direct-message-card span{color:var(--text-muted);font-size:12px}.direct-message-card b{background:#ccfbf1;border-radius:999px;color:var(--accent-strong);font-size:12px;font-weight:500;padding:4px 8px}.direct-message-card strong{font-size:18px;font-weight:500}.direct-message-card p{color:#475569;margin:0;white-space:pre-wrap}.event-application-layout,.level-test-layout{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr)}.event-summary-card,.event-form-card,.event-admin-card,.event-application-row,.level-test-summary-card,.level-test-form-card,.level-test-admin-card{background:#fff;border:var(--border-hairline);border-radius:8px;padding:20px}.event-summary-card h1,.level-test-summary-card h1{margin:8px 0 10px}.event-summary-card dl,.level-test-summary-card dl{display:grid;gap:12px;margin:20px 0 0}.event-summary-card dt,.level-test-summary-card dt{color:#64748b;font-size:.85rem}.event-summary-card dd,.level-test-summary-card dd{font-weight:500;margin:2px 0 0}.two-column-form{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.success-state{align-content:center;display:grid;gap:12px;min-height:280px;text-align:center}.event-admin-list,.event-application-table,.level-test-admin-list{display:grid;gap:12px}.event-admin-card,.event-application-row{align-items:center;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto}.event-admin-card>div:first-child,.event-application-row>div:first-child{display:grid;gap:6px}.event-admin-card small,.event-application-row small{color:#64748b;overflow-wrap:anywhere}.event-application-row{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto}.event-application-meta{color:#64748b;display:grid;font-size:.92rem;gap:4px}.event-application-search{display:grid;gap:8px;margin:16px 0}.event-application-search span{color:#64748b;font-size:.9rem}.level-test-admin-card{display:grid;gap:14px}.level-test-admin-head{align-items:start;display:flex;gap:12px;justify-content:space-between}.level-test-admin-head>div{display:grid;gap:4px}.level-test-admin-head small,.level-test-admin-meta{color:#64748b}.level-test-admin-meta{display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr))}.level-test-admin-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.level-test-admin-actions{align-items:center;display:flex;gap:12px;justify-content:flex-end}.level-test-admin-actions small{color:var(--accent-strong)}@media(max-width:820px){.event-application-layout,.level-test-layout,.two-column-form,.event-application-row,.level-test-admin-grid,.level-test-admin-meta{grid-template-columns:1fr}.event-application-row{align-items:stretch}.level-test-admin-head,.level-test-admin-actions{align-items:flex-start;flex-direction:column}}.teacher-admin-layout,.teacher-portal-layout{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.2fr)}.teacher-admin-form,.teacher-admin-list,.teacher-card,.teacher-profile-card{background:#fff;border:var(--border-hairline);border-radius:8px;padding:18px}.teacher-sidebar{display:grid;gap:14px}.teacher-profile-card{display:grid;gap:6px}.teacher-profile-card span,.teacher-profile-card small,.teacher-feedback-card span,.teacher-feedback-card small,.teacher-student-row span,.teacher-student-row small{color:#64748b}.teacher-class-nav{display:grid;gap:8px}.teacher-class-nav a,.teacher-class-card,.teacher-student-row{border:var(--border-hairline);border-radius:8px;color:inherit;display:flex;justify-content:space-between;padding:12px;text-decoration:none}.teacher-class-nav a.active{border-color:var(--color-primary);color:var(--color-primary);font-weight:500}.teacher-main,.teacher-home-grid,.teacher-class-detail,.teacher-student-detail,.teacher-feedback-form,.teacher-feedback-list,.teacher-student-list{display:grid;gap:16px}.teacher-feedback-template-panel{background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:grid;gap:12px;padding:14px}.teacher-feedback-template-copy{display:grid;gap:4px}.teacher-feedback-template-copy small{color:#64748b;line-height:1.55}.teacher-feedback-template-toolbar{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.teacher-feedback-template-toolbar>label{min-width:0}.teacher-class-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.teacher-class-card{align-items:center;min-height:86px}.teacher-student-row{align-items:center}.teacher-student-row>div,.teacher-feedback-card{display:grid;gap:6px}.teacher-feedback-card{border:var(--border-hairline);border-radius:8px;padding:14px}.teacher-recent-feedback-link{color:inherit;text-decoration:none}.teacher-feedback-card>div{align-items:center;display:flex;justify-content:space-between}.teacher-student-search{margin:0 0 12px}.parent-teacher-feedback-panel{display:grid;gap:14px;margin-top:20px}.teacher-student-summary{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-student-summary div{background:#f8fafc;border-radius:8px;display:grid;gap:6px;padding:14px}.teacher-student-summary span{color:#64748b;font-size:.9rem}@media(max-width:820px){.teacher-feedback-template-toolbar{align-items:stretch;grid-template-columns:1fr}}.teacher-invite-title{border-top:var(--border-hairline);margin-top:22px;padding-top:18px}.status-pill{border-radius:999px;font-size:.82rem;padding:6px 10px}.status-pill.active{background:#dcfce7;color:#166534}.status-pill.inactive{background:#f1f5f9;color:#64748b}.danger-text{color:#b42318!important}.events-landing-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:22px}.event-public-card,.empty-state-card{background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:16px;padding:22px}.event-public-card h2{font-size:1.35rem;font-weight:500;margin:10px 0 8px}.event-public-card p,.empty-state-card p{color:#64748b;margin:0}.event-public-card dl{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.event-public-card dt{color:#64748b;font-size:.82rem}.event-public-card dd{font-weight:500;margin:2px 0 0}.event-public-card .link-button{align-items:center;align-self:end;display:flex;justify-content:center;line-height:1.2;min-height:70px;padding:0 18px}.attendance-calendar-panel{background:linear-gradient(135deg,#fffffffa,#f8fafcf0),#fff;border:1px solid rgba(15,143,138,.14);border-radius:8px;box-shadow:0 16px 40px #0f172a0e;display:grid;gap:18px;overflow:hidden;padding:24px;position:relative}.attendance-calendar-panel:before{background:var(--accent);border-radius:8px 0 0 8px;content:"";inset:0 auto 0 0;position:absolute;width:5px}.attendance-calendar-toolbar{align-items:center;background:linear-gradient(135deg,#e8f7f5e6,#fffffffa),#fff;border:var(--border-hairline);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:18px;position:relative;z-index:1}.attendance-calendar-toolbar strong{color:#111827;display:block;font-size:24px;font-weight:700}.attendance-calendar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.attendance-calendar-weekdays,.attendance-calendar-grid{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;z-index:1}.attendance-calendar-weekdays span{background:var(--accent-soft);border-radius:8px;color:var(--accent-strong);font-size:12px;font-weight:500;padding:8px 0;text-align:center}.attendance-calendar-day{background:#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 8px 18px #0f172a06;min-height:96px;padding:11px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.attendance-calendar-day.muted{background:#f8fafc8f;color:#cbd5e1}.attendance-calendar-day.has-check-in{border-color:#0f8f8a61;box-shadow:0 10px 22px #0f8f8a14}.attendance-calendar-day.has-check-out{background:linear-gradient(135deg,#e8f7f5e0,#fffffffa),#fff;border-color:#0f8f8a75}.attendance-calendar-day>span{color:#111827;display:block;font-size:14px;font-weight:700;margin-bottom:10px}.attendance-day-badges{display:grid;gap:5px}.attendance-day-badges b{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;color:#64748b;display:inline-flex;font-size:11px;font-weight:500;justify-content:center;padding:5px 7px}.attendance-day-badges b.done{background:var(--accent-soft);border-color:#0f8f8a2e;color:var(--accent-strong)}.learning-card-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.learning-card{background:linear-gradient(135deg,#fffffffa,#f8fafcf0),#fff;border:1px solid rgba(15,143,138,.14);border-radius:8px;box-shadow:0 16px 40px #0f172a0e;display:grid;gap:14px;overflow:hidden;padding:24px;position:relative}.learning-card:before{background:var(--accent);border-radius:8px 0 0 8px;content:"";inset:0 auto 0 0;position:absolute;width:5px}.learning-card>span{background:var(--accent-soft);border:1px solid rgba(15,143,138,.16);border-radius:999px;color:var(--accent-strong);display:inline-flex;font-size:12px;font-weight:500;line-height:1.35;padding:6px 10px;width:fit-content}.learning-card strong{color:#111827;font-size:22px;font-weight:700;line-height:1.28}.learning-card p{color:var(--text-muted);line-height:1.65;margin:0;white-space:pre-wrap}.learning-card .link-button{align-items:center;border-radius:999px;display:inline-flex;justify-content:center;min-height:46px;width:fit-content}.assignment-submit-list{display:grid;gap:12px}.assignment-submit-row{align-items:center;background:#f8fafcdb;border:var(--border-hairline);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) auto;padding:14px}.assignment-submit-row strong,.assignment-submit-row span,.assignment-submit-row a{display:block}.assignment-submit-row span,.assignment-submit-row a{font-size:12px;margin-top:5px}.assignment-submit-row span{background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#c2410c;display:inline-flex;font-weight:500;padding:5px 9px;width:fit-content}.assignment-submit-row a{background:var(--accent-soft);border:1px solid rgba(15,143,138,.16);border-radius:999px;color:var(--accent-strong);display:inline-flex;font-weight:500;padding:5px 9px;text-decoration:none;width:fit-content}.assignment-submit-row input{font-size:13px;padding:8px}.assignment-submit-row button{border-radius:999px;min-height:40px;padding:9px 14px}.parent-notice-list{margin-top:18px}.parent-consultation-grid{align-items:start;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.parent-report-controls{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(240px,1fr) auto}.report-type-controls{align-items:end;grid-template-columns:minmax(240px,.7fr) minmax(300px,1fr)}.report-kind-switch{display:flex;flex-wrap:wrap;gap:8px}.report-kind-switch button:nth-of-type(n+3),.button-row.inline a[href="/admin/mock-exams"]+a[href="/admin/mock-exams"]{display:none}.report-kind-panel{border:var(--border-hairline);border-radius:8px;display:grid;gap:14px;padding:16px}.mock-exam-round-list{display:grid;gap:10px}.mock-exam-round-row{align-items:flex-start;background:#f8fafc;border:var(--border-hairline);color:#172033;display:grid;gap:6px;padding:14px;text-align:left;width:100%}.mock-exam-round-row.selected{background:#ecfeff;border-color:#0891b2}.mock-exam-round-row strong{line-height:1.35;white-space:normal}.mock-exam-round-row span{color:#64748b;font-size:13px}.parent-score-section{margin-top:16px}.parent-log-list{margin-top:4px}.auth-form{display:grid;gap:12px;margin-top:16px;max-width:420px}.guide-section{border:var(--border-hairline);border-radius:8px;margin:18px 0;padding:14px}.guide-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.guide-tabs button{padding:9px 11px}.report-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 14px}.report-page{background:radial-gradient(circle at top left,rgba(36,107,254,.08),transparent 34rem),#f5f7fb}.report-page .panel.wide{background:transparent;border:0;padding:0}.report-page .title-row,.report-parent-status,.report-tabs,.report-page .auth-form{background:#fff;border:var(--border-hairline);border-radius:8px;padding:18px}.score-section{display:grid;gap:18px;margin-top:16px}.score-report-hero{background:linear-gradient(180deg,#fffffff5,#f8fbfff5),linear-gradient(135deg,#0f8f8a21,#fff0);border:var(--border-hairline);border-radius:8px;box-shadow:0 10px 24px #0f172a0f;padding:30px;text-align:center}.score-report-hero span{background:var(--accent-soft);border:1px solid rgba(15,143,138,.16);border-radius:999px;color:var(--accent-strong);display:block;font-weight:500;margin-bottom:14px;padding:8px}.score-report-hero h2{color:#111827;font-size:32px;margin-bottom:6px}.score-hero-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.score-hero-meta b{background:#fff;border:var(--border-hairline);border-radius:999px;color:#4b5563;font-size:13px;font-weight:700;padding:7px 12px}.score-sheet-tabs{background:#fff;border:var(--border-hairline);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:10px}.score-sheet-tabs button{min-width:84px}.score-trend-card{background:#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 8px 20px #0f172a0d;padding:20px}.score-trend-list{display:grid;gap:10px}.trend-row{align-items:center;background:#f8fafc;border:1px solid #edf1f7;color:#172033;display:grid;gap:14px;grid-template-columns:72px 1fr 108px;padding:14px;text-align:left}.trend-row.selected{background:var(--accent-soft);border-color:#0f8f8a47}.trend-row span{color:var(--accent-strong);font-weight:700;text-transform:uppercase}.trend-row strong{color:#172033;font-size:22px;text-align:right}.trend-bar{align-items:center;background:#eef2f7;border-radius:8px;display:flex;height:28px;overflow:hidden;padding:4px}.trend-bar i{background:var(--accent);border-radius:6px;display:block;height:100%;max-width:100%}.trend-row.selected .trend-bar{background:#dbe7ff}.trend-row small{color:#6b7280;font-size:13px;font-weight:800}.score-card{background:#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 8px 20px #0f172a0d;padding:22px;position:relative}.subject-analysis-card{background:linear-gradient(135deg,#e8f7f5e6,#fffffffa),#fff;border-color:#0f8f8a38;position:relative}.subject-analysis-card:before,.score-card:has(.collapse-header:not(.homework-collapse-header)):before,.homework-card:before{border-radius:8px 0 0 8px;content:"";inset:0 auto 0 0;position:absolute;width:5px}.subject-analysis-card:before{background:var(--accent)}.score-card:has(.collapse-header:not(.homework-collapse-header)){border-color:#2563eb2e}.score-card:has(.collapse-header:not(.homework-collapse-header)):before{background:#2563eb}.subject-analysis-card .section-title{background:#0f8f8a14;border-radius:8px;margin:-6px -6px 18px;padding:16px 18px}.subject-analysis-card .section-title h2{color:var(--accent-strong)}.collapse-header{align-items:center;background:linear-gradient(135deg,#eff6fff5,#fffffffa),#fff;border:1px solid rgba(59,130,246,.22);border-radius:8px;color:#1d4ed8;display:flex;font-size:22px;font-weight:700;justify-content:space-between;padding:17px 18px;width:100%}.collapse-header:hover:not(:disabled){background:linear-gradient(135deg,#dbeafeeb,#fffffffa),#fff;border-color:#2563eb52;color:#1d4ed8}.collapse-header b{background:#dbeafe;border:1px solid rgba(37,99,235,.2);border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:500;line-height:1;padding:7px 10px}.homework-collapse-header{background:linear-gradient(135deg,#fff7edf5,#fffffffa),#fff;border-color:#f973163d;color:#c2410c}.homework-collapse-header:hover:not(:disabled){background:linear-gradient(135deg,#ffedd5eb,#fffffffa),#fff;border-color:#f9731657;color:#c2410c}.homework-collapse-header b{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.score-overview-card{background:#fffaf2;border:1px solid #fed7aa;border-radius:8px;box-shadow:0 10px 22px #92400e14;overflow:hidden;padding:0}.score-overview-main{align-items:center;display:flex;justify-content:space-between;padding:28px 30px 18px}.score-overview-main div{display:grid;gap:8px}.score-label{color:#92400e;font-size:16px;font-weight:900}.score-overview-main strong{color:#172033;font-size:44px;line-height:1}.score-overview-main small,.metric-score-cell small{color:#4b5563;font-size:16px}.score-overview-main b{color:var(--accent-strong);font-size:34px}.score-overview-sub{background:#ffffff94;border-top:1px solid #f3dfc5;color:#8da0c0;display:flex;flex-wrap:wrap;font-weight:500;gap:10px;justify-content:center;padding:14px}.score-metric-list{display:grid;gap:12px}.subject-card-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.subject-score-card{background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:grid;gap:14px;padding:16px}.subject-card-top,.subject-card-bottom{align-items:center;display:flex;justify-content:space-between}.subject-card-top b{color:var(--accent-strong);font-size:22px}.subject-score-card>strong{color:#172033;font-size:34px;line-height:1}.subject-score-card>strong small{color:#4b5563;font-size:15px}.subject-progress{background:#e5e7eb;border-radius:999px;height:9px;overflow:hidden}.subject-progress i{background:var(--accent);border-radius:inherit;display:block;height:100%;max-width:100%}.subject-card-bottom{color:#8da0c0;font-size:13px;font-weight:500}.metric-row{align-items:center;border-top:1px solid #edf1f7;display:grid;gap:10px;grid-template-columns:100px 1fr 110px 70px;padding:16px 0}.metric-row:first-child{border-top:0}.metric-row span{background:#f1f5f9;border-radius:8px;color:#263143;font-weight:500;padding:8px 12px;text-align:center}.metric-row strong{font-size:24px;line-height:1}.metric-row em{color:#8da0c0;font-style:normal;text-align:center}.metric-row b{color:var(--accent-strong);font-size:24px;text-align:right}.metric-score-cell{display:grid;gap:10px}.metric-score-cell i{background:var(--accent);border-radius:999px;display:block;height:8px;max-width:100%}.question-list{display:grid}.question-card-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.question-score-card{background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:grid;gap:12px;padding:15px}.question-card-top,.question-card-score{align-items:center;display:flex;justify-content:space-between}.question-card-top b{color:var(--accent-strong);font-size:20px}.question-score-card>strong{color:#172033;font-size:24px}.question-card-score span{color:#172033;font-size:24px;font-weight:700}.question-card-score small{color:#4b5563;font-size:14px}.question-card-score em{color:#8da0c0;font-style:normal;font-weight:500}.question-row{align-items:center;border-top:1px solid #edf1f7;display:flex;justify-content:space-between;padding:14px 10px}.question-row:hover{background:#f8fafc}.question-row:first-child{border-top:0}.question-meta{align-items:center;display:flex;gap:10px}.question-meta strong,.question-score strong{font-size:20px}.question-score{text-align:right}.question-score span{color:#6b7280;display:block;font-weight:500}.subject-pill{background:#eaf6ff;border-radius:8px;color:#1769aa;display:inline-block;font-weight:800;padding:6px 12px}.subject-geometry{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.subject-algebra{background:#fff1f2;border-color:#fecdd3;color:#dc2626}.subject-combi{background:#ecfccb;border-color:#d9f99d;color:#15803d}.subject-math{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.subject-science{background:#f0fdfa;border-color:#99f6e4;color:#0f766e}.subject-score-card.subject-geometry,.question-score-card.subject-geometry,.mock-exam-metric-card.subject-geometry{background:#f0f9ff;border-color:#bae6fd}.subject-score-card.subject-algebra,.question-score-card.subject-algebra,.mock-exam-metric-card.subject-algebra{background:#fff7f8;border-color:#fecdd3}.subject-score-card.subject-combi,.question-score-card.subject-combi,.mock-exam-metric-card.subject-combi{background:#f7fee7;border-color:#d9f99d}.mock-exam-metric-card.subject-math{background:#eef2ff;border-color:#c7d2fe}.mock-exam-metric-card.subject-science{background:#f0fdfa;border-color:#99f6e4}.subject-physics{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.subject-chemistry{background:#fef3c7;border-color:#fde68a;color:#b45309}.subject-biology{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.subject-earth{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}.subject-integrated{background:#f8fafc;border-color:#cbd5e1;color:#334155}.subject-score-card.subject-geometry .subject-card-top b,.question-score-card.subject-geometry .question-card-top b,.mock-exam-metric-card.subject-geometry span{color:#0369a1}.subject-score-card.subject-algebra .subject-card-top b,.question-score-card.subject-algebra .question-card-top b,.mock-exam-metric-card.subject-algebra span{color:#dc2626}.subject-score-card.subject-combi .subject-card-top b,.question-score-card.subject-combi .question-card-top b,.mock-exam-metric-card.subject-combi span{color:#15803d}.homework-card{background:#fffaf2;border:1px solid #fed7aa;border-radius:8px;box-shadow:0 10px 22px #92400e14;padding:22px;position:relative}.homework-card:before{background:#f97316}.homework-group+.homework-group{margin-top:22px}.homework-group h3{border-bottom:1px solid #eadfd0;color:#92400e;font-size:18px;padding-bottom:10px}.homework-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.homework-item{align-items:center;background:#fff;border:1px solid #edf1f7;border-radius:8px;box-shadow:0 6px 14px #0f172a0d;display:flex;justify-content:space-between;min-height:92px;padding:14px}.homework-item small{background:var(--accent);border-radius:8px;color:#fff;display:inline-block;font-weight:500;margin-top:10px;padding:5px 9px}.homework-item strong{align-items:center;border-radius:999px;display:inline-flex;font-size:26px;height:46px;justify-content:center;min-width:46px;padding:0 10px}.homework-ok{background:#ecfdf5;color:#16a34a}.homework-bad{background:#fef2f2;color:#dc2626}.homework-empty{background:#f8fafc;color:#dc2626}.guide-card h2{margin-bottom:8px}.guide-card p{color:#4b5563}.guide-card ol,.guide-card ul{margin-bottom:0;padding-left:22px}.guide-card li+li{margin-top:6px}.consultation-page .panel.wide{max-width:1120px}.consultation-parent-status{background:#fff;border:var(--border-hairline);border-radius:8px;margin-top:18px;padding:16px}.consultation-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);margin-top:18px}.consultation-booking-card,.consultation-reservation-card{background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:16px;padding:20px}.date-chip-row{display:flex;flex-wrap:wrap;gap:8px}.slot-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.slot-card{background:#f8fafc;border:var(--border-hairline);color:#172033;display:grid;gap:6px;min-height:104px;padding:14px;text-align:left}.slot-card.selected{background:var(--accent-soft);border-color:#0f8f8a52}.slot-card strong{font-size:20px}.slot-card span,.slot-card small{color:#6b7280}.selected-slot-box{background:#fffaf2;border:1px solid #fed7aa;border-radius:8px;display:grid;gap:6px;padding:12px}.selected-slot-box span{color:#92400e;font-weight:500}.reservation-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.reservation-list li{border-top:1px solid #edf1f7;display:grid;gap:10px;grid-template-columns:1fr auto;padding-top:12px}.reservation-list li:first-child{border-top:0;padding-top:0}.reservation-list strong,.reservation-list span{display:block}.reservation-list span{color:#6b7280;margin-top:4px}.reservation-list b{align-self:start;background:#ecfdf5;border-radius:999px;color:#047857;font-size:12px;line-height:1;margin-top:2px;padding:6px 10px;white-space:nowrap}.reservation-list b.cancelled{background:#f1f5f9;color:#64748b}.reservation-actions{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.reservation-actions .danger{border-color:#fecaca;color:#b91c1c;font-size:12px;padding:6px 10px}.reservation-actions .strong-danger{background:#fee2e2;border-color:#fca5a5;color:#991b1b;font-weight:900}.reservation-actions .danger:disabled{cursor:progress;opacity:.7}.notification-guide-stack{display:grid;gap:12px}.admin-consultations-page .panel.wide{max-width:1200px}.consultation-admin-summary{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:20px}.consultation-admin-filter{align-items:end;display:flex;gap:14px;justify-content:space-between;margin:20px 0}.consultation-admin-filter label{max-width:260px}.consultation-slot-editor{border:1px solid #edf1f7;border-radius:8px;margin-top:20px;padding:16px}.slot-editor-form{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr))}.slot-editor-form label{min-width:0}.slot-editor-form label:nth-of-type(1){grid-column:1 / span 2}.slot-editor-form label:nth-of-type(2){grid-column:3 / span 2}.slot-editor-form label:nth-of-type(3){grid-column:5 / span 2}.slot-editor-form label:nth-of-type(4){grid-column:1 / span 2}.slot-editor-form label:nth-of-type(5){grid-column:3 / span 2}.slot-editor-form label:nth-of-type(6){grid-column:5 / span 1}.slot-editor-form button[type=submit]{grid-column:6 / span 1;min-height:42px;padding-left:10px;padding-right:10px}.table-actions{display:flex;flex-wrap:wrap;gap:6px}.table-actions button{font-size:12px;padding:6px 9px}.consultation-admin-table-wrap{border:1px solid #edf1f7;border-radius:8px;overflow:auto}.consultation-admin-table{border-collapse:collapse;min-width:1040px;width:100%}.consultation-admin-table th,.consultation-admin-table td{border-bottom:1px solid #edf1f7;padding:12px;text-align:left;vertical-align:top}.consultation-admin-table th{background:#f8fafc;color:#475569;font-size:13px}.consultation-admin-table td span,.consultation-admin-table td small{display:block}.consultation-admin-table td small{color:#94a3b8;font-size:12px;margin-top:4px}.slot-status{border-radius:999px;display:inline-block;font-size:12px;line-height:1;padding:6px 10px;white-space:nowrap}.slot-status.open{background:#ecfdf5;color:#047857}.slot-status.reserved{background:var(--accent-soft);color:var(--accent-strong)}.slot-status.closed{background:#f1f5f9;color:#64748b}.strong-danger{background:#fee2e2;border-color:#fca5a5;color:#991b1b;font-weight:700}.child-card-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.child-card{border:var(--border-hairline);border-radius:8px;display:grid;gap:8px;padding:14px}.child-card strong,.child-card span{display:block}.child-card span,.child-card p,.child-card small{color:#6b7280}.child-card b{color:#4b5563;font-size:18px}.child-card.in{background:var(--accent-soft);border-color:#0f8f8a47}.child-card.in b{color:var(--accent-strong)}.child-card.out{background:#ecfdf5;border-color:#a7f3d0}.child-card.out b{color:#047857}.child-card.not-in{background:#f8fafc}.auto-check-form{display:grid;gap:16px}.auto-check-form input{font-size:40px;font-weight:700;letter-spacing:8px;text-align:center}.check-page{align-items:center;display:flex;min-height:calc(100vh - 84px)}.check-panel{max-width:560px;width:100%}.check-heading{margin-bottom:22px;text-align:center}.check-heading p{color:#6b7280;margin:0}.result-card{align-items:center;background:#eef4ff;border:2px solid #bcd1ff;border-radius:8px;display:grid;gap:8px;justify-items:center;margin-top:24px;padding:28px 18px;text-align:center}.result-card strong{font-size:34px}.result-card span{color:#6b7280;font-size:18px}.result-card p{color:var(--accent-strong);font-size:18px;font-weight:700;margin:4px 0 0}.result-card small{color:#6b7280}.result-badge{background:var(--accent);border-radius:999px;color:#fff;font-size:22px;font-weight:700;padding:8px 18px}.result-card.check-out{background:#ecfdf5;border-color:#a7f3d0}.result-card.check-out .result-badge{background:#047857}.result-card.check-out p{color:#047857}.result-card.already-done,.result-card.too-soon{background:#fff7ed;border-color:#fed7aa}.result-card.already-done .result-badge,.result-card.too-soon .result-badge{background:#ea580c}.result-card.already-done p,.result-card.too-soon p{color:#9a3412}.message{background:var(--accent-soft);border:1px solid rgba(15,143,138,.18);border-radius:8px;color:var(--accent-strong);margin:18px 0 0;padding:12px}.parent-page-message{margin:0 0 18px}.foreground-notification-toast{align-items:center;background:#fff;border:1px solid rgba(15,143,138,.28);border-left:5px solid var(--accent);border-radius:10px;box-shadow:0 18px 48px #0f172a33;display:flex;gap:18px;justify-content:space-between;left:50%;max-width:min(620px,calc(100vw - 28px));padding:15px 16px;position:fixed;top:18px;transform:translate(-50%);width:max-content;z-index:1000}.foreground-notification-toast div{display:grid;gap:4px}.foreground-notification-toast strong{color:var(--accent-strong)}.foreground-notification-toast span{color:#334155;line-height:1.45}.foreground-notification-toast button{flex:0 0 auto;min-width:auto;padding:8px 12px}.notification-status-card{border-radius:8px;margin-top:14px;padding:13px 15px}.notification-status-card.ready{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.notification-status-card.warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.notification-status-card p{color:inherit;margin:5px 0 0}@media(max-width:640px){.foreground-notification-toast{align-items:flex-start;top:10px;width:calc(100vw - 28px)}}.warning-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;margin:16px 0;padding:12px}.warning-box p{margin:0}.warning-box p+p{margin-top:8px}.subtle{color:#6b7280;margin:0}.grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.management-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.admin-tools-grid{align-items:start}.import-section,.usage-section,.kiosk-section,.course-section{margin-top:20px}.course-group-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.course-group-card{background:#f8fafc;border:1px solid #edf1f7;border-radius:8px;padding:14px}.course-group-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.course-group-head h3{font-size:18px;margin:0}.course-group-head p{color:#6b7280;margin:4px 0 0}.course-delete-row{display:flex;justify-content:flex-end;margin-top:10px}.course-delete-row .danger{border-color:#fecaca;color:#b91c1c;font-size:12px;padding:6px 10px}.course-alert,.course-ok{border-radius:999px;flex-shrink:0;font-size:12px;font-weight:900;padding:5px 8px}.course-alert{background:#fff7ed;color:#c2410c}.course-ok{background:#ecfdf5;color:#047857}.course-metrics{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.course-metrics span{background:#fff;border:1px solid #edf1f7;border-radius:8px;color:#6b7280;font-size:12px;padding:8px}.course-metrics b{color:#111827;display:block;font-size:18px;margin-top:3px}.course-student-list{display:grid;gap:8px;list-style:none;margin:12px 0 0;max-height:360px;overflow:auto;padding:0}.course-student-list li{align-items:center;background:#fff;border:1px solid #edf1f7;border-radius:8px;display:flex;gap:10px;justify-content:space-between;padding:10px}.course-student-list strong,.course-student-list span,.course-student-list small{display:block}.course-student-list strong{align-items:center;display:flex;gap:6px}.course-student-list strong em{background:#f3f4f6;border-radius:999px;color:#6b7280;font-size:11px;font-style:normal;padding:3px 6px}.course-student-list span,.course-student-list small{color:#6b7280;font-size:12px;margin-top:3px}.kiosk-form{align-items:end;display:grid;gap:12px;grid-template-columns:1fr 180px auto}.kiosk-status{font-size:13px}.kiosk-status.active{color:#047857}.kiosk-status.inactive{color:#9a3412}.usage-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.metric{background:#f8fafc;border:1px solid #edf1f7;border-radius:8px;padding:12px}.metric span{color:#6b7280;display:block;font-size:13px;margin-bottom:6px}.metric strong{font-size:22px}.usage-note{margin-top:12px}.import-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.csv-box{border:1px solid #edf1f7;border-radius:8px;padding:14px}.csv-box input{font-size:14px}.csv-box details{margin-top:12px}.csv-box summary{color:var(--accent-strong);cursor:pointer;font-weight:700}.csv-box pre{background:#f8fafc;border-radius:8px;margin:10px 0 0;overflow:auto;padding:10px;white-space:pre}.form-check-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.import-result{background:#f8fafc;border-radius:8px;margin-top:14px;padding:12px}.import-result ul{margin-bottom:0}.import-result details{margin-top:10px}.import-result summary{color:var(--accent-strong);cursor:pointer;font-weight:700}.class-group-summary{margin-top:10px}.class-group-summary b{display:block;margin-bottom:6px}.class-group-summary ul{columns:2;margin:0;padding-left:18px}.invite-box{background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:grid;gap:10px;margin-top:14px;padding:12px}.invite-box span{color:#6b7280}.manager-section{border:var(--border-hairline);border-radius:8px;padding:16px}.mock-exam-import-form{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(180px,1.2fr) 180px minmax(220px,1.4fr) auto}.mock-exam-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.mock-exam-card{align-items:flex-start;background:#f8fafc;border:var(--border-hairline);border-radius:8px;color:#172033;display:grid;gap:6px;padding:14px;text-align:left}.mock-exam-card>button:first-child{background:transparent;color:inherit;display:grid;gap:6px;padding:0;text-align:left;width:100%}.mock-exam-card.selected{background:#ecfeff;border-color:#0891b2}.mock-exam-card span,.mock-exam-card small{color:#64748b}.mock-exam-card-actions{align-items:center;flex-wrap:wrap;gap:6px;margin-top:4px}.mock-exam-card-actions button{flex:0 0 auto;min-height:34px;padding:7px 9px;font-size:12px;line-height:1.2;white-space:nowrap}.revision-banner{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;display:grid;gap:4px;margin-bottom:14px;padding:12px}.header-mapping-editor{background:#f8fafc;border:1px solid #edf1f7;border-radius:8px;margin-top:14px;padding:14px}.header-mapping-editor h3{margin:0}.header-mapping-table{display:grid;gap:8px}.header-mapping-row{align-items:center;background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:10px;grid-template-columns:86px minmax(220px,1fr) 80px minmax(180px,.8fr);padding:10px}.header-mapping-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-max-score{color:#64748b;font-size:12px;font-weight:900}.mock-exam-preview-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.mock-exam-report-card{background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:14px;padding:16px}.mock-exam-report-card header span{background:#eef2ff;border-radius:999px;color:#4338ca;display:inline-flex;font-size:12px;font-weight:800;margin-bottom:8px;padding:4px 10px}.mock-exam-report-card h3,.mock-exam-report-card p{margin:0}.mock-exam-score-main{align-items:baseline;display:flex;gap:10px}.mock-exam-score-main strong{color:#0f766e;font-size:34px}.mock-exam-rank-grid{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.mock-exam-rank-grid span{background:#f8fafc;border-radius:8px;display:grid;gap:4px;padding:10px}.mock-exam-report-card details ul{display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}.mock-exam-report-card details li{align-items:center;border-top:1px solid #edf1f7;display:flex;justify-content:space-between;padding-top:8px}.mock-exam-mapping-list{display:grid;gap:10px;max-height:520px;overflow:auto}.mock-exam-mapping-row{align-items:center;background:#f8fafc;border:1px solid #edf1f7;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(240px,1fr) minmax(220px,.8fr) auto;padding:12px}.mock-exam-mapping-row strong,.mock-exam-mapping-row span,.mock-exam-mapping-row small{display:block}.mock-exam-mapping-row span,.mock-exam-mapping-row small{color:#64748b;margin-top:4px}.parent-mock-exam-list{display:grid;gap:12px;margin:0 0 16px}.parent-mock-exam-report{background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:14px;padding:16px}.parent-mock-exam-report header{align-items:flex-start;display:flex;justify-content:space-between}.parent-mock-exam-report header strong,.parent-mock-exam-report header span{display:block}.parent-mock-exam-report header strong{color:#111827;font-size:clamp(28px,3.2vw,42px);font-weight:700;line-height:1.15}.parent-mock-exam-report header span{color:#64748b;font-size:15px;margin-top:8px}.parent-mock-exam-report header b{color:#2563eb;font-size:24px}.mock-exam-overview{align-items:stretch;display:grid;gap:12px;grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr)}.mock-exam-total-card{background:linear-gradient(135deg,#0f766e,#0891b2);border-radius:8px;color:#fff;display:grid;gap:4px;padding:18px}.mock-exam-total-card span,.mock-exam-total-card small{color:#ffffffd1;font-weight:800}.mock-exam-total-card strong{font-size:42px;line-height:1}.mock-exam-section-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.mock-exam-domain-grid{align-items:start;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.mock-exam-domain-panel{border:var(--border-hairline);border-radius:8px;display:grid;gap:12px;padding:14px}.mock-exam-domain-panel.subject-math{background:#f5f7ff;border-color:#c7d2fe}.mock-exam-domain-panel.subject-science{background:#f0fdfa;border-color:#99f6e4}.mock-exam-domain-head{display:grid;gap:10px}.mock-exam-domain-head h4{margin:0}.mock-exam-domain-subjects{display:grid;gap:10px}.mock-exam-guide-card,.mock-exam-question-detail{background:#fff;border:var(--border-hairline);border-radius:8px;padding:16px}.mock-exam-question-detail{background:linear-gradient(135deg,#eff6fff5,#fffffffa),#fff;border-color:#2563eb33;overflow:hidden;padding:0;position:relative}.mock-exam-question-detail:before{background:#2563eb;border-radius:8px 0 0 8px;content:"";inset:0 auto 0 0;position:absolute;width:5px}.mock-exam-guide-card{display:grid;gap:6px}.mock-exam-guide-card p{margin:0}.mock-exam-question-detail summary{align-items:center;color:#1d4ed8;cursor:pointer;display:flex;font-size:clamp(22px,2.4vw,32px);font-weight:700;justify-content:space-between;list-style:none;padding:18px 22px;position:relative;z-index:1}.mock-exam-question-detail summary::-webkit-details-marker{display:none}.mock-exam-question-detail summary:after{background:#dbeafe;border:1px solid rgba(37,99,235,.2);border-radius:999px;color:#1d4ed8;content:"열기";font-size:12px;font-weight:500;line-height:1;padding:7px 10px}.mock-exam-question-detail[open] summary:after{content:"접기"}.mock-exam-question-domain-grid{align-items:start;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0 18px 18px 22px;position:relative;z-index:1}.mock-exam-question-group{align-content:start;border:var(--border-hairline);border-radius:8px;display:grid;gap:12px;padding:12px}.mock-exam-question-group-head{align-items:center;display:flex;justify-content:space-between;min-height:36px}.mock-exam-question-group-head span{background:#0f766e1a;border-radius:999px;color:#0f766e;font-size:.78rem;font-weight:800;padding:4px 9px}.mock-exam-question-group h4,.mock-exam-question-subject h5{margin:0}.mock-exam-question-group h4{font-size:1.25rem;line-height:1.2}.mock-exam-question-subject{align-content:start;display:grid;gap:8px}.mock-exam-question-subject h5{border-radius:8px;display:inline-flex;font-size:.9rem;line-height:1;padding:7px 10px;white-space:nowrap;width:fit-content}.mock-exam-question-subject ul{display:grid;gap:6px;list-style:none;margin:0;padding:0}.mock-exam-question-subject li{align-items:center;border-top:1px solid #edf1f7;display:grid;gap:8px;grid-template-columns:minmax(70px,.8fr) minmax(76px,auto) minmax(110px,1fr);padding-top:6px}.mock-exam-question-subject li>span:first-child{color:#0f172a;font-weight:900}.mock-exam-question-subject li b{color:#0f172a;font-size:.95rem;text-align:right}.mock-exam-question-subject li small{color:#64748b;text-align:right}.mock-exam-subject-section{display:grid;gap:10px}.mock-exam-subject-section h4{margin:0}.mock-exam-subject-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.mock-exam-metric-card{background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:grid;gap:6px;padding:16px}.mock-exam-metric-card span{color:#0f766e;font-weight:900}.mock-exam-metric-card strong{color:#172033;font-size:32px;line-height:1}.mock-exam-metric-card small{color:#64748b}.mock-exam-metric-card.compact{padding:12px}.mock-exam-metric-card.compact strong{font-size:24px}.parent-mock-exam-report details ul{display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}.parent-mock-exam-report details li{align-items:center;border-top:1px solid #edf1f7;display:flex;justify-content:space-between;padding-top:8px}.mock-exam-parent-card{align-items:center;background:linear-gradient(135deg,#ecfeff,#f8fafc);border:1px solid #bae6fd;border-radius:8px;display:flex;gap:14px;justify-content:space-between;margin:16px 0;padding:16px}.mock-exam-parent-card h3,.mock-exam-parent-card p{margin:0}.mock-exam-parent-card p{color:#64748b;margin-top:4px}.mock-exam-parent-card span{background:#0f766e;border-radius:999px;color:#fff;flex:0 0 auto;font-size:12px;font-weight:900;padding:6px 10px}.section-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.section-title h2{margin:0}.nested-section-title{align-items:flex-start;gap:12px}.management-form{display:grid;gap:12px}.list-search{background:#f8fafc;border:1px solid #edf1f7;border-radius:8px;margin-top:16px;padding:12px}.summary{border:var(--border-hairline);border-radius:8px;padding:16px}.summary>strong{display:block;font-size:32px;margin-bottom:12px}.summary-toggle{align-items:center;background:transparent;color:#172033;display:grid;gap:8px;grid-template-columns:1fr auto auto;padding:0;text-align:left;width:100%}.summary-toggle span{font-size:16px;font-weight:900}.summary-toggle b{color:#172033;font-size:32px}.summary-toggle em,.collapsible-section-header em{background:#e5e7eb;border-radius:999px;color:#263143;font-size:12px;font-style:normal;font-weight:900;padding:6px 10px}.summary .list{margin-top:12px}.collapsible-section{padding:0}.collapsible-section-header{align-items:center;background:#fff;color:#172033;display:grid;gap:10px;grid-template-columns:1fr auto;padding:16px;text-align:left;width:100%}.collapsible-section-header>div{display:grid;gap:4px}.collapsible-section-header span{font-size:16px;font-weight:900}.collapsible-section-header b{color:#6b7280;font-size:13px}.collapsible-section-header button{justify-self:end;min-width:82px}.collapsible-section-body{border-top:1px solid #edf1f7;padding:16px}.list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.list li{align-items:center;border-bottom:1px solid #edf1f7;display:flex;justify-content:space-between;padding:8px 0}.compact{font-size:14px}.list-more{color:#6b7280;font-size:13px;font-weight:800;margin:10px 0 0}.entity-list{display:grid;gap:10px;list-style:none;margin:18px 0 0;padding:0}.entity-list li{align-items:flex-start;border-top:1px solid #edf1f7;display:flex;gap:12px;justify-content:space-between;padding-top:12px}.entity-list strong,.entity-list span{display:block}.entity-list span,.empty-text{color:#6b7280}.notice-admin-list p{color:#4b5563;margin:8px 0 0;white-space:pre-wrap}.entity-list code{margin-top:8px}.row-actions{display:flex;flex-shrink:0;gap:8px}@media(max-width:820px){.topbar,.title-row{align-items:flex-start;flex-direction:column}.student-editor-panel{position:static}.home-hero,.home-info-box{align-items:flex-start;flex-direction:column}.home-hero{padding:30px}.home-hero h1{font-size:34px}.home-hero-mark{aspect-ratio:auto;flex-basis:auto;justify-items:start;width:100%}.home-info-box p{text-align:left}.form-row,.button-row,.parent-actions,.student-dashboard-layout,.student-dashboard-metrics,.student-dashboard-grid,.calendar-admin-layout,.admin-students-layout,.admin-students-toolbar,.child-card-grid,.consultation-layout,.course-group-grid,.course-metrics,.assignment-submit-row,.learning-admin-layout,.learning-card-grid,.parent-consultation-grid,.parent-report-controls,.slot-editor-form,.slot-grid,.grid,.homework-grid,.kiosk-form,.metric-row,.subject-card-grid,.question-card-grid,.form-check-grid,.management-grid,.mock-exam-question-domain-grid,.import-grid,.usage-grid{grid-template-columns:1fr}.mock-exam-question-subject li{align-items:flex-start;grid-template-columns:1fr}.mock-exam-question-subject li b,.mock-exam-question-subject li small{text-align:left}.student-dashboard-list{max-height:none;min-height:auto;position:static}.student-profile-card{align-items:flex-start;flex-direction:column}.student-profile-tags{justify-content:flex-start}.calendar-grid{overflow-x:auto}.calendar-weekday,.calendar-day{min-width:92px}.check-page{align-items:flex-start;min-height:auto}.auto-check-form input{font-size:34px}.result-card strong{font-size:28px}.metric-row b,.metric-row strong,.metric-row em{text-align:center}.report-page{padding:18px 12px}.report-page .title-row,.report-parent-status,.report-tabs{padding:14px}.score-report-hero{padding:24px 16px}.score-report-hero h2{font-size:26px}.score-overview-main{align-items:flex-start;flex-direction:column;gap:14px;padding:24px 18px 16px}.score-overview-main strong{font-size:40px}.trend-row{grid-template-columns:64px 1fr}.trend-row strong{grid-column:2;text-align:left}.question-row{align-items:flex-start;flex-direction:column;gap:10px}.question-score{text-align:left}}body{color:var(--text-main);font-weight:400}button,.link-button{background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:500;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}button:hover:not(:disabled),.link-button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}button.secondary,.secondary-link,.link-button.secondary-link,.admin-menu-row button,.row-actions button.secondary,.button-row .secondary{background:transparent;border:var(--border-hairline);color:var(--text-main)}button.secondary:hover:not(:disabled),.secondary-link:hover,.link-button.secondary-link:hover,.admin-menu-row button:hover:not(:disabled),.row-actions button.secondary:hover:not(:disabled),.button-row .secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--accent);color:var(--accent-strong)}button.danger,.danger,.strong-danger,.reservation-actions .danger,.reservation-actions .strong-danger,.course-delete-row .danger{background:transparent;border:0;color:var(--danger);font-weight:500;padding-inline:6px;text-decoration:underline;text-underline-offset:3px}button.danger:before,.danger:before,.strong-danger:before,.reservation-actions .danger:before,.reservation-actions .strong-danger:before,.course-delete-row .danger:before{content:"!";display:inline-block;font-weight:500;margin-right:4px}.event-form-card .management-form>button[type=submit],.success-state>button{align-items:center;display:flex;justify-content:center;line-height:1.2;min-height:48px;padding:0 18px;text-align:center}.event-success-state{min-height:auto;text-align:left}.event-qr-card,.event-qr-lookup-card,.event-checkin-result{background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:14px;padding:18px}.event-qr-card{justify-items:center;text-align:center}.event-qr-card>div{justify-self:stretch}.event-qr-card h2{font-size:1.45rem;font-weight:500;margin:6px 0}.event-qr-card img{background:#fff;border:var(--border-hairline);border-radius:8px;display:block;height:240px;padding:10px;width:240px}.event-qr-lookup-card{margin-top:20px}.event-checkin-panel{max-width:640px}.event-checkin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.event-checkin-result strong,.event-checkin-result span{display:block}.topbar{background:var(--surface);border-bottom:var(--border-hairline);box-shadow:0 1px #0f172a05}.topbar>div{align-items:center;display:flex;gap:12px}.topbar>div:before{align-items:center;background:var(--accent);border-radius:8px;color:#fff;content:"CMS";display:inline-flex;flex:0 0 44px;font-size:13px;font-weight:500;height:44px;justify-content:center;letter-spacing:0}.topbar strong{color:var(--text-main);font-size:24px;font-weight:500}.topbar span{color:var(--text-muted)}.topbar nav{gap:16px}.topbar a{border-bottom:2px solid transparent;border-radius:0;color:var(--text-muted);font-weight:400;padding:8px 2px}.topbar a.active,.topbar a:hover{background:transparent;border-bottom-color:var(--accent);color:var(--accent-strong);font-weight:500}.parent-dashboard-tabs,.guide-tabs,.report-tabs,.score-sheet-tabs,.report-kind-switch{background:transparent;border:0;border-bottom:var(--border-hairline);border-radius:0;gap:18px;padding:0}.parent-dashboard-tabs button,.guide-tabs button,.report-tabs button,.score-sheet-tabs button,.report-kind-switch button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--text-muted);font-weight:400;margin-bottom:-.5px;padding:10px 2px}.parent-dashboard-tabs button:not(.secondary),.guide-tabs button:not(.secondary),.report-tabs button:not(.secondary),.score-sheet-tabs button:not(.secondary),.report-kind-switch button:not(.secondary),.parent-dashboard-tabs button:hover:not(:disabled),.guide-tabs button:hover:not(:disabled),.report-tabs button:hover:not(:disabled),.score-sheet-tabs button:hover:not(:disabled),.report-kind-switch button:hover:not(:disabled){background:transparent;border-bottom-color:var(--accent);color:var(--accent-strong);font-weight:500}.panel,.manager-section,.home-section,.notice-item,.learning-card,.report-kind-panel,.guide-section,.score-report-hero,.score-trend-card,.score-card,.subject-score-card,.mock-exam-round-row,.child-card,.reservation-list li,.consultation-reservation-card,.consultation-booking-card,.calendar-day,.calendar-admin-card,.student-profile-card,.student-dashboard-card,.mock-exam-card,.parent-mock-exam-report,.header-mapping-editor,.header-mapping-row,.consultation-admin-table-wrap,.assignment-submit-row{border:var(--border-hairline);box-shadow:0 8px 22px #0f172a09}.notice-item.pinned,.mock-exam-round-row.selected,.trend-row.selected,.student-dashboard-list-items button.selected,.score-overview-card,.parent-mock-exam-report{border:var(--border-strong)}h1,h2,h3,label,.section-title h2,.section-title span,.title-row h1,.learning-card strong,.notice-item strong,.mock-exam-card strong,.parent-hero-card strong,.collapse-header,.homework-collapse-header{font-weight:500}p,span,small,li,td,th,input,select,textarea{font-weight:400}.metric strong,.metric b,.usage-grid strong,.summary-count,.score-overview-main strong,.subject-score-card>strong,.trend-row strong,.mock-exam-stat strong,.parent-mock-exam-report header b,.score-report-hero h2,.student-dashboard-metrics strong,.result-card strong{font-size:clamp(22px,2.2vw,36px);font-weight:500}.home-hero{background:var(--surface);border:var(--border-hairline);box-shadow:0 10px 28px #0f172a0b;color:var(--text-main)}.home-hero:after{background:var(--accent-soft);opacity:.72}.eyebrow{color:var(--accent-strong);font-weight:500}.home-hero h1{font-weight:500}.home-hero p{color:var(--text-muted)}.home-hero-mark{background:var(--accent-soft);border:var(--border-strong);color:var(--accent-strong)}.home-hero-mark span{font-weight:500}.home-hero-mark b{color:var(--text-muted);font-weight:400}.home-page{max-width:1120px}.home-page:before{background:radial-gradient(circle at 10% 6%,rgba(15,143,138,.14),transparent 28%),radial-gradient(circle at 88% 8%,rgba(20,184,166,.12),transparent 25%),linear-gradient(180deg,#f0fdfab8,#f8fafc00)}.home-hero{align-items:stretch;background:linear-gradient(135deg,#ecfdfaf5,#fffffffa 48%,#f0f9ffe0),var(--surface);border:var(--border-hairline);box-shadow:0 18px 46px #0f172a12;color:var(--text-main);gap:28px;min-height:280px;padding:46px}.home-hero:after{background:linear-gradient(135deg,#0f8f8a29,#14b8a60a);height:320px;opacity:1;right:-96px;top:-118px;width:320px}.home-hero:before{background:var(--accent);border-radius:999px;content:"";height:7px;left:46px;position:absolute;top:30px;width:72px}.home-hero-copy{align-self:center}.home-hero h1{color:#0f172a;font-size:clamp(38px,5vw,58px);letter-spacing:0;line-height:1.05;max-width:640px}.home-hero p{color:#526174;font-size:18px;line-height:1.72;margin-top:18px}.home-hero-panel{align-self:center;background:#ffffffd1;border:var(--border-hairline);border-top:var(--border-strong);border-radius:8px;box-shadow:0 18px 38px #0f172a14;min-width:300px;padding:24px;position:relative;z-index:1}.home-hero-panel-label{color:var(--accent-strong);display:block;font-size:13px;font-weight:500;margin-bottom:12px}.home-hero-panel strong{color:#0f172a;display:block;font-size:22px;font-weight:500;line-height:1.35}.home-live-grid{display:grid;gap:10px;margin:18px 0 0}.home-status-card{background:#f8fafcdb;border:var(--border-hairline);border-radius:8px;display:grid;gap:4px;padding:13px 14px}.home-status-card strong{color:#0f172a;font-size:16px;font-weight:500;line-height:1.35}.home-status-card p{color:var(--text-muted);font-size:13px;line-height:1.45;margin:0}@media(min-width:821px){.topbar{padding:30px 44px}.topbar>div{gap:18px}.topbar>div:before{flex-basis:68px;font-size:17px;height:68px}.topbar strong{font-size:38px;line-height:1.08}.topbar span{font-size:15px;margin-top:6px}.topbar nav{gap:22px}.topbar a{font-size:16px;padding:12px 2px}}@media(max-width:820px){.topbar{padding:16px 24px}.topbar>div{gap:12px}.topbar>div:before{flex-basis:44px;font-size:13px;height:44px}.topbar strong{font-size:24px}.topbar span{font-size:13px;margin-top:0}.topbar nav{gap:16px}.topbar a{font-size:14px;padding:8px 2px}}.home-section{background:#ffffffe6;box-shadow:0 14px 34px #0f172a0e;margin-top:18px}.notice-item{background:#ffffffeb;border:var(--border-hairline)}.notice-item.pinned{background:#f0fdfa;border:1.5px solid rgba(15,143,138,.32)}.notice-meta-row time{font-weight:400}.notice-badge,.notice-count{font-weight:500}.home-info-box{background:linear-gradient(135deg,#0f8f8a14,#ffffffe0)}@media(max-width:820px){.pwa-install-banner{align-items:flex-start;flex-direction:column;padding:14px 24px}.pwa-install-actions{width:100%}.pwa-install-actions button{flex:1}.calendar-panel,.attendance-calendar-panel{overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-grid,.attendance-calendar-weekdays,.attendance-calendar-grid{min-width:640px}.calendar-day,.attendance-calendar-day{min-height:92px}.calendar-day{padding:7px}.calendar-type-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-calendar-toolbar{align-items:flex-start;flex-direction:column}.attendance-calendar-actions{justify-content:flex-start;width:100%}.attendance-calendar-actions .compact-select{width:100%}.home-hero{padding:34px 24px}.home-hero:before{left:24px;top:22px}.home-hero-panel{min-width:0;width:100%}}body{background:linear-gradient(180deg,#fffffff5,#f5f7f8f5 360px),var(--surface-muted);color:var(--text-main)}.topbar{background:#ffffffeb;border-bottom:var(--border-hairline);box-shadow:0 10px 30px #0f172a09;position:sticky;top:0;z-index:20}.topbar>div:before{background:linear-gradient(135deg,#0f8f8afa,#0b6f6bfa),var(--accent);box-shadow:0 10px 24px #0f8f8a2e}.topbar strong{color:var(--text-main);font-weight:500}.topbar span{color:var(--text-soft)}.topbar a{color:var(--text-muted);font-weight:400}.topbar a.active,.topbar a:hover{color:var(--accent-strong)}.home-page{max-width:1180px;padding-top:52px}.home-page:before{background:radial-gradient(circle at 12% 0%,rgba(15,143,138,.16),transparent 24%),radial-gradient(circle at 86% 6%,rgba(251,247,241,.95),transparent 28%),linear-gradient(180deg,#e8f7f58c,#f5f7f800)}.home-hero{align-items:stretch;background:linear-gradient(135deg,#fffffffa,#f8fcfbf5 48%,#fbf7f1b8),var(--surface);border:var(--border-hairline);border-radius:8px;box-shadow:0 24px 60px #0f172a14;color:var(--text-main);gap:34px;min-height:360px;padding:58px}.home-hero:before{background:var(--accent);border-radius:999px;content:"";height:6px;left:58px;position:absolute;top:38px;width:84px}.home-hero:after{background:linear-gradient(135deg,#0f8f8a1c,#ffffff29),var(--accent-soft);height:360px;opacity:1;right:-120px;top:-132px;width:360px}.home-hero-copy{align-self:center;max-width:680px}.home-hero .eyebrow{color:var(--accent-strong);font-size:13px;font-weight:500;margin-bottom:18px}.home-hero h1{color:#121a2a;font-size:clamp(40px,5.4vw,68px);font-weight:500;letter-spacing:0;line-height:1.05;margin-bottom:18px;max-width:720px}.home-hero p{color:#526174;font-size:18px;line-height:1.78;margin:0;max-width:620px}.home-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.home-hero-actions .link-button{min-width:148px;padding:13px 18px}.secondary-link{background:#fff;border-color:var(--border-subtle);color:var(--text-main)}.home-hero-panel{align-self:center;background:#ffffffe0;border:var(--border-hairline);border-top:var(--border-strong);border-radius:8px;box-shadow:0 20px 44px #0f172a14;min-width:330px;padding:28px;position:relative;z-index:1}.home-hero-panel-label{color:var(--accent-strong);display:block;font-size:13px;font-weight:500;margin-bottom:14px}.home-hero-panel>strong{color:#121a2a;display:block;font-size:24px;font-weight:500;line-height:1.36}.home-live-grid{display:grid;gap:12px;margin-top:22px}.home-status-card{background:#f8fafcc7;border:var(--border-hairline);border-radius:8px;display:grid;gap:5px;padding:15px 16px}.home-status-card span{color:var(--accent-strong);font-size:12px;font-weight:500}.home-status-card strong{color:var(--text-main);font-size:16px;font-weight:500;line-height:1.35}.home-status-card p{color:var(--text-muted);font-size:13px;line-height:1.48;margin:0}.home-section{background:#ffffffeb;border:var(--border-hairline);border-radius:8px;box-shadow:0 16px 44px #0f172a0b;margin-top:20px;padding:28px}.notice-item{background:#fffffff0;border:var(--border-hairline);border-radius:8px;padding:18px}.notice-item.pinned{background:linear-gradient(135deg,#e8f7f5e0,#fffffff5);border:1.5px solid rgba(15,143,138,.28)}@media(max-width:820px){.home-page{padding-top:28px}.home-hero{gap:22px;min-height:auto;padding:40px 24px 28px}.home-hero:before{left:24px;top:24px}.home-hero h1{font-size:36px}.home-hero p{font-size:16px}.home-hero-actions{margin-top:22px}.home-hero-actions .link-button{flex:1}.home-hero-panel{min-width:0;padding:22px;width:100%}}.academy-home{background:#f4f7f7;color:var(--text-main);overflow:hidden}.academy-hero{align-items:center;background:linear-gradient(90deg,#065b58f0,#0f8f8adb),radial-gradient(circle at 78% 20%,rgba(255,255,255,.32),transparent 32%),#0f8f8a;color:#fff;display:grid;gap:42px;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);min-height:620px;padding:76px max(40px,calc((100vw - 1180px)/2)) 88px;position:relative}.academy-hero:before{background:linear-gradient(135deg,#ffffff29,#fff0),repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 1px,transparent 1px 18px);border-radius:999px;content:"";height:440px;position:absolute;right:-140px;top:-120px;width:440px}.academy-hero:after{background:#ffffff1f;bottom:54px;content:"";height:1px;left:max(40px,calc((100vw - 1180px)/2));position:absolute;right:max(40px,calc((100vw - 1180px)/2))}.academy-hero-copy,.academy-hero-visual{position:relative;z-index:1}.academy-kicker,.academy-section-heading span,.academy-board-title span,.academy-hot-issue span{color:#a7fff3;display:inline-block;font-size:13px;font-weight:500;margin-bottom:14px}.academy-hero h1{font-size:clamp(42px,6vw,76px);font-weight:500;letter-spacing:0;line-height:1.06;margin:0;max-width:760px}.desktop-line-break{display:none}.academy-hero p{color:#ffffffd6;font-size:19px;line-height:1.78;margin:24px 0 0;max-width:640px}.academy-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.academy-primary-link,.academy-ghost-link{align-items:center;border-radius:999px;display:inline-flex;font-weight:500;justify-content:center;min-height:52px;min-width:156px;padding:14px 24px;text-decoration:none}.academy-primary-link{background:#fff;color:var(--accent-strong)}.academy-ghost-link{background:#ffffff14;border:1px solid rgba(255,255,255,.34);color:#fff}.academy-hero-visual{min-height:420px}.academy-visual-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff24;border:1px solid rgba(255,255,255,.24);border-radius:8px;box-shadow:0 26px 60px #00232238;color:#fff;position:absolute}.academy-visual-card span{color:#a7fff3;display:block;font-size:13px;font-weight:500;margin-bottom:12px}.academy-visual-card strong{display:block;font-size:28px;font-weight:500}.academy-visual-card p{color:#ffffffb8;font-size:14px;margin:10px 0 0}.academy-visual-card.main{left:2%;padding:34px;top:28px;width:min(92%,420px)}.academy-visual-card.score{background:#fffffff5;bottom:52px;color:var(--text-main);padding:28px;right:2%;width:250px}.academy-visual-card.score span{color:var(--accent-strong)}.academy-visual-card.score p{color:var(--text-muted)}.academy-visual-card.score strong{color:var(--accent-strong);font-size:48px}.academy-visual-card.mini{bottom:12px;left:12%;padding:22px;width:230px}.academy-quick-menu{display:grid;gap:1px;grid-template-columns:repeat(5,minmax(0,1fr));margin:-42px auto 0;max-width:1180px;padding:0 20px;position:relative;z-index:2}.academy-quick-menu a{background:#fff;border:var(--border-hairline);color:var(--text-main);display:grid;gap:8px;min-height:132px;padding:26px;text-decoration:none;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.academy-quick-menu a:first-child{border-radius:8px 0 0 8px}.academy-quick-menu a:last-child{border-radius:0 8px 8px 0}.academy-quick-menu a:hover{border-color:#0f8f8a70;box-shadow:0 18px 40px #0f172a14;transform:translateY(-4px)}.academy-quick-menu strong{color:var(--accent-strong);font-size:20px;font-weight:500}.academy-quick-menu span{color:var(--text-muted);font-size:14px;line-height:1.55}.academy-feature-section,.academy-board-grid,.academy-hot-issue{margin:82px auto 0;max-width:1180px;padding:0 20px}.academy-section-heading{display:grid;gap:12px;justify-items:center;margin-bottom:34px;text-align:center}.academy-section-heading span,.academy-board-title span,.academy-hot-issue span{color:var(--accent-strong);margin-bottom:0}.academy-section-heading h2,.academy-board-title h2,.academy-hot-issue h2{color:#111827;font-size:clamp(28px,3.4vw,44px);font-weight:500;line-height:1.2;margin:0}.academy-section-heading p{color:var(--text-muted);font-size:17px;line-height:1.7;margin:0}.academy-program-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.academy-program-card{background:#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 16px 40px #0f172a0e;min-height:250px;padding:32px}.academy-program-card>span{color:#0f8f8a38;display:block;font-size:54px;font-weight:500;line-height:1;margin-bottom:18px}.academy-program-card strong{color:#111827;display:block;font-size:24px;font-weight:500;margin-bottom:14px}.academy-program-card p{color:var(--text-muted);font-size:15px;line-height:1.74;margin:0}.academy-board-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.academy-board-card{background:#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 16px 40px #0f172a0e;padding:32px}.academy-board-title{align-items:end;display:flex;gap:14px;justify-content:space-between;margin-bottom:22px}.academy-board-title h2{font-size:30px}.academy-notice-list{display:grid;gap:0}.academy-notice-list article{border-top:var(--border-hairline);display:grid;gap:8px;padding:18px 0}.academy-notice-list article:first-child{border-top:0;padding-top:0}.academy-notice-list time{color:var(--accent-strong);font-size:13px}.academy-notice-list strong{color:var(--text-main);font-size:17px;font-weight:500}.academy-notice-list p,.academy-empty-text{color:var(--text-muted);line-height:1.6;margin:0}.academy-notice-list p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.academy-highlight-card{background:linear-gradient(135deg,#e8f7f5e6,#fffffffa),#fff}.academy-today-box{background:#fff;border:var(--border-hairline);border-radius:8px;margin-bottom:22px;padding:22px}.academy-today-box span{color:var(--accent-strong);display:block;font-size:13px;margin-bottom:8px}.academy-today-box strong{color:#111827;display:block;font-size:22px;font-weight:500;margin-bottom:8px}.academy-today-box p{color:var(--text-muted);line-height:1.6;margin:0}.academy-strength-list{display:grid;gap:12px;list-style:none;margin:0;padding:0}.academy-strength-list li{align-items:center;color:var(--text-main);display:flex;gap:10px;line-height:1.5}.academy-strength-list li:before{background:var(--accent);border-radius:999px;content:"";flex:0 0 8px;height:8px;width:8px}.academy-hot-issue{align-items:center;background:linear-gradient(90deg,#0f8f8af5,#0b6f6bf5),var(--accent);border-radius:8px;color:#fff;display:flex;gap:30px;justify-content:space-between;margin-bottom:82px;padding:38px}.academy-hot-issue span{color:#a7fff3}.academy-hot-issue h2{color:#fff;font-size:clamp(24px,3vw,38px)}.academy-hot-issue p{color:#ffffffc7;line-height:1.72;margin:12px 0 0;max-width:740px}.academy-hot-issue .academy-primary-link{flex:0 0 auto}@media(min-width:921px){.academy-hero{grid-template-columns:minmax(620px,1.15fr) minmax(320px,.85fr)}.academy-hero h1{font-size:clamp(54px,5vw,70px);max-width:none;white-space:nowrap}.academy-hero p{max-width:720px}.desktop-line-break{display:block}}@media(max-width:920px){.academy-hero{grid-template-columns:1fr;min-height:auto;padding:54px 24px 86px}.academy-hero-visual{min-height:340px}.academy-quick-menu,.academy-program-grid,.academy-board-grid{grid-template-columns:1fr 1fr}.academy-quick-menu a:first-child,.academy-quick-menu a:last-child{border-radius:8px}.academy-hot-issue{align-items:flex-start;flex-direction:column}}.problem-quality-panel{display:grid;gap:14px}.problem-quality-head{align-items:center;display:flex;gap:16px;justify-content:space-between}.problem-quality-head h2,.problem-quality-head p{margin:0}.problem-quality-head p,.problem-quality-panel>small{color:#64748b;font-size:.84rem}.problem-quality-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.problem-quality-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:4px;padding:12px}.problem-quality-grid>div.has-issues{background:#fff7ed;border-color:#fed7aa}.problem-quality-grid span{color:#64748b;font-size:.78rem}.problem-quality-grid strong{font-size:1.35rem}.problem-export-history,.problem-change-history,.problem-export-history-list{display:grid;gap:12px}.problem-export-history-head,.problem-export-history-list>div{align-items:center;display:flex;gap:14px;justify-content:space-between}.problem-export-history-head h2,.problem-export-history-head p{margin:0}.problem-export-history-head p,.problem-export-history-list span{color:#64748b;font-size:.82rem}.problem-export-history-list>div{border-top:1px solid #e2e8f0;padding-top:10px}.problem-export-history-list>div>div{display:grid;gap:3px}.problem-job-error{color:#b91c1c}.problem-admin-history-actions{align-items:center;display:flex!important;gap:6px!important;grid-template-columns:none!important}.problem-admin-history-actions button{min-width:64px;white-space:nowrap}.problem-export-jobs-compact{align-items:center;grid-template-columns:minmax(180px,auto) minmax(0,1fr);gap:8px;padding:9px 12px}.problem-export-jobs-compact .problem-export-history-head p{display:none}.problem-export-jobs-compact .problem-export-history-head h2{font-size:.9rem}.problem-export-jobs-compact .problem-export-history-list{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.problem-export-jobs-compact .problem-export-history-list>div{align-items:center;border-left:1px solid #e2e8f0;border-top:0;min-width:0;padding:0 0 0 8px}.problem-export-jobs-compact .problem-export-history-list strong,.problem-export-jobs-compact .problem-export-history-list span{font-size:.75rem}.problem-export-jobs-compact .problem-export-history-list button{flex:0 0 auto;min-width:78px;white-space:nowrap}.problem-export-jobs-compact .problem-bank-empty{margin:0;padding:4px 8px}.admin-problem-bank-page{display:grid;gap:18px;margin:0 auto;max-width:1440px;padding:28px 24px 56px;width:100%}.admin-problem-bank-hero{align-items:end;background:linear-gradient(135deg,#172554,#1e3a8a);border-radius:22px;color:#fff;display:flex;gap:24px;justify-content:space-between;padding:26px}.admin-problem-bank-hero h1,.admin-problem-bank-hero p{margin:0}.admin-problem-bank-hero .problem-bank-actions{flex-wrap:wrap;justify-content:flex-end}.admin-problem-bank-hero .link-button{background:#ffffff1f;border-color:#ffffff7a;color:#fff}.admin-problem-bank-hero .link-button:hover{background:#ffffff38;border-color:#ffffffc7;color:#fff}@media(max-width:720px){.admin-problem-bank-page{padding:16px 12px 40px}.admin-problem-bank-hero,.problem-export-history-head,.problem-export-history-list>div{align-items:stretch;flex-direction:column}.problem-usage-summary{grid-template-columns:1fr}.problem-export-jobs-compact{align-items:stretch;grid-template-columns:1fr}.problem-export-jobs-compact .problem-export-history-list{grid-template-columns:1fr}}.problem-usage-dashboard{display:grid;gap:14px}.problem-usage-summary{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.problem-usage-summary>div{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;display:grid;gap:4px;padding:12px}.problem-usage-summary span{color:#475569;font-size:.78rem}.problem-usage-summary strong{font-size:1.35rem}.problem-usage-rankings{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.problem-usage-ranking{display:grid;gap:7px}.problem-usage-ranking>div{align-items:center;display:grid;gap:6px;grid-template-columns:minmax(80px,1fr) minmax(50px,1fr) auto}.problem-usage-ranking span{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-usage-ranking i{background:#2563eb;border-radius:999px;display:block;height:7px}.problem-usage-ranking b{font-size:.75rem}@media(max-width:640px){.academy-hero{padding:42px 18px 72px}.academy-hero h1{font-size:38px}.academy-hero p{font-size:16px}.academy-primary-link,.academy-ghost-link{width:100%}.academy-hero-visual{min-height:310px}.academy-visual-card.main{left:0;width:100%}.academy-visual-card.score{bottom:42px;right:0;width:210px}.academy-visual-card.mini{bottom:0;left:0;width:190px}.academy-quick-menu,.academy-program-grid,.academy-board-grid{grid-template-columns:1fr}.academy-quick-menu{margin-top:-30px}.academy-quick-menu a,.academy-program-card,.academy-board-card,.academy-hot-issue{padding:24px}.academy-feature-section,.academy-board-grid,.academy-hot-issue{margin-top:54px}}.parent-dashboard-page{background:linear-gradient(180deg,#0f8f8a1f,#f4f7f700 360px),#f4f7f7;max-width:none;padding:34px 20px 72px}.parent-dashboard-page .panel.wide{background:transparent;border:0;box-shadow:none;max-width:1180px;padding:0}.parent-dashboard-page .title-row{align-items:center;background:linear-gradient(90deg,#065b58f5,#0f8f8ae6),var(--accent);border-radius:8px;box-shadow:0 24px 54px #0045422e;color:#fff;display:flex;gap:24px;justify-content:space-between;margin-bottom:22px;overflow:hidden;padding:34px;position:relative}.parent-dashboard-page .title-row:after{background:linear-gradient(135deg,#ffffff24,#fff0),repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 1px,transparent 1px 18px);border-radius:999px;content:"";height:260px;position:absolute;right:-92px;top:-112px;width:260px}.parent-dashboard-page .title-row>*{position:relative;z-index:1}.parent-page-kicker{color:#a7fff3;margin-bottom:10px}.parent-dashboard-page .title-row h1{color:#fff;font-size:clamp(34px,4.8vw,58px);font-weight:500;line-height:1.08;margin:0}.parent-dashboard-page .title-row .subtle{color:#ffffffd1;font-size:17px;line-height:1.68;margin:14px 0 0}.parent-dashboard-page .title-row .button-row{flex-shrink:0}.parent-dashboard-page .title-row button.secondary{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.parent-login-card,.parent-hero-card,.parent-notice-list,.parent-section{background:#fffffff0;border:var(--border-hairline);border-radius:8px;box-shadow:0 16px 40px #0f172a0e;padding:28px}.parent-login-card{margin-top:22px}.parent-login-card button[type=submit]{border-radius:999px;min-width:132px}.parent-hero-card{background:linear-gradient(135deg,#e8f7f5f0,#fffffffa),#fff;border-top:var(--border-strong);margin-top:22px}.parent-hero-card strong{color:#111827;font-size:28px;font-weight:500}.parent-hero-card b{color:var(--accent-strong);font-size:18px;font-weight:500}.parent-hero-card span,.parent-hero-card small{color:var(--text-muted)}.parent-dashboard-tabs{background:#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 16px 40px #0f172a0b;gap:0;margin:22px 0;overflow-x:auto;padding:0 14px}.parent-dashboard-tabs button{border-bottom:3px solid transparent;border-radius:0;color:var(--text-muted);flex:0 0 auto;padding:16px 10px 14px;white-space:nowrap}.parent-dashboard-tabs button:not(.secondary){border-bottom-color:var(--accent);color:var(--accent-strong)}.parent-dashboard-tabs button.secondary{background:transparent;border-color:transparent;color:var(--text-muted)}.parent-dashboard-tabs button:hover:not(:disabled){color:var(--accent-strong)}.parent-section h2,.parent-section h3{color:#111827;font-weight:500}.parent-report-section>.section-title h2,.report-kind-panel>.section-title h2,.report-kind-panel .nested-section-title h2,.score-trend-card .section-title h2,.parent-score-section .score-card>.section-title h2,.parent-score-section .collapse-header{color:#111827;font-size:clamp(22px,2.4vw,32px);font-weight:700;line-height:1.25}.parent-score-section .collapse-header{margin-bottom:2px}.parent-score-section .collapse-header b{font-size:12px;font-weight:500}.parent-report-section>.section-title .subtle{font-size:15px;line-height:1.65}.report-kind-switch button{font-size:16px;font-weight:700}.child-card,.consultation-reservation-card,.consultation-booking-card,.mock-exam-parent-card,.parent-mock-exam-report,.calendar-day,.attendance-calendar-day{border-radius:8px}@media(max-width:820px){.parent-dashboard-page{padding:20px 14px 52px}.parent-dashboard-page .title-row{align-items:flex-start;flex-direction:column;padding:28px 22px}.parent-dashboard-page .title-row .button-row{width:100%}.parent-dashboard-page .title-row .button-row button{flex:1}.parent-login-card,.parent-hero-card,.parent-notice-list,.parent-section{padding:22px}.parent-hero-card{align-items:flex-start;flex-direction:column;gap:14px}}.event-landing-shell,.event-application-page,.level-test-page{background:linear-gradient(180deg,#0f8f8a1f,#f4f7f700 360px),#f4f7f7}.event-landing-shell{min-height:calc(100vh - 92px);padding:0 20px 72px}.event-landing-hero{background:linear-gradient(90deg,#065b58f5,#0f8f8ae6),var(--accent);border-radius:8px;box-shadow:0 24px 54px #0045422e;color:#fff;margin:34px auto 0;max-width:1180px;overflow:hidden;padding:48px;position:relative}.event-landing-hero:after{background:linear-gradient(135deg,#ffffff24,#fff0),repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 1px,transparent 1px 18px);border-radius:999px;content:"";height:300px;position:absolute;right:-108px;top:-130px;width:300px}.event-landing-hero>*{position:relative;z-index:1}.event-landing-hero .academy-kicker{color:#a7fff3}.event-landing-hero h1{color:#fff;font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1.08;margin:0}.event-landing-hero p{color:#ffffffd1;font-size:18px;line-height:1.72;margin:18px 0 0;max-width:680px}.event-landing-content{margin:0 auto;max-width:1180px}.event-landing-content .events-landing-grid{gap:22px;margin-top:24px}.academy-event-card{border-color:#0f8f8a24;box-shadow:0 18px 42px #0f172a0f;min-height:420px;padding:30px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.academy-event-card:hover{border-color:#0f8f8a52;box-shadow:0 24px 56px #0f172a17;transform:translateY(-4px)}.academy-event-card .notice-badge{background:var(--accent-soft);color:var(--accent-strong)}.academy-event-card h2{color:#111827;font-size:clamp(26px,3vw,34px);line-height:1.22;margin:16px 0 12px}.academy-event-card p{color:var(--text-muted);font-size:16px;line-height:1.68}.academy-event-card dl{background:#f8fafc;border:var(--border-hairline);border-radius:8px;gap:0;overflow:hidden}.academy-event-card dl>div{padding:14px}.academy-event-card dl>div:nth-child(odd){border-right:var(--border-hairline)}.academy-event-card dl>div:nth-child(n+3){border-top:var(--border-hairline)}.event-apply-link{align-self:end;background:var(--accent);color:#fff;min-height:54px;width:100%}.event-application-page{min-height:calc(100vh - 92px);padding:34px 20px 72px}.event-application-page .panel.wide,.level-test-page .panel.wide{background:transparent;border:0;box-shadow:none;max-width:1180px;padding:0}.event-application-layout,.level-test-layout{gap:24px}.event-summary-card,.level-test-summary-card{background:linear-gradient(180deg,#065b58f5,#0f8f8ae6),var(--accent);box-shadow:0 24px 54px #0045422e;color:#fff;overflow:hidden;padding:34px;position:sticky;top:122px}.event-summary-card:after,.level-test-summary-card:after{background:linear-gradient(135deg,#ffffff21,#fff0),repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 1px,transparent 1px 18px);border-radius:999px;content:"";height:240px;position:absolute;right:-96px;top:-104px;width:240px}.event-summary-card>*,.level-test-summary-card>*{position:relative;z-index:1}.event-summary-card .eyebrow,.level-test-summary-card .eyebrow{color:#a7fff3}.event-summary-card h1,.level-test-summary-card h1{color:#fff;font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.14;margin:10px 0 16px}.event-summary-card p,.level-test-summary-card p{color:#ffffffd1;line-height:1.68}.event-summary-card dl,.level-test-summary-card dl{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:18px}.event-summary-card dt,.level-test-summary-card dt{color:#ffffffa3}.event-summary-card dd,.level-test-summary-card dd{color:#fff}.event-form-card,.level-test-form-card,.event-qr-lookup-card,.event-qr-card{border-color:#0f8f8a24;box-shadow:0 18px 42px #0f172a0f}.event-form-card,.level-test-form-card{padding:32px}.event-form-card h2,.level-test-form-card h2,.event-qr-lookup-card h2,.event-qr-card h2{color:#111827;font-size:clamp(24px,3vw,34px);font-weight:700;line-height:1.25;margin:0 0 18px}.event-form-card .management-form>button[type=submit],.level-test-form-card .management-form>button[type=submit]{border-radius:999px;min-height:54px}.event-qr-lookup-card{background:linear-gradient(135deg,#e8f7f5cc,#fffffffa),#fff;margin-top:24px}.event-success-state{background:linear-gradient(135deg,#e8f7f5c7,#fffffffa),#fff;border-radius:8px;padding:28px}.level-test-page{min-height:calc(100vh - 92px);padding:34px 20px 72px}.level-test-success-state{background:linear-gradient(135deg,#e8f7f5c7,#fffffffa),#fff;border-radius:8px;padding:28px}.event-empty-state{margin-top:24px}@media(max-width:820px){.event-landing-shell,.event-application-page{padding-left:14px;padding-right:14px}.event-landing-hero{margin-top:20px;padding:32px 24px}.event-summary-card,.level-test-summary-card{position:relative;top:auto}.event-summary-card,.event-form-card,.level-test-summary-card,.level-test-form-card{padding:24px}.academy-event-card dl>div:nth-child(odd){border-right:0}.academy-event-card dl>div+div{border-top:var(--border-hairline)}}.admin-page{background:linear-gradient(180deg,#0f8f8a1a,#f4f7f700 380px),#f4f7f7;max-width:none;padding:34px 20px 72px}.admin-page .panel.wide{background:transparent;border:0;box-shadow:none;max-width:1280px;padding:0}.admin-page>.panel.wide>.title-row{align-items:center;background:linear-gradient(90deg,#065b58f5,#0f8f8ae6),var(--accent);border-radius:8px;box-shadow:0 24px 54px #0045422e;color:#fff;display:flex;gap:24px;justify-content:space-between;margin-bottom:18px;overflow:hidden;padding:34px;position:relative}.admin-page>.panel.wide>.title-row:after{background:linear-gradient(135deg,#ffffff24,#fff0),repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 1px,transparent 1px 18px);border-radius:999px;content:"";height:280px;position:absolute;right:-104px;top:-120px;width:280px}.admin-page>.panel.wide>.title-row>*{position:relative;z-index:1}.admin-page-kicker{color:#a7fff3}.admin-page>.panel.wide>.title-row h1{color:#fff;font-size:clamp(38px,4.8vw,58px);font-weight:500;line-height:1.08;margin:0}.admin-page>.panel.wide>.title-row .subtle{color:#ffffffd1;font-size:17px;line-height:1.6;margin:12px 0 0}.admin-page>.panel.wide>.title-row .admin-date-text{color:#a7fff3;font-size:14px;margin-top:8px}.admin-menu-row{background:#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 16px 40px #0f172a0b;gap:0;margin:0 0 22px;overflow-x:auto;padding:0 12px}.admin-menu-row a,.admin-menu-row button{align-items:center;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--text-muted);display:inline-flex;flex:0 0 auto;font-size:15px;font-weight:500;justify-content:center;min-height:58px;min-width:auto;padding:0 12px;text-decoration:none}.admin-menu-row a:hover,.admin-menu-row button:hover:not(:disabled){background:transparent;border-bottom-color:var(--accent);color:var(--accent-strong)}.admin-page .grid{gap:16px}.admin-page .summary{background:linear-gradient(135deg,#fffffffa,#f8fafceb),#fff;border:var(--border-hairline);border-radius:8px;box-shadow:0 16px 40px #0f172a0b;overflow:hidden;padding:0}.admin-page .summary-toggle{align-items:center;padding:22px}.admin-page .summary-toggle span{color:var(--text-main);font-size:18px;font-weight:700}.admin-page .summary-toggle b{color:var(--accent-strong);font-size:30px;font-weight:700}.admin-page .summary-toggle em,.admin-page .collapsible-section-header em{background:var(--accent-soft);border:1px solid rgba(15,143,138,.18);border-radius:999px;color:var(--accent-strong);font-size:12px;font-style:normal;font-weight:500;padding:7px 10px}.admin-page .summary .list{border-top:var(--border-hairline);padding:0 22px 20px}.admin-page .manager-section,.admin-page .collapsible-section{background:#fffffff0;border:var(--border-hairline);border-radius:8px;box-shadow:0 16px 40px #0f172a0b}.admin-page .manager-section{padding:24px}.admin-page .collapsible-section{overflow:hidden;padding:0}.admin-page .collapsible-section-header{background:linear-gradient(135deg,#e8f7f5cc,#fffffffa),#fff;border:0;color:var(--text-main);padding:22px 24px}.admin-page .collapsible-section-header b{color:var(--accent-strong);font-size:18px}.admin-page .collapsible-section-body{border-top:var(--border-hairline);padding:24px}.admin-page .section-title h2{color:#111827;font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.25}.admin-page .management-grid,.admin-page .admin-tools-grid{gap:18px}.admin-page input,.admin-page select,.admin-page textarea{background:#fff}.alimtalk-status-section{grid-column:1 / -1}.alimtalk-status-section>.message{display:grid;gap:5px;margin:0 0 18px}.alimtalk-status-section>.message.warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.alimtalk-status-section>.message.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.compact-summary-grid{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px}.compact-summary-grid .summary{align-items:center;display:flex;justify-content:space-between;min-height:56px;padding:12px 14px}.compact-summary-grid .summary b{color:var(--accent-strong);font-size:20px}.alimtalk-template-readiness{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.alimtalk-template-readiness span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#475569;font-size:13px;padding:7px 10px}.alimtalk-status-section .compact-form{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:20px}.alimtalk-log-table{margin-top:22px}.alimtalk-log-table td{max-width:360px;vertical-align:top}.alimtalk-log-table small{display:block;margin-top:4px}.alimtalk-log-table .error-text{color:#b91c1c}@media(max-width:820px){.admin-page{padding:20px 14px 52px}.admin-page>.panel.wide>.title-row{align-items:flex-start;flex-direction:column;padding:28px 22px}.admin-menu-row{padding:0 10px}.admin-menu-row a,.admin-menu-row button{min-height:52px}.admin-page .manager-section{padding:22px}.compact-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.problem-bank-page{background:linear-gradient(180deg,#0f8f8a1a,#f4f7f700 380px),#f4f7f7;max-width:none;padding:34px 20px 72px}.problem-bank-hero,.problem-bank-access-card{background:linear-gradient(90deg,#065b58f5,#0f8f8ae6),var(--accent);border-radius:8px;box-shadow:0 24px 54px #0045422e;color:#fff;margin:0 auto 22px;max-width:1280px;overflow:hidden;padding:34px;position:relative}.problem-bank-access-card{display:grid;gap:16px;justify-items:start;margin-top:34px}.problem-bank-hero:after,.problem-bank-access-card:after{background:linear-gradient(135deg,#ffffff24,#fff0),repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 1px,transparent 1px 18px);border-radius:999px;content:"";height:280px;position:absolute;right:-104px;top:-120px;width:280px}.problem-bank-hero{align-items:center;display:flex;gap:24px;justify-content:space-between}.problem-bank-hero>*,.problem-bank-access-card>*{position:relative;z-index:1}.problem-bank-hero .academy-kicker,.problem-bank-access-card .academy-kicker{color:#a7fff3}.problem-bank-hero h1,.problem-bank-access-card h1{color:#fff;font-size:clamp(38px,4.8vw,58px);font-weight:500;line-height:1.08;margin:0}.problem-bank-hero p,.problem-bank-access-card p{color:#ffffffd1;font-size:17px;line-height:1.6;margin:12px 0 0}.problem-bank-layout{align-items:start;display:grid;gap:20px;grid-template-columns:1fr;margin:0 auto;max-width:1280px}.problem-bank-sidebar{display:grid;gap:12px;grid-template-columns:minmax(260px,1fr) minmax(300px,1.15fr) minmax(260px,1fr)}.problem-bank-panel,.problem-bank-results,.problem-card{background:#fffffff0;border:var(--border-hairline);border-radius:8px;box-shadow:0 16px 40px #0f172a0b}.problem-bank-panel{display:grid;align-content:start;gap:9px;padding:16px}.problem-bank-panel h2{color:#111827;font-size:17px;font-weight:700;margin:0}.problem-bank-panel-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.problem-bank-panel-head h2{margin:0}.problem-bank-panel label{display:grid;gap:4px;font-size:.78rem;font-weight:500;color:var(--text-muted);margin:0}.problem-bank-panel input,.problem-bank-panel select{min-height:34px;padding:6px 9px;font-size:.86rem}.problem-bank-panel input[type=file]{min-height:34px;padding:5px 8px}.problem-hwpx-mode{grid-column:1 / -1}.problem-bank-panel .compact-checkbox{align-items:center;display:inline-flex;flex-direction:row;gap:6px;min-height:24px}.problem-bank-panel .compact-checkbox input[type=checkbox]{width:14px;height:14px;min-height:14px;margin:0;flex:0 0 14px}.problem-bank-upload-panel,.problem-bank-search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-bank-upload-panel h2,.problem-bank-search-panel h2,.problem-bank-selection-panel h2,.problem-bank-upload-panel button,.problem-bank-search-panel .problem-bank-actions,.problem-bank-selection-panel .problem-bank-actions,.problem-bank-selection-panel .problem-selection-box{grid-column:1 / -1}.problem-bank-search-panel>label:first-of-type,.problem-bank-search-panel>label:nth-of-type(2){grid-column:1 / -1}.problem-subject-presets,.problem-quick-filters{background:#f8fafc;border:1px solid rgba(148,163,184,.24);border-radius:10px;display:grid;gap:7px;grid-column:1 / -1;padding:10px}.problem-subject-presets>span,.problem-quick-filters>span{color:var(--text-muted);font-size:.78rem;font-weight:600}.problem-subject-presets>div,.problem-quick-filters>div{display:flex;flex-wrap:wrap;gap:6px}.problem-subject-presets button,.problem-quick-filters button{background:#fff;border:1px solid rgba(15,143,138,.18);border-radius:999px;color:var(--text-main);font-size:.78rem;min-height:28px;padding:4px 10px}.problem-subject-presets button.active,.problem-quick-filters button.active{background:var(--accent);border-color:var(--accent);color:#fff}.problem-bank-actions{display:flex;flex-wrap:wrap;gap:8px}.problem-bank-actions button{border-radius:999px;min-height:34px;padding:6px 12px;font-size:.86rem}.problem-selection-box{background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:grid;gap:4px;max-height:220px;overflow:auto;padding:8px}.problem-selection-box p{color:var(--text-muted);margin:0}.problem-selection-box button{background:#fff;border:var(--border-hairline);color:var(--text-main);justify-content:flex-start;min-height:30px;padding:5px 8px;font-size:.8rem;text-align:left}.problem-selection-editor{display:grid;gap:10px;grid-column:1 / -1}.problem-selection-item{align-items:start;background:#fff;border:var(--border-hairline);border-radius:8px;display:grid;gap:4px;padding:7px}.problem-selection-row{display:grid;gap:4px}.problem-selection-group-label{align-items:center;background:#0f8f8a14;border-radius:999px;color:var(--accent-strong);display:inline-flex;font-size:.72rem;font-weight:700;justify-self:start;padding:4px 9px}.problem-selection-main{align-items:center;background:transparent!important;border:0!important;display:grid!important;gap:6px;grid-template-columns:22px minmax(0,1fr);min-height:auto!important;padding:0!important;text-align:left}.problem-selection-main b{align-items:center;background:var(--accent-soft);border-radius:999px;color:var(--accent-strong);display:inline-flex;font-size:.68rem;height:22px;justify-content:center;width:22px}.problem-selection-main span{color:var(--text-main);font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-selection-main small{color:var(--text-muted);font-size:.68rem;grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-selection-controls{display:flex;flex-wrap:wrap;gap:4px;padding-left:28px}.problem-selection-controls button{border-radius:999px;font-size:.74rem;min-height:25px;padding:3px 7px}.problem-selection-preview{background:#fff;border:1px solid rgba(15,143,138,.18);border-radius:8px;display:grid;gap:8px;max-height:220px;overflow:auto;padding:10px}.problem-selection-preview div{display:grid;gap:3px}.problem-selection-preview strong{color:var(--text-main);font-size:.9rem;font-weight:700}.problem-selection-preview span,.problem-selection-preview summary{color:var(--accent-strong);font-size:.76rem;font-weight:600}.problem-selection-preview p{color:var(--text-muted);font-size:.8rem;line-height:1.5;margin:0;white-space:pre-wrap}.problem-bank-audit,.problem-bank-audit-empty{display:grid;gap:10px}.problem-bank-audit-empty p,.problem-bank-audit-ok,.problem-bank-audit-more{color:var(--text-muted);font-size:.8rem;line-height:1.5;margin:0}.problem-bank-audit-stats{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.problem-bank-audit-stats div{background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:grid;gap:2px;padding:8px}.problem-bank-audit-stats b{color:var(--accent-strong);font-size:1.05rem;font-weight:700}.problem-bank-audit-stats span,.problem-bank-audit-substats span{color:var(--text-muted);font-size:.72rem}.problem-bank-audit-substats{display:flex;flex-wrap:wrap;gap:5px}.problem-bank-audit-substats span{background:#0f8f8a14;border-radius:999px;padding:4px 7px}.problem-bank-audit-issues{display:grid;gap:6px;max-height:260px;overflow:auto;padding-right:2px}.problem-bank-audit-issue{border:var(--border-hairline);border-left:3px solid #94a3b8;border-radius:8px;display:grid;gap:3px;padding:8px}.problem-bank-audit-issue.high{border-left-color:#dc2626}.problem-bank-audit-issue.medium{border-left-color:#d97706}.problem-bank-audit-issue.low{border-left-color:#0f8f8a}.problem-bank-audit-issue strong{color:var(--text-main);font-size:.8rem;font-weight:700}.problem-bank-audit-issue p{color:var(--text-muted);font-size:.74rem;line-height:1.45;margin:0}.problem-bank-help{margin-top:14px;padding:12px;border-radius:12px;background:#0f8f8a14;border:1px solid rgba(15,143,138,.16);color:var(--text-muted);display:grid;gap:6px}.problem-bank-help strong{color:var(--text-main);font-size:.92rem;font-weight:600}.problem-bank-help p{margin:0;font-size:.82rem;line-height:1.55}.problem-bank-help code{display:block;padding:8px;border-radius:8px;background:#fff;color:#475569;font-size:.74rem;line-height:1.5;white-space:normal;word-break:break-all}.problem-bank-results{min-height:520px;padding:22px}.problem-bank-resultbar{align-items:center;background:linear-gradient(135deg,#e8f7f5cc,#fffffffa),#fff;border:var(--border-hairline);border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:16px;padding:18px}.problem-bank-resultbar strong{color:#111827;font-size:24px;font-weight:700}.problem-bank-resultbar span{background:var(--accent-soft);border:1px solid rgba(15,143,138,.16);border-radius:999px;color:var(--accent-strong);font-size:13px;font-weight:500;padding:7px 10px}.problem-bank-result-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.problem-bank-result-actions button{font-size:.78rem;min-height:32px;padding:6px 10px;white-space:nowrap}.problem-pool-togglebar{align-items:center;background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin:-4px 0 14px;padding:10px 12px}.problem-pool-togglebar div{display:grid;gap:2px}.problem-pool-togglebar strong{color:#111827;font-size:.9rem;font-weight:600}.problem-pool-togglebar span{color:var(--text-muted);font-size:.82rem}.problem-pool-togglebar button{flex-shrink:0;min-height:32px;padding:5px 12px}.problem-bank-empty{border:1px dashed rgba(15,143,138,.3);border-radius:8px;color:var(--text-muted);display:grid;gap:8px;justify-items:center;padding:42px 20px;text-align:center}.problem-bank-empty strong{color:var(--text-main);font-size:20px}.problem-pool-overview{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.problem-pool-card{align-items:stretch;background:#fff;border:var(--border-hairline);border-radius:8px;color:var(--text-main);cursor:pointer;display:grid;gap:10px;justify-items:stretch;min-height:150px;padding:16px;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.problem-pool-card:hover{border-color:#0f8f8a57;box-shadow:0 18px 36px #0f172a14;transform:translateY(-1px)}.problem-pool-card>span{color:var(--accent-strong);font-size:.78rem;font-weight:600}.problem-pool-card>strong{color:#111827;font-size:1.1rem;font-weight:700;line-height:1.35}.problem-pool-status-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.problem-pool-status-row select{background:#fff;border:1px solid rgba(148,163,184,.32);border-radius:999px;color:var(--text-main);font-size:.75rem;flex:0 0 86px;min-height:28px;padding:3px 6px;width:86px}.problem-pool-status{border-radius:999px;display:inline-flex;flex:1 1 auto;font-size:.74rem;font-weight:800;justify-content:center;min-width:74px;padding:5px 9px;white-space:nowrap}.problem-pool-status.draft{background:#f1f5f9;color:#475569}.problem-pool-status.reviewed{background:#e0f2fe;color:#0369a1}.problem-pool-status.ready{background:#dcfce7;color:#15803d}.problem-pool-status.hold{background:#fef3c7;color:#b45309}.problem-pool-access-summary{color:var(--text-muted);font-size:.76rem;line-height:1.35;margin:-2px 0 0}.problem-pool-access-modal-backdrop{align-items:center;background:#0f172a85;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:1200}.problem-pool-access-modal{background:#fff;border-radius:12px;box-shadow:0 24px 70px #0f172a47;display:grid;gap:16px;max-height:min(760px,calc(100vh - 40px));max-width:560px;overflow-y:auto;padding:20px;width:100%}.problem-pool-access-modal-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.problem-pool-access-modal-head div{display:grid;gap:4px}.problem-pool-access-modal-head span{color:var(--accent-strong);font-size:.78rem;font-weight:700}.problem-pool-access-modal-head h3{margin:0}.problem-pool-access-modal .problem-pool-access-control{padding:14px}.problem-pool-access-modal .problem-teacher-checkbox-list{max-height:min(360px,42vh)}.problem-pool-access-control{background:#f8fafc;border:.5px solid rgba(148,163,184,.26);border-radius:8px;display:grid;gap:8px;padding:8px}.problem-pool-access-control label{color:var(--text-muted);display:grid;font-size:.72rem;gap:4px}.problem-pool-access-control select{background:#fff;border:.5px solid rgba(148,163,184,.36);border-radius:7px;color:var(--text-main);font-size:.78rem;min-height:30px;padding:5px 7px}.problem-teacher-assignment{display:grid;gap:7px}.problem-teacher-assignment-head,.problem-teacher-assignment-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between}.problem-teacher-assignment-head strong{font-size:.76rem}.problem-teacher-assignment-head span{color:var(--accent-strong);font-size:.72rem;font-weight:700}.problem-teacher-assignment>input[type=search]{background:#fff;border:.5px solid rgba(148,163,184,.36);border-radius:7px;font-size:.78rem;min-height:32px;padding:5px 8px;width:100%}.problem-teacher-assignment-actions{justify-content:flex-start}.problem-teacher-assignment-actions button{font-size:.7rem;padding:5px 7px}.problem-teacher-checkbox-list{background:#fff;border:.5px solid rgba(148,163,184,.3);border-radius:7px;display:grid;gap:2px;max-height:190px;overflow-y:auto;padding:5px}.problem-teacher-checkbox-list>p{color:var(--text-muted);font-size:.72rem;margin:6px}.problem-teacher-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:grid!important;gap:8px!important;grid-template-columns:14px minmax(0,1fr);padding:6px;width:100%}.problem-teacher-checkbox:hover{background:#f1f5f9}.problem-pool-access-control .problem-teacher-checkbox input[type=checkbox]{height:14px;min-height:14px;margin:0;padding:0;width:14px}.problem-teacher-checkbox span{display:grid;min-width:0;width:100%}.problem-teacher-checkbox strong,.problem-teacher-checkbox small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-teacher-checkbox strong{color:var(--text-main);display:block;font-size:.7rem;line-height:1.25}.problem-teacher-checkbox small{color:var(--text-muted);display:block;font-size:.67rem;font-weight:400;line-height:1.25}.problem-teacher-unavailable{background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;display:grid;gap:4px;padding:7px}.problem-teacher-unavailable strong{color:#9a3412;font-size:.7rem}.problem-teacher-unavailable button{font-size:.67rem;justify-self:start}.problem-search-more{justify-self:center;margin:8px 0 2px;min-width:160px}.problem-search-read-summary{color:var(--text-muted);font-size:.7rem;margin:2px 0 8px;text-align:center}.problem-pool-card dl{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:0}.problem-pool-card dl div{background:#f8fafc;border-radius:8px;padding:8px}.problem-pool-card dt{color:var(--text-muted);font-size:.72rem;margin:0 0 3px}.problem-pool-card dd{color:#111827;font-size:1rem;font-weight:700;margin:0}.problem-pool-actions{display:flex;flex-wrap:nowrap;gap:5px;justify-content:flex-end}.problem-pool-actions button{flex:0 0 auto;font-size:.72rem;line-height:1.2;min-height:28px;padding:4px 7px;white-space:nowrap}.problem-open-pool-list{display:grid;gap:16px}.problem-open-pool-section{background:#fff;border:var(--border-hairline);border-radius:10px;display:grid;gap:12px;padding:14px}.problem-open-pool-section>.problem-card-list{align-items:start;grid-auto-rows:max-content;max-height:none;overflow:visible;padding-right:0}.problem-open-pool-section>.problem-card-list::-webkit-scrollbar{width:10px}.problem-open-pool-section>.problem-card-list::-webkit-scrollbar-thumb{background:#0f8f8a47;border:2px solid #ffffff;border-radius:999px}.problem-open-pool-section>.problem-card-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px}.problem-open-pool-head{align-items:center;background:#f8fafc;border:var(--border-hairline);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.problem-open-pool-head div{display:grid;gap:2px}.problem-open-pool-head .problem-open-pool-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.problem-open-pool-actions .problem-open-pool-select-all,.problem-open-pool-actions .problem-open-pool-clear,.problem-open-pool-actions .problem-open-pool-close{font-size:0}.problem-open-pool-actions .problem-open-pool-select-all:after,.problem-open-pool-actions .problem-open-pool-clear:after,.problem-open-pool-actions .problem-open-pool-close:after{font-size:.86rem}.problem-open-pool-actions .problem-open-pool-select-all:after{content:"Select all"}.problem-open-pool-actions .problem-open-pool-clear:after{content:"Clear pool"}.problem-open-pool-actions .problem-open-pool-close:after{content:"Close"}.problem-open-pool-head strong{color:#111827;font-size:.98rem;font-weight:600}.problem-open-pool-head span{color:var(--text-muted);font-size:.82rem}.problem-open-pool-head button{flex-shrink:0;min-height:32px;padding:5px 12px}.problem-card-list{display:grid;gap:10px}.problem-virtual-list{min-height:178px;overflow-y:auto;padding-right:6px;scrollbar-gutter:stable}.problem-virtual-list-inner{position:relative;width:100%}.problem-virtual-row{left:0;padding-bottom:10px;position:absolute;top:0;width:100%}.problem-virtual-list::-webkit-scrollbar{width:10px}.problem-virtual-list::-webkit-scrollbar-thumb{background:#0f8f8a47;border:2px solid #ffffff;border-radius:999px}.problem-virtual-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px}.problem-preview-panel{background:linear-gradient(180deg,#0f8f8a0f,#fff0 120px),#fff;border:1px solid rgba(15,143,138,.16);border-radius:12px;box-shadow:0 18px 42px #0f172a14;display:grid;gap:10px;margin-bottom:12px;max-height:min(430px,52vh);overflow:auto;padding:14px;position:sticky;top:14px;z-index:2}.problem-preview-head{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.problem-preview-head span{color:var(--accent-strong);display:block;font-size:.78rem;font-weight:700;letter-spacing:.02em}.problem-preview-head strong{color:#111827;display:block;font-size:1.25rem;font-weight:700;margin-top:4px}.problem-preview-head small{color:var(--text-muted);display:block;font-size:.82rem;margin-top:4px}.problem-preview-actions{display:flex;flex-shrink:0;gap:6px}.problem-preview-panel section{border-top:1px solid rgba(148,163,184,.24);display:grid;gap:6px;padding-top:9px}.problem-preview-panel h3{color:#111827;font-size:.9rem;font-weight:700;margin:0}.problem-preview-panel p{color:var(--text-main);font-size:.9rem;line-height:1.55;margin:0;max-height:150px;overflow:auto;white-space:pre-wrap}.problem-preview-image-wrap{background:#f8fafc;border:1px solid rgba(148,163,184,.26);border-radius:12px;overflow:hidden;padding:34px 8px 8px;position:relative}.problem-preview-image-button{background:transparent;border:0;cursor:zoom-in;display:block;padding:0;width:100%}.problem-preview-image-button img{border-radius:8px;display:block;height:auto;max-height:300px;object-fit:contain;width:100%}.problem-preview-zoom-button{align-items:center;background:#fff;border:1px solid rgba(15,143,138,.26);border-radius:999px;color:#0f8f8a;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:700;gap:6px;height:26px;padding:0 11px;position:absolute;right:10px;top:8px}.problem-preview-zoom-backdrop{align-items:center;background:#0f172ab8;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:28px;position:fixed;z-index:2000}.problem-preview-zoom-dialog{background:#fff;border-radius:18px;box-shadow:0 24px 80px #0f172a52;display:flex;flex-direction:column;max-height:94vh;max-width:min(1180px,96vw);overflow:hidden;width:100%}.problem-preview-zoom-head{align-items:center;border-bottom:1px solid rgba(148,163,184,.22);display:flex;justify-content:space-between;gap:16px;padding:16px 18px}.problem-preview-zoom-head span{color:#0f8f8a;display:block;font-size:.82rem;font-weight:800;margin-bottom:3px}.problem-preview-zoom-head strong{color:var(--text-main);font-size:1.18rem}.problem-preview-zoom-body{background:#f8fafc;overflow:auto;padding:18px}.problem-preview-zoom-body img{background:#fff;border:1px solid rgba(148,163,184,.24);border-radius:14px;display:block;height:auto;margin:0 auto;max-width:none;min-width:min(900px,100%);width:min(1100px,100%)}.problem-preview-raw{background:#f8fafc;border:1px solid rgba(148,163,184,.26);border-radius:10px;padding:9px 10px}.problem-preview-raw summary{color:var(--text-muted);cursor:pointer;font-size:.82rem;font-weight:600}.problem-preview-raw p{color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.6;margin-top:8px;max-height:220px}.problem-card{align-self:start;contain-intrinsic-size:auto 360px;content-visibility:auto;display:grid;gap:8px;min-height:132px;overflow:visible;padding:13px 14px 13px 16px;position:relative}.problem-card:before{background:#cbd5e1;border-radius:8px 0 0 8px;content:"";inset:0 auto 0 0;position:absolute;width:5px}.problem-card.selected{border-color:#0f8f8a5c}.problem-card.selected:before{background:var(--accent)}.problem-card-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.problem-card-head span,.problem-badges span{background:var(--accent-soft);border:1px solid rgba(15,143,138,.16);border-radius:999px;color:var(--accent-strong);display:inline-flex;font-size:11px;font-weight:500;padding:4px 8px}.problem-card-head strong{color:#111827;display:block;font-size:16px;font-weight:600;margin-top:5px}.problem-card-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.problem-card-actions button{border-radius:999px}.problem-summary-text,.problem-detail p{color:var(--text-muted);font-size:.88rem;line-height:1.5;margin:0;white-space:pre-wrap}.problem-badges{display:flex;flex-wrap:wrap;gap:5px}.problem-badges .problem-badge{box-shadow:inset 0 0 0 1px #ffffff59}.problem-badges .problem-badge-difficulty{font-weight:700}.problem-badges .problem-badge-difficulty-easy{background:#dcfce7;border-color:#86efac;color:#166534}.problem-badges .problem-badge-difficulty-medium{background:#fef3c7;border-color:#fcd34d;color:#92400e}.problem-badges .problem-badge-difficulty-hard{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.problem-badges .problem-badge-difficulty-empty,.problem-badges .problem-badge-major-empty,.problem-badges .problem-badge-minor-empty{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.problem-badges .problem-badge-subject{font-weight:700}.problem-badges .problem-badge-subject-algebra,.problem-badges .problem-badge-subject-math{background:#e0f2fe;border-color:#7dd3fc;color:#075985}.problem-badges .problem-badge-subject-geometry{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.problem-badges .problem-badge-subject-combinatorics{background:#dcfce7;border-color:#86efac;color:#166534}.problem-badges .problem-badge-subject-physics,.problem-badges .problem-badge-subject-science{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.problem-badges .problem-badge-subject-chemistry{background:#cffafe;border-color:#67e8f9;color:#0e7490}.problem-badges .problem-badge-subject-biology{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.problem-badges .problem-badge-subject-earth{background:#fef3c7;border-color:#fcd34d;color:#92400e}.problem-badges .problem-badge-subject-fusion{background:#fae8ff;border-color:#e879f9;color:#86198f}.problem-badges .problem-badge-major-1,.problem-badges .problem-badge-type-1,.problem-badges .problem-badge-subject-tone-1{background:#e0f2fe;border-color:#bae6fd;color:#075985}.problem-badges .problem-badge-major-2,.problem-badges .problem-badge-type-2,.problem-badges .problem-badge-subject-tone-2{background:#ecfccb;border-color:#bef264;color:#3f6212}.problem-badges .problem-badge-major-3,.problem-badges .problem-badge-type-3,.problem-badges .problem-badge-subject-tone-3{background:#ffedd5;border-color:#fdba74;color:#9a3412}.problem-badges .problem-badge-major-4,.problem-badges .problem-badge-type-4,.problem-badges .problem-badge-subject-tone-4{background:#fce7f3;border-color:#f9a8d4;color:#9d174d}.problem-badges .problem-badge-major-5,.problem-badges .problem-badge-subject-tone-5{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}.problem-badges .problem-badge-minor-1{background:#f8fafc;border-color:#cbd5e1;color:#334155}.problem-badges .problem-badge-minor-2{background:#f0fdfa;border-color:#99f6e4;color:#0f766e}.problem-badges .problem-badge-minor-3{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.problem-badges .problem-badge-minor-4{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.problem-badges .problem-badge-school{background:#f8fafc;border-color:#cbd5e1;color:#475569}.problem-badges .problem-badge-asset{background:#ecfeff;border-color:#a5f3fc;color:#0e7490}.problem-badges .problem-badge-solution{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.problem-detail{border-top:var(--border-hairline);display:grid;gap:10px;padding-top:10px}.problem-detail h3{color:#111827;font-size:14px;font-weight:600;margin:0 0 6px}.problem-metadata-editor{background:#f8fafc;border:1px solid rgba(148,163,184,.28);border-radius:12px;display:grid;gap:10px;padding:12px}.problem-bulk-metadata-editor{background:#f8fafc;border:1px solid rgba(15,143,138,.16);border-radius:12px;display:grid;gap:10px;padding:12px}.problem-bulk-metadata-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.problem-bulk-metadata-head strong{color:#111827;display:block;font-size:.9rem;font-weight:700}.problem-bulk-metadata-head span{color:var(--text-muted);display:block;font-size:.76rem;margin-top:2px}.problem-bulk-metadata-grid{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.problem-bulk-metadata-grid label,.problem-bulk-metadata-note{color:var(--text-muted);display:grid;font-size:.76rem;font-weight:500;gap:4px}.problem-bulk-metadata-grid input,.problem-bulk-metadata-note textarea{border:1px solid rgba(148,163,184,.4);border-radius:8px;color:var(--text-main);font:inherit;min-height:31px;padding:6px 8px}.problem-bulk-metadata-note textarea{min-height:54px;resize:vertical}.problem-metadata-editor-head{align-items:center;display:flex;justify-content:space-between;gap:10px}.problem-metadata-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.problem-metadata-grid label,.problem-metadata-textarea{color:var(--text-muted);display:grid;font-size:.78rem;font-weight:500;gap:4px}.problem-metadata-grid input,.problem-metadata-textarea textarea{border:1px solid rgba(148,163,184,.4);border-radius:8px;color:var(--text-main);font:inherit;padding:8px 9px}.problem-metadata-textarea textarea{min-height:62px;resize:vertical}.problem-select-toggle{align-items:center;border:1px solid rgba(15,143,138,.18);border-radius:999px;color:var(--text-main);cursor:pointer;display:inline-flex;flex-direction:row;gap:6px;min-height:31px;padding:5px 9px;white-space:nowrap}.problem-select-toggle input[type=checkbox]{width:14px;height:14px;min-height:14px;margin:0}.problem-select-toggle span{font-size:.82rem;font-weight:500}@media(max-width:920px){.problem-bank-layout{grid-template-columns:1fr}.problem-bank-sidebar{grid-template-columns:1fr;position:static}.problem-bank-hero{align-items:flex-start;flex-direction:column}.problem-card-head{flex-direction:column}}.application-lookup-page{background:linear-gradient(180deg,#0f8f8a1f,#f4f7f700 360px),#f4f7f7;min-height:calc(100vh - 88px);padding:44px 20px 72px}.application-lookup-shell{margin:0 auto;max-width:1120px}.application-lookup-hero{background:linear-gradient(135deg,#eaf9f7,#fff 58%,#edf8ff);border:var(--border-hairline);border-top:4px solid var(--accent);border-radius:10px;box-shadow:0 16px 38px #0f172a0f;margin-bottom:22px;padding:34px 38px}.application-lookup-hero h1{color:var(--text-main);font-size:clamp(32px,4vw,46px);margin:8px 0 12px}.application-lookup-hero p{color:var(--text-muted);line-height:1.7;margin:0;max-width:720px}.application-lookup-layout{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)}.application-lookup-form-card,.application-lookup-results{background:#fff;border:var(--border-hairline);border-radius:10px;box-shadow:0 12px 30px #0f172a0d;padding:24px}.application-lookup-form-card{position:sticky;top:20px}.application-lookup-form-card h2,.application-lookup-results h2{font-size:24px;margin:0 0 18px}.application-lookup-security-note{background:var(--surface-muted);border-left:3px solid var(--accent);color:var(--text-muted);font-size:13px;line-height:1.6;margin:0;padding:10px 12px}.application-lookup-shortcuts,.application-history-prompt{align-items:center;border-top:var(--border-hairline);display:flex;flex-wrap:wrap;font-size:14px;gap:8px 14px;margin-top:20px;padding-top:16px}.application-lookup-shortcuts span,.application-history-prompt span{color:var(--text-muted)}.application-lookup-shortcuts a,.application-history-prompt a,.event-qr-lookup-card a{color:var(--accent-strong);font-weight:500}.application-lookup-results{display:grid;gap:16px}.application-lookup-results-heading,.public-application-card>header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.application-lookup-results-heading h2{margin:4px 0 0}.application-lookup-results-heading>strong{color:var(--accent-strong);font-size:20px}.application-lookup-empty{background:var(--surface-muted);border:1px dashed rgba(100,116,139,.35);border-radius:8px;color:var(--text-muted);padding:34px 20px;text-align:center}.application-lookup-empty strong{color:var(--text-main);display:block;font-size:17px;margin-bottom:6px}.application-lookup-empty p{margin:0}.public-application-card{border:var(--border-hairline);border-radius:10px;display:grid;gap:18px;padding:22px}.public-application-card h3{font-size:20px;margin:10px 0 5px}.public-application-card small{color:var(--text-muted)}.public-application-kind,.public-application-status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:500;line-height:1;padding:7px 10px;white-space:nowrap}.public-application-kind.event{background:#e8f7f5;color:#0f766e}.public-application-kind.level-test{background:#eff6ff;color:#1d4ed8}.public-application-status{background:#eef2f6;color:#475569}.public-application-status.status-confirmed,.public-application-status.status-scheduled,.public-application-status.status-enrolled,.public-application-status.status-tested,.public-application-status.status-consulted{background:#dcfce7;color:#166534}.public-application-status.status-cancelled,.public-application-status.status-not_enrolled{background:#fee2e2;color:#991b1b}.public-application-details{display:grid;gap:12px 20px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.public-application-details div{border-top:var(--border-hairline);padding-top:10px}.public-application-details dt{color:var(--text-muted);font-size:12px;margin-bottom:4px}.public-application-details dd{color:var(--text-main);margin:0}.public-application-qr{border-top:var(--border-hairline);padding-top:14px}.public-application-qr summary{color:var(--accent-strong);cursor:pointer;font-weight:500}.public-application-qr img{background:#fff;border:var(--border-hairline);border-radius:8px;display:block;height:220px;margin:18px auto 0;padding:8px;width:220px}.event-success-state .link-button,.level-test-success-state .link-button{margin-top:14px}@media(max-width:820px){.application-lookup-page{padding:24px 14px 52px}.application-lookup-hero{padding:26px 22px}.application-lookup-layout{grid-template-columns:1fr}.application-lookup-form-card{position:static}}@media(max-width:520px){.application-lookup-form-card,.application-lookup-results,.public-application-card{padding:18px}.public-application-card>header{align-items:flex-start;flex-direction:column}.public-application-details{grid-template-columns:1fr}}.admission-crm-page{padding:32px 20px 64px}.admission-crm-page>.panel{max-width:1500px}.admission-crm-header{align-items:flex-start;margin-bottom:20px}.admission-crm-header h1{margin:4px 0 6px}.admission-stage-strip{display:grid;gap:8px;grid-template-columns:repeat(11,minmax(112px,1fr));margin:20px 0;overflow-x:auto;padding:2px 1px 10px}.admission-stage-strip button{background:var(--surface-muted);border:1px solid var(--border-subtle);color:var(--text-main);display:grid;gap:7px;min-height:76px;padding:11px 12px;text-align:left}.admission-stage-strip button span{color:var(--text-muted);font-size:12px;white-space:nowrap}.admission-stage-strip button strong{font-size:22px}.admission-stage-strip button.active{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.admission-crm-toolbar{align-items:flex-end;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.admission-crm-toolbar form{align-items:flex-end;display:flex;gap:8px;width:min(720px,100%)}.admission-crm-toolbar label{flex:1}.admission-crm-toolbar input{width:100%}.admission-new-prospect{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:10px;margin-bottom:20px;padding:14px 16px}.admission-new-prospect summary{color:var(--accent-strong);cursor:pointer;font-weight:700}.admission-form-grid,.admission-detail-form,.admission-activity-fields{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.admission-form-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:16px}.admission-form-grid label,.admission-detail-form label,.admission-activity-fields label,.admission-crm-toolbar label{color:var(--text-muted);display:grid;font-size:13px;gap:6px}.admission-form-grid input,.admission-form-grid select,.admission-form-grid textarea,.admission-detail-form input,.admission-detail-form select,.admission-detail-form textarea,.admission-activity-fields input,.admission-activity-fields select,.admission-activity-fields textarea,.admission-crm-toolbar input{background:#fff;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-main);padding:10px 11px}.span-full{grid-column:1 / -1}.admission-crm-workspace{display:grid;gap:20px;grid-template-columns:minmax(300px,.82fr) minmax(520px,1.8fr);min-height:600px}.admission-prospect-list{align-content:start;background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:12px;display:grid;gap:8px;max-height:950px;overflow:auto;padding:10px}button.admission-prospect-card{background:#fff;border:1px solid var(--border-subtle);color:var(--text-main);display:grid;gap:5px;justify-items:start;padding:14px;text-align:left;width:100%}button.admission-prospect-card:hover,button.admission-prospect-card.active{border-color:var(--accent);box-shadow:0 0 0 1px #0f8f8a2e}.admission-prospect-card>span:not(.admission-stage-badge),.admission-prospect-card small{color:var(--text-muted);font-size:12px}.admission-prospect-card small.overdue{color:var(--danger);font-weight:700}.admission-stage-badge,.activity-type{background:#eef2ff;border-radius:999px;color:#4338ca;display:inline-flex;font-size:11px;font-weight:700;padding:4px 8px}.stage-enrolled{background:#ecfdf5!important;color:#047857!important}.stage-closed_lost{background:#fef2f2!important;color:#b91c1c!important}.stage-on_hold{background:#fff7ed!important;color:#c2410c!important}.stage-consultation,.stage-level_test_completed{background:#f5f3ff!important;color:#6d28d9!important}.admission-load-more{width:100%}.admission-prospect-detail{border:1px solid var(--border-subtle);border-radius:12px;min-width:0;padding:22px}.admission-detail-title{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.admission-detail-title h2{margin:8px 0 3px}.admission-contact-actions{display:flex;gap:8px}.admission-contact-grid{background:var(--surface-muted);border-radius:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0;padding:15px}.admission-contact-grid div{min-width:0}.admission-contact-grid dt{color:var(--text-muted);font-size:11px;margin-bottom:5px}.admission-contact-grid dd{font-size:13px;margin:0;overflow-wrap:anywhere}.admission-detail-form,.admission-activity-form{border-top:1px solid var(--border-subtle);margin-top:20px;padding-top:20px}.admission-activity-form h3,.admission-timeline h3{margin:0 0 14px}.admission-timeline{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:20px}.admission-timeline article{display:grid;gap:12px;grid-template-columns:auto 1fr;padding:12px 0}.admission-timeline article+article{border-top:1px solid var(--border-subtle)}.admission-timeline p{margin:5px 0;white-space:pre-wrap}.admission-timeline small{color:var(--text-muted)}.activity-type.type-call{background:#ecfeff;color:#0e7490}.activity-type.type-consultation{background:#f5f3ff;color:#6d28d9}.activity-type.type-status{background:#fff7ed;color:#c2410c}@media(max-width:1050px){.admission-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admission-crm-workspace{grid-template-columns:1fr}.admission-prospect-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.admission-load-more,.admission-prospect-list .empty-text{grid-column:1 / -1}}@media(max-width:680px){.admission-crm-page{padding:22px 12px 48px}.admission-crm-header,.admission-crm-toolbar,.admission-detail-title,.admission-crm-toolbar form{align-items:stretch;flex-direction:column}.admission-form-grid,.admission-detail-form,.admission-activity-fields,.admission-prospect-list,.admission-contact-grid{grid-template-columns:1fr}.admission-prospect-detail{padding:17px}.span-full,.admission-load-more,.admission-prospect-list .empty-text{grid-column:auto}}.growth-report-page{padding:32px 20px 72px}.growth-report-page>.panel{max-width:1540px}.growth-report-toolbar{align-items:flex-start;margin-bottom:20px}.growth-report-toolbar h1{margin:4px 0 6px}.growth-report-layout{align-items:start;display:grid;gap:22px;grid-template-columns:250px minmax(0,1fr)}.growth-student-selector{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:12px;display:grid;gap:14px;max-height:calc(100vh - 130px);padding:14px;position:sticky;top:16px}.growth-student-selector>label{color:var(--text-muted);display:grid;font-size:12px;gap:6px}.growth-student-selector input,.growth-student-selector select{background:#fff;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-main);padding:10px;width:100%}.growth-student-list{display:grid;gap:6px;overflow:auto}.growth-student-list button{background:#fff;border:1px solid var(--border-subtle);color:var(--text-main);display:grid;gap:3px;justify-items:start;padding:11px 12px;text-align:left;width:100%}.growth-student-list button small{color:var(--text-muted)}.growth-student-list button:hover,.growth-student-list button.selected{background:var(--accent-soft);border-color:var(--accent)}.growth-report-content{min-width:0}.growth-report-loading{align-items:center;background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:12px;color:var(--text-muted);display:flex;gap:10px;justify-content:center;min-height:280px}.growth-report-sheet{background:#fff;border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 12px 32px #1720330f;overflow:hidden}.growth-report-heading{align-items:flex-start;background:radial-gradient(circle at 90% 0%,rgba(15,143,138,.16),transparent 36%),linear-gradient(135deg,#f8fffe,#f4f8fb);border-bottom:1px solid var(--border-subtle);display:flex;gap:20px;justify-content:space-between;padding:30px 34px}.growth-report-heading h2{font-size:clamp(24px,3vw,34px);margin:7px 0}.growth-report-heading p{color:var(--text-muted);margin:0}.growth-overall-status{background:#fff;border:1px solid var(--border-subtle);border-radius:12px;display:grid;gap:4px;min-width:150px;padding:14px 17px}.growth-overall-status span,.growth-overall-status small{color:var(--text-muted);font-size:11px}.growth-overall-status strong{font-size:22px}.growth-overall-status.status-positive{border-color:#86efac;color:#047857}.growth-overall-status.status-watch{border-color:#fdba74;color:#c2410c}.growth-overall-status.status-attention{border-color:#fca5a5;color:#b91c1c}.growth-data-warnings{background:#fffbeb;border-bottom:1px solid #fde68a;color:#92400e;padding:10px 34px}.growth-data-warnings p{font-size:13px;margin:4px 0}.growth-overview-grid{display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr));padding:22px 34px}.growth-overview-grid article{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:10px;display:grid;gap:5px;min-width:0;padding:13px}.growth-overview-grid span,.growth-overview-grid small{color:var(--text-muted);font-size:11px}.growth-overview-grid strong{font-size:20px;overflow-wrap:anywhere}.growth-report-section{border-top:1px solid var(--border-subtle);padding:30px 34px}.growth-section-title{align-items:flex-end;display:flex;gap:18px;justify-content:space-between;margin-bottom:20px}.growth-section-title>div{align-items:center;display:flex;gap:10px}.growth-section-title>div>span{color:var(--accent);font-size:12px;font-weight:800}.growth-section-title h3{font-size:20px;margin:0}.growth-section-title p{color:var(--text-muted);font-size:12px;margin:0;text-align:right}.growth-signal-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.growth-signal{border:1px solid var(--border-subtle);border-left:4px solid #94a3b8;border-radius:9px;display:grid;gap:7px;padding:14px}.growth-signal>span{color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.08em}.growth-signal p{color:var(--text-muted);font-size:12px;line-height:1.55;margin:0}.growth-signal.signal-positive{border-left-color:#10b981}.growth-signal.signal-watch{border-left-color:#f59e0b}.growth-signal.signal-attention{background:snow;border-left-color:#ef4444}.growth-chart{border:1px solid var(--border-subtle);border-radius:11px;overflow:hidden;padding:12px 12px 0}.growth-chart-legend{display:flex;gap:18px;justify-content:flex-end;padding:2px 8px 0}.growth-chart-legend span{color:var(--text-muted);font-size:11px}.growth-chart-legend span:before{border-radius:999px;content:"";display:inline-block;height:3px;margin-right:6px;vertical-align:middle;width:18px}.growth-chart-legend .student-line:before{background:var(--accent)}.growth-chart-legend .average-line:before{background:#94a3b8}.growth-chart svg{display:block;max-height:310px;overflow:visible;width:100%}.growth-chart .grid-line{stroke:#e8edf2;stroke-width:1}.growth-chart .axis-label,.growth-chart .x-label{fill:var(--text-muted);font-size:10px}.growth-chart .axis-label{text-anchor:end}.growth-chart .x-label{text-anchor:middle}.growth-chart .student-series,.growth-chart .average-series{fill:none;stroke-linecap:round;stroke-linejoin:round}.growth-chart .student-series{stroke:var(--accent);stroke-width:3}.growth-chart .average-series{stroke:#94a3b8;stroke-dasharray:7 5;stroke-width:2}.growth-chart .student-dot{fill:#fff;stroke:var(--accent);stroke-width:3}.growth-chart .average-dot{fill:#94a3b8}.growth-subject-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.growth-subject-grid article,.growth-monthly-card{border:1px solid var(--border-subtle);border-radius:10px;padding:14px}.growth-subject-grid article>div:first-child{display:flex;justify-content:space-between}.growth-subject-grid article>small{color:var(--text-muted);display:block;margin-top:8px}.growth-progress{background:#e8edf2;border-radius:999px;height:7px;overflow:hidden}.growth-progress i{background:linear-gradient(90deg,var(--accent),#38bdf8);border-radius:inherit;display:block;height:100%;max-width:100%}.growth-subject-grid .growth-progress{margin-top:10px}.growth-table{margin-top:14px}.growth-table td.negative{color:var(--danger)}.growth-table td.positive{color:#047857}.growth-activity-columns{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.growth-monthly-card h4{margin:0 0 14px}.growth-monthly-list{display:grid;gap:10px}.growth-monthly-list>div{align-items:center;display:grid;gap:8px;grid-template-columns:62px minmax(60px,1fr) 50px 48px}.growth-monthly-list span,.growth-monthly-list small{color:var(--text-muted);font-size:11px}.growth-monthly-list strong,.growth-monthly-list small{text-align:right}.growth-feedback-list{display:grid;gap:9px}.growth-feedback-list article{border:1px solid var(--border-subtle);border-radius:9px;padding:13px 15px}.growth-feedback-list article.needs-followup{background:snow;border-color:#fecaca}.growth-feedback-list article>div{align-items:center;display:flex;gap:9px}.growth-feedback-list article>div span{background:#fee2e2;border-radius:999px;color:#b91c1c;font-size:10px;font-weight:700;padding:3px 7px}.growth-feedback-list p{line-height:1.55;margin:8px 0;white-space:pre-wrap}.growth-feedback-list small{color:var(--text-muted)}.growth-methodology{background:var(--surface-muted);border-top:1px solid var(--border-subtle);padding:18px 34px}.growth-methodology summary{color:var(--accent-strong);cursor:pointer;font-weight:700}.growth-methodology li{color:var(--text-muted);font-size:12px;line-height:1.6}.growth-report-footer{color:var(--text-muted);font-size:11px;padding:14px 34px 22px;text-align:right}.student-profile-tags .link-button{font-size:12px;padding:7px 10px}@media(max-width:1180px){.growth-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.growth-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:880px){.growth-report-layout{grid-template-columns:1fr}.growth-student-selector{max-height:none;position:static}.growth-student-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:300px}.growth-activity-columns{grid-template-columns:1fr}}@media(max-width:620px){.growth-report-page{padding:22px 10px 50px}.growth-report-toolbar,.growth-report-heading,.growth-section-title{align-items:stretch;flex-direction:column}.growth-overall-status{min-width:0}.growth-overview-grid,.growth-signal-grid,.growth-subject-grid,.growth-student-list{grid-template-columns:1fr}.growth-report-heading,.growth-overview-grid,.growth-report-section{padding-left:18px;padding-right:18px}.growth-section-title p{text-align:left}.growth-chart{overflow-x:auto}.growth-chart svg{min-width:620px}}@media print{@page{margin:12mm;size:A4 portrait}.topbar,.config-warning,.pwa-install-banner,.no-print{display:none!important}body,.app,.growth-report-page,.growth-report-page>.panel{background:#fff!important;margin:0!important;max-width:none!important;padding:0!important}.growth-report-layout{display:block}.growth-report-sheet{border:0;box-shadow:none}.growth-report-heading,.growth-overview-grid,.growth-report-section,.growth-methodology{break-inside:avoid}.growth-overview-grid{grid-template-columns:repeat(3,1fr)}.growth-signal-grid{grid-template-columns:repeat(2,1fr)}.growth-chart svg{max-height:230px}.growth-methodology{display:block}.growth-methodology>summary{list-style:none}.growth-methodology>summary:after{content:""}details.growth-methodology:not([open])>*:not(summary){display:block}}.report-export-actions{justify-content:flex-end}.report-pdf-button:before{content:"PDF";font-size:10px;font-weight:900;letter-spacing:.04em;margin-right:6px}.score-report-print-portal{display:none}@media(max-width:620px){.report-export-actions{align-items:stretch;flex-direction:column;width:100%}.report-export-actions button,.report-kind-panel>.nested-section-title>.report-pdf-button{width:100%}}@media print{@page{margin:11mm;size:A4 portrait}body.score-report-printing{background:#fff!important;color:#172033;margin:0!important;padding:0!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}body.score-report-printing>*:not(.score-report-print-portal){display:none!important}body.score-report-printing>.score-report-print-portal{display:block!important}.score-report-print-sheet,.score-report-print-sheet *{box-sizing:border-box}.score-report-print-sheet{background:#fff;color:#172033;font-family:Pretendard,Noto Sans KR,Malgun Gothic,sans-serif;font-size:9.5pt;line-height:1.45;margin:0;width:100%}.score-print-heading{background:radial-gradient(circle at 88% 0%,rgba(15,143,138,.18),transparent 34%),linear-gradient(135deg,#f6fffd,#f6f8fb);border:1px solid #dce7e5;border-top:4px solid #0f8f8a;break-inside:avoid;padding:7mm 8mm 6mm}.score-print-brand{align-items:center;display:flex;justify-content:space-between}.score-print-brand span{color:#0f766e;font-size:7pt;font-weight:800;letter-spacing:.12em}.score-print-brand strong{color:#0f5f5b;font-size:10pt}.score-print-heading-title{margin:6mm 0 5mm;text-align:center}.score-print-heading-title p{color:#64748b;font-size:7pt;font-weight:800;letter-spacing:.16em;margin:0 0 1.5mm}.score-print-heading-title h1{color:#111827;font-size:23pt;letter-spacing:-.04em;line-height:1.15;margin:0}.score-print-student-meta{border-bottom:1px solid #cfdcda;border-top:1px solid #cfdcda;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.score-print-student-meta>div{display:grid;gap:1.5mm;grid-template-columns:auto 1fr;min-width:0;padding:2.5mm 3mm}.score-print-student-meta>div:nth-child(3n+2),.score-print-student-meta>div:nth-child(3n+3){border-left:1px solid #dce7e5}.score-print-student-meta dt{color:#64748b;font-size:7.5pt;font-weight:700}.score-print-student-meta dd{font-size:8.5pt;font-weight:800;margin:0;overflow-wrap:anywhere;text-align:right}.score-print-summary-grid{break-inside:avoid;display:grid;gap:2mm;grid-template-columns:repeat(5,minmax(0,1fr));margin:4mm 0 5mm}.score-print-summary-grid-weekly{grid-template-columns:repeat(4,minmax(0,1fr))}.score-print-summary-metric{align-content:center;background:#f6f8fb;border:1px solid #dfe6ed;display:grid;min-height:21mm;padding:3mm;text-align:center}.score-print-summary-metric.accent{background:linear-gradient(135deg,#087c77,#0f8f8a);border-color:#087c77;color:#fff}.score-print-summary-metric.primary{background:#edf8f7;border-color:#9dcfcb}.score-print-summary-metric span{color:#64748b;font-size:7.5pt;font-weight:800}.score-print-summary-metric.accent span{color:#ffffffd1}.score-print-summary-metric.primary span{color:#0b625f}.score-print-summary-metric strong{font-size:13pt;letter-spacing:-.03em;line-height:1.15;margin-top:1.5mm}.score-print-summary-metric.primary strong{color:#123c3a;font-size:14pt}.score-print-summary-metric small{font-size:7pt}.score-print-section{margin-top:5mm}.score-print-section>header{align-items:center;break-after:avoid;display:flex;gap:2mm;margin-bottom:2mm}.score-print-section>header>span{background:#0f8f8a;display:block;height:4mm;width:1mm}.score-print-section h2{color:#172033;font-size:11pt;line-height:1.2;margin:0}.score-print-table{border-collapse:collapse;font-size:8.2pt;table-layout:fixed;width:100%}.score-print-table thead{display:table-header-group}.score-print-table tr{break-inside:avoid}.score-print-table th,.score-print-table td{border:1px solid #d9e2e8;overflow-wrap:anywhere;padding:2.2mm 2mm;text-align:center}.score-print-table thead th{background:#edf4f3;color:#315653;font-size:7.5pt;font-weight:800}.score-print-table tbody th{background:#f8fafc;font-weight:800}.score-print-table td.positive{color:#047857;font-weight:800}.score-print-table td.negative{color:#b91c1c;font-weight:800}.score-print-question-table th:first-child{width:15%}.score-print-homework-table th:first-child{width:20%}.score-print-homework-group{break-inside:avoid;page-break-inside:avoid}.score-print-homework-status{border-radius:999px;display:inline-block;font-size:7pt;font-weight:800;padding:1mm 2.5mm}.score-print-homework-status.complete{background:#dcfce7;color:#047857}.score-print-homework-status.incomplete{background:#fee2e2;color:#b91c1c}.score-print-homework-status.pending{background:#f1f5f9;color:#64748b}.score-print-empty{background:#f8fafc;border:1px solid #dfe6ed;color:#64748b;margin:0;padding:4mm;text-align:center}.score-print-footer{align-items:flex-end;border-top:1px solid #cfdcda;break-inside:avoid;display:flex;gap:8mm;justify-content:space-between;margin-top:7mm;padding-top:3mm}.score-print-footer p{color:#64748b;font-size:7pt;margin:0}.score-print-footer strong{color:#0f5f5b;flex:0 0 auto;font-size:8pt}}.topbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 4px 18px #0f172a06;gap:28px;min-height:72px;padding:12px max(24px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:1000}.topbar>div{flex:0 1 auto;gap:12px;min-width:0}.topbar>div:before{border-radius:10px;box-shadow:none;flex-basis:44px;font-size:13px;height:44px}.topbar strong{font-size:22px;font-weight:600;letter-spacing:-.035em;line-height:1.15;white-space:nowrap}.topbar span{font-size:12px;margin-top:3px;white-space:nowrap}.topbar nav{flex:0 1 auto;flex-wrap:nowrap;gap:18px;min-width:0}.topbar a{border-bottom-width:2px;font-size:15px;padding:9px 1px;white-space:nowrap}.topbar a:focus-visible,.academy-home a:focus-visible{border-radius:8px;outline:3px solid rgba(15,129,124,.28);outline-offset:3px}.academy-home{--academy-background: #f7f9fa;--academy-border: #e5e9ed;--academy-primary: #0f817c;--academy-primary-dark: #0b625f;--academy-primary-light: #e8f5f3;--academy-surface: #ffffff;--academy-text: #162033;--academy-text-muted: #667085;--academy-radius: 16px;background:var(--academy-background);color:var(--academy-text);min-width:0;overflow-x:clip}.academy-home .academy-hero{align-items:center;background:radial-gradient(circle at 88% 14%,rgba(255,255,255,.12),transparent 28%),linear-gradient(110deg,#0b625f,#0f817c 68%,#168a83);color:#fff;display:grid;gap:56px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:480px;padding:56px max(24px,calc((100vw - 1240px)/2));position:relative}.academy-home .academy-hero:before{background:transparent;border:1px solid rgba(255,255,255,.09);border-radius:50%;content:"";height:360px;position:absolute;right:-120px;top:-168px;width:360px}.academy-home .academy-hero:after{display:none}.academy-home .academy-hero-copy,.academy-home .academy-hero-visual{min-width:0;position:relative;z-index:1}.academy-home .academy-kicker,.academy-home .academy-section-heading>span,.academy-home .academy-board-title>span,.academy-home .academy-hot-issue>div>span{color:#b8eee9;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.08em;margin:0 0 14px}.academy-home .academy-hero h1{color:#fff;font-size:clamp(42px,4vw,64px);font-weight:600;letter-spacing:-.045em;line-height:1.12;margin:0;max-width:720px;white-space:normal}.academy-home .academy-hero p{color:#ffffffd6;font-size:18px;line-height:1.7;margin:20px 0 0;max-width:650px}.academy-home .desktop-line-break{display:none!important}.academy-home .academy-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.academy-home .academy-primary-link,.academy-home .academy-ghost-link{align-items:center;border:1px solid transparent;border-radius:10px;display:inline-flex;font-size:15px;font-weight:600;justify-content:center;min-height:48px;min-width:152px;padding:12px 20px;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.academy-home .academy-primary-link{background:#fff;color:var(--academy-primary-dark)}.academy-home .academy-ghost-link{background:#ffffff0f;border-color:#ffffff61;color:#fff}.academy-home .academy-primary-link:hover,.academy-home .academy-ghost-link:hover{transform:translateY(-2px)}.academy-home .academy-primary-link:hover{background:#f5fffd}.academy-home .academy-ghost-link:hover{background:#ffffff21;border-color:#ffffff94}.academy-home .academy-hero-visual{align-items:center;display:flex;justify-content:flex-end;min-height:360px}.academy-home .academy-portal-preview{background:#fffffffa;border:1px solid rgba(255,255,255,.52);border-radius:var(--academy-radius);box-shadow:0 22px 48px #00262529;color:var(--academy-text);max-width:460px;padding:24px;width:100%}.academy-home .academy-preview-header{align-items:flex-start;border-bottom:1px solid var(--academy-border);display:flex;gap:18px;justify-content:space-between;padding-bottom:18px}.academy-home .academy-preview-header>div>span{color:var(--academy-primary);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:6px}.academy-home .academy-preview-header strong{color:var(--academy-text);display:block;font-size:19px;font-weight:600;letter-spacing:-.025em}.academy-home .academy-preview-status{align-items:center;background:var(--academy-primary-light);border-radius:999px;color:var(--academy-primary-dark);display:inline-flex;flex:0 0 auto;font-size:11px;font-weight:600;min-height:28px;padding:6px 10px}.academy-home .academy-preview-list{display:grid;gap:2px;padding-top:10px}.academy-home .academy-preview-list>div{align-items:center;border-radius:12px;display:grid;gap:14px;grid-template-columns:42px minmax(0,1fr);padding:12px 10px}.academy-home .academy-preview-list>div+div{border-top:1px solid #edf0f2}.academy-home .academy-preview-list svg{background:var(--academy-primary-light);border-radius:10px;color:var(--academy-primary);height:42px;padding:10px;width:42px}.academy-home .academy-preview-list p{display:grid;gap:4px;margin:0}.academy-home .academy-preview-list strong{color:var(--academy-text);font-size:15px;font-weight:600}.academy-home .academy-preview-list p span{color:var(--academy-text-muted);font-size:13px}.academy-home .academy-quick-menu,.academy-home .academy-feature-section,.academy-home .academy-open-programs,.academy-home .academy-board-grid,.academy-home .academy-hot-issue{margin-left:auto;margin-right:auto;max-width:1240px;padding-left:24px;padding-right:24px}.academy-home .academy-quick-menu{display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:-30px;position:relative;z-index:2}.academy-home .academy-quick-menu a{align-items:start;background:var(--academy-surface);border:1px solid var(--academy-border);border-radius:var(--academy-radius);box-shadow:0 8px 24px #0f172a0b;color:var(--academy-text);display:grid;gap:14px 8px;grid-template-areas:"icon spacer arrow" "copy copy copy";grid-template-columns:40px minmax(0,1fr) 16px;min-height:154px;padding:21px 18px;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.academy-home .academy-quick-menu a:first-child,.academy-home .academy-quick-menu a:last-child{border-radius:var(--academy-radius)}.academy-home .academy-quick-menu a:hover{border-color:#0f817c7a;box-shadow:0 12px 28px #0f172a12;transform:translateY(-3px)}.academy-home .academy-menu-icon,.academy-home .academy-program-icon,.academy-home .academy-empty-icon{align-items:center;background:var(--academy-primary-light);border-radius:11px;color:var(--academy-primary);display:inline-flex;height:40px;justify-content:center;width:40px}.academy-home .academy-menu-icon{grid-area:icon}.academy-home .academy-menu-icon svg,.academy-home .academy-program-icon svg,.academy-home .academy-empty-icon svg{height:22px;width:22px}.academy-home .academy-menu-copy{display:grid;gap:7px;grid-area:copy;min-width:0}.academy-home .academy-menu-copy strong{color:var(--academy-text);font-size:17px;font-weight:600;letter-spacing:-.025em;line-height:1.35}.academy-home .academy-menu-copy>span{color:var(--academy-text-muted);font-size:14px;line-height:1.5}.academy-home .academy-menu-arrow{color:#98a2b3;font-size:18px;grid-area:arrow;line-height:40px;transition:color .18s ease}.academy-home .academy-quick-menu a:hover .academy-menu-arrow{color:var(--academy-primary)}.academy-home .academy-feature-section,.academy-home .academy-open-programs,.academy-home .academy-board-grid,.academy-home .academy-hot-issue{margin-top:72px}.academy-home .academy-section-heading{display:grid;gap:12px;justify-items:center;margin-bottom:30px;text-align:center}.academy-home .academy-section-heading>span,.academy-home .academy-board-title>span{color:var(--academy-primary);margin-bottom:0}.academy-home .academy-section-heading h2,.academy-home .academy-board-title h2,.academy-home .academy-hot-issue h2{color:var(--academy-text);font-size:clamp(30px,3vw,42px);font-weight:600;letter-spacing:-.035em;line-height:1.25;margin:0}.academy-home .academy-section-heading p{color:var(--academy-text-muted);font-size:16px;line-height:1.65;margin:0}.academy-home .academy-program-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.academy-home .academy-program-card{background:var(--academy-surface);border:1px solid var(--academy-border);border-radius:var(--academy-radius);box-shadow:0 8px 24px #0f172a0a;min-height:200px;padding:26px}.academy-home .academy-program-icon{height:44px;margin-bottom:20px;width:44px}.academy-home .academy-program-card h3{color:var(--academy-text);font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1.35;margin:0 0 10px}.academy-home .academy-program-card p{color:var(--academy-text-muted);font-size:15px;line-height:1.7;margin:0}.academy-home .academy-open-program-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.academy-home .academy-open-program-card{background:var(--academy-surface);border:1px solid var(--academy-border);border-radius:var(--academy-radius);box-shadow:0 8px 24px #0f172a0a;display:flex;flex-direction:column;min-height:270px;padding:26px}.academy-home .academy-program-status{align-self:flex-start;background:var(--academy-primary-light);border-radius:999px;color:var(--academy-primary-dark);font-size:12px;font-weight:600;margin-bottom:16px;padding:6px 10px}.academy-home .academy-open-program-card h3{color:var(--academy-text);font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1.4;margin:0 0 14px}.academy-home .academy-open-program-card time,.academy-home .academy-program-location{color:var(--academy-primary-dark);font-size:14px;font-weight:600;line-height:1.5}.academy-home .academy-program-location{margin:5px 0 0}.academy-home .academy-open-program-card>p:not(.academy-program-location){color:var(--academy-text-muted);display:-webkit-box;font-size:14px;line-height:1.6;margin:14px 0 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.academy-home .academy-program-link{align-items:center;align-self:flex-start;color:var(--academy-primary-dark);display:inline-flex;font-size:15px;font-weight:600;gap:8px;margin-top:auto;padding-top:20px;text-decoration:none}.academy-home .academy-program-link:hover{color:var(--academy-primary);text-decoration:underline;text-underline-offset:4px}.academy-home .academy-board-grid{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}.academy-home .academy-board-card{background:var(--academy-surface);border:1px solid var(--academy-border);border-radius:var(--academy-radius);box-shadow:0 8px 24px #0f172a0a;padding:28px}.academy-home .academy-highlight-card{background:var(--academy-surface)}.academy-home .academy-board-title{align-items:start;display:grid;gap:8px;justify-content:stretch;margin-bottom:20px}.academy-home .academy-board-title h2{font-size:28px}.academy-home .academy-notice-list{display:grid}.academy-home .academy-notice-list article{align-items:center;border-top:1px solid var(--academy-border);display:grid;gap:16px;grid-template-columns:86px minmax(0,1fr);padding:15px 0}.academy-home .academy-notice-list article:first-child{border-top:0;padding-top:4px}.academy-home .academy-notice-list article:last-child{padding-bottom:4px}.academy-home .academy-notice-list time{color:var(--academy-text-muted);font-size:13px;white-space:nowrap}.academy-home .academy-notice-list strong{color:var(--academy-text);font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academy-home .academy-empty-text{background:#f8fafb;border-radius:12px;color:var(--academy-text-muted);font-size:15px;line-height:1.6;margin:0;padding:18px}.academy-home .academy-schedule-list{border-bottom:1px solid var(--academy-border);display:grid;margin-bottom:20px;padding-bottom:6px}.academy-home .academy-schedule-list article{align-items:center;border-top:1px solid var(--academy-border);display:grid;gap:14px;grid-template-columns:108px minmax(0,1fr);padding:13px 0}.academy-home .academy-schedule-list article:first-child{border-top:0;padding-top:2px}.academy-home .academy-schedule-list time{color:var(--academy-primary-dark);font-size:13px;font-weight:600;white-space:nowrap}.academy-home .academy-schedule-list article>div{display:grid;gap:4px;min-width:0}.academy-home .academy-schedule-list strong{color:var(--academy-text);font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academy-home .academy-schedule-list article>div>span{color:var(--academy-text-muted);font-size:13px}.academy-home .academy-today-empty{align-items:center;background:#f8fafb;border:1px solid #edf0f2;border-radius:12px;display:flex;gap:14px;margin-bottom:20px;padding:17px}.academy-home .academy-empty-icon{flex:0 0 40px}.academy-home .academy-today-empty>div{display:grid;gap:3px}.academy-home .academy-today-empty strong{color:var(--academy-text);font-size:15px;font-weight:600}.academy-home .academy-today-empty p{color:var(--academy-text-muted);font-size:14px;line-height:1.5;margin:0}.academy-home .academy-strength-panel{background:var(--academy-primary-light);border-radius:12px;padding:18px}.academy-home .academy-strength-panel>strong{color:var(--academy-primary-dark);display:block;font-size:14px;font-weight:600;margin-bottom:12px}.academy-home .academy-strength-list{display:grid;gap:9px;list-style:none;margin:0;padding:0}.academy-home .academy-strength-list li{align-items:flex-start;color:#3f5e5b;display:flex;font-size:14px;gap:9px;line-height:1.5}.academy-home .academy-strength-list li:before{background:var(--academy-primary);border-radius:50%;content:"";flex:0 0 5px;height:5px;margin-top:8px;width:5px}.academy-home .academy-hot-issue{align-items:center;background:var(--academy-primary);border-radius:var(--academy-radius);color:#fff;display:flex;gap:36px;justify-content:space-between;margin-bottom:72px;overflow:hidden;padding:36px 40px;position:relative}.academy-home .academy-hot-issue>div,.academy-home .academy-cta-actions{position:relative;z-index:1}.academy-home .academy-hot-issue>div>span{color:#b8eee9;margin-bottom:8px}.academy-home .academy-hot-issue h2{color:#fff;font-size:clamp(26px,2.6vw,36px);max-width:700px}.academy-home .academy-hot-issue p{color:#ffffffc7;font-size:16px;line-height:1.65;margin:10px 0 0}.academy-home .academy-cta-actions{display:flex;flex:0 0 auto;gap:10px}.academy-home .academy-hot-issue .academy-primary-link,.academy-home .academy-hot-issue .academy-ghost-link{min-width:140px}@media(min-width:1101px){.academy-home .desktop-line-break{display:block!important}}@media(max-width:1100px){.topbar{gap:20px;padding-left:24px;padding-right:24px}.topbar nav{gap:13px}.topbar a{font-size:14px}.academy-home .academy-hero{gap:36px;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)}.academy-home .academy-quick-menu{grid-template-columns:repeat(3,minmax(0,1fr))}.academy-home .academy-open-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-home .academy-board-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.topbar{align-items:stretch;flex-wrap:wrap;gap:8px;padding-bottom:10px;padding-top:10px}.topbar>div{width:100%}.topbar nav{-webkit-overflow-scrolling:touch;justify-content:flex-start;margin:0 -4px;overflow-x:auto;overscroll-behavior-inline:contain;padding:0 4px 2px;scrollbar-width:none;width:calc(100% + 8px)}.topbar nav::-webkit-scrollbar{display:none}.academy-home .academy-hero{gap:34px;grid-template-columns:minmax(0,1fr);min-height:auto;padding-bottom:72px;padding-top:52px}.academy-home .academy-hero-visual{justify-content:flex-start;min-height:0}.academy-home .academy-portal-preview{max-width:560px}.academy-home .academy-board-grid{grid-template-columns:minmax(0,1fr)}.academy-home .academy-hot-issue{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.academy-home .academy-quick-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-home .academy-program-grid,.academy-home .academy-open-program-grid{grid-template-columns:minmax(0,1fr)}.academy-home .academy-program-card{min-height:0}}@media(max-width:640px){.topbar{padding-left:16px;padding-right:16px}.topbar>div:before{flex-basis:38px;height:38px}.topbar strong{font-size:19px}.topbar span{font-size:11px}.topbar nav{gap:14px}.topbar a{font-size:13px;padding:7px 1px}.academy-home .academy-hero{gap:30px;padding:42px 16px 58px}.academy-home .academy-hero h1{font-size:clamp(32px,9vw,36px)}.academy-home .academy-hero p{font-size:16px;line-height:1.65}.academy-home .academy-hero-actions{display:grid;grid-template-columns:minmax(0,1fr)}.academy-home .academy-primary-link,.academy-home .academy-ghost-link{width:100%}.academy-home .academy-portal-preview{padding:20px}.academy-home .academy-preview-header strong{font-size:17px}.academy-home .academy-quick-menu,.academy-home .academy-feature-section,.academy-home .academy-open-programs,.academy-home .academy-board-grid,.academy-home .academy-hot-issue{padding-left:16px;padding-right:16px}.academy-home .academy-quick-menu{grid-template-columns:minmax(0,1fr);margin-top:-24px}.academy-home .academy-quick-menu a{min-height:0;padding:20px}.academy-home .academy-feature-section,.academy-home .academy-open-programs,.academy-home .academy-board-grid,.academy-home .academy-hot-issue{margin-top:54px}.academy-home .academy-section-heading{justify-items:start;text-align:left}.academy-home .academy-section-heading h2{font-size:30px}.academy-home .academy-program-card,.academy-home .academy-open-program-card,.academy-home .academy-board-card{padding:22px}.academy-home .academy-notice-list article{gap:10px;grid-template-columns:72px minmax(0,1fr)}.academy-home .academy-schedule-list article{align-items:start;gap:5px;grid-template-columns:minmax(0,1fr)}.academy-home .academy-hot-issue{margin-bottom:54px;padding-bottom:28px;padding-top:28px}.academy-home .academy-cta-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}}@media(max-width:420px){.topbar>div{gap:9px}.topbar strong{font-size:18px}.topbar span{margin-top:1px}.academy-home .academy-preview-status{display:none}.academy-home .academy-portal-preview{padding:18px}.academy-home .academy-preview-list>div{gap:11px;padding-left:4px;padding-right:4px}}@media(prefers-reduced-motion:reduce){.academy-home .academy-primary-link,.academy-home .academy-ghost-link,.academy-home .academy-quick-menu a,.academy-home .academy-menu-arrow{transition:none}}}@layer tokens{:root{color-scheme:light;--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;--brand-teal: #00cbd5;--brand-teal-bright: #08ccca;--brand-teal-ink: #007d84;--brand-teal-deep: #065b58;--brand-navy: #172554;--brand-navy-light: #1e3a8a;--ink: #202429;--ink-strong: #111111;--muted: #73777c;--muted-soft: #8e8e8e;--hairline: #e4e4e4;--hairline-strong: #c9cdcf;--canvas: #ffffff;--surface: #ffffff;--surface-subtle: #f7f8f8;--surface-teal: #effcfc;--surface-navy: #f4f6fb;--success: #18794e;--success-soft: #eef9f2;--warning: #9a6700;--warning-soft: #fff8e6;--danger: #b42318;--danger-soft: #fff2f1;--info: #175cd3;--info-soft: #eff6ff;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-pill: 999px;--header-height: 128px;--header-height-mobile: 56px;--content-width: 1240px;--content-wide: 1440px;--transition-fast: .12s ease;--transition-standard: .22s ease;--accent: #00858d;--accent-strong: #006d73;--accent-soft: #e9fbfc;--border-subtle: var(--hairline);--border-hairline: 1px solid var(--hairline);--border-strong: 1px solid var(--hairline-strong);--color-primary: var(--accent);--surface-muted: var(--surface-subtle);--text-main: var(--ink);--text-muted: var(--muted);--text-soft: var(--muted-soft);--warm-surface: #fbfbfa}}@layer base{html{background:var(--canvas);font-family:var(--font-sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{min-width:320px;margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-sans);font-size:16px;font-weight:400;letter-spacing:-.012em}*,*:before,*:after{box-sizing:border-box}::selection{background:#00cbd538;color:var(--ink-strong)}.app{min-height:100vh;background:var(--canvas);color:var(--ink)}.app :is(h1,h2,h3,h4){font-family:inherit;letter-spacing:-.035em}.app :is(p,li,dd,td){line-height:1.65}.app :is(a,button,input,select,textarea){font:inherit}.app a{text-underline-offset:3px}.app :is(button,.link-button){min-height:40px;border-radius:var(--radius-md);font-size:14px;font-weight:700;letter-spacing:-.01em;box-shadow:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.app :is(button,.link-button):not(:disabled):active{transform:translateY(1px)}.app :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--brand-teal);outline-offset:2px}.app :is(button,.link-button):disabled{opacity:.46;cursor:not-allowed}.app :is(input:not([type=checkbox]):not([type=radio]),textarea,select){border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);box-shadow:none;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.app :is(input:not([type=checkbox]):not([type=radio]),textarea,select):hover{border-color:var(--hairline-strong)}.app :is(input:not([type=checkbox]):not([type=radio]),textarea,select):focus{border-color:var(--brand-teal)}.app :is(input,textarea)::placeholder{color:#a2a5a7}.app :is(input[type=checkbox],input[type=radio]){accent-color:var(--accent)}.app :is(.muted,.subtle,.helper-text,.field-help,.empty-state,.meta){color:var(--muted)}.app :is(.error,.error-message,.field-error){color:var(--danger)}.app :is(.success,.success-message){color:var(--success)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@layer layouts{.app-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);width:100%;min-height:var(--header-height);padding:var(--space-5) max(24px,calc((100vw - var(--content-width)) / 2));border-bottom:1px solid var(--hairline);background:#fffffff7;box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-brand{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--ink-strong);text-decoration:none}.app-brand-logo{display:block;width:246px;max-width:24vw;height:auto;max-height:58px;object-fit:contain;object-position:left center}.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:0}.primary-nav>a,.primary-nav-dropdown-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:8px 1px;border:0;border-radius:0;background:transparent;color:#676b6f;font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap}.primary-nav>a:hover,.primary-nav-dropdown-trigger:hover{background:transparent;color:var(--ink-strong)}.primary-nav>a.active,.primary-nav-dropdown.active>.primary-nav-dropdown-trigger,.primary-nav-dropdown.open>.primary-nav-dropdown-trigger{background:transparent;color:var(--brand-teal-ink);font-weight:700}.primary-nav>a.active:after,.primary-nav-dropdown.active>.primary-nav-dropdown-trigger:after{position:absolute;right:0;bottom:-2px;left:0;height:2px;border-radius:2px 2px 0 0;background:var(--brand-teal);content:""}.primary-nav-dropdown{position:relative;display:flex;flex:0 0 auto;align-items:center}.primary-nav-dropdown-trigger{cursor:pointer}.primary-nav-dropdown-trigger>span{font-size:11px;transition:transform var(--transition-fast)}.primary-nav-dropdown.open .primary-nav-dropdown-trigger>span{transform:rotate(180deg)}.primary-nav-submenu{position:absolute;top:calc(100% + 10px);left:50%;z-index:1010;display:grid;min-width:154px;padding:var(--space-2);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 12px 30px #2024291a;transform:translate(-50%)}.primary-nav-submenu[hidden]{display:none}.primary-nav-submenu a{display:flex;align-items:center;min-height:42px;padding:9px 12px;border-radius:6px;color:var(--ink);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}.primary-nav-submenu a:is(:hover,.active){background:var(--surface-teal);color:var(--brand-teal-ink)}.app>main{min-width:0}.page{width:100%;max-width:var(--content-wide);margin:0 auto;padding:var(--space-6) var(--space-5) 72px}.panel{width:100%;max-width:880px;margin-inline:auto}.panel.wide{max-width:var(--content-width)}.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.button-row,.problem-bank-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.event-application-layout,.level-test-layout{display:grid;align-items:start;grid-template-columns:minmax(300px,.82fr) minmax(480px,1.18fr);gap:var(--space-5)}.teacher-portal-layout{display:grid;align-items:start;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:var(--space-5)}.admin-workspace-shell{display:grid;align-items:start;grid-template-columns:248px minmax(0,1fr);width:100%;max-width:1720px;margin:0 auto}.admin-workspace-main{min-width:0}.admin-navigation{position:sticky;top:calc(var(--header-height) + var(--space-5));z-index:30;align-self:start;padding:var(--space-6) 0 var(--space-6) var(--space-5)}.admin-navigation-toggle{display:none}.admin-navigation-panel{max-height:calc(100vh - var(--header-height) - 48px);padding:var(--space-4);overflow-y:auto;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface)}.admin-navigation-heading{display:grid;gap:3px;margin-bottom:var(--space-4);padding:0 var(--space-2) var(--space-4);border-bottom:1px solid var(--hairline)}.admin-navigation-heading span{color:var(--brand-teal-ink);font-size:11px;font-weight:700;letter-spacing:.08em}.admin-navigation-heading strong{color:var(--ink-strong);font-size:19px}.admin-navigation nav,.admin-navigation-group{display:grid;gap:2px}.admin-navigation-group{margin-top:calc(var(--space-4) + var(--space-1))}.admin-navigation-group h2{margin:0 0 6px;padding:8px 10px;border-left:3px solid var(--brand-teal);border-radius:var(--radius-sm);background:var(--surface-navy);color:var(--brand-navy);font-size:14px;font-weight:800}.admin-navigation :is(nav a,.admin-navigation-logout){display:flex;align-items:center;width:100%;min-height:38px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:13px;font-weight:500;text-align:left;text-decoration:none}.admin-navigation-group>a{padding-left:18px}.admin-navigation nav a:hover{background:var(--surface-teal);color:var(--brand-teal-ink)}.admin-navigation-group>a.active{background:var(--surface-teal);box-shadow:inset 3px 0 0 var(--brand-teal);color:var(--brand-teal-ink);font-weight:700}.admin-navigation-home.active{background:var(--surface-teal);color:var(--brand-teal-ink)}.admin-navigation-home{font-weight:700!important}.admin-navigation-logout{margin-top:var(--space-4);border-top:1px solid var(--hairline)!important;border-radius:0!important;color:var(--muted)!important}@media(max-width:1100px){.app-header{gap:var(--space-5);padding-inline:var(--space-5)}.primary-nav{gap:var(--space-3);overflow-x:auto;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.admin-workspace-shell{display:block}.admin-navigation{position:relative;top:auto;padding:var(--space-4) var(--space-5) 0}.admin-navigation-toggle{display:flex;align-items:center;justify-content:space-between;width:100%}.admin-navigation-toggle b{font-size:12px}.admin-navigation-panel{display:none;max-height:none;margin-top:var(--space-2)}.admin-navigation.open .admin-navigation-panel{display:block}.admin-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.admin-navigation-home,.admin-navigation-logout{grid-column:1 / -1}.admin-navigation-group{margin-top:0}}@media(max-width:820px){.event-application-layout,.level-test-layout,.teacher-portal-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.app-header{gap:var(--space-2);min-height:var(--header-height-mobile);height:var(--header-height-mobile);padding:6px 10px}.app-brand{min-width:0}.app-brand-logo{width:100px;max-width:none;max-height:24px}.primary-nav{flex:1 1 auto;justify-content:space-between;gap:2px;overflow:visible}.primary-nav>a,.primary-nav-dropdown-trigger{flex:0 0 auto;min-height:40px;padding-inline:0;font-size:12px}.primary-nav-dropdown-trigger{gap:2px}.primary-nav-dropdown-trigger>span{font-size:9px}.primary-nav-submenu{top:calc(100% + 4px);min-width:142px}.primary-nav-submenu a{min-height:44px;font-size:13px}.page{padding:var(--space-5) 14px var(--space-8)}.admin-navigation{padding:var(--space-3) 14px 0}.admin-navigation nav{grid-template-columns:minmax(0,1fr)}.title-row{flex-direction:column}}}@layer components{.portal-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);width:100%;min-height:196px;margin-bottom:var(--space-5);padding:var(--space-6);overflow:hidden;border:0;border-radius:var(--radius-md);color:#fff;box-shadow:none}.portal-hero:after{position:absolute;top:-120px;right:-100px;width:280px;height:280px;border-radius:50%;background:linear-gradient(135deg,#ffffff21,#fff0),repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 1px,transparent 1px 18px);content:"";pointer-events:none}.portal-hero--teal{border:1px solid var(--hairline);background:linear-gradient(180deg,#fff,#f8fefe);color:var(--ink)}.portal-hero--teal:before{position:absolute;top:-1px;right:-1px;left:-1px;z-index:2;height:3px;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--brand-teal);content:""}.portal-hero--teal:after{background:radial-gradient(circle,rgba(0,203,213,.12) 0 2px,transparent 2.5px) 0 0 / 18px 18px,linear-gradient(135deg,rgba(0,203,213,.08),transparent 70%)}.portal-hero--navy{background:linear-gradient(135deg,var(--brand-navy),var(--brand-navy-light))}.portal-hero>*{position:relative;z-index:1}.portal-hero__copy{min-width:0}.portal-hero__eyebrow,.summary-sidebar__eyebrow{display:block;margin-bottom:10px;color:#a7fff3;font-size:12px;font-weight:700;letter-spacing:.08em}.portal-hero--navy .portal-hero__eyebrow{color:#bfdbfe}.portal-hero--teal .portal-hero__eyebrow{color:var(--brand-teal-ink)}.portal-hero h1{margin:0;color:#fff;font-size:clamp(34px,4.5vw,56px);font-weight:700;line-height:1.08;letter-spacing:-.055em}.portal-hero__description{max-width:720px;margin:14px 0 0;color:#ffffffd6;font-size:17px}.portal-hero__meta{margin:7px 0 0;color:#a7fff3;font-size:14px}.portal-hero--teal h1{color:var(--ink-strong)}.portal-hero--teal .portal-hero__description{color:var(--muted)}.portal-hero--teal .portal-hero__meta{color:var(--brand-teal-ink)}.portal-hero__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.portal-hero__actions :is(button.secondary,.link-button,.academy-ghost-link,.academy-primary-link){display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-md);background:#ffffff1a;color:#fff;text-decoration:none;white-space:nowrap}.portal-hero__actions :is(button.secondary,.link-button,.academy-ghost-link,.academy-primary-link):hover{border-color:#ffffffb3;background:#ffffff2e;color:#fff}.summary-sidebar{position:sticky;top:calc(var(--header-height) + var(--space-5));padding:var(--space-6);overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff,#f8fefe);color:var(--ink);box-shadow:none}.summary-sidebar:before{position:absolute;top:-1px;right:-1px;left:-1px;z-index:2;height:3px;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--brand-teal);content:""}.summary-sidebar:after{position:absolute;top:-104px;right:-96px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(0,203,213,.11) 0 2px,transparent 2.5px) 0 0 / 18px 18px,linear-gradient(135deg,rgba(0,203,213,.08),transparent 70%);content:"";pointer-events:none}.summary-sidebar>*{position:relative;z-index:1}.summary-sidebar__title{max-width:100%;margin:10px 0 16px;color:var(--ink-strong);font-weight:700;line-height:1.25;letter-spacing:-.05em;white-space:nowrap}.summary-sidebar__title--fixed{font-size:clamp(15px,4.5vw,26px)}.summary-sidebar__title--truncate{overflow:hidden;font-size:clamp(15px,4vw,25px);text-overflow:ellipsis}.summary-sidebar__description{margin:0 0 var(--space-5);color:var(--muted)}.summary-sidebar dl{display:grid;gap:var(--space-3);margin:var(--space-5) 0 0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:#ffffffd1}.summary-sidebar dt{color:var(--muted)}.summary-sidebar dd{margin:2px 0 0;color:var(--ink)}.summary-sidebar .summary-sidebar__eyebrow{color:var(--brand-teal-ink)}.summary-sidebar__desktop-details{display:contents}.summary-sidebar__mobile-details{display:none}.panel,.manager-section,.parent-section,.teacher-card,.teacher-profile-card,.teacher-admin-form,.teacher-admin-list,.event-public-card,.event-form-card,.level-test-form-card,.event-admin-card,.level-test-admin-card,.problem-bank-panel,.problem-bank-results,.student-dashboard-card,.dashboard-metric-card,.student-records-card,.admission-prospect-detail,.application-lookup-form-card,.application-lookup-results,.calendar-event-form,.calendar-event-list,.student-editor-panel,.consultation-reservation-card,.consultation-booking-card,.report-kind-panel,.score-card,.score-overview-card,.homework-card{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}@media screen{.app :is(article,section,aside,div,button)[class*=-card],.app :is(article,section,aside,div)[class*=-panel]{border-radius:var(--radius-md);box-shadow:none}}.panel{padding:var(--space-6)}.manager-section,.parent-section,.teacher-card,.teacher-profile-card,.teacher-admin-form,.teacher-admin-list,.problem-bank-panel,.student-records-card{padding:var(--space-5)}.app :is(button.secondary,.secondary-button,.ghost-button,.secondary-link){border-color:var(--hairline-strong);background:var(--surface);color:var(--ink)}.app :is(button.secondary,.secondary-button,.ghost-button,.secondary-link):not(:disabled):hover{border-color:var(--brand-teal);background:var(--surface-teal);color:var(--brand-teal-ink)}.app :is(button.danger,.danger-button){border-color:#e8b8b8;background:var(--danger-soft);color:var(--danger)}.parent-dashboard-tabs,.student-records-tabs,.guide-tabs,.report-tabs,.score-sheet-tabs,.report-kind-switch,.tab-row{display:flex;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface);box-shadow:none}:is(.parent-dashboard-tabs,.student-records-tabs,.guide-tabs,.report-tabs,.score-sheet-tabs,.report-kind-switch,.tab-row) button{min-height:36px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted)}:is(.parent-dashboard-tabs,.student-records-tabs,.guide-tabs,.report-tabs,.score-sheet-tabs,.report-kind-switch,.tab-row) button:hover{background:var(--surface-subtle);color:var(--ink)}:is(.parent-dashboard-tabs,.student-records-tabs,.guide-tabs,.report-tabs,.score-sheet-tabs,.report-kind-switch,.tab-row) button:is(.active,[aria-selected=true]){background:var(--surface-teal);color:var(--brand-teal-ink)}.admin-menu-row{display:flex;gap:0;margin-bottom:var(--space-5);padding:0 var(--space-3);overflow-x:auto;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:none;scrollbar-width:thin}.admin-menu-row :is(a,button){flex:0 0 auto;min-height:48px;padding-inline:14px;border:0;border-radius:0;background:transparent;color:var(--muted);text-decoration:none;white-space:nowrap}.admin-menu-row :is(a,button):hover{background:var(--surface-teal);color:var(--brand-teal-ink)}.admin-workspace-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-5);padding:var(--space-1);overflow-x:auto;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface);scrollbar-width:none}.admin-workspace-tabs::-webkit-scrollbar{display:none}.admin-workspace-tabs button{flex:0 0 auto;min-height:38px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted);white-space:nowrap}.admin-workspace-tabs button:is(.active,[aria-selected=true]){background:var(--surface-teal);color:var(--brand-teal-ink)}.admin-workspace-tabs button:hover{background:var(--surface-subtle);color:var(--ink)}.app table{border-color:var(--hairline);border-collapse:collapse}.app :is(th,td){border-color:var(--hairline)}.app th{background:var(--surface-subtle);color:#555a5f;font-size:13px;font-weight:700;letter-spacing:0}.app tbody tr:hover{background:#fbfefe}.app :is(.status-pill,.notice-badge,.calendar-type-badge,.subject-pill,.result-badge,.problem-status-pill,.problem-bank-badge,.chip,.tag){border-radius:var(--radius-pill);box-shadow:none}.message,.warning-box,.success-state,.config-warning{border-radius:var(--radius-md);box-shadow:none}.warning-box{border-color:#efd9a6;background:var(--warning-soft);color:#7a4f00}.success-state{border-color:#b9dfc7;background:var(--success-soft)}.pwa-install-banner{border:0;border-radius:0;background:#3a3a3a;color:#fff;box-shadow:none}.pwa-install-banner p{color:#d9dcdc}.pwa-install-banner button:not(.secondary){border-color:var(--brand-teal-bright);background:var(--brand-teal-bright);color:#10282a}.app .portal-hero .portal-hero__actions :is(button,button.secondary,.link-button,.secondary-link,.academy-ghost-link,.academy-primary-link){border-color:#fff6;background:#ffffff1a;color:#fff}.app .portal-hero--teal .portal-hero__actions :is(button,button.secondary,.link-button,.secondary-link,.academy-ghost-link,.academy-primary-link){border-color:var(--brand-teal);background:#fff;color:var(--brand-teal-ink)}.app .portal-hero .portal-hero__actions :is(button,button.secondary,.link-button,.secondary-link,.academy-ghost-link,.academy-primary-link):hover{border-color:#ffffffb3;background:#ffffff2e;color:#fff}.app .portal-hero--teal .portal-hero__actions :is(button,button.secondary,.link-button,.secondary-link,.academy-ghost-link,.academy-primary-link):hover{border-color:var(--brand-teal-ink);background:var(--surface-teal);color:var(--brand-teal-ink)}@media(max-width:820px){.summary-sidebar{position:relative;top:auto;padding:var(--space-4) var(--space-5)}.summary-sidebar__title{margin:6px 0 8px;font-size:clamp(18px,5.5vw,24px)}.summary-sidebar__description{display:-webkit-box;margin-bottom:var(--space-3);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.summary-sidebar__desktop-details{display:none}.summary-sidebar__mobile-details{display:block;border-top:1px solid var(--hairline)}.summary-sidebar__mobile-details summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;color:var(--brand-teal-ink);cursor:pointer;font-size:14px;font-weight:700;list-style:none}.summary-sidebar__mobile-details summary::-webkit-details-marker{display:none}.summary-sidebar__mobile-details summary:after{content:"+";font-size:18px;font-weight:400}.summary-sidebar__mobile-details[open] summary:after{content:"−"}.summary-sidebar__mobile-details dl{margin-top:var(--space-2)}.portal-hero{align-items:flex-start;flex-direction:column}.portal-hero__actions{justify-content:flex-start}}@media(max-width:640px){.app :is(button,.link-button){min-height:44px}.panel,.manager-section,.parent-section,.teacher-card,.teacher-profile-card,.problem-bank-panel,.event-form-card,.level-test-form-card{padding:var(--space-4);border-radius:6px}.portal-hero{min-height:0;padding:var(--space-5);border-radius:6px}.portal-hero h1{font-size:clamp(32px,10vw,44px)}.portal-hero__description{font-size:15px}.summary-sidebar{padding:var(--space-4);border-radius:6px}:is(.parent-dashboard-tabs,.student-records-tabs,.guide-tabs,.report-tabs,.score-sheet-tabs,.report-kind-switch,.tab-row){overflow-x:auto;border-radius:var(--radius-md);scrollbar-width:none;white-space:nowrap}:is(.parent-dashboard-tabs,.student-records-tabs,.guide-tabs,.report-tabs,.score-sheet-tabs,.report-kind-switch,.tab-row)::-webkit-scrollbar{display:none}:is(.parent-dashboard-tabs,.student-records-tabs,.guide-tabs,.report-tabs,.score-sheet-tabs,.report-kind-switch,.tab-row) button{flex:0 0 auto;min-height:42px}}}@layer pages{.academy-home{--academy-background: #ffffff;--academy-border: var(--hairline);--academy-primary: var(--accent);--academy-primary-dark: var(--accent-strong);--academy-primary-light: var(--surface-teal);--academy-surface: #ffffff;--academy-text: var(--ink);--academy-text-muted: var(--muted);--academy-radius: var(--radius-md);min-width:0;overflow-x:clip;background:var(--canvas);color:var(--ink)}.academy-home .academy-hero{position:relative;display:grid;align-items:center;grid-template-columns:minmax(0,.9fr) minmax(560px,1.1fr);gap:40px;min-height:480px;padding:56px max(24px,calc((100vw - var(--content-width)) / 2));border-bottom:1px solid var(--hairline);background:linear-gradient(180deg,#fff,#f8fefe);color:var(--ink);box-shadow:none}.academy-home .academy-hero:before{position:absolute;top:0;right:0;left:0;width:auto;height:3px;border:0;border-radius:0;background:var(--brand-teal);content:""}.academy-home .academy-hero:after{display:none}.academy-home .academy-kicker,.academy-home .academy-section-heading>span,.academy-home .academy-board-title>span{color:var(--brand-teal-ink);font-size:12px;font-weight:700;letter-spacing:.08em}.academy-home .academy-hero h1{max-width:760px;margin:0;color:var(--ink-strong);font-size:clamp(42px,5vw,64px);font-weight:800;line-height:1.08;letter-spacing:-.055em;text-shadow:none}.academy-home .academy-hero p{max-width:680px;margin-top:20px;color:#62676b;font-size:18px;line-height:1.7}.academy-home .academy-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:28px}.academy-home :is(.academy-primary-link,.academy-ghost-link){display:inline-flex;align-items:center;justify-content:center;min-width:152px;min-height:48px;padding:12px 20px;border-radius:var(--radius-md);font-size:15px;font-weight:700;text-decoration:none;box-shadow:none}.academy-home .academy-hero .academy-primary-link{border:1px solid var(--ink);background:var(--ink);color:#fff}.academy-home .academy-hero .academy-ghost-link{border:1px solid var(--brand-teal);background:#fff;color:var(--brand-teal-ink)}.academy-home .academy-portal-preview,.academy-home .academy-quick-menu a,.academy-home .academy-program-card,.academy-home .academy-open-program-card,.academy-home .academy-board-card{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}.academy-home .academy-portal-preview{width:100%;max-width:460px;padding:var(--space-5);color:var(--ink)}.academy-home .academy-hero-board-visual{width:100%}.academy-home .academy-hero-board-stack{display:grid;width:100%;max-width:720px;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.academy-home .academy-hero-board-card{min-width:0;padding:18px;box-shadow:0 12px 30px #0f172a12}.academy-home .academy-hero-board-card:hover{transform:none}.academy-home .academy-hero-board-card .academy-board-title{margin-bottom:var(--space-3)}.academy-home .academy-hero-board-card .academy-board-title h2{font-size:22px}.academy-home .academy-hero-board-card .academy-board-title>small{display:none}.academy-home .academy-hero-board-card .academy-calendar-open-button{width:36px;min-height:36px;font-size:22px}.academy-home .academy-hero-board-card .academy-notice-button{grid-template-columns:70px minmax(0,1fr) auto;gap:var(--space-2);padding:11px 6px}.academy-home .academy-hero-board-card .academy-schedule-list{margin-bottom:0;padding-bottom:0;border-bottom:0}.academy-home .academy-hero-board-card .academy-schedule-button{align-items:flex-start;grid-template-columns:minmax(0,1fr) auto;gap:4px var(--space-2);padding:10px 6px}.academy-home .academy-hero-board-card .academy-schedule-button time,.academy-home .academy-hero-board-card .academy-schedule-button>div{grid-column:1}.academy-home .academy-hero-board-card .academy-schedule-button>span:last-child{grid-column:2;grid-row:1 / span 2}.academy-home .academy-hero-board-card .academy-today-empty{margin-bottom:0}.academy-home .academy-preview-header{border-bottom-color:var(--hairline)}.academy-home .academy-preview-list svg,.academy-home :is(.academy-menu-icon,.academy-program-icon,.academy-empty-icon){border-radius:var(--radius-md);background:var(--surface-teal);color:var(--brand-teal-ink);box-shadow:none}.academy-home .academy-quick-menu{gap:14px;margin-top:-30px}.academy-home .academy-quick-menu a{min-height:154px}.academy-home :is(.academy-quick-menu a,.academy-program-card,.academy-open-program-card,.academy-board-card):hover{border-color:#b8dfe1;box-shadow:none;transform:translateY(-2px)}.academy-home .academy-section-heading h2,.academy-home .academy-board-title h2{color:var(--ink-strong);font-weight:700}.academy-home .academy-section-heading p,.academy-home .academy-program-card p,.academy-home .academy-open-program-card>p,.academy-home .academy-notice-list time{color:var(--muted)}.academy-home :is(.academy-empty-text,.academy-today-empty){border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-subtle)}.academy-home .academy-strength-panel{border:1px solid #d5eff0;border-radius:var(--radius-md);background:var(--surface-teal)}.academy-home .academy-hot-issue{border:0;border-radius:var(--radius-md);background:#3a3a3a;color:#fff;box-shadow:none}.academy-home .academy-hot-issue h2{color:#fff}.academy-home .academy-hot-issue p{color:#d9dcdc}.academy-home .academy-hot-issue>div>span{color:var(--brand-teal-bright)}.academy-home .academy-hot-issue .academy-primary-link{border-color:var(--brand-teal-bright);background:var(--brand-teal-bright);color:#10282a}.academy-home .academy-hot-issue .academy-ghost-link{border-color:#777b7c;background:transparent;color:#fff}.academy-home .academy-board-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.academy-home .academy-board-title>div{display:grid;gap:var(--space-2)}.academy-home .academy-board-title>div>span{color:var(--brand-teal-ink);font-size:12px;font-weight:700;letter-spacing:.08em}.academy-home .academy-board-title>small{align-self:flex-end;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:500}.academy-home :is(.academy-notice-button,.academy-schedule-button){width:100%;min-height:0;border:0;border-top:1px solid var(--hairline);border-radius:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.academy-home :is(.academy-notice-button,.academy-schedule-button):first-child{border-top:0}.academy-home :is(.academy-notice-button,.academy-schedule-button):hover{background:var(--surface-teal)}.academy-home .academy-notice-button{display:grid;align-items:center;grid-template-columns:86px minmax(0,1fr) auto;gap:var(--space-4);padding:15px var(--space-2)}.academy-home .academy-notice-button:first-child{padding-top:12px}.academy-home .academy-notice-button time{color:var(--muted);font-size:13px;font-weight:500;white-space:nowrap}.academy-home .academy-notice-button strong{overflow:hidden;color:var(--ink);font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.academy-home :is(.academy-notice-button,.academy-schedule-button)>span:last-child{color:var(--brand-teal-ink);font-weight:800}.academy-home .academy-calendar-open-button,.academy-home .academy-dialog-close{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:42px;min-height:42px;padding:0;border:1px solid #b8dfe1;border-radius:50%;background:var(--surface-teal);color:var(--brand-teal-ink);cursor:pointer;font-size:25px;line-height:1}.academy-home .academy-calendar-open-button:hover,.academy-home .academy-dialog-close:hover{border-color:var(--brand-teal);background:#e0f9fa}.academy-home .academy-schedule-button{display:grid;align-items:center;grid-template-columns:108px minmax(0,1fr) auto;gap:14px;padding:13px var(--space-2)}.academy-home .academy-schedule-button>div{display:grid;min-width:0;gap:4px}.academy-home .academy-schedule-button time{color:var(--brand-teal-ink);font-size:13px;font-weight:700;white-space:nowrap}.academy-home .academy-schedule-button strong{overflow:hidden;color:var(--ink);font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.academy-home .academy-schedule-button>div>span{color:var(--muted);font-size:13px}.academy-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:#11182794;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.academy-detail-dialog{width:min(680px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid var(--hairline);border-radius:14px;background:var(--surface);box-shadow:0 28px 80px #0f172a42}.academy-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding:var(--space-6);border-bottom:1px solid var(--hairline)}.academy-dialog-header>div{display:grid;gap:var(--space-2)}.academy-dialog-header>div>span{color:var(--brand-teal-ink);font-size:12px;font-weight:800;letter-spacing:.08em}.academy-dialog-header h2,.academy-dialog-header p,.academy-dialog-header time{margin:0}.academy-dialog-header h2{color:var(--ink-strong);font-size:clamp(24px,4vw,32px)}.academy-dialog-header p,.academy-dialog-header time{color:var(--muted);font-size:14px}.academy-notice-dialog-body{min-height:180px;padding:var(--space-6);color:var(--ink);font-size:16px;line-height:1.8;white-space:pre-wrap}.academy-notice-list-dialog{width:min(780px,100%)}.academy-all-notice-list{display:grid;padding:var(--space-3) var(--space-6) var(--space-6)}.academy-all-notice-list>button{display:grid;align-items:center;width:100%;min-height:0;grid-template-columns:92px minmax(0,1fr) auto;gap:var(--space-4);padding:var(--space-4) var(--space-2);border:0;border-top:1px solid var(--hairline);border-radius:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.academy-all-notice-list>button:first-child{border-top:0}.academy-all-notice-list>button:hover{background:var(--surface-teal)}.academy-all-notice-list time{color:var(--muted);font-size:13px;font-weight:500}.academy-all-notice-list button>span{display:grid;min-width:0;gap:4px}.academy-all-notice-list strong,.academy-all-notice-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academy-all-notice-list strong{color:var(--ink-strong);font-size:15px}.academy-all-notice-list small{color:var(--muted);font-size:13px;font-weight:500}.academy-all-notice-list b{color:var(--brand-teal-ink)}.academy-all-notice-empty{margin:var(--space-5) var(--space-6) var(--space-6);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--muted);text-align:center}.academy-calendar-dialog{width:min(1180px,100%)}.academy-public-calendar{margin:0;overflow:hidden;border:0;border-radius:0;box-shadow:none}.academy-calendar-loading{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--muted);text-align:center}.academy-calendar-grid-scroll,.learning-calendar-grid-scroll,.admin-calendar-grid-scroll{display:grid;gap:var(--space-2);overflow-x:auto;-webkit-overflow-scrolling:touch}.academy-public-calendar :is(.attendance-calendar-weekdays,.attendance-calendar-grid),.learning-calendar-panel :is(.attendance-calendar-weekdays,.attendance-calendar-grid),.admin-calendar-month-view :is(.attendance-calendar-weekdays,.attendance-calendar-grid){min-width:760px}.academy-calendar-day,.learning-calendar-day,.admin-calendar-day{width:100%;min-height:124px;cursor:pointer;text-align:left}.academy-calendar-day.selected,.learning-calendar-day.selected,.admin-calendar-day.selected{border-color:var(--brand-teal);background:var(--surface-teal);box-shadow:inset 0 0 0 2px var(--brand-teal)}.academy-calendar-day.has-events>span,.learning-calendar-day.has-events>span,.admin-calendar-day.has-events>span{color:var(--brand-teal-ink)}.academy-calendar-day-events,.learning-calendar-day-events,.admin-calendar-day-events{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px}.academy-calendar-day-events b{display:block;width:100%;overflow:hidden;padding:4px 6px;border-radius:var(--radius-sm);background:var(--surface-teal);color:var(--brand-teal-ink);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.academy-calendar-day-events small,.learning-calendar-day-events small,.admin-calendar-day-events small{color:var(--muted);font-size:11px;font-weight:700}.academy-calendar-selected-events{background:var(--surface-subtle)}.learning-calendar-panel{overflow:hidden}.learning-calendar-day-events .calendar-type-badge{max-width:100%}.admin-calendar-month-view{margin-top:var(--space-5);overflow:hidden}.admin-calendar-day-events b{display:block;width:100%;overflow:hidden;padding:4px 6px;border-radius:var(--radius-sm);background:var(--surface-teal);color:var(--brand-teal-ink);font-size:11px;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.admin-calendar-day-events b.hidden{background:var(--surface-subtle);color:var(--muted);text-decoration:line-through}.calendar-date-mode-options{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);margin:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-subtle)}.calendar-date-mode-options legend{padding-inline:var(--space-1);color:var(--ink-strong);font-size:13px;font-weight:800}.calendar-date-mode-options .checkbox-label{margin:0;font-weight:600}.calendar-date-row{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-date-row.range{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-range-summary{margin:-4px 0 0;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-teal);color:var(--brand-teal-ink);font-size:13px;font-weight:600}.calendar-range-summary.invalid{background:var(--danger-soft);color:var(--danger)}.event-landing-shell,.event-application-page,.level-test-page{max-width:none;background:var(--canvas)}.event-landing-hero{position:relative;max-width:1180px;margin:34px auto 0;padding:var(--space-7);overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff,#f8fefe);color:var(--ink);box-shadow:none}.event-landing-hero:before{position:absolute;top:-1px;right:-1px;left:-1px;z-index:2;height:3px;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--brand-teal);content:""}.event-landing-hero:after{background:radial-gradient(circle,rgba(0,203,213,.11) 0 2px,transparent 2.5px) 0 0 / 18px 18px,linear-gradient(135deg,rgba(0,203,213,.08),transparent 70%)}.event-landing-hero h1{color:var(--ink-strong);font-weight:800}.event-landing-hero p{color:var(--muted)}.event-landing-hero .academy-kicker{color:var(--brand-teal-ink)}.event-landing-content{max-width:1180px;margin-inline:auto}.academy-event-card{min-height:400px;padding:var(--space-6);border-color:var(--hairline);box-shadow:none}.academy-event-card:hover{border-color:#b8dfe1;box-shadow:none;transform:translateY(-2px)}.event-application-page .panel.wide,.level-test-page .panel.wide{padding:0;border:0;background:transparent}.event-form-card,.level-test-form-card{padding:var(--space-6)}.application-lookup-page{background:var(--canvas);color:var(--ink)}.application-lookup-hero{position:relative;border:1px solid var(--hairline);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff,#f8fefe);color:var(--ink);box-shadow:none}.application-lookup-hero:before{position:absolute;top:0;right:0;left:0;height:3px;background:var(--brand-teal);content:""}.application-lookup-hero :is(h1,h2){color:var(--ink-strong)}.application-lookup-hero p{color:var(--muted)}.parent-dashboard-page,.teacher-page,.admin-page{max-width:none;background:var(--canvas)}.admin-home-section+.admin-home-section{margin-top:var(--space-6)}.admin-home-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.admin-home-category-card{padding:var(--space-5);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface)}.admin-home-category-card>span{color:var(--ink-strong);font-size:18px;font-weight:700}.admin-home-category-card>p{margin:7px 0 var(--space-4);color:var(--muted);font-size:14px}.admin-home-category-card>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-home-category-card a{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid var(--hairline);border-radius:var(--radius-pill);color:var(--ink);font-size:13px;font-weight:700;text-decoration:none}.admin-home-category-card a:hover{border-color:var(--brand-teal);background:var(--surface-teal);color:var(--brand-teal-ink)}.admin-parent-management-grid,.admin-import-action-grid{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.admin-page-header{margin-bottom:var(--space-5)}:is(.parent-dashboard-page,.teacher-page,.admin-page)>.panel.wide{max-width:var(--content-width);padding:0;border:0;background:transparent}:is(.parent-dashboard-page,.teacher-page,.admin-page)>.panel.wide>.portal-hero{margin-bottom:var(--space-5)}.parent-login-card,.parent-hero-card,.parent-notice-list{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}.parent-hero-card{border-top:3px solid var(--brand-teal);background:linear-gradient(135deg,var(--surface-teal),#ffffff)}.teacher-sidebar,.teacher-main,.teacher-home-grid,.teacher-class-detail,.teacher-student-detail{min-width:0}.teacher-class-nav a,.teacher-class-card,.teacher-student-row,.student-dashboard-list-items button,.student-records-students button,.admission-prospect-card,.class-dashboard-card{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);box-shadow:none}:is(.teacher-class-nav a,.teacher-class-card,.teacher-student-row,.student-dashboard-list-items button,.student-records-students button,.admission-prospect-card,.class-dashboard-card):hover{border-color:#b8dfe1;background:#fbfefe}.student-profile-card,.score-report-hero,.mock-exam-total-card{border:0;border-radius:var(--radius-md);background:linear-gradient(100deg,#065b58,#0f8f8a);color:#fff;box-shadow:none}.student-dashboard-list-items{align-content:start;grid-auto-rows:minmax(64px,auto)}.student-dashboard-list-items button{align-content:center;height:auto;min-height:64px;padding:12px 14px;overflow:visible}.student-dashboard-list-items button>span,.student-dashboard-list-items button>small{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere}.student-dashboard-list-items button>span{line-height:1.35}.student-dashboard-list-items button>small{font-size:12px;font-weight:500;line-height:1.5}:is(.student-profile-card,.score-report-hero,.mock-exam-total-card) :is(h1,h2,h3,p,strong){color:#fff}.page:is(.admin-calendar-page,.admin-classes-dashboard-page,.admin-consultations-page,.admin-event-applications-page,.admin-events-page,.admin-followups-page,.admin-learning-page,.admin-level-tests-page,.admin-mock-exam-page,.admin-student-dashboard-page,.admin-students-page,.admin-teachers-page,.admin-communications-page,.admin-imports-page,.admin-kiosk-page,.admin-parents-page,.admin-system-page,.admission-crm-page,.growth-report-page,.student-records-page){max-width:var(--content-wide);background:var(--canvas)}.page:is(.admin-calendar-page,.admin-classes-dashboard-page,.admin-consultations-page,.admin-event-applications-page,.admin-events-page,.admin-followups-page,.admin-learning-page,.admin-level-tests-page,.admin-mock-exam-page,.admin-student-dashboard-page,.admin-students-page,.admin-teachers-page,.admin-communications-page,.admin-imports-page,.admin-kiosk-page,.admin-parents-page,.admin-system-page,.admission-crm-page,.growth-report-page,.student-records-page)>.panel.wide{max-width:var(--content-width);border:0;background:transparent}.page>.panel.wide>.title-row:not(.portal-hero),.student-records-header,.growth-report-toolbar{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--hairline)}.title-row:not(.portal-hero) h1{margin:0;color:var(--ink-strong);font-size:clamp(28px,3.5vw,44px);font-weight:700;line-height:1.15;letter-spacing:-.05em}.title-row:not(.portal-hero) .subtle{max-width:760px;margin:9px 0 0;color:var(--muted)}.title-row:not(.portal-hero) .academy-kicker{display:block;margin-bottom:8px;color:var(--brand-teal-ink);font-size:12px;font-weight:700;letter-spacing:.08em}.page>.panel.wide>.title-row:not(.portal-hero) h1,.student-records-header h1,.growth-report-toolbar h1{color:var(--ink-strong);font-weight:700}.student-records-selector,.growth-student-selector,.admission-filter-bar{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-subtle);box-shadow:none}.growth-student-selector select,.admin-followups-page .followup-toolbar select{width:100%;height:40px;min-height:40px;padding:8px 10px}.admin-consultations-page .slot-editor-form select{width:100%;height:42px;min-height:42px;padding:8px 10px}.bulk-selection-actions{align-items:center;display:flex;gap:10px;justify-content:space-between;min-width:0}.form-check-grid>.bulk-selection-actions{grid-column:1 / -1}.bulk-selection-actions>span{color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.bulk-selection-actions .button-row{flex-wrap:nowrap;gap:6px}.bulk-selection-actions button{font-size:12px;min-height:30px;padding:5px 9px;white-space:nowrap}.class-select-field{display:grid;gap:8px}.class-select-label{font-weight:700}.student-publication-table tr.cancelled td{background:var(--surface-subtle);color:var(--muted)}.student-publication-status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;line-height:1;padding:6px 9px;white-space:nowrap}.student-publication-status.active{background:#dcfce7;color:#166534}.student-publication-status.cancelled{background:#e2e8f0;color:#475569}.student-publication-cancel{display:block;font-size:12px;margin-top:8px;min-height:32px;padding:6px 10px;white-space:nowrap}@media(max-width:640px){.bulk-selection-actions{align-items:flex-start;flex-direction:column}}.parent-report-section .report-type-controls{align-items:end;gap:var(--space-5);grid-template-columns:minmax(230px,300px) minmax(0,1fr)}.parent-report-section .report-type-controls>label{max-width:300px}.parent-report-section .report-kind-switch{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(190px,220px));justify-content:start;overflow:visible;padding:0;border:0;border-radius:0;background:transparent;white-space:normal}.parent-report-section .report-kind-switch button{display:grid;align-content:center;justify-items:start;gap:4px;min-height:78px;padding:15px 18px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--ink);text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.parent-report-section .report-kind-switch button strong{color:inherit;font-size:18px;font-weight:750;letter-spacing:-.02em;line-height:1.35}.parent-report-section .report-kind-switch button span{color:var(--muted);font-size:13px;font-weight:500;line-height:1.45}.parent-report-section .report-kind-switch button:hover{border-color:transparent;background:#f0f7f7;color:var(--brand-teal-ink)}.parent-report-section .report-kind-switch button:is(.active,[aria-selected=true]){border-color:var(--brand-teal);background:var(--surface-teal);color:var(--brand-teal-ink)}.parent-report-section .report-kind-switch button:is(.active,[aria-selected=true]) span{color:#35777a}.parent-report-section .report-kind-switch button:focus-visible{outline:3px solid rgba(0,203,213,.2);outline-offset:2px}.parent-report-section .score-trend-card{padding:var(--space-5);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}.parent-report-section .score-trend-card .section-title{margin-bottom:var(--space-4)}.parent-report-section .score-trend-card .section-title h2{color:var(--ink);font-size:22px;font-weight:750;letter-spacing:-.025em}.parent-report-section .score-trend-list{gap:var(--space-2)}.parent-report-section .trend-row{min-height:64px;padding:12px 14px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--surface-subtle)}.parent-report-section .trend-row:hover{border-color:#c6e5e6;background:#f4fbfb}.parent-report-section .trend-row.selected{border-color:var(--brand-teal);background:var(--surface-teal)}.parent-report-section .trend-row span{color:var(--brand-teal-ink);font-size:14px;font-weight:750}.parent-report-section .trend-row strong{color:var(--ink);font-size:20px}.parent-report-section .trend-bar,.parent-report-section .trend-row.selected .trend-bar{height:12px;padding:0;background:#e7eded}.parent-report-section .trend-bar i{background:var(--brand-teal-ink)}.parent-report-section .parent-score-section{gap:var(--space-4);margin-top:0}.parent-report-section .score-report-hero{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--hairline);border-top:3px solid var(--brand-teal);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left}.parent-report-section .score-report-heading{display:grid;gap:var(--space-2)}.parent-report-section .score-report-heading>span{display:inline-block;width:fit-content;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--brand-teal-ink);font-size:12px;font-weight:750;letter-spacing:.06em}.parent-report-section .score-report-hero h2{margin:0;color:var(--ink);font-size:clamp(25px,3vw,32px);font-weight:750;letter-spacing:-.035em;line-height:1.25}.parent-report-section .score-hero-meta{justify-content:flex-start}.parent-report-section .score-hero-meta b{padding:7px 11px;border:0;background:var(--surface-teal);color:var(--brand-teal-ink);font-size:13px;font-weight:650}.parent-report-section .parent-score-section :is(.score-card,.homework-card){padding:var(--space-5);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}.parent-report-section .parent-score-section :is(.subject-analysis-card,.score-card:has(.collapse-header),.homework-card):before{display:none}.parent-report-section .subject-analysis-card .section-title{margin:0 0 var(--space-4);padding:0;background:transparent}.parent-report-section .parent-score-section .score-card>.section-title h2{color:var(--ink);font-size:22px;font-weight:750;letter-spacing:-.025em}.parent-report-section .subject-score-card{position:relative;overflow:hidden;gap:var(--space-3);min-width:0;min-height:104px;padding:14px 14px 14px 17px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);box-shadow:none}.parent-report-section .subject-score-card:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--hairline-strong);content:""}.parent-report-section .subject-score-card.subject-geometry,.parent-report-section .subject-score-card.subject-algebra,.parent-report-section .subject-score-card.subject-combi{border-color:var(--hairline);background:var(--surface);color:var(--ink)}.parent-report-section .subject-score-card.subject-geometry:before{background:#38a2d6}.parent-report-section .subject-score-card.subject-algebra:before{background:#e06b76}.parent-report-section .subject-score-card.subject-combi:before{background:#6aa84f}.parent-report-section .subject-score-card .subject-card-top,.parent-report-section .subject-score-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.parent-report-section .subject-score-card .subject-pill{flex:0 0 auto;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:12px;font-weight:750;line-height:1.2;white-space:nowrap}.parent-report-section .subject-score-rank{margin-left:auto;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}.parent-report-section .subject-score-value{color:var(--ink-strong);font-size:24px;font-weight:800;letter-spacing:-.035em;line-height:1.1;white-space:nowrap}.parent-report-section .subject-score-value small{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:0}.parent-report-section .subject-score-comparison{display:grid;gap:2px;min-width:0;text-align:right}.parent-report-section .subject-score-comparison span,.parent-report-section .subject-score-comparison b{overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.parent-report-section .subject-score-comparison span,.parent-report-section .subject-score-comparison b.is-equal{color:var(--muted)}.parent-report-section .subject-score-comparison b.is-positive{color:var(--success)}.parent-report-section .subject-score-comparison b.is-negative{color:var(--danger)}.parent-report-section .parent-score-section .collapse-header{margin:0;padding:15px 16px;border:0;border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--ink);font-size:18px;font-weight:700}.parent-report-section .parent-score-section .collapse-header:hover:not(:disabled){border-color:transparent;background:var(--surface-teal);color:var(--brand-teal-ink)}.parent-report-section .parent-score-section .collapse-header b,.parent-report-section .parent-score-section .homework-collapse-header b{padding:6px 9px;border:0;background:var(--surface);color:var(--brand-teal-ink)}.parent-report-section .parent-score-section .report-detail-section{overflow:hidden;padding:20px var(--space-5)}.parent-report-section .report-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.parent-report-section .report-detail-heading-copy{display:grid;gap:5px;min-width:0}.parent-report-section .report-detail-heading-copy h2{margin:0;color:var(--ink);font-size:20px;font-weight:750;letter-spacing:-.025em;line-height:1.35}.parent-report-section .report-detail-heading-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.parent-report-section .report-detail-heading-copy p span{display:inline-block;margin-left:var(--space-2);color:var(--ink);font-weight:650}.parent-report-section .report-detail-toggle{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:var(--space-2);min-width:92px;min-height:40px;padding:8px 12px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;line-height:1}.parent-report-section .report-detail-toggle:hover:not(:disabled){border-color:var(--brand-teal);background:var(--surface-teal);color:var(--brand-teal-ink)}.parent-report-section .report-detail-toggle:focus-visible{outline:3px solid rgba(0,203,213,.2);outline-offset:2px}.parent-report-section .report-detail-toggle b{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--surface-subtle);color:var(--brand-teal-ink);font-size:15px;line-height:1}.parent-report-section .report-detail-panel{margin-top:var(--space-4)}.parent-report-section .report-detail-empty{grid-column:1 / -1;margin:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--muted);font-size:14px;text-align:center}.parent-report-section .question-score-matrix{display:grid;gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr))}.parent-report-section .question-score-item{position:relative;display:grid;gap:var(--space-3);min-width:0;min-height:96px;overflow:hidden;padding:13px 14px 13px 17px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);break-inside:avoid}.parent-report-section .question-score-item:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--hairline-strong);content:""}.parent-report-section .question-score-item.subject-geometry,.parent-report-section .question-score-item.subject-algebra,.parent-report-section .question-score-item.subject-combi,.parent-report-section .assignment-subject-row.subject-geometry,.parent-report-section .assignment-subject-row.subject-algebra,.parent-report-section .assignment-subject-row.subject-combi{border-color:var(--hairline);background:var(--surface);color:var(--ink)}.parent-report-section .question-score-item.subject-geometry:before,.parent-report-section .assignment-subject-row.subject-geometry:before{background:#38a2d6}.parent-report-section .question-score-item.subject-algebra:before,.parent-report-section .assignment-subject-row.subject-algebra:before{background:#e06b76}.parent-report-section .question-score-item.subject-combi:before,.parent-report-section .assignment-subject-row.subject-combi:before{background:#6aa84f}.parent-report-section .question-score-item-top,.parent-report-section .question-score-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.parent-report-section .question-score-number{color:var(--ink-strong);font-size:20px;font-weight:800;letter-spacing:-.025em;line-height:1}.parent-report-section .question-score-item .subject-pill,.parent-report-section .assignment-subject-row .subject-pill{flex:0 0 auto;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:12px;font-weight:750;line-height:1.2;white-space:nowrap}.parent-report-section .question-score-rank{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}.parent-report-section .question-score-rank [role=img]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--success-soft);color:var(--success);font-size:11px;font-weight:800}.parent-report-section .question-score-value{color:var(--ink-strong);font-size:24px;font-weight:800;letter-spacing:-.035em;line-height:1.1;white-space:nowrap}.parent-report-section .question-score-value small{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:0}.parent-report-section .question-score-comparison{display:grid;gap:2px;min-width:0;text-align:right}.parent-report-section .question-score-comparison span,.parent-report-section .question-score-comparison b{overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.parent-report-section .question-score-comparison span,.parent-report-section .question-score-comparison b.is-equal{color:var(--muted)}.parent-report-section .question-score-comparison b.is-positive{color:var(--success)}.parent-report-section .question-score-comparison b.is-negative{color:var(--danger)}.parent-report-section .assignment-date-list{display:grid;gap:0}.parent-report-section .assignment-date-group{display:grid;gap:var(--space-3);break-inside:avoid}.parent-report-section .assignment-date-group+.assignment-date-group{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--hairline)}.parent-report-section .assignment-date-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.parent-report-section .assignment-date-heading h3{margin:0;padding:0;border:0;color:var(--ink-strong);font-size:17px;font-weight:750;letter-spacing:-.02em;line-height:1.35}.parent-report-section .assignment-date-heading>span{flex:0 0 auto;padding:5px 9px;border-radius:var(--radius-pill);background:var(--surface-subtle);color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.parent-report-section .assignment-subject-list{overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-md)}.parent-report-section .assignment-subject-row{position:relative;display:grid;align-items:center;gap:var(--space-3);grid-template-columns:minmax(86px,.55fr) minmax(0,1.45fr);min-width:0;min-height:64px;padding:9px 12px 9px 15px}.parent-report-section .assignment-subject-row:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--hairline-strong);content:""}.parent-report-section .assignment-subject-row+.assignment-subject-row{border-top:1px solid var(--hairline)}.parent-report-section .assignment-subject-name,.parent-report-section .assignment-status-list,.parent-report-section .assignment-status-cell{min-width:0}.parent-report-section .assignment-status-list{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.parent-report-section .assignment-status-cell{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:44px;padding:7px 9px;border-radius:var(--radius-sm);background:var(--surface-subtle)}.parent-report-section .assignment-status-cell>span{overflow:hidden;color:var(--muted);font-size:12px;font-weight:650;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.parent-report-section .homework-status-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:12px;line-height:1}.parent-report-section .homework-status-badge strong{font-size:14px;font-weight:800}.parent-report-section .homework-status-badge small{font-size:11px;font-weight:600;white-space:nowrap}.parent-report-section .homework-status-badge.status-a{border-color:#ccebd8;background:var(--success-soft);color:var(--success)}.parent-report-section .homework-status-badge.status-b,.parent-report-section .homework-status-badge.status-other{border-color:var(--hairline);background:var(--surface);color:var(--ink)}.parent-report-section .homework-status-badge.status-empty{border-color:var(--hairline);background:var(--surface);color:var(--muted-soft)}.parent-report-section .mock-exam-round-list{gap:var(--space-2)}.parent-report-section .mock-exam-round-row{position:relative;min-width:0;min-height:64px;overflow:hidden;padding:12px 14px 12px 17px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);box-shadow:none;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.parent-report-section .mock-exam-round-row:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--hairline-strong);content:""}.parent-report-section .mock-exam-round-row:hover:not(:disabled){border-color:#c6e5e6;background:#fbfefe}.parent-report-section .mock-exam-round-row.selected{border-color:var(--brand-teal);background:var(--surface-teal)}.parent-report-section .mock-exam-round-row.selected:before{background:var(--brand-teal)}.parent-report-section .mock-exam-round-row:focus-visible{outline:3px solid rgba(0,203,213,.2);outline-offset:2px}.parent-report-section .mock-exam-round-row strong{color:var(--ink-strong);font-size:15px;font-weight:750;letter-spacing:-.015em}.parent-report-section .mock-exam-round-row span{overflow-wrap:anywhere;color:var(--muted);font-size:13px;line-height:1.5}.parent-report-section .mock-exam-guide-card{display:grid;align-items:start;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);padding:13px 15px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-subtle);box-shadow:none}.parent-report-section .mock-exam-guide-card strong{color:var(--brand-teal-ink);font-size:13px;font-weight:750;white-space:nowrap}.parent-report-section .mock-exam-guide-card p{color:var(--muted);font-size:13px;line-height:1.55}.parent-report-section .parent-mock-exam-list{gap:var(--space-4);margin:0}.parent-report-section .parent-mock-exam-report{display:grid;gap:var(--space-4);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.parent-report-section .mock-exam-report-hero .score-report-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.parent-report-section .mock-exam-report-hero .score-hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.parent-report-section .mock-exam-key-metrics{display:grid;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.parent-report-section .mock-exam-key-metric{position:relative;display:grid;align-content:center;gap:5px;min-width:0;min-height:126px;overflow:hidden;padding:17px 18px 17px 21px;border:1px solid #cfe4e2;border-radius:var(--radius-md);background:#f7fbfb}.parent-report-section .mock-exam-key-metric:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--brand-teal);content:""}.parent-report-section .mock-exam-key-metric>span{display:block;width:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--brand-teal-ink);font-size:13px;font-weight:750;letter-spacing:-.01em;line-height:1.35}.parent-report-section .mock-exam-key-metric>strong{color:var(--ink-strong);font-size:clamp(28px,3.2vw,38px);font-weight:800;letter-spacing:-.045em;line-height:1.05;white-space:nowrap}.parent-report-section .mock-exam-key-metric>strong small{margin-left:3px;color:var(--ink);font-size:14px;font-weight:700;letter-spacing:0}.parent-report-section .mock-exam-key-metric>small{overflow:hidden;color:var(--muted);font-size:12px;font-weight:500;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.parent-report-section .mock-exam-secondary-ranks{padding-top:var(--space-3);border-top:1px solid var(--hairline)}.parent-report-section .mock-exam-secondary-ranks b{background:var(--surface-subtle);color:var(--ink)}.parent-report-section :is(.mock-exam-domain-panel,.mock-exam-metric-card,.mock-exam-question-group){--report-subject-accent: var(--hairline-strong)}.parent-report-section .subject-math{--report-subject-accent: #5969d6}.parent-report-section .subject-science{--report-subject-accent: #15978f}.parent-report-section .subject-geometry{--report-subject-accent: #38a2d6}.parent-report-section .subject-algebra{--report-subject-accent: #e06b76}.parent-report-section .subject-combi{--report-subject-accent: #6aa84f}.parent-report-section .subject-physics{--report-subject-accent: #4f82d7}.parent-report-section .subject-chemistry{--report-subject-accent: #d4932f}.parent-report-section .subject-biology{--report-subject-accent: #3f9d70}.parent-report-section .subject-earth{--report-subject-accent: #7966bd}.parent-report-section .subject-integrated{--report-subject-accent: #667085}.parent-report-section .mock-exam-domain-grid{align-items:stretch;gap:var(--space-3)}.parent-report-section .mock-exam-domain-panel{position:relative;align-content:start;min-width:0;overflow:hidden;padding:18px 18px 18px 21px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);box-shadow:none}.parent-report-section .mock-exam-domain-panel:before,.parent-report-section .mock-exam-metric-card:before,.parent-report-section .mock-exam-question-group:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--report-subject-accent);content:""}.parent-report-section .mock-exam-domain-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);min-width:0}.parent-report-section .mock-exam-domain-title{display:grid;gap:4px;min-width:0}.parent-report-section .mock-exam-domain-title>span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em}.parent-report-section .mock-exam-domain-title h3{margin:0;color:var(--ink-strong);font-size:23px;font-weight:800;letter-spacing:-.03em;line-height:1.2}.parent-report-section .mock-exam-domain-summary{display:grid;gap:5px;min-width:0;text-align:right}.parent-report-section .mock-exam-domain-summary>strong{color:var(--ink-strong);font-size:28px;font-weight:800;letter-spacing:-.035em;line-height:1;white-space:nowrap}.parent-report-section .mock-exam-domain-summary>strong small{margin-left:2px;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:0}.parent-report-section .mock-exam-domain-summary>b{overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.parent-report-section .mock-exam-domain-summary>b.is-equal{color:var(--muted)}.parent-report-section .mock-exam-domain-summary>b.is-positive{color:var(--success)}.parent-report-section .mock-exam-domain-summary>b.is-negative{color:var(--danger)}.parent-report-section .mock-exam-domain-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;margin:0;overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-subtle)}.parent-report-section .mock-exam-domain-stats>div{display:grid;align-content:center;gap:4px;min-width:0;min-height:68px;padding:10px 11px}.parent-report-section .mock-exam-domain-stats>div+div{border-left:1px solid var(--hairline)}.parent-report-section .mock-exam-domain-stats dt,.parent-report-section .mock-exam-domain-stats dd{margin:0}.parent-report-section .mock-exam-domain-stats dt{color:var(--muted);font-size:11px;font-weight:700;line-height:1.3}.parent-report-section .mock-exam-domain-stats dd{color:var(--ink-strong);font-size:14px;font-weight:800;letter-spacing:-.02em;line-height:1.35}.parent-report-section .mock-exam-domain-stats small{overflow:hidden;color:var(--muted);font-size:10px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.parent-report-section .mock-exam-domain-subjects{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));min-width:0}.parent-report-section .mock-exam-metric-card{position:relative;display:grid;gap:var(--space-3);min-width:0;min-height:100px;overflow:hidden;padding:13px 13px 13px 16px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);box-shadow:none}.parent-report-section .mock-exam-metric-top,.parent-report-section .mock-exam-metric-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.parent-report-section .mock-exam-metric-card .subject-pill,.parent-report-section .mock-exam-question-subject .subject-pill{flex:0 0 auto;width:fit-content;margin:0;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:12px;font-weight:750;line-height:1.2;white-space:nowrap}.parent-report-section .mock-exam-metric-rank{margin-left:auto;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}.parent-report-section .mock-exam-metric-main>strong{color:var(--ink-strong);font-size:24px;font-weight:800;letter-spacing:-.035em;line-height:1.1;white-space:nowrap}.parent-report-section .mock-exam-metric-main>strong small{margin-left:2px;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:0}.parent-report-section .mock-exam-metric-comparison{display:grid;gap:2px;min-width:0;text-align:right}.parent-report-section .mock-exam-metric-comparison span,.parent-report-section .mock-exam-metric-comparison b{overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.parent-report-section .mock-exam-metric-comparison span,.parent-report-section .mock-exam-metric-comparison b.is-equal{color:var(--muted)}.parent-report-section .mock-exam-metric-comparison b.is-positive{color:var(--success)}.parent-report-section .mock-exam-metric-comparison b.is-negative{color:var(--danger)}.parent-report-section .mock-exam-question-detail{position:relative;overflow:hidden;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}.parent-report-section .mock-exam-question-detail:before{display:none}.parent-report-section .mock-exam-question-detail summary{display:grid;align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto auto;min-height:76px;padding:17px 20px;color:var(--ink);font-size:inherit;font-weight:inherit}.parent-report-section .mock-exam-question-detail summary:hover{background:#fbfefe}.parent-report-section .mock-exam-question-detail summary:focus-visible{outline:3px solid rgba(0,203,213,.2);outline-offset:-3px}.parent-report-section .mock-exam-detail-copy{display:grid;gap:4px;min-width:0}.parent-report-section .mock-exam-detail-copy strong{color:var(--ink);font-size:20px;font-weight:750;letter-spacing:-.025em;line-height:1.35}.parent-report-section .mock-exam-detail-copy small{color:var(--muted);font-size:13px;font-weight:500;line-height:1.5}.parent-report-section .mock-exam-detail-count{padding:5px 9px;border-radius:var(--radius-pill);background:var(--surface-subtle);color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.parent-report-section .mock-exam-question-detail summary:after{min-width:54px;padding:7px 10px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface);color:var(--brand-teal-ink);font-size:12px;font-weight:700;text-align:center}.parent-report-section .mock-exam-question-domain-grid{gap:var(--space-3);margin:0;padding:0 20px 20px}.parent-report-section .mock-exam-question-group{position:relative;align-content:start;min-width:0;overflow:hidden;padding:14px 14px 14px 17px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink)}.parent-report-section .mock-exam-question-group-head{min-height:32px}.parent-report-section .mock-exam-question-group-head h3{margin:0;color:var(--ink-strong);font-size:19px;font-weight:800;letter-spacing:-.025em;line-height:1.3}.parent-report-section .mock-exam-question-group-head span{padding:5px 9px;border-radius:var(--radius-pill);background:var(--surface-subtle);color:var(--muted);font-size:12px;font-weight:700}.parent-report-section .mock-exam-question-subject{gap:var(--space-2);min-width:0}.parent-report-section .mock-exam-question-subject+.mock-exam-question-subject{padding-top:var(--space-3);border-top:1px solid var(--hairline)}.parent-report-section .mock-exam-question-subject ul{gap:6px}.parent-report-section .parent-mock-exam-report .mock-exam-question-subject li{display:grid;align-items:center;gap:var(--space-2);grid-template-columns:minmax(70px,.8fr) minmax(78px,auto) minmax(110px,1fr);min-width:0;min-height:48px;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.parent-report-section .mock-exam-question-subject li>span:first-child{overflow-wrap:anywhere;color:var(--ink-strong);font-size:14px;font-weight:750}.parent-report-section .mock-exam-question-subject li b{color:var(--ink-strong);font-size:14px;font-weight:750;text-align:right;white-space:nowrap}.parent-report-section .mock-exam-question-subject li small{overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.4;text-align:right}@media(max-width:1024px){.parent-report-section .question-score-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.parent-report-section .report-type-controls{grid-template-columns:minmax(0,1fr)}.parent-report-section .report-type-controls>label{max-width:none}.parent-report-section .report-kind-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-report-section .mock-exam-domain-grid,.parent-report-section .mock-exam-question-domain-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.parent-report-section .report-kind-switch{grid-template-columns:minmax(0,1fr)}.parent-report-section .report-kind-switch button{min-height:70px}.parent-report-section .score-trend-card,.parent-report-section .score-report-hero,.parent-report-section .parent-score-section :is(.score-card,.homework-card){padding:var(--space-4)}.parent-report-section .mock-exam-guide-card{gap:4px;grid-template-columns:minmax(0,1fr)}.parent-report-section .mock-exam-guide-card strong{white-space:normal}.parent-report-section .mock-exam-key-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-report-section .mock-exam-key-metric{min-height:112px;padding:15px 14px 15px 18px}.parent-report-section .mock-exam-key-metric:first-child{grid-column:1 / -1}.parent-report-section .mock-exam-key-metric>strong{font-size:30px}.parent-report-section .mock-exam-key-metric>small{white-space:normal}.parent-report-section .mock-exam-domain-panel{padding:16px 16px 16px 19px}.parent-report-section .mock-exam-domain-head{flex-wrap:wrap}.parent-report-section .mock-exam-domain-summary{margin-left:auto}.parent-report-section .mock-exam-domain-stats>div{min-height:64px;padding:9px 8px}.parent-report-section .mock-exam-domain-stats dt{font-size:10px}.parent-report-section .mock-exam-domain-stats dd{font-size:13px}.parent-report-section .mock-exam-domain-subjects{grid-template-columns:minmax(0,1fr)}.parent-report-section .mock-exam-question-detail summary{grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:15px 16px}.parent-report-section .mock-exam-detail-copy{grid-column:1 / -1}.parent-report-section .mock-exam-question-detail summary:after{justify-self:end}.parent-report-section .mock-exam-question-domain-grid{padding:0 16px 16px}.parent-report-section .parent-mock-exam-report .mock-exam-question-subject li{align-items:center;grid-template-columns:minmax(0,1fr) auto}.parent-report-section .mock-exam-question-subject li small{grid-column:1 / -1;text-align:left}.parent-report-section .report-detail-heading{flex-wrap:wrap}.parent-report-section .report-detail-heading-copy{flex:1 1 190px}.parent-report-section .report-detail-heading-copy p span{display:block;margin:3px 0 0}.parent-report-section .report-detail-toggle{min-height:44px;margin-left:auto}.parent-report-section .question-score-matrix{grid-template-columns:minmax(0,1fr)}.parent-report-section .question-score-item-bottom{align-items:flex-end}.parent-report-section .assignment-subject-row{grid-template-columns:minmax(72px,86px) minmax(0,1fr);padding-right:9px}.parent-report-section .assignment-status-cell{align-items:flex-start;flex-direction:column;justify-content:center;gap:4px;min-height:56px;padding-inline:8px}.parent-report-section .assignment-status-list{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-report-section .trend-row{gap:var(--space-2);grid-template-columns:60px minmax(0,1fr)}.parent-report-section .trend-row strong{grid-column:2;text-align:left}}.growth-report-section,.admission-prospect-detail{border-color:var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}.problem-bank-page,.admin-problem-bank-page{width:100%;max-width:var(--content-wide);margin-inline:auto;background:var(--canvas)}.problem-bank-page{padding:var(--space-6) var(--space-5) 72px}.problem-bank-layout{display:grid;align-items:start;grid-template-columns:minmax(0,1fr);gap:20px;max-width:1280px;margin:0 auto}.problem-bank-sidebar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.15fr) minmax(260px,1fr);gap:12px}.problem-bank-sidebar:has(>.problem-bank-upload-panel)>.problem-bank-upload-panel{grid-column:1}.problem-bank-sidebar:has(>.problem-bank-upload-panel)>.problem-bank-search-panel{grid-column:2}.problem-bank-sidebar:has(>.problem-bank-upload-panel)>.problem-bank-selection-panel{grid-column:3}.problem-bank-sidebar:not(:has(>.problem-bank-upload-panel)){grid-template-columns:minmax(300px,1.15fr) minmax(260px,1fr)}.problem-bank-sidebar:not(:has(>.problem-bank-upload-panel))>.problem-bank-search-panel{grid-column:1}.problem-bank-sidebar:not(:has(>.problem-bank-upload-panel))>.problem-bank-selection-panel{grid-column:2}.problem-bank-page .problem-bank-panel{padding:16px}.problem-export-jobs-compact,.problem-bank-results{grid-column:1 / -1}.problem-bank-page .problem-export-jobs-compact{display:grid;align-items:center;grid-template-columns:minmax(180px,auto) minmax(0,1fr);gap:8px;padding:9px 12px}.admin-problem-bank-page{padding:var(--space-6) var(--space-5) 56px}:is(.problem-bank-hero,.problem-bank-access-card,.admin-problem-bank-hero).portal-hero{max-width:1280px;margin-inline:auto;background:linear-gradient(135deg,var(--brand-navy),var(--brand-navy-light))}.problem-bank-panel,.problem-bank-results,.problem-preview-panel,.problem-metadata-editor{border-color:var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}.problem-bank-toolbar,.problem-bank-resultbar,.filter-toolbar,.search-toolbar{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-subtle);box-shadow:none}.problem-subject-presets button.active,.problem-quick-filters button.active{border-color:var(--brand-navy-light);background:var(--brand-navy-light);color:#fff}.problem-pool-quality{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-subtle)}.problem-pool-quality-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.problem-pool-quality-head>div{display:grid;gap:3px;min-width:0}.problem-pool-quality-head strong{color:var(--ink);font-size:14px}.problem-pool-quality-head span,.problem-pool-quality>p,.problem-bank-advanced-maintenance p{margin:0;color:var(--ink-muted);font-size:12px;line-height:1.55}.problem-pool-quality-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-pool-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.problem-pool-quality-grid>div{min-width:0;padding:9px 10px;border:1px solid var(--hairline);border-radius:calc(var(--radius-md) - 4px);background:var(--surface)}.problem-pool-quality-grid dt{overflow:hidden;color:var(--ink-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.problem-pool-quality-grid dd{margin:3px 0 0;color:var(--brand-navy);font-size:20px;font-weight:750;line-height:1}.problem-pool-quality-grid small{display:block;margin-top:4px;color:var(--ink-muted);font-size:10px}.problem-pool-quality-actions button{flex:1 1 130px;min-height:36px}.problem-bank-advanced-maintenance{margin-top:12px;padding-top:11px;border-top:1px solid var(--hairline)}.problem-bank-advanced-maintenance summary{cursor:pointer;color:var(--ink-muted);font-size:12px;font-weight:650}.problem-bank-advanced-maintenance[open]{display:grid;gap:9px}@media(max-width:1100px){.academy-home .academy-hero{grid-template-columns:minmax(0,1fr)}.academy-home .academy-hero-visual{justify-content:flex-start}.academy-home .academy-quick-menu{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-5)}}@media(max-width:820px){.event-landing-shell,.event-application-page,.level-test-page{padding-inline:14px}.event-landing-hero{margin-top:var(--space-5);padding:var(--space-6) var(--space-5)}.event-application-layout,.level-test-layout{gap:var(--space-3)}:is(.event-form-card,.level-test-form-card) .management-form>button[type=submit]{width:100%}.academy-home .academy-program-grid,.academy-home .academy-open-program-grid,.academy-home .academy-board-grid{grid-template-columns:minmax(0,1fr)}.academy-home .academy-hero-board-stack{max-width:620px;grid-template-columns:minmax(0,1fr)}.admin-home-category-grid,.admin-parent-management-grid,.admin-import-action-grid{grid-template-columns:minmax(0,1fr)}.academy-dialog-backdrop{align-items:flex-start;padding:var(--space-3)}.academy-detail-dialog{max-height:calc(100vh - 24px)}.academy-dialog-header,.academy-notice-dialog-body{padding:var(--space-5)}.academy-all-notice-list{padding-inline:var(--space-5)}.academy-public-calendar :is(.attendance-calendar-weekdays,.attendance-calendar-grid),.learning-calendar-panel :is(.attendance-calendar-weekdays,.attendance-calendar-grid),.admin-calendar-month-view :is(.attendance-calendar-weekdays,.attendance-calendar-grid){min-width:720px}.academy-calendar-day,.learning-calendar-day,.admin-calendar-day{min-height:116px}.calendar-date-row,.calendar-date-row.range{grid-template-columns:minmax(0,1fr)}}@media(max-width:920px){.problem-bank-sidebar{grid-template-columns:minmax(0,1fr);position:static}.problem-bank-sidebar>:is(.problem-bank-upload-panel,.problem-bank-search-panel,.problem-bank-selection-panel){grid-column:1}.problem-bank-page .problem-export-jobs-compact{align-items:stretch;grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.academy-home .academy-hero{gap:var(--space-6);min-height:auto;padding:var(--space-7) 16px var(--space-6)}.academy-home .academy-hero h1{font-size:clamp(34px,11vw,48px)}.academy-home .academy-hero p{font-size:16px}.academy-home .academy-quick-menu,.academy-home .academy-feature-section,.academy-home .academy-open-programs,.academy-home .academy-board-grid,.academy-home .academy-hot-issue{padding-inline:14px}.academy-home .academy-quick-menu{grid-template-columns:minmax(0,1fr)}.academy-home :is(.academy-quick-menu a,.academy-program-card,.academy-open-program-card,.academy-board-card):hover{transform:none}.academy-home .academy-hot-issue{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.academy-home .academy-board-title>small{display:none}.academy-home .academy-notice-button{grid-template-columns:72px minmax(0,1fr) auto;gap:var(--space-2)}.academy-home .academy-schedule-button{align-items:flex-start;grid-template-columns:minmax(0,1fr) auto;gap:5px var(--space-2)}.academy-home .academy-schedule-button time{grid-column:1}.academy-home .academy-schedule-button>div{grid-column:1}.academy-home .academy-schedule-button>span:last-child{grid-column:2;grid-row:1 / span 2}.academy-dialog-header{gap:var(--space-3);padding:var(--space-4)}.academy-notice-dialog-body{min-height:140px;padding:var(--space-4)}.academy-all-notice-list{padding:var(--space-2) var(--space-4) var(--space-4)}.academy-all-notice-list>button{align-items:flex-start;grid-template-columns:minmax(0,1fr) auto;gap:4px var(--space-2)}.academy-all-notice-list time,.academy-all-notice-list button>span{grid-column:1}.academy-all-notice-list b{grid-column:2;grid-row:1 / span 2}.academy-public-calendar{padding:var(--space-4)}.parent-dashboard-page,.teacher-page,.admin-page,.problem-bank-page,.admin-problem-bank-page{padding:var(--space-5) 14px var(--space-8)}}}@layer legacy,tokens,base,layouts,components,pages;
