:root{--navy:#072e63;--blue:#1769e8;--gold:#f7bd26;--ink:#10233e;--muted:#66758c;--line:#dfe7f2;--bg:#f3f7fc;--white:#fff;--ppki:#7c3aed}.attendance-review-picker{display:block;margin:16px 0 10px;max-width:520px;font-weight:800}.attendance-review-picker select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.attendance-review-grid.single{grid-template-columns:minmax(0,520px)}.attendance-review-empty{margin-top:12px}.school-week-settings{margin-top:18px;padding:16px;border:1px solid #b9d8ef;border-radius:16px;background:linear-gradient(135deg,#f7fbff,#eef7ff)}.school-week-settings>div:first-child{display:flex;flex-direction:column;gap:3px;margin-bottom:12px;color:#12345b}.school-week-settings>div:first-child small{color:var(--muted)}.school-week-settings .admin-system-grid{margin-top:0}.school-week-preview{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff;color:#0a5b45}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Aptos,Inter,Segoe UI Variable,Segoe UI,ui-sans-serif,system-ui,-apple-system,sans-serif}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,rgba(247,189,38,.24),transparent 28%),linear-gradient(145deg,#062752,#0c4d9f 62%,#1572d6)}.login-card{width:min(430px,100%);padding:38px;border-radius:28px;background:rgba(255,255,255,.97);box-shadow:0 28px 80px rgba(0,18,52,.35);text-align:center}.crest{width:70px;height:70px;margin:auto;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff;font-weight:900;font-size:24px;box-shadow:inset 0 -4px 0 var(--gold)}h1,h2,p{margin-top:0}.eyebrow{margin:18px 0 6px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.16em}.login-card h1{margin-bottom:5px;font-size:35px}.subtitle{color:var(--muted)}form{grid-gap:15px;gap:15px;margin:28px 0 18px;text-align:left}form,label{display:grid}label{grid-gap:7px;gap:7px;font-size:12px;font-weight:800}input{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;font:inherit;outline:none}input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,105,232,.12)}button{border:0;border-radius:12px;padding:14px 18px;background:var(--blue);color:#fff;font-weight:850;cursor:pointer}button:disabled{opacity:.55}.text-button{padding:6px;background:transparent;color:var(--blue);text-align:center}.notice{padding:12px 14px;border-radius:12px;background:#fff6d8;color:#715000;font-size:13px}.login-card small{color:var(--muted)}.app-shell{max-width:1180px;margin:auto;padding:28px}.app-shell>header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 28px;border-radius:22px;background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff;box-shadow:0 15px 38px rgba(7,46,99,.18)}header .eyebrow{margin:0 0 7px;color:#ffe48e}header h1{margin-bottom:5px}.ghost{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3)}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:18px 0}.panel,.stats article{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.stats span,.stats strong{display:block}.stats span{color:var(--muted);font-size:12px;font-weight:750}.stats strong{margin-top:9px;font-size:20px}.stats .ppki-stat{border-color:#ddd0ff;background:#faf7ff}.stats .ppki-stat strong{color:var(--ppki)}.access-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-2px 0 18px}.access-strip b,.access-strip span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px}.access-strip b{margin-left:auto;background:#eaf2ff;color:var(--blue);border-color:#d7e5ff}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.panel-head p{color:var(--muted);font-size:13px}.panel-head span{padding:8px 12px;border-radius:999px;background:#eaf2ff;color:var(--blue);font-size:12px;font-weight:850}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:18px}.class-grid article{display:grid;grid-gap:7px;gap:7px;padding:16px;border-radius:14px;background:#f7faff;border:1px solid #e4ebf5}.class-grid article.ppki-class{background:#faf7ff;border-color:#ddd0ff}.class-grid small{color:var(--muted)}.class-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.class-title em{padding:4px 7px;border-radius:999px;background:#eaf2ff;color:var(--blue);font-size:10px;font-style:normal;font-weight:900}.ppki-class .class-title em{background:#ede5ff;color:var(--ppki)}.empty{grid-column:1/-1;padding:30px;text-align:center;color:var(--muted)}.module-nav{gap:8px;margin:18px 0}.module-nav button{background:#fff;color:var(--muted);border:1px solid var(--line)}.module-nav button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.attendance-panel{padding:24px}.attendance-controls{display:grid;grid-template-columns:190px 1fr 1fr 1.5fr;grid-gap:14px;gap:14px}.attendance-controls select{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.attendance-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:20px 0 12px;padding:18px;border-radius:16px;background:#f7faff;border:1px solid var(--line)}.attendance-summary b,.attendance-summary small{display:block}.attendance-summary small{margin-top:5px;color:var(--muted)}.summary-pills{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.summary-pills span{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:850}.summary-pills .hadir{background:#dff8ea;color:#087443}.summary-pills .lewat{background:#fff2c7;color:#855d00}.summary-pills .tidak{background:#ffe4e4;color:#a61b1b}.summary-pills .ponteng{background:#eee8ff;color:#6036b5}.bulk-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:10px 0 16px}.bulk-actions span{color:var(--muted);font-size:12px;font-weight:800}.status-btn{padding:7px 10px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:11px}.bulk-actions .status-btn:hover,.status-btn.selected{color:#fff}.bulk-actions .hadir:hover,.status-btn.hadir.selected{background:#0ba968;border-color:#0ba968}.bulk-actions .tidak_hadir:hover,.status-btn.tidak_hadir.selected{background:#e5484d;border-color:#e5484d}.bulk-actions .lewat:hover,.status-btn.lewat.selected{background:#d69b00;border-color:#d69b00}.bulk-actions .ponteng:hover,.status-btn.ponteng.selected{background:#7c3aed;border-color:#7c3aed}.student-list{display:grid;grid-gap:8px;gap:8px}.student-list article{display:grid;grid-template-columns:34px minmax(200px,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.student-number{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#eaf2ff;color:var(--blue);font-size:11px;font-weight:900}.student-list b{font-size:13px}.student-statuses{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.save-attendance{display:block;width:min(320px,100%);margin:22px auto 0;background:#0b9c61;font-size:15px}.ceria-panel{padding:24px}.ceria-controls{display:grid;grid-template-columns:160px 1fr 1fr 1.4fr 1.2fr;grid-gap:12px;gap:12px}.ceria-controls select,.ceria-notes textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.rubric-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:20px 0 14px;padding:18px;border-radius:16px;background:#eaf2ff;border:1px solid #d6e5ff}.rubric-banner b,.rubric-banner small{display:block}.rubric-banner small{margin-top:5px;color:var(--muted)}.rubric-banner strong{font-size:27px;color:var(--blue)}.merdeka .rubric-banner{background:linear-gradient(120deg,#fff8d8,#e9f2ff);border-color:#f0d16b}.merdeka .rubric-banner strong{color:#b21f35}.rubric-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px}.rubric-grid article{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.rubric-title{min-height:72px}.rubric-title b,.rubric-title span{display:block}.rubric-title b{font-size:12px}.rubric-title span{margin-top:7px;color:var(--blue);font-size:10px;font-weight:850}.scale-buttons{display:flex;gap:4px;margin:10px 0}.scale-buttons button{flex:1 1;padding:9px 3px;border-radius:8px;color:#17314d;opacity:.72}.scale-buttons .scale-1{background:#f27c83}.scale-buttons .scale-2{background:#f5a36b}.scale-buttons .scale-3{background:#f4d35e}.scale-buttons .scale-4{background:#78d7a0}.scale-buttons .scale-5{background:#13a06e;color:#fff}.scale-buttons button.selected{outline:3px solid #082f63;outline-offset:2px;opacity:1;font-weight:900}.rubric-score-label{display:block;color:#07865a;font-size:.76rem}.rubric-description{display:block;min-height:58px;margin-top:7px;color:#53687c!important;font-size:.7rem;line-height:1.35;font-weight:500!important}.ceria-notes{margin-top:16px}.ceria-notes textarea{min-height:90px;resize:vertical}.save-ceria{display:block;width:min(360px,100%);margin:20px auto 0;background:#07865a;font-size:15px}.daily-fill-panel{margin-bottom:16px}.daily-fill-panel .panel-head label{display:grid;grid-gap:5px;gap:5px;min-width:170px}.daily-fill-panel input{padding:10px}.daily-fill-summary{display:flex;gap:10px;margin:12px 0}.daily-fill-summary b,.daily-fill-summary span{padding:8px 11px;border-radius:999px}.daily-fill-summary b{background:#dff6e9;color:#08784f}.daily-fill-summary span{background:#fff0dc;color:#a75408}.daily-fill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));grid-gap:8px;gap:8px;max-height:330px;overflow:auto}.daily-fill-grid article{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-left:4px solid;border-radius:9px}.daily-fill-grid article div{display:grid;grid-gap:2px;gap:2px}.daily-fill-grid small{color:var(--muted);font-size:.72rem}.daily-fill-grid span{font-size:.76rem;font-weight:900}.daily-fill-grid .filled{border-left-color:#0aa66c;background:#f3fff8}.daily-fill-grid .filled span{color:#08784f}.daily-fill-grid .missing{border-left-color:#f0a000;background:#fffaf0}.daily-fill-grid .missing span{color:#b15b06}.attendance-mode-tabs{display:flex;gap:8px;margin:14px 0}.attendance-mode-tabs button{flex:1 1;max-width:280px;background:#e8eff7;color:#214566}.attendance-mode-tabs button.active{background:#0b5da5;color:#fff}.quick-attendance{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:14px 0;padding:16px;border:1px solid #c9daed;border-radius:12px;background:#f7faff}.quick-attendance label{display:grid;grid-gap:6px;gap:6px}.quick-attendance input{padding:13px;font-size:1.15rem;font-weight:850}.late-time{display:flex!important;align-items:center;gap:5px;font-size:.72rem}.late-time input{width:105px;padding:6px}.attendance-camera{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding:14px;border:1px dashed #8eb4dd;border-radius:12px;background:#f5f9ff}.camera-button{padding:10px 13px;border-radius:8px;background:#155fa0;color:#fff;font-weight:850;cursor:pointer}.camera-button input{display:none}.attendance-camera img{width:86px;height:64px;object-fit:cover;border-radius:7px}.attendance-camera span{color:#07865a;font-weight:850}.attendance-camera small{flex-basis:100%;color:var(--muted)}.admin-panel{padding:24px}.admin-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 1.2fr;grid-gap:14px;gap:14px;margin:18px 0;padding:16px;border-radius:15px;background:#f7faff;border:1px solid var(--line)}.admin-toolbar div{align-self:end}.admin-toolbar b,.admin-toolbar small{display:block}.admin-toolbar small{margin-top:6px;color:var(--muted)}.profile-list{display:grid;grid-gap:10px;gap:10px}.profile-list article{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(125px,1fr)) auto auto;grid-gap:10px;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.profile-list select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}.profile-identity input{padding:10px 12px;font-weight:800}.profile-identity small{margin:5px 3px 0;overflow-wrap:anywhere}.active-toggle{display:flex;align-items:center;gap:7px;height:43px;white-space:nowrap}.active-toggle input{width:17px;height:17px}.profile-list article>button{padding:12px 16px}.admin-note{margin:16px 0 0;padding:12px;border-radius:12px;background:#fff6d8;color:#715000;font-size:12px}.module-panel{padding:24px}.module-panel h3{margin:22px 0 10px}.module-filters{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.module-filters label{min-width:200px}.case-fields select,.case-fields textarea,.module-filters select,.review-notes textarea,.theme-form select,.weekly-editor textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff;font:inherit}.module-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin:16px 0}.module-stats article{padding:16px;border:1px solid var(--line);border-radius:14px;background:#f7faff}.module-stats span,.module-stats strong{display:block}.module-stats span{color:var(--muted);font-size:11px;font-weight:800}.module-stats strong{margin-top:6px;font-size:22px}.module-table{overflow:auto;border:1px solid var(--line);border-radius:14px}.module-table table{width:100%;border-collapse:collapse}.module-table td,.module-table th{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.module-table th{background:#eef5ff;color:#27466f}.module-table tr:last-child td{border-bottom:0}.table-action{padding:7px 11px;font-size:11px}.weekly-editor{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.weekly-editor textarea{min-height:125px;resize:vertical}.review-notes{margin-top:12px}.review-notes textarea{min-height:80px}.module-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.green-action{background:#07865a}.amber-action{background:#c88700}.case-list{display:grid;grid-gap:12px;gap:12px}.case-list>article{padding:16px;border:1px solid var(--line);border-radius:15px;background:#fbfdff}.case-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.case-head b,.case-head small{display:block}.case-head small{margin-top:5px;color:var(--muted)}.risk{padding:6px 9px;border-radius:999px;background:#eaf2ff;color:var(--blue);font-size:10px;font-weight:900}.risk.sederhana{background:#fff2c7;color:#855d00}.risk.tinggi{background:#ffe4e4;color:#a61b1b}.case-fields{display:grid;grid-template-columns:150px 1fr 2fr auto auto;grid-gap:10px;gap:10px;align-items:end;margin-top:14px}.case-fields textarea{min-height:70px;resize:vertical}.theme-form{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;grid-gap:10px;gap:10px;margin:18px 0}.theme-criteria{display:grid;grid-gap:8px;gap:8px}.theme-criteria article{display:grid;grid-template-columns:28px 1fr 90px 20px;grid-gap:8px;gap:8px;align-items:center}.theme-criteria article>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#eaf2ff;color:var(--blue);font-weight:900}.theme-criteria input{padding:11px}.theme-admin>.active-toggle{margin:14px 0}.theme-history{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px;margin-top:18px}.theme-history button{background:#f7faff;color:var(--ink);border:1px solid var(--line);text-align:left}.theme-history b,.theme-history small{display:block}.theme-history small{margin-top:5px;color:var(--muted)}.theme-history .selected-theme{border-color:#07865a;background:#e8f8f1}.duty-assignment{margin:16px 0;padding:20px;border:1px solid #bfd2ea;border-radius:16px;background:#f6faff}.duty-assignment h3{margin:0 0 5px;font-size:1.08rem}.duty-assignment>label{display:grid;grid-gap:7px;gap:7px;width:100%;font-size:.95rem}.duty-assignment select{width:100%;min-height:42px;padding:10px 12px;border:1px solid #b8c9dc;border-radius:9px;background:#fff;font-size:.95rem}.duty-help{margin:0 0 16px;color:var(--muted);font-size:.9rem}.duty-member-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 8px;font-size:.95rem}.duty-member-head span{padding:5px 10px;border-radius:999px;background:#dcecff;color:#174778;font-size:.82rem;font-weight:800;white-space:nowrap}.duty-members{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));align-items:start;grid-gap:10px;max-height:300px;overflow:auto;margin:0 0 16px;padding:10px;border:1px solid #dbe5f0;border-radius:12px}.duty-members,.duty-members label{display:grid;gap:10px;background:#fff}.duty-members label{grid-template-columns:18px minmax(0,1fr);align-items:center;grid-gap:10px;min-height:58px;padding:10px 12px;border:1px solid #dce6f1;border-radius:9px;font-size:.94rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.duty-members label:hover{border-color:#8eb6e8;background:#f7fbff}.duty-members label:has(input:checked){border-color:#5799e9;background:#eaf3ff;box-shadow:0 0 0 2px rgba(23,105,232,.08)}.duty-members input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:0;padding:0;accent-color:#1769e8;box-shadow:none}.duty-members label span{display:grid;grid-gap:3px;gap:3px;min-width:0;text-align:left}.duty-members label b,.duty-members label small{display:block;max-width:100%;overflow-wrap:anywhere;word-break:normal}.duty-members label b{line-height:1.3}.duty-members label small{color:var(--muted);font-size:.78rem;line-height:1.35}.duty-add-member{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:9px;gap:9px;align-items:end;margin-top:12px;padding:12px;border:1px solid #d7e3f0;border-radius:11px;background:#fff}.duty-add-member label{display:grid;grid-gap:6px;gap:6px;font-size:.85rem;font-weight:800}.duty-add-member select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #b8c9dc;border-radius:9px;background:#fff}.duty-add-member button{min-height:42px;padding:9px 14px;white-space:nowrap}.duty-add-member button:disabled{cursor:not-allowed;opacity:.5}.duty-save-assignment{box-shadow:0 5px 0 #083f97,0 9px 18px rgba(9,67,151,.18);transition:transform .08s ease,box-shadow .08s ease,filter .08s ease}.duty-save-assignment:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #083f97,0 4px 8px rgba(9,67,151,.14);filter:brightness(.92)}.duty-save-assignment:disabled{cursor:wait;opacity:.78;transform:translateY(3px);box-shadow:0 2px 0 #6d86a7}.duty-head-actions{display:flex;align-items:center;gap:8px}.duty-head-actions span{padding:8px 11px}.duty-head-actions button{padding:9px 12px}.report-status{border-radius:999px;background:#edf2f8;color:#53677f;font-size:11px;font-weight:900}.report-status.status-dihantar{background:#eaf2ff;color:#1769e8}.report-status.status-disemak{background:#fff2c7;color:#855d00}.report-status.status-disahkan{background:#dff8ea;color:#087443}.week-navigation{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 -7px}.week-navigation button{padding:8px 11px;background:#f7faff;color:#28527e;border:1px solid var(--line)}.locked-report{padding:11px 13px;border:1px solid #aadfc4;border-radius:8px;background:#eaf9f1;color:#087443;font-size:12px;font-weight:800}.certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.winner-card{position:relative;overflow:hidden;min-height:285px;padding:28px;text-align:center;border:7px solid #082f63;box-shadow:inset 0 0 0 2px #e8aa24;background:#fff}.winner-card footer,.winner-card p{color:#49627e;font-size:10px;font-weight:800}.winner-card h3{margin:12px 0;color:#8b5700;font-family:Georgia,serif}.winner-card b,.winner-card em,.winner-card strong{display:block}.winner-card strong{margin:14px 0;font-size:23px;color:#082f63}.winner-card b{padding:7px;background:#07396f;color:#fff}.winner-card em{margin-top:8px;font-size:24px;font-weight:900;color:#a66b00}.winner-card footer{margin-top:12px}.medal{width:55px;height:55px;display:grid;place-items:center;margin:12px auto 0;border-radius:50%;background:linear-gradient(135deg,#fff1a6,#d99a17);border:2px solid #9b6500;font-weight:900}.student-admin-tools{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin:16px 0}.student-admin-tools>div{padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.notification-form input,.student-admin-tools input,.student-admin-tools textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px}.student-admin-tools textarea{min-height:140px;resize:vertical}.notification-form{display:grid;grid-gap:13px;gap:13px;max-width:680px}.notification-form>label:not(.active-toggle){display:grid;grid-gap:6px;gap:6px}.notification-form fieldset{display:flex;gap:16px;flex-wrap:wrap;padding:14px;border:1px solid var(--line);border-radius:12px}.certificate-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.certificate-actions button.active{background:#0a8b6c}.certificate-example-notice{border-color:#e7bd45;background:#fff9df;color:#614900}.certificate-example{isolation:isolate}.certificate-watermark{position:absolute;z-index:-1;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-20deg);color:rgba(169,40,40,.09);font-size:70px;font-weight:950;letter-spacing:8px;white-space:nowrap}@media(max-width:1050px){.profile-list article{grid-template-columns:1fr 1fr 1fr}.profile-identity{grid-column:1/-1}.profile-list article>button{align-self:end}.case-fields{grid-template-columns:1fr 1fr}.case-notes{grid-column:1/-1}.theme-form{grid-template-columns:1fr 1fr}}@media(max-width:1100px){.ceria-controls{grid-template-columns:1fr 1fr 1fr}.ceria-controls label:nth-last-child(-n+2){grid-column:auto}}@media(max-width:900px){.ceria-controls,.rubric-grid{grid-template-columns:1fr 1fr}.ceria-controls label:last-child{grid-column:1/-1}.certificate-grid,.student-admin-tools{grid-template-columns:1fr}}@media print{@page{size:A4 landscape;margin:8mm}body{background:#fff}.app-shell>header,.certificates-panel>.panel-head,.module-nav,.no-print,.notice{display:none!important}.app-shell,.certificates-panel{max-width:none;margin:0;padding:0;box-shadow:none;border:0}.certificate-grid{grid-template-columns:1fr 1fr;gap:8mm}.winner-card{min-height:132mm;break-inside:avoid;page-break-inside:avoid}}@media(max-width:760px){.app-shell{padding:14px}.module-stats,.stats{grid-template-columns:1fr 1fr}.class-grid{grid-template-columns:1fr}.app-shell>header{align-items:flex-start}.login-card{padding:28px 22px}.access-strip b{margin-left:0;width:100%;text-align:center}.attendance-controls,.ceria-controls{grid-template-columns:1fr}.ceria-controls label:last-child{grid-column:auto}.attendance-summary{align-items:flex-start;flex-direction:column}.summary-pills{justify-content:flex-start}.student-list article{grid-template-columns:34px 1fr}.student-statuses{grid-column:1/-1;justify-content:stretch}.student-statuses button{flex:1 1}.admin-panel,.attendance-panel,.ceria-panel,.module-panel{padding:16px}.case-fields,.quick-attendance,.rubric-grid,.theme-form,.theme-history,.weekly-editor{grid-template-columns:1fr}.rubric-description,.rubric-title{min-height:0}.module-nav{overflow-x:auto}.module-nav button{white-space:nowrap}.admin-toolbar,.profile-list article{grid-template-columns:1fr}.case-notes,.profile-identity{grid-column:auto}.profile-list article>button{width:100%}.module-filters{display:grid}.theme-criteria article{grid-template-columns:26px 1fr 65px 15px}.daily-fill-panel .panel-head{align-items:flex-start;flex-direction:column}.daily-fill-panel .panel-head label{width:100%}}body{background:#e9f0f7}.app-shell{max-width:1440px;padding:0 22px 30px}.app-shell>header{margin:0 -22px;padding:13px 28px;border-top:5px solid var(--navy);border-bottom:1px solid #c8d6e5;border-radius:0;background:#fff;color:var(--ink);box-shadow:0 2px 9px rgba(12,45,84,.08)}.app-brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border:3px solid var(--gold);border-radius:50%;background:var(--navy);color:#fff;font-family:Georgia,serif;font-size:17px;font-weight:900;box-shadow:0 0 0 3px #fff,0 0 0 4px #d5dfeb}.app-shell>header .eyebrow{margin:0 0 3px;color:#61758e;font-size:10px}.app-shell>header h1{margin:0 0 3px;color:#082f63;font-size:23px}.app-shell>header p:last-child{margin:0;color:#53677f;font-size:12px}.app-shell>header .ghost{padding:10px 15px;border:1px solid #b8c8da;background:#f6f9fc;color:#173c68}.module-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;gap:5px;margin:0 -22px 18px;padding:9px 22px;border-bottom:4px solid var(--gold);background:var(--navy);box-shadow:0 3px 10px rgba(7,46,99,.16);overflow-x:auto}.module-nav button{flex:0 0 auto;padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:5px;background:transparent;color:#e8f0fb;font-size:12px}.module-nav button:hover{background:rgba(255,255,255,.11);color:#fff}.module-nav button.active{border-color:var(--gold);background:var(--gold);color:var(--navy)}.weekend-holiday{display:flex;align-items:center;gap:14px;margin-top:14px;padding:18px;border:1px solid #f2cf73;border-radius:14px;background:#fff8df;color:#805500}.weekend-holiday>span{font-size:30px}.weekend-holiday div{display:grid;grid-gap:3px;gap:3px}.weekend-holiday small{color:#8b6a27}.holiday-admin{margin-bottom:14px}.holiday-form{display:grid;grid-template-columns:190px minmax(220px,1fr) auto;grid-gap:12px;gap:12px;align-items:end;margin:16px 0;padding:15px;border:1px solid #d6e3f0;border-radius:12px;background:#f8fbff}.holiday-form input{padding:11px}.holiday-form button{min-height:42px;background:#087c59}.holiday-list{display:grid;grid-gap:8px;gap:8px}.holiday-list article{display:grid;grid-template-columns:140px minmax(180px,1fr) 85px auto auto;grid-gap:9px;gap:9px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.holiday-list article.inactive{opacity:.62;background:#f2f4f7}.holiday-list time{color:#31516f;font-size:12px;font-weight:800}.holiday-list span{color:#087c59;font-size:11px;font-weight:850}.holiday-list button{padding:9px 10px;font-size:11px}@media(max-width:760px){.holiday-form,.holiday-list article{grid-template-columns:1fr}.holiday-list article button{width:100%}}.achievement-panel{position:relative;overflow:hidden;margin-top:16px;padding:0;background:linear-gradient(135deg,#061d42,#0c4f83 58%,#8a6512);color:#fff}.achievement-panel:after{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border:1px solid rgba(255,220,119,.3);border-radius:50%;box-shadow:0 0 0 30px rgba(255,220,119,.06)}.achievement-copy{position:relative;z-index:1;padding:28px 30px 20px}.achievement-badge{display:inline-block;padding:7px 11px;border:1px solid rgba(255,222,124,.65);border-radius:999px;background:rgba(255,205,57,.16);color:#ffe08a;font-size:10px;font-weight:950;letter-spacing:.08em}.achievement-copy h2{margin:14px 0 4px;font-size:28px}.achievement-copy h3{margin:0 0 10px;color:#ffe08a}.achievement-copy p{max-width:760px;color:#e5f0fa;line-height:1.6}.achievement-meta{display:flex;gap:8px;flex-wrap:wrap}.achievement-meta span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;font-weight:800}.achievement-gallery{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;padding:0 30px 30px}.achievement-gallery figure{overflow:hidden;margin:0;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:#fff;box-shadow:0 14px 30px rgba(0,12,36,.25)}.achievement-gallery img{display:block;width:100%;height:360px;object-fit:contain;background:#eef3fa}.achievement-gallery figcaption{padding:11px 13px;color:#17314d;font-size:12px;font-weight:850}@media(max-width:760px){.achievement-copy{padding:22px 18px 16px}.achievement-copy h2{font-size:23px}.achievement-gallery{grid-template-columns:1fr;padding:0 18px 20px}.achievement-gallery img{height:auto;max-height:480px}}.stats{gap:10px;margin:14px 0}.panel,.stats article{border-color:#cbd8e6;border-radius:8px;box-shadow:0 2px 7px rgba(17,51,88,.06)}.stats article{padding:15px;border-top:4px solid #1769e8}.stats .ppki-stat{border-top-color:var(--ppki)}.stats strong{font-size:19px}.access-strip{margin:0 0 13px;padding:8px 12px;border:1px solid #cad8e7;border-radius:7px;background:#f8fbfe}.access-strip b,.access-strip span{padding:3px 8px;border:0;border-radius:3px;background:transparent}.panel{padding:18px}.panel-head{padding-bottom:10px;border-bottom:3px solid #0d5a43}.panel-head h2{margin:0;font-size:18px;color:#0b513f}.panel-head p{margin:4px 0 0}.panel-head span{border-radius:4px}.class-grid{gap:8px;margin-top:12px}.class-grid article{padding:13px;border-radius:6px;background:#f8fbfe}.admin-panel,.attendance-panel,.ceria-panel,.module-panel{padding:18px}.attendance-controls,.ceria-controls{padding:12px;border:1px solid #d3dfec;border-radius:7px;background:#f7faff}.attendance-controls select,.ceria-controls select,.ceria-notes textarea,input{border-radius:6px}.attendance-summary,.rubric-banner{border-radius:7px}.case-list>article,.module-stats article,.profile-list article,.rubric-grid article,.student-list article{border-radius:6px}.module-table{border-radius:5px}.module-table th{background:#0d543f;color:#fff}.module-table td,.module-table th{padding:10px}.module-loading{min-height:120px;display:grid;place-items:center;color:var(--muted);font-weight:800}.grade-rankings{margin-top:22px}.grade-rankings>h3{padding-bottom:8px;border-bottom:3px solid #0d543f;color:#0b513f}.grade-rankings>section{page-break-inside:avoid;break-inside:avoid;margin-top:15px}.grade-rankings h4{margin:0;padding:8px 10px;background:#eef5f1;color:#0d543f}.grade-ranking-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.grade-ranking-grid>div{padding:11px}.grade-ranking-grid>div+div{border-left:1px solid var(--line)}.grade-ranking-grid p{display:flex;justify-content:space-between;gap:12px;margin:8px 0 0;padding-top:7px;border-top:1px solid #edf1f6;font-size:12px}.grade-ranking-grid strong{color:#0d543f}.connection-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:12px 0;padding:12px 14px;border:1px solid #e8b34a;border-radius:8px;background:#fff7db;color:#664700;box-shadow:0 2px 7px rgba(80,55,0,.08)}.connection-banner div{display:grid;grid-gap:3px;gap:3px}.connection-banner span{font-size:12px}.connection-banner button{flex:0 0 auto;padding:9px 13px;background:#9a6700}.connection-banner.offline{border-color:#ed8a8a;background:#fff0f0;color:#8e2020}.connection-banner.offline button{background:#b83232}.case-list>article,.class-grid article,.module-table tr,.profile-list article,.student-list article{content-visibility:auto;contain-intrinsic-size:0 54px}.winner-card{border-color:#082f63;box-shadow:inset 0 0 0 2px #e8aa24,0 2px 8px rgba(7,46,99,.12)}@media(max-width:760px){.app-shell{padding:0 12px 22px}.app-shell>header{margin:0 -12px;padding:10px 13px;gap:8px}.brand-mark{flex-basis:42px;width:42px;height:42px;font-size:14px}.app-shell>header h1{font-size:17px}.app-shell>header .eyebrow{letter-spacing:.07em;font-size:8px}.app-shell>header p:last-child{font-size:10px}.app-shell>header .ghost{padding:8px 9px;font-size:10px;white-space:nowrap}.module-nav{margin:0 -12px 12px;padding:7px 12px}.module-nav button{padding:8px 10px;font-size:11px}.admin-panel,.attendance-panel,.ceria-panel,.module-panel,.panel{padding:13px}.stats{gap:7px}.stats article{padding:12px}.connection-banner{align-items:stretch;flex-direction:column}.connection-banner button{width:100%}.grade-ranking-grid{grid-template-columns:1fr}.grade-ranking-grid>div+div{border-top:1px solid var(--line);border-left:0}}@media(min-width:761px){body{background:#f4f7fb}.app-shell{max-width:none;min-height:100vh;margin:0;padding:24px 28px 38px 278px}.app-shell>header{position:fixed;z-index:31;inset:0 auto auto 0;width:250px;height:142px;margin:0;padding:20px 16px;border:0;border-radius:0;background:linear-gradient(180deg,#0b1f3a,#0d3155);box-shadow:none;color:#fff}.app-shell>header .app-brand{align-items:flex-start;gap:11px}.app-shell>header .brand-mark{flex-basis:44px;width:44px;height:44px;border-width:2px;border-radius:13px;font-size:14px;box-shadow:none}.app-shell>header .eyebrow{color:#9bc7d6;font-size:8px;line-height:1.35}.app-shell>header h1{color:#fff;font-size:16px;line-height:1.2}.app-shell>header p:last-child{max-width:145px;color:#c5d9e5;font-size:9px;line-height:1.35}.app-shell>header .ghost{position:fixed;z-index:35;right:auto;bottom:12px;left:14px;width:222px;padding:10px;border-color:rgba(255,255,255,.18);background:#082c49;color:#ffb7b7;font-size:10px;box-shadow:0 -8px 22px rgba(2,20,40,.18)}.module-nav{position:fixed;z-index:30;inset:142px auto 58px 0;width:250px;display:flex;align-content:flex-start;flex-direction:column;gap:5px;margin:0;padding:12px 14px 16px;border:0;background:linear-gradient(180deg,#0d3155,#0a5368);box-shadow:8px 0 25px rgba(7,31,58,.12);overflow-x:hidden;overflow-y:auto}.module-nav button{width:100%;padding:10px 11px;border:0;border-radius:10px;background:transparent;color:#c4dbe7;text-align:left;font-size:12px}.module-nav button:hover{background:rgba(255,255,255,.1)}.module-nav button.active{border:0;background:#fff;color:#0d4162;box-shadow:0 7px 18px rgba(0,20,48,.16)}.stats{margin-top:0}.panel,.stats article{border-radius:14px}}@media(max-width:760px){.module-nav{position:fixed;z-index:40;right:8px;bottom:8px;left:8px;top:auto;display:flex;gap:4px;margin:0;padding:7px;border:1px solid #cfdae8;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 12px 42px rgba(11,31,58,.22);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.module-nav button{flex:1 0 68px;min-height:46px;padding:7px 4px;border:0;border-radius:11px;background:transparent;color:#60708a;font-size:9px;text-align:center;white-space:normal}.module-nav button.active{border:0;background:#eaf2ff;color:#1d4ed8}.app-shell{padding-bottom:86px}.app-shell>header{position:-webkit-sticky;position:sticky;top:0;z-index:30}}.login-shell{grid-template-columns:minmax(0,1.15fr) minmax(390px,.72fr);gap:54px;padding:40px clamp(28px,7vw,120px);background:linear-gradient(118deg,#071a33,#0b2d54 45%,#0d5271 72%,#0891a6)}.login-shell:before{background:radial-gradient(circle at 17% 84%,rgba(23,198,222,.22),transparent 32%),radial-gradient(circle at 82% 8%,rgba(37,99,235,.2),transparent 29%);pointer-events:none}.login-card,.login-showcase{position:relative;z-index:1}.login-showcase{max-width:760px;color:#fff}.login-mini-brand{margin-bottom:clamp(70px,12vh,130px);font-size:24px;font-weight:900}.login-mini-logo{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:14px;background:#fff;color:#0b3a66;font-size:14px;box-shadow:0 12px 30px rgba(3,20,43,.28)}.login-kicker{display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,145,166,.14);font-size:12px;font-weight:900}.login-kicker:before{content:"";width:10px;height:10px;border-radius:50%;background:#36e4c2;box-shadow:0 0 0 5px rgba(54,228,194,.12)}.login-showcase h2{max-width:720px;margin:34px 0 18px;font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-2.2px}.login-showcase h2 span{display:block;background:linear-gradient(90deg,#b9e7ff,#77f1ee);-webkit-background-clip:text;background-clip:text;color:transparent}.login-showcase>p{max-width:650px;color:#d9f2ff;font-size:18px;font-weight:650;line-height:1.7}.login-features{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}.login-features span{padding:10px 13px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(8,145,166,.14);font-size:11px;font-weight:850}.login-features span:before{content:"✓";margin-right:7px;color:#36e4c2}.login-card{width:min(520px,100%);padding:40px;border:1px solid rgba(255,255,255,.65);border-radius:30px;background:rgba(252,253,255,.97);box-shadow:0 35px 90px rgba(3,20,43,.34)}@media(max-width:900px){.login-shell{grid-template-columns:1fr;padding:26px 20px}.login-showcase{display:none}.login-card{width:min(520px,100%);margin:auto}}body,html{width:100%;max-width:100%;overflow-x:hidden}.crest{overflow:hidden;border:1px solid #d9e2ee;background:#fff;box-shadow:0 10px 24px rgba(7,46,99,.13)}.brand-mark img,.crest img,.login-mini-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:4px}.app-shell>*{min-width:0}input,select,textarea{max-width:100%;min-width:0}@media(max-width:760px){.login-shell{min-height:100svh;padding:14px;background:linear-gradient(160deg,#071a33,#0d5271)}.login-card{max-height:calc(100svh - 28px);overflow-y:auto;padding:22px 18px;border-radius:22px}.login-card .crest{width:58px;height:58px;border-radius:16px}.login-card .eyebrow{margin-top:11px}.login-card h1{font-size:28px}.login-card form{gap:11px;margin:18px 0 13px}.login-card input{padding:12px;font-size:16px}.login-card button{padding:11px 12px}.app-shell,.attendance-controls,.ceria-controls,.class-grid,.module-table,.panel,.stats{width:100%;max-width:100%;min-width:0}.module-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.module-nav{max-width:calc(100vw - 16px);overflow-x:auto;overscroll-behavior-x:contain}}.content-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:-24px -28px 20px;padding:10px 28px;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#1557bd,#7047b5,#ee3e36,#f5bd22) 1;background:#fff;min-height:58px}.content-topbar div{display:grid;grid-gap:3px;gap:3px}.content-topbar small{color:#73849b;font-size:9px}.content-topbar b{font-size:12px}.content-topbar>span{color:#37516f;font-size:11px;font-weight:850}.dashboard-theme-banner{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;min-height:62px;margin-bottom:15px;padding:14px 18px;border-radius:15px;background:linear-gradient(115deg,#062a64 0 58%,#124eb1 58% 76%,#fff 76%);box-shadow:0 10px 28px rgba(7,46,99,.15);color:#fff}.dashboard-theme-banner:after{content:"";position:absolute;right:0;top:0;width:145px;height:100%;background:repeating-linear-gradient(164deg,#c91f35 0 10px,#fff 11px 21px);-webkit-clip-path:polygon(38% 0,100% 0,100% 100%,0 100%);clip-path:polygon(38% 0,100% 0,100% 100%,0 100%)}.dashboard-theme-banner div,.dashboard-theme-banner>span{position:relative;z-index:1}.dashboard-theme-banner h2{margin:0 0 4px;color:#ffd33d;font-family:Georgia,serif;font-size:22px;font-style:italic}.dashboard-theme-banner small{font-size:9px;font-weight:750}.dashboard-theme-banner>span{margin-right:112px;color:#ffe11f;font-size:23px}.dashboard-title{margin:0 0 12px}.dashboard-title h1{margin:0 0 4px;font-size:21px}.dashboard-title p{margin:0;color:var(--muted);font-size:12px}@media(min-width:761px){.app-shell>header h1{font-size:15px}.app-shell>header p:last-child{font-size:9px}.module-nav button{font-size:11px}}@media(max-width:760px){.content-topbar{margin:0 -12px 12px;padding:8px 12px;min-height:50px}.content-topbar>span{display:none}.content-topbar b{font-size:11px}.dashboard-theme-banner{min-height:70px;padding:12px 13px}.dashboard-theme-banner h2{font-size:18px}.dashboard-theme-banner small{display:block;max-width:210px;line-height:1.35}.dashboard-theme-banner>span{margin-right:72px;font-size:18px}.dashboard-theme-banner:after{width:105px}.dashboard-title h1{font-size:19px}}.sidebar-clock{display:grid;grid-gap:5px;gap:5px;margin-top:13px;padding:10px 9px;border:1px solid rgba(100,205,225,.28);border-radius:13px;background:rgba(2,24,48,.24);text-align:center}.sidebar-clock strong{color:#fff;font-size:20px;letter-spacing:1.3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sidebar-clock span{padding-top:5px;border-top:1px solid rgba(255,255,255,.09);color:#b9dce8;font-size:8px;font-weight:850;text-transform:uppercase}.info-page{display:grid;grid-gap:18px;gap:18px}.info-hero{display:flex;align-items:center;gap:15px;padding:22px;border-radius:18px;background:linear-gradient(125deg,#082d69,#0b7190);color:#fff}.info-hero>span{width:58px;height:58px;display:grid;place-items:center;border:2px solid #f5bd22;border-radius:17px;background:#fff;color:#082d69;font-size:18px;font-weight:950}.info-hero h2{margin:0 0 5px}.info-hero p{margin:0;color:#d9f2ff}.info-hero.contact{background:linear-gradient(125deg,#0b513f,#0a8b6c)}.about-intro{padding:20px;border:1px solid #c9d8ea;border-radius:16px;background:linear-gradient(145deg,#f7fbff,#eef6ff)}.about-intro h3{margin:0 0 8px;color:#082d69}.about-intro p{margin:0;color:var(--muted);line-height:1.7}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.contact-card,.info-grid article{padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.contact-card b,.info-grid b{color:#0b513f;font-size:16px}.contact-card p,.info-grid p{margin:8px 0 0}.contact-card small,.info-grid p{color:var(--muted);line-height:1.6}.about-modules article{position:relative;padding-top:52px}.info-module-icon{position:absolute;top:15px;left:18px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e0efff;color:#082d69;font-weight:950}.development-panel{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfdff}.development-head h3{margin:0;color:#082d69}.development-head p{margin:5px 0 15px;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.team-grid article{padding:18px;text-align:center;border:1px solid #d7e1ed;border-radius:14px;background:#fff}.team-grid article.lead{border-color:#efc34d;background:#fffaf0}.team-avatar{width:62px;height:62px;margin:0 auto 12px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:linear-gradient(145deg,#082d69,#0b7190);box-shadow:0 0 0 2px #e5b633;color:#fff;font-weight:950}.team-grid h3{margin:0;color:#10243e;font-size:14px}.team-grid small{display:block;margin-top:4px;color:#6b7b90}.team-grid p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.about-signature{margin-top:14px;padding:10px;border-radius:10px;background:#082d69;color:#fff;text-align:center;font-size:11px;font-weight:800}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.contact-card{max-width:none;text-align:center}.contact-icon{width:48px;height:48px;margin:0 auto 12px;display:grid;place-items:center;border-radius:14px;background:#daf7eb;font-size:22px}.whatsapp-button{display:inline-flex;justify-content:center;margin-top:16px;padding:10px 14px;border-radius:10px;background:#0a8b6c;color:#fff;text-decoration:none;font-weight:850}.whatsapp-button:hover{background:#08745b}.contact-note{padding:14px 16px;border:1px solid #f0d27a;border-radius:13px;background:#fff9e8;color:#674d00;font-size:11px;line-height:1.6}.info-credit{margin:0;color:var(--muted);font-size:11px;text-align:center}@media(min-width:761px){.app-shell>header{display:block;height:205px}.app-shell>header .app-brand{width:100%}.sidebar-clock{width:100%;margin-top:14px}.module-nav{inset:205px auto 58px 0}}@media(max-width:760px){.sidebar-clock{display:none}.contact-grid,.info-grid,.team-grid{grid-template-columns:1fr}.info-hero{padding:16px}.info-hero>span{width:48px;height:48px}.about-intro,.development-panel{padding:15px}.team-grid article{display:grid;grid-template-columns:54px 1fr;text-align:left;grid-column-gap:12px;column-gap:12px}.team-avatar{grid-row:1/4;width:50px;height:50px;margin:0}.team-grid h3,.team-grid p,.team-grid small{grid-column:2}.contact-card{padding:16px}}.dashboard-insights{margin:14px 0;padding:16px;border:1px solid #d5e0ed;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(18,52,91,.06)}.access-strip+.panel .class-grid{max-height:230px;overflow:auto;padding-right:5px;scrollbar-width:thin}.dashboard-analysis-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(210px,280px);grid-gap:14px;gap:14px;align-items:end}.dashboard-analysis-toolbar b,.dashboard-analysis-toolbar small{display:block}.dashboard-analysis-toolbar b{font-size:16px;color:#092c5c}.dashboard-analysis-toolbar small{margin-top:4px;color:var(--muted)}.dashboard-analysis-toolbar label{font-size:10px;font-weight:850;color:#36516f}.dashboard-analysis-toolbar select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit}.dashboard-week-actions{display:flex;gap:6px}.dashboard-week-actions button{padding:9px 12px;background:#eef5ff;color:#123f79;border:1px solid #d2e2f5}.dashboard-week-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px;margin-top:14px}.dashboard-week-stats article{padding:13px;border:1px solid var(--line);border-top:3px solid #1261bd;border-radius:7px;background:#f9fbfe}.dashboard-week-stats span,.dashboard-week-stats strong{display:block}.dashboard-week-stats span{font-size:10px;font-weight:800;color:var(--muted)}.dashboard-week-stats strong{margin-top:5px;font-size:20px;color:#0a2f60}.dashboard-rankings{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:12px}.dashboard-ranking-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.dashboard-ranking-head{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;background:#f2f7fd;border-bottom:1px solid var(--line)}.dashboard-ranking-head h3{margin:0;font-size:13px}.dashboard-ranking-head span{padding:4px 7px;border-radius:999px;background:#fff;color:#31587e;font-size:9px;font-weight:850}.dashboard-ranking-list{padding:5px 12px}.dashboard-ranking-list>div{display:grid;grid-template-columns:27px 1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f6}.dashboard-ranking-list>div:last-child{border-bottom:0}.dashboard-ranking-list span{font-size:12px;font-weight:750}.dashboard-ranking-list strong{color:#07865a;font-size:12px}.dashboard-ranking-list p{margin:12px 0;color:var(--muted);font-size:11px;text-align:center}.rank-medal{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#e6edf5;color:#36516f;font-size:10px}.rank-1{background:#ffe297;color:#7a5600}.rank-2{background:#e4e9ee;color:#475767}.rank-3{background:#f1d3b2;color:#784416}@media(max-width:760px){.dashboard-analysis-toolbar{grid-template-columns:1fr}.dashboard-week-actions{order:3}.dashboard-week-actions button{flex:1 1}.dashboard-rankings,.dashboard-week-stats{grid-template-columns:1fr 1fr}}@media(max-width:460px){.dashboard-rankings,.dashboard-week-stats{grid-template-columns:1fr}}.winner-card{isolation:isolate;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#e5aa22,#072e63) border-box;border:7px solid transparent}.winner-card:before{content:"";display:block;width:44px;height:52px;margin:0 auto 5px;background:url(/logo-smk-tebobon.jpg) 50%/contain no-repeat}.winner-card:after{content:"";position:absolute;z-index:-1;right:-42px;bottom:-55px;width:150px;height:150px;transform:rotate(45deg);background:#072e63;box-shadow:-26px -26px 0 #e5aa22}.winner-card>p{margin-bottom:6px;letter-spacing:.08em}.winner-card h3{margin:7px 0 3px;font-size:20px}.winner-card>small{font-family:Georgia,serif}.winner-card strong{margin:9px 0 7px}.winner-card b{border:1px solid #e5aa22;background:linear-gradient(90deg,#005099,#0075be,#005099)}.winner-card .medal{box-shadow:inset 0 0 0 3px rgba(255,255,255,.45),0 5px 12px rgba(105,66,0,.18)}.winner-card footer{padding-top:9px;border-top:1px solid #cbd7e3}.admin-system-settings{margin-bottom:14px}.admin-command-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px;border-radius:8px;background:linear-gradient(120deg,#082f63,#0a617b);color:#fff}.admin-command-title span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#9fe0df}.admin-command-title h2{margin:5px 0;font-size:20px}.admin-command-title p{margin:0;color:#d4ecf2;font-size:11px}.admin-command-title>b{padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:9px;white-space:nowrap}.admin-system-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:16px 0}.admin-system-grid input{padding:11px}.admin-system-save{background:#087c59}.admin-preview-actions{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:14px}.admin-preview-actions button{padding:11px 8px;background:#0b4e87;font-size:.82rem}.admin-module-guide{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:10px}.admin-module-guide span{padding:10px;border:1px solid var(--line);border-radius:7px;background:#f7faff;color:var(--muted);font-size:10px}.admin-module-guide b{display:block;margin-bottom:3px;color:#153f6e}.system-alert-box{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;margin:14px 0;padding:16px;border:1px solid #f3cd70;border-radius:12px;background:#fff9e8}.system-alert-box h3{margin:0 0 4px}.system-alert-box p{margin:0;color:var(--muted);font-size:.86rem}.alert-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.alert-options label{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid #eadcae;border-radius:8px;background:#fff;font-size:.88rem}.telegram-channel-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin:14px 0}.telegram-channel-card{align-content:start;max-width:none;padding:17px;border:1px solid var(--line);border-radius:13px;background:#f8fbff}.telegram-channel-card:first-child{border-top:4px solid #07865a}.telegram-channel-card:last-child{border-top:4px solid #d18a00}.telegram-channel-card h3{margin:0}.telegram-channel-card>p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.telegram-channel-card button{width:100%;transition:transform .08s ease,box-shadow .08s ease,filter .08s ease;touch-action:manipulation}.telegram-channel-card button:active{transform:translateY(3px) scale(.99);box-shadow:inset 0 3px 8px rgba(0,0,0,.28)!important;filter:brightness(.88)}.telegram-reminder-settings{display:grid!important;grid-gap:10px!important;gap:10px!important}.telegram-reminder-settings>.active-toggle{margin:0}.telegram-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.telegram-time-grid label{display:grid;grid-gap:5px;gap:5px;font-size:.78rem;font-weight:800}.telegram-time-grid input{margin:0}.telegram-reminder-settings>small{color:var(--muted);line-height:1.45}.teacher-registry{margin-bottom:14px}.teacher-registry-tools{display:grid;grid-template-columns:minmax(220px,.65fr) 1.35fr;grid-gap:14px;gap:14px;margin:15px 0}.teacher-registry-tools>div,.teacher-registry-tools>label{display:grid;align-content:start;grid-gap:7px;gap:7px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fbff}.teacher-registry-tools textarea{min-height:92px;padding:11px;border:1px solid var(--line);border-radius:8px;resize:vertical}.teacher-registry-tools small{color:var(--muted)}.teacher-registry-list{display:grid;grid-gap:8px;gap:8px;max-height:610px;overflow:auto;padding-right:5px}.teacher-registry-list article{display:grid;grid-template-columns:minmax(220px,1.25fr) repeat(3,minmax(105px,.55fr)) minmax(170px,.8fr) minmax(170px,.8fr);grid-gap:9px;gap:9px;align-items:end;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.teacher-registry-list article.inactive{opacity:.68;background:#f1f3f6}.teacher-registry-list label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:10px;font-weight:800}.teacher-registry-list input,.teacher-registry-list select{width:100%;padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff}.registry-account{display:grid;grid-gap:5px;gap:5px}.registry-account button{padding:8px 7px;font-size:10px}.registry-actions{display:flex;flex-wrap:wrap;gap:5px}.registry-actions button{flex:1 1;padding:8px 7px;font-size:10px}.danger-action{background:#b83232!important}.profile-identity small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.bulk-account-panel{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center;margin:12px 0;padding:14px;border:1px solid #b9dfcc;border-radius:11px;background:#f1fbf6}.bulk-account-panel b,.bulk-account-panel small{display:block}.bulk-account-panel small{margin-top:4px;color:var(--muted)}.bulk-account-panel textarea{grid-column:1/-1;min-height:150px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:11px/1.45 monospace}.bulk-account-panel>button:last-child{grid-column:1/-1}.intern-account-panel{display:grid;grid-gap:11px;gap:11px;margin:14px 0;padding:14px;border:1px solid #b9d6ff;border-radius:12px;background:linear-gradient(135deg,#f5f9ff,#eef8ff)}.intern-account-panel b,.intern-account-panel small{display:block}.intern-account-panel small{margin-top:4px;color:var(--muted)}.intern-account-fields{display:grid;grid-template-columns:1.15fr 1.15fr 1fr .65fr .8fr auto;grid-gap:9px;gap:9px;align-items:end}.intern-account-fields label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:11px;font-weight:800}.intern-account-fields input,.intern-account-fields select{width:100%;min-height:39px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.intern-account-fields button{min-height:39px;white-space:nowrap}@media(max-width:520px){.bulk-account-panel{grid-template-columns:1fr}.bulk-account-panel>*{grid-column:auto!important}}@media(max-width:1150px){.teacher-registry-list article{grid-template-columns:1fr 1fr 1fr}.profile-identity,.registry-actions{grid-column:1/-1}.intern-account-fields{grid-template-columns:1fr 1fr 1fr}}@media(max-width:1050px){.attendance-controls{grid-template-columns:1fr 1fr}}@media(max-width:900px){.admin-module-guide,.admin-preview-actions,.admin-system-grid{grid-template-columns:1fr 1fr}.alert-options,.teacher-registry-tools,.telegram-channel-grid{grid-template-columns:1fr}}@media(max-width:520px){.admin-command-title{display:block}.admin-command-title>b{display:inline-block;margin-top:10px}.admin-module-guide,.admin-preview-actions,.admin-system-grid,.intern-account-fields,.system-alert-box,.teacher-registry-list article{grid-template-columns:1fr}.teacher-registry-list article>*{grid-column:auto}}@media(max-width:600px){.duty-assignment{padding:14px;border-radius:12px}.duty-assignment h3{font-size:1rem}.duty-help{font-size:.82rem;line-height:1.45}.duty-add-member{grid-template-columns:1fr;padding:10px}.duty-add-member button{width:100%}.duty-member-head{align-items:flex-start}.duty-members{grid-template-columns:1fr;max-height:340px;padding:8px}.duty-members label{min-height:54px;padding:9px 10px}.duty-assignment>button{width:100%}}.app-shell>header .brand-mark{overflow:hidden;border:1px solid rgba(255,255,255,.45);border-radius:11px;background:#fff;box-shadow:0 5px 14px rgba(0,18,52,.22)}.app-shell>header .brand-mark img{padding:3px}.password-field{position:relative;display:block;width:100%}.password-field input{padding-right:50px}.password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;width:38px;height:38px;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:#31516f;font-size:17px;line-height:1}.password-toggle:focus-visible,.password-toggle:hover{background:#eaf2ff;outline:none}.password-toggle:focus-visible{box-shadow:0 0 0 3px rgba(23,105,232,.18)}.class-teacher-admin{margin-top:14px}.class-teacher-list{display:grid;grid-gap:9px;gap:9px;margin-top:16px;max-height:620px;overflow:auto}.class-teacher-list article{display:grid;grid-template-columns:minmax(190px,.8fr) 1fr 1fr;grid-gap:11px;gap:11px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:11px;background:#f9fbfe}.class-teacher-list article>div{align-self:center}.class-teacher-list b,.class-teacher-list small{display:block}.class-teacher-list small{margin-top:4px;color:var(--muted);font-size:10px}.class-teacher-list select,.my-class-controls select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}.my-class-controls{display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(180px,.6fr);grid-gap:12px;gap:12px;align-items:end;margin:16px 0}.analysis-tabs{display:flex;gap:5px}.analysis-tabs button{padding:10px 14px;background:#edf3fa;color:#31516f}.analysis-tabs button.active{background:#0b5da5;color:#fff}.my-class-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px;margin:12px 0}.my-class-stats article{padding:14px;border:1px solid var(--line);border-top:3px solid #0b6e83;border-radius:9px;background:#f9fbfe}.my-class-stats span,.my-class-stats strong{display:block}.my-class-stats span{color:var(--muted);font-size:10px;font-weight:800}.my-class-stats strong{margin-top:5px;font-size:21px}.my-class-analysis-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.my-class-analysis-grid>section{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}.my-class-analysis-grid h3{margin:0 0 8px}.analysis-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:10px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f6;font-size:12px}.analysis-row:last-child{border-bottom:0}.analysis-row strong{color:#07865a}.my-class-print{display:block;margin:16px auto 0;background:#087c59}@media(max-width:900px){.class-teacher-list article{grid-template-columns:1fr 1fr}.class-teacher-list article>div{grid-column:1/-1}.my-class-controls{grid-template-columns:1fr 1fr}.my-class-controls>label:first-child{grid-column:1/-1}.my-class-stats{grid-template-columns:1fr 1fr}}@media(max-width:560px){.class-teacher-list article,.my-class-analysis-grid,.my-class-controls,.my-class-stats{grid-template-columns:1fr}.class-teacher-list article>div,.my-class-controls>label:first-child{grid-column:auto}.analysis-tabs button{flex:1 1}.my-class-print{width:100%}}.mobile-menu-toggle,.mobile-nav-head{display:none}.header-actions{display:flex;align-items:center;gap:7px}@media(max-width:760px){.app-shell{padding:0 10px 28px}.app-shell>header{display:flex;margin:0 -10px;padding:10px 12px;align-items:center}.mobile-menu-toggle{display:grid;flex:0 0 40px;width:40px;height:40px;margin-right:8px;place-items:center;padding:0;border:1px solid #cfdae8;border-radius:10px;background:#fff;color:#123f67;font-size:20px}.header-actions{margin-left:auto}.app-shell>header .ghost{position:static;width:auto;padding:9px 10px;font-size:10px}.module-nav{position:fixed;z-index:80;inset:0 auto 0 0;display:flex;width:min(310px,86vw);max-width:none;flex-direction:column;gap:5px;padding:14px;background:linear-gradient(180deg,#0b2848,#0a5368);border:0;border-radius:0 18px 18px 0;box-shadow:18px 0 45px rgba(3,22,44,.28);overflow-x:hidden;overflow-y:auto;transform:translateX(-105%);transition:transform .22s ease}.module-nav.mobile-open{transform:translateX(0)}.module-nav button{flex:0 0 auto;width:100%;min-height:42px;padding:11px 12px;border-radius:9px;color:#d8eaf2;text-align:left;font-size:12px;white-space:normal}.module-nav button.active{background:#fff;color:#0d4162}.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;padding:5px 4px 12px;border-bottom:1px solid rgba(255,255,255,.16);color:#fff}.mobile-nav-head button{width:38px;min-height:38px;padding:0;background:rgba(255,255,255,.12);color:#fff;font-size:24px;text-align:center}.mobile-nav-backdrop{position:fixed;z-index:70;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(1,15,30,.52);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-panel,.attendance-panel,.ceria-panel,.module-panel,.panel{padding:12px;border-radius:12px}.attendance-controls,.ceria-controls,.module-filters,.quick-attendance{display:grid;grid-template-columns:1fr!important;grid-gap:11px;gap:11px;width:100%;padding:0}.attendance-controls label,.ceria-controls label,.module-filters label{width:100%;min-width:0}.attendance-controls input,.attendance-controls select,.ceria-controls input,.ceria-controls select,.module-filters input,.module-filters select{width:100%;min-height:46px;padding:11px 12px;background:#fff;font-size:16px}.attendance-controls label:last-child,.ceria-controls label:last-child{grid-column:auto}.content-topbar{margin:0 -10px 12px}.app-shell{padding-bottom:28px}}@media(max-width:430px){.app-shell>header .ghost{padding:8px;font-size:0}.app-shell>header .ghost:first-letter{font-size:15px}.brand-mark{flex-basis:42px}.app-shell>header h1{font-size:16px}.admin-panel,.attendance-panel,.ceria-panel,.module-panel,.panel{padding:10px}}.theme-picker{max-width:520px;margin:18px 0}.theme-picker select{width:100%;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}.dashboard-theme-banner{background:linear-gradient(115deg,#073765,#0b6a55)!important}.dashboard-theme-banner:after{display:none!important}.dashboard-theme-banner h2{color:#fff!important;font-family:inherit!important;font-style:normal!important}.dashboard-theme-banner>span{margin-right:0!important;padding:8px 11px;border:1px solid rgba(255,255,255,.35);border-radius:10px;color:#fff!important;font-size:15px!important;font-weight:950}.compact-toggle{margin-left:auto;padding:8px 12px}.dashboard-group-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.dashboard-group-grid article{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:3px 8px;gap:3px 8px;align-items:center;padding:11px 12px;border:1px solid #cfdeec;border-radius:8px;background:#f8fbfe}.dashboard-group-grid article div{min-width:0}.dashboard-group-grid b,.dashboard-group-grid small{display:block}.dashboard-group-grid small{margin-top:3px;color:var(--muted);font-size:10px}.dashboard-group-grid strong{color:#0b5f47;font-size:18px}.dashboard-group-grid span{grid-column:1/-1;color:#a75408;font-size:10px;font-weight:800}.access-groups{margin-top:12px}.access-groups span{color:var(--muted)}@media(max-width:1000px){.dashboard-group-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.daily-fill-summary{align-items:stretch;flex-direction:column}.compact-toggle{width:100%;margin-left:0}.dashboard-group-grid{grid-template-columns:repeat(2,1fr)}.dashboard-group-grid article{padding:10px}.dashboard-group-grid strong{font-size:16px}}.school-photo-banner{isolation:isolate;min-height:132px;padding:24px 28px;background:#073765!important}.school-photo-banner>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.school-photo-banner:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,31,67,.94),rgba(4,64,75,.76) 60%,rgba(3,31,67,.42))}.school-photo-banner div{max-width:620px}.school-photo-banner h2{margin:3px 0 7px!important;font-size:26px!important}.dashboard-kicker{display:block;color:#ffe08a;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.school-photo-banner>span:last-child{background:rgba(4,32,65,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dashboard-group-grid button{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:3px 8px;gap:3px 8px;align-items:center;padding:13px 14px;border:1px solid #cfdeec;border-radius:10px;background:#f8fbfe;color:var(--ink);text-align:left;box-shadow:0 2px 5px rgba(18,48,80,.04)}.dashboard-group-grid button.selected,.dashboard-group-grid button:hover{border-color:#0d765b;background:#f0fbf7;box-shadow:0 5px 15px rgba(13,118,91,.12)}.dashboard-group-grid button div{min-width:0}.dashboard-group-grid button b,.dashboard-group-grid button small{display:block}.dashboard-group-grid button small{margin-top:3px;color:var(--muted);font-size:10px}.dashboard-group-grid button strong{color:#0b5f47;font-size:18px}.dashboard-group-grid button span{grid-column:1/-1;color:#a75408;font-size:10px;font-weight:800}.dashboard-group-grid button i{position:absolute;left:0;bottom:0;height:4px;background:linear-gradient(90deg,#0aa66c,#5ccf9d);transition:width .2s}.class-detail-heading{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px;padding:9px 12px;border-radius:8px;background:#edf6f2;color:#0b5f47}.class-detail-heading button{padding:7px 10px;background:#0b5f47}.daily-fill-grid{max-height:none;overflow:visible}.login-shell{position:relative;isolation:isolate;background:#062752}.login-shell:before{content:"";position:absolute;z-index:-2;inset:0;background:url(/school-campus.svg) 50%/cover no-repeat}.login-shell:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,rgba(3,30,67,.93),rgba(5,86,91,.78))}@media(max-width:600px){.school-photo-banner{min-height:112px;padding:18px}.school-photo-banner h2{font-size:20px!important}.dashboard-group-grid button{padding:11px}.dashboard-group-grid button strong{font-size:16px}}.winner-card{background:linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.86)) padding-box,url(/school-campus.svg) center 48%/cover no-repeat padding-box,linear-gradient(135deg,#e5aa22,#072e63) border-box!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.certificate-watermark{z-index:3!important;pointer-events:none}.holiday-form{grid-template-columns:170px 170px minmax(220px,1fr) auto}.holiday-list time small{display:block;margin-top:3px;color:var(--muted);font-weight:650}@media(max-width:900px){.holiday-form{grid-template-columns:1fr 1fr}.holiday-form button,.holiday-form label:nth-child(3){grid-column:1/-1}}@media(max-width:560px){.holiday-form{grid-template-columns:1fr}.holiday-form button,.holiday-form label:nth-child(3){grid-column:auto}}.ceria-evidence-panel{margin-top:14px}@media(max-width:700px){.class-status-list{grid-template-columns:1fr}.class-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-evidence-section,.class-student-status{padding:13px}.class-evidence-grid img{height:105px}}@media(max-width:390px){.class-section-head{align-items:flex-start}.class-status-list article{padding:10px}.class-status-badge{font-size:.66rem}}.class-evidence-section,.class-student-status{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.class-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.class-section-head h3,.class-section-head p{margin:0}.class-section-head p{margin-top:3px;color:var(--muted);font-size:.82rem}.class-section-head>span{padding:6px 10px;border-radius:999px;background:#e4efff;color:#075ac8;font-size:.78rem;font-weight:800}.class-status-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.class-status-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #dbe6f3;border-radius:11px;background:#fff}.class-status-list article div{min-width:0}.class-status-list b,.class-status-list small{display:block}.class-status-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-status-list small{margin-top:3px;color:var(--muted);font-size:.76rem}.class-status-badge{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:900}.class-status-badge.tidak_hadir{background:#fff0f0;color:#bd2222}.class-status-badge.lewat{background:#fff6dc;color:#9a5a00}.class-status-badge.ponteng{background:#f2eaff;color:#7137a8}.class-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.class-evidence-grid a{overflow:hidden;border:1px solid #dbe6f3;border-radius:11px;background:#fff;color:#14345c;text-decoration:none}.class-evidence-grid img{display:block;width:100%;height:118px;object-fit:cover}.class-evidence-grid span{display:block;padding:8px;font-size:.74rem;font-weight:800}.official-activity-panel{margin-top:14px;border-top:4px solid #0891b2}.official-activity-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:8px;gap:8px;max-height:320px;overflow:auto}.official-activity-list button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:10px;border:1px solid #d6e2ef;background:#fff;color:#18314f;text-align:left}.official-activity-list button>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e6f7fb;color:#08768e;font-weight:900}.official-activity-list button small{color:#64748b}.official-activity-list button.selected{border-color:#0891b2;background:#ecfeff}.official-activity-list button.selected>span{background:#0891b2;color:#fff}.official-activity-list button.selected small{color:#08768e;font-weight:800}.official-activity-note{margin:12px 0 0;color:#52667d;font-size:.78rem}.ceria-evidence-panel .panel-head h2 small{color:#64748b;font-size:.72em;font-weight:700}.ceria-image-picker{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:1px dashed #60a5fa;border-radius:12px;background:#eff6ff;color:#075985;font-weight:800;cursor:pointer}.ceria-image-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ceria-image-previews{display:grid;grid-template-columns:repeat(3,minmax(0,150px));grid-gap:10px;gap:10px;margin-top:12px}.ceria-image-previews img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.ceria-existing-evidence{margin:12px 0 0;color:#047857;font-weight:700}.ceria-evidence-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}.ceria-evidence-footer small{color:#475569;font-weight:700}.ceria-evidence-footer .save-ceria{margin:0}@media (max-width:640px){.ceria-image-previews{grid-template-columns:repeat(3,minmax(0,1fr))}.ceria-evidence-footer{align-items:stretch;flex-direction:column}.ceria-evidence-footer .save-ceria{width:100%}}.mobile-sidebar-footer,.mobile-sidebar-top{display:none}@media(max-width:760px){.app-shell>header .header-actions{display:none}.module-nav{width:min(330px,88vw);padding:188px 17px 158px;background:linear-gradient(180deg,#071d3d,#0b3155 62%,#0b5367);border-radius:0;box-shadow:22px 0 55px rgba(1,13,32,.36)}.module-nav .mobile-nav-head{display:none}.module-nav button{min-height:46px;padding:12px 15px;border-radius:10px;color:#e4edf7;font-size:13px;font-weight:750}.module-nav button.active{background:linear-gradient(90deg,#18599c,#236bd1);color:#fff;box-shadow:0 7px 18px rgba(10,42,83,.26)}.mobile-sidebar-footer,.mobile-sidebar-top{position:fixed;left:0;z-index:90;display:block;width:min(330px,88vw);color:#fff;opacity:0;pointer-events:none;transform:translateX(-105%);transition:transform .22s ease,opacity .18s ease}.mobile-sidebar-footer.visible,.mobile-sidebar-top.visible{opacity:1;transform:translateX(0)}.mobile-sidebar-top{top:0;height:181px;padding:20px 18px 12px;background:#071d3d;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-mobile-identity{display:flex;align-items:center;gap:12px;padding-right:4px}.sidebar-mobile-logo{display:grid;flex:0 0 58px;width:58px;height:58px;place-items:center;overflow:hidden;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(0,0,0,.22)}.sidebar-mobile-logo img{width:100%;height:100%;padding:5px;object-fit:contain}.sidebar-mobile-identity b,.sidebar-mobile-identity small{display:block}.sidebar-mobile-identity b{font-size:20px}.sidebar-mobile-identity small{margin-top:3px;color:#c8d9eb;font-size:11px}.mobile-sidebar-top .sidebar-clock{display:grid;margin-top:14px;padding:11px;border-color:rgba(111,199,230,.34);background:rgba(5,37,72,.7);text-align:center}.mobile-sidebar-top .sidebar-clock strong{font-size:22px}.mobile-sidebar-top .sidebar-clock span{text-transform:uppercase;letter-spacing:.08em}.mobile-sidebar-footer{bottom:0;display:grid;grid-template-columns:55px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;min-height:148px;padding:14px 18px 15px;background:#0a3e5d;border-top:1px solid rgba(255,255,255,.15);pointer-events:none}.mobile-sidebar-footer.visible{pointer-events:auto}.sidebar-profile-photo{position:relative;display:grid;width:54px;height:54px;place-items:center;overflow:hidden;border:2px solid #91e8dc;border-radius:50%;background:#13304d;cursor:pointer}.sidebar-profile-photo img{width:100%;height:100%;object-fit:cover}.sidebar-profile-photo span{font-size:22px;font-weight:900}.sidebar-profile-photo input{position:absolute;width:1px;height:1px;opacity:0}.mobile-sidebar-footer>div{min-width:0}.mobile-sidebar-footer b,.mobile-sidebar-footer em,.mobile-sidebar-footer small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-sidebar-footer b{font-size:12px}.mobile-sidebar-footer small{margin-top:3px;color:#b9d1df;font-size:9px}.mobile-sidebar-footer em{margin-top:3px;color:#79e2d8;font-size:8px;font-style:normal}.mobile-sidebar-footer>button{grid-column:1/-1;width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.17);border-radius:9px;background:rgba(3,20,43,.3);color:#ffd7d7;text-align:left}}.teacher-registry-list article>.registry-account,.teacher-registry-list article>.registry-actions,.teacher-registry-list article>label{display:none}.teacher-registry-list article:focus-within>label{display:grid}.teacher-registry-list article:focus-within>.registry-account{display:grid}.teacher-registry-list article:focus-within>.registry-actions{display:flex}.teacher-registry-list article:not(:focus-within){grid-template-columns:1fr;padding:10px 12px;cursor:text}.teacher-registry-list article:not(:focus-within) .profile-identity{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px 12px;gap:4px 12px;align-items:center}.teacher-registry-list article:not(:focus-within) .profile-identity small{grid-column:1}.teacher-registry-list article:not(:focus-within) .profile-identity:after{content:"Tekan nama untuk buka tetapan";grid-column:2;grid-row:1/3;align-self:center;padding:7px 9px;border-radius:999px;background:#eaf2ff;color:#1d5b9b;font-size:9px;font-weight:850;white-space:nowrap}.today-reset-panel{border-top:4px solid #b83232}.today-reset-panel .panel-head>span{background:#fff0f0;color:#a11f1f}.reset-confirmation{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;grid-gap:10px;gap:10px;align-items:end;padding:14px;border:1px solid #efb4b4;border-radius:10px;background:#fff7f7}.reset-confirmation label{display:grid;grid-gap:5px;gap:5px}.reset-confirmation input{padding:10px;border:1px solid #dba2a2;border-radius:8px;background:#fff}.reset-confirmation button{min-height:42px}@media(max-width:700px){.teacher-registry-list article:not(:focus-within) .profile-identity{grid-template-columns:1fr}.teacher-registry-list article:not(:focus-within) .profile-identity:after{grid-column:1;grid-row:auto;justify-self:start}.reset-confirmation{grid-template-columns:1fr}.reset-confirmation button{width:100%}}body{font-family:var(--font-inter),Arial,sans-serif}.login-card h1,.login-mini-brand,.login-showcase h2{font-family:var(--font-montserrat),Arial,sans-serif}.login-shell{grid-template-columns:minmax(0,1.7fr) minmax(380px,1fr);gap:clamp(28px,4vw,64px);padding:28px clamp(26px,5vw,84px);background:linear-gradient(135deg,#f7fbff,#eaf5ff 48%,#dceeff)}.login-shell:before{z-index:0;background:radial-gradient(circle at 18% 16%,rgba(19,107,255,.14),transparent 30%),linear-gradient(115deg,transparent 0 46%,rgba(255,255,255,.78) 72%)}.login-shell:after{display:none}.login-showcase{width:100%;max-width:950px;color:#082b62}.login-mini-brand{margin-bottom:18px;color:#072e63}.login-mini-brand>span:last-child{display:grid}.login-mini-brand small{margin-top:3px;color:#4b6b92;font:700 10px var(--font-inter),sans-serif;letter-spacing:.07em}.login-mini-logo{border-color:#c9dcf2;box-shadow:0 8px 24px rgba(12,72,145,.18)}.login-visual{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(330px,52vh,560px);border:1px solid rgba(255,255,255,.8);border-radius:32px;box-shadow:0 28px 70px rgba(19,73,137,.22)}.login-visual>img{z-index:-3;object-position:center}.login-visual:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(3,31,75,.92),rgba(8,57,121,.54) 60%,rgba(7,45,91,.24))}.login-visual:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(90,183,255,.15) 1px,transparent 0),linear-gradient(90deg,rgba(90,183,255,.15) 1px,transparent 0);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 72%);mask-image:linear-gradient(90deg,#000,transparent 72%);animation:dataDrift 14s linear infinite}.kinabalu-silhouette{position:absolute;z-index:-1;right:-4%;bottom:-1px;width:62%;height:42%;background:rgba(5,26,62,.48);-webkit-clip-path:polygon(0 100%,13% 70%,25% 75%,39% 36%,47% 53%,55% 28%,63% 56%,71% 49%,82% 75%,100% 67%,100% 100%);clip-path:polygon(0 100%,13% 70%,25% 75%,39% 36%,47% 53%,55% 28%,63% 56%,71% 49%,82% 75%,100% 67%,100% 100%)}.login-visual-copy{position:absolute;z-index:2;left:clamp(24px,4vw,58px);bottom:clamp(30px,6vh,72px);max-width:620px;color:#fff}.login-visual-copy h2{margin:22px 0 10px;font-size:clamp(34px,4.3vw,64px);line-height:1.02}.login-visual-copy h2 span{display:block;color:#9fd8ff}.login-visual-copy p{color:#e5f3ff;font-weight:700}.login-kicker{background:rgba(15,109,224,.24)}.login-dashboard-preview{position:absolute;z-index:3;right:24px;top:24px;display:grid;grid-gap:8px;gap:8px;width:180px;padding:16px;border:1px solid rgba(255,255,255,.45);border-radius:18px;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;animation:previewFloat 5s ease-in-out infinite}.login-dashboard-preview span{font-size:10px}.login-dashboard-preview i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#70f1d7;box-shadow:0 0 12px #70f1d7}.login-dashboard-preview strong{padding-top:7px;border-top:1px solid rgba(255,255,255,.24);font-size:9px;color:#d8eeff}.login-features{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;margin-top:12px}.login-features span{display:grid;grid-gap:2px;gap:2px;padding:10px;border-color:#c7dbf0;background:rgba(255,255,255,.72);color:#496987}.login-features span:before{display:none}.login-features b{color:#0a4d9c}.login-achievements{display:flex;gap:8px;margin-top:9px}.login-achievements span{display:grid;padding:8px 12px;border:1px solid #efd58a;border-radius:10px;background:linear-gradient(110deg,#fffaf0,#fff);color:#775617;font-size:9px}.login-achievements b{font-size:9px;letter-spacing:.04em}.login-card{border:1px solid #d9e6f3;background:rgba(255,255,255,.94);box-shadow:0 28px 75px rgba(18,70,132,.18);animation:loginCardIn .55s ease both}.login-card:after{content:"🔒 Sistem selamat & dilindungi";display:block;margin-top:12px;color:#7890aa}.login-card form>button:not(.text-button){min-height:50px;background:linear-gradient(90deg,#0b57c7,#1688f8);box-shadow:0 10px 25px rgba(22,105,232,.22)}.login-card input{min-height:48px}@keyframes loginCardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes previewFloat{50%{transform:translateY(-3px)}}@keyframes dataDrift{to{background-position:48px 48px}}@media(max-width:900px){.login-shell{display:flex;flex-direction:column;padding:14px;background:linear-gradient(#f7fbff,#e6f3ff)}.login-showcase{display:block}.login-mini-brand{margin:2px 4px 10px}.login-visual{min-height:170px;border-radius:20px}.login-visual-copy{left:18px;bottom:14px}.login-visual-copy h2{margin:10px 0 4px;font-size:25px}.login-visual-copy p{margin:0;font-size:11px}.login-dashboard-preview,.login-features{display:none}.login-card{order:2;max-height:none;overflow:visible;margin:0;width:100%}.login-achievements{order:3;margin:10px 0 4px}.login-achievements span{flex:1 1}.login-mini-logo{width:42px;height:42px}.login-kicker{padding:6px 9px;font-size:8px}}@media(prefers-reduced-motion:reduce){.login-card,.login-dashboard-preview,.login-visual:after{animation:none!important}}.nav-section-label{display:none}.dashboard-hero-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.dashboard-hero-chips span{padding:6px 9px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(3,30,67,.34);color:#fff;font-size:9px;font-weight:850;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.school-photo-banner:before{background:linear-gradient(90deg,rgba(3,31,67,.78),rgba(4,64,75,.48) 62%,rgba(3,31,67,.2))}.school-photo-banner>img{object-position:center 52%;filter:saturate(1.08) contrast(1.02) brightness(1.06)}.login-visual:before{background:linear-gradient(90deg,rgba(3,31,75,.76),rgba(8,57,121,.32) 60%,rgba(7,45,91,.1))}.login-visual>img{filter:saturate(1.08) contrast(1.02) brightness(1.06)}@media(max-width:760px){.app-shell{padding:8px 10px 24px}.app-shell>header{min-height:58px;padding:8px 10px;border-radius:0 0 14px 14px;align-items:center}.app-shell>header .app-brand{align-items:center;gap:8px}.app-shell>header .brand-mark{flex:0 0 38px;width:38px;height:38px;border-radius:10px}.app-shell>header .app-brand .eyebrow{font-size:7px;letter-spacing:.08em}.app-shell>header .app-brand h1{margin:1px 0;font-size:15px}.app-shell>header .app-brand p:last-child{font-size:9px}.mobile-menu-toggle{flex-basis:36px;width:36px;height:36px;margin-right:2px;border-radius:9px;font-size:19px}.content-topbar{min-height:42px;margin:0 -10px 8px;padding:6px 12px}.content-topbar b{font-size:10px}.content-topbar small{font-size:8px}.content-topbar.dashboard-topbar{display:none}.mobile-sidebar-footer,.mobile-sidebar-top,.module-nav{width:82vw;max-width:320px}.module-nav{gap:2px;padding:151px 12px 122px;background:linear-gradient(180deg,#071d3d,#0b3155 66%,#0b5367)}.module-nav button{min-height:38px;padding:8px 10px;border-radius:8px;font-size:15px;line-height:1.15}.nav-section-label{display:block;margin:8px 8px 3px;color:#73cbd9;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.mobile-sidebar-top{height:145px;padding:12px 14px 9px}.sidebar-mobile-identity{gap:9px}.sidebar-mobile-logo{flex-basis:46px;width:46px;height:46px;border-radius:12px}.sidebar-mobile-identity b{font-size:17px}.sidebar-mobile-identity small{font-size:9px}.mobile-sidebar-top .sidebar-clock{margin-top:9px;padding:7px 9px}.mobile-sidebar-top .sidebar-clock strong{font-size:18px}.mobile-sidebar-top .sidebar-clock span{font-size:7px;padding-top:3px}.mobile-sidebar-footer{min-height:115px;padding:9px 14px 10px;grid-template-columns:43px minmax(0,1fr);gap:7px}.sidebar-profile-photo{width:42px;height:42px}.mobile-sidebar-footer b{font-size:11px}.mobile-sidebar-footer em{display:none}.mobile-sidebar-footer>button{padding:7px 10px;font-size:12px}.school-photo-banner{min-height:156px;margin-bottom:10px;padding:16px;border-radius:15px;align-items:flex-end}.school-photo-banner:before{background:linear-gradient(90deg,rgba(3,31,67,.72),rgba(4,64,75,.35) 68%,rgba(3,31,67,.08))}.school-photo-banner>img{object-position:center 52%;filter:saturate(1.12) contrast(1.03) brightness(1.08)}.school-photo-banner h2{margin:3px 0 4px!important;font-size:19px!important}.school-photo-banner small{max-width:none;font-size:9px}.school-photo-banner>span:last-child{align-self:flex-start;padding:6px 8px!important;font-size:12px!important}.dashboard-kicker{font-size:8px}.dashboard-hero-chips{margin-top:9px;gap:5px}.dashboard-hero-chips span{padding:5px 7px;font-size:8px}.stats{gap:7px;margin:9px 0}.stats article{padding:11px 10px;border-radius:12px}.stats span{font-size:9px}.stats strong{margin-top:5px;font-size:17px}.access-strip{gap:5px;margin:0 0 10px}.access-strip b,.access-strip span{padding:6px 8px;font-size:9px}.access-strip b{width:auto;margin-left:0;text-align:left}}@media(max-width:900px){.login-visual{min-height:210px}.login-visual:before{background:linear-gradient(90deg,rgba(3,31,75,.68),rgba(8,57,121,.24) 64%,rgba(7,45,91,.06))}.login-visual>img{object-position:center 54%}.kinabalu-silhouette{opacity:.45}}.login-visual{background:url(/school-campus.svg) center 52%/cover no-repeat}.login-visual>img:not([src*="school-campus.svg"]){visibility:hidden}.school-photo-banner{background-image:url(/school-campus.svg)!important;background-position:center 52%!important;background-size:cover!important}.school-photo-banner>img:not([src*="school-campus.svg"]){visibility:hidden}.login-shell{grid-template-columns:minmax(0,1.72fr) minmax(440px,560px);gap:clamp(24px,3vw,48px);padding:26px clamp(24px,4vw,68px);background:linear-gradient(145deg,#eef8ff,#dcefff 50%,#cfe9ff)}.login-showcase{max-width:1080px}.login-mini-brand{display:flex;align-items:center;gap:12px;margin:0 0 13px}.login-mini-brand>span:last-child b{font-size:21px}.login-mini-logo{width:58px;height:58px}.login-visual{min-height:clamp(470px,66vh,690px);border:1px solid rgba(255,255,255,.9);border-radius:30px;background:#d9efff;box-shadow:0 26px 65px rgba(21,91,160,.2)}.login-visual>img{visibility:visible!important;object-fit:cover;object-position:center 51%;filter:saturate(1.08) contrast(1.02) brightness(1.08)}.login-visual:before{background:linear-gradient(90deg,rgba(238,249,255,.2),rgba(17,101,186,.08) 58%,rgba(5,55,112,.12))}.login-visual:after{background-image:linear-gradient(rgba(30,141,230,.12) 1px,transparent 0),linear-gradient(90deg,rgba(30,141,230,.12) 1px,transparent 0);opacity:.55}.kinabalu-silhouette{right:auto;left:-4%;bottom:0;width:42%;height:35%;background:rgba(21,101,172,.17)}.login-visual-copy{left:clamp(25px,4vw,60px);top:clamp(26px,5vh,62px);bottom:auto;color:#093b86;text-shadow:0 1px 0 rgba(255,255,255,.7)}.login-kicker{display:none}.login-visual-copy h2{margin:0;line-height:1}.login-product-name{display:block;color:#0758bd;font-size:clamp(48px,5.5vw,82px);font-weight:900;letter-spacing:-.055em}.login-product-name b{color:#eaa51b}.login-visual-copy h2 small{display:block;margin-top:8px;color:#082f72;font:800 clamp(18px,2.1vw,31px)/1.1 var(--font-montserrat),sans-serif;letter-spacing:-.02em}.login-visual-copy p{margin-top:16px;color:#0963c8;font-size:clamp(12px,1.35vw,18px);font-weight:800}.login-dashboard-preview{top:auto;right:auto;left:24px;bottom:22px;width:min(420px,52%);min-height:138px;padding:17px;border-color:rgba(255,255,255,.78);background:rgba(255,255,255,.82);box-shadow:0 15px 40px rgba(19,84,151,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#0a397c;animation:none}.login-dashboard-preview b{font-size:13px}.login-dashboard-preview span{color:#46688d}.login-dashboard-preview i{background:#0bbf8a;box-shadow:0 0 10px rgba(11,191,138,.45)}.login-dashboard-preview strong{border-top-color:#d5e4f3;color:#0b67c8}.login-features{gap:9px;margin-top:10px}.login-features span{min-height:55px;align-content:center;border-radius:13px;background:rgba(255,255,255,.9);box-shadow:0 6px 16px rgba(31,91,150,.07)}.login-card{width:100%;max-width:560px;min-height:clamp(590px,82vh,760px);display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,4vw,58px);border-radius:34px;background:rgba(255,255,255,.96);box-shadow:0 28px 75px rgba(18,70,132,.2)}.login-card .crest{width:92px;height:92px;border-radius:23px;background:#fff;box-shadow:0 12px 28px rgba(17,73,137,.13)}.login-card .crest img{padding:7px}.login-card .eyebrow{margin-top:20px}.login-card h1{font-size:clamp(25px,2.3vw,34px);color:#073786}.login-card .subtitle{font-size:15px}.login-card form{margin-top:28px}.login-card label{color:#294e78;font-size:13px}.login-card input{min-height:58px;border-radius:13px;background:#fbfdff;font-size:15px}.login-card form>button:not(.text-button){min-height:60px;border-radius:14px;font-size:17px;background:linear-gradient(90deg,#0a8df0,#073ca9)}@media(max-width:900px){.login-shell{gap:11px;padding:10px 12px 18px}.login-mini-brand{margin:2px 3px 8px}.login-mini-brand>span:last-child b{font-size:17px}.login-mini-logo{width:44px;height:44px}.login-visual{min-height:240px;border-radius:21px}.login-visual-copy{left:18px;top:18px}.login-product-name{font-size:38px}.login-visual-copy h2 small{margin-top:5px;font-size:14px}.login-visual-copy p{margin-top:9px;font-size:10px}.login-dashboard-preview{left:14px;bottom:12px;width:58%;min-height:auto;padding:10px;border-radius:12px}.login-dashboard-preview b{font-size:10px}.login-dashboard-preview span{font-size:8px}.login-dashboard-preview strong{font-size:7px}.login-card{min-height:auto;padding:27px 22px;border-radius:23px}.login-card .crest{width:68px;height:68px}.login-card h1{font-size:25px}.login-card input{min-height:50px}.login-card form>button:not(.text-button){min-height:52px}}@media(max-width:430px){.login-visual{min-height:220px}.login-product-name{font-size:34px}.login-dashboard-preview{width:64%}.login-achievements{display:grid;grid-template-columns:1fr 1fr}}.login-shell{overflow:hidden;background:radial-gradient(circle at 8% 8%,rgba(255,255,255,.95),transparent 25%),radial-gradient(circle at 72% 15%,rgba(38,165,255,.18),transparent 30%),linear-gradient(145deg,#f4fbff,#dcefff 52%,#c5e5ff)}.login-showcase{position:relative;isolation:isolate}.login-showcase:before{content:"";position:absolute;z-index:-1;left:130px;right:-110px;top:18px;height:105px;opacity:.45;background:linear-gradient(90deg,transparent 0 8%,#1c9bf0 8% 8.25%,transparent 8.25% 22%,#67caff 22% 22.25%,transparent 22.25% 39%,#edae31 39% 39.25%,transparent 39.25%),linear-gradient(180deg,transparent 0 34%,rgba(30,146,231,.4) 34% 35%,transparent 35% 62%,rgba(30,146,231,.28) 62% 63%,transparent 63%)}.login-mini-brand{position:relative;z-index:3}.login-mini-brand:after{content:"";flex:1 1;height:1px;margin-left:18px;background:linear-gradient(90deg,#148ee6,rgba(20,142,230,0))}.login-visual{border-radius:34px;box-shadow:0 30px 75px rgba(19,83,151,.24),inset 0 0 0 1px rgba(255,255,255,.8)}.login-visual:before{background:linear-gradient(90deg,rgba(239,249,255,.08),rgba(15,97,177,.03) 60%,rgba(5,55,112,.08))}.login-visual-copy{padding:18px 22px;border:1px solid rgba(255,255,255,.44);border-radius:22px;background:linear-gradient(110deg,rgba(255,255,255,.72),rgba(255,255,255,.24));box-shadow:0 14px 38px rgba(14,75,139,.12);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.login-product-name{font-size:clamp(52px,5.8vw,88px);text-shadow:0 3px 18px rgba(255,255,255,.82)}.login-dashboard-preview{grid-template-columns:minmax(0,1fr) 46%;grid-template-rows:auto auto auto auto;width:min(520px,59%);min-height:166px;padding:18px 18px 16px;overflow:hidden}.login-dashboard-preview>b,.login-dashboard-preview>span,.login-dashboard-preview>strong{grid-column:1}.login-dashboard-preview:after{content:"";grid-column:2;grid-row:1/5;align-self:stretch;margin-left:13px;border:1px solid #d9e9f7;border-radius:12px;background:linear-gradient(145deg,transparent 47%,#168cf0 48% 51%,transparent 52%) 8px 30px/38px 32px repeat-x,linear-gradient(180deg,transparent 74%,rgba(23,105,232,.12) 75%) 0 0/100% 25%,linear-gradient(90deg,transparent 74%,rgba(23,105,232,.1) 75%) 0 0/25% 100%,#f7fbff;box-shadow:inset 0 0 18px rgba(34,135,222,.06)}.login-features span{position:relative;grid-template-columns:34px 1fr;grid-template-rows:auto auto;padding:9px 10px;text-align:left}.login-features span:before{display:grid;grid-row:1/3;width:28px;height:28px;place-items:center;align-self:center;border:1px solid #cce4fa;border-radius:50%;background:#f5fbff;color:#0864c7;font-size:14px;font-weight:900}.login-features span:first-child:before{content:"✓"}.login-features span:nth-child(2):before{content:"✦"}.login-features span:nth-child(3):before{content:"↗"}.login-features span:nth-child(4):before{content:"◉"}.login-features span:nth-child(5):before{content:"▤"}.login-features b,.login-features b+*{grid-column:2}.login-achievements{justify-content:center}.login-achievements span{flex:1 1;max-width:300px;padding:9px 13px;border-radius:12px;box-shadow:0 7px 20px rgba(151,107,20,.08)}.login-card{position:relative;border:1px solid rgba(255,255,255,.92);box-shadow:0 34px 90px rgba(10,64,129,.22),inset 0 0 0 1px rgba(207,228,247,.65)}.login-card:before{content:"";position:absolute;inset:-10px -10px auto auto;width:140px;height:140px;border-top:2px solid rgba(26,150,235,.55);border-right:2px solid rgba(26,150,235,.55);border-radius:0 42px 0 100%;pointer-events:none}.login-card:after{content:"🛡  Sistem selamat & dilindungi\A Data anda dienkripsi dan dilindungi sepenuhnya.";white-space:pre-line;padding:12px 14px;border-radius:12px;background:#eef7ff;color:#56718e;font-size:10px;line-height:1.5}.login-card form>button:not(.text-button){transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.login-card form>button:not(.text-button):hover{transform:translateY(-2px);filter:saturate(1.12);box-shadow:0 16px 34px rgba(16,98,210,.3)}.login-card input:focus{background:#fff;box-shadow:0 0 0 4px rgba(23,105,232,.11),0 8px 20px rgba(29,94,162,.07)}@media(max-width:900px){.login-shell{overflow-x:hidden;font-size:14px}.login-showcase:before{left:50px;right:-30px;top:6px;height:76px}.login-mini-brand:after{margin-left:10px}.login-visual{min-height:330px;border-radius:23px}.login-visual>img{object-position:center 52%}.login-visual-copy{left:14px;top:15px;padding:12px 14px;border-radius:15px}.login-product-name{font-size:40px}.login-visual-copy h2 small{font-size:14px}.login-visual-copy p{font-size:10px}.login-dashboard-preview{left:12px;bottom:12px;width:72%;min-height:112px;grid-template-columns:minmax(0,1fr) 42%;padding:10px}.login-dashboard-preview:after{margin-left:7px;border-radius:8px}.login-features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.login-features span{min-height:48px;grid-template-columns:25px 1fr;padding:7px;font-size:8px}.login-features span:before{width:22px;height:22px;font-size:11px}.login-features b{font-size:9px}.login-achievements{display:grid;grid-template-columns:1fr 1fr}.login-achievements span{max-width:none}.login-card{margin-top:2px}.login-card:before{width:90px;height:90px}}@media(max-width:430px){.login-visual{min-height:310px}.login-product-name{font-size:36px}.login-dashboard-preview{width:78%}.login-features{grid-template-columns:1fr 1fr}.login-features span:last-child{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.login-card form>button:not(.text-button){transition:none}}@media(min-width:901px){.login-shell{position:relative;display:block;min-height:100vh;padding:24px clamp(24px,4vw,68px) 28px}.login-showcase{max-width:none;padding-right:0}.login-visual{min-height:clamp(610px,78vh,790px)}.login-visual-copy{max-width:min(48vw,650px)}.login-card{position:absolute;z-index:8;top:50%;right:clamp(38px,5vw,86px);width:min(38vw,520px);min-height:min(710px,88vh);max-height:calc(100vh - 54px);overflow-y:auto;transform:translateY(-50%);background:rgba(255,255,255,.91);-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12)}.login-dashboard-preview{width:min(500px,48%)}.login-achievements,.login-features{max-width:calc(100% - min(40vw,560px) - 28px)}}@media(max-width:760px){body,html{max-width:100%;overflow-x:hidden}.app-shell,.app-shell>*,.attendance-controls,.ceria-controls,.content-topbar,.daily-fill-grid,.dashboard-group-grid,.panel,.panel>*,.rubric-grid,.stats,.student-list{min-width:0;max-width:100%}.mobile-sidebar-footer,.mobile-sidebar-top,.module-nav{width:min(78vw,292px);max-width:292px}.mobile-sidebar-top{height:126px;padding:9px 11px 7px}.sidebar-mobile-identity{gap:7px}.sidebar-mobile-logo{flex-basis:39px;width:39px;height:39px;border-radius:10px}.sidebar-mobile-identity b{font-size:15px}.sidebar-mobile-identity small{margin-top:1px;font-size:8px}.mobile-sidebar-top .sidebar-clock{margin-top:6px;padding:5px 7px;gap:3px;border-radius:9px}.mobile-sidebar-top .sidebar-clock strong{font-size:15px;letter-spacing:.8px}.mobile-sidebar-top .sidebar-clock span{padding-top:2px;font-size:6px}.module-nav{inset:126px auto 100px 0;padding:5px 9px 7px;gap:1px}.module-nav button{min-height:33px;padding:7px 9px;border-radius:8px;font-size:10.5px;line-height:1.15}.module-nav .nav-section-label{margin:6px 5px 2px;font-size:7px;letter-spacing:.1em}.mobile-sidebar-footer{min-height:100px;padding:7px 10px 8px;grid-template-columns:36px minmax(0,1fr);gap:6px}.sidebar-profile-photo{width:35px;height:35px}.sidebar-profile-photo span{font-size:16px}.mobile-sidebar-footer b{font-size:9.5px}.mobile-sidebar-footer small{margin-top:1px;font-size:7px}.mobile-sidebar-footer>button{padding:6px 8px;font-size:10px}.app-shell>.panel,.app-shell>section{width:calc(100% - 20px);margin-left:10px;margin-right:10px}.content-topbar{padding-left:10px;padding-right:10px}.content-topbar>div{min-width:0}.content-topbar b,.content-topbar small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel{overflow:hidden;padding:12px}.panel-head{align-items:flex-start;gap:8px}.panel-head>*{min-width:0}.attendance-controls,.ceria-controls,.quick-attendance{grid-template-columns:1fr!important}button,input,select,textarea{max-width:100%}.attendance-summary,.ceria-evidence-footer,.rubric-title,.student-list article{min-width:0;flex-wrap:wrap}.attendance-mode-tabs,.bulk-actions,.student-statuses,.summary-pills{max-width:100%;flex-wrap:wrap}.bulk-actions button,.student-statuses button{min-width:0;white-space:normal}.daily-fill-grid,.rubric-grid{grid-template-columns:1fr!important}.scale-buttons{grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.report-table-wrap,.table-wrap,[class*=table]{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}canvas,img,svg{max-width:100%;height:auto}}@media(max-width:900px){.login-shell{padding:8px 9px 18px}.login-showcase{display:flex;flex-direction:column}.login-visual{min-height:340px}.login-card{position:relative;z-index:6;width:calc(100% - 18px);margin:-38px auto 9px;padding:22px 18px;border:1px solid rgba(255,255,255,.95);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);box-shadow:0 24px 55px rgba(15,76,142,.25)}.login-card .crest{width:56px;height:56px}.login-card .eyebrow{margin-top:11px}.login-card h1{margin-top:5px;font-size:22px}.login-card .subtitle{font-size:12px}.login-card form{margin-top:17px}.login-card input{min-height:46px}.login-card form>button:not(.text-button){min-height:48px}.login-features{margin-top:8px}.login-achievements{margin-bottom:8px}}@media(max-width:430px){.login-visual{min-height:300px}.login-visual-copy{max-width:82%;padding:10px 12px}.login-product-name{font-size:32px}.login-dashboard-preview{display:none}.login-card{width:calc(100% - 12px);margin-top:-28px;padding:20px 15px}.login-features span{min-height:43px}.login-achievements span{padding:7px 8px;font-size:7px}}@media(min-width:901px){.login-card{top:24px;bottom:auto;transform:none;max-height:calc(100vh - 48px);min-height:0;justify-content:flex-start;padding-top:clamp(25px,3vh,42px);padding-bottom:25px}.login-card .crest{width:72px;height:72px}.login-card .eyebrow{margin-top:12px}.login-card h1{margin-top:7px}.login-card form{margin-top:18px}.login-card input{min-height:52px}.login-card form>button:not(.text-button){min-height:53px}.login-showcase{position:relative}.login-card{top:clamp(72px,9vh,105px);right:clamp(46px,5.5vw,94px);width:min(36vw,500px);max-height:calc(100vh - clamp(96px,12vh,132px));border-color:rgba(255,255,255,.86);background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(244,250,255,.87));box-shadow:0 30px 80px rgba(4,43,97,.3),inset 0 0 0 1px rgba(209,231,249,.62);-webkit-backdrop-filter:blur(20px) saturate(1.16);backdrop-filter:blur(20px) saturate(1.16)}.login-card:before{opacity:.65}}@media(min-width:901px) and (max-height:760px){.login-card{top:42px;right:40px;max-height:calc(100vh - 70px);width:min(38vw,490px);padding:20px 28px 22px}.login-card .crest{width:58px;height:58px}.login-card .eyebrow{margin-top:8px;font-size:9px}.login-card h1{margin:4px 0;font-size:25px}.login-card .subtitle{margin:3px 0;font-size:12px}.login-card form{margin-top:12px;gap:9px}.login-card label{font-size:11px}.login-card input{min-height:44px}.login-card form>button:not(.text-button){min-height:47px}.login-card:after{padding:8px 11px;font-size:8px}}@media(min-width:600px) and (max-width:900px){.login-shell{min-height:100vh;padding:10px 12px 20px}.login-shell,.login-showcase{position:relative;display:block}.login-visual{min-height:610px;padding-right:350px}.login-visual-copy{left:24px;top:27px;max-width:43%;padding:13px 15px}.login-product-name{font-size:36px}.login-visual-copy h2 small{font-size:13px}.login-visual-copy p{font-size:9px}.login-dashboard-preview{display:grid;left:20px;bottom:22px;width:41%;min-height:125px}.login-card{position:absolute;z-index:9;top:88px;right:27px;width:330px;max-width:48%;max-height:520px;min-height:0;margin:0;padding:21px 22px 19px;overflow-y:auto;border-radius:25px;background:rgba(255,255,255,.93);box-shadow:0 26px 65px rgba(5,48,104,.31);-webkit-backdrop-filter:blur(19px) saturate(1.14);backdrop-filter:blur(19px) saturate(1.14)}.login-card .crest{width:54px;height:54px}.login-card .eyebrow{margin-top:8px;font-size:8px}.login-card h1{margin:4px 0;font-size:22px}.login-card .subtitle{margin:2px 0;font-size:11px}.login-card form{margin-top:12px;gap:8px}.login-card label{font-size:10px}.login-card input{min-height:43px;font-size:12px}.login-card form>button:not(.text-button){min-height:45px;font-size:14px}.login-card .text-button{font-size:10px}.login-card:after{padding:7px 9px;font-size:7px}.login-features{grid-template-columns:repeat(5,1fr)}.login-features span:last-child{grid-column:auto}}.login-dashboard-preview{grid-template-columns:1fr!important}.login-dashboard-preview:after{display:none!important;content:none!important}.login-card{overflow-x:hidden!important}.login-card:before{inset:0 0 auto auto;width:105px;height:105px}@media(max-width:599px){.login-shell{display:flex;flex-direction:column;align-items:stretch;overflow-x:hidden}.login-showcase{display:contents}.login-mini-brand{order:1;width:100%}.login-visual{order:2;width:100%;min-height:285px;margin-bottom:0}.login-card{order:3;position:relative;z-index:7;width:calc(100% - 10px);max-height:none;margin:-24px auto 8px;padding:18px 15px 17px;border-radius:21px}.login-card .crest{width:50px;height:50px}.login-card .eyebrow{margin-top:7px;font-size:8px}.login-card h1{margin:4px 0;font-size:21px}.login-card .subtitle{font-size:11px}.login-card form{margin-top:13px;gap:9px}.login-card input{min-height:44px}.login-card form>button:not(.text-button){min-height:46px;font-size:14px}.login-card:after{padding:7px 9px;font-size:7px}.login-features{order:4;width:100%;margin-top:2px}.login-achievements{order:5;width:100%;margin:2px 0 7px}.kinabalu-silhouette{left:0}}@media(max-width:760px){.app-shell>header{min-height:78px;margin:0 -10px;padding:9px 16px;justify-content:flex-start;gap:11px}.mobile-menu-toggle{flex:0 0 46px;width:46px;height:46px;margin:0;padding:0;font-size:20px}.app-shell>header .app-brand{display:flex;flex:1 1 auto;align-items:center;gap:10px;margin:0;min-width:0}.app-shell>header .brand-mark{flex:0 0 44px;width:44px;height:44px;border-radius:11px}.app-shell>header .app-brand>div:last-child{min-width:0}.app-shell>header .app-brand .eyebrow{font-size:7px;line-height:1.1;white-space:nowrap}.app-shell>header .app-brand h1{margin:2px 0;font-size:16px;line-height:1.05}.app-shell>header .app-brand p:last-child{font-size:9px;line-height:1.1}.module-nav{inset:0 auto 0 0;width:74vw;max-width:325px;padding:10px 10px 18px;gap:2px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.module-nav .mobile-sidebar-top{position:static;display:block;width:auto;height:auto;margin:0;padding:3px 2px 10px;color:#fff;opacity:1;pointer-events:auto;transform:none;background:transparent;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-mobile-identity{gap:9px;padding:0}.sidebar-mobile-logo{flex:0 0 44px;width:44px;height:44px;border-radius:11px}.sidebar-mobile-identity b{font-size:17px}.sidebar-mobile-identity small{margin-top:2px;font-size:9px}.module-nav .mobile-sidebar-top .sidebar-clock{display:grid;margin-top:8px;padding:7px 8px;grid-gap:3px;gap:3px;border-radius:10px}.module-nav .mobile-sidebar-top .sidebar-clock strong{font-size:17px}.module-nav .mobile-sidebar-top .sidebar-clock span{padding-top:3px;font-size:7px}.module-nav .nav-section-label{margin:8px 7px 3px;font-size:8px;letter-spacing:.11em}.module-nav>button{min-height:40px;padding:9px 8px;border-radius:8px;font-size:15px;line-height:1.2}.module-nav .mobile-sidebar-footer{position:static;display:grid;width:auto;min-height:0;margin:28px 2px 0;padding:14px 0 0;grid-template-columns:44px minmax(0,1fr);grid-gap:9px;gap:9px;align-items:center;color:#fff;opacity:1;pointer-events:auto;transform:none;background:transparent;border-top:1px solid rgba(255,255,255,.16)}.module-nav .sidebar-profile-photo{width:42px;height:42px}.module-nav .mobile-sidebar-footer b{font-size:12px}.module-nav .mobile-sidebar-footer small{margin-top:2px;font-size:8px}.module-nav .mobile-sidebar-footer em{display:block;margin-top:2px;font-size:7px}.module-nav .mobile-sidebar-footer>button{grid-column:1/-1;min-height:40px;margin-top:5px;padding:9px 10px;font-size:13px}}@media(max-width:390px){.app-shell>header{padding-left:13px;padding-right:13px;gap:9px}.mobile-menu-toggle{flex-basis:44px;width:44px;height:44px}.app-shell>header .brand-mark{flex-basis:42px;width:42px;height:42px}.module-nav{max-width:calc(100vw - 72px);padding-left:8px;padding-right:8px}.module-nav>button{font-size:15px}}@media(max-width:760px){.module-nav>button{min-height:36px;padding:7px 8px;font-size:13px;line-height:1.18}}@media(max-width:390px){.module-nav>button{font-size:13px}}@media(max-width:599px){.login-shell{min-height:100svh;justify-content:center;gap:9px;padding:10px 12px;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.96),transparent 32%),linear-gradient(150deg,#edf8ff,#dcefff 55%,#cbe6ff)}.login-mini-brand{order:1;justify-content:center;width:100%;margin:0 auto 2px;padding:5px 8px}.login-mini-brand:after{display:none}.login-mini-logo{width:44px;height:44px}.login-mini-brand>span:last-child b{font-size:17px}.login-mini-brand small{font-size:8px}.login-achievements,.login-features,.login-visual{display:none!important}.login-card{order:2;width:100%;max-width:410px;min-height:0;max-height:none;margin:0 auto;padding:16px 15px 14px;border-radius:22px;justify-content:flex-start}.login-card:before{width:72px;height:72px;opacity:.55}.login-card .crest{width:48px;height:48px;border-radius:14px}.login-card .eyebrow{margin:7px 0 0;font-size:7px;letter-spacing:.12em}.login-card h1{margin:4px 0 2px;font-size:20px;line-height:1.12}.login-card .subtitle{margin:0;font-size:10px;line-height:1.35}.login-card form{margin-top:11px;gap:7px}.login-card label{gap:4px;font-size:10px}.login-card input{min-height:42px;padding:10px 12px;border-radius:11px;font-size:13px}.login-card form>button:not(.text-button){min-height:43px;border-radius:11px;font-size:14px}.login-card .text-button{min-height:27px;padding:3px 6px;font-size:9px}.login-card>small{margin-top:5px;font-size:8px;line-height:1.25}.login-card:after{margin-top:8px;padding:6px 8px;font-size:6.5px}}@media(max-width:599px) and (max-height:700px){.login-shell{justify-content:flex-start;padding-top:7px;padding-bottom:7px;gap:5px}.login-mini-brand{padding:2px 6px}.login-mini-logo{width:38px;height:38px}.login-card{padding:12px 13px 10px}.login-card .crest{width:42px;height:42px}.login-card form{margin-top:8px;gap:5px}.login-card input{min-height:39px}.login-card form>button:not(.text-button){min-height:40px}.login-card:after{margin-top:5px}}.attendance-review-panel .panel-head label{display:grid;grid-gap:5px;gap:5px;min-width:170px;font-size:10px;font-weight:850}.attendance-review-panel .panel-head input{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}.attendance-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:9px;gap:9px;margin-top:14px}.attendance-review-grid article{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:5px 12px;gap:5px 12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-left:4px solid #0aa66c;border-radius:10px;background:#fff}.attendance-review-grid article.missing{border-left-color:#e29a10;background:#fffaf0}.attendance-review-grid article>div{grid-row:1/3;min-width:0}.attendance-review-grid b,.attendance-review-grid small{display:block}.attendance-review-grid small{margin-top:4px}.attendance-review-grid article>span,.attendance-review-grid small{color:var(--muted);font-size:9px}.attendance-review-grid article>span strong{display:inline;color:var(--ink);font-size:12px}.attendance-review-grid article>em{grid-column:2/4;color:#087c59;font-size:18px;font-style:normal;font-weight:900;text-align:right}.attendance-review-grid .review-missing{grid-column:2/4;grid-row:1/3;color:#a45a05;font-size:11px;font-weight:850}.attendance-review-grid>.empty{grid-column:1/-1}@media(max-width:600px){.attendance-review-panel .panel-head label{width:100%;min-width:0}.attendance-review-grid{grid-template-columns:1fr}.attendance-review-grid article{padding:11px 12px}.attendance-review-grid article>em{font-size:16px}}.teacher-registry-toggle{display:flex;width:100%;min-height:46px;align-items:center;justify-content:space-between;margin-top:14px;padding:12px 15px;border:1px solid #cbdced;border-radius:10px;background:linear-gradient(90deg,#edf6ff,#f8fbff);color:#0b4f87;font-weight:900;text-align:left}.teacher-registry-toggle span{font-size:11px}.teacher-registry.collapsed .bulk-account-panel,.teacher-registry.collapsed .intern-account-panel,.teacher-registry.collapsed .notice,.teacher-registry.collapsed .teacher-registry-list,.teacher-registry.collapsed .teacher-registry-pagination,.teacher-registry.collapsed .teacher-registry-tabs,.teacher-registry.collapsed .teacher-registry-tools,.teacher-registry.collapsed .teacher-search-bar{display:none}.teacher-registry.expanded .teacher-registry-toggle{background:#0b5da5;color:#fff}@media (max-width:600px){.teacher-registry-toggle{min-height:44px;margin-top:10px;padding:10px 12px;font-size:12px}}.mobile-bottom-nav{display:none}@media(max-width:760px){.app-shell{padding-bottom:88px}.module-nav>button{min-height:34px;padding:6px 8px;font-size:12px;line-height:1.15}.mobile-bottom-nav{position:fixed;z-index:60;right:10px;bottom:max(9px,env(safe-area-inset-bottom));left:10px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px;padding:6px;border:1px solid #cfdae8;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 10px 34px rgba(11,31,58,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-nav button{display:grid;justify-items:center;grid-gap:2px;gap:2px;min-width:0;min-height:48px;padding:6px 3px;border-radius:13px;background:transparent;color:#617087;font-size:10px}.mobile-bottom-nav button span{font-size:17px;line-height:1}.mobile-bottom-nav button b{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.mobile-bottom-nav button.active{background:#e8f1ff;color:#095fc5}}@media(max-width:600px){.class-status-list{grid-template-columns:1fr}.class-status-list article{align-items:flex-start;padding:11px 12px}.class-status-list article div{flex:1 1;min-width:0}.class-status-list b{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.class-status-badge{margin-top:1px;white-space:nowrap}}.attendance-review-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:14px 0}.attendance-review-filters label{display:grid;grid-gap:6px;gap:6px;font-size:11px;font-weight:850}.attendance-review-filters select{width:100%;min-height:43px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}.dashboard-grade-rankings{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.dashboard-grade-rankings>h3{margin:0 0 12px}.dashboard-grade-rankings>section{margin-top:12px}.dashboard-grade-rankings>section>h4{margin:0 0 8px;color:#0b4f87}.dashboard-grade-rankings>section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.dashboard-grade-rankings .dashboard-ranking-card{margin:0;background:#fff}@media(max-width:700px){.attendance-review-filters,.dashboard-grade-rankings>section>div{grid-template-columns:1fr}.dashboard-grade-rankings{padding:12px}}.telegram-recipient-editor{display:grid;grid-gap:9px;gap:9px;padding:12px;border:1px solid rgba(21,96,189,.16);border-radius:14px;background:rgba(240,247,255,.72)}.telegram-recipient-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.telegram-recipient-heading button{min-height:34px;padding:6px 11px}.telegram-recipient-row{display:grid;grid-template-columns:1fr 1.2fr minmax(112px,.7fr) auto;grid-gap:8px;gap:8px;align-items:center}.telegram-recipient-row input,.telegram-recipient-row select{min-width:0}.telegram-recipient-row .danger-action{min-height:40px;padding:8px 12px}@media(max-width:700px){.telegram-recipient-row{grid-template-columns:1fr}}.admin-section-tabs,.class-view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;padding:7px;background:#edf3f8;border:1px solid #d5e2eb;border-radius:14px}.admin-section-tabs button,.class-view-tabs button{border:0;background:transparent;color:#24455f;padding:10px 14px;border-radius:10px;font-weight:800;cursor:pointer}.admin-section-tabs button.active,.class-view-tabs button.active{background:#075b4d;color:#fff;box-shadow:0 5px 14px rgba(7,91,77,.2)}.class-view-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.25)}.priority-students{border:1px solid #f1c8a7;background:#fffaf5}.attention-filters{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.attention-filters button{border:1px solid #cbd9e2;background:#fff;color:#36556b;border-radius:999px;padding:7px 12px;font-weight:750;cursor:pointer}.attention-filters button.active{background:#0b6b5b;border-color:#0b6b5b;color:#fff}.student-attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:10px;gap:10px}.student-attention-grid>article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #dde6ec;background:#fff;border-radius:12px}.attention-student-name{display:flex;flex-direction:column;gap:4px;min-width:0}.attention-student-name b{color:#16384d}.attention-student-name small{color:#6a7e8b;font-size:.72rem}.attention-counts{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.attention-counts span{padding:5px 8px;border-radius:999px;font-size:.72rem;white-space:nowrap}.attention-counts .tidak_hadir{background:#fff0d7;color:#8a4b00}.attention-counts .lewat{background:#e7f2ff;color:#075c9c}.attention-counts .ponteng{background:#ffe1e1;color:#a12626}.official-students{background:#f4fbfd;border-color:#bfe4ec}.class-status-badge.official{background:#e6f7fb;color:#08768e}.class-summary-list{display:grid;grid-gap:8px;gap:8px}.class-summary-list p{display:flex;align-items:center;justify-content:space-between;margin:0;padding:11px 0;border-bottom:1px solid #e4ebef}.admin-section-tabs{position:-webkit-sticky;position:sticky;top:8px;z-index:8;background:rgba(237,243,248,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:700px){.admin-section-tabs,.class-view-tabs{display:grid;grid-template-columns:1fr 1fr;position:static}.class-view-tabs button:first-child{grid-column:1/-1}.student-attention-grid{grid-template-columns:1fr}.student-attention-grid>article{align-items:flex-start;flex-direction:column}.attention-counts{justify-content:flex-start}}@media(min-width:761px){.app-shell>header .header-actions{display:none}.module-nav{bottom:126px}.module-nav .mobile-sidebar-footer{position:fixed;z-index:32;bottom:0;left:0;display:grid;width:250px;min-height:126px;grid-template-columns:48px minmax(0,1fr);grid-gap:9px;gap:9px;align-items:center;padding:13px 14px 12px;color:#fff;background:linear-gradient(180deg,#0a5368,#08394f);border-top:1px solid rgba(255,255,255,.15);box-shadow:8px 0 25px rgba(7,31,58,.12)}.module-nav .sidebar-profile-photo{position:relative;display:grid;width:46px;height:46px;place-items:center;overflow:hidden;border:2px solid #91e8dc;border-radius:50%;background:#13304d;cursor:pointer}.module-nav .sidebar-profile-photo img{width:100%;height:100%;object-fit:cover}.module-nav .sidebar-profile-photo span{font-size:19px;font-weight:900}.module-nav .sidebar-profile-photo input{position:absolute;width:1px;height:1px;opacity:0}.module-nav .mobile-sidebar-footer>div{min-width:0}.module-nav .mobile-sidebar-footer b,.module-nav .mobile-sidebar-footer em,.module-nav .mobile-sidebar-footer small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-nav .mobile-sidebar-footer b{font-size:11px}.module-nav .mobile-sidebar-footer small{margin-top:2px;color:#b9d1df;font-size:8px}.module-nav .mobile-sidebar-footer em{margin-top:2px;color:#79e2d8;font-size:7px;font-style:normal}.module-nav .mobile-sidebar-footer>button{grid-column:1/-1;min-height:34px;width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.17);border-radius:9px;background:rgba(3,20,43,.3);color:#ffd7d7;font-size:10px;text-align:left}}.inbox-action{position:relative;display:flex;align-items:center;gap:7px;background:#fff3cc;color:#795300;border:1px solid #efd06d}.inbox-action b{display:grid;min-width:21px;height:21px;place-items:center;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:10px}.teacher-inbox{margin:16px 0;padding:16px;border:1px solid #c9dceb;border-radius:16px;background:linear-gradient(145deg,#f8fbff,#eef7ff)}.teacher-inbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-inbox-head h3{margin:0 0 3px}.teacher-inbox-head p{margin:0;color:var(--muted);font-size:12px}.teacher-inbox-head button{padding:9px 12px;background:#0b5da5;font-size:11px}.teacher-inbox-list{display:grid;grid-gap:8px;gap:8px;max-height:420px;margin-top:13px;overflow:auto}.teacher-inbox-list article{display:grid;grid-template-columns:20px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:start;padding:13px;border:1px solid #dce6ef;border-radius:12px;background:#fff;cursor:pointer}.teacher-inbox-list article.unread{border-left:4px solid #1769e8;background:#fafdff}.teacher-inbox-list article.read{opacity:.72}.teacher-inbox-list article>span{color:#1769e8;font-weight:900}.teacher-inbox-list b{display:block;color:#173752}.teacher-inbox-list p{margin:4px 0;color:#455f74;font-size:12px;line-height:1.45}.teacher-inbox-list small{color:#718397;font-size:10px}.teacher-inbox-list em{padding:4px 7px;border-radius:999px;background:#e5efff;color:#1769e8;font-size:9px;font-style:normal;font-weight:900}@media(max-width:600px){.my-class-panel .panel-head{align-items:flex-start}.my-class-panel .panel-head .module-actions{justify-content:flex-start}.teacher-inbox{padding:12px}.teacher-inbox-head{align-items:flex-start;flex-direction:column}.teacher-inbox-list article{grid-template-columns:18px minmax(0,1fr)}.teacher-inbox-list em{grid-column:2}}.emasa-test{max-width:820px;margin:0 auto}._unused-emasa-test-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 14px;border:1px solid #e8c25e;border-radius:12px;background:#fff7d9;color:#755200}._unused-emasa-test-banner span{padding:5px 9px;border-radius:999px;background:#d99a14;color:#fff;font-size:9px;font-weight:900;letter-spacing:.09em}._unused-emasa-test-banner b{font-size:11px}.emasa-card,.emasa-record{overflow:hidden;border:1px solid #d5e1ec;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(12,42,72,.1)}.emasa-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:22px;background:linear-gradient(145deg,#082452,#123f79 70%,#2361a4);color:#fff}.emasa-hero small{color:#bad0e9;font-size:9px;font-weight:850;letter-spacing:.09em}.emasa-hero h2{margin:4px 0 0;font-size:26px}.emasa-hero>span{align-self:start;padding:7px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;font-weight:850}.emasa-hero>span.active{background:#dffff0;color:#08744c}.emasa-hero>span.complete{background:#fff1bd;color:#765000}.emasa-hero>strong{margin-top:25px;font-size:48px;line-height:1;letter-spacing:-.04em}.emasa-hero>p,.emasa-hero>strong{grid-column:1/-1;text-align:center}.emasa-hero>p{margin:7px 0 0;color:#d8e5f3;font-size:12px}.emasa-body{padding:19px}.emasa-setup{display:grid;grid-gap:12px;gap:12px;padding:17px;border:1px solid #cfe1ee;border-radius:16px;background:#f7fbff}.emasa-camera h3,.emasa-setup h3{margin:0}.emasa-camera p,.emasa-setup p{margin:0;color:#61768b;font-size:12px;line-height:1.5}.emasa-setup label{display:grid;grid-gap:6px;gap:6px;font-size:11px;font-weight:850}.emasa-setup label>div{display:flex}.emasa-setup input{width:130px;border:1px solid #c7d7e5;border-radius:10px 0 0 10px;padding:11px;font:inherit}.emasa-setup label span{display:grid;place-items:center;padding:0 12px;border:1px solid #c7d7e5;border-left:0;border-radius:0 10px 10px 0;background:#eef4f9;color:#5e7184}.emasa-camera button,.emasa-setup button{min-height:48px;border:0;border-radius:12px;background:#0b659f;color:#fff;font-weight:850}.emasa-location{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #c5eddd;border-radius:14px;background:#ecfaf4}.emasa-location>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#0b9c67;color:#fff;font-size:20px}.emasa-location div{display:grid;grid-gap:3px;gap:3px;min-width:0}.emasa-location b{font-size:13px}.emasa-location small{color:#577368;font-size:10px}.emasa-location i{margin-left:auto;color:#0b8058;font-size:10px;font-style:normal;font-weight:900}.emasa-position{display:grid;grid-gap:4px;gap:4px;margin-top:12px;padding:13px;border:1px solid #b9d5ef;border-radius:13px;background:#f0f7ff}.emasa-position b{color:#0a568d}.emasa-position small,.emasa-position span{color:#5a7184;font-size:11px}.emasa-main-action{width:100%;min-height:58px;margin-top:15px;border:0;border-radius:15px;background:linear-gradient(135deg,#0eaa70,#087a54);box-shadow:0 9px 20px rgba(14,157,104,.25);color:#fff;font-size:17px;font-weight:900}.emasa-main-action.out{background:linear-gradient(135deg,#f1b33e,#d8801f);box-shadow:0 9px 20px rgba(217,138,40,.24)}.emasa-camera{display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding:16px;border:1px dashed #98adc2;border-radius:16px;background:#f7faff;text-align:center}.emasa-face{display:grid;width:84px;height:84px;margin:auto;place-items:center;border:2px solid #7396b8;border-radius:50%;background:#e7f0fa;color:#123f79;font-size:40px}.emasa-camera button.ghost{min-height:38px;background:transparent;color:#49647b}.emasa-camera-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.emasa-record{margin-top:14px;padding:17px}.emasa-record .panel-head{margin-bottom:13px}.emasa-record h3{margin:0}.emasa-record .panel-head p{margin:3px 0 0;color:#6e8090;font-size:10px}.emasa-record .danger-action{min-height:35px;padding:8px 11px;font-size:10px}.emasa-timeline{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.emasa-timeline article{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #dce6ef;border-radius:14px;background:#fafffd}.emasa-timeline article.waiting{opacity:.6;background:#f6f8fa}.emasa-timeline article>span,.emasa-timeline img{width:56px;height:56px;border-radius:13px;object-fit:cover}.emasa-timeline article>span{display:grid;place-items:center;background:#dfeaf5;color:#426079;font-size:10px;font-weight:900}.emasa-timeline article>div{display:grid;grid-gap:3px;gap:3px}.emasa-timeline b{color:#5d7182;font-size:9px}.emasa-timeline strong{font-size:15px}.emasa-timeline small{color:#788b9a;font-size:9px}.emasa-privacy{margin:12px 10px;color:#7c8d9a;font-size:10px;text-align:center}@media(max-width:600px){.emasa-test{margin:-3px}._unused-emasa-test-banner{align-items:flex-start;flex-direction:column}.emasa-card,.emasa-record{border-radius:18px}.emasa-hero{padding:18px}.emasa-hero>strong{font-size:42px}.emasa-body{padding:14px}.emasa-timeline{grid-template-columns:1fr}}.emasa-location>button{margin-left:auto;padding:7px 9px;border:1px solid #acd9c7;border-radius:9px;background:#fff;color:#08744c;font-size:9px;font-weight:850}.emasa-admin-settings{max-width:900px;margin:0 auto}.emasa-admin-settings .status-pill{white-space:nowrap}.emasa-settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.emasa-settings-grid label{display:grid;grid-gap:7px;gap:7px;color:#263b50;font-size:11px;font-weight:850}.emasa-settings-grid label.wide{grid-column:1/-1}.emasa-settings-grid input,.emasa-settings-grid textarea{width:100%;border:1px solid #cbd9e5;border-radius:11px;padding:11px 12px;background:#fff;color:#12263a;font:inherit}.emasa-settings-grid textarea{resize:vertical;line-height:1.45}.emasa-settings-grid small{color:#718293;font-size:9px;font-weight:500}.emasa-settings-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.emasa-settings-actions a,.emasa-settings-actions button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border-radius:11px;padding:10px 14px;font-size:11px;font-weight:850;text-decoration:none}.emasa-settings-actions a{border:1px solid #b8cada;background:#f6faff;color:#24567d}.emasa-settings-actions button{border:0;background:#0c659d;color:#fff}@media(max-width:600px){.emasa-settings-grid{grid-template-columns:1fr}.emasa-settings-grid label.wide{grid-column:auto}.emasa-settings-actions{flex-direction:column}.emasa-settings-actions a,.emasa-settings-actions button{width:100%}}.summary-pills .rasmi{background:#e2f2ff;color:#155a8a}.bulk-actions .aktiviti_rasmi:hover,.status-btn.aktiviti_rasmi.selected{background:#1677b8;border-color:#1677b8;color:#fff}.compact-filter{grid-template-columns:minmax(180px,320px);justify-content:center}.secondary-actions{position:relative}.secondary-actions summary{cursor:pointer;list-style:none;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-weight:800;color:var(--muted);background:#fff}.secondary-actions[open] .danger-action{display:block;margin-top:8px;width:100%}.telegram-test-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7faf9}.telegram-test-bar label{flex:1 1;min-width:210px}.telegram-test-bar select{width:100%;margin-top:6px}.danger-zone{border:1px solid #f0b7b7;border-radius:14px;background:#fff8f8}.danger-zone>summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;padding:16px;color:#a61b1b}.danger-zone>button,.danger-zone>div,.danger-zone>p{margin-left:16px;margin-right:16px}.danger-zone>.reset-confirmation{margin:0 16px 16px}@media(max-width:720px){.compact-filter{grid-template-columns:1fr}.week-navigation button:first-child,.week-navigation button:last-child{min-width:46px}.telegram-test-bar{align-items:stretch}.telegram-test-bar button{width:100%}}.emasa-history,.emasa-presence{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.emasa-presence-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;padding:16px;border-radius:14px;background:#f7faf9}.emasa-presence-form .wide{grid-column:1/-1}.emasa-presence-form input,.emasa-presence-form select,.emasa-presence-form textarea{width:100%;margin-top:6px}.emasa-presence-current{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px;border:1px solid #c9ddd5;border-radius:14px;background:#f2faf6}.emasa-presence-current b,.emasa-presence-current p,.emasa-presence-current small{display:block}.emasa-presence-current p{margin:8px 0}.emasa-presence-current .status-pill{display:inline-block;margin-left:10px}.emasa-presence-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.emasa-history .module-table{margin-top:12px}@media(max-width:720px){.emasa-presence-form{grid-template-columns:1fr}.emasa-presence-current{flex-direction:column}.emasa-presence-actions{width:100%}.emasa-presence-actions button{flex:1 1}}@media print{.emasa-test .emasa-card,.emasa-test .emasa-presence,.emasa-test .emasa-privacy{display:none!important}.emasa-history{border:0;padding:0}}.emasa-form-banner{grid-column:1/-1;padding:14px;border-radius:12px;background:#eaf4ff;color:#123b68}.emasa-deadline b,.emasa-deadline span,.emasa-form-banner b,.emasa-form-banner small,.emasa-history td small{display:block}.emasa-form-banner small{margin-top:4px;color:var(--muted)}.emasa-class-section{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.emasa-class-row{display:grid;grid-template-columns:.7fr 1fr 1fr 1.4fr auto;grid-gap:8px;gap:8px;margin-top:8px}.emasa-class-row input{margin:0}.emasa-deadline{margin:0;padding:12px;border-left:4px solid #d69b00;border-radius:8px;background:#fff7d9;color:#704f00}.emasa-deadline span{margin-top:4px;font-size:12px}.late-submission{margin-top:4px;color:#a61b1b;font-weight:800}@media(max-width:720px){.emasa-class-row{grid-template-columns:1fr}.emasa-class-row .danger-action{width:100%}}.emasa-staff-type{display:flex;align-items:center;justify-content:space-between;gap:12px}.emasa-staff-type>div{display:flex;gap:8px}.emasa-staff-type button{min-width:92px;border:1px solid #cbd5e1;background:#fff;color:#334155}.emasa-staff-type button.selected{border-color:#166534;background:#166534;color:#fff}@media (max-width:640px){.emasa-staff-type{align-items:stretch;flex-direction:column}.emasa-staff-type button,.emasa-staff-type>div{width:100%}}.emasa-presence-current{align-items:stretch}.emasa-presence-summary{min-width:0;flex:1 1}.emasa-presence-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.emasa-relief-classes{display:grid;grid-gap:8px;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #dbe5df}.emasa-history-classes>div,.emasa-relief-classes>div{display:grid;grid-template-columns:minmax(100px,1.1fr) minmax(90px,1fr) minmax(90px,1fr);grid-gap:6px 12px;gap:6px 12px;padding:9px 11px;border:1px solid #dbe5df;border-radius:10px;background:#f8fbf9}.emasa-history-classes small,.emasa-relief-classes small{grid-column:1/-1;color:#475569}.emasa-approval-box{display:flex;flex-direction:column;gap:8px;min-width:min(100%,260px);padding:14px;border:1px solid #b9d4c2;border-radius:12px;background:#f0f8f3}.emasa-history-classes{display:grid;grid-gap:6px;gap:6px;margin-top:9px}@media (max-width:720px){.emasa-presence-current{flex-direction:column}.emasa-approval-box{width:100%}.emasa-history-classes>div,.emasa-relief-classes>div{grid-template-columns:1fr}.emasa-history-classes small,.emasa-relief-classes small{grid-column:auto}}.emasa-table-approval{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.emasa-table-approval button{padding:7px 10px;font-size:.78rem}.duty-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}.duty-shortcuts button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 16px;border:0;border-radius:12px;color:#fff;font-size:12px;box-shadow:0 5px 14px #173b6620;transition:transform .16s ease,box-shadow .16s ease}.duty-shortcuts button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #173b662b}.duty-shortcuts button span{font-size:15px}.duty-shortcut-report{background:linear-gradient(135deg,#1769e8,#2459c7)}.duty-shortcut-certificate{background:linear-gradient(135deg,#d59a00,#b97800)}.duty-report-controls{display:grid;grid-template-columns:minmax(205px,auto) minmax(170px,220px) minmax(250px,1fr);align-items:end;grid-gap:14px;gap:14px;margin:16px 0 18px;padding:15px;border:1px solid #d7e2ee;border-radius:16px;background:linear-gradient(135deg,#f7faff,#f4faf7);box-shadow:0 5px 16px #163b6620}.duty-week-navigation{display:grid;grid-template-columns:42px minmax(120px,1fr) 42px;grid-gap:7px;gap:7px}.duty-week-navigation button{height:42px;padding:0;border:1px solid #cfdaea;border-radius:11px;background:#fff;color:#28527e;font-weight:900;box-shadow:0 2px 6px #173b6612}.duty-week-navigation .current-week{padding:0 14px;color:#174a7c;background:#edf5ff}.duty-session-control{display:block;margin:0;color:#53677f;font-size:11px;font-weight:900}.duty-session-control span{display:block;margin-bottom:6px;letter-spacing:.4px;text-transform:uppercase}.duty-session-control select{width:100%;height:42px;padding:0 12px;border:1px solid #cfdaea;border-radius:11px;background:#fff;color:#172033;font:inherit;font-size:12px;font-weight:900}.duty-period-card{min-height:42px;padding:9px 13px;border-left:4px solid #0b7a55;border-radius:10px;background:#fff}.duty-period-card b,.duty-period-card small,.duty-period-card span{display:block}.duty-period-card small{color:#6b7c90;font-size:9px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}.duty-period-card b{margin-top:2px;color:#0d513f;font-size:13px}.duty-period-card span{margin-top:2px;color:#53677f;font-size:11px}@media(max-width:720px){.duty-shortcuts{display:grid;grid-template-columns:1fr 1fr}.duty-shortcuts button{justify-content:center;padding:10px}.duty-report-controls{grid-template-columns:1fr;gap:11px;padding:12px}.duty-period-card{grid-row:1}.duty-week-navigation{grid-row:2}.duty-session-control{grid-row:3}.duty-session-control select,.duty-week-navigation button{height:44px}}@media(max-width:420px){.duty-shortcuts{grid-template-columns:1fr}.duty-shortcuts button{width:100%}}.individual-account-panel{border-color:#9fd6b7;background:linear-gradient(135deg,#f1fbf6,#f7fffb)}.individual-account-fields{grid-template-columns:1.15fr 1.15fr 1fr .78fr .65fr .8fr auto}@media (max-width:1250px){.individual-account-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.individual-account-fields button{width:100%}}@media (max-width:600px){.individual-account-fields{grid-template-columns:1fr}}.teacher-registry-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px;margin:14px 0;padding:5px;border:1px solid #d7e2ef;border-radius:13px;background:#f3f7fb}.teacher-registry-tabs button{min-height:42px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:#53657a;font-size:11px;font-weight:850}.teacher-registry-tabs button.active{background:#1769e8;color:#fff;box-shadow:0 5px 14px rgba(23,105,232,.2)}.teacher-registry-tabs button span{display:inline-grid;min-width:20px;height:20px;place-items:center;margin-left:3px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.22);font-size:9px}.teacher-registry-tabs button:not(.active) span{background:#dfe9f6;color:#38516e}.teacher-search-bar{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fbff}.teacher-search-bar label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:11px;font-weight:850}.teacher-search-bar input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}.teacher-registry-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;color:var(--muted);font-size:10px;font-weight:800}.teacher-registry-pagination>div{display:flex;align-items:center;gap:7px}.teacher-registry-pagination button{display:grid;width:36px;height:34px;place-items:center;padding:0;border:1px solid #ccdaea;border-radius:9px;background:#fff;color:#145fc7}.teacher-registry-pagination button:disabled{opacity:.38}.teacher-registry-pagination b{min-width:46px;text-align:center}@media(max-width:520px){.teacher-registry-tabs{gap:4px;padding:4px}.teacher-registry-tabs button{min-height:48px;padding:7px 4px;font-size:9px;line-height:1.2}.teacher-registry-tabs button span{display:none}.teacher-registry-pagination{position:-webkit-sticky;position:sticky;z-index:2;bottom:78px;padding:8px 9px;border:1px solid #dbe5ef;border-radius:11px;background:rgba(255,255,255,.96);box-shadow:0 5px 15px rgba(10,39,74,.08)}}.emasa-manual-panel{margin-top:20px;padding:18px;border:1px solid #efcf83;border-radius:15px;background:linear-gradient(145deg,#fffdf7,#fff7df)}.emasa-manual-grid{display:grid;grid-template-columns:1fr .75fr .75fr;grid-gap:11px;gap:11px;margin-top:14px}.emasa-manual-grid .wide{grid-column:1/-1}.emasa-manual-grid label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:11px;font-weight:850}.emasa-manual-grid input,.emasa-manual-grid select{width:100%;min-height:42px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}.emasa-manual-note{margin:12px 0;color:#71521a;font-size:11px;line-height:1.5}.emasa-manual-submit{width:100%;min-height:44px}@media(max-width:650px){.emasa-manual-panel{padding:14px}.emasa-manual-grid{grid-template-columns:1fr}.emasa-manual-grid .wide{grid-column:auto}}@media print{.emasa-admin-settings .emasa-manual-panel,.emasa-admin-settings .emasa-settings-actions,.emasa-admin-settings .emasa-settings-grid{display:none!important}}.emasa-analytics{max-width:1180px;margin:20px auto 0}.emasa-analytics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:2px solid #0f704f}.emasa-analytics-heading h2{margin:2px 0 5px;color:#164f3b}.emasa-analytics-heading p{margin:0;color:var(--muted)}.emasa-analytics-actions{display:flex;gap:8px;flex-wrap:wrap}.emasa-analytics-actions button{min-height:42px;padding:10px 14px}.emasa-analytics-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;align-items:end;grid-gap:10px;gap:10px;margin:16px 0;padding:14px;border:1px solid #d9e4ee;border-radius:14px;background:#f7fafc}.emasa-analytics-filters label{display:grid;grid-gap:6px;gap:6px;color:#53677f;font-size:10px;font-weight:850}.emasa-analytics-filters input,.emasa-analytics-filters select{width:100%;min-height:42px;padding:9px 10px;border:1px solid #cddae7;border-radius:9px;background:#fff;color:#172033;font:inherit}.emasa-analytics-filters button{min-height:42px;white-space:nowrap}.emasa-analytics-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;margin:12px 0 16px;padding:5px;border:1px solid #d6e3ed;border-radius:13px;background:#eef4f8}.emasa-analytics-tabs button{min-height:42px;border:0;border-radius:9px;background:transparent;color:#53677f;font-size:11px;font-weight:900}.emasa-analytics-tabs button.active{background:#1769e8;color:#fff;box-shadow:0 5px 14px rgba(23,105,232,.2)}.emasa-analytics-section{display:grid;grid-gap:14px;gap:14px}.emasa-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.emasa-stat-grid article{display:grid;grid-gap:4px;gap:4px;padding:15px;border:1px solid #dbe5ed;border-radius:14px;background:linear-gradient(145deg,#fff,#f6faf8)}.emasa-stat-grid span{color:#53677f;font-size:10px;font-weight:850}.emasa-stat-grid strong{color:#0f6045;font-size:28px}.emasa-stat-grid small{color:#7a8a99;font-size:9px}.emasa-presence-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.emasa-presence-summary-grid article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-left:4px solid #d49a0b;border-radius:10px;background:#fff9e9}.emasa-presence-summary-grid span{color:#5f4b1f;font-size:11px;font-weight:850}.emasa-presence-summary-grid strong{color:#8b6200;font-size:20px}.emasa-analytics .module-table td small,.emasa-analytics .module-table td span{display:block}.emasa-analytics .module-table td small{margin-top:3px;color:var(--muted)}.emasa-analysis-note{margin:0;padding:11px;border-radius:9px;background:#eef6ff;color:#50677d;font-size:10px}.emasa-report-meta{display:none}@media(max-width:900px){.emasa-analytics-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.emasa-analytics-filters button{grid-column:1/-1}.emasa-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.emasa-analytics{margin-top:14px;padding:14px}.emasa-analytics-heading{flex-direction:column}.emasa-analytics-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.emasa-analytics-filters{grid-template-columns:1fr;padding:11px}.emasa-analytics-filters button{grid-column:auto}.emasa-analytics-tabs{grid-template-columns:1fr 1fr}.emasa-analytics-tabs button{min-height:46px;font-size:10px}.emasa-stat-grid{grid-template-columns:1fr 1fr}.emasa-presence-summary-grid{grid-template-columns:1fr}}@media print{.emasa-test{display:none!important}.emasa-analytics{max-width:none;margin:0;padding:0;border:0;box-shadow:none}.emasa-analytics-heading{display:none!important}.emasa-report-meta{display:flex!important;flex-direction:column;gap:4px;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid #164f3b;text-align:center}.emasa-report-meta b{font-size:16px;color:#164f3b}.emasa-report-meta span{font-size:10px}.emasa-presence-summary-grid,.emasa-stat-grid{grid-template-columns:repeat(3,1fr)}.emasa-analytics .table-wrap{overflow:visible}.emasa-analytics .module-table{font-size:8px}.emasa-analytics .module-table td,.emasa-analytics .module-table th{padding:6px}}.emasa-analytics,.emasa-analytics-heading,.emasa-analytics-section,.emasa-presence-summary-grid,.emasa-stat-grid,.emasa-test{width:100%;min-width:0;max-width:100%}.emasa-analytics,.emasa-test{overflow-x:hidden}.emasa-analytics .table-wrap{display:block;width:100%;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.emasa-analytics .table-wrap>.module-table{width:max-content;min-width:100%;max-width:none;overflow:visible;border-collapse:collapse}.emasa-analytics-filters>*,.emasa-analytics-heading>div,.emasa-presence-current>*,.emasa-presence-summary-grid>*,.emasa-stat-grid>*{min-width:0}@media(max-width:600px){.app-shell:has(.emasa-analytics),.app-shell:has(.emasa-test){width:100%;max-width:100vw;overflow-x:hidden}.emasa-test{margin:0}.emasa-analytics,.emasa-card,.emasa-history,.emasa-presence,.emasa-record{max-width:100%;overflow-wrap:anywhere}.emasa-location,.emasa-location>div{min-width:0}.emasa-location small{white-space:normal}.emasa-analytics .table-wrap{border:1px solid var(--line);border-radius:8px}}.emasa-hero>span.danger{background:#fee2e2;color:#a91414;border-color:#fecaca}.emasa-timeline article.late,.emasa-timeline article.unauthorized{border-color:#ef9a9a;background:#fff5f5}.emasa-timeline article.late>span,.emasa-timeline article.unauthorized>span{background:#d92323;color:#fff}.emasa-time-status{display:inline-flex;width:max-content;max-width:100%;margin:2px 0;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;line-height:1.25}.emasa-time-status.success{background:#dcfce7;color:#166534}.emasa-time-status.danger{background:#fee2e2;color:#b91c1c}.emasa-early-exit{width:100%;max-width:820px;min-width:0;margin:16px auto 0;padding:18px;border:1px solid #e8c56e;border-radius:16px;background:linear-gradient(145deg,#fffdf5,#fff8df)}.emasa-early-exit .panel-head{align-items:flex-start}.emasa-early-exit-form{display:grid;grid-gap:10px;gap:10px}.emasa-early-exit-form label{display:grid;grid-gap:6px;gap:6px;color:#5f4b1f;font-size:11px;font-weight:850}.emasa-early-exit-form textarea{width:100%;resize:vertical}.emasa-early-exit-current{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #ead494;border-radius:11px;background:#fff}.emasa-early-exit-current>div:first-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.emasa-early-exit-current small{color:var(--muted)}.emasa-early-exit-list{display:grid;grid-gap:9px;gap:9px}.emasa-early-exit-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #ead494;border-radius:11px;background:#fff}.emasa-early-exit-list article>div:first-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.emasa-early-exit-list span{color:var(--muted);font-size:11px}.emasa-early-exit-list article>div:last-child{display:flex;gap:7px}.emasa-early-exit-list button{padding:8px 11px;font-size:10px}@media(max-width:600px){.emasa-early-exit{padding:14px;border-radius:14px}.emasa-early-exit .panel-head,.emasa-early-exit-current,.emasa-early-exit-list article{align-items:stretch;flex-direction:column}.emasa-early-exit-current>.status-pill{align-self:flex-start}.emasa-early-exit-current .emasa-table-approval,.emasa-early-exit-list article>div:last-child{display:grid;width:100%;grid-template-columns:1fr 1fr}.emasa-early-exit-current button,.emasa-early-exit-list button{width:100%;min-height:40px}}@media print{.emasa-early-exit{display:none!important}}.emasa-admin-settings,.emasa-admin-settings *,.emasa-analytics,.emasa-analytics *{box-sizing:border-box}.emasa-analytics-filters,.emasa-analytics-heading,.emasa-analytics-section,.emasa-analytics-tabs,.emasa-manual-panel{min-width:0;max-width:100%}.emasa-analytics-filters>*,.emasa-manual-grid>*{min-width:0}.emasa-analytics-filters button,.emasa-analytics-filters input,.emasa-analytics-filters select,.emasa-manual-grid input,.emasa-manual-grid select,.emasa-manual-grid textarea{min-width:0;max-width:100%;width:100%}.smartclock-user-panel{margin-top:16px}.smartclock-reset-panel{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:#fecaca;background:#fff7f7}.smartclock-reset-panel h3{margin:0 0 4px;color:#9f1239}.smartclock-reset-panel p{margin:0;color:#6b7280}.smartclock-reset-panel .danger-action{flex:0 0 auto;min-height:44px}@media(max-width:650px){.emasa-analytics{padding-left:14px!important;padding-right:14px!important}.emasa-analytics-heading{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.emasa-analytics-actions,.emasa-analytics-actions button{width:100%}.emasa-analytics-filters{grid-template-columns:minmax(0,1fr)!important;padding:12px}.emasa-analytics-filters button,.emasa-analytics-filters label{grid-column:auto!important;width:100%}.emasa-analytics-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.emasa-analytics-tabs button{width:100%;padding:9px 6px;white-space:normal}.emasa-presence-summary-grid,.emasa-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.emasa-analytics-section{padding:12px}.emasa-admin-settings{padding:14px!important;overflow-x:hidden}.emasa-manual-grid,.emasa-settings-grid{grid-template-columns:minmax(0,1fr)!important}.emasa-manual-grid .wide,.emasa-settings-grid .wide{grid-column:auto!important}.smartclock-reset-panel{display:grid;grid-template-columns:minmax(0,1fr)}.smartclock-reset-panel .danger-action{width:100%}}.compact-reports-panel{font-size:.92rem}.compact-reports-panel .empty,.compact-reports-panel .panel-head p,.compact-reports-panel .report-period{font-size:.78rem}.report-session-accordion{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px;margin:15px 0}.compact-grade-analysis>section>button,.report-session-accordion button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:11px 13px;border:1px solid #bfd0e3;border-radius:8px;background:#f5f9fd;color:#244766;text-align:left;font-size:.82rem}.compact-grade-analysis>section>button b,.report-session-accordion button b{font-size:.7rem;white-space:nowrap}.report-session-accordion button.active{border-color:#0d654b;background:#0d654b;color:#fff;box-shadow:0 4px 10px rgba(13,101,75,.15)}.report-choose-session{margin:10px 0 0;padding:14px;border:1px dashed #bfd0e3;border-radius:8px;background:#f8fbfe;text-align:center}.report-session-content{margin-top:10px;padding:13px;border:1px solid #d2dee9;border-radius:9px;background:#fbfdff}.compact-report-stats{margin:10px 0}.compact-report-stats article{padding:11px}.compact-report-stats span{font-size:.65rem}.compact-report-stats strong{margin-top:4px;font-size:1.12rem}.report-compact-details{margin-top:9px;border:1px solid #d4dfeb;border-radius:8px;background:#fff;overflow:hidden}.report-compact-details>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;cursor:pointer;color:#164d3d;font-size:.8rem;font-weight:850;list-style:none}.report-compact-details>summary::-webkit-details-marker{display:none}.report-compact-details>summary b{padding:3px 7px;border-radius:999px;background:#e8f1fb;color:#315b82;font-size:.65rem}.report-compact-details[open]>summary{border-bottom:1px solid #d4dfeb;background:#eef7f3}.report-compact-details.attention>summary{color:#9a4d00}.report-compact-details.attention>summary b{background:#fff0d8;color:#9a4d00}.compact-attention-list{display:grid;grid-gap:6px;gap:6px;padding:10px}.compact-attention-list p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:7px 9px;border-radius:6px;background:#fff6e9;font-size:.75rem}.compact-attention-list strong{color:#b14c1d}.compact-grade-analysis{margin-top:12px}.compact-grade-analysis>h3{margin:0 0 8px;font-size:.92rem}.compact-grade-analysis>section{margin-top:7px}.compact-grade-analysis>section>button{background:#eef5f1;color:#0d543f}.compact-grade-analysis>section>button[aria-expanded=true]{border-color:#2b8269;background:#dff2e9}.compact-grade-analysis .grade-ranking-grid{margin-top:0;border-radius:0 0 8px 8px;overflow:hidden;background:#fff}.compact-grade-analysis .grade-ranking-grid>div>b{font-size:.75rem}.compact-grade-analysis .grade-ranking-grid p{font-size:.72rem}.compact-reports-panel .module-table td,.compact-reports-panel .module-table th{padding:7px 8px;font-size:.72rem}@media(max-width:760px){.compact-reports-panel{font-size:.86rem}.report-session-accordion{grid-template-columns:1fr}.report-session-content{padding:9px}.compact-report-stats{grid-template-columns:1fr 1fr}.compact-grade-analysis .grade-ranking-grid{grid-template-columns:1fr}.compact-grade-analysis .grade-ranking-grid>div+div{border-left:0;border-top:1px solid var(--line)}}.monthly-class-overview{margin:14px 0;padding:16px;border:1px solid #cfe0ec;border-radius:16px;background:linear-gradient(145deg,#f8fbff,#f1fbf7)}.monthly-overview-head{display:grid;grid-template-columns:minmax(0,1fr) 170px;grid-gap:16px;gap:16px;align-items:start}.monthly-overview-head>div:first-child>small{display:block;color:#0b6b5b;font-size:9px;font-weight:950;letter-spacing:.12em}.monthly-overview-head h3{margin:3px 0 6px;color:#153b57;font-size:19px}.monthly-overview-head p{max-width:820px;margin:0;color:#536b7b;font-size:11px;line-height:1.55}.monthly-comparison{display:grid;grid-gap:3px;gap:3px;padding:12px 14px;border-radius:13px;background:#fff;border:1px solid #d7e3eb}.monthly-comparison span{color:#6b7f8f;font-size:9px;font-weight:850}.monthly-comparison strong{font-size:22px}.monthly-comparison small{font-size:9px;font-weight:850}.monthly-comparison.up small,.monthly-comparison.up strong{color:#087a54}.monthly-comparison.down small,.monthly-comparison.down strong{color:#b42318}.monthly-comparison.neutral small,.monthly-comparison.neutral strong{color:#667085}.monthly-mini-trend{display:grid;grid-gap:7px;gap:7px;margin-top:14px}.monthly-mini-trend>div{display:grid;grid-template-columns:28px minmax(0,1fr) 52px;grid-gap:8px;gap:8px;align-items:center}.monthly-mini-trend span,.monthly-mini-trend strong{font-size:9px}.monthly-mini-trend strong{text-align:right;color:#214d67}.monthly-mini-trend i{height:7px;overflow:hidden;border-radius:999px;background:#dce8ee}.monthly-mini-trend i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b6b5b,#19a77c)}.monthly-trend-panel{padding:16px;border:1px solid #d7e3eb;border-radius:14px;background:#fff}.monthly-trend-chart{display:grid;grid-gap:10px;gap:10px;margin-top:13px}.monthly-trend-chart article{display:grid;grid-template-columns:105px minmax(0,1fr) 58px;grid-gap:12px;gap:12px;align-items:center}.monthly-trend-chart article>div:first-child{display:grid;grid-gap:2px;gap:2px}.monthly-trend-chart b{font-size:11px}.monthly-trend-chart small{color:#718397;font-size:9px}.monthly-trend-chart strong{text-align:right;color:#087a54;font-size:12px}.trend-track{height:13px;overflow:hidden;border-radius:999px;background:#e7eef3}.trend-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1769e8,#0b8a68)}.monthly-trend-note{margin-top:16px;padding:13px;border-left:4px solid #0b6b5b;border-radius:10px;background:#eef9f5}.monthly-trend-note b{color:#075b4d;font-size:10px}.monthly-trend-note p{margin:5px 0 0;color:#4e6878;font-size:11px;line-height:1.5}@media(max-width:700px){.my-class-panel{overflow-x:hidden}.my-class-panel .panel-head{gap:10px}.my-class-panel .panel-head .module-actions{display:grid;width:100%;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.my-class-panel .panel-head .module-actions>span{grid-column:1/-1}.my-class-panel .panel-head .module-actions button{width:100%;justify-content:center;padding:9px 8px;font-size:10px}.my-class-controls{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-gap:10px;gap:10px}.my-class-controls>label,.my-class-controls>label:first-child{grid-column:auto!important;min-width:0;width:100%}.my-class-controls input,.my-class-controls select{width:100%;min-width:0;min-height:44px;font-size:16px}.analysis-tabs{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:5px;gap:5px}.analysis-tabs button{width:100%;min-width:0;padding:10px 5px;font-size:10px}.my-class-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}.my-class-stats article{min-width:0;padding:11px}.my-class-stats span{font-size:9px}.my-class-stats strong{font-size:18px}.monthly-class-overview{padding:12px}.monthly-overview-head{grid-template-columns:minmax(0,1fr);gap:10px}.monthly-comparison{grid-template-columns:1fr auto;align-items:center}.monthly-comparison small,.monthly-comparison span{grid-column:1}.monthly-comparison strong{grid-column:2;grid-row:1/3}.class-view-tabs{display:flex!important;flex-wrap:nowrap!important;gap:5px!important;overflow-x:auto;padding:5px!important;scrollbar-width:none}.class-view-tabs::-webkit-scrollbar{display:none}.class-view-tabs button,.class-view-tabs button:first-child{grid-column:auto!important;flex:0 0 auto;min-height:38px;padding:8px 10px;font-size:9px;white-space:nowrap}.student-attention-grid>article{padding:11px}.attention-filters{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.attention-filters button{width:100%;padding:8px 5px;font-size:9px}.monthly-trend-chart article{grid-template-columns:78px minmax(0,1fr) 46px;gap:7px}.monthly-trend-panel{padding:12px}.analysis-row{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;font-size:10px}}@media(max-width:390px){.my-class-panel .panel-head .module-actions{grid-template-columns:1fr}.my-class-panel .panel-head .module-actions>span{grid-column:auto}.my-class-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.monthly-mini-trend>div{grid-template-columns:24px minmax(0,1fr) 46px}}.monthly-report-launcher{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:16px;border:1px solid #c9dbe8;border-radius:16px;background:linear-gradient(135deg,#f7fbff,#f2faf6);box-shadow:0 5px 16px rgba(18,59,96,.08)}.monthly-report-launcher small{display:block;color:#0b6b5b;font-size:9px;font-weight:950;letter-spacing:.12em}.monthly-report-launcher h3{margin:4px 0 5px;color:#153b57}.monthly-report-launcher p{max-width:700px;margin:0;color:#617487;font-size:11px;line-height:1.5}.monthly-report-launcher>div:last-child{display:flex;gap:8px;flex:0 0 auto}.monthly-report-launcher button{min-height:42px;padding:10px 13px;border:1px solid #bfcfdd;background:#fff;color:#214d67}.monthly-report-launcher button.primary{border-color:#0b6b5b;background:#0b6b5b;color:#fff}.monthly-report-modal{position:fixed;z-index:1000;inset:0;overflow:auto;padding:20px;background:rgba(6,24,45,.82);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.monthly-report-toolbar{position:-webkit-sticky;position:sticky;z-index:3;top:0;display:grid;grid-template-columns:minmax(210px,1fr) auto auto 42px;grid-gap:10px;gap:10px;align-items:center;max-width:1050px;margin:0 auto 14px;padding:12px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2)}.monthly-report-toolbar>div:first-child{display:grid;grid-gap:3px;gap:3px}.monthly-report-toolbar b{color:#153b57}.monthly-report-toolbar small{color:#6b7f8f;font-size:10px}.monthly-report-variant{display:flex;gap:5px;padding:4px;border-radius:10px;background:#eef3f7}.monthly-report-variant button{padding:9px 10px;border:0;background:transparent;color:#607387;font-size:10px}.monthly-report-variant button.active{background:#fff;color:#0b6b5b;box-shadow:0 2px 7px rgba(15,56,88,.12)}.monthly-report-print-action{min-height:40px;background:#0b6b5b;color:#fff}.monthly-report-close{width:42px;height:42px;padding:0;background:#eef2f5;color:#43566a}.monthly-report-print-root{width:min(210mm,100%);margin:0 auto}.monthly-report-page{position:relative;box-sizing:border-box;width:100%;min-height:277mm;margin:0 auto 16px;padding:12mm 11mm 10mm;border-radius:4px;background:#fff;color:#172033;box-shadow:0 12px 35px rgba(0,0,0,.22);font-family:Arial,Helvetica Neue,sans-serif}.monthly-report-header{display:grid;grid-template-columns:58px minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;padding-bottom:11px;border-bottom:3px solid #0b6b5b}.monthly-report-header img{width:54px;height:54px;object-fit:contain}.monthly-report-header small,.monthly-report-subheader small{color:#0b6b5b;font-size:8px;font-weight:900;letter-spacing:.11em}.monthly-report-header h1,.monthly-report-subheader h1{margin:3px 0;color:#153b57;font-size:19px;letter-spacing:.02em}.monthly-report-header p,.monthly-report-subheader p{margin:0;color:#66788a;font-size:9px}.monthly-report-header>span{padding:7px 9px;border-radius:999px;background:#eaf6f2;color:#0b6b5b;font-size:8px;font-weight:900}.monthly-report-meta-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;margin:12px 0;border:1px solid #d8e2ea;border-radius:10px;overflow:hidden}.monthly-report-meta-grid p{display:grid;grid-template-columns:78px 1fr;grid-gap:7px;gap:7px;margin:0;padding:8px 10px;border-bottom:1px solid #e2e9ef;font-size:9px}.monthly-report-meta-grid p:nth-child(odd){border-right:1px solid #e2e9ef}.monthly-report-meta-grid p:nth-last-child(-n+2){border-bottom:0}.monthly-report-meta-grid span{color:#708192;font-weight:800}.monthly-report-meta-grid b{color:#1c405a}.monthly-report-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:6px;gap:6px;margin:11px 0}.monthly-report-kpis article{display:grid;grid-gap:3px;gap:3px;min-width:0;padding:9px 7px;border:1px solid #dce6ec;border-radius:9px;background:#f8fbfc}.monthly-report-kpis span{color:#667b8d;font-size:7px;font-weight:850}.monthly-report-kpis strong{color:#0b6b5b;font-size:17px}.monthly-report-kpis small{color:#7c8c99;font-size:6.5px}.monthly-report-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;margin:10px 0}.monthly-report-block{padding:10px;border:1px solid #dce5eb;border-radius:10px;background:#fff}.monthly-report-action-box h2,.monthly-report-block h2,.monthly-report-confirmation h2{margin:0 0 8px;color:#153b57;font-size:11px}.monthly-report-trend{display:grid;grid-gap:6px;gap:6px}.monthly-report-trend>div{display:grid;grid-template-columns:22px minmax(0,1fr) 42px;grid-gap:6px;gap:6px;align-items:center}.monthly-report-trend span,.monthly-report-trend strong{font-size:7.5px}.monthly-report-trend strong{text-align:right;color:#0b6b5b}.monthly-report-trend i{height:7px;overflow:hidden;border-radius:99px;background:#e5edf1}.monthly-report-trend i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1769e8,#0b8a68)}.monthly-report-narrative{margin:0;color:#53697b;font-size:8px;line-height:1.55}.monthly-report-small-stats{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.monthly-report-small-stats span{padding:5px 7px;border-radius:7px;background:#edf7f3;color:#365d50;font-size:7px}.monthly-report-small-stats b{color:#0b6b5b}.monthly-report-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.monthly-report-section-title>span{padding:4px 7px;border-radius:999px;background:#eef4f8;color:#53697b;font-size:7px;font-weight:850}.monthly-report-page table{width:100%;border-collapse:collapse;table-layout:fixed}.monthly-report-page th{padding:6px 5px;background:#153b57;color:#fff;font-size:7px;text-align:left}.monthly-report-page td{padding:6px 5px;border-bottom:1px solid #e3e9ed;color:#344d60;font-size:7px;vertical-align:top;line-height:1.35}.monthly-report-page td:first-child,.monthly-report-page th:first-child{width:28px;text-align:center}.monthly-report-page tbody tr:nth-child(2n){background:#f8fafb}.monthly-report-more{display:block;margin-top:6px;color:#6a7c8d;font-size:7px}.monthly-report-footer{position:absolute;left:11mm;right:11mm;bottom:6mm;display:flex;justify-content:space-between;gap:10px;padding-top:5px;border-top:1px solid #dfe7ec;color:#738392;font-size:6.5px}.monthly-report-footer b{color:#36536b}.monthly-report-subheader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:3px solid #0b6b5b}.monthly-report-subheader>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#153b57;color:#fff;font-size:11px;font-weight:900}.monthly-report-full-table th:nth-child(2){width:25%}.monthly-report-full-table th:nth-child(3),.monthly-report-full-table th:nth-child(4),.monthly-report-full-table th:nth-child(5){width:38px;text-align:center}.monthly-report-full-table td:nth-child(3),.monthly-report-full-table td:nth-child(4),.monthly-report-full-table td:nth-child(5){text-align:center}.monthly-report-full-table th:nth-child(6){width:21%}.monthly-report-full-table th:nth-child(7){width:22%}.monthly-report-action-box{margin-top:12px;padding:10px;border:1px solid #d8e4ea;border-radius:10px;background:#fbfcfd}.monthly-report-action-box>div{height:18px;border-bottom:1px dotted #9eacb7}.monthly-report-action-box small{display:block;margin-top:7px;color:#778794;font-size:7px}.monthly-report-ceria-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:12px 0}.monthly-report-ceria-summary article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px;border-left:4px solid #0b6b5b;border-radius:8px;background:#f1f8f5}.monthly-report-ceria-summary span{color:#536b61;font-size:8px;font-weight:850}.monthly-report-ceria-summary strong{color:#0b6b5b;font-size:17px}.monthly-report-evidence{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.monthly-report-evidence figure{margin:0;border:1px solid #dce5ea;border-radius:8px;overflow:hidden;background:#f7fafb}.monthly-report-evidence img{display:block;width:100%;height:52mm;object-fit:cover}.monthly-report-evidence figcaption{padding:5px 7px;color:#5d7182;font-size:7px}.monthly-report-confirmation{margin-top:12px;padding:10px;border:1px solid #dce5ea;border-radius:10px}.monthly-report-signatures{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.monthly-report-signatures article{text-align:center}.monthly-report-signatures article>div{height:25mm;border-bottom:1px solid #657787}.monthly-report-signatures b{display:block;margin-top:5px;color:#253f54;font-size:7.5px}.monthly-report-signatures span{display:block;margin-top:2px;color:#718190;font-size:6.5px}.monthly-report-note{margin-top:10px;padding:8px 10px;border-left:4px solid #d49a0b;border-radius:7px;background:#fff9e8}.monthly-report-note b{color:#765600;font-size:8px}.monthly-report-note p{margin:3px 0 0;color:#6c6248;font-size:7px;line-height:1.45}.monthly-report-empty{margin:8px 0;color:#7b8b98;font-size:8px}@media(max-width:720px){.monthly-report-launcher{align-items:stretch;flex-direction:column}.monthly-report-launcher>div:last-child{display:grid;grid-template-columns:1fr 1fr}.monthly-report-launcher button{padding:9px 7px;font-size:9px}.monthly-report-modal{padding:8px}.monthly-report-toolbar{position:relative;grid-template-columns:1fr 42px;padding:9px}.monthly-report-toolbar>div:first-child{grid-column:1}.monthly-report-close{grid-column:2;grid-row:1}.monthly-report-variant{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.monthly-report-print-action{grid-column:1/-1}.monthly-report-print-root{width:100%}.monthly-report-page{min-height:0;padding:14px 10px;margin-bottom:10px;border-radius:8px}.monthly-report-header{grid-template-columns:42px minmax(0,1fr)}.monthly-report-header img{width:38px;height:38px}.monthly-report-header>span{grid-column:1/-1;justify-self:start}.monthly-report-header h1,.monthly-report-subheader h1{font-size:14px}.monthly-report-meta-grid{grid-template-columns:1fr}.monthly-report-meta-grid p,.monthly-report-meta-grid p:nth-child(odd){border-right:0;border-bottom:1px solid #e2e9ef}.monthly-report-meta-grid p:last-child{border-bottom:0}.monthly-report-kpis{grid-template-columns:repeat(2,1fr)}.monthly-report-two-col{grid-template-columns:1fr}.monthly-report-page table{table-layout:auto}.monthly-report-attention-summary{overflow-x:auto}.monthly-report-page td,.monthly-report-page th{font-size:6.5px}.monthly-report-footer{position:static;margin-top:12px}.monthly-report-evidence{grid-template-columns:1fr}.monthly-report-evidence img{height:180px}.monthly-report-signatures{grid-template-columns:1fr}.monthly-report-signatures article>div{height:45px}}@page monthlyClassReport{size:A4 portrait;margin:8mm}@media print{body.print-monthly-class-report{background:#fff!important}body.print-monthly-class-report *{visibility:hidden!important}body.print-monthly-class-report .monthly-report-print-root,body.print-monthly-class-report .monthly-report-print-root *{visibility:visible!important}body.print-monthly-class-report .monthly-report-modal{position:static!important;inset:auto!important;overflow:visible!important;padding:0!important;background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.print-monthly-class-report .monthly-report-print-root{position:absolute;left:0;top:0;width:100%!important;margin:0!important}body.print-monthly-class-report .monthly-report-page{page:monthlyClassReport;box-sizing:border-box;width:100%!important;min-height:277mm!important;margin:0!important;padding:8mm 8mm 9mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;break-after:page;page-break-after:always;print-color-adjust:exact;-webkit-print-color-adjust:exact}body.print-monthly-class-report .monthly-report-page:last-child{break-after:auto;page-break-after:auto}body.print-monthly-class-report .monthly-report-footer{left:8mm;right:8mm;bottom:4mm}body.print-monthly-class-report .monthly-report-evidence img{height:48mm}body.print-monthly-class-report .monthly-report-full-table tr{break-inside:avoid;page-break-inside:avoid}}