*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7f8;color:#172126}a{text-decoration:none;color:inherit}.app{display:flex;min-height:100vh}.side{width:260px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;background:#102c2b;color:#eaf6f2;padding:22px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 25px}.logo{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#23a88b,#f2c94c);display:grid;place-items:center;font-weight:900;color:#fff;box-shadow:0 8px 22px #0003}.brand b{display:block;font-size:16px}.brand small{color:#9fc0bb}.nav{display:grid;gap:6px}.nav a{padding:12px 13px;border-radius:12px;color:#b9d1cd;display:flex;gap:12px;align-items:center}.nav a:hover,.nav a.active{background:#1b4845;color:#fff}.nav i{font-style:normal;width:22px;text-align:center;font-size:18px}.navlabel{font-size:10px;letter-spacing:1.4px;color:#6e9a94;margin:18px 10px 5px}.sidebottom{margin-top:auto}.user{display:flex;gap:10px;align-items:center;padding:12px 8px;border-top:1px solid #ffffff15}.avatar{width:34px;height:34px;border-radius:50%;background:#2f7168;display:grid;place-items:center}.user b{display:block;font-size:12px}.user small{color:#9fc0bb}.logout{display:block;margin-top:5px;padding:11px 12px;border-radius:11px;color:#cde0dc}.main{margin-left:260px;width:calc(100% - 260px)}.top{padding:27px 34px 18px;display:flex;justify-content:space-between;align-items:end;background:#fff;border-bottom:1px solid #e6eeee;position:sticky;top:0;z-index:5}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#6b8884;font-weight:800}.top h1{margin:4px 0 0;font-size:25px}.pill,.badge{display:inline-block;background:#eef7f4;color:#23695f;border-radius:999px;padding:7px 11px;font-size:12px}.content{padding:28px 34px 50px}.hero{background:linear-gradient(120deg,#164b47,#1d7067);color:white;border-radius:22px;padding:30px;display:flex;justify-content:space-between;overflow:hidden}.hero h2{font-size:28px;max-width:650px;margin:10px 0}.hero p{color:#cde8e3;max-width:720px}.tag{font-size:11px;letter-spacing:1.3px;background:#ffffff15;padding:7px 10px;border-radius:999px}.heroicon{font-size:90px;opacity:.18}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.stat,.panel{background:#fff;border:1px solid #e6eeee;border-radius:18px;box-shadow:0 8px 24px #173f3a08}.stat{padding:20px}.stat span{font-size:22px;color:#268c7d}.stat b{display:block;font-size:28px;margin:7px 0}.stat small{color:#70827f}.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.panel{padding:20px;margin-bottom:18px}.panelhead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.panelhead h3{margin:0;font-size:17px}.panelhead p{margin:4px 0;color:#78908d;font-size:13px}.toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar form{display:flex;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:11px;padding:10px 14px;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;gap:7px}.primary{background:#207c70;color:#fff}.dark{background:#163f3b;color:#fff}.soft{background:#eef6f4;color:#216c62}.danger{background:#fff0ef;color:#a33a31}.wide{width:100%;justify-content:center}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 9px;border-bottom:1px solid #edf2f1;text-align:left;vertical-align:top;font-size:13px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#718784;background:#fbfdfd}.muted{color:#78908d;font-size:13px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#47625e}.field input,.field select,.field textarea{font:inherit;border:1px solid #dce7e5;border-radius:10px;padding:10px 11px;background:#fff}.field textarea{min-height:80px;resize:vertical}.checkrow{display:flex;gap:10px;align-items:center}.notice{padding:13px 15px;border-radius:12px;margin-bottom:15px}.success{background:#eaf8f2;color:#17664f}.err{background:#fff0ef;color:#a33a31}.importbox{border:2px dashed #cfe1de;padding:25px;border-radius:16px;background:#fbfefd;text-align:center}.actions{display:flex;gap:6px;flex-wrap:wrap}.report{background:#fff;padding:25px;min-height:260mm;margin:18px 0;border:1px solid #ddd}.reporthead{text-align:center;border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:15px}.reporthead h1{font-size:22px;margin:0}.reporthead h2{font-size:17px;margin:12px 0 3px}.bio2{display:grid;grid-template-columns:1fr 1fr;border:1px solid #111}.bio2 div{display:grid;grid-template-columns:42% 58%;padding:5px 7px;border-bottom:1px solid #ddd;font-size:11px}.bio2 div:nth-child(odd){border-right:1px solid #ddd}.bio2 span{color:#555}.reporttable{width:100%;border-collapse:collapse;font-size:10px}.reporttable th,.reporttable td{border:1px solid #111;padding:5px}.print-actions{margin-bottom:15px}.mobile-only{display:none}@media(max-width:900px){.side{width:76px;padding:18px 10px}.brand div:last-child,.nav span,.user div:not(.avatar),.logout{display:none}.main{margin-left:76px;width:calc(100% - 76px)}.content{padding:18px}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.top{padding:18px}.formgrid{grid-template-columns:1fr}.bio2{grid-template-columns:1fr}.bio2 div:nth-child(odd){border-right:0}.heroicon{display:none}}@media print{body{background:#fff}.side,.top,.print-actions{display:none!important}.main{margin:0;width:100%}.content{padding:0}.report{border:0;margin:0;padding:12mm;page-break-after:always;min-height:0}.report:last-child{page-break-after:auto}@page{size:A4;margin:0}}

