/* Unified academy navigation and middle-school module */
.sidebar .nav-divider{height:1px;background:#ffffff25;margin:13px 12px}.sidebar .nav-section{padding:7px 14px 3px;font-size:10px;color:#8597b6;font-weight:850;letter-spacing:1.5px}.sidebar .nav.disabled{opacity:.45;cursor:default;pointer-events:none}.main-content{max-width:1740px}.integrated-hero{background:linear-gradient(114deg,#162744 15%,#29436c 87%);color:white;border-radius:17px;padding:33px 37px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;margin-bottom:21px;min-height:175px}.integrated-hero-title>span{font-size:11px;color:#f5d67c;letter-spacing:1.8px;font-weight:900}.integrated-hero h2{font-size:25px;margin:9px 0 7px}.integrated-hero p{color:#cbd6e6;margin:0}.integrated-hero-decoration{font-size:116px;font-weight:900;line-height:1;color:#ffffff10;position:absolute;right:8%;top:8px}.integrated-hero-decoration span{font-size:22px;color:#e6be55}.integrated-stats{margin-bottom:20px}.integrated-stats .stat .number small{font-size:15px;font-weight:600;margin-left:6px;color:#8090a4}.integrated-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.integrated-home-card{padding:26px;min-height:365px;display:flex;flex-direction:column}.integrated-home-card .section-row{align-items:flex-start}.integrated-home-card h2{margin:5px 0 4px;font-size:19px}.integrated-home-card p{font-size:12px}.mid-kicker{font-weight:850;letter-spacing:1px;color:#bb9135;font-size:11px}.mid-home-icon{font-size:24px;width:48px;height:48px;display:grid;place-items:center;background:#f1f4f9;border-radius:12px;color:#24416a}.mid-class-list,.mid-exam-list{flex:1}.mid-class-list>button,.mid-exam-list>button{width:100%;display:flex;gap:12px;align-items:center;border:0;border-bottom:1px solid #edf0f4;background:white;text-align:left;padding:13px 5px}.mid-class-list>button:hover,.mid-exam-list>button:hover{background:#f8faff}.mid-class-list>button>span,.mid-exam-list>button b{font-weight:800;color:#273751}.mid-class-list>button small{margin-left:auto;font-size:11px;color:#78879d}.mid-class-list>button b{color:#94a1b5}.mid-exam-list>button span{display:flex;flex-direction:column;gap:2px}.mid-exam-list>button small{font-size:11px;color:#8291a4}.mid-exam-list>button em{font-size:11px;font-style:normal;color:#546f99;margin-left:auto}.mid-home-main{margin-top:19px}.integrated-coming{margin-top:18px;border:1px dashed #cbd5e1;border-radius:13px;padding:18px 22px;display:flex;align-items:center;gap:16px;background:#fbfcfe}.integrated-coming>span:first-child{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#8798af}.integrated-coming>strong{white-space:nowrap}.integrated-coming p{color:#8591a3;margin:0;flex:1;font-size:12px}
.mid-toolbar{padding:17px 20px;margin-bottom:20px;display:flex;align-items:end;gap:16px;flex-wrap:wrap}.mid-toolbar>.form-field{min-width:180px}.mid-toolbar-context{display:flex;align-items:center;gap:10px;margin-left:auto;color:#7e8aa0;font-size:12px;padding-bottom:8px}.mid-toolbar-context b{color:#1e3355}.mid-chip{padding:4px 8px;background:#e9f1fb;border-radius:6px;font-weight:800;color:#4067a3}.mid-main-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(340px,.95fr);gap:18px;align-items:start}.mid-tabs{display:flex;gap:0;margin-bottom:14px}.mid-tabs button{border:1px solid #dbe3ed;padding:12px 20px;background:white;color:#667690;font-weight:800}.mid-tabs button:first-child{border-radius:10px 0 0 10px}.mid-tabs button:last-child{border-radius:0 10px 10px 0}.mid-tabs button.selected{background:#172a4c;border-color:#172a4c;color:white}.mid-card-pad{padding:24px}.mid-heading{margin-bottom:18px}.mid-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.mid-row h2,.mid-month-top h2{font-size:18px;margin:0 0 3px}.mid-row p,.mid-month-top p{color:#8a96a8;font-size:12px;margin:0}.mid-date-field{min-width:173px}.mid-daystrip{display:flex;gap:6px;overflow-x:auto;margin-bottom:17px;padding-bottom:5px}.mid-daychip{white-space:nowrap;border:1px solid #dce4ed;background:#fff;color:#677892;font-weight:750;border-radius:7px;padding:7px 9px;font-size:11px}.mid-daychip.chosen{background:#ffefbd;color:#715515;border-color:#eac46b}.mid-session-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #edf0f5}.mid-session-header>div:first-child{display:flex;gap:7px;align-items:center}.mid-session-header strong{font-size:14px}.mid-session-settings{background:#f7f9fc;border:1px solid #e8edf3;border-radius:12px;padding:15px;margin-bottom:12px}.mid-session-settings .mid-row small{color:#8191a7;font-size:11px}.mid-test-switches{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 0}.mid-switch{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:750;background:white;border:1px solid #e0e6ef;border-radius:8px;padding:10px 5px;cursor:pointer;white-space:nowrap}.mid-switch:has(input:checked){background:#fff5d9;border-color:#efd47a;color:#7a5a1d}.mid-switch input{accent-color:#dcab2c}.mid-topics{display:flex;gap:10px;margin-top:12px}.mid-topics>.form-field{flex:1}.mid-topics input{min-height:38px}.mid-bulk-actions{display:flex;gap:7px;align-items:center;margin:15px 0 10px;flex-wrap:wrap}.mid-bulk-actions span{font-size:11px;font-weight:800;color:#a0aab9;margin-right:4px}.mid-bulk-actions .btn{min-height:30px}.mid-roster-table{border-radius:9px}.mid-roster-table table{min-width:740px}.mid-roster-table th{font-size:11px;text-align:center;padding:12px 7px}.mid-roster-table th:first-child{text-align:left}.mid-roster-table th small{display:block;color:#b18a36;font-size:9px;margin-top:4px}.mid-roster-table th.dim-col{color:#b8c0cd}.mid-roster-table td{padding:11px 7px;text-align:center}.mid-roster-table td:first-child{text-align:left;padding-left:12px}.mid-link{border:0;background:transparent;text-align:left;padding:2px;color:#253a5c}.mid-link:hover{text-decoration:underline;color:#3977bf}.mid-link small{display:block;color:#9ca9ba;font-size:10px}.mid-cell-select{width:100%;min-width:86px;border:1px solid #dce3ec;background:#fff;border-radius:7px;padding:7px 5px;color:#8290a4;font-size:11px}.mid-cell-select.mid-ok{color:#19805d;background:#eaf8ef;border-color:#d2efdc;font-weight:800}.mid-cell-select.mid-no{color:#b34b56;background:#fff0f0;border-color:#f6d8d8;font-weight:800}.mid-na{color:#a6b2c1;font-size:11px}.mid-roster-help{margin:13px 0 0}.mid-empty-session{text-align:center;background:#fafbfd;border:1px dashed #dce4ef;border-radius:12px;padding:45px 16px}.mid-empty-ico{font-size:33px;color:#6483ae}.mid-empty-session h3{margin:7px 0}.mid-empty-session p{font-size:12px;color:#8290a4}.mid-empty-session .btn{margin-top:10px}.mid-month-top{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}.mid-month-top>.form-field{min-width:190px}.mid-month-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:25px}.mid-month-kpis>div{background:#f6f8fb;border:1px solid #e7edf3;border-radius:10px;padding:13px 10px}.mid-month-kpis small{font-size:10px;color:#76869b;display:block}.mid-month-kpis strong{display:block;font-size:23px;margin-top:5px;color:#203758;white-space:nowrap}.mid-month-kpis strong small{display:inline;font-size:12px;font-weight:500}.mid-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mid-section-head h3{margin:0;font-size:14px}.mid-section-head span{font-size:11px}.mid-history table{min-width:640px}.mid-history th,.mid-history td{padding:9px 11px;font-size:11px}.mid-history .tag{font-size:10px}.mid-subtopic{display:block;margin-top:3px;color:#8d9cb0;font-size:10px}.mid-empty-row{text-align:center;padding:28px}.mid-comment-editor{display:flex;flex-direction:column;gap:12px}.mid-comment-editor textarea{resize:vertical}.mid-comment-cta,.mid-inline-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mid-comment-cta span,.mid-inline-actions span{font-size:11px;color:#8291a4}.mid-week-picks{display:flex;gap:8px}.mid-week-picks label{position:relative;cursor:pointer}.mid-week-picks input{position:absolute;opacity:0}.mid-week-picks span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#eff2f6;color:#70819a;font-weight:800}.mid-week-picks input:checked+span{background:#243e67;color:white}.mid-student-filter{display:flex;gap:7px;margin-bottom:17px}.mid-student-filter button{padding:8px 14px;background:#f5f7fa;border:1px solid #e3e9ef;border-radius:7px;font-size:12px;color:#64758a}.mid-student-filter button.chosen{background:#23385b;color:white}
.mid-report-sticky{position:sticky;top:20px}.mid-report-wrapper{background:#fff;border:1px solid #dfe6ef;border-radius:15px;padding:16px;box-shadow:0 4px 22px #20335409}.mid-side-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.mid-side-head h3{margin:0;font-size:14px}.mid-side-head p{font-size:11px;color:#95a0b0;margin:2px 0}.mid-report-paper{background:white;border:1px solid #dce3ed;border-radius:11px;overflow:hidden;box-shadow:0 9px 28px #15273a10}.mid-report-header{background:#192c4d;color:white;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:9px}.mid-report-logo{display:flex;gap:9px;align-items:center}.mid-report-logo img{height:35px;width:35px;object-fit:contain;background:transparent;border-radius:0;padding:0}.mid-report-logo b{font-size:11px;letter-spacing:.5px;display:block}.mid-report-logo small{font-size:7px;letter-spacing:1.2px;display:block;color:#c2d2e6}.mid-report-header>span{font-size:10px;color:#ffdc77;white-space:nowrap}.mid-report-intro{padding:17px 18px 15px}.mid-report-intro>small{color:#c49c34;font-weight:900;letter-spacing:1px;font-size:9px}.mid-report-intro h2{font-size:19px;margin:3px 0 6px}.mid-report-intro div{font-size:10px;color:#8190a2}.mid-report-intro div span{margin:0 3px;color:#d0d7e1}.mid-report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 17px 18px}.mid-report-summary>div{background:#f4f7fb;border-radius:9px;padding:12px 9px}.mid-report-summary>div:first-child{background:#fff4d4}.mid-report-summary small{display:block;font-size:9px;color:#7b8a9f}.mid-report-summary b{font-size:22px;color:#192c4d}.mid-report-summary em{font-size:10px;color:#7c8ba0;font-style:normal;font-weight:600}.mid-report-section{padding:18px;border-top:1px solid #e4ebf2}.mid-report-section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}.mid-report-section-title b{font-size:13px}.mid-report-section-title span{font-size:9px;color:#8191a5}.mid-dot-person,.mid-dot-avg{width:8px;height:8px;display:inline-block;border-radius:2px;background:#4271b0;margin-right:3px}.mid-dot-avg{background:#bdc9d6;margin-left:7px}.mid-report-row{margin:12px 0}.mid-report-row-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.mid-report-row-title strong{font-size:11px}.mid-report-row-title span{font-size:12px;font-weight:850;color:#294a78}.mid-report-row-title small{font-size:9px;color:#8695a9;font-weight:500}.mid-bar-line{height:7px;background:#edf1f5;border-radius:8px;overflow:hidden}.mid-bar{height:100%;display:block;border-radius:8px}.mid-bar.own{background:#4978b7}.mid-bar.average{background:#b9c6d6}.mid-bar-caption{font-size:9px;color:#8b9bad;margin:4px 0 3px}.mid-bar-line.classavg{height:4px}.mid-report-comment{margin:0 17px 16px;padding:15px;background:#fff8e6;border:1px solid #faedc9;border-radius:9px}.mid-report-comment div{font-size:11px;font-weight:850;color:#263a59}.mid-report-comment p{margin:8px 0 0;color:#41516a;font-size:11px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.mid-report-footer{border-top:1px solid #ecf0f4;padding:10px 17px;display:flex;justify-content:space-between;gap:7px;font-size:8px;letter-spacing:.5px;color:#8c9aab}.mid-export-buttons{display:flex;gap:8px;margin-top:15px}.mid-export-buttons .btn{flex:1;font-size:12px}.mid-report-wrapper>.helper{font-size:10px;margin:12px 2px 0}.mid-side-empty{padding:30px;color:#8290a3}.mid-report-paper{font-family:Inter,'Pretendard','Noto Sans KR','Apple SD Gothic Neo',system-ui,sans-serif}
@media(max-width:1400px){.main-content{padding:28px 22px}.mid-main-grid{grid-template-columns:minmax(0,1.5fr) minmax(315px,.9fr)}.mid-card-pad{padding:18px}.mid-test-switches{grid-template-columns:repeat(2,1fr)}.mid-month-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1020px){.mid-main-grid{grid-template-columns:1fr}.mid-report-sticky{position:static}.mid-report-wrapper{max-width:650px;margin:0 auto}.integrated-home-grid{grid-template-columns:1fr}}
@media(max-width:650px){.mid-toolbar{padding:14px}.mid-toolbar>.form-field{width:100%}.mid-toolbar-context{margin:0}.mid-card-pad{padding:15px}.mid-month-top{display:block}.mid-month-top>.form-field{margin-top:12px}.mid-test-switches{grid-template-columns:1fr 1fr}.mid-session-header{flex-wrap:wrap}.integrated-coming{flex-wrap:wrap}.integrated-stats{grid-template-columns:1fr!important}.integrated-hero{padding:25px}.integrated-hero h2{font-size:21px}.mid-row{align-items:start}.mid-date-field{min-width:135px}}

/* v0.7 student list navigation: compact, searchable, mobile friendly */
.student-roster-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:15px 0 18px;margin-bottom:5px;border-bottom:1px solid #e8edf5}.student-search-wrap{display:flex;flex-direction:column;gap:7px;min-width:min(340px,100%);flex:1}.student-search-wrap span{font-size:12px;font-weight:750;color:#536987}.student-search-wrap input{min-height:43px;width:100%;border:1px solid #d8e1ec;border-radius:10px;background:#fff;padding:10px 13px;font:inherit;font-size:13px;color:#1a2a43}.student-search-wrap input:focus{outline:2px solid #9cbbea;outline-offset:1px}.student-roster-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.student-roster-actions small{font-size:12px;color:#75849b}.student-roster-disclaimer{margin:13px 0 0}@media(max-width:760px){.student-roster-toolbar{align-items:stretch}.student-roster-actions{justify-content:space-between}.student-search-wrap{min-width:100%}}
