:root{--font-sans:"Segoe UI Variable", "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg:#f4f7f5;--card:#fff;--ink:#17231f;--muted:#65746e;--line:#dce5e1;--nav:#0b3025;--nav-2:#164b3a;--green:#087a5b;--green-strong:#066147;--green-2:#e8f3ee;--blue:#2563eb;--amber:#a66a12;--gold:#e5b83d;--danger:#b42318;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #0f241d0a;--shadow-md:0 8px 24px #0f241d12;--lift-shadow:0 10px 24px #0f241d1c;--press-shadow:0 2px 7px #0f241d1a}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility}body{color:var(--ink);background:var(--bg);font-family:var(--font-sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;font-weight:400;line-height:1.5}button,input,select,textarea{font-family:inherit}strong,b{font-weight:650}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:242px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--nav);color:#fff;padding:20px 12px;position:relative}.brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;margin-bottom:18px;padding:0 8px 18px;display:flex}.brand-mark{background:var(--gold);color:#052615;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:600;display:grid}.brand small{color:#b9c4d3;margin-top:4px;display:block}.nav{gap:4px;display:grid}.nav-group{position:relative}.nav a,.nav-menu-trigger,.nav-logout{color:#dbe4ef;font:inherit;border-radius:8px;padding:11px 12px;font-weight:600}.nav-menu-trigger{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.nav-group-link{justify-content:space-between;align-items:center;display:flex}.nav-menu-trigger.nav-group-link:after{content:"";opacity:.62;border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;margin-left:12px;transition:transform .16s,opacity .16s;transform:rotate(-45deg)}.psra-report-shell{color:#082c24;gap:16px;display:grid}.psra-report-heading{color:#fff;background:linear-gradient(120deg,#064d3b,#087456);border-radius:22px;justify-content:space-between;align-items:center;gap:24px;padding:25px 28px;display:flex;box-shadow:0 16px 35px #04473624}.psra-report-heading span,.psra-report-metrics span,.psra-report-filters label,.psra-inline-filters label,.psra-class-filter{letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.psra-report-heading h2{margin:5px 0 2px;font-size:clamp(24px,3vw,34px)}.psra-report-heading p{color:#ffffffc7;margin:0}.psra-report-actions{flex-shrink:0;gap:10px;display:flex}.psra-report-actions a,.psra-report-actions button,.psra-permission-banner a{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff59;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.psra-report-actions button{color:#075541;background:#fff}.psra-permission-banner a{color:#075541;background:#fff;border-color:#acd8ca;min-height:34px;margin-left:auto}.psra-report-filters{background:#fff;border:1px solid #d8e5df;border-radius:16px;grid-template-columns:1.6fr .7fr .8fr;gap:12px;padding:16px;display:grid}.psra-report-filters label,.psra-inline-filters label,.psra-class-filter{color:#49675f;gap:7px;display:grid}.psra-report-filters select,.psra-inline-filters select,.psra-class-filter select{color:#092f26;width:100%;min-height:42px;font:inherit;text-transform:none;letter-spacing:normal;background:#fbfdfc;border:1px solid #ccddd7;border-radius:10px;padding:0 12px}.psra-report-tabs{background:#e8f2ed;border-radius:13px;gap:7px;padding:6px;display:flex;overflow-x:auto}.psra-report-tabs button{color:#3b5d53;min-height:40px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 17px;font-weight:600}.psra-report-tabs button.active{color:#fff;background:#087456;box-shadow:0 5px 13px #0874562e}.psra-report-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.psra-report-metrics>div{background:#fff;border:1px solid #dae7e2;border-radius:15px;gap:5px;min-height:112px;padding:18px;display:grid}.psra-report-metrics strong{color:#052c23;font-size:29px}.psra-report-metrics small{color:#769087}.psra-report-panel{background:#fff;border:1px solid #d9e5e0;border-radius:16px;padding:22px;box-shadow:0 10px 24px #0f3d310d}.psra-report-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.psra-report-pair>.psra-report-panel,.psra-report-pair>.psra-report-chart-page{min-width:0;height:100%;margin:0}.psra-report-panel>header{justify-content:space-between;margin-bottom:18px;display:flex}.psra-report-panel h3{margin:0 0 4px;font-size:21px}.psra-report-panel p{color:#6f877f;margin:0}.psra-class-filter{max-width:320px;margin-bottom:16px}.psra-inline-filters{grid-template-columns:repeat(2,minmax(0,320px));gap:12px;margin-bottom:16px;display:grid}.psra-inline-filters .psra-class-filter{margin-bottom:0}.psra-report-table-wrap{border:1px solid #dde8e4;border-radius:12px;width:100%;overflow-x:auto}.psra-report-table{border-collapse:collapse;width:100%;min-width:740px;font-size:13px}.psra-report-table th,.psra-report-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #e5eeeb;padding:12px}.psra-report-table thead th{color:#fff;letter-spacing:.035em;text-transform:uppercase;background:#087456;font-size:11px}.psra-report-table tbody th{color:#123f34;text-align:left;background:#f5faf8}.psra-report-table tbody th small{color:#8aa098;margin-top:3px;font-weight:500;display:block}.psra-report-table tbody tr:last-child th,.psra-report-table tbody tr:last-child td{border-bottom:0}.psra-report-footnote{text-align:right;padding-top:14px}.psra-year-print-header,.psra-class-print-meta,.psra-subject-print-header{display:none}.psra-individual-card>header{color:#fff;background:#0b6b51;border-radius:12px;justify-content:space-between;gap:20px;margin-bottom:14px;padding:18px;display:flex}.psra-individual-card header div{gap:4px;display:grid}.psra-individual-card header span,.psra-individual-card header small{color:#ffffffc2}.psra-individual-card header strong{font-size:18px}.psra-individual-layout{grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.psra-individual-list-box,.psra-individual-preview-box{background:#fff;border:1px solid #d6e2dd;border-radius:12px;min-width:0;padding:16px}.psra-individual-box-header{margin-bottom:14px}.psra-individual-box-header h4{color:#102f27;margin:0 0 4px;font-size:16px}.psra-individual-box-header p{color:#6f877f;margin:0;font-size:12px}.psra-individual-list-box .psra-class-filter{max-width:none;margin-bottom:14px}.psra-individual-student-list{gap:8px;max-height:620px;padding-right:4px;display:grid;overflow:auto}.psra-individual-student-list button{color:#14352d;text-align:left;cursor:pointer;background:#fbfdfc;border:1px solid #d6e2dd;border-radius:9px;width:100%;padding:12px}.psra-individual-student-list button:hover,.psra-individual-student-list button.active{background:#e9f5f1;border-color:#087456}.psra-individual-student-list button.active{box-shadow:inset 3px 0 #087456}.psra-individual-student-list strong,.psra-individual-student-list span{display:block}.psra-individual-student-list strong{font-size:13px}.psra-individual-student-list span{color:#6f877f;margin-top:4px;font-size:11px}.psra-individual-print{color:#13231e;background:#fff;border:0;border-radius:0;padding:34px}.psra-individual-print-school{text-align:center}.psra-individual-print-school h2{text-transform:uppercase;margin:0;font-size:22px}.psra-individual-print-school p{color:#526962;margin:8px 0 0;font-size:13px}.psra-individual-print h3{text-align:center;margin:32px 0 28px;font-size:18px}.psra-individual-print-profile{grid-template-columns:1fr;gap:12px;margin:0 0 28px;display:grid}.psra-individual-print-profile div{grid-template-columns:170px minmax(0,1fr);align-items:start;gap:10px;min-height:24px;display:grid}.psra-individual-print-profile dt,.psra-individual-print-summary dt{font-weight:700}.psra-individual-print-profile dd,.psra-individual-print-summary dd{min-height:24px;margin:0;font-weight:650}.psra-individual-print-subjects h4{margin:0 0 12px;font-size:15px}.psra-individual-print-subjects table{border-collapse:collapse;width:100%;font-size:13px}.psra-individual-print-subjects th,.psra-individual-print-subjects td{text-align:left;border:1px solid #2f443e;padding:10px 12px}.psra-individual-print-subjects th{background:#eef4f1;font-weight:800}.psra-individual-print-subjects th:nth-child(2),.psra-individual-print-subjects th:nth-child(3),.psra-individual-print-subjects th:nth-child(4),.psra-individual-print-subjects td:nth-child(2),.psra-individual-print-subjects td:nth-child(3),.psra-individual-print-subjects td:nth-child(4){text-align:center}.psra-individual-print-summary{gap:10px;margin:32px 0 0;font-size:14px;display:grid}.psra-individual-print-summary div{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:12px;display:grid}.psra-report-chart-page{background:linear-gradient(#e8f5efbf,#fffffff5 30%),#fff;border:1px solid #d8e6e0;border-radius:15px;margin-top:24px;padding:26px}.psra-report-chart-page>header{margin-bottom:20px}.psra-report-chart-page>header span{color:#087456;letter-spacing:.12em;font-size:10px;font-weight:600}.psra-report-chart-page>header h3{margin:5px 0;font-size:22px}.psra-report-chart-page>header p{font-size:13px}.psra-chart-legend{background:#ffffffdb;border-radius:10px;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:12px 14px;display:flex}.psra-chart-legend span{color:#38594f;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.psra-chart-legend i{border-radius:3px;width:11px;height:11px}.psra-stacked-chart,.psra-grade-bar-chart{gap:18px;padding:10px 0;display:grid}.psra-stacked-row,.psra-grade-bar-row{grid-template-columns:minmax(145px,210px) minmax(280px,1fr) 46px;align-items:center;gap:13px;display:grid}.psra-stacked-row>strong,.psra-grade-bar-row>strong{color:#16483b;text-align:right;font-size:12px}.psra-stacked-row>b,.psra-grade-bar-row>b{color:#123e33;text-align:center;font-size:14px}.psra-chart-track{background:repeating-linear-gradient(90deg,#0000 0 calc(20% - 1px),#46695e1f 20%),#f6faf8;border:1px solid #d9e5e0;border-radius:7px;align-items:stretch;height:38px;display:flex;overflow:hidden}.psra-chart-track>span{color:#fff;justify-content:center;align-items:center;min-width:0;font-size:11px;font-weight:600;transition:width .25s;display:inline-flex}.psra-chart-track>em{color:#8aa098;align-self:center;padding-left:12px;font-size:11px}.psra-grade-bar-row .psra-chart-track>span{border-radius:6px}.psra-chart-scale{color:#789087;justify-content:space-between;margin:10px 59px 0 223px;font-size:10px;display:flex}@media (max-width:900px){.psra-report-heading{flex-direction:column;align-items:flex-start}.psra-report-filters,.psra-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.psra-stacked-row,.psra-grade-bar-row{grid-template-columns:120px minmax(240px,1fr) 36px}.psra-chart-scale{margin-left:133px;margin-right:49px}}@media (max-width:1180px){.psra-report-pair{grid-template-columns:1fr}}@media (max-width:600px){.psra-report-filters,.psra-report-metrics,.psra-inline-filters,.psra-individual-layout{grid-template-columns:1fr}.psra-report-actions{flex-wrap:wrap;width:100%}.psra-permission-banner{flex-wrap:wrap;align-items:flex-start}.psra-permission-banner a{width:100%;margin-left:0}.psra-report-chart-page{padding:18px 14px;overflow-x:auto}.psra-stacked-chart,.psra-grade-bar-chart,.psra-chart-scale{min-width:650px}}@media print{.sidebar,.topbar,.psra-report-actions,.psra-report-filters,.psra-report-tabs,.psra-class-filter,.psra-inline-filters{display:none!important}.main,.content{margin:0!important;padding:0!important}.psra-report-heading,.psra-report-panel,.psra-report-metrics>div{box-shadow:none;break-inside:avoid}.psra-report-panel{break-inside:auto}.psra-report-pair{display:block}.psra-report-pair>.psra-report-panel{height:auto}.psra-report-chart-page{page-break-before:always;break-before:page;background:#fff;border:0;border-radius:0;min-height:245mm;margin:0;padding:14mm 10mm}.psra-chart-track,.psra-chart-track>span,.psra-chart-legend i{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4 portrait;margin:16mm}@page psra-year-report{size:A4 landscape;margin:10mm}.psra-year-print-report{page:psra-year-report}:is(.psra-report-shell:has(.psra-year-print-report) .psra-report-heading,.psra-report-shell:has(.psra-year-print-report) .psra-report-metrics){display:none!important}.psra-report-shell:has(.psra-year-print-report){display:block;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important}.psra-report-shell:has(.psra-year-print-report) .psra-report-panel{display:block;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important}.psra-year-print-report>header:not(.psra-year-print-header){display:none!important}.psra-year-print-header{text-align:center;break-after:avoid;margin:0 0 8mm;display:block!important}.psra-year-print-header h2{color:#111;text-transform:uppercase;margin:0;font-size:15px}.psra-year-print-header p{color:#333;margin:2mm 0 0;font-size:9px}.psra-year-print-header h3{color:#111;margin:6mm 0 0;font-size:13px}.psra-class-print-meta{color:#111;break-after:avoid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm 12mm;margin:-3mm 0 6mm;font-size:9px;display:grid!important}.psra-class-print-meta div{grid-template-columns:30mm minmax(0,1fr);align-items:start;gap:3mm;display:grid}.psra-class-print-meta dt{font-weight:700}.psra-class-print-meta dd{margin:0;font-weight:600}.psra-year-print-report .psra-report-table-wrap{border-radius:0;overflow:visible}.psra-year-print-report .psra-report-table{min-width:0;font-size:8px}.psra-year-print-report .psra-report-table th,.psra-year-print-report .psra-report-table td{white-space:normal;padding:4px 5px}.psra-year-print-report .psra-report-table thead th{color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eef4f1;font-size:7px}.psra-year-print-report .psra-report-table tbody th{background:#fff}.psra-year-print-report .psra-report-footnote{display:none}.psra-subject-print-report{page:auto;break-inside:avoid;grid-template-columns:1fr!important;gap:3mm!important;margin:0!important;padding:0!important;display:grid!important}:is(.psra-report-shell:has(.psra-subject-print-report) .psra-report-heading,.psra-report-shell:has(.psra-subject-print-report) .psra-report-metrics){display:none!important}.psra-report-shell:has(.psra-subject-print-report){box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}.psra-report-shell:has(.psra-subject-print-report) .psra-report-panel{box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}.psra-report-shell:has(.psra-subject-print-report) .psra-report-chart-page{box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}.psra-report-shell:has(.psra-subject-print-report) .psra-report-chart-page{page-break-inside:avoid;break-inside:avoid;page-break-before:auto!important;break-before:auto!important;min-height:0!important}:is(.psra-report-shell:has(.psra-subject-print-report) .psra-report-panel>header,.psra-report-shell:has(.psra-subject-print-report) .psra-report-chart-page>header){display:none!important}.psra-subject-print-header{text-align:center;break-after:avoid;margin:0 0 5mm;display:block!important}.psra-subject-print-header h2{color:#111;text-transform:uppercase;margin:0;font-size:13px}.psra-subject-print-header p{color:#333;margin:1mm 0 0;font-size:7px}.psra-subject-print-header h3{color:#111;margin:4mm 0 0;font-size:11px}.psra-subject-print-report .psra-report-table-wrap{border-radius:0;overflow:visible}.psra-subject-print-report .psra-report-table{min-width:0;font-size:7px}.psra-subject-print-report .psra-report-table th,.psra-subject-print-report .psra-report-table td{white-space:normal;padding:3px 4px}.psra-subject-print-report .psra-report-table thead th{color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eef4f1;font-size:7px}.psra-subject-print-report .psra-chart-legend{background:0 0;gap:5px;margin:1mm 0 2mm;padding:0}.psra-subject-print-report .psra-chart-legend span{gap:3px;font-size:7px}.psra-subject-print-report .psra-chart-legend i{width:7px;height:7px}.psra-subject-print-report .psra-stacked-chart{gap:2mm;padding:0}.psra-subject-print-report .psra-stacked-row{grid-template-columns:28mm minmax(0,1fr) 7mm;gap:2mm}.psra-subject-print-report .psra-stacked-row>strong,.psra-subject-print-report .psra-stacked-row>b{font-size:7px}.psra-subject-print-report .psra-chart-track{border-radius:0;height:6mm}.psra-subject-print-report .psra-chart-track>span{font-size:6px}.psra-subject-print-report .psra-chart-scale{min-width:0;margin:1mm 9mm 0 31mm;font-size:6px}:is(.psra-report-shell:has(.psra-individual-print) .psra-report-heading,.psra-report-shell:has(.psra-individual-print) .psra-report-metrics,.psra-report-shell:has(.psra-individual-print) .psra-individual-list-box,.psra-report-shell:has(.psra-individual-print) .psra-individual-box-header){display:none!important}.psra-report-shell:has(.psra-individual-print){display:block;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important}.psra-report-shell:has(.psra-individual-print) .psra-report-panel{display:block;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important}.psra-report-shell:has(.psra-individual-print) .psra-individual-layout{display:block;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important}.psra-report-shell:has(.psra-individual-print) .psra-individual-preview-box{display:block;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important}.psra-report-shell:has(.psra-individual-print) .psra-report-panel>header{display:none!important}.psra-individual-print{page-break-inside:avoid;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#111!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}.psra-individual-print-school h2{font-size:20px}.psra-individual-print h3,.psra-individual-print-subjects table{page-break-after:avoid;page-break-inside:avoid;break-inside:avoid}}.psra-shell{gap:18px;display:grid}.psra-session-tabs{background:#e8f2ed;border-radius:13px;gap:7px;padding:6px;display:flex;overflow-x:auto}.psra-session-tabs button{color:#3b5d53;min-height:42px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 19px;font-weight:600}.psra-session-tabs button.active{color:#fff;background:#087456;box-shadow:0 5px 13px #0874562e}.psra-filter-bar{background:#fff;border:1px solid #dfe9e5;border-radius:16px;grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(160px,.75fr));gap:14px;padding:18px;display:grid}.psra-filter-bar label,.psra-paper-grid label{color:#5d706a;letter-spacing:.05em;text-transform:uppercase;gap:7px;font-size:10px;font-weight:600;display:grid}.psra-filter-bar select{color:#183c32;background:#fbfcfc;border:1px solid #d8e4df;border-radius:10px;width:100%;min-width:0;padding:11px 12px}.psra-school-display{gap:7px;min-width:0;display:grid}.psra-school-display span{color:#5d706a;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:600}.psra-school-display strong{color:#183c32;background:#f4f8f6;border:1px solid #d8e4df;border-radius:10px;align-items:center;min-height:42px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.psra-locked{text-align:center;background:#fffaf0;border-color:#f0d99c;padding:32px}.psra-locked strong{color:#7c5918;font-size:18px}.psra-locked p{color:#816f4c;margin-bottom:0}.psra-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.psra-summary-grid>div{background:#fff;border:1px solid #dfe9e5;border-radius:16px;gap:5px;padding:19px 20px;display:grid;box-shadow:0 8px 26px #1448380b}.psra-summary-grid span{color:#6f817b;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:600}.psra-summary-grid strong{letter-spacing:-.04em;font-size:28px}.psra-summary-grid small{color:#91a09b}.psra-message{border-radius:11px;margin:0;padding:12px 15px}.psra-permission-banner{color:#174d3e;background:#edf8f3;border:1px solid #cbe4da;border-radius:12px;align-items:center;gap:11px;padding:12px 15px;display:flex}.psra-permission-banner>span{color:#fff;background:#0b7657;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:600;display:grid}.psra-permission-banner>div{gap:3px;display:grid}.psra-permission-banner strong{font-size:12px}.psra-permission-banner small{color:#607c72;font-size:10px}.psra-layout{grid-template-columns:minmax(280px,.75fr) minmax(0,1.55fr);align-items:start;gap:18px;display:grid}.psra-student-panel,.psra-entry-panel{overflow:hidden}.psra-student-list{max-height:590px;padding:7px 11px 13px;overflow-y:auto}.psra-student-list>button{color:#183c32;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf2f0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px 9px;display:grid}.psra-student-list>button:hover,.psra-student-list>button.active{background:#edf8f3;border-radius:10px}.psra-student-number{color:#0a6c4f;background:#e4f3ed;border-radius:9px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:600;display:grid}.psra-student-list button>span:nth-child(2),.psra-student-score{gap:4px;display:grid}.psra-student-list strong{font-size:12px}.psra-student-list small{color:#80918b;font-size:9px}.psra-student-score{justify-items:end}.psra-entry-head{color:#fff;background:linear-gradient(115deg,#0a6048,#0b7657);justify-content:space-between;align-items:center;gap:18px;padding:21px 23px;display:flex}.psra-entry-head>div{gap:4px;display:grid}.psra-entry-head h3{margin:0;font-size:17px}.psra-entry-head span{color:#c1ded3;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.psra-entry-head>div:last-child{justify-items:end}.psra-entry-head>div:last-child strong{font-size:20px}.psra-entry-head>div:last-child span{color:#f1ce7a}.psra-paper-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:22px;display:grid}.upkk-paper-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.upkk-paper-result{color:#0b6c50;letter-spacing:0;text-transform:none;font-size:11px;font-weight:800}.upkk-grade-settings{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:12px;padding:18px;display:grid}.upkk-grade-settings label{color:#49645b;gap:7px;font-size:12px;font-weight:800;display:grid}.upkk-grade-settings input{background:#fbfdfc;border:1px solid #d9e5e0;border-radius:9px;width:100%;padding:10px}@media (max-width:900px){.upkk-paper-grid,.upkk-grade-settings{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.upkk-paper-grid,.upkk-grade-settings{grid-template-columns:1fr}}.psra-paper-grid label>span{align-items:center;gap:8px;display:flex}.psra-paper-grid label em{color:#7b8581;letter-spacing:.04em;background:#edf1ef;border-radius:999px;margin-left:auto;padding:4px 7px;font-size:8px;font-style:normal}.psra-paper-grid .psra-paper-locked{opacity:.62}.psra-paper-grid input:disabled{color:#6f7d78;cursor:not-allowed;background:#eef2f0}.psra-paper-grid label b{color:#0b6c50;background:#e8f5f0;border-radius:7px;place-items:center;width:24px;height:24px;font-size:9px;display:grid}.psra-paper-grid label>div{background:#fbfcfc;border:1px solid #d8e5df;border-radius:10px;align-items:center;display:flex;overflow:hidden}.psra-paper-grid input{color:#173d32;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:12px;font-size:16px;font-weight:600}.psra-paper-grid label>div>span{color:#8b9d96;white-space:nowrap;padding-right:11px}.psra-entry-footer{background:#f7faf8;border-top:1px solid #e5edea;justify-content:flex-end;align-items:center;gap:26px;padding:17px 22px;display:flex}.psra-entry-footer>div{gap:3px;display:grid}.psra-entry-footer span{color:#788a84;text-transform:uppercase;font-size:9px;font-weight:600}.psra-entry-footer strong{font-size:19px}.psra-entry-footer small{color:#0b6d51;font-size:10px}.psra-grade-panel{overflow:hidden}.psra-grade-grid{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.psra-grade-grid>div{border-right:1px solid #e7eeeb;gap:5px;padding:16px 20px;display:grid}.psra-grade-grid>div:last-child{border-right:0}.psra-grade-grid span,.psra-grade-grid small{color:#80918b;font-size:9px}.psra-grade-grid strong{font-size:13px}@media (max-width:1000px){.psra-summary-grid,.psra-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.psra-layout{grid-template-columns:1fr}}@media (max-width:680px){.psra-session-tabs{width:100%}.psra-session-tabs button{flex:1;justify-content:center;padding:0 12px;font-size:12px}.psra-filter-bar,.psra-summary-grid,.psra-paper-grid,.psra-grade-grid{grid-template-columns:1fr}.psra-entry-head,.psra-entry-footer{flex-direction:column;align-items:stretch}.psra-entry-head>div:last-child{justify-items:start}}.upkk-assessment-shell{gap:14px;display:grid}.upkk-tabs{flex-wrap:wrap;gap:8px;display:flex}.upkk-tab-button{min-height:38px;color:var(--green);font:inherit;cursor:pointer;background:#f6faf7;border:1px solid #d5e2d7;border-radius:8px;padding:8px 14px;font-weight:600;transition:transform .12s,border-color .12s,background .12s,color .12s}.upkk-tab-button:hover,.upkk-tab-button:focus-visible{border-color:var(--green);transform:translateY(-1px)}.upkk-tab-button.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 8px 18px #006d3f24}.upkk-placeholder{padding:24px}.upkk-panel{gap:18px;display:grid}.upkk-filter-grid{border:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#f8fcf8 68%,#f4c94f24 100%);border-radius:8px;grid-template-columns:minmax(260px,2fr) minmax(160px,1fr) minmax(260px,2fr);align-items:end;gap:14px;padding:16px;display:grid}.upkk-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.upkk-summary-card{background:radial-gradient(circle at 100% 100%,#f4c94f2e,#0000 46%),linear-gradient(135deg,#fff 0%,#f7fcf8 70%,#fff6d8 100%);border:1px solid #d5e2d7;border-radius:8px;min-height:108px;padding:16px;box-shadow:0 10px 22px #022e190f}.upkk-summary-card span{color:var(--muted);margin-bottom:10px;font-size:14px;display:block}.upkk-summary-card strong{color:var(--green);font-size:22px;line-height:1.2;display:block}.upkk-layout{grid-template-columns:minmax(360px,.88fr) minmax(560px,1.4fr);align-items:start;gap:18px;display:grid}.upkk-student-list,.upkk-form-card{background:#fff;border:1px solid #d5e2d7;border-radius:8px;box-shadow:0 10px 24px #022e190f}.upkk-student-list{padding:12px}.upkk-card-head,.upkk-form-head,.upkk-section-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.upkk-card-head{margin-bottom:8px}.upkk-card-head h3,.upkk-form-head h3{margin:0}.upkk-card-head span,.upkk-form-head p,.upkk-form-head span{color:var(--muted)}.upkk-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.upkk-export-button{white-space:nowrap;min-height:34px;padding:0 12px}.upkk-student-table th,.upkk-student-table td{white-space:nowrap;padding:6px 10px;line-height:1.22}.upkk-student-button{color:var(--green);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;font-weight:600;line-height:1.2}.upkk-student-button:hover,.upkk-student-button:focus-visible{text-decoration:underline}.upkk-selected-row{background:#f0faf2}.upkk-status{color:#111827;font-weight:600}.upkk-status-progress{color:#dc2626}.upkk-status-complete{color:var(--green)}.upkk-form-card{padding:14px}.khalifah-panel{gap:16px;display:grid}.khalifah-filter-grid{margin-top:0}.khalifah-tabs{flex-wrap:wrap;gap:8px;margin:-2px 0 0;display:flex}.khalifah-tab{min-height:38px;color:var(--green);cursor:pointer;font:inherit;text-transform:uppercase;background:#f6faf7;border:1px solid #d5e2d7;border-radius:8px;min-width:150px;padding:8px 14px;font-weight:600;transition:transform .12s,border-color .12s,background .12s,color .12s}.khalifah-tab:hover,.khalifah-tab:focus-visible{border-color:var(--green);transform:translateY(-1px)}.khalifah-tab.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 8px 18px #006d3f24}.khalifah-tab-panel{border-top:3px solid var(--green);background:#fff;min-height:245px;padding:18px 12px 14px}.khalifah-tab-form{gap:12px;max-width:980px;display:grid}.khalifah-workspace{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.khalifah-card,.khalifah-table-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.khalifah-card{gap:12px;display:grid}.khalifah-card h3{margin:0 0 4px}.khalifah-attendance-field{border:1px solid var(--line);border-radius:8px;margin:0;padding:10px}.khalifah-attendance-field legend{color:var(--muted);padding:0 6px;font-size:12px;font-weight:600}.khalifah-attendance-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:7px 14px;display:grid}.khalifah-attendance-option{color:var(--text);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;margin:0;font-size:13px;line-height:1.35;display:grid}.khalifah-attendance-option input{width:16px;height:16px;margin-top:1px}.khalifah-student-link{appearance:none;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.khalifah-student-link:hover,.khalifah-student-link:focus{color:var(--green);text-decoration:underline}.khalifah-detail-panel{border-top:1px solid var(--line);gap:10px;margin-top:14px;padding-top:14px;display:grid}.khalifah-detail-panel h3{margin:0 0 4px}.khalifah-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px;display:grid}.khalifah-good,.khalifah-guide{font-weight:600}.khalifah-good{color:var(--green)}.khalifah-guide{color:#dc2626}.khalifah-component-panel{gap:16px;display:grid}.khalifah-component-add,.khalifah-component-row{gap:10px;display:grid}.khalifah-component-add{border:1px dashed #b9d6c2;border-radius:8px;grid-template-columns:repeat(6,minmax(0,1fr)) auto;align-items:end;padding:12px}.khalifah-component-groups{gap:14px;display:grid}.khalifah-component-group{border:1px solid var(--line);border-radius:8px;padding:12px}.khalifah-component-list{gap:10px;display:grid}.khalifah-component-row{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1.3fr) minmax(120px,.8fr) minmax(120px,.8fr) 90px 90px 120px 140px auto;align-items:end;padding-top:10px}.khalifah-component-row:first-child{border-top:0;padding-top:0}.khalifah-component-row .form-success,.khalifah-component-row .form-message,.khalifah-component-add .form-success,.khalifah-component-add .form-message{grid-column:1/-1}.khalifah-pill{min-height:24px;color:var(--blue);white-space:nowrap;background:#eef4ff;border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.khalifah-pill-good{background:var(--green-2);color:var(--green)}.khalifah-pill-guide{color:#b91c1c;background:#fee2e2}.upkk-form-head{margin-bottom:12px}.upkk-form-head p{margin:0 0 6px}.upkk-form-head h3{margin-bottom:6px}.upkk-form-head span{margin-top:6px;display:block}.upkk-total{color:var(--green);white-space:nowrap;font-size:28px;line-height:1}.upkk-section-card{border:1px solid #d5e2d7;border-radius:8px;margin-bottom:10px;overflow:hidden}.upkk-section-head{color:var(--green);background:#e9f5ec;padding:9px 12px}.upkk-section-head span{color:var(--muted);margin-bottom:3px;font-size:13px;font-weight:600;display:block}.upkk-section-head strong{font-size:17px}.upkk-group{border-top:1px solid #e3ece5;padding:0 12px}.upkk-group-table{border-collapse:collapse;table-layout:fixed;width:100%}.upkk-group-table td{vertical-align:middle;border-top:1px solid #eef4ef;padding:4px 8px;line-height:1.18}.upkk-group-table tr:first-child td{border-top:0}.upkk-group-code-cell{width:52px;color:var(--green);text-align:center;font-weight:600}.upkk-group-title-cell{width:160px;color:var(--muted);border-right:1px solid #e3ece5;font-weight:600}.upkk-item-code-cell{width:72px;color:var(--green);font-weight:600}.upkk-item-label-cell{color:var(--muted);font-size:13px;font-weight:600}.upkk-score-cell{width:112px}.upkk-score-input{text-align:center;width:100%;min-height:30px;padding:5px 8px}.upkk-submit-button{width:100%;margin-top:4px}.upkk-message-ok,.upkk-message-error{margin:12px 0 0;font-weight:600}.upkk-message-ok{color:var(--green)}.upkk-message-error{color:#c4002f}@media (max-width:1080px){.upkk-filter-grid,.upkk-summary-grid,.upkk-layout{grid-template-columns:1fr}.upkk-group-table{table-layout:auto}.upkk-group-title-cell{width:120px}}.nav-group-open>.nav-menu-trigger.nav-group-link:after{opacity:.86;transform:rotate(45deg)}.nav a:hover,.nav a.active,.nav-menu-trigger:hover,.nav-menu-trigger.active,.nav-group-link:hover,.nav-group-link.active{background:var(--nav-2);color:#fff}.nav-submenu{gap:2px;padding:4px 0 6px 12px;display:grid}.nav-submenu a{color:#c9d8ce;padding:8px 10px;font-size:14px;font-weight:600}.nav-submenu a:before{content:"";vertical-align:middle;background:#f4c94f9e;border-radius:999px;width:5px;height:5px;margin-right:8px;display:inline-block}.nav-logout{color:#d8e5dc;text-align:left;letter-spacing:0;cursor:pointer;background:#ffffff0a;border:1px solid #e2f4e824;justify-content:flex-start;align-items:center;gap:10px;width:100%;display:flex;position:relative}.nav-logout-icon{color:#f4c94fe0;background:#f4c94f26;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid}.nav-logout-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:17px;height:17px}.nav-logout:hover{color:#fff;background:#ffffff14;border-color:#f4c94f57}.nav-logout:hover .nav-logout-icon{color:#f7d86b;background:#f4c94f38}.nav a,.nav-menu-trigger,.nav-logout,.button,.danger-button,.soft-action-button,.table-action,.access-choice-card,.completion-button,.school-count-button,.teacher-count-button,.summary-number,.year-stat button,.zone-mini-list button,.table-number-button,.attendance-day-head button,.attendance-student-name button,.sort-header-button,.card-grid .card{transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s,color .16s}.button:hover:not(:disabled),.button:focus-visible:not(:disabled),.danger-button:hover:not(:disabled),.danger-button:focus-visible:not(:disabled),.soft-action-button:hover:not(:disabled),.soft-action-button:focus-visible:not(:disabled),.table-action:hover,.table-action:focus-visible,.access-choice-card:hover,.access-choice-card:focus-visible,.completion-button:hover,.completion-button:focus-visible,.school-count-button:hover,.school-count-button:focus-visible,.teacher-count-button:hover,.teacher-count-button:focus-visible,.summary-number:hover,.summary-number:focus-visible,.year-stat button:hover,.year-stat button:focus-visible,.zone-mini-list button:hover,.zone-mini-list button:focus-visible,.table-number-button:hover,.table-number-button:focus-visible,.attendance-day-head button:hover,.attendance-day-head button:focus-visible,.attendance-student-name button:hover,.attendance-student-name button:focus-visible,.sort-header-button:hover,.sort-header-button:focus-visible,.card-grid .card:hover,.card-grid .card:focus-within{box-shadow:var(--lift-shadow);transform:translateY(-2px)}.nav a:hover,.nav a:focus-visible,.nav-menu-trigger:hover,.nav-menu-trigger:focus-visible,.nav-logout:hover,.nav-logout:focus-visible{transform:translateY(-1px);box-shadow:0 10px 20px #00000029}.button:active:not(:disabled),.danger-button:active:not(:disabled),.soft-action-button:active:not(:disabled),.table-action:active,.access-choice-card:active,.completion-button:active,.school-count-button:active,.teacher-count-button:active,.summary-number:active,.year-stat button:active,.zone-mini-list button:active,.table-number-button:active,.attendance-day-head button:active,.attendance-student-name button:active,.sort-header-button:active,.nav a:active,.nav-menu-trigger:active,.nav-logout:active{box-shadow:var(--press-shadow);transform:translateY(0)scale(.99)}@media (prefers-reduced-motion:reduce){.nav a,.nav-menu-trigger,.nav-logout,.button,.danger-button,.soft-action-button,.table-action,.access-choice-card,.completion-button,.school-count-button,.teacher-count-button,.summary-number,.year-stat button,.zone-mini-list button,.table-number-button,.attendance-day-head button,.attendance-student-name button,.sort-header-button,.card-grid .card{transition:none}}.date-clock{color:#eef8ef;background:#012313e0;border:1px solid #f4c94f47;border-radius:8px;gap:2px;width:196px;padding:10px 12px;display:grid;position:fixed;bottom:16px;left:16px;box-shadow:0 10px 24px #0000002e}.date-clock strong{color:var(--gold);font-size:17px}.date-clock span,.date-clock small{color:#c8d8ce;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.date-clock span{font-size:12px}.date-clock small{font-size:11px}.main{min-width:0}.topbar{background:linear-gradient(90deg,#edf8ef,#fff);border-bottom:1px solid #bfd8c4;justify-content:space-between;align-items:center;gap:20px;padding:24px 32px;display:flex;box-shadow:0 8px 18px #022e190d}.eyebrow{color:var(--green);text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:26px}.page-subtitle{color:var(--muted);margin:6px 0 0}.pill{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:10px 14px;font-weight:600}.user-badge{border:1px solid var(--line);background:var(--card);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:300px;max-width:380px;padding:8px 10px;display:flex}.user-badge-info{gap:2px;min-width:0;display:grid}.user-badge-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.user-badge strong,.user-badge small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-badge small{color:var(--muted);margin-top:2px}.user-profile-link{width:fit-content;color:var(--green);margin-top:4px;font-size:12px;font-weight:600}.user-profile-link:hover{text-underline-offset:3px;text-decoration:underline}.user-badge button{min-height:34px;color:var(--green);cursor:pointer;background:#edf7ee;border:0;border-radius:8px;padding:0 10px;font-weight:600}.user-badge-link{color:#7a560c;white-space:nowrap;background:#fff8dc;border-radius:8px;align-items:center;min-height:34px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.user-switch-link{color:#7a560c;white-space:nowrap;background:#fff8dc;border-radius:8px;align-items:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.profile-edit-panel{max-width:980px}.profile-self-form input:disabled{color:var(--muted);background:#f8fafc}.profile-note{margin-top:14px;margin-bottom:0}.metric-grid,.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px;display:grid}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card,.metric,.panel{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 18px #022e1912}.metric{padding:20px}.dashboard-metrics .metric{min-height:132px}.dashboard-metric{background:linear-gradient(135deg,#fff,#f2fbf2);justify-content:space-between;gap:14px;display:flex;position:relative;overflow:hidden}.dashboard-metric:after{content:"";pointer-events:none;background:#f4c94f1f;border-radius:50%;width:118px;height:118px;position:absolute;bottom:-44px;right:-34px}.metric-side{align-content:space-between;justify-items:end;min-width:150px;display:grid}.metric-accent{background:linear-gradient(135deg,#f4c94fb3,#0b6b3a1f);border-radius:8px;flex:none;width:52px;height:52px}.metric span,.metric small,.card p,.empty,.table-note{color:var(--muted)}.metric strong{margin:8px 0 6px;font-size:32px;display:block}.metric-breakdown{background:linear-gradient(135deg,#f4c94fd1,#e2f4e8b8);border-radius:8px;grid-template-rows:repeat(3,auto);grid-auto-flow:column;place-content:center end;justify-items:end;gap:6px 14px;min-width:156px;min-height:92px;padding:12px 24px 12px 12px;display:grid}.metric-breakdown span{color:#263b2e;grid-template-columns:max-content 7px minmax(20px,max-content);align-items:baseline;gap:4px;font-size:14px;display:grid}.metric-breakdown em,.metric-breakdown i{font-style:normal}.metric-breakdown em{text-align:right}.metric-breakdown b{color:#052615;text-align:right;font-size:15px}.panel{margin-top:18px;padding:22px}.school-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.school-summary-card{border:1px solid var(--line);background:linear-gradient(135deg,#fffffff5,#edf8efe6),#fff;border-radius:8px;gap:10px;min-height:150px;padding:18px;display:grid}.school-summary-title{gap:2px;display:grid}.school-summary-title span{color:var(--muted);font-size:14px}.school-summary-title small{color:var(--muted)}.school-summary-main{justify-content:space-between;align-items:center;gap:14px;display:flex}.school-summary-main>strong{color:var(--ink);font-size:40px;line-height:1}.school-count-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:baseline;padding:0;display:inline-flex}.school-count-button:hover,.school-count-button:focus-visible{color:var(--green);text-underline-offset:3px;text-decoration:underline}.school-count-button strong{color:var(--ink);font-size:40px;line-height:1}.summary-grid{grid-template-columns:minmax(230px,.9fr) repeat(3,minmax(150px,1fr));gap:16px;display:grid}.summary-grid-zone{grid-template-columns:minmax(220px,.75fr) minmax(0,2fr)}.summary-card{border:1px solid var(--line);background:#fbfdfb;border-radius:8px;gap:14px;min-width:0;padding:18px;display:grid}.summary-card h3{color:var(--green);margin-bottom:4px;font-size:22px;font-weight:600}.summary-card p,.summary-card span,.summary-card small{color:var(--muted)}.summary-card-compact{grid-template-rows:auto auto 1fr auto;align-content:stretch}.summary-number{width:fit-content;color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font-size:42px;font-weight:600;line-height:1}.summary-add-button{align-self:end;width:fit-content;min-height:38px;padding:0 14px;font-size:13px}.inline-add-panel{background:#ffffffb8;border:1px dashed #a8cdb2;border-radius:8px;margin-top:18px;padding:18px}.inline-add-panel .panel-head{margin-bottom:14px}.summary-number:hover,.year-stat button:hover strong,.zone-mini-list button:hover strong{color:var(--blue)}.zone-mini-list{gap:8px;display:grid}.zone-mini-list button,.year-stat,.year-stat button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px}.zone-mini-list button,.year-stat button{cursor:pointer}.zone-mini-list button{text-align:left;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 14px;display:flex}.zone-mini-list button span{color:var(--green);font-size:16px;font-weight:600}.zone-mini-list button strong{color:var(--green);font-size:18px;font-weight:600}.year-stats{grid-template-columns:1fr;gap:8px;display:grid}.summary-grid-zone .year-stats{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;column-gap:12px}.year-stat{text-align:left;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex}.year-stat button{text-align:right;background:0 0;border:0;justify-content:flex-end;align-items:center;min-width:42px;padding:3px 0;display:inline-flex}.year-stat strong{color:var(--green);font-size:24px;line-height:1}.school-count-button b{color:#052615}.school-summary-card>strong{color:var(--ink);font-size:34px;line-height:1}.school-summary-card>p{color:var(--muted);align-self:end;margin:0}.school-count-list,.school-zone-list{background:linear-gradient(135deg,#f4c94fb3,#e2f4e8b3);border-radius:8px;flex:172px;gap:6px;max-width:220px;padding:12px 14px;display:grid}.school-count-list span,.school-zone-list span{color:#263b2e;grid-template-columns:minmax(92px,1fr) 8px 34px;align-items:baseline;gap:5px;display:grid}.school-count-list em,.school-count-list i,.school-zone-list em,.school-zone-list i{font-style:normal}.school-count-list em,.school-zone-list em{text-align:right}.school-count-list b,.school-zone-list b{color:#052615;text-align:right}.panel-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}table{border-collapse:collapse;width:100%}.audit-record-id{max-width:240px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.72rem;font-weight:400;display:block;overflow:hidden}.table-number-button{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.table-number-button:hover,.table-number-button:focus-visible{color:var(--blue);text-underline-offset:3px;text-decoration:underline}.class-year-list{gap:22px;display:grid}.class-year-block{min-width:0}.class-year-table th:first-child{width:64px}.class-year-table th:nth-child(2){width:34%}.class-year-table th:nth-child(3){width:30%}.class-year-table th:nth-last-child(-n+3),.class-year-table td:nth-last-child(-n+3){text-align:center;font-variant-numeric:tabular-nums;width:120px}.class-year-table th,.class-year-table td{text-align:center}.class-year-table th:first-child,.class-year-table td:first-child,.class-year-table th:nth-child(2),.class-year-table td:nth-child(2),.class-year-table th:nth-child(3),.class-year-table td:nth-child(3){text-align:left}.class-year-table th:nth-last-child(-n+3),.class-year-table td:nth-last-child(-n+3){text-align:center}.class-year-total-row{background:#f4fbf5;font-weight:600}.class-year-total-row td{border-top:2px solid #a8cdb2}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:9px 13px;line-height:1.3}th{color:#244333;text-transform:uppercase;background:#eaf5ec;font-size:13px}.card{padding:22px}.welcome-title{margin:26px 32px 0;font-size:20px}.dashboard-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.dashboard-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dashboard-feature-grid>.panel{min-height:0}.dashboard-insight-panel{background:linear-gradient(135deg,#e2f4e8b8,#fffffff5),#fff}.leaderboard-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.leaderboard-card{border:1px solid var(--line);background:#ffffffd1;border-radius:8px;padding:16px}.leaderboard-card h3{color:#123c2a;margin-bottom:12px;font-size:16px}.rank-list{gap:10px;display:grid}.rank-item{background:#fff;border:1px solid #dbe9de;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.rank-number{color:#76520a;background:#fff4cc;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:600;display:grid}.rank-item strong,.year-rank-card strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rank-item small,.rank-score small,.school-gps-card small,.year-rank-card small{color:var(--muted);display:block}.rank-score{text-align:right;min-width:92px}.rank-score span{color:var(--green);font-weight:600;display:block}.school-gps-card{text-align:right;background:#ebfbf1;border:1px solid #a8dec0;border-radius:8px;min-width:150px;padding:12px 14px}.school-gps-card span{color:var(--muted);font-size:13px;display:block}.school-gps-card strong{margin:4px 0;font-size:28px;display:block}.year-rank-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.year-rank-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:104px;padding:14px}.year-rank-card span{color:var(--green);margin-bottom:8px;font-weight:600;display:block}.insight-empty{margin-bottom:0}.completion-panel{background:linear-gradient(135deg,#fff6dfdb,#fffffffa),#fff}.completion-layout{grid-template-columns:minmax(0,.6fr) minmax(240px,.4fr);gap:14px;display:grid}.compact-head{margin-bottom:10px}.completion-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.completion-button{border:1px solid var(--line);min-height:78px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;gap:6px;padding:14px;display:grid}.completion-button strong{font-size:30px}.completion-button.done strong{color:var(--green)}.completion-button.pending strong{color:var(--amber)}.completion-button.active{border-color:#8ecfa9;box-shadow:inset 0 0 0 2px #0b6b3a14}.zone-completion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.zone-completion-card{background:#fffaf0;border:1px solid #ead9a7;border-radius:8px;padding:10px 12px}.zone-completion-card span,.zone-completion-card small{color:var(--muted);display:block}.zone-completion-card strong{margin:5px 0;display:block}.completion-list{padding-top:4px}.completion-list h3{margin-bottom:10px;font-size:16px}.teacher-dashboard-wrap{max-width:980px}.teacher-dashboard-panel{background:linear-gradient(135deg,#e2f4e8d1,#fffffffa),#fff}.teacher-profile-card{grid-template-columns:1.2fr 1.4fr .8fr;gap:12px;margin-bottom:14px;display:grid}.teacher-profile-card div,.teacher-info-card{background:#ffffffe0;border:1px solid #d4e4d6;border-radius:8px;min-width:0;padding:15px}.teacher-profile-card span,.teacher-info-card span{color:var(--muted);margin-bottom:7px;font-size:13px;display:block}.teacher-profile-card strong,.teacher-info-card strong{overflow-wrap:anywhere;font-size:18px;display:block}.teacher-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.teacher-info-card.total strong{color:var(--green);font-size:34px}.teacher-info-card.wide{grid-column:1/-1}.subject-chip-list{flex-wrap:wrap;gap:8px;display:flex}.subject-chip-list b{color:#064e2d;background:#ebfbf1;border:1px solid #a8dec0;border-radius:8px;padding:8px 10px;font-size:13px}.completion-chart{background:linear-gradient(135deg,#fff,#edf8ef);border:1px solid #dbe9de;border-radius:8px;min-height:100%;padding:14px}.completion-chart h3{margin-bottom:12px;font-size:16px}.chart-bars{gap:11px;display:grid}.chart-row{grid-template-columns:58px minmax(0,1fr) 42px;align-items:center;gap:8px;font-size:13px;display:grid}.chart-track{background:#e7eadf;border-radius:999px;height:12px;overflow:hidden}.chart-track i{border-radius:inherit;background:linear-gradient(90deg,#0b6b3a,#f4c94f);height:100%;display:block}.chart-row b{color:var(--green);text-align:right}.compact-panel{margin-top:0}.detail-list{grid-template-columns:120px minmax(0,1fr);gap:12px;display:grid}.detail-list span{color:var(--muted)}.detail-list strong{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.grade-scale{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.grade-chip{text-align:center;background:#ebfbf1;border:1px solid #a8dec0;border-radius:8px;place-items:center;min-height:66px;padding:10px;display:grid}.grade-chip small{color:var(--green);font-weight:600}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.teacher-form-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px 16px}.class-form-grid{grid-template-columns:repeat(2,minmax(300px,1fr));gap:14px 16px}.class-form-grid label{grid-template-columns:124px minmax(0,1fr);align-items:center;gap:12px;display:grid}.class-form-grid label>span{color:var(--muted);font-size:13px;font-weight:600}.class-form-grid .form-actions{grid-column:1/-1;padding-left:136px}.inline-form{gap:12px 16px}.mark-mode-toggle{background:#f4fbf6;border:1px solid #d8eadb;border-radius:8px;grid-column:1/-1;gap:4px;width:fit-content;padding:4px;display:inline-flex}.mark-mode-button{color:#486074;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:36px;padding:0 14px;font-weight:600}.mark-mode-button.active{background:var(--green);color:#fff;box-shadow:0 6px 14px #04532b29}.mark-mode-button:disabled{cursor:not-allowed;opacity:.5}.inline-form label{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;display:grid}.inline-form .form-actions{padding-left:120px}.teacher-assignment-manager{gap:18px;display:grid}.teacher-assignment-panel,.teacher-subject-panel{overflow:hidden}.panel-copy{color:var(--muted);margin:6px 0 0}.teacher-assignment-toolbar{border:1px solid var(--line);background:linear-gradient(135deg,#f8fcf8 0%,#fff9e5 100%);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:16px;padding:14px;display:grid}.teacher-assignment-toolbar label,.subject-bulk-toolbar label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.teacher-assignment-toolbar select,.teacher-assignment-toolbar input,.subject-bulk-toolbar select,.subject-split-row input,.teacher-assignment-table select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.school-summary-card:nth-child(3){order:4}.school-summary-card:nth-child(4){order:3}.teacher-assignment-table .slot-column{text-align:center;width:128px}.subject-slot-input{border:1px solid var(--line);width:82px;min-height:38px;color:var(--ink);text-align:center;background:#fff;border-radius:8px;padding:8px 10px;font-weight:600}.subject-slot-stack{gap:8px;display:grid}.subject-slot-label{justify-items:center;gap:5px;display:grid}.subject-slot-label span{color:var(--muted);font-size:12px;font-weight:600}.teacher-assignment-table th,.teacher-assignment-table td{vertical-align:middle;padding:8px 12px}.teacher-assignment-table th:first-child,.teacher-assignment-table td:first-child{text-align:center;width:56px}.teacher-assignment-table td:nth-child(2),.teacher-assignment-table th:nth-child(2){text-align:center;width:90px}.teacher-assignment-table td strong,.teacher-assignment-table td small{display:block}.teacher-assignment-table td small{color:var(--muted);margin-top:3px;font-size:12px}.subject-teacher-stack{gap:10px;display:grid}.subject-teacher-stack label,.subject-component-teachers label{gap:5px;display:grid}.subject-teacher-stack label span,.subject-component-teachers label span{color:var(--muted);font-size:12px;font-weight:600}.subject-component-teachers{background:linear-gradient(135deg,#f7fcf8 0%,#fff9e8 100%);border:1px solid #d8eadb;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;padding:10px;display:grid}.subject-split-teachers{gap:8px;display:grid}.subject-split-row{background:linear-gradient(135deg,#f7fcf8 0%,#fff9e8 100%);border:1px solid #d8eadb;border-radius:8px;grid-template-columns:minmax(140px,.6fr) minmax(240px,1.4fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.subject-split-row-simple{grid-template-columns:minmax(240px,1fr) auto}.subject-split-add{justify-self:start}.subject-split-remove{min-width:76px}.subject-slot-summary{color:var(--muted);background:#f7fcf8;border:1px solid #d8eadb;border-radius:8px;align-items:baseline;gap:10px;margin:-2px 0 12px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.subject-slot-summary strong{color:var(--green);font-size:22px;line-height:1}.subject-slot-summary small{color:var(--muted);font-size:12px;font-weight:600}.teacher-assignment-table .selected-row{box-shadow:inset 4px 0 0 var(--green);background:#f2fbf3}.soft-action-button{color:#1f5cff;cursor:pointer;background:#eef4ff;border:1px solid #dce7dd;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:0 12px;font-weight:600;text-decoration:none;display:inline-flex}.soft-action-button:hover:not(:disabled),.soft-action-button:focus-visible:not(:disabled){background:#e4edff}.soft-action-button:disabled{cursor:not-allowed;opacity:.55}.teacher-assignment-actions{align-items:center;gap:14px;margin-top:14px;display:flex}.subject-bulk-toolbar{background:#fbfdf9;border:1px solid #dce9de;border-radius:8px;grid-template-columns:minmax(260px,420px) auto;align-items:end;gap:12px;margin-bottom:14px;padding:14px;display:grid}.import-form{grid-template-columns:minmax(260px,1.4fr) minmax(180px,.7fr) minmax(220px,1fr);align-items:end;gap:14px;display:grid}.import-form h3{margin-bottom:6px}.template-link{width:fit-content;min-height:34px;margin-top:10px;padding:0 12px;font-size:13px}.import-form .form-actions{grid-column:1/-1}.teacher-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.teacher-summary-grid-school{grid-template-columns:minmax(280px,.75fr) minmax(420px,1fr)}.student-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.student-summary-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.student-summary-category-grid{grid-template-columns:minmax(250px,.9fr) repeat(4,minmax(200px,1fr))}.teacher-summary-card{border:1px solid var(--line);background:linear-gradient(135deg,#fffffff5,#edf8efe6),#fff;border-radius:8px;align-content:space-between;gap:16px;min-height:142px;padding:18px;display:grid}.teacher-summary-card span{color:var(--muted);font-size:14px}.teacher-summary-card strong{color:var(--green);margin-top:8px;font-size:42px;line-height:1;display:block}.teacher-add-button{align-self:end}.teacher-add-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:22px;display:grid}.teacher-status-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.teacher-status-toolbar label{grid-template-columns:auto minmax(180px,240px);align-items:center;gap:10px;display:grid}.teacher-status-toolbar span{color:var(--muted);font-size:13px;font-weight:600}.teacher-status-toolbar select,.status-select-form select{min-height:34px;padding:6px 10px;font-size:13px}.status-select-form{margin:0}.status-select-form select{min-width:132px}.user-status-toolbar{margin-top:-4px;margin-bottom:14px}.table-actions-stack{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inline-action-form{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.inline-action-form small,.status-select-form small{flex-basis:100%;max-width:260px;line-height:1.25;display:block}.student-add-panel{grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);align-items:start;gap:18px;margin-bottom:22px;padding-bottom:28px;display:grid}.student-add-panel>div{min-width:0}.student-add-panel .panel-head{min-height:36px;margin-bottom:16px;display:flex}.student-add-panel .panel-head h3{margin-bottom:0}.student-add-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.student-add-panel .form-grid label:nth-of-type(5),.student-add-panel .form-grid .form-actions{grid-column:1/2}.student-add-panel .import-form{grid-template-columns:minmax(0,1.2fr) minmax(150px,.8fr) minmax(190px,1fr);align-items:end;gap:12px}.student-add-panel .import-form>div:first-child{align-self:start}.student-add-panel .import-form .form-actions{grid-column:1/2}.teacher-count-list{background:linear-gradient(135deg,#f4c94fb3,#e2f4e8b3);border-radius:8px;gap:6px;min-width:190px;padding:12px 14px;display:grid}.teacher-count-list-year{grid-template-columns:repeat(2,minmax(128px,1fr));align-content:center;gap:8px 28px}.teacher-count-list span{color:#263b2e;grid-template-columns:minmax(104px,1fr) 8px 32px;align-items:baseline;gap:5px;display:grid}.teacher-count-list em,.teacher-count-list i{font-style:normal}.teacher-count-list em{text-align:right}.teacher-count-list b{color:#052615;text-align:right}.teacher-count-button{color:var(--green);font:inherit;text-align:right;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.teacher-count-button:hover,.teacher-count-button:focus-visible{color:var(--blue);text-underline-offset:3px;text-decoration:underline}.student-summary-card{background:radial-gradient(circle at 100% 100%,#f4c94f2e,#0000 92px),linear-gradient(135deg,#fffffffa,#effaf3f5);border-color:#cfe0cf;align-items:stretch;min-height:132px}.student-card-main{align-content:start;min-width:0;display:grid}.student-total-card .student-card-main{align-content:space-between;min-height:92px}.student-summary-card .school-count-button strong,.student-summary-card>.student-card-main>strong{color:var(--green);margin-top:8px;font-size:42px;line-height:1;display:block}.student-count-list .school-count-button,.student-year-list .school-count-button{justify-content:flex-end;width:100%}.student-count-list{min-width:156px}.student-total-breakdown{grid-template-rows:repeat(3,auto);grid-auto-flow:row}.student-breakdown-row{color:#112a1e;grid-template-columns:minmax(74px,1fr) 10px minmax(38px,max-content);align-items:baseline;gap:5px;display:grid}.metric-breakdown .student-breakdown-row,.student-category-zones .student-breakdown-row,.student-category-gender .student-breakdown-row{color:#112a1e;grid-template-columns:minmax(74px,1fr) 10px minmax(38px,max-content);align-items:baseline;gap:5px;font-size:14px;display:grid}.student-breakdown-row em,.student-breakdown-row i{font-style:normal}.student-breakdown-row em{text-align:right}.student-breakdown-row i{text-align:center}.student-breakdown-row .school-count-button{justify-content:flex-end;width:100%}.student-breakdown-row b{color:#03623c;text-align:right;font-weight:600}.student-year-list{background:linear-gradient(135deg,#f4c94fd1,#e2f4e8b8);border-radius:8px;grid-template-rows:repeat(3,auto);grid-auto-flow:column;place-content:center end;justify-items:end;gap:6px 14px;min-width:230px;min-height:92px;padding:12px 24px 12px 12px;display:grid}.student-year-list span{color:#263b2e;grid-template-columns:max-content 7px minmax(24px,max-content);align-items:baseline;gap:4px;font-size:14px;display:grid}.student-year-list em,.student-year-list i{font-style:normal}.student-year-list em{text-align:right}.student-year-list b{color:#052615;text-align:right}.student-add-button{align-self:end;margin-top:auto}.student-category-card{background:radial-gradient(circle at 100% 100%,#f4c94f2e,#0000 92px),linear-gradient(135deg,#fffffffa,#effaf3f5);border:1px solid #cfe0cf;border-radius:8px;grid-template-columns:minmax(140px,1fr) minmax(128px,.92fr);gap:14px;min-height:132px;padding:16px 18px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 18px #022e1912}.student-category-card-school{grid-template-columns:1fr}.student-total-card-school{grid-column:span 2}.student-category-card:after{content:"";pointer-events:none;background:#f4c94f1f;border-radius:50%;width:118px;height:118px;position:absolute;bottom:-44px;right:-34px}.student-category-left,.student-category-zones{z-index:1;position:relative}.student-category-left{grid-template-rows:auto auto auto;align-content:start;gap:5px;display:grid}.student-category-left h3{color:#062f1d;white-space:nowrap;margin:0;font-size:17px;font-weight:600}.student-category-left>.school-count-button{justify-content:flex-start;width:fit-content}.student-category-left>.school-count-button strong{color:var(--green);font-size:36px;font-weight:600;line-height:1.1}.student-category-gender{align-content:start;justify-items:start;gap:4px;margin-top:18px;display:grid}.student-category-gender .student-breakdown-row{grid-template-columns:max-content 10px minmax(28px,max-content);justify-content:start}.student-category-gender .student-breakdown-row em{text-align:left}.student-category-gender .school-count-button b,.student-category-zones .school-count-button b{color:#03623c;font-size:15px;font-weight:600}.student-category-zones{background:linear-gradient(135deg,#f4c94fd1,#e2f4e8b8);border:0;border-radius:8px;align-content:center;gap:8px;min-height:100%;padding:10px;display:grid}.student-category-zones .student-breakdown-row{grid-template-columns:minmax(76px,1fr) 8px minmax(30px,max-content)}.list-choice-row{flex-wrap:wrap;gap:10px;margin:6px 0 14px;display:flex}.form-actions{grid-column:1/-1;align-items:center;gap:12px;display:flex}label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:12px;font-size:15px}.password-input-wrap{display:block;position:relative}.password-input-wrap input{padding-right:48px}.password-eye-button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-eye-button:hover,.password-eye-button:focus-visible{color:var(--green);background:#eef4ff}.password-eye-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}textarea{resize:vertical;min-height:112px;font-family:inherit}.button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:600;display:inline-flex}.button.secondary{color:var(--blue);background:#eef4ff}.button.soft{color:var(--muted);background:#f1f5f9}.button.danger{color:#b91c1c;background:#fee2e2}.danger-zone{background:#fff7f7;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding:16px;display:flex}.danger-zone h2{color:#991b1b;margin-bottom:4px;font-size:18px}.danger-zone p{margin-bottom:0}.danger-button{color:#fff;cursor:pointer;white-space:nowrap;background:#b91c1c;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-weight:600;display:inline-flex}.danger-button:hover{background:#991b1b}.notice{border-left:4px solid var(--amber);color:#6b4b13;background:#fff6df;border-radius:8px;padding:14px}.login-page{background:linear-gradient(135deg, #04785714, #2563eb14), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-shell{grid-template-columns:minmax(320px,520px) minmax(360px,460px);align-items:stretch;gap:22px;width:min(100%,1040px);display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(100%,460px);padding:32px;box-shadow:0 18px 42px #1020331f}.login-shell .login-card{width:100%}.login-info-card{color:#fff;background:linear-gradient(160deg,#047857f0,#064e3bf5),#08743b;flex-direction:column;justify-content:space-between;min-height:520px;display:flex}.login-info-card .login-brand span,.login-info-card .login-copy{color:#ffffffc7}.login-info-card h1{color:#fff;margin-bottom:14px;font-size:38px;line-height:1.08}.login-info-grid{gap:12px;display:grid}.login-info-grid div{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:14px}.login-info-grid span{color:#ffffffb8;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.login-info-grid strong{color:#fff}.login-brand{align-items:center;gap:12px;margin-bottom:24px;display:flex}.login-form-brand{margin-bottom:18px}.login-brand span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.login-copy{color:var(--muted);line-height:1.5}.login-form{gap:14px;margin-top:20px;display:grid}.register-card{width:min(100%,560px)}.access-card{width:min(100%,720px)}.access-choice-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0;display:grid}.access-choice-card{border:1px solid var(--line);min-height:128px;color:var(--ink);text-align:left;cursor:pointer;background:linear-gradient(135deg,#fffffff5,#edf8efeb),#fff;border-radius:8px;gap:6px;padding:16px;display:grid}.access-choice-card:hover,.access-choice-card:focus-visible{border-color:#9dd6b3;box-shadow:0 12px 26px #022e191a}.access-choice-card span{color:var(--green);font-size:13px;font-weight:600}.access-choice-card strong{font-size:17px}.access-choice-card small{color:var(--muted)}.login-divider{color:var(--muted);align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.login-register-link{width:100%}.password-requirements{color:var(--muted);margin:-8px 0 0;font-size:12px;line-height:1.45}.forgot-link{color:var(--green);justify-self:end;font-size:13px;font-weight:600}.forgot-link:hover{color:#064e2d;text-decoration:underline}.parent-page{background:linear-gradient(135deg, #04785714, #f4c94f1f), var(--bg);min-height:100vh;padding:28px}.parent-card{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(100%,980px);margin:0 auto;padding:28px;box-shadow:0 12px 28px #022e1914}.parent-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.student-report-head{grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.student-report-head div{border:1px solid var(--line);background:#fbfdf9;border-radius:8px;padding:16px}.student-report-head span{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.student-report-head strong{overflow-wrap:anywhere;display:block}.form-message{color:#be123c;margin:0;font-weight:600}.form-success{color:var(--green);margin:0;font-weight:600}.mark-input{max-width:110px}.component-mark-banner{color:var(--muted);background:linear-gradient(135deg,#f4fbf6 0%,#fff8dd 100%);border:1px solid #cfe7d4;border-radius:8px;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.component-mark-banner strong{color:var(--green);white-space:nowrap}.mark-entry-table th,.mark-entry-table td{padding:4px 13px}.mark-entry-table th small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600;display:block}.mark-entry-table td{height:36px}.mark-entry-table .mark-input{max-width:96px;min-height:30px;padding:4px 10px}.mark-entry-table .component-mark-input{max-width:82px}.mark-total-cell{color:var(--green);text-align:center;font-weight:600}.mark-actions,.mark-notice{margin-top:16px}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.promotion-layout{gap:18px;display:grid}.promotion-hero{background:linear-gradient(135deg, #04785714, #2563eb0d), var(--card)}.promotion-toolbar{grid-template-columns:minmax(140px,180px) minmax(130px,160px) minmax(260px,1.2fr) minmax(220px,1fr) auto;align-items:end;gap:14px;display:grid}.promotion-check-all{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:center;gap:7px;min-height:69px;padding:10px 12px;display:grid}.promotion-check-all label{color:var(--ink);align-items:center;gap:10px;font-weight:600;display:flex}.promotion-check-all small{color:var(--muted)}.promotion-action-form{align-items:end;display:flex}.promotion-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.promotion-card{border:1px solid var(--line);background:radial-gradient(circle at 100% 100%,#b7791f1f 0 32%,#0000 33%),linear-gradient(135deg,#fff 0%,#f1fbf6 100%);border-radius:8px;min-height:132px;padding:18px;position:relative;overflow:hidden;box-shadow:0 12px 28px #1020330f}.promotion-card:after{content:"";background:linear-gradient(135deg,#f7d46a,#f7d46a52);border-radius:8px;width:46px;height:46px;position:absolute;top:18px;right:18px}.promotion-card span,.promotion-card small{color:var(--muted);display:block}.promotion-card strong{color:var(--green);margin:8px 0 6px;font-size:38px;line-height:1;display:block}.promotion-card-ready:after{background:linear-gradient(135deg,#86efac,#86efac52)}.promotion-card-review:after{background:linear-gradient(135deg,#facc15,#facc154d)}.promotion-card-finish:after{background:linear-gradient(135deg,#93c5fd,#93c5fd4d)}.compact-table th,.compact-table td{vertical-align:top;padding:10px 12px}.compact-table td small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.promotion-row-check,.promotion-check-all input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);padding:0}.promotion-table-check{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.promotion-table-check input{width:18px;height:18px;accent-color:var(--green);padding:0}.promotion-target-select{min-width:220px;padding:8px 10px;font-size:14px}.promotion-bulk-select,.promotion-row-select{min-width:240px;color:var(--ink);background:#fbfffc;border-color:#cfe4d6;padding:8px 10px;font-size:14px}.promotion-bulk-select{min-width:220px;font-weight:600}.promotion-target-label{color:#064e3b;background:#f5fbf7;border:1px solid #cfe4d6;border-radius:8px;align-items:center;min-height:34px;padding:7px 10px;font-size:13px;font-weight:600;display:inline-flex}.promotion-status{border-radius:8px;justify-content:center;min-width:112px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-naik-tahun{background:var(--green-2);color:var(--green)}.status-perlu-semakan{color:#8a5a08;background:#fff6df}.status-tamat{color:var(--blue);background:#eef4ff}@media (max-width:1180px){.promotion-toolbar,.promotion-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.promotion-toolbar,.promotion-summary-grid{grid-template-columns:1fr}.promotion-action-form .button{width:100%}}.search-row{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 18px;display:flex}.search-row input{background:#fff;flex:320px;max-width:560px}.search-button{min-width:96px;min-height:46px}.report-filter-grid{border:1px solid var(--line);background:#fbfdf9;border-radius:8px;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin:14px 0 20px;padding:14px;display:grid}.report-filter-action{align-items:end;display:flex}.report-filter-action .button{width:100%;min-height:46px}.teacher-report-filter{grid-template-columns:repeat(3,minmax(180px,320px));justify-content:start}.class-report-filter{grid-template-columns:repeat(3,minmax(180px,1fr))}.class-report-meta{border:1px solid var(--line);background:linear-gradient(135deg,#fbfdf9 0%,#f4fbf5 100%);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:14px 0;padding:12px 14px;display:grid}.class-report-meta span{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.class-report-meta strong{color:var(--ink);font-size:14px;display:block}.class-mark-report table{border-collapse:separate;border-spacing:0;min-width:1180px}.class-mark-report th,.class-mark-report td{text-align:center;vertical-align:middle;padding:8px 9px}.class-mark-report tbody td,.class-mark-report tbody strong,.class-mark-report tbody small,.class-mark-report tbody .text-link{font-weight:400}.sort-header-button{width:100%;min-height:24px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.sort-header-button:hover,.sort-header-button:focus-visible{color:#006b3b;outline:0}.sort-header-button small{color:#006b3b;background:#006b3b1a;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.sort-header-button.active span{text-underline-offset:3px;text-decoration:underline}.class-mark-report .student-name-col{text-align:left;min-width:330px}.student-sort-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.student-sort-group .sort-header-button{border-radius:6px;width:auto;min-height:26px;padding:2px 6px}.student-sort-group .sort-header-button:hover,.student-sort-group .sort-header-button:focus-visible{background:#006b3b14}.student-sort-separator{color:var(--muted);font-weight:600}.class-mark-report .student-name-col strong{color:#005f38;font-size:13px;font-weight:400;line-height:1.25;display:block}.class-mark-report .student-name-col small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.individual-report-list table{min-width:980px}.individual-report-list th,.individual-report-list td{vertical-align:middle;padding:8px 10px}.individual-report-list .student-name-col,.individual-report-list .school-class-cell{text-align:left}.individual-report-list .student-name-col{min-width:300px}.individual-report-list .student-name-col .text-link{color:#005f38;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;line-height:1.25;display:inline}.individual-report-list .student-name-col .text-link:hover,.individual-report-list .student-name-col .text-link:focus-visible{text-underline-offset:3px;outline:0;text-decoration:underline}.individual-report-list .student-name-col span,.individual-report-list .school-class-cell span{color:#005f38;font-weight:500;line-height:1.25;display:block}.individual-report-list .student-name-col small,.individual-report-list .school-class-cell small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.individual-report-list .table-action{white-space:nowrap;justify-content:center;align-items:center;min-height:32px;display:inline-flex}.score-cell{min-width:64px;font-weight:400;line-height:1.15}.score-cell small{margin-top:2px;font-size:10px;font-weight:400;display:block}.score-excellent{color:#1d4ed8}.score-danger{color:#dc2626}.score-empty{color:var(--muted);font-weight:400}.score-total{color:#006b3b;font-weight:400}.pbd-report-page{overflow:hidden}.pbd-report-filter{grid-template-columns:repeat(3,minmax(180px,1fr))}.pbd-meta{margin-top:10px}.pbd-section{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.pbd-section h3{color:var(--ink);margin:0 0 4px;font-size:21px}.pbd-table-scroll table,.pbd-analysis-scroll table,.pbd-gps-scroll table{border-collapse:separate;border-spacing:0;min-width:1180px}.pbd-rtl-table th,.pbd-rtl-table td,.pbd-analysis-table th,.pbd-analysis-table td,.pbd-gps-table th,.pbd-gps-table td{text-align:center;vertical-align:middle;padding:8px 9px}.pbd-rtl-table .pbd-student-col{text-align:left;direction:ltr;min-width:300px}.pbd-student-col strong{color:#005f38;font-size:13px;line-height:1.25;display:block}.pbd-student-col small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.pbd-score{min-width:60px;font-weight:600}.pbd-score-excellent{color:#1d4ed8}.pbd-score-danger{color:#dc2626}.pbd-score-empty{color:var(--muted);font-weight:600}.pbd-analysis-table th:first-child,.pbd-gps-table th:first-child{text-align:left}.pbd-total-row th,.pbd-total-row td{background:#f0faf3;border-top:2px solid #7fbf95;font-weight:600}.report-signature-block{break-inside:avoid;page-break-inside:avoid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,7vw,110px);margin-top:48px;padding:0 8px 8px;display:none}.report-signature-item{text-align:center;flex-direction:column;justify-content:flex-end;min-height:108px;display:flex}.report-signature-item p{color:var(--text);margin:0 0 54px;font-size:14px}.report-signature-line{border-bottom:1px dotted #051f15cc;width:100%}.subject-report-controls{border:1px solid var(--line);background:linear-gradient(135deg,#f6fbf7f5,#fffcecc7),#fff;border-radius:8px;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:18px 0;padding:14px;display:grid}.subject-report-controls label{color:#51657a;gap:6px;font-size:13px;font-weight:600;display:grid}.subject-report-controls select{border:1px solid var(--line);min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:9px 12px}.subject-analysis-meta{border:1px solid var(--line);background:#f8fdf9;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 14px;display:grid;overflow:hidden}.subject-analysis-meta div{border-right:1px solid var(--line);min-height:74px;padding:12px 14px}.subject-analysis-meta div:last-child{border-right:0}.subject-analysis-meta span,.subject-report-summary span{color:#51657a;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.subject-analysis-meta strong{color:var(--ink);font-size:14px;line-height:1.35;display:block}.subject-analysis-scroll{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}.subject-analysis-table{border-collapse:collapse;width:100%;min-width:1500px;font-size:13px}.subject-analysis-table th,.subject-analysis-table td{border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;padding:8px 10px}.subject-analysis-table th{color:#073b28;text-transform:uppercase;background:#e8f4eb;font-size:12px;font-weight:600}.subject-analysis-table tbody tr:hover{background:#fbfdf8}.subject-analysis-table .subject-name{text-align:left;min-width:220px}.subject-analysis-table .subject-grade-group{background:#dff0e6}.subject-pass-cell{color:#035c37;background:#16f2ad29;font-weight:600}.subject-fail-cell{color:#8a1414;background:#ffd7d7;font-weight:600}.subject-report-summary{border:1px solid var(--line);background:#f6fbf7;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;display:grid;overflow:hidden}.subject-report-summary div{border-right:1px solid var(--line);text-align:right;padding:12px 14px}.subject-report-summary div:last-child{border-right:0}.subject-report-summary strong{color:var(--green);font-size:18px;line-height:1.2;display:block}@media (max-width:900px){.subject-report-controls,.subject-analysis-meta,.subject-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-analysis-meta div:nth-child(2n),.subject-report-summary div:nth-child(2n){border-right:0}}@media (max-width:560px){.subject-report-controls,.subject-analysis-meta,.subject-report-summary{grid-template-columns:1fr}.subject-analysis-meta div,.subject-report-summary div{border-right:0;border-bottom:1px solid var(--line)}.subject-analysis-meta div:last-child,.subject-report-summary div:last-child{border-bottom:0}}.print-report-title{text-align:center;margin-bottom:18px;display:none}.print-report-title h2{margin-bottom:4px}.student-report-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:18px;display:grid}.student-report-summary div{border:1px solid var(--line);background:#fbfdf9;border-radius:8px;padding:14px}.student-report-summary span{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.student-report-summary strong{font-size:20px}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.row-actions .button{min-height:34px;padding:0 12px}.text-link{color:#0f6840;font-weight:600;text-decoration:none}.text-link:hover{color:#064e2d}.table-action{min-height:34px;padding:8px 12px}.status-form{grid-template-columns:minmax(140px,1fr) minmax(120px,.8fr) minmax(120px,.8fr) auto;align-items:center;gap:8px;min-width:560px;display:grid}.status-form select{min-height:38px;padding:8px 10px}.status-form .button{min-height:38px;padding:0 12px}.cell-subtext{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.access-checks{border:1px solid var(--line);background:#fbfdf9;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px 12px;margin:0;padding:12px;display:grid}.access-checks legend{color:var(--muted);padding:0 6px;font-size:12px;font-weight:600}.access-checks-toolbar{color:var(--muted);background:linear-gradient(135deg,#f6fbf5 0%,#fff8de 100%);border:1px solid #d7e7d8;border-radius:8px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.access-checks-toolbar button{min-height:30px;color:var(--green);cursor:pointer;background:#fff;border:1px solid #cfe0d1;border-radius:7px;padding:0 10px;font-size:12px;font-weight:600}.access-checks-toolbar button:hover{background:#f0f7ef}.access-checks label{color:var(--ink);align-items:center;gap:6px;font-size:13px;display:flex}.access-checks input{width:auto;min-height:0}.access-checks small{color:var(--muted);grid-column:1/-1}.profile-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.profile-summary div{border:1px solid var(--line);background:#fbfdf9;border-radius:8px;padding:16px}.profile-summary span{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.profile-summary strong{overflow-wrap:anywhere;display:block}.profile-form-wrap{max-width:940px}.profile-form-wrap .status-form{min-width:0}.password-panel{max-width:760px}.password-form{grid-template-columns:1fr}.zone-form{grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:8px;max-width:300px;display:grid}.zone-form select{min-height:36px;padding:7px 10px}.zone-form .button{min-height:36px;padding:0 10px}.exam-access-list{gap:12px;display:grid}.exam-access-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.exam-access-card{border:1px solid var(--line);background:radial-gradient(circle at 100% 0,#f4c94f24,#0000 11rem),#fbfdf9;border-radius:10px;gap:12px;padding:18px;display:grid}.exam-access-card h3{color:#073b22;margin-bottom:0;font-size:24px}.exam-access-card>p{color:var(--muted);margin:-6px 0 4px}.exam-access-form{border:1px solid var(--line);background:#fbfdf9;border-radius:8px;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(140px,.7fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.exam-access-form div,.exam-access-form label{min-width:0}.exam-access-form span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.exam-access-form .button{min-height:44px;padding:0 14px}.exam-access-card .exam-access-form{background:#fff;grid-template-columns:1fr 1fr;gap:10px 12px;padding:14px}.exam-access-card .exam-access-form>div{grid-column:1/-1}.exam-access-card .exam-access-form label{gap:5px}.exam-access-card .exam-access-form label:nth-of-type(3){grid-column:1/-1}.exam-access-card .exam-access-form .button{grid-column:1/-1;justify-self:end;min-width:140px}.status-badge{border-radius:8px;justify-content:center;min-width:88px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-aktif{background:var(--green-2);color:var(--green)}.status-menunggu{color:#8a5a08;background:#fff6df}.status-digantung{color:#b91c1c;background:#fee2e2}.module-access-panel{gap:20px;display:grid}.module-table-head,.module-access-search{justify-content:space-between;align-items:end;gap:16px;display:flex}.module-access-search label{width:min(100%,540px)}.module-access-search>span{color:var(--muted);white-space:nowrap;font-weight:600}.module-access-table td:nth-child(2){min-width:260px}.module-access-table td:nth-child(2) strong,.module-access-table td:nth-child(2) small{display:block}.module-access-table td:nth-child(2) small{color:var(--muted);margin-top:3px}.module-access-row-form{grid-template-columns:minmax(360px,1fr) auto minmax(160px,auto);align-items:center;gap:12px;min-width:620px;display:grid}.module-checkbox-grid{grid-template-columns:repeat(4,minmax(128px,1fr));gap:8px;display:grid}.module-checkbox{color:#123c2a;background:#fbfefb;border:1px solid #d9e6d8;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.module-checkbox input{width:16px;height:16px;padding:0}.module-checkbox span{white-space:nowrap}.module-access-row-form .form-message,.module-access-row-form .form-success{margin:0;line-height:1.3}.module-access-notice{margin-bottom:0}.optional-module-panel{background:radial-gradient(circle at 100% 0,#f4c94f1a,#0000 18rem),linear-gradient(135deg,#fffffffa,#f4faf4eb);overflow:hidden}.takwim-panel{gap:18px;display:grid}.takwim-scope-bar{grid-template-columns:minmax(160px,.35fr) minmax(280px,1fr);align-items:end;gap:12px;display:grid}.takwim-scope-bar label,.takwim-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.takwim-scope-bar input,.takwim-scope-bar select,.takwim-form input,.takwim-form select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:42px}.takwim-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.takwim-summary article,.takwim-impact-grid article{background:radial-gradient(circle at 100% 100%,#f4c94f2e,#0000 7rem),linear-gradient(135deg,#fffffff2,#f6fbf6db);border:1px solid #d9e6d8;border-radius:8px;min-width:0;padding:16px}.takwim-summary span,.takwim-impact-grid span{color:var(--muted);font-size:13px;font-weight:600;display:block}.takwim-summary strong{color:var(--green);margin-top:6px;font-size:36px;line-height:1;display:block}.takwim-form{background:#ffffffc2;border:1px dashed #b8d5bc;border-radius:8px;grid-template-columns:minmax(240px,1fr) minmax(180px,.55fr) minmax(260px,1fr) repeat(3,minmax(150px,.5fr)) auto;align-items:end;gap:12px;padding:16px;display:grid}.takwim-form .compact-head,.takwim-form .form-message,.takwim-form .form-success{grid-column:1/-1}.takwim-form .button{min-height:42px}.takwim-month-card{background:#ffffffc7;border:1px solid #d9e6d8;border-radius:8px;padding:16px}.takwim-weekdays,.takwim-grid{grid-template-columns:repeat(7,minmax(118px,1fr));display:grid}.takwim-weekdays{border:1px solid var(--line);background:#eaf5ec;border-bottom:0;border-radius:8px 8px 0 0;margin-top:14px;overflow:hidden}.takwim-weekdays span{color:#06351f;text-align:center;padding:9px 10px;font-size:12px;font-weight:600}.takwim-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:0 0 8px 8px;overflow:hidden}.takwim-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffffdb;min-height:118px;padding:8px}.takwim-day-empty{background:#f4f7f4bf}.takwim-day-filled{background:linear-gradient(135deg,#f5fdf6fa,#fffae4db)}.takwim-day strong,.takwim-day em,.takwim-event-pill{display:block}.takwim-day strong{color:var(--ink);margin-bottom:6px;font-size:13px}.takwim-event-pill{border-left:4px solid var(--green);color:#08291a;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:6px;margin-top:4px;padding:4px 6px;font-size:11px;font-weight:600;overflow:hidden}.takwim-day em{color:var(--muted);margin-top:5px;font-size:11px;font-style:normal;font-weight:600}.takwim-impact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.takwim-impact-grid strong{color:var(--green);margin-bottom:6px;font-size:16px;display:block}.takwim-list-head{margin-bottom:-4px}.takwim-table th:first-child,.takwim-table td:first-child{text-align:center;width:64px}.takwim-table th:nth-child(2),.takwim-table td:nth-child(2){width:190px}.takwim-category-dot{vertical-align:middle;border-radius:999px;width:10px;height:10px;margin-right:8px;display:inline-block}.module-toolbar,.module-form-grid{gap:12px;margin-bottom:16px;display:grid}.module-context-note{color:#123c2a;background:radial-gradient(circle at 100% 100%,#f4c94f29,#0000 7rem),#fffc;border:1px solid #d9e6d8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 14px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.module-context-note strong{color:var(--green)}.module-context-note span{background:#fff;border-radius:999px;padding:4px 8px}.module-toolbar{grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr) auto;align-items:end}.timetable-toolbar{grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr) auto}.timetable-auto-toolbar{grid-template-columns:minmax(240px,1.1fr) minmax(160px,.45fr) minmax(300px,1.2fr)}.timetable-scope-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 16px;display:grid}.timetable-scope-summary div{background:radial-gradient(circle at 100% 100%,#f4c94f29,#0000 7rem),#ffffffd1;border:1px solid #d8e6d8;border-radius:8px;min-width:0;padding:14px 16px}.timetable-scope-summary span,.timetable-scope-summary strong{display:block}.timetable-scope-summary span{color:var(--muted);font-size:13px;font-weight:600}.timetable-scope-summary strong{color:var(--green);margin-top:4px;font-size:28px;line-height:1}.timetable-scope-note{margin:-6px 0 14px}.timetable-action-row{flex-wrap:wrap;gap:10px;margin:0 0 16px;display:flex}.timetable-action-row form{display:flex}.timetable-setup-grid{grid-template-columns:minmax(320px,.75fr) minmax(420px,1fr);align-items:start;gap:14px;margin:16px 0 18px;display:grid}.timetable-requirement-form,.timetable-requirement-list{background:#ffffffc7;border:1px solid #d9e6d8;border-radius:8px;min-width:0;padding:16px}.timetable-requirement-form{gap:12px;display:grid}.timetable-requirement-bulk{margin:16px 0 18px}.timetable-slot-settings{background:#ffffffc7;border:1px solid #d9e6d8;border-radius:8px;gap:12px;margin:16px 0 18px;padding:16px;display:grid}.timetable-slot-settings .compact-head{align-items:flex-start;margin-bottom:2px}.timetable-slot-settings .compact-head strong{color:var(--green);font-size:24px}.timetable-slot-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.timetable-slot-head-actions .button{min-height:36px;padding:0 12px}.timetable-slot-head-actions form,.timetable-slot-delete-form{margin:0;display:inline-flex}.timetable-slot-table th:first-child,.timetable-slot-table td:first-child{text-align:center;width:60px}.timetable-slot-table th:last-child,.timetable-slot-table td:last-child{text-align:center;width:120px}.timetable-slot-table input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:34px;padding:5px 8px}.timetable-slot-table input[type=time]{max-width:150px;font-weight:600}.timetable-slot-table .button{min-height:34px;padding:0 12px}.timetable-requirement-bulk .compact-head{align-items:flex-start;margin-bottom:4px}.timetable-requirement-bulk .compact-head strong{color:var(--green);font-size:24px}.timetable-requirement-table td{vertical-align:middle}.timetable-requirement-table td strong,.timetable-requirement-table td small{display:block}.timetable-requirement-table td small{color:var(--muted);margin-top:3px;font-size:12px}.timetable-requirement-table select,.compact-number-input{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:34px}.compact-number-input{text-align:center;width:96px;padding:5px 8px;font-weight:600}.timetable-requirement-table select{width:140px;padding:5px 8px}.timetable-requirement-form h3,.timetable-requirement-list h3{color:#123c2a;margin-bottom:4px;font-size:18px}.timetable-requirement-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.timetable-requirement-list .compact-head{align-items:flex-start;margin-bottom:12px}.timetable-requirement-list .compact-head strong{color:var(--green);font-size:24px}.numeric-cell{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.timetable-break-row{background:#fffaf0}.timetable-break-row td{color:#6b4b08;font-weight:600}.module-form-grid{background:#ffffffb8;border:1px dashed #b8d5bc;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px}.compact-module-form{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end}.rph-form{grid-template-columns:repeat(4,minmax(0,1fr))}.module-form-grid label,.module-toolbar label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.module-wide-field{grid-column:span 2}.rph-form .module-wide-field{grid-column:span 4}.module-inline-form{align-items:end;display:flex}.module-table-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-bottom:12px;display:flex}.module-subhead{margin-top:18px}.component-mark-panel{gap:18px;display:grid}.component-mark-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.component-mark-form{gap:16px;display:grid}.component-mark-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.component-mark-card{background:radial-gradient(circle at 100% 100%,#ffe88247,#0000 34%),linear-gradient(135deg,#fffffffa,#f3faf5db);border:1px solid #d7e5d7;border-radius:8px;gap:14px;padding:16px;display:grid}.component-mark-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.component-mark-card-head h3{color:#062313;margin:0;font-size:18px}.component-mark-card-head p{color:var(--muted);margin:4px 0 0;font-weight:600}.component-mark-card-head strong{color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:24px}.component-mark-card-head .component-total-warning{color:#c81e3a}.component-mark-rows{gap:10px;display:grid}.component-mark-rows label{color:#123c2a;grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:10px;font-weight:600;display:grid}.component-mark-rows input{border:1px solid var(--line);text-align:center;background:#fff;border-radius:8px;min-height:38px;padding:6px 10px;font-weight:600}.component-card-footer{justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.component-card-footer small{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.component-card-footer .button{min-height:34px;padding:7px 10px;font-size:12px}.timetable-view-tabs{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.timetable-view-tabs button{color:#34506b;cursor:pointer;background:#f4f8f3;border:1px solid #d5e2d7;border-radius:8px;min-height:38px;padding:9px 16px;font-weight:600}.timetable-view-tabs button.active{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 8px 18px #006d3e24}.timetable-view-toolbar{grid-template-columns:minmax(240px,420px);margin:0 0 12px;display:grid}.timetable-view-toolbar label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.compact-table th,.compact-table td{padding:8px 12px}.timetable-table th:first-child,.timetable-table td:first-child{text-align:center;width:60px}.timetable-table th:nth-child(2),.timetable-table td:nth-child(2){width:160px}.timetable-table td strong,.timetable-table td small{display:block}.timetable-table td small{color:var(--muted);margin-top:2px;font-size:12px}.timetable-matrix{border-collapse:collapse;table-layout:fixed;background:#fff;border:1px solid #b9cdbd;width:100%;min-width:980px}.timetable-matrix th,.timetable-matrix td{text-align:center;vertical-align:middle;border:1px solid #c9d9cc;padding:11px 8px}.timetable-matrix thead th{color:#0d3323;white-space:nowrap;background:#e8f4eb;font-size:13px;font-weight:600}.timetable-matrix tbody th{color:#0d3323;background:#f7fbf7;width:92px;font-size:14px;font-weight:600}.timetable-matrix td strong{color:#001b36;font-size:13px;line-height:1.25;display:block}.timetable-cell-list{gap:5px;display:grid}.timetable-cell-item{background:#e8f4ebc7;border-radius:6px;padding:5px 6px;display:block}.timetable-cell-item small{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.25;display:block}.timetable-matrix-break{background:#fff3c8}.timetable-matrix-break strong{color:#735000;letter-spacing:0}.timetable-empty-cell{color:#9bad9e}.rph-list{gap:14px;display:grid}.rph-card{background:#ffffffdb;border:1px solid #d9e6d8;border-radius:8px;padding:16px}.rph-card-head{justify-content:space-between;gap:14px;margin-bottom:12px;display:flex}.rph-card-head h3{color:var(--green);margin-bottom:4px;font-size:20px}.rph-card-head p{color:var(--muted);margin-bottom:0}.rph-card-head span{color:#6b4b08;white-space:nowrap;background:#fff4cc;border-radius:999px;height:fit-content;padding:7px 10px;font-size:12px;font-weight:600}.rph-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rph-card-grid section{background:#fbfefb;border:1px solid #e2ecdf;border-radius:8px;min-width:0;padding:12px}.rph-card-grid strong{color:#123c2a;margin-bottom:8px;display:block}.rph-card-grid p{color:#263b2e;margin-bottom:6px;line-height:1.45}.attendance-panel{overflow:visible}.attendance-tabs{border-bottom:1px solid #dce8e3;gap:8px;margin:18px 0 14px;display:flex}.attendance-tabs button{color:#61736d;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:3px solid #0000;gap:3px;min-width:150px;padding:11px 15px 10px;font-weight:800;display:grid}.attendance-tabs button small{color:#8a9893;font-size:.72rem;font-weight:500}.attendance-tabs button.active{color:#087b61;background:#f3faf7;border-bottom-color:#087b61}.attendance-tabs button.active small{color:#4c786b}.attendance-role-note{color:#315c4f;background:#f4fbf8;border:1px solid #cfe5dc;border-radius:10px;align-items:center;gap:8px;margin:18px 0;padding:12px 14px;display:flex}.attendance-role-note span{color:#637a72}.attendance-report-tab{margin-top:18px}.attendance-report-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.attendance-report-kpis div{background:#fff;border:1px solid #dce8e3;border-radius:12px;padding:16px}.attendance-report-kpis strong,.attendance-report-kpis span{display:block}.attendance-report-kpis strong{color:#12614d;font-size:1.4rem}.attendance-report-kpis span{color:#74827e;margin-top:3px;font-size:.78rem}.attendance-overview-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);gap:14px;margin:18px 0;display:grid}.attendance-alert-card,.attendance-school-summary{background:#fff;border:1px solid #dce8e3;border-radius:14px;padding:16px 18px}.attendance-alert-card.has-pending{background:#fffaf0;border-color:#f0c36b}.attendance-alert-card.is-complete{background:#f4fcf7;border-color:#9ed6bc}.attendance-alert-card strong{color:#153d32;margin:4px 0;display:block}.attendance-card-label{color:#63756f;letter-spacing:.03em;text-transform:uppercase;font-size:.78rem;font-weight:700}.attendance-alert-card small,.attendance-school-summary>small{color:#74827e}.attendance-pending-list{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.attendance-pending-list button{color:#684b09;cursor:pointer;text-align:left;background:#fff;border:1px solid #e8c879;border-radius:8px;padding:7px 9px}.attendance-pending-list button span{color:#927536;margin-top:2px;font-size:.72rem;display:block}.attendance-kpi-row{grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 10px;display:grid}.attendance-kpi-row span{border-left:3px solid #d7e9e1;padding-left:9px}.attendance-kpi-row strong,.attendance-kpi-row small{display:block}.attendance-kpi-row strong{color:#12614d;font-size:1.25rem}.attendance-kpi-row small{color:#74827e;font-size:.72rem}.attendance-workflow-note{color:#557068;align-items:center;gap:10px;margin:4px 0 14px;font-size:.8rem;display:flex}.workflow-step{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.workflow-step b{color:#557068;background:#e5eee9;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.workflow-step.active{color:#076c56;font-weight:700}.workflow-step.active b{color:#fff;background:#087b61}.workflow-line{background:#cbdcd5;width:28px;height:1px}.workflow-hint{color:#82908b;margin-left:auto}.attendance-holiday-note{color:#75560c;background:#fff9e9;border:1px solid #f0d18d;border-radius:8px;margin:10px 0 14px;padding:11px 14px}.attendance-holiday-note strong{margin-right:4px}@media (max-width:850px){.attendance-overview-grid{grid-template-columns:1fr}.attendance-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-workflow-note{flex-wrap:wrap;align-items:flex-start}.workflow-hint{flex-basis:100%;margin-left:0}}.attendance-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.attendance-toolbar label{min-width:0}.attendance-toolbar input,.attendance-toolbar select{box-sizing:border-box;width:100%;min-width:0}.attendance-month-head{text-align:center;background:#ffffffc7;border:1px solid #d9e6d8;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin:12px 0 14px;padding:14px;display:flex}.attendance-month-head h3{color:var(--green);margin:0 0 4px;font-size:24px}.attendance-month-head p{color:var(--muted);margin:0}.attendance-legend{color:var(--muted);flex-wrap:wrap;gap:10px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.attendance-legend span{align-items:center;gap:6px;display:inline-flex}.attendance-legend i{border:1px solid var(--line);border-radius:4px;width:14px;height:14px}.attendance-matrix-wrap{border:1px solid var(--line);background:#fff;border-radius:8px}.attendance-matrix{table-layout:fixed;border-collapse:separate;border-spacing:0;width:max-content;min-width:1500px}.attendance-col-number,.attendance-col-gender{width:42px}.attendance-col-name{width:260px}.attendance-col-day{width:42px}.attendance-col-summary{width:76px}.attendance-matrix th,.attendance-matrix td{text-align:center;border-bottom:1px solid #e5ede4;border-right:1px solid #e5ede4;padding:6px 7px;font-size:12px}.attendance-matrix th{color:#123c2a;background:#eaf5ec}.attendance-matrix thead tr:first-child th:nth-child(3),.attendance-matrix tbody td:nth-child(3){text-align:left;min-width:260px}.attendance-day-head button{width:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.attendance-day-head strong,.attendance-day-head small{display:block}.attendance-day-head.day-0,.attendance-day-sub.day-0{background:#bfe2ff}.attendance-day-head.day-6,.attendance-day-sub.day-6{background:#fff6a6}.attendance-day-head.day-1,.attendance-day-sub.day-1,.attendance-day-head.day-2,.attendance-day-sub.day-2,.attendance-day-head.day-3,.attendance-day-sub.day-3,.attendance-day-head.day-4,.attendance-day-sub.day-4,.attendance-day-head.day-5,.attendance-day-sub.day-5{background:#fffba8}.attendance-day-head.attendance-day-has-takwim{box-shadow:inset 0 -4px #08703a47}.attendance-day-sub{height:22px;color:var(--green);font-size:10px;font-weight:600}.attendance-takwim-note{color:#6b4b08;background:#fff8df;border:1px solid #f2d98f;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 12px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.attendance-takwim-note span{background:#ffffffd1;border-radius:999px;padding:4px 8px}.attendance-student-name button{color:#006b3a;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.attendance-student-name button:hover{text-underline-offset:3px;text-decoration:underline}.selected-attendance-row td{background:#f4fbf5}.attendance-status{min-width:42px;height:28px;font-size:11px;font-weight:600}.attendance-empty{background:#fff}.attendance-hadir{background:#09e891!important}.attendance-tidak-hadir{color:#111;background:#ff3b36!important}.attendance-lewat{color:#111;background:#fff36b!important}.attendance-sakit{color:#111;background:#ffc38c!important}.attendance-cuti{color:#111;background:#ffd6f4!important}.attendance-aktiviti{color:#111;background:#8dc7ff!important}.attendance-matrix tfoot td{background:#f4fbf5;font-weight:600}.attendance-daily-form{background:#ffffffc7;border:1px dashed #b8d5bc;border-radius:8px;margin-top:18px;padding:16px}.attendance-help{color:var(--muted);background:#ffffffc7;border:1px solid #d9e6d8;border-radius:8px;margin:14px 0 0;padding:12px 14px;font-weight:600}.attendance-edit-table th:first-child,.attendance-edit-table td:first-child{text-align:center;width:64px}.attendance-edit-table th:nth-child(2),.attendance-edit-table td:nth-child(2){width:40%}.attendance-student-report{border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f5fbf5);border-radius:8px;margin-top:18px;padding:18px}.attendance-student-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.attendance-student-summary span{color:var(--muted);background:#fff;border:1px solid #d9e6d8;border-radius:8px;padding:12px}.attendance-student-summary strong{color:var(--green);margin-top:4px;font-size:24px;display:block}.student-year-calendar{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-month-report-calendar{grid-template-columns:minmax(320px,720px)}.student-month-card{background:#fff;border:1px solid #d9e6d8;border-radius:8px;min-width:0;overflow:hidden}.student-month-card h3{color:#fff;text-align:center;background:linear-gradient(135deg,#6e63ad,#aaa0d9);margin:0;padding:8px 10px;font-size:15px}.student-month-weekdays,.student-month-grid{grid-template-columns:repeat(7,1fr);display:grid}.student-month-weekdays span{color:#123c2a;text-align:center;background:#eef4ef;padding:5px 3px;font-size:10px;font-weight:600}.student-month-grid span{border-top:1px solid #e5ede4;border-right:1px solid #e5ede4;min-height:30px;padding:3px;font-size:10px}.student-month-grid b,.student-month-grid em{font-style:normal;display:block}.student-month-grid em{text-align:center;font-weight:600}.calendar-empty{background:#f8faf8}@media print{.sidebar,.topbar,.no-print{display:none!important}body{background:#fff}.app-shell{display:block}.main{padding:0}.panel,.card,.metric{box-shadow:none;border:0}th,td{padding:6px;font-size:11px}.report-page{margin:0;padding:0}.print-report-title{display:block}.class-report-meta{break-inside:avoid;grid-template-columns:repeat(2,minmax(0,1fr))}.class-mark-report{overflow:visible}.class-mark-report table{width:100%;min-width:0}.class-mark-report th,.class-mark-report td{padding:5px;font-size:10px}.class-mark-report .student-name-col{min-width:220px}.pbd-table-scroll,.pbd-analysis-scroll,.pbd-gps-scroll{overflow:visible}.pbd-table-scroll table,.pbd-analysis-scroll table,.pbd-gps-scroll table{width:100%;min-width:0}.pbd-rtl-table th,.pbd-rtl-table td,.pbd-analysis-table th,.pbd-analysis-table td,.pbd-gps-table th,.pbd-gps-table td{padding:4px;font-size:8.5px}.pbd-rtl-table .pbd-student-col{min-width:180px}.pbd-section,.subject-analysis-meta,.subject-report-summary{break-inside:avoid;page-break-inside:avoid}.subject-analysis-scroll{border:0;overflow:visible}.subject-analysis-table{width:100%;min-width:0;font-size:8.5px}.subject-analysis-table th,.subject-analysis-table td{padding:4px 3px}.subject-analysis-table .subject-name{min-width:120px}.subject-report-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:8px}.subject-report-summary div{padding:8px}.report-signature-block{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:32px;padding:0;display:grid}.report-signature-item{min-height:92px}.report-signature-item p{margin-bottom:46px;font-size:12px}}button:disabled{opacity:.7;cursor:not-allowed}@media (max-width:960px){body{background:radial-gradient(circle at 12% 0,#f4c94f2e,#0000 18rem),radial-gradient(circle at 100% 22rem,#0b6b3a1f,#0000 24rem),linear-gradient(#f2fbf3 0%,#fbfdf7 42%,#f7faf4 100%)}.app-shell{grid-template-columns:1fr}.sidebar{z-index:20;background:radial-gradient(circle at 20px 2px,#f4c94f33,#0000 10rem),linear-gradient(135deg,#022e19 0%,#064426 58%,#0b6b3a 100%);border-bottom:1px solid #f4c94f33;padding:14px 16px 16px;position:sticky;top:0;box-shadow:0 16px 32px #10203333}.brand{align-items:center;margin-bottom:12px;padding-bottom:12px}.brand-mark{width:40px;height:40px}.nav{flex-wrap:wrap;gap:8px;margin:0 -16px;padding:0 16px 4px;display:flex;overflow:visible}.nav::-webkit-scrollbar{display:none}.nav-group{flex:none}.nav a,.nav-menu-trigger,.nav-logout{color:#ffffffd1;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff0f;flex:none;padding:10px 13px}.nav a:hover,.nav a.active,.nav-menu-trigger:hover,.nav-menu-trigger.active,.nav-group-link:hover,.nav-group-link.active{color:#062615;background:linear-gradient(135deg,#f4c94ff0,#e2f4e8e6);box-shadow:0 8px 18px #00000029}.nav-submenu{background:#022e19f5;border:1px solid #f4c94f38;border-radius:12px;flex-wrap:wrap;gap:6px;width:100%;min-width:0;margin-top:8px;padding:8px;display:flex;position:static;box-shadow:0 14px 28px #00000038}.nav-submenu a{background:0 0;border:0;font-size:13px;display:block}.nav-group-open{flex-basis:100%;order:20}.nav-group-open .nav-group-link{width:fit-content}.nav-logout{color:#d8e5dc;width:auto;box-shadow:none;background:#ffffff0a;border-color:#e2f4e824}.nav-logout:hover{color:#fff;background:#ffffff14;border-color:#f4c94f57}.date-clock{background:linear-gradient(135deg,#012313d1,#064426b8);border-color:#f4c94f75;grid-template-columns:auto minmax(0,1fr);align-items:baseline;width:auto;margin-top:10px;padding:10px 12px;position:static;box-shadow:inset 0 0 0 1px #ffffff0a,0 10px 20px #0000001f}.date-clock small{grid-column:1/-1}.main{padding:0}.main>:not(.topbar){margin-left:18px;margin-right:18px}.topbar{background:radial-gradient(circle at 100% 0,#f4c94f29,#0000 12rem),linear-gradient(135deg,#fffffffa,#edf8eff0),#fff;border-bottom-color:#d4e6d5;flex-direction:column;align-items:flex-start;gap:12px;padding:18px}.topbar h1{font-size:26px}.user-badge{background:#ffffffeb;border-color:#cfe0cf;justify-content:space-between;width:100%;max-width:none;box-shadow:0 8px 22px #022e190f}.metric-grid,.card-grid,.summary-grid,.summary-grid-zone{grid-template-columns:repeat(2,minmax(0,1fr))}.school-summary-grid,.student-summary-grid,.student-summary-category-grid,.student-summary-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-split,.dashboard-feature-grid,.completion-layout{grid-template-columns:1fr}.year-rank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zone-completion-grid{grid-template-columns:1fr}.exam-access-form{grid-template-columns:1fr 1fr}.exam-access-board{grid-template-columns:1fr}.report-filter-grid,.class-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.access-checks{grid-template-columns:repeat(2,minmax(120px,1fr))}.profile-summary,.teacher-profile-card{grid-template-columns:1fr}.teacher-info-grid{grid-template-columns:1fr 1fr}.form-grid,.class-form-grid{grid-template-columns:1fr}.class-form-grid .form-actions{grid-column:1/-1}.teacher-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-summary-grid,.teacher-add-panel,.student-add-panel,.student-add-panel .form-grid,.student-add-panel .import-form{grid-template-columns:1fr}.student-add-panel .form-grid label:nth-of-type(5),.student-add-panel .form-grid .form-actions,.student-add-panel .import-form .form-actions{grid-column:1/-1}.inline-form label,.class-form-grid label{grid-template-columns:1fr;gap:6px}.class-form-grid .form-actions,.inline-form .form-actions{padding-left:0}.import-form{grid-template-columns:1fr}.module-toolbar,.timetable-toolbar,.timetable-auto-toolbar,.component-mark-toolbar,.attendance-toolbar,.module-form-grid,.compact-module-form,.rph-form,.component-mark-grid,.attendance-student-summary,.student-year-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.student-month-report-calendar{grid-template-columns:minmax(320px,720px)}.timetable-setup-grid{grid-template-columns:1fr}.module-inline-form,.module-form-grid .form-actions,.module-wide-field,.rph-form .module-wide-field{grid-column:1/-1}.rph-card-grid{grid-template-columns:1fr}.panel{padding:18px}.panel-head{flex-direction:column;align-items:flex-start}table{min-width:720px}}@media (max-width:640px){.report-signature-block{grid-template-columns:1fr;gap:18px;margin-top:32px}.report-signature-item{min-height:86px}.report-signature-item p{margin-bottom:38px}.main{padding:0}.main>:not(.topbar){margin-left:14px;margin-right:14px}.topbar{gap:10px;padding:15px 14px}.sidebar{padding:12px 16px 14px}.brand{gap:10px;margin-bottom:10px;padding:0 0 10px}.brand-mark{border-radius:10px;width:38px;height:38px;box-shadow:0 8px 18px #00000029}.brand strong{font-size:15px}.brand small{margin-top:2px;font-size:13px}.nav{gap:7px;padding-bottom:7px}.nav a,.nav-menu-trigger,.nav-logout{border-radius:10px;padding:9px 11px;font-size:14px}.date-clock{border-radius:10px;min-height:46px;margin-top:7px;padding:8px 10px}.date-clock strong{font-size:18px}.date-clock span,.date-clock small{font-size:11px}.login-page{align-items:start;padding:14px}.login-shell{grid-template-columns:1fr;gap:14px}.login-info-card{gap:22px;min-height:auto}.login-info-card h1{font-size:30px}.login-card{padding:22px}.login-brand{align-items:flex-start}.parent-page{padding:14px}.parent-card{padding:18px}.parent-head{flex-direction:column}.student-report-head{grid-template-columns:1fr}.student-report-summary{grid-template-columns:1fr 1fr}.component-mark-toolbar,.component-mark-grid{grid-template-columns:1fr}h1,.topbar h1{font-size:23px;line-height:1.2}.page-subtitle{font-size:14px}.user-badge{background:#ffffffe6;border:1px solid #cfe0cf;border-radius:10px;gap:8px;padding:8px 9px;box-shadow:0 8px 22px #022e190f}.user-badge-info{border-top:0;min-width:0;padding:0}.user-badge strong{font-size:14px;display:block}.user-badge small{font-size:12px;display:block}.user-badge-link,.user-profile-link,.user-switch-link,.user-badge button{border-radius:9px;min-height:36px;font-size:12px}.eyebrow{font-size:11px}.metric-grid,.card-grid,.summary-grid,.summary-grid-zone,.student-summary-grid,.student-summary-category-grid,.student-summary-grid-compact,.year-stats,.teacher-form-grid{grid-template-columns:1fr}.teacher-summary-grid,.student-summary-grid{gap:10px;margin-bottom:16px}.teacher-summary-card{min-height:0;padding:14px}.teacher-summary-card strong{font-size:28px}.teacher-count-list,.student-year-list{min-width:174px;padding:9px 10px}.teacher-count-list span,.student-year-list span{grid-template-columns:minmax(96px,1fr) 7px 28px;font-size:12px}.list-choice-row{grid-template-columns:1fr;display:grid}.school-summary-grid{gap:10px;margin-bottom:16px}.school-summary-card{min-height:0;padding:12px}.school-summary-title span{font-size:12px}.school-summary-title small{font-size:10px}.school-summary-main{gap:8px}.school-summary-main>strong,.school-count-button strong{font-size:28px}.school-count-list,.school-zone-list{row-gap:4px;min-width:0;padding:8px 9px}.school-count-list span,.school-zone-list span{grid-template-columns:minmax(52px,1fr) 6px 22px;gap:3px;font-size:10px}.school-count-list b,.school-zone-list b{font-size:11px}.dashboard-metrics{grid-template-columns:1fr;gap:12px;margin-top:18px}.dashboard-metrics .metric{border-radius:14px;min-height:104px}.dashboard-metrics .metric:first-child,.dashboard-metrics .metric:nth-child(3){grid-column:1/-1}.dashboard-metric{background:radial-gradient(circle at 100% 0,#f4c94f2e,#0000 38%),linear-gradient(135deg,#fff,#f1fbf3);border-color:#dce9dc;align-items:center;padding:16px;box-shadow:0 12px 26px #022e1917}.dashboard-metric:before{content:"";background:linear-gradient(180deg, var(--gold), var(--green));opacity:.72;border-radius:0 999px 999px 0;width:4px;position:absolute;top:14px;bottom:14px;left:0}.dashboard-metric:not(:has(.metric-breakdown)){min-height:96px}.metric-side{width:clamp(198px,44vw,224px);min-width:clamp(198px,44vw,224px)}.metric-accent{border-radius:11px;width:42px;height:42px;box-shadow:inset 0 0 0 1px #ffffff38}.metric-breakdown{border:1px solid #f4c94f57;width:100%;min-width:0;min-height:78px;padding:10px 24px 10px 10px;box-shadow:inset 0 1px #ffffff5c}.metric-breakdown span{grid-template-columns:max-content 7px minmax(20px,max-content);font-size:12px}.metric-breakdown b{font-size:13px}.welcome-title{margin:18px 14px 0;font-size:16px;line-height:1.35}.grade-scale{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-info-grid,.leaderboard-grid,.year-rank-grid{grid-template-columns:1fr}.completion-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-assignment-toolbar,.subject-bulk-toolbar{grid-template-columns:1fr}.teacher-assignment-actions{flex-direction:column;align-items:flex-start}.completion-button{background:linear-gradient(135deg,#fff,#fbfff7);border-radius:12px;min-height:72px;padding:12px}.completion-button strong{font-size:28px}.zone-completion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.zone-completion-card{background:#fffaf0c7;border-radius:12px;min-height:86px;padding:9px 8px}.zone-completion-card span,.zone-completion-card small{font-size:11px}.zone-completion-card strong{font-size:13px}.completion-chart{border-radius:12px;padding:12px}.dashboard-insight-panel,.completion-panel{border-radius:14px;padding:20px;box-shadow:0 12px 26px #022e1912}.dashboard-insight-panel h2,.completion-panel h2{font-size:22px;line-height:1.25}.rank-item{grid-template-columns:30px minmax(0,1fr)}.rank-score{text-align:left;grid-column:2}.school-gps-card{text-align:left;width:100%}.exam-access-form{grid-template-columns:1fr}.exam-access-card{padding:14px}.exam-access-card .exam-access-form{grid-template-columns:1fr}.exam-access-card .exam-access-form .button{justify-self:stretch}.report-filter-grid,.student-report-summary,.class-report-meta,.pbd-report-filter,.access-checks{grid-template-columns:1fr}.danger-zone{flex-direction:column;align-items:stretch}.detail-list{grid-template-columns:1fr}.detail-list strong{text-align:left}.metric,.card,.panel{box-shadow:0 8px 20px #1020330d}.metric strong{font-size:28px}.form-actions,.row-actions{flex-direction:column;align-items:stretch}.button,.row-actions .button{width:100%}input,select,textarea{min-height:44px;font-size:16px}.module-toolbar,.timetable-toolbar,.timetable-auto-toolbar,.attendance-toolbar,.module-form-grid,.compact-module-form,.rph-form{grid-template-columns:1fr}.attendance-month-head{text-align:left;display:grid}.attendance-student-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.student-year-calendar,.student-month-report-calendar{grid-template-columns:1fr}.timetable-action-row,.timetable-action-row form{width:100%;display:grid}.mark-input{max-width:none}.table-scroll{overflow-x:auto}.table-scroll table{min-width:720px}th,td{padding:9px 10px;font-size:14px}}@media (max-width:480px){.sidebar{padding:10px 12px 12px}.brand{margin-bottom:9px;padding-bottom:9px}.brand-mark{border-radius:9px;width:34px;height:34px;font-size:15px}.brand strong{font-size:14px}.brand small{font-size:12px}.nav{gap:6px;margin-inline:-12px;padding-inline:12px}.nav a,.nav-menu-trigger,.nav-logout{border-radius:9px;padding:8px 10px;font-size:13px;font-weight:600}.nav-logout{color:#d8e5dc;background:#ffffff0a;border-color:#e2f4e824}.date-clock{min-height:40px;padding:7px 9px}.date-clock strong{font-size:16px}.date-clock span,.date-clock small{font-size:10px}.main>:not(.topbar){margin-left:12px;margin-right:12px}.topbar{grid-template-columns:minmax(112px,.7fr) minmax(210px,1fr);align-items:start;gap:8px;padding:14px 12px;display:grid}h1,.topbar h1{font-size:21px}.page-subtitle{font-size:12px;line-height:1.3}.user-badge{border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:auto;min-width:0;padding:8px;display:grid}.user-badge-info{min-width:0}.user-badge strong{text-overflow:clip;white-space:normal;font-size:12px;line-height:1.15;overflow:visible}.user-badge small{text-overflow:clip;white-space:normal;font-size:10px;line-height:1.2;overflow:visible}.user-profile-link{margin-top:3px;font-size:11px;line-height:1.1}.user-badge-actions{justify-content:flex-end}.user-switch-link{text-align:center;min-height:38px;padding:0 10px}.welcome-title{margin:16px 12px 0}.dashboard-metrics{gap:10px}.dashboard-metrics .metric{min-height:96px}.dashboard-metric{padding:14px 13px 14px 16px}.dashboard-metric:before{width:3px;top:12px;bottom:12px}.metric span{font-size:14px}.metric strong{margin:6px 0 0;font-size:28px}.metric-side{width:clamp(204px,58vw,222px);min-width:clamp(204px,58vw,222px)}.metric-accent{width:36px;height:36px}.metric-breakdown{gap:5px 12px;width:100%;min-width:0;min-height:70px;padding:8px 28px 8px 10px}.metric-breakdown span{grid-template-columns:max-content 7px minmax(20px,max-content);gap:5px;font-size:11.5px}.metric-breakdown b{font-size:12px}.dashboard-insight-panel,.completion-panel{margin-top:12px;padding:16px}.dashboard-insight-panel h2,.completion-panel h2{font-size:20px}.dashboard-insight-panel p,.completion-panel p{font-size:14px;line-height:1.45}.completion-summary{grid-template-columns:1fr 1fr}.completion-button{min-height:64px}.completion-button strong{font-size:24px}}h1,h2,h3,h4,h5,h6{color:inherit;letter-spacing:-.02em;font-family:inherit;font-weight:650;line-height:1.25}.mark-entry-table .table-sort-button{min-height:24px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0;font-weight:700;display:inline-flex}.mark-entry-table .table-sort-button:hover,.mark-entry-table .table-sort-button:focus-visible{color:var(--primary);text-decoration:underline}p{line-height:1.55}.app-shell{grid-template-columns:228px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg, var(--nav), #08281f);padding:18px 12px}.brand{gap:10px;margin-bottom:14px;padding:0 8px 16px}.brand-mark{border-radius:var(--radius-sm);width:38px;height:38px;font-weight:600}.brand small{color:#b8c8c1}.nav a,.nav-menu-trigger,.nav-logout{border-radius:var(--radius-sm);color:#d7e3de;min-height:38px;padding:9px 11px;font-size:13.5px;font-weight:600}.nav-submenu a{color:#c4d5ce;min-height:32px;padding:7px 9px;font-size:13px;font-weight:500}.nav-submenu a:before{background:#8fb6a6;width:4px;height:4px}.nav a:hover,.nav a.active,.nav-menu-trigger:hover,.nav-menu-trigger.active,.nav-group-link:hover,.nav-group-link.active{background:#1e705473}.topbar{border-bottom-color:var(--line);box-shadow:var(--shadow-sm);background:#fffffff5;padding:20px 28px}.main>:not(.topbar){margin-left:28px;margin-right:28px}h1{font-size:25px}.page-subtitle{color:var(--muted);margin-top:4px;font-size:14px}.eyebrow{color:var(--green);letter-spacing:.04em;font-size:12px;font-weight:600}.user-badge{border-color:var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.user-badge strong,.user-badge button,.user-badge-link,.user-switch-link,.user-profile-link{font-weight:600}.card,.metric,.panel,.school-summary-card,.leaderboard-card,.psra-report-panel,.psra-report-chart-page,.psra-report-metrics>div{border-color:var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.panel{padding:22px}.metric strong,.psra-report-metrics strong{color:var(--ink);letter-spacing:-.025em;font-weight:650}label,.psra-report-filters label,.psra-inline-filters label,.psra-class-filter,.psra-filter-bar label,.psra-school-display span{color:#52635d;letter-spacing:.01em;text-transform:none;font-weight:600}input,select,textarea,.psra-report-filters select,.psra-inline-filters select,.psra-class-filter select,.psra-filter-bar select{min-height:42px;color:var(--ink);box-shadow:none;background:#fff;border-color:#ccd9d4;border-radius:9px;font-size:14px;font-weight:400}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:3px solid #087a5b24}button,.button,.danger-button,.soft-action-button,.table-action{font-weight:600}.button{background:var(--green);box-shadow:var(--shadow-sm);border-radius:9px}.button:hover:not(:disabled),.button:focus-visible:not(:disabled){background:var(--green-strong)}table{font-variant-numeric:tabular-nums}th,td{border-bottom-color:var(--line)}th{color:#33443e;letter-spacing:.01em;text-transform:none;background:#eef3f1;font-size:12px;font-weight:600}tbody tr:hover{background:#f8faf9}.psra-report-shell{color:var(--ink)}.psra-report-heading{border-radius:var(--radius-lg);background:linear-gradient(120deg, #0b5945, var(--green));box-shadow:var(--shadow-md)}.psra-report-heading span,.psra-report-metrics span,.psra-report-filters label,.psra-inline-filters label,.psra-class-filter,.psra-report-chart-page>header span{letter-spacing:.035em;text-transform:none;font-weight:600}.psra-report-tabs,.psra-session-tabs{background:#e9f1ed}.psra-report-tabs button,.psra-session-tabs button{font-weight:600}.psra-report-tabs button.active,.psra-session-tabs button.active{background:var(--green);box-shadow:0 3px 9px #087a5b29}.psra-report-table thead th{color:#31453d;letter-spacing:.015em;text-transform:none;background:#e8f1ed;font-size:11px;font-weight:600}.psra-report-table tbody th{color:#2c4139;background:#f6f9f8;font-weight:600}.psra-report-chart-page{background:linear-gradient(#f4f8f6,#fff 34%)}.psra-chart-legend span,.psra-stacked-row>strong,.psra-grade-bar-row>strong,.psra-stacked-row>b,.psra-grade-bar-row>b{font-weight:600}.form-message,.form-success,.empty-state,.empty{border-radius:var(--radius-sm)}@media (max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:20;padding:14px 16px 16px;position:sticky;top:0}.nav{flex-wrap:wrap;gap:8px;display:flex}.topbar{flex-direction:column;align-items:flex-start;gap:12px;padding:18px}.user-badge{justify-content:space-between;width:100%;max-width:none}.main>:not(.topbar){margin-left:18px;margin-right:18px}}@media (max-width:760px){.topbar{padding:16px 18px}.main>:not(.topbar){margin-left:16px;margin-right:16px}}.registration-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.audit-event{white-space:nowrap;border-radius:999px;justify-content:center;min-width:76px;padding:5px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.audit-event-login,.audit-event-insert{color:#047857;background:#d1fae5}.audit-event-logout{color:#475569;background:#e2e8f0}.audit-event-update{color:#1d4ed8;background:#dbeafe}.audit-event-delete{color:#b91c1c;background:#fee2e2}.audit-change-details{min-width:280px;color:var(--muted);margin-top:7px;font-size:.75rem}.audit-change-details summary{color:var(--green);cursor:pointer;font-weight:600}.audit-change-list{gap:6px;margin-top:8px;display:grid}.audit-change-list>div{background:#f7faf8;border-radius:7px;grid-template-columns:minmax(90px,.7fr) minmax(90px,1fr) auto minmax(90px,1fr);align-items:start;gap:7px;padding:7px;display:grid}.audit-change-list span{overflow-wrap:anywhere}@media (max-width:760px){.audit-change-list>div{grid-template-columns:1fr}}.report-export-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.report-verification-card{background:#f0fdf4;border:1px solid #a7d7bd;border-radius:10px;flex-basis:100%;justify-content:flex-end;align-items:center;gap:12px;padding:10px;display:flex}.report-verification-card img{width:108px;height:108px;image-rendering:crisp-edges}.report-verification-card div{gap:5px;max-width:290px;display:grid}.report-verification-card span{color:var(--muted);font-size:12px}.verification-page{max-width:760px;margin:0 auto}.verification-details{background:#dbe7df;border:1px solid #dbe7df;border-radius:10px;gap:1px;margin:18px 0;display:grid;overflow:hidden}.verification-details div{background:#fff;grid-template-columns:150px 1fr;gap:14px;padding:12px;display:grid}.verification-details dt{color:var(--muted);font-weight:700}.verification-details dd{overflow-wrap:anywhere;margin:0;font-weight:650}.verification-hash{font-family:ui-monospace,monospace;font-size:12px}.status-good{color:#047857}.status-bad{color:#b91c1c}.intervention-panel{border-top:4px solid #f59e0b;margin-top:18px}.intervention-priority{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850;display:inline-flex}.intervention-priority-tinggi{color:#b91c1c;background:#fee2e2}.intervention-priority-sederhana{color:#92400e;background:#fef3c7}.cell-detail{color:var(--muted);margin-top:4px;display:block}.compact-button{white-space:nowrap;min-height:32px;padding:6px 10px}.parent-one-time-code{text-align:center;background:#f0fdf4;border:2px dashed #0b6b3a;border-radius:12px;grid-column:1/-1;justify-items:center;gap:6px;padding:18px;display:grid}.parent-one-time-code span{color:var(--muted);font-weight:700}.parent-one-time-code strong{color:#075c33;letter-spacing:.16em;font-family:ui-monospace,monospace;font-size:clamp(30px,6vw,46px)}.parent-one-time-code small{color:#3f5d4b}@media print{.report-verification-card{background:#fff;border:1px solid #555;display:flex!important}}.rph-monitor-panel,.rph-teacher-submit-panel{border-radius:16px;padding:0;overflow:hidden}.rph-monitor-head{background:linear-gradient(120deg,#f8fcf9,#f2f9f5);border-bottom:1px solid #dfe9e2;justify-content:space-between;align-items:flex-start;gap:22px;padding:24px;display:flex}.rph-monitor-head h2{color:#0b3c2a;margin:5px 0;font-size:25px}.rph-monitor-head p{color:#718278;margin:0}.rph-eyebrow-dark{color:#08734d;letter-spacing:.14em;font-size:10px;font-weight:900}.rph-monitor-controls{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.rph-monitor-controls>label{color:#5e7368;gap:5px;min-width:230px;font-size:11px;font-weight:800;display:grid}.rph-week-picker{grid-template-columns:34px minmax(145px,1fr) 34px;align-items:end;gap:5px;min-width:280px;display:grid}.rph-week-picker label{color:#5e7368;gap:5px;font-size:11px;font-weight:800;display:grid}.rph-week-picker input,.rph-monitor-controls select{background:#fff;border:1px solid #cadbd0;border-radius:8px;min-height:40px}.rph-week-picker button{color:#08734d;cursor:pointer;background:#fff;border:1px solid #cadbd0;border-radius:8px;width:34px;height:40px;font-size:24px}.rph-week-picker>strong{color:#315243;text-align:center;grid-column:1/-1;font-size:12px}.rph-monitor-metrics{background:#fff;grid-template-columns:1.4fr repeat(4,1fr);gap:10px;padding:20px 24px;display:grid}.rph-monitor-metrics>div{background:#fbfdfb;border:1px solid #dfe9e2;border-radius:11px;gap:3px;padding:15px;display:grid}.rph-monitor-metrics>div.primary{background:linear-gradient(130deg,#e9f7ed,#f4fbf6);border-color:#acd2bb}.rph-monitor-metrics span{color:#62766b;font-size:11px;font-weight:800}.rph-monitor-metrics strong{color:#0b3c2a;font-variant-numeric:tabular-nums;font-size:27px}.rph-monitor-metrics small{color:#8a978f;font-size:10px}.rph-missing-teachers{background:#fffaf1;border:1px solid #efd7ae;border-radius:10px;margin:0 24px 18px}.rph-missing-teachers summary{color:#7b5513;cursor:pointer;justify-content:space-between;padding:12px 14px;display:flex}.rph-missing-teachers summary span{font-size:11px}.rph-missing-teachers>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 12px 12px;display:grid}.rph-missing-teachers>div>span{color:#493c25;background:#fff;border-radius:7px;padding:9px 10px;font-size:12px;font-weight:700;display:grid}.rph-missing-teachers small{color:#947c55;font-size:10px;font-weight:500}.rph-submission-section-head{justify-content:space-between;align-items:center;gap:12px;padding:18px 24px 12px;display:flex}.rph-submission-section-head h3{color:#173e2e;margin:0 0 3px}.rph-submission-section-head p{color:#7a8a81;margin:0;font-size:12px}.rph-submission-section-head>span{color:#08734d;background:#e9f4ec;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.rph-submission-list{gap:12px;padding:0 24px 24px;display:grid}.rph-submission-card{background:#fff;border:1px solid #dbe7de;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #0e3b270a}.rph-submission-card>header{background:#fbfdfb;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.rph-submission-card>header h3{color:#173e2e;margin:3px 0 2px;font-size:16px}.rph-submission-card>header p{color:#7b8b82;margin:0;font-size:11px}.rph-submission-card>header>button{color:#08734d;cursor:pointer;background:#fff;border:1px solid #bdd7c6;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:800}.rph-teacher-avatar{color:#fff;background:#0a754f;border-radius:12px;place-items:center;width:44px;height:44px;font-size:13px;font-weight:900;display:grid}.rph-workflow-status{color:#5e6b64;letter-spacing:.03em;text-transform:uppercase;background:#e7ece9;border-radius:999px;width:fit-content;padding:4px 8px;font-size:9px;font-weight:900;display:inline-flex}.rph-workflow-status.status-dihantar{color:#1d4ed8;background:#dbeafe}.rph-workflow-status.status-dalam_semakan{color:#6842b7;background:#e8e1ff}.rph-workflow-status.status-pembetulan{color:#bd4b0d;background:#ffead5}.rph-workflow-status.status-dihantar_semula{color:#0369a1;background:#e0f2fe}.rph-workflow-status.status-disahkan{color:#047857;background:#d9f5e4}.rph-review-note{background:#fff8eb;border-left:3px solid #e39337;border-radius:0 7px 7px 0;margin:0 16px 14px;padding:10px 12px}.rph-review-note strong{color:#87510f;font-size:11px}.rph-review-note p{color:#5d5140;margin:3px 0 0;font-size:12px}.rph-submission-detail{border-top:1px solid #e3ece6;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;padding:16px;display:grid}.rph-snapshot-list{align-content:start;gap:8px;display:grid}.rph-snapshot-list details{background:#fff;border:1px solid #dbe7de;border-radius:9px}.rph-snapshot-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.rph-snapshot-list summary>span{gap:2px;display:grid}.rph-snapshot-list summary strong{color:#173e2e;font-size:13px}.rph-snapshot-list summary small{color:#7a8a81;font-size:10px}.rph-snapshot-list summary b{color:#08734d;font-size:10px}.rph-snapshot-content{gap:8px;padding:0 12px 12px;display:grid}.rph-snapshot-content section{background:#f7faf8;border-radius:7px;padding:9px}.rph-snapshot-content strong{color:#315243;font-size:11px}.rph-snapshot-content p{color:#405249;white-space:pre-line;margin:4px 0 0;font-size:11px;line-height:1.55}.rph-review-workspace{background:#f8fcf9;border:1px solid #d8e6dc;border-radius:10px;align-self:start;padding:14px}.rph-review-workspace h4{color:#173e2e;margin:0 0 10px;font-size:13px}.rph-review-buttons{flex-wrap:wrap;gap:7px;display:flex}.rph-review-action{gap:7px;display:grid}.rph-review-action.with-note{border-top:1px solid #dce7df;margin-top:10px;padding-top:10px}.rph-review-action input,.rph-review-action textarea{width:100%;font:inherit;background:#fff;border:1px solid #cbdcd0;border-radius:8px}.rph-review-action input{min-height:38px}.rph-review-action textarea{resize:vertical;padding:9px}.rph-review-action small{font-size:11px}.rph-review-history{border-top:1px solid #dce7df;gap:8px;margin-top:16px;padding-top:13px;display:grid}.rph-review-history>div{grid-template-columns:9px 1fr;gap:8px;display:grid}.rph-review-history i{background:#0a8b5c;border-radius:50%;width:8px;height:8px;margin-top:4px}.rph-review-history span{gap:2px;display:grid}.rph-review-history strong{color:#345346;font-size:11px}.rph-review-history small{color:#84938b;font-size:9px}.rph-review-history p{color:#635241;margin:2px 0 0;font-size:10px}.rph-teacher-workflow{grid-template-columns:repeat(4,1fr);padding:22px 24px 16px;display:grid}.rph-teacher-workflow>div{color:#9aa59f;text-align:center;justify-items:center;gap:6px;font-size:11px;font-weight:700;display:grid;position:relative}.rph-teacher-workflow>div:before{content:"";background:#dde6e0;width:100%;height:2px;position:absolute;top:15px;right:50%}.rph-teacher-workflow>div:first-child:before{display:none}.rph-teacher-workflow i{z-index:1;background:#fff;border:2px solid #d8e3dc;border-radius:50%;place-items:center;width:31px;height:31px;font-style:normal;display:grid}.rph-teacher-workflow>div.active{color:#08734d}.rph-teacher-workflow>div.active:before{background:#69bd8c}.rph-teacher-workflow>div.active i{color:#08734d;background:#e7f6ec;border-color:#08734d}.rph-correction-banner,.rph-verified-banner{border-radius:10px;margin:6px 24px 16px;padding:14px}.rph-correction-banner{background:#fff6e9;border:1px solid #efc28f}.rph-correction-banner strong{color:#aa480d}.rph-correction-banner p{color:#67472e;margin:5px 0}.rph-correction-banner span{color:#8b6a4d;font-size:11px}.rph-verified-banner{background:#ecf9f0;border:1px solid #a9d8bd;gap:12px;display:flex}.rph-verified-banner>span{color:#fff;background:#08734d;border-radius:50%;flex:0 0 38px;place-items:center;height:38px;font-weight:900;display:grid}.rph-verified-banner strong{color:#075f40}.rph-verified-banner p{color:#507363;margin:4px 0 0;font-size:12px}.rph-submit-summary{grid-template-columns:repeat(3,1fr);gap:10px;padding:4px 24px 12px;display:grid}.rph-submit-summary>div{background:#fbfdfb;border:1px solid #dfe9e2;border-radius:9px;gap:3px;padding:13px;display:grid}.rph-submit-summary strong{color:#0b3c2a;font-size:21px}.rph-submit-summary span{color:#77877e;font-size:10px;font-weight:700}.rph-week-records{padding-bottom:10px}.rph-week-records>.ready,.rph-week-records>.draft{border:1px solid #dfe8e2;border-radius:8px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 24px 7px;padding:10px 12px;display:grid}.rph-week-records>div>i{color:#08734d;background:#ddf3e6;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-style:normal;font-weight:900;display:grid}.rph-week-records>.draft>i{color:#b25b11;background:#fff0d8}.rph-week-records>div>span{gap:2px;display:grid}.rph-week-records>div strong{color:#294b3b;font-size:12px}.rph-week-records>div small{color:#85928b;font-size:10px}.rph-week-records>div b{color:#08734d;font-size:10px}.rph-week-records>.draft b{color:#b25b11}.rph-empty.compact{padding:32px 20px}.rph-week-submit-form{background:#eff8f2;border:1px solid #b9d9c4;border-radius:11px;margin:10px 24px 22px;padding:16px}.rph-week-submit-form label{color:#315243;gap:6px;font-size:12px;font-weight:800;display:grid}.rph-week-submit-form textarea{resize:vertical;background:#fff;border:1px solid #c8dacf;border-radius:8px;width:100%}.rph-week-submit-form>div{justify-content:space-between;align-items:center;gap:15px;margin-top:10px;display:flex}.rph-week-submit-form>div p{color:#668074;margin:0;font-size:11px}.rph-submission-history{border-top:1px solid #e1eae4;gap:7px;padding:20px 24px 24px;display:grid}.rph-submission-history h3{color:#173e2e;margin:0 0 6px}.rph-submission-history>div{border:1px solid #e0e9e3;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.rph-submission-history>div>span{gap:2px;display:grid}.rph-submission-history strong{color:#345346;font-size:12px}.rph-submission-history small{color:#85928b;font-size:10px}@media (max-width:1050px){.rph-monitor-head{flex-direction:column}.rph-monitor-controls{justify-content:flex-start;width:100%}.rph-monitor-metrics{grid-template-columns:repeat(3,1fr)}.rph-submission-detail{grid-template-columns:1fr}}@media (max-width:640px){.rph-monitor-panel,.rph-teacher-submit-panel{border-left:0;border-right:0;border-radius:0}.rph-monitor-head{padding:18px 14px}.rph-monitor-controls,.rph-monitor-controls>label,.rph-week-picker{width:100%;min-width:0}.rph-monitor-metrics{grid-template-columns:1fr 1fr;padding:14px}.rph-monitor-metrics>div.primary{grid-column:1/-1}.rph-missing-teachers{margin:0 14px 14px}.rph-missing-teachers>div{grid-template-columns:1fr}.rph-submission-section-head{padding:16px 14px 10px}.rph-submission-list{padding:0 14px 18px}.rph-submission-card>header{grid-template-columns:40px minmax(0,1fr)}.rph-submission-card>header>button{grid-column:1/-1;width:100%}.rph-submission-detail{padding:12px}.rph-teacher-workflow{padding:18px 8px 14px}.rph-teacher-workflow span{font-size:9px}.rph-correction-banner,.rph-verified-banner{margin:4px 14px 14px}.rph-submit-summary{grid-template-columns:1fr 1fr;padding:4px 14px 10px}.rph-submit-summary>div:last-child{grid-column:1/-1}.rph-week-records>.ready,.rph-week-records>.draft{margin-left:14px;margin-right:14px}.rph-week-submit-form{margin:10px 14px 18px}.rph-week-submit-form>div{flex-direction:column;align-items:stretch}.rph-submission-history{padding:18px 14px}}.mark-workflow-create>form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.mark-workflow-create label{color:#274f3d;gap:6px;font-size:13px;font-weight:700;display:grid}.mark-workflow-create input,.mark-workflow-create select,.mark-workflow-action input{min-height:40px;font:inherit;background:#fff;border:1px solid #c9ddd0;border-radius:8px;padding:8px 10px}.workflow-status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.workflow-status-draf{color:#475569;background:#e2e8f0}.workflow-status-dihantar{color:#1d4ed8;background:#dbeafe}.workflow-status-disahkan{color:#047857;background:#d1fae5}.workflow-status-dikunci{color:#6d28d9;background:#ede9fe}.workflow-status-pembetulan{color:#c2410c;background:#ffedd5}.mark-workflow-actions,.notification-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.mark-workflow-action{flex-wrap:wrap;gap:6px;display:flex}.mark-workflow-action small{flex-basis:100%}.notification-list{gap:10px;display:grid}.notification-list article{border:1px solid #d9e7df;border-radius:10px;justify-content:space-between;gap:16px;padding:14px;display:flex}.notification-list h2{margin:4px 0;font-size:16px}.notification-list p{color:var(--muted);margin:0}.notification-list span{color:var(--muted);font-size:12px}.notification-unread{background:#f7fcf9;border-left:4px solid #0b6b3a!important}.notification-read{font-weight:700}@media (max-width:760px){.mark-workflow-create>form{grid-template-columns:1fr}.notification-list article{flex-direction:column}}.audit-event-login-failed{color:#991b1b;background:#fee2e2}.audit-risk-panel{border-left:4px solid #22c55e;align-items:center;gap:18px;display:flex}.audit-risk-panel>div{min-width:120px;display:grid}.audit-risk-panel span{color:var(--muted);font-size:12px;font-weight:700}.audit-risk-panel strong{color:#166534;font-size:28px}.audit-risk-panel p{color:var(--muted);margin:0}.audit-risk-active{background:#fff7f7;border-left-color:#dc2626}.audit-risk-active strong{color:#b91c1c}.audit-filter-panel{border-top:4px solid #0b6b3a}.audit-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.audit-filter-grid label{color:#274f3d;gap:6px;font-size:13px;font-weight:700;display:grid}.audit-filter-grid input,.audit-filter-grid select{color:#153c2c;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #c9ddd0;border-radius:9px;padding:9px 11px}.audit-filter-actions{flex-wrap:wrap;grid-column:1/-1;gap:9px;display:flex}@media (max-width:800px){.audit-filter-grid{grid-template-columns:1fr}}.offline-page{background:linear-gradient(145deg,#edf9f1,#fffaf0);place-items:center;min-height:100vh;padding:24px;display:grid}.offline-card{text-align:center;background:#fff;border:1px solid #cfe3d6;border-radius:18px;width:min(100%,460px);padding:34px;box-shadow:0 18px 48px #0851301f}.offline-mark{color:#fff;background:#0b6b3a;border-radius:18px;place-items:center;width:76px;height:76px;font-size:30px;font-weight:800;display:inline-grid}.offline-card h1{color:#073f2b;margin:20px 0 8px}.offline-card p{color:#587164;margin:0 0 20px;line-height:1.6}.offline-card a{color:#fff;font:inherit;cursor:pointer;background:#0b6b3a;border:0;border-radius:9px;padding:11px 16px;font-weight:700;text-decoration:none;display:inline-block}.pwa-status{z-index:1000;color:#78350f;background:#fffbeb;border:1px solid #f59e0b;border-radius:12px;align-items:center;gap:12px;max-width:min(460px,100vw - 36px);padding:12px 14px;font-size:13px;font-weight:650;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 12px 30px #3323002e}.pwa-status-update{color:#065f46;background:#ecfdf5;border-color:#34d399}.pwa-status button{color:#fff;font:inherit;cursor:pointer;background:#065f46;border:0;border-radius:8px;flex:none;padding:7px 10px}@media (max-width:560px){.pwa-status{flex-direction:column;align-items:stretch;bottom:12px;left:12px;right:12px}}.license-panel{border-top:4px solid #8c6bd1}.license-search{width:min(100%,420px);min-height:42px;font:inherit;border:1px solid #c9ddd0;border-radius:9px;margin-bottom:16px;padding:9px 11px}.license-row-form{grid-template-columns:repeat(2,minmax(130px,1fr));gap:7px;min-width:620px;display:grid}.license-row-form input,.license-row-form select{min-height:38px;font:inherit;background:#fff;border:1px solid #c9ddd0;border-radius:8px;padding:7px 9px}.license-row-form .form-success,.license-row-form .form-message{grid-column:1/-1}.license-status{color:#475569;background:#e2e8f0;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.license-status-aktif{color:#047857;background:#d1fae5}.license-status-percubaan{color:#1d4ed8;background:#dbeafe}.license-status-digantung,.license-status-tamat{color:#b91c1c;background:#fee2e2}.license-status-legasi{color:#92400e;background:#fef3c7}.license-renewal-warning{color:#b45309;margin-top:6px;font-weight:700;display:block}.license-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.license-summary>div{background:#faf8ff;border:1px solid #ddd6fe;border-radius:10px;gap:5px;padding:13px;display:grid}.license-summary span{color:#66558a;font-size:12px;font-weight:700}.license-summary strong{color:#3b2765;font-size:24px}.license-entitlements{color:#4c3d6f;margin:0 0 16px}.license-entitlements summary{cursor:pointer;font-weight:700}.license-entitlements>div{gap:7px;margin-top:10px;display:grid}.license-entitlements p{grid-template-columns:100px 1fr;gap:10px;margin:0;display:grid}.license-entitlements span{color:var(--muted);overflow-wrap:anywhere}.module-checkbox-disabled{opacity:.48}.module-checkbox-disabled span{text-decoration:line-through}@media (max-width:760px){.license-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.license-entitlements p{grid-template-columns:1fr}}.rph-workspace{gap:18px;display:grid}.rph-hero{color:#fff;background:radial-gradient(circle at 88% 18%,#ffda5c4d,#0000 24%),linear-gradient(125deg,#063d2a 0%,#08734d 58%,#0b8c5d 100%);border:1px solid #bcdcc8;border-radius:18px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;padding:30px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 42px #04472f24}.rph-hero:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:270px;height:270px;position:absolute;bottom:-110px;right:-70px}.rph-hero-copy{z-index:1;position:relative}.rph-eyebrow{color:#ffe683;letter-spacing:.12em;background:#ffffff1a;border:1px solid #ffffff52;border-radius:999px;margin-bottom:12px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.rph-hero h2{color:#fff;max-width:720px;margin:0 0 10px;font-size:clamp(26px,3vw,40px);line-height:1.12}.rph-hero p{color:#ffffffd1;max-width:720px;margin:0;font-size:15px;line-height:1.6}.rph-hero-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.rph-hero-actions .button{color:#123426;box-shadow:none;background:#ffd84d}.rph-hero-actions .button.soft{color:#fff;background:#ffffff1f;border-color:#ffffff4d}.rph-metrics{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#01271947;border:1px solid #ffffff2e;border-radius:14px;grid-template-columns:repeat(3,1fr);align-self:center;display:grid;position:relative;overflow:hidden}.rph-metrics div{text-align:center;gap:2px;padding:20px 12px;display:grid}.rph-metrics div+div{border-left:1px solid #ffffff26}.rph-metrics strong{color:#fff;font-variant-numeric:tabular-nums;font-size:28px}.rph-metrics span{color:#ffffffb3;font-size:11px;font-weight:700}.rph-tabs{background:#fff;border:1px solid #d7e7db;border-radius:12px;gap:4px;width:fit-content;padding:4px;display:flex}.rph-tabs button{color:#567064;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:40px;padding:8px 16px;font-weight:700}.rph-tabs button.active{color:#075f40;background:#e7f6ec}.rph-tabs button span{background:#e0e9e3;border-radius:50%;place-items:center;min-width:20px;height:20px;margin-left:5px;font-size:11px;display:inline-grid}.rph-tabs button.active span{background:#fff}.rph-builder,.rph-collection,.rph-year-plan{border-radius:16px;padding:0;overflow:hidden}.rph-builder-head,.rph-collection-head{background:#fbfdfb;border-bottom:1px solid #e2ebe4;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.rph-builder-head>div,.rph-section-heading{align-items:flex-start;gap:12px;display:flex}.rph-builder-head h2,.rph-collection-head h2,.rph-section-heading h3{color:#0b3c2a;margin:0 0 3px}.rph-builder-head p,.rph-collection-head p,.rph-section-heading p{color:#718278;margin:0;font-size:13px}.rph-step-number{color:#08734d;background:#dff2e6;border-radius:10px;flex:0 0 34px;place-items:center;height:34px;font-size:12px;font-weight:800;display:inline-grid}.rph-calendar-note{color:#715814;background:#fffaf0;border:1px solid #f0dda1;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 24px 0;padding:10px 12px;font-size:12px;display:flex}.rph-calendar-note strong{margin-right:3px}.rph-calendar-note span{background:#fff;border-radius:6px;padding:4px 7px}.rph-smart-form{padding:22px 24px 24px}.rph-fields-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.rph-smart-form label{color:#546c60;gap:6px;font-size:12px;font-weight:700;display:grid}.rph-smart-form input,.rph-smart-form select,.rph-smart-form textarea,.rph-filter-bar input,.rph-filter-bar select{background:#fff;border-color:#cfded3;width:100%}.rph-smart-form textarea{resize:vertical;line-height:1.55}.field-hint{color:#6f8278;font-size:11px;font-weight:600}.rph-span-2{grid-column:span 2}.rph-section-heading{border-top:1px solid #e6eee8;margin:28px 0 14px;padding-top:22px}.rph-pedagogy-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.rph-pedagogy-grid label{cursor:pointer;background:#fbfdfb;border:1px solid #d6e3da;border-radius:11px;gap:4px;padding:13px;display:grid;position:relative}.rph-pedagogy-grid label.selected{background:#edf9f1;border-color:#0a8b5c;box-shadow:inset 0 0 0 1px #0a8b5c}.rph-pedagogy-grid input{opacity:0;width:1px;height:1px;position:absolute}.rph-pedagogy-grid strong{color:#173e2e;font-size:13px}.rph-pedagogy-grid span{color:#75867d;font-size:11px;font-weight:500}.rph-context-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.rph-generate-button{color:#4d3e05;text-align:left;cursor:pointer;background:linear-gradient(110deg,#fff9d9,#fffdf2);border:1px solid #d4bd55;border-radius:12px;grid-template-columns:32px 1fr;align-items:center;width:100%;margin-top:16px;padding:14px 16px;display:grid}.rph-generate-button span{color:#a87c00;grid-row:span 2;font-size:24px}.rph-generate-button strong{font-size:14px}.rph-generate-button small{color:#826d26}.rph-generate-button:disabled{cursor:not-allowed;opacity:.55}.rph-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.rph-editor-grid label{background:#f9fcfa;border:1px solid #dce8df;border-radius:11px;padding:14px}.rph-editor-grid label>span{color:#164331;font-size:13px}.rph-editor-grid textarea{box-shadow:none;background:0 0;border:0;padding:5px 0 0}.rph-editor-grid textarea:focus{box-shadow:none;outline:0}.rph-feedback{margin:16px 0 0}.rph-save-bar{background:#f5faf6;border-top:1px solid #dde8e0;justify-content:space-between;align-items:center;gap:18px;margin:22px -24px -24px;padding:18px 24px;display:flex}.rph-save-bar>div{gap:3px;display:grid}.rph-save-bar>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.rph-save-bar strong{color:#173e2e}.rph-save-bar span{color:#75867d;font-size:12px}.rph-collection-head{padding:22px 24px}.rph-filter-bar{grid-template-columns:minmax(220px,1fr) 180px auto;align-items:center;gap:10px;margin:20px 24px;display:grid}.rph-filter-bar>span{color:#75867d;text-align:right;font-size:12px;font-weight:700}.rph-list{padding:0 24px 24px}.rph-card{background:#fff;border-radius:13px;padding:0;overflow:hidden;box-shadow:0 5px 18px #14402b0a}.rph-card-head{background:#fbfdfb;border-bottom:1px solid #e5ede7;align-items:flex-start;margin:0;padding:17px 18px}.rph-card-title{align-items:center;gap:12px;display:flex}.rph-date-tile{color:#08734d;background:#e5f4e9;border-radius:9px;flex:0 0 48px;place-items:center;height:52px;padding:5px;line-height:1;display:grid}.rph-date-tile strong{font-size:20px}.rph-date-tile span{text-transform:uppercase;font-size:10px;font-weight:800}.rph-card-head h3{margin:3px 0;font-size:19px}.rph-card-head p{font-size:12px}.rph-status{color:#65736b;letter-spacing:.04em;text-transform:uppercase;background:#edf0ee;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800;display:inline-flex}.rph-status.status-sedia{color:#785900;background:#fff2bf}.rph-status.status-selesai{color:#057247;background:#dff5e8}.rph-card-actions{gap:5px;display:flex}.rph-card-actions button,.rph-card-footer button{color:#496056;cursor:pointer;background:#fff;border:1px solid #d4e0d7;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700}.rph-standard{color:#4e513e;background:#fffbea;border-left:3px solid #d8b53a;border-radius:0 7px 7px 0;gap:4px;margin:14px 18px 0;padding:10px 12px;font-size:12px;display:grid}.rph-standard strong{color:#6d5708}.rph-card-grid{padding:14px 18px}.rph-card-grid section{background:#fbfdfb;border-color:#e3ebe5}.rph-card-grid p{white-space:pre-line}.rph-card-grid .rph-reflection{background:#f8f8ff;grid-column:1/-1}.rph-card-footer{background:#fbfdfb;border-top:1px solid #e5ede7;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.rph-card-footer>span{color:#85938b;font-size:11px}.rph-card-footer>div{flex-wrap:wrap;gap:6px;display:flex}.rph-card-footer button.complete{color:#08734d;background:#eaf8ef;border-color:#addbc0}.rph-card-footer button.danger-link{color:#a84040;background:0 0;border-color:#0000}.rph-empty{color:#75867d;text-align:center;justify-items:center;padding:60px 24px 70px;display:grid}.rph-empty>span{color:#08734d;background:#e9f5ed;border-radius:50%;place-items:center;width:54px;height:54px;font-size:24px;display:grid}.rph-empty h3{color:#254838;margin:12px 0 4px}.rph-empty p{margin:0}.rph-year-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 24px 0;display:grid}.rph-year-controls label{color:#546c60;gap:6px;font-size:12px;font-weight:700;display:grid}.rph-year-controls select{background:#fff;border-color:#cfded3;width:100%}.rph-year-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 24px;display:grid}.rph-year-summary div{background:#fbfdfb;border:1px solid #dce8df;border-radius:12px;gap:2px;padding:14px;display:grid}.rph-year-summary strong{color:#0b3c2a;font-size:24px}.rph-year-summary span{color:#75867d;text-transform:uppercase;font-size:11px;font-weight:800}.rph-year-list{gap:12px;padding:0 24px 24px;display:grid}.rph-year-week{background:#fff;border:1px solid #dfe9e2;border-radius:13px;overflow:hidden;box-shadow:0 5px 18px #14402b0a}.rph-year-week.muted{background:#f6f8f6}.rph-year-week header{background:#fbfdfb;border-bottom:1px solid #e5ede7;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.rph-year-week header span{color:#08734d;letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:900}.rph-year-week header strong{color:#173e2e;font-size:13px}.rph-year-note{color:#735d16;background:#fff9e8;border-bottom:1px solid #f0e3b8;margin:0;padding:9px 14px;font-size:12px}.rph-year-week ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.rph-year-week li{border-top:1px solid #edf2ee;grid-template-columns:76px minmax(160px,.8fr) 1fr;gap:10px;padding:12px 14px;display:grid}.rph-year-week li:first-child{border-top:0}.rph-year-week li>span{color:#849289;text-transform:uppercase;font-size:11px;font-weight:800}.rph-year-week li button{color:#075f40;text-align:left;cursor:pointer;background:0 0;border:0;font-weight:800}.rph-year-week li button:hover{text-decoration:underline}.rph-year-week li small{color:#6f8278;white-space:pre-line;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.rph-year-break{color:#75867d;margin:0;padding:16px 14px;font-size:13px}@media (max-width:1000px){.rph-hero{grid-template-columns:1fr}.rph-metrics{max-width:520px}.rph-fields-grid,.rph-pedagogy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.rph-workspace{gap:12px;margin:0!important}.rph-hero{border-radius:0;padding:22px 18px}.rph-hero h2{font-size:25px}.rph-metrics div{padding:14px 6px}.rph-metrics strong{font-size:22px}.rph-tabs{width:calc(100% - 28px);margin:0 14px}.rph-tabs button{flex:1}.rph-builder,.rph-collection,.rph-year-plan{border-left:0;border-right:0;border-radius:0}.rph-builder-head,.rph-collection-head{align-items:flex-start;padding:18px 14px}.rph-builder-head{flex-direction:column}.rph-calendar-note{align-items:flex-start;margin:14px 14px 0}.rph-calendar-note strong{width:100%}.rph-smart-form{padding:18px 14px}.rph-fields-grid,.rph-context-fields,.rph-editor-grid{grid-template-columns:1fr}.rph-span-2{grid-column:auto}.rph-pedagogy-grid{grid-template-columns:1fr 1fr}.rph-save-bar{flex-direction:column;align-items:stretch;margin:20px -14px -18px;padding:16px 14px}.rph-save-bar>div:last-child{grid-template-columns:1fr;display:grid}.rph-filter-bar{grid-template-columns:1fr;margin:16px 14px}.rph-filter-bar>span{text-align:left}.rph-list{padding:0 14px 18px}.rph-year-controls,.rph-year-summary{grid-template-columns:1fr;margin-left:14px;margin-right:14px}.rph-year-list{padding:0 14px 18px}.rph-year-week header,.rph-year-week li{grid-template-columns:1fr}.rph-year-week header{flex-direction:column;align-items:flex-start}.rph-card-head{flex-direction:column}.rph-card-actions{width:100%}.rph-card-actions button{flex:1}.rph-card-grid{grid-template-columns:1fr;padding:12px}.rph-card-footer{flex-direction:column;align-items:flex-start}}@media print{body[data-print-rph-id] .sidebar,body[data-print-rph-id] .topbar,body[data-print-rph-id] .rph-hero,body[data-print-rph-id] .rph-tabs,body[data-print-rph-id] .rph-collection-head,body[data-print-rph-id] .rph-filter-bar,body[data-print-rph-id] .rph-feedback,body[data-print-rph-id] .rph-card-actions,body[data-print-rph-id] .rph-card-footer{display:none!important}body[data-print-rph-id] .main,body[data-print-rph-id] .rph-workspace,body[data-print-rph-id] .rph-collection,body[data-print-rph-id] .rph-list{display:block;box-shadow:none!important;border:0!important;margin:0!important;padding:0!important}body[data-print-rph-id] .rph-card{display:none}body[data-print-rph-id] .rph-card.rph-print-target{break-inside:avoid;box-shadow:none;border:0;display:block}}