.side::-webkit-scrollbar{width:7px}.side::-webkit-scrollbar-thumb{background:#35635f;border-radius:8px}.side::-webkit-scrollbar-track{background:transparent}.side .nav{padding-bottom:18px}
.brandlogo,.loginlogo{width:46px;height:46px;object-fit:contain;border-radius:12px;background:#fff;padding:3px}.loginpage{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0d3936,#e8f2ef)}.loginbox{width:min(460px,100%);padding:30px;background:#fff;border-radius:24px;box-shadow:0 25px 70px #0b302a22}.teacher-hero{background:linear-gradient(120deg,#164b47,#247e72);color:#fff;border-radius:22px;padding:25px;margin-bottom:18px}.teacher-profile{display:flex;gap:18px;align-items:center}.teacher-photo{width:92px;height:92px;border-radius:20px;object-fit:cover;border:4px solid #ffffff66;background:#fff}.teacher-photo.placeholder{display:grid;place-items:center;font-size:34px;font-weight:900;color:#17665c}.teacher-profile h2{margin:8px 0 3px}.teacher-profile p{margin:0;color:#d4ece8}.teacher-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:18px 0}.teacher-card{background:#fff;border:1px solid #e6eeee;border-radius:18px;padding:20px;box-shadow:0 8px 24px #173f3a08}.teacher-card span{font-size:22px;color:#268c7d}.teacher-card b{display:block;font-size:28px;margin:7px 0}.teacher-card small{color:#70827f}.assignment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.assignment-card{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid #dce8e5;border-radius:16px;background:#fbfefd}.assignment-card:hover{border-color:#62a89d;box-shadow:0 8px 20px #173f3a0d}.assignment-card b{font-size:16px;color:#1c5f57}.assignment-card span,.assignment-card small{color:#70827f}.teacher-thumb{width:48px;height:60px;object-fit:cover;border-radius:8px}.preview-logo{width:90px;height:70px;object-fit:contain;border:1px solid #e2ecea;border-radius:10px;background:#fff;padding:5px}.preview-sign{width:180px;height:80px;object-fit:contain;border:1px solid #e2ecea;border-radius:10px;background:#fff}.preview-bg{width:180px;height:90px;object-fit:cover;border-radius:10px;border:1px solid #e2ecea}@media(max-width:700px){.teacher-cards{grid-template-columns:1fr}.teacher-profile{align-items:flex-start;flex-direction:column}}
.selection-card{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.selection-card>div{background:#fff;border:1px solid #dfeae8;border-radius:15px;padding:14px}.selection-card small{display:block;color:#78908d;font-size:10px;font-weight:800;letter-spacing:.8px}.selection-card b{display:block;margin-top:5px;color:#1c5f57}@media(max-width:700px){.selection-card{grid-template-columns:repeat(2,1fr)}}

/* Halaman login: logo lebih jelas dan latar lebih cerah. Tidak mengubah logo sidebar. */
.loginpage{background:linear-gradient(135deg,#e4f6f0,#f8f9e9);}
.loginbox{width:min(500px,100%);background:rgba(255,255,255,.97);box-shadow:0 24px 65px rgba(33,77,69,.15);}
.loginbox .brand{padding:0 0 23px;gap:16px;min-width:0;}
.loginbox .brand>div:last-child{min-width:0;}
.loginbox .brand b{font-size:18px;line-height:1.3;overflow-wrap:anywhere;}
.loginbox .loginlogo{width:88px;height:88px;flex:0 0 88px;object-fit:contain;padding:5px;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(20,75,67,.1);}
.loginbox .logo{width:88px;height:88px;flex:0 0 88px;font-size:28px;}
@media(max-width:480px){.loginbox{padding:24px}.loginbox .loginlogo,.loginbox .logo{width:72px;height:72px;flex-basis:72px}.loginbox .brand b{font-size:16px}}

/* Tata letak login sekolah */
.loginpage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:35px 20px 20px;min-height:100vh}
.loginbox{margin:auto 0 0;width:min(480px,100%);padding:32px 36px 35px}
.loginbox .login-brand{display:flex;flex-direction:column;align-items:center;gap:15px;padding:0 0 20px;text-align:center}
.loginbox .login-brand>div:last-child{width:100%}
.loginbox .login-brand b{font-family:Georgia,Cambria,'Times New Roman',serif;font-size:clamp(21px,3vw,27px);font-weight:700;line-height:1.25;letter-spacing:.1px;color:#163f3b;overflow-wrap:normal}
.loginbox .login-brand .loginlogo{display:block;width:min(125px,38vw);height:110px;flex:none;margin:0 auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;object-fit:contain}
.loginbox .login-brand .logo{flex:none;margin:0 auto}
.loginbox h2{text-align:center;margin:0 0 4px;font-size:22px;color:#172f2c}
.login-subtitle{text-align:center;margin:0 0 24px;color:#66817b;font-size:14px;letter-spacing:.25px}
.login-footer{margin-top:auto;max-width:100%;padding:9px 16px;text-align:center;font-size:12px;line-height:1.5;color:#173e38;background:rgba(255,255,255,.87);border-radius:999px}
@media(max-width:480px){.loginbox{padding:27px 22px}.loginbox .login-brand .loginlogo{width:min(105px,32vw);height:95px}.loginbox .login-brand b{font-size:clamp(20px,6vw,24px)}.login-footer{border-radius:14px}}

/* Cetak rapor A4 mengikuti contoh sekolah; setiap lembar memuat identitas siswa. */
.report-document{background:#edf2f2;color:#111;font-family:Arial,Helvetica,sans-serif}
.report-document .print-actions{width:190mm;margin:16px auto 0;text-align:right}
.report-sheet{position:relative;width:210mm;min-height:297mm;margin:12px auto;padding:14mm 15mm 16mm;background:#fff;color:#111;box-shadow:0 8px 35px #163b3422;break-after:page;page-break-after:always;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.34}
.report-sheet:last-of-type{break-after:auto;page-break-after:auto}
.report-identity{border-bottom:2px solid #151515;padding-bottom:8px;margin-bottom:14px}
.identity-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:7mm}
.identity-line{display:grid;grid-template-columns:148px minmax(0,1fr);gap:4px;margin:2px 0;align-items:start}
.identity-group:last-child .identity-line{grid-template-columns:118px minmax(0,1fr)}
.identity-line span{white-space:nowrap}
.identity-line span{font-weight:400}.identity-line b{font-weight:400;overflow-wrap:anywhere}
.report-title{text-align:center;font-size:17px;margin:15px 0 10px;font-weight:800}
.report-sheet .reporttable{width:100%;border-collapse:collapse;table-layout:fixed;font-family:Arial,Helvetica,sans-serif;font-size:14px}
.report-sheet .reporttable th,.report-sheet .reporttable td{border:1px solid #111;padding:6px 5px;vertical-align:middle;line-height:1.3;overflow-wrap:anywhere}
.report-sheet .reporttable th{text-align:center;color:#111;background:#fff;font-size:11px;font-weight:800;letter-spacing:0;text-transform:none}
.school-report-table .col-no{width:5%}.school-report-table .col-subject{width:29%}.school-report-table .col-grade{width:8%}
.school-report-table td:last-child{text-align:justify}.align-center{text-align:center!important}
.report-sheet .extras-table,.report-sheet .absence-table{margin-top:14px}
.report-sheet .extras-table th,.report-sheet .absence-table th{background:#2c625e;color:#fff}
.report-sheet .extras-table th:first-child{width:5%}.report-sheet .extras-table th:nth-child(2){width:30%}.report-sheet .extras-table th:nth-child(3){width:13%}
.report-sheet .absence-table th:first-child{width:50%}
.report-section-label{font-weight:700;margin:16px 0 5px}
.report-writing-box{border:1px solid #111;min-height:74px;padding:7px;white-space:normal}
.report-writing-box.parent-response{min-height:74px}
.report-signatures{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;text-align:center;margin-top:20px;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.3}
.report-signatures>div{min-width:0}.report-signatures .signature-space{height:62px;display:flex;justify-content:center;align-items:center}
.report-signatures img{max-width:205px;max-height:95px;object-fit:contain}
.report-signatures b,.report-signatures small{display:block;overflow-wrap:anywhere}.report-signatures b{text-decoration:underline}.signature-line{border-bottom:1px dotted #111;width:65%;margin:auto}
.report-footer{position:absolute;bottom:9mm;left:15mm;right:15mm;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;border-top:1px solid #111;padding-top:5px;font-size:7.5px;font-style:italic}
.report-footer strong{text-align:center}.report-footer span:last-child{text-align:right}
@media print{
 @page{size:A4 portrait;margin:0}
 html,body.report-document{margin:0;padding:0;background:#fff}
 .report-document .print-actions{display:none!important}
 .report-sheet{box-sizing:border-box;width:210mm;height:297mm;min-height:0;margin:0;padding:14mm 15mm 16mm;box-shadow:none;overflow:hidden;break-inside:avoid;page-break-inside:avoid;break-after:page;page-break-after:always}
 .report-sheet.biodata-sheet{padding:12mm 14mm 16mm}
 .report-sheet:last-of-type{break-after:auto;page-break-after:auto}
 .report-sheet .reporttable tr{break-inside:avoid;page-break-inside:avoid}
 .report-sheet .extras-table th,.report-sheet .absence-table th{background:#2c625e!important;color:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
@media screen and (max-width:800px){.report-document{overflow:auto}.report-sheet{margin:12px}}
.report-sheet .coco-table{margin-top:14px}
.report-sheet .coco-table th{background:#2c625e;color:#fff}
.report-sheet .coco-table th:first-child{width:25%}.report-sheet .coco-table th:nth-child(2){width:18%}
@media print{.report-sheet .coco-table th{background:#2c625e!important;color:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* Orang tua dan wali kelas sejajar; pengesahan kepala sekolah di tengah bawah. */
.report-signatures{grid-template-columns:1fr 1fr;column-gap:22mm;row-gap:5px;margin-top:14px;font-size:13px}
.report-signatures .signature-parent{grid-column:1;grid-row:1}
.report-signatures .signature-teacher{grid-column:2;grid-row:1}
.report-signatures .signature-principal{grid-column:1/-1;grid-row:2;width:45%;justify-self:center}
.report-signatures .signature-space{height:88px}
.report-signatures .signature-principal .signature-space{height:98px}
.report-sheet .biodata-table{margin-top:12px;font-size:9px}
.report-sheet .biodata-table th{width:38%;text-align:left;background:#fff}
.report-sheet .biodata-table td{width:62%}
/* Biodata mengikuti susunan daftar pada contoh sekolah. */
.biodata-title{margin:10px 0 16px;font-size:20px}
.biodata-list{width:98%;margin:0 auto;font-size:16px;line-height:1.3}
.biodata-line{display:grid;grid-template-columns:30px 190px minmax(0,1fr);gap:6px;margin:3px 0;break-inside:avoid;page-break-inside:avoid}
.biodata-number{text-align:right}.biodata-label{font-weight:500}.biodata-value{overflow-wrap:anywhere}
.biodata-subline{margin-left:15px;grid-template-columns:15px 190px minmax(0,1fr)}
.biodata-bottom{display:flex;align-items:flex-start;gap:24mm;width:90%;margin:16px auto 0;font-size:13px;line-height:1.35}
.student-photo{width:30mm;height:40mm;border:1px solid #111;display:flex;align-items:center;justify-content:center;text-align:center;flex:none}
.student-photo img{width:100%;height:100%;object-fit:cover}
.biodata-principal{min-width:0;max-width:250px}
.biodata-signature{height:94px;display:flex;align-items:center}
.biodata-signature img{max-width:180px;max-height:90px;object-fit:contain}
.biodata-principal b,.biodata-principal small{display:block}.biodata-principal b{text-decoration:underline}
.report-sheet .middle-table th:nth-child(1){width:8%}
.report-sheet .middle-table th:nth-child(2){width:58%}
.report-sheet .middle-table th:nth-child(3),.report-sheet .middle-table th:nth-child(4){width:17%}
.middle-heading{margin-bottom:12px}
.middle-school{display:grid;grid-template-columns:32mm minmax(0,1fr);align-items:center;gap:3mm;border-bottom:4px solid #222;padding-bottom:8px;text-align:center;font-family:Arial,Helvetica,sans-serif}
.middle-rule{height:1px;background:#222;margin-top:3px}
.middle-school img{width:32mm;height:32mm;object-fit:contain}
.middle-school-text{min-width:0}.middle-school strong{display:block;font-size:15px;line-height:1.2;font-weight:800}.middle-school h1{font-size:27px;line-height:1.12;font-weight:900;margin:4px 0;text-transform:uppercase}.middle-school .middle-accreditation{font-size:17px;font-weight:900}.middle-school em{display:block;font-size:12px;line-height:1.25;margin-top:4px}
.report-sheet .middle-table thead th{background:#33696a;color:#fff;font-size:11px;font-weight:800;padding:8px 6px;border-color:#152f30}
@media print{.report-sheet .middle-table thead th{background:#33696a!important;color:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.middle-identity{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:7mm;padding:12px 3px 2px;font-size:13px}
.middle-identity>div{display:grid;grid-template-columns:148px minmax(0,1fr);row-gap:4px}.middle-identity>div:last-child{grid-template-columns:118px minmax(0,1fr)}.middle-identity span{white-space:nowrap}.middle-identity b{font-weight:400}
.tp-student{border:1px solid #dce7e5;border-radius:12px;margin:10px 0;background:#fff}.tp-student>summary{padding:14px 16px;font-weight:700;cursor:pointer}.tp-student[open]>summary{border-bottom:1px solid #e6eeee}.tp-student-body{padding:16px}.tp-student-body .tp-columns{margin-bottom:15px}.tp-description-label{display:block;font-weight:700;margin:10px 0 6px}.tp-student-body textarea{display:block;width:100%;min-height:90px;padding:10px;border:1px solid #dce7e5;border-radius:10px;font:inherit;resize:vertical;margin-bottom:12px}
.leger-table{border-collapse:collapse;min-width:100%;font-size:11px}.leger-table th,.leger-table td{border:1px solid #777;padding:5px;text-align:center}.leger-table td:nth-child(3),.leger-table th:nth-child(3){text-align:left;min-width:130px}
@media print{body:has(.leger-view) .content>section:not(.leger-view){display:none}body:has(.leger-view) .leger-view{box-shadow:none;padding:4mm;overflow:visible}body:has(.leger-view) .leger-view>div{overflow:visible!important}body:has(.leger-view) .leger-table{font-size:8px}body:has(.leger-view) .leger-table th,body:has(.leger-view) .leger-table td{padding:3px}}
/* Ikon garis seragam dan kartu sambutan dashboard. */
.nav .nav-icon{width:20px;height:20px;flex:0 0 20px;display:block;transition:transform .2s ease}
.nav a:hover .nav-icon,.nav a.active .nav-icon{transform:translateY(-1px)}
.stat .stat-icon,.teacher-card .stat-icon{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:13px;background:#e5f3ee;color:#18776b}
.stat .stat-icon .nav-icon,.teacher-card .stat-icon .nav-icon{width:23px;height:23px}
.hero{background:linear-gradient(120deg,#113d3a 0%,#17635d 52%,#2d9e87 100%);min-height:220px;align-items:center}
.hero>div:first-child{position:relative;z-index:1}
.hero h2{font-size:clamp(25px,3vw,36px);max-width:none;line-height:1.2}
.hero p{max-width:720px}
.teacher-hero{background:linear-gradient(120deg,#163e3c 0%,#23796c 58%,#54af93 100%);padding:30px}
.teacher-welcome{display:block;margin-top:16px;font-size:14px;font-weight:600;letter-spacing:.3px;color:#e3fbf0}
.teacher-profile h2{font-size:clamp(22px,2.5vw,29px);margin:4px 0 7px}
.extra-grade-table{width:100%;border-collapse:collapse}.extra-grade-table th{background:#23856f;color:#fff;text-align:left}.extra-grade-table th,.extra-grade-table td{border:1px solid #c4e5de;padding:9px 11px}.extra-grade-table tbody tr:nth-child(odd){background:#e7f9fa}.extra-grade-table tbody tr:nth-child(even){background:#eef9e8}.extra-grade-table select{min-width:125px}.extra-grade-table input{width:100%}

/* Tabel nilai ekstrakurikuler: nama siswa tetap satu baris. */
.extra-grade-table{table-layout:fixed;min-width:840px}.extra-grade-table th:nth-child(1){width:7%}.extra-grade-table th:nth-child(2){width:12%}.extra-grade-table th:nth-child(3){width:39%}.extra-grade-table th:nth-child(4){width:10%}.extra-grade-table th:nth-child(5){width:32%}.extra-grade-table th:nth-child(3),.extra-grade-table td:nth-child(3){white-space:nowrap}.extra-grade-table select{min-width:0;width:100%}.extra-grade-table input{min-width:0;width:100%}.extra-import-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 8px}.extra-import-tools form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.extra-save-actions{text-align:right;margin-top:16px}

.leger-table .leger-averages th{background:#e7f4ee;font-weight:700;border-top:2px solid #397b60;white-space:nowrap}
