@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;450;500;550;600;650;700;750&display=swap";.auth-layout.auth-workspace{display:block;min-height:100vh;background:#f5faf8}.auth-workspace .login-story{display:none}.auth-workspace .login-main{display:block;padding:32px max(20px,calc((100vw - 1060px)/2))}.auth-workspace .auth-card{max-width:none}.auth-workspace .auth-account{max-width:560px}.auth-workspace .auth-logout{width:auto}.central-setup{margin:32px 0 8px}.central-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:18px}.central-heading h2,.central-heading h3,.central-heading p{margin:0}.central-heading h3{display:flex;align-items:center;gap:10px;font-size:18px}.central-heading p{margin-top:8px;color:#71857e;font-size:14px}.central-panel{padding:24px;border:1px solid #e0eae5;border-radius:16px;background:#fff;margin:18px 0}.central-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.central-cards article{padding:18px;border:1px solid #e0eae5;background:#f7fbf9;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.central-cards article p{color:#71857e;font-size:13px;margin:8px 0 0}.central-rooms{display:flex;flex-wrap:wrap;gap:10px}.central-rooms>span{padding:12px 20px;border-radius:10px;background:#e5f3ed;color:#397e75;font-weight:600}.central-form{border-top:1px solid #e0eae5;margin-top:20px;padding-top:20px}.central-form h4{margin:0 0 16px}.central-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.central-form label{display:grid;gap:8px;font-size:14px}.central-form select{width:100%;min-height:48px;padding:12px;font:inherit;color:#243e39;background:#fff;border:1px solid #d6e5df;border-radius:10px}.central-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:20px}.central-message{padding:12px 16px;border-radius:10px;background:#e5f3ed;line-height:1.8}.central-empty{color:#71857e;font-size:14px;line-height:1.8}.central-roster label{display:grid;gap:8px;font-size:14px}.central-roster select,.central-roster textarea{width:100%;min-height:48px;padding:12px;font:inherit;color:#243e39;background:#fff;border:1px solid #d6e5df;border-radius:10px;box-sizing:border-box}.central-roster textarea{resize:vertical}.central-roster .central-form>label{margin:16px 0}.central-roster .roster-check{display:flex;align-items:center;gap:10px}.central-roster .roster-check input{width:20px;min-height:20px}.roster-heading{margin-top:24px}.roster-tools{display:flex;align-items:center;gap:10px}.roster-search{max-width:420px;margin:18px 0}.roster-table{overflow-x:auto}.roster-table table{width:100%;min-width:400px;border-collapse:collapse}.roster-table th,.roster-table td{padding:14px 10px;border-bottom:1px solid #e0eae5;text-align:left}.roster-table th{background:#f2f8f5;color:#60766e;font-size:13px}.central-daily{margin-top:24px}.central-daily-list article{border-bottom:1px solid #e0eae5;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}.central-student-name{display:flex;align-items:center;gap:14px;min-width:0}.central-student-name>span{flex-shrink:0;color:#71857e;min-width:26px}.central-student-name strong{overflow-wrap:anywhere}.central-mark-options{display:flex;flex-wrap:nowrap;gap:6px;flex-shrink:0}.central-mark{min-width:50px;min-height:44px;border-radius:8px;padding:8px 12px;background:#fff;border:1px solid #e0eae5;color:#60766e;font:inherit;cursor:pointer}.central-mark.selected.present{background:#dff2e8;border-color:#79bba4;color:#24634e}.central-mark.selected.absent{background:#ffebec;border-color:#e9a5ac;color:#a03142}.central-mark.selected.leave{background:#fff1df;border-color:#e8bd82;color:#946019}.central-mark.selected.sick{background:#f0e7fa;border-color:#c9ace6;color:#794da3}.central-mark:disabled{cursor:default}.central-calendar{margin:22px 0;border:1px solid #e0eae5;border-radius:12px;padding:16px}.central-calendar>summary{cursor:pointer;font-weight:600}.central-calendar .attendance-calendar{margin-top:16px;box-shadow:none;border:0;padding:0}.central-calendar-editor{padding:20px;background:#f2f8f5;border-radius:12px}.central-prayer-times{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0}.central-prayer-times button{min-height:48px;padding:10px 6px;font:inherit;color:#60766e;background:#fff;border:1px solid #e0eae5;border-radius:10px;cursor:pointer}.central-prayer-times button.selected{background:#e5f3ed;border-color:#79bba4;color:#24634e;font-weight:600}.central-prayer-controls{min-width:300px}.central-prayer-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.central-prayer-mark{min-height:46px;padding:10px 7px;background:#fff;color:#60766e;border:1px solid #e0eae5;border-radius:8px;font:inherit;font-size:13px;cursor:pointer}.central-prayer-mark.selected.done{background:#dff2e8;border-color:#79bba4;color:#24634e}.central-prayer-mark.selected.missed{background:#ffebec;border-color:#e9a5ac;color:#a03142}.central-prayer-mark.selected.excused{background:#edf1f5;border-color:#b1becb;color:#526579}.central-prayer-result{display:block;color:#71857e;font-size:12px;margin-top:6px}.central-clear-prayer{margin-top:8px;margin-left:auto;display:flex;gap:6px;align-items:center;font-size:12px}.central-subjects label{display:grid;gap:8px;min-width:200px;font-size:14px}.central-subjects select{width:100%;min-height:48px;padding:12px;font:inherit;color:#243e39;background:#fff;border:1px solid #d6e5df;border-radius:10px}.central-subject-picks{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.central-subject-picks button{padding:14px 20px;border:1px solid #e0eae5;border-radius:10px;background:#fff;color:#60766e;font:inherit;cursor:pointer}.central-subject-picks button.selected{background:#e5f3ed;border-color:#79bba4;color:#24634e;font-weight:600}.central-subjects .central-cards .text-button{margin-top:14px}.central-subject-archive{padding:18px;margin:18px 0;border:1px solid #e0eae5;border-radius:12px;background:#f7fbf9}.central-subject-archive h4{margin:0 0 12px}.roster-table tr.student-withdrawn td{background:#f0f2f3;color:#657078}.withdrawal-badge{display:inline-block;padding:3px 9px;border-radius:6px;background:#e2e6e9;color:#525e68;font-size:12px;white-space:nowrap}.withdrawal-date{display:block;margin-top:5px;font-size:12px;white-space:nowrap}.withdrawal-form{border:1px solid #e0e5e8}.central-schedule{margin:20px 0;padding:22px;background:#f6faf8;border:1px solid #dce9e4;border-radius:16px}.central-schedule h4{display:flex;gap:8px;align-items:center;margin:0;flex-wrap:wrap}.central-schedule fieldset{border:0;padding:0;margin:20px 0;min-width:0}.central-schedule legend{color:#60766e;font-size:14px;margin-bottom:12px}.schedule-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.central-subjects .schedule-weekdays label{display:block;position:relative;min-width:0}.schedule-weekdays input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.schedule-weekdays label>span:not(.sr-only){display:grid;place-items:center;min-height:48px;border:1px solid #d6e5df;border-radius:10px;color:#60766e;background:#fff}.schedule-weekdays input:checked+span{background:#dcefe7;color:#2e6955;border-color:#79ae99;font-weight:600}.schedule-weekdays input:focus-visible+span{outline:3px solid #568e80;outline-offset:2px}.schedule-weekdays input:disabled+span{opacity:.65}.central-subjects .schedule-periods{max-width:260px;min-width:0;margin-bottom:14px}.course-schedule-summary{color:#55796b;font-size:13px}.coursework-grid{overflow:auto;max-height:70vh;border:1px solid #dce9e4;border-radius:12px;margin-top:16px}.coursework-grid table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.coursework-grid th,.coursework-grid td{border-right:1px solid #e5ece8;border-bottom:1px solid #e5ece8;padding:10px;text-align:center;min-width:90px;background:#fff}.coursework-grid thead th{position:sticky;top:0;z-index:2;background:#edf5f1;color:#375f50}.coursework-grid th>span{display:block;max-width:140px;overflow-wrap:anywhere}.coursework-grid small{display:block;margin-top:5px;font-weight:400;color:#6e8279;font-size:11px}.coursework-grid .coursework-number{min-width:42px;width:42px}.coursework-grid .coursework-name{position:sticky;left:0;z-index:1;min-width:160px;max-width:230px;text-align:left;overflow-wrap:anywhere;box-shadow:2px 0 4px #375f5008}.coursework-grid thead .coursework-name{z-index:3}.coursework-grid input{width:72px;min-height:44px;padding:8px;text-align:center;border:1px solid #d6e5df;border-radius:8px;background:#fff;color:#243e39;font:inherit}.coursework-grid input:focus{outline:2px solid #79ae99;outline-offset:1px}.coursework-grid input[aria-invalid=true]{border-color:#bb5164;background:#fff3f5}.coursework-grid input.coursework-waiting{color:#9a6424;background:#fff5e6}.coursework-grid tr.student-withdrawn td,.coursework-grid tr.student-withdrawn input{background:#f0f2f3;color:#69767d}.coursework-grid input:disabled{cursor:not-allowed}.coursework-grid .coursework-wait-label{color:#9a6424}.coursework-save{padding:16px 0}.exam-grid select{width:85px;min-height:44px;font:inherit;padding:8px;border:1px solid #d6e5df;border-radius:8px;color:#243e39;background:#fff}.exam-grid textarea{width:180px;min-height:58px;padding:8px;font:inherit;border:1px solid #d6e5df;border-radius:8px;color:#243e39;background:#fff;resize:vertical;box-sizing:border-box}.exam-grid select:focus-visible,.exam-grid textarea:focus-visible{outline:2px solid #79ae99;outline-offset:1px}.exam-grid .student-withdrawn select,.exam-grid .student-withdrawn textarea{background:#f0f2f3;color:#69767d}.exam-needs-help{color:#a25b35}.central-evaluation-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.central-evaluation-tabs button,.central-evaluation-criteria button{padding:12px 16px;min-height:46px;font:inherit;border:1px solid #dce9e4;border-radius:10px;color:#60766e;background:#fff;cursor:pointer}.central-evaluation-tabs button.selected,.central-evaluation-criteria button.selected{background:#e2f0e9;border-color:#83b5a0;color:#315f4f;font-weight:600}.central-evaluation-criteria{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.evaluation-focus{border:1px solid #dce9e4;border-radius:12px;padding:16px;background:#f4f9f6}.evaluation-focus>div{flex:1;text-align:center}.evaluation-focus small{display:block;color:#71857e;margin-top:6px;font-size:12px}.central-evaluation-list{display:grid;gap:14px;margin:18px 0}.central-evaluation-list article{border:1px solid #dce9e4;background:#fff;border-radius:14px;padding:18px}.evaluation-student{display:flex;align-items:center;gap:12px;margin-bottom:14px}.evaluation-student>span:first-child{color:#71857e;min-width:24px}.evaluation-student>div{flex:1;overflow-wrap:anywhere}.evaluation-completed{color:#71857e;font-size:13px}.central-evaluation-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.central-evaluation-levels button{min-height:48px;border-radius:9px;border:1px solid #dce9e4;background:#fff;color:#60766e;font:inherit;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.central-evaluation-levels button>span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #dce9e4;border-radius:6px;font-size:12px}.central-evaluation-levels button.selected{background:#e2f0e9;border-color:#83b5a0;color:#315f4f;font-weight:600}.central-evaluation-levels button.selected.evaluation-level-0{background:#f8eeee;border-color:#d5a3a8;color:#9d5360}.central-evaluation-levels button:focus-visible{outline:3px solid #568e80;outline-offset:2px}.evaluation-row-summary{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:space-between;margin-top:14px}.evaluation-row-summary>span{font-size:13px;color:#55796b}.central-evaluation-list small{display:block;color:#71857e;font-size:12px;margin-top:4px}.auth-card .evaluation-row-summary input{width:min(100%,280px);min-height:42px;font-size:13px}.central-evaluation-list article.evaluation-withdrawn,.evaluation-withdrawn button,.evaluation-withdrawn input{background:#f0f2f3;color:#69767d}@media(max-width:600px){.central-evaluation-tabs{grid-template-columns:1fr}.central-evaluation-list article{padding:14px}.central-evaluation-levels{gap:5px}.central-evaluation-levels button{flex-direction:column;gap:4px;min-height:68px;font-size:12px}.evaluation-row-summary{gap:12px}.auth-card .evaluation-row-summary input{width:100%}}@media(max-width:600px){.coursework-grid .coursework-name{min-width:130px;max-width:160px}.coursework-grid th,.coursework-grid td{padding:8px}}@media(max-width:520px){.schedule-weekdays{grid-template-columns:repeat(4,minmax(0,1fr))}.central-schedule{padding:16px}}@media(max-width:740px){.central-prayer-controls{min-width:0;width:100%}.central-prayer-times{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:740px){.central-daily-list article{align-items:stretch;flex-direction:column;gap:12px}.central-mark-options{width:100%}.central-mark{flex:1;min-width:0;padding:8px 6px}.roster-tools{flex-wrap:wrap}}@media(max-width:640px){.central-cards,.central-fields{grid-template-columns:1fr}.central-panel{padding:18px}.central-form-actions>button{flex:1}}.trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0}.trend-card{min-width:0;padding:22px;background:#fff;border:1px solid #dce9e4;border-radius:18px}.trend-card h3{margin:0;font-size:18px}.trend-period,.trend-caption{color:#71857e;font-size:13px}.trend-rate{color:#315f4f;font-size:34px;font-weight:650;margin-top:18px}.trend-change{display:flex;align-items:center;gap:7px;color:#447969;font-size:14px}.trend-change.down{color:#aa6370}.trend-chart-scroll{overflow-x:auto;margin:18px 0 8px}.trend-chart-scroll svg{display:block;width:100%;max-height:260px}.trend-chart-scroll text{fill:#71857e;font-size:11px;font-family:inherit}.trend-line{stroke:#6ca78e;stroke-width:3}.trend-point{fill:#508b74;stroke:#fff;stroke-width:2}.trend-card.prayer .trend-line{stroke:#78a4af}.trend-card.prayer .trend-point{fill:#608d99}.trend-months{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 10px}.trend-months .secondary{flex-shrink:0;min-height:44px;padding:8px 10px;font-size:12px}.trend-months button[aria-pressed=true]{background:#e2f0e9;border-color:#83b5a0}.trend-counts{display:grid;gap:7px;padding-top:14px;border-top:1px solid #edf2ef;font-size:12px;color:#71857e}.class-trends .central-heading{flex-wrap:wrap}.class-trends .central-heading label{display:grid;gap:7px;font-size:13px}@media(max-width:1050px){.trend-grid{grid-template-columns:1fr}}@media(max-width:600px){.trend-card{padding:16px}.trend-rate{font-size:29px}.class-trends h2{font-size:22px}}.auth-card{width:100%;max-width:480px}.auth-card h2{overflow-wrap:anywhere}.auth-subtitle{color:#71857e;margin:12px 0 26px}.auth-card form label{display:block;margin:20px 0 8px;color:#243e39}.auth-card input{width:100%;min-height:48px;padding:12px 14px;background:#fff;border:1px solid #d6e5df;border-radius:10px;color:#243e39;font:inherit;box-sizing:border-box}.auth-password{position:relative}.auth-password input{padding-right:52px}.auth-password button{position:absolute;right:5px;top:4px;width:40px;height:40px}.auth-card .login-submit{margin-top:26px}.auth-error{color:#a33141;font-size:14px;line-height:1.8}.auth-success{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:8px;background:#e5f3ed;color:#397e75;margin-bottom:24px}.auth-account{margin:24px 0}.auth-account>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #e0eae5}.auth-account dt{color:#71857e}.auth-account dd{margin:0;font-weight:600}.auth-stage{background:#f2f8f5;padding:18px;border:1px solid #e0eae5;border-radius:12px;line-height:1.8}.auth-stage p{font-size:14px;margin:8px 0 0;color:#60766e}.auth-logout{margin-top:24px;width:100%;justify-content:center}.auth-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.auth-card button:disabled{opacity:.65;cursor:not-allowed}.workspace-picker{max-width:920px;margin:20px auto 0}.workspace-intro{margin-bottom:32px}.workspace-school{display:flex;align-items:center;gap:10px;color:#6c8a83;font-size:13px;margin-bottom:24px}.workspace-intro h2{font-size:clamp(24px,4vw,32px);margin:0 0 10px}.workspace-intro p{color:#748982;margin:0}.workspace-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.auth-card .workspace-choice{display:block;padding:0;text-align:left;background:#fff;border:1px solid #dce9e4;border-radius:24px;overflow:hidden;color:#294b43;font:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s}.workspace-choice:not(:disabled):hover{transform:translateY(-4px);box-shadow:0 14px 32px #34594c10}.workspace-choice:focus-visible,.workspace-admin:focus-visible{outline:3px solid #568e80;outline-offset:4px}.auth-card .workspace-choice:disabled{opacity:.78}.workspace-art{height:195px;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#eaf4ef;color:#5d9080}.art-subject{background:#edf4f4;color:#648f92}.art-orbit{position:absolute;width:160px;height:160px;border:1px solid #fff;border-radius:50%;background:#fff5}.workspace-art>svg{z-index:1}.art-badge{position:absolute;left:calc(50% + 34px);top:118px;display:grid;place-items:center;width:49px;height:49px;background:#fff;border-radius:16px;transform:rotate(-8deg);box-shadow:0 6px 16px #466b5410}.art-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:#b6d6c8;left:calc(50% - 79px);top:56px}.workspace-choice-copy{padding:26px 28px}.workspace-choice h3{font-size:23px;margin:0 0 8px}.workspace-choice p{margin:0 0 26px;color:#748982;font-size:14px}.workspace-choice-link{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}.workspace-admin{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;margin-top:24px;background:#fff;border:1px solid #dce9e4;border-radius:16px;color:#59796e;font:inherit;cursor:pointer}.workspace-admin span,.workspace-toolbar{display:flex;align-items:center;gap:12px}.workspace-toolbar{flex-wrap:wrap;margin-bottom:24px;color:#648277}.profile-topbar{display:flex;justify-content:flex-end;margin-bottom:22px}.profile-trigger{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #dce9e4;border-radius:40px;background:#fff;padding:7px 18px 7px 7px;color:#294b43;font:inherit;cursor:pointer;max-width:100%}.profile-trigger strong{display:block;overflow-wrap:anywhere;font-size:14px}.profile-trigger small{display:block;color:#748982;font-size:12px}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#eaf4ef;color:#648f80;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-large{width:104px;height:104px}.profile-editor{background:#fff;border:1px solid #dce9e4;border-radius:20px;padding:24px;margin-bottom:28px}.profile-editor h2{font-size:22px}.profile-edit-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;margin:24px 0}.profile-photo-editor{display:flex;align-items:center;flex-direction:column;gap:12px}.profile-photo-editor small{color:#748982;text-align:center}.profile-file-label{position:relative;display:inline-flex;align-items:center;gap:8px;overflow:hidden;cursor:pointer}.profile-file-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.profile-file-label:focus-within,.profile-trigger:focus-visible{outline:3px solid #568e80;outline-offset:3px}.profile-editor form{align-self:center}.auth-card .profile-editor form label{margin-top:0}.profile-role{color:#748982;font-size:13px;margin:12px 0 20px}@media(max-width:600px){.profile-edit-grid{grid-template-columns:1fr;gap:24px}.profile-editor{padding:20px}}@media(max-width:600px){.workspace-choices{gap:16px;grid-template-columns:1fr}.workspace-art{height:148px}.art-badge{top:88px}.workspace-choice-copy{padding:20px 24px}.workspace-choice p{margin-bottom:18px}.workspace-intro{margin-bottom:24px}.workspace-school{line-height:1.7}}@media(max-width:600px){.auth-layout .login-main{padding:28px 22px}.auth-actions>button{width:100%}}:root{font-family:Noto Sans Thai,Tahoma,sans-serif;color:#253f37;background:#f6f8f9;font-synthesis:none;font-weight:400;font-size:14px;--green:#17604b;--muted:#83908b;--border:#e8eeeb}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;transition:background .18s,transform .18s}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:3px solid #61bda4;outline-offset:3px}button{display:inline-flex;align-items:center;justify-content:center;gap:9px}input,select{outline:none}input:focus,select:focus{border-color:#409b7d!important;box-shadow:0 0 0 3px #409b7d18}h1,h2,h3,p{margin:0}h2{font-size:17px;font-weight:650}h3{font-size:16px}small{font-size:11px}strong{font-weight:600}.muted{color:var(--muted)}.green{background:#e8f4ee;color:#32876a}.blue{background:#eaf1fc;color:#5b86c6}.orange{background:#fcf1e4;color:#cd9955}.purple{background:#f1ecfa;color:#9b7bcc}.pink{background:#fbeaf0;color:#c97b96}.primary{background:var(--green);border:1px solid var(--green);color:#fff;padding:11px 19px;border-radius:8px;font-weight:550}.primary:hover{background:#104c3a}.secondary{background:#fff;border:1px solid #dce6e0;color:#496456;padding:9px 15px;border-radius:8px;font-size:12px;font-weight:550}.secondary:hover{background:#f0f6f3}.icon-btn{width:34px;height:34px;border:0;background:transparent;color:#8b9b93;border-radius:7px;flex-shrink:0}.icon-btn:hover{background:#edf3ef;color:var(--green)}.badge{display:inline-flex;align-items:center;gap:7px;background:#edf6f0;color:#4a8265;font-size:11px;border-radius:6px;padding:6px 10px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#89a295;font-weight:650}.brand{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:750;line-height:1.1;color:#174f40}.brand-icon{background:#175441;color:#fff;width:43px;height:45px;border-radius:12px;display:grid;place-items:center}.brand-sub{display:block;font-size:8px;letter-spacing:2.6px;color:#8c9c93;margin-top:7px;font-weight:600}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;background:#fff;border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;z-index:30;padding:31px 22px 0;display:flex;flex-direction:column}.school-switch{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:9px;padding:13px 10px;margin:33px 0 29px}.school-switch strong{font-size:11px;display:block}.school-switch small{font-size:9px;display:block;color:#8d9b94;margin-top:4px}.school-square{background:#f1f5f2;color:#65917a;padding:8px;border-radius:7px}.school-switch>svg{margin-left:auto;color:#a0ada6}.nav-label{font-size:10px;color:#9aa79f;margin:0 10px 12px}.nav-item{width:100%;justify-content:flex-start;background:transparent;border:0;border-radius:8px;padding:13px 12px;color:#84928a;gap:13px;margin-bottom:6px;font-size:12px}.nav-item:hover{background:#f4f8f5}.nav-item.active{background:#eaf4ee;color:#236449;font-weight:600}.nav-item i{width:5px;height:5px;border-radius:50%;background:#398667;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:45px}.demo-box{border:1px solid #e9eee6;background:#f8faf6;border-radius:9px;padding:14px;font-size:11px;color:#738369}.demo-dot{display:inline-block;background:#6e9f72;width:6px;height:6px;border-radius:50%;margin-right:7px;vertical-align:middle}.demo-box p{font-size:10px;line-height:1.9;color:#99a293;margin-top:6px}.profile{background:transparent;border:0;border-top:1px solid var(--border);width:calc(100% + 12px);margin:20px -6px 0;padding:20px 5px;text-align:left;gap:10px}.avatar{background:#e7eee0;border:3px solid #fff;box-shadow:0 0 0 1px #e5e9df;width:38px;height:38px;border-radius:50%;color:#6e875b;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:650}.profile strong{font-size:11px;display:block}.profile small{font-size:9px;display:block;color:#9ba49c;margin-top:3px}.profile>svg{margin-left:auto;color:#99a69d}.main-area{margin-left:246px;min-width:0;flex:1}.topbar{height:76px;background:#ffffffd9;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 39px;gap:16px}.breadcrumb{display:flex;gap:16px;align-items:center;font-size:11px;color:#9ba79f}.breadcrumb strong{font-weight:500;color:#566a5e}.slash{color:#c5d0c9}.top-actions{display:flex;align-items:center;gap:23px}.term-pill{font-size:10px;background:#f7f9f7;border:1px solid #e9eeea;border-radius:6px;padding:6px 12px;color:#849288}.small{width:31px;height:31px;font-size:12px}.bell{position:relative}.bell i{position:absolute;top:7px;right:8px;width:5px;height:5px;border-radius:50%;background:#d9a17d;border:1px solid white}.notification-wrap{position:relative}.notification-panel{position:absolute;top:43px;right:-30px;width:290px;z-index:40;background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 12px 35px #173b4117}.notification-panel p{margin:15px 0 8px;font-size:12px}.notification-panel small{color:#8a978f}.content{max-width:1600px;padding:33px 39px 0;margin:0 auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.page-heading h1{font-size:27px;letter-spacing:-.6px;font-weight:650;margin:6px 0}.page-heading p{font-size:12px;color:#91a096}.date-chip{display:flex;align-items:center;gap:9px;font-size:11px;color:#7d8e82;background:#fff;border:1px solid var(--border);border-radius:7px;padding:10px 13px;white-space:nowrap}.welcome-banner{min-height:228px;border-radius:14px;background:#1b5644;position:relative;overflow:hidden;color:#fff;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;background-image:radial-gradient(ellipse at 70% 120%,#29705a99,transparent 70%)}.banner-tag{display:flex;align-items:center;gap:7px;color:#bdd8c9;font-size:10px}.banner-tag>span{height:5px;width:5px;border-radius:50%;background:#a6c9a5}.welcome-banner h2{font-size:27px;font-weight:550;margin:12px 0 9px;letter-spacing:-.5px}.welcome-banner p{color:#accdbb;font-size:11px;line-height:1.85}.welcome-banner button{background:#fff;border:0;border-radius:6px;color:#2d6450;padding:9px 14px;font-size:11px;margin-top:19px;font-weight:600}.banner-art{width:270px;height:190px;position:relative;margin-right:30px;flex-shrink:0}.art-orbit{border:1px solid #c2e6cc1a;width:250px;height:250px;position:absolute;top:-30px;left:5px;border-radius:50%;box-shadow:0 0 0 30px #b5e2c708,0 0 0 60px #b5e2c705}.art-card{position:absolute;border-radius:13px;box-shadow:0 12px 30px #083e352b}.card-front{background:#f9fcf6;width:141px;height:157px;left:105px;top:29px;transform:rotate(10deg);color:#437c5c;display:flex;align-items:center;flex-direction:column;padding-top:24px}.card-back{width:121px;height:139px;background:#94b69b;left:20px;top:16px;transform:rotate(-15deg);display:flex;align-items:center;flex-direction:column;padding:24px 0;gap:14px;color:#f0f7e8}.card-back span{font-size:10px}.art-lines{margin-top:15px;display:grid;gap:7px}.art-lines i{width:70px;height:5px;border-radius:3px;background:#dbe6d7}.art-lines i:last-child{width:47px;margin:auto;background:#e6eddf}.art-check{position:absolute;bottom:-12px;right:-7px;background:#d6eac5;color:#58845e;border:4px solid #1d5946;border-radius:50%;width:37px;height:37px;display:grid;place-items:center}.art-spark{position:absolute;top:0;left:172px;font-size:28px;color:#cfdaad}.art-dot{width:9px;height:9px;background:#c0cda0;position:absolute;bottom:4px;left:46px;border-radius:50%}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:23px 0 29px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:18px 20px}.stat-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#829186}.stat-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:10px}.stat-value{font-size:32px;font-weight:600;letter-spacing:-1px;line-height:1.7}.stat-value>span{font-size:11px;color:#9aa69c;font-weight:400;margin-left:9px;letter-spacing:0}.stat-card>small{font-size:9px;color:#9baa9d}.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:19px}.section-title>span{font-size:10px;color:#9aa89d}.section-title p{font-size:10px;color:#99a69e;margin-top:5px}.quick-section{margin-bottom:28px}.quick-section h2{font-size:16px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.quick-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px 16px;justify-content:flex-start;text-align:left;gap:13px}.quick-card:hover{border-color:#9ac7b2;box-shadow:0 5px 18px #244d3910}.quick-icon{width:43px;height:45px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.quick-card strong{display:block;font-size:12px;color:#4c6254}.quick-card small{display:block;font-size:9px;color:#9ba79e;margin-top:5px}.quick-card>svg{margin-left:auto;color:#a3b2a6}.dashboard-lower{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:21px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:23px;min-width:0}.classroom-panel{padding:22px 23px 8px}.text-button{background:transparent;border:0;color:#54856a;font-size:10px;padding:3px}.table-scroll{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:12px}thead{background:#f8faf8;color:#9aa79d;font-size:10px}th{font-weight:500;padding:12px 14px}td{padding:15px 14px;border-bottom:1px solid #eff3ef;color:#76887a}td strong{color:#4d6554;font-size:11px}tbody tr:last-child td{border-bottom:0}.room-icon{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:7px;margin-right:10px;vertical-align:middle}.classroom-panel table{font-size:10px}.classroom-panel td,.classroom-panel th{padding:10px 9px}.status-pill{background:#faf5e8;color:#b59b59;font-size:9px;border-radius:5px;padding:5px 9px;display:inline-block;white-space:nowrap}.status-pill.done{background:#ecf5ed;color:#5b926c}.school-note{background:#f0f3e9;border-color:#e9eddf;padding:26px 23px;display:flex;flex-direction:column;align-items:flex-start}.note-icon{color:#87976b;background:#e5ebd7;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;margin-bottom:24px}.school-note .eyebrow{font-size:8px;color:#99a284;letter-spacing:1px}.school-note h2{font-size:22px;line-height:1.65;margin:13px 0 12px;color:#697b56;font-weight:500}.school-note p{color:#9aa68a;font-size:10px;line-height:2}.note-line{height:1px;background:#dde5d2;width:100%;margin-top:auto;margin-bottom:17px;min-height:1px}.note-bottom{font-size:8px;color:#96a484;padding-bottom:2px}.mini-dot{display:inline-block;width:5px;height:5px;background:#a3b685;border-radius:50%;margin-right:6px}.app-footer{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#a4afa7;padding:27px 0 23px}.footer-dot{margin:0 7px;color:#bbc5bd}.app-footer .demo-dot{width:5px;height:5px;background:#b3c2ad}.filters{display:flex;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap;background:#fafcfb;border:1px solid #edf1ee;border-radius:9px;padding:15px}.search-input{display:flex;align-items:center;border:1px solid #dfe7e1;border-radius:7px;background:#fff;padding-left:12px;gap:8px;flex:1;min-width:200px;max-width:420px;color:#94a39a}.search-input input{border:0;background:transparent;width:100%;padding:10px 10px 10px 0;font-size:12px;color:#45634f}.select-label{display:flex;align-items:center;gap:10px;font-size:11px;color:#8a9a90}select,input[type=date]{padding:9px 12px;border:1px solid #dfe7e1;border-radius:7px;background:#fff;color:#526e5b;max-width:100%}.count{font-size:11px;background:#f0f5f1;color:#71967c;padding:3px 8px;border-radius:5px;margin-left:8px}.student-avatar{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;margin-right:12px;font-size:12px}.code{font-family:ui-monospace,monospace;color:#9aa9a0;font-size:11px}.table-footer{font-size:11px;color:#96a398;border-top:1px solid var(--border);padding-top:18px;margin-top:10px}.empty{padding:60px 15px;text-align:center;color:#9ba99f}.empty h3{margin:12px 0 5px;color:#6f8876}.empty p{font-size:12px}.attendance-summary{display:flex;gap:25px;flex-wrap:wrap;margin:20px 0;padding:0 4px;color:#94a298;font-size:12px}.attendance-summary strong{margin-left:6px;color:#4b7256}.attendance-col{width:260px}.status-buttons{display:flex;gap:7px}.attendance-button{border:1px solid #e2e9e3;background:#fff;border-radius:6px;color:#97a59b;min-width:64px;min-height:36px;font-size:12px;gap:3px}.status-0.chosen{background:#e3f3e9;border-color:#87b99d;color:#347c50}.status-1.chosen{background:#ffebeb;border-color:#e5a5a5;color:#c56161}.status-2.chosen{background:#fff3dc;border-color:#d8bb77;color:#a88834}.mark-all{margin-left:auto}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding-top:21px;margin-top:10px}.save-bar>span{display:flex;align-items:center;gap:7px;font-size:10px;color:#99a69c}.scores-table{text-align:center}.scores-table th:nth-child(2),.scores-table td:nth-child(2){text-align:left}.score-high{color:#46845b;background:#eff7ef;padding:4px 8px;border-radius:5px}.average{font-size:11px;color:#508261;background:#ecf4ec;padding:5px 8px;border-radius:5px}tfoot{background:#f7faf7;font-size:11px}tfoot td{padding:16px 12px;color:#689273}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.teacher-card{border:1px solid var(--border);border-radius:10px;padding:20px}.teacher-card-top{display:flex;justify-content:space-between;align-items:flex-start}.teacher-avatar{width:47px;height:47px;border-radius:13px;display:grid;place-items:center;font-size:20px}.teacher-card h3{margin:18px 0 5px;font-size:15px}.teacher-card p{font-size:10px;color:#9ba79e;overflow-wrap:anywhere}.assignment{display:flex;justify-content:space-between;border-top:1px solid var(--border);margin-top:20px;padding:17px 0;gap:10px}.assignment span{font-size:9px;color:#99a79d}.assignment strong{font-size:11px;color:#64806a;display:block;margin-top:7px}.teacher-card>.secondary{width:100%;font-size:11px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:100;background:#fff;border:1px solid #cfe1d5;box-shadow:0 8px 35px #1e4b3522;border-radius:12px;display:flex;align-items:center;gap:12px;padding:12px 14px;max-width:calc(100vw - 32px);width:max-content;font-size:12px}.toast-icon{background:#e8f4ed;color:#4c9166;border-radius:50%;display:grid;place-items:center;width:30px;height:30px;flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:#102c2259;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:450px;max-width:100%;border-radius:16px;background:#fff;padding:27px;box-shadow:0 20px 70px #102c2222}.modal>.muted{font-size:12px}.field-label{display:flex;flex-direction:column;gap:10px;margin-top:24px;font-size:12px;color:#74907d}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.modal-note{font-size:10px;color:#9ba69f;margin-top:16px}.menu-toggle,.mobile-close{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#1b5644;color:#fff;padding:48px 64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background-image:radial-gradient(ellipse at 10% 95%,#367c6099,transparent 65%)}.login-story .brand-icon{background:#ffffff16}.login-story .brand-sub{color:#a2c8b7}.login-story h1{font-size:43px;font-weight:550;line-height:1.65;margin:18px 0}.login-story h1>span{color:#c8d5a7}.login-story p{font-size:13px;color:#a9c9b9;line-height:2.1}.light{color:#a7c3ad}.login-story>small{color:#86b29c;font-size:10px}.login-art{margin:35px 0;display:flex;align-items:center;gap:28px;color:#b4cda8}.login-art strong{display:block;font-size:18px;font-weight:450}.login-art span{display:block;font-size:11px;margin-top:10px;color:#8fb29b}.login-main{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:50px;background:#fbfcfa}.login-card{width:100%;max-width:390px}.login-card h2{font-size:28px;margin:22px 0 9px}.login-card>.muted{font-size:12px}.login-card form{margin-top:34px}.login-card form>label{font-size:12px;color:#6a8270;display:block;margin-bottom:12px}.role-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}.role-options button{padding:18px 10px;border:1px solid #e0e8df;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;color:#7f9283;font-size:13px;gap:12px}.role-options button.selected{border-color:#458260;background:#edf6ee;color:#2e7050;box-shadow:0 0 0 1px #458260}.role-options small{font-size:9px;font-weight:400;color:#96a397;margin-top:-5px}.demo-profile{display:flex;align-items:center;background:#f2f5ef;border-radius:9px;padding:15px;margin-top:22px;gap:12px}.demo-profile strong{display:block;font-size:12px}.demo-profile small{display:block;font-size:10px;color:#93a28f;margin-top:5px}.demo-profile>svg{margin-left:auto;color:#7fa076}.login-submit{margin-top:23px;width:100%;justify-content:space-between;padding:13px 18px}.login-note{font-size:10px;color:#9ca89a;margin-top:22px;display:flex;align-items:center;justify-content:center;gap:7px}.login-footer{margin-top:70px;color:#acb5a9;font-size:10px}@media(min-width:1500px){.content{padding-top:42px}.welcome-banner{min-height:250px}.stats-grid{gap:22px}.stat-card{padding:22px}.dashboard-lower{grid-template-columns:minmax(0,1fr) 290px}.school-note{padding:32px}.classroom-panel td{padding:13px}.quick-card{padding:24px 20px}}@media(max-width:1200px){.sidebar{width:222px;padding-left:17px;padding-right:17px}.main-area{margin-left:222px}.content{padding:28px 25px 0}.topbar{padding:0 25px}.dashboard-lower{grid-template-columns:minmax(0,1fr)}.school-note{display:none}.quick-card{padding:16px 12px;gap:9px}.quick-card small{font-size:8px}.quick-icon{width:35px;height:39px}.stat-card{padding:16px}.banner-art{margin-right:0}.teacher-grid{grid-template-columns:repeat(2,1fr)}.login-story{padding:40px}.login-story h1{font-size:35px}}@media(max-width:950px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.main-area{margin-left:205px}.stats-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:1fr}.quick-card small{font-size:10px}.quick-card{padding:15px}.quick-icon{width:40px;height:40px}.welcome-banner h2{font-size:23px}.banner-art{transform:scale(.8);transform-origin:right center;width:180px}.welcome-banner{padding:25px}.page-heading{align-items:flex-start;flex-direction:column;gap:13px}.date-chip{font-size:10px}.page-heading h1{font-size:25px}.app-footer{flex-direction:column}.login-layout{grid-template-columns:.9fr 1.1fr}.login-story{padding:32px}.login-story h1{font-size:28px}.login-story p{font-size:11px}.login-main{padding:35px}.login-art{gap:12px}.login-art>svg{width:65px}}@media(max-width:720px){.sidebar{transform:translate(-100%);transition:transform .2s;width:250px;padding:25px 20px 0}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;background:#173e3455;z-index:29;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-area{margin-left:0}.menu-toggle,.mobile-close{display:inline-flex}.mobile-close{margin-left:auto}.topbar{height:65px;padding:0 18px}.breadcrumb{gap:10px;font-size:10px}.top-actions{gap:10px}.term-pill{display:none}.content{padding:25px 19px 0}.welcome-banner{min-height:220px}.welcome-banner h2{font-size:24px}.banner-art{width:180px;transform:scale(.85);margin-right:0}.page-heading{margin-bottom:22px}.page-heading p{font-size:11px}.page-heading h1{font-size:26px}.page-heading{gap:15px}.stats-grid{gap:12px;margin:18px 0 25px}.stat-card{padding:15px 17px}.quick-grid{grid-template-columns:repeat(3,1fr);gap:10px}.quick-card{flex-direction:column;align-items:flex-start;padding:15px 13px;gap:12px;position:relative}.quick-card>svg{position:absolute;right:10px;top:25px;width:14px}.quick-card strong{font-size:11px}.quick-card small{font-size:8px;line-height:1.6}.quick-icon{height:35px;width:35px}.panel{padding:18px}.section-title h2{font-size:15px}.app-footer{font-size:8px;padding:24px 0}.teacher-grid{gap:12px}.teacher-card{padding:16px}.save-bar{align-items:flex-start;flex-direction:column;gap:15px}.save-bar>.primary{width:100%}.attendance-summary{gap:15px;font-size:11px}.filters{gap:12px;padding:12px}.login-layout{grid-template-columns:1fr}.login-story{min-height:210px;padding:24px 28px;gap:20px}.login-story .brand{font-size:21px}.login-story h1{font-size:24px;margin:12px 0;line-height:1.5}.login-story h1 br{display:none}.login-story p,.login-story>small,.login-art{display:none}.login-main{padding:35px 25px}.login-card h2{font-size:25px}.login-footer{margin-top:35px}.login-story .eyebrow{font-size:8px}.login-card form{margin-top:26px}}@media(max-width:440px){.content{padding:22px 15px 0}.welcome-banner{padding:23px;min-height:220px}.welcome-banner h2{font-size:22px}.banner-art{position:absolute;right:-48px;bottom:0;transform:scale(.53);opacity:.6;transform-origin:right bottom;width:270px;height:250px;pointer-events:none}.welcome-banner>div:first-child{z-index:1}.welcome-banner p{font-size:10px}.banner-tag{font-size:9px}.stat-top{font-size:10px}.stat-icon{width:31px;height:31px}.stat-value{font-size:29px}.stat-card{padding:13px}.stat-card>small{font-size:8px}.quick-grid{grid-template-columns:1fr}.quick-card{flex-direction:row;align-items:center;gap:14px;padding:15px}.quick-card>svg{position:static;margin-left:auto;width:18px}.quick-card strong{font-size:12px}.quick-card small{font-size:9px}.quick-icon{height:40px;width:40px}.teacher-grid{grid-template-columns:1fr}.date-chip{padding:7px 10px}.section-title{flex-wrap:wrap}.search-input{min-width:100%}.select-label{font-size:10px}.mark-all{margin-left:0}.notification-panel{right:-45px;width:270px}.panel{padding:15px}.topbar{padding:0 12px}.page-heading h1{font-size:24px}.modal{padding:22px}.login-note{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-shell{max-width:1150px;margin:0 auto;padding:38px 25px 55px}.onboarding-title{display:flex;gap:14px;align-items:center;margin-bottom:28px}.onboarding-title h1{font-size:22px;font-weight:650}.onboarding-title p{font-size:12px;color:#8b9b90;margin-top:4px}.setup-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.setup-panel>h2{font-size:23px;margin-top:19px}.setup-description{font-size:12px;line-height:1.9;margin-top:8px}.field-label input,.field-label textarea{width:100%;border:1px solid #dfe7e1;border-radius:8px;padding:11px 13px;font:inherit;color:#355c47;background:#fff}.field-label textarea{resize:vertical;min-height:120px;line-height:1.8}.field-label textarea:focus{outline:3px solid #409b7d18;border-color:#409b7d}.field-label small{font-size:10px;color:#95a399}.room-fieldset{border:0;padding:0;margin:25px 0}.room-fieldset legend{font-size:12px;color:#74907d;margin-bottom:13px}.room-fieldset legend span{display:block;font-size:10px;color:#95a399;margin-top:6px}.room-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.room-options label{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:12px;font-size:12px;color:#809689;cursor:pointer}.room-options label.checked{background:#edf6ee;border-color:#89b69a;color:#2e7050}.room-options input{accent-color:var(--green);width:16px;height:16px}.setup-panel .modal-note{display:flex;align-items:flex-start;gap:6px;line-height:1.8}.setup-panel .modal-note svg{flex-shrink:0}.bulk-students h2{display:flex;gap:9px;align-items:center}.bulk-students .section-title{padding-right:20px}.bulk-students .section-title p{font-size:11px;line-height:1.8}.bulk-students .field-label{margin-top:18px}.bulk-preview{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:#819888;margin-top:13px}.bulk-preview strong{color:var(--green)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.form-feedback{font-size:12px;line-height:1.8;padding:12px 14px;border:1px solid #dbe9dc;background:#f1f7f0;border-radius:8px;margin-top:16px;color:#4b7655}.setup-student-total{margin-top:24px;border-top:1px solid var(--border);padding-top:18px;font-size:12px;color:#6f8876}.name-preview{font-size:12px;color:#567760;line-height:2;background:#f7faf7;border-radius:8px;padding:12px 14px 12px 35px;max-height:160px;overflow:auto}.name-preview small{color:#9cad9e;margin-left:9px}.student-actions{display:flex;flex-wrap:wrap;gap:10px}.student-actions .primary{font-size:12px;padding:9px 13px}.bulk-modal{position:relative;width:520px;max-height:90dvh;overflow-y:auto}.bulk-close{position:absolute;top:17px;right:16px}.bulk-done{width:100%;margin-top:13px}.profile>span:nth-child(2){min-width:0;flex:1}.profile small,.profile strong{overflow-wrap:anywhere}.demo-profile small{line-height:1.8}.classroom-panel td:nth-child(2){white-space:normal;min-width:130px;max-width:240px}.modal-note{line-height:1.8}@media(max-width:1100px){.setup-layout{grid-template-columns:1fr}.setup-layout .panel{width:100%}}.calendar-day.no-class{background:#c9cfd4;border-color:#b7c0c7;color:#59636e}.calendar-day.no-class:hover{background:#c9cfd4;border-color:#b7c0c7}.calendar-day.no-class.selected{background:#bfc7cf;outline-color:#707b86}.calendar-day:disabled{opacity:1;cursor:not-allowed;transform:none}.calendar-day.holiday:disabled{background:#fff0f0;border-color:#f2d5d5;color:#bd6464}.no-class-notice{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;padding:15px 18px;background:#e1e5e9;border:1px solid #c8cfd6;border-radius:9px;color:#606c77;font-size:12px;line-height:1.8}.no-class-notice strong{color:#3e4c59}.attendance-calendar{margin-bottom:22px}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:15px}.calendar-toolbar input,.overview-filters input{padding:8px 11px;border:1px solid #dfe7e1;border-radius:7px;background:#fff;color:#526e5b}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekday{text-align:center;font-size:12px;color:#8b9b90;padding:8px}.weekend-label{color:#c56868}.calendar-day{min-height:67px;background:#fbfdfb;border:1px solid #edf1ed;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;padding:10px 12px;position:relative;color:#5f7e68;min-width:0}.calendar-day strong{font-size:15px}.calendar-day small{font-size:9px;line-height:1.5;overflow-wrap:anywhere;max-width:100%}.calendar-day:hover{border-color:#8bb79c;background:#f0f7f1}.calendar-day.holiday{background:#fff0f0;border-color:#f2d5d5;color:#bd6464}.calendar-day.selected{outline:2px solid #4a8d69;outline-offset:1px;background:#edf6ee}.calendar-day.holiday.selected{background:#fce4e4;outline-color:#bb6868}.recorded-dot{position:absolute;right:8px;top:11px;background:#5c9b72;border-radius:50%;width:6px;height:6px}.calendar-selection{font-size:12px;color:#799182;margin-top:18px}.holiday-selection{background:#fff0f0;color:#bc6666;border-radius:7px;padding:11px 13px}.holiday-checkbox{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:23px;color:#6f8876}.holiday-checkbox input{accent-color:var(--green);width:17px;height:17px}.holiday-override{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border);font-size:11px;color:#718c78}.holiday-override small{display:block;color:#b37c73;margin-top:4px}.period-tabs{display:flex;border:1px solid #dce7df;border-radius:8px;overflow:hidden;background:#fff}.period-tabs button{padding:10px 15px;border:0;background:transparent;color:#819687;font-size:12px}.period-tabs button.selected{background:var(--green);color:#fff}.overview-range{font-size:12px;color:#7e9585;margin:18px 0}.overview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.overview-stats>span{background:#eff7f0;border:1px solid #dfece1;border-radius:10px;padding:17px;color:#72967d;font-size:12px}.overview-stats>span:nth-child(2){background:#fff0ef;border-color:#f3dedb;color:#bd7973}.overview-stats>span:nth-child(3){background:#fcf6e9;border-color:#eee4cb;color:#b39d64}.overview-stats strong{font-size:27px;display:block;margin-top:7px;font-weight:600}.absent-count{color:#c16c65!important;font-weight:650}.frequent-absences{margin-bottom:24px}.absence-empty{padding:15px 0;font-size:12px;color:#91a597}.overview-filters{gap:12px}.overview-filters .select-label{flex-wrap:wrap}.overview-filters input{max-width:100%}.roster-number{flex:0 0 auto!important;font-size:11px;color:#7f9686}.overview-stats+.modal-note{margin-bottom:18px}@media(max-width:600px){.calendar-grid{gap:4px}.calendar-day{min-height:55px;padding:7px 5px;border-radius:6px}.calendar-day strong{font-size:12px}.calendar-day small{font-size:7px}.recorded-dot{right:4px;top:7px;width:4px;height:4px}.calendar-weekday{font-size:10px;padding:5px}.overview-stats{gap:8px}.overview-stats>span{padding:13px}.overview-stats strong{font-size:23px}.attendance-calendar .section-title{align-items:flex-start}.frequent-absences .section-title{flex-wrap:wrap}.frequent-absences .section-title p{line-height:1.8}.period-tabs button{padding:9px 12px}.calendar-selection{font-size:10px}}.classroom-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:960px;margin-bottom:16px}.classroom-toolbar .subject-back{margin:0}.manage-subject-rooms{margin-left:auto}.manager-room-row{display:flex;align-items:flex-end;gap:10px;margin-top:13px}.manager-room-row .field-label{flex:1;min-width:0;margin:0}.manager-room-row>.icon-btn{margin-bottom:4px}.manager-rooms{margin-top:20px}.roster-heading{font-size:13px;color:#52745d;margin-top:25px}.roster-list{margin-top:12px}.roster-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.roster-row>span{flex:1;min-width:140px}.roster-row strong{font-size:12px;color:#55745f;display:block}.roster-row small{font-size:10px;color:#9aa99c;display:block;margin-top:4px}.roster-row label{display:flex;align-items:center;gap:6px;font-size:10px;color:#93a297}.roster-row input{width:58px;border:1px solid #dce5db;padding:8px;border-radius:6px;color:#476a51}.roster-row .secondary{font-size:10px;padding:8px 10px}.single-student-form{display:grid;grid-template-columns:1fr 100px;gap:10px;margin-top:15px;align-items:end}.single-student-form .field-label{margin:0}.single-student-form>.secondary{grid-column:1/-1;justify-self:end}.course-settings .roster-row .text-button{color:#b58375;font-size:10px}@media(max-width:480px){.classroom-toolbar .secondary{font-size:10px;padding:9px}.single-student-form{grid-template-columns:minmax(0,1fr) 85px}.roster-row>span{min-width:100%}.roster-row .text-button{margin-left:auto}.manager-room-row .field-label{font-size:11px}}.room-pick-shell{position:relative;min-width:0;display:flex}.room-pick-shell>.room-pick-card{width:100%;height:100%}.room-gear{position:absolute;right:17px;top:17px;z-index:1;color:#7b9a84;background:#f3f7f1;width:39px;height:39px}.room-gear:hover{background:#dfeee2;color:#326d48}.pick-schedule{font-size:11px;color:#78917f;line-height:1.8}.subject-pick-card>strong{font-size:26px}.subject-back{margin-bottom:16px}.setup-layout.profile-only{display:block;max-width:700px;margin:0 auto}.course-settings{width:610px;max-height:90dvh;overflow:auto}.settings-section{border-top:1px solid var(--border);padding-top:23px;margin-top:23px}.day-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.day-options label{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;padding:11px;font-size:12px;color:#809689;cursor:pointer}.day-options label.checked{background:#edf6ee;border-color:#89b69a;color:#2e7050}.day-options input{accent-color:var(--green);width:16px;height:16px}.enrolled-list{padding:15px;border-radius:9px;background:#f5f9f3;margin-top:20px;font-size:12px;color:#709077}.enrolled-list summary{cursor:pointer}.enrolled-list ol{padding-left:22px;line-height:2}.enrolled-list p{padding-top:12px}.score-input{width:100px;padding:9px;border:1px solid #dce7dc;border-radius:7px;color:#366446;background:#fff}.course-schedule-note{display:flex;gap:9px;align-items:center;line-height:1.8;font-size:12px;color:#829789;margin:18px 0 0}.settings-section .bulk-students .section-title p{font-size:11px}@media(max-width:600px){.day-options{grid-template-columns:repeat(2,minmax(0,1fr))}.room-gear{width:34px;height:34px;right:11px;top:11px}.subject-pick-card>strong{font-size:23px}.course-settings{padding:20px}.active-room-bar>div{flex-wrap:wrap;gap:5px}.pick-schedule{font-size:10px}}.room-picker{max-width:960px;min-height:55vh}.room-picker-intro{display:flex;align-items:center;gap:15px;margin:12px 0 26px}.picker-icon{width:55px;height:55px;border-radius:15px;background:#e8f2e9;color:#598464;display:grid;place-items:center;flex-shrink:0}.room-picker-intro h2{font-size:18px}.room-picker-intro p{font-size:12px;color:#92a095;margin-top:6px;line-height:1.8}.room-picker-intro>.count{margin-left:auto;white-space:nowrap}.room-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.room-pick-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:17px;background:#fff;border:1px solid #e0e9e2;border-radius:16px;padding:28px;color:#2e5b43;min-width:0;box-shadow:0 3px 12px #214d3210}.room-pick-card:hover{background:#fbfdf9;border-color:#75a889;box-shadow:0 8px 22px #214d3217}.pick-card-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:13px}.room-pick-card>strong{font-size:32px;font-weight:600;line-height:1.3;overflow-wrap:anywhere;max-width:100%}.pick-student-count,.pick-subjects{display:flex;align-items:center;gap:9px;font-size:12px;color:#8b9c8e}.pick-subjects{font-size:11px;color:#a0ac9e;align-items:flex-start;line-height:1.7}.pick-subjects svg{flex-shrink:0;margin-top:2px}.pick-subjects span{overflow-wrap:anywhere}.pick-card-action{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #eaf0e9;padding-top:17px;width:100%;font-size:12px;color:#4d8560;margin-top:auto;font-weight:550}.picker-note{color:#9ba99c;font-size:11px;text-align:center;margin:27px 0}.active-room-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#eaf3ed;border:1px solid #dce9df;border-radius:10px;padding:12px 16px;margin-bottom:22px;color:#5b8266;font-size:12px}.active-room-bar>div{display:flex;align-items:center;gap:9px;min-width:0}.active-room-bar strong{color:#2d6343;overflow-wrap:anywhere}.room-picker .empty .primary{margin-top:22px}@media(max-width:600px){.room-picker-grid{gap:12px}.room-pick-card{padding:19px 15px;gap:14px;border-radius:12px}.room-pick-card>strong{font-size:26px}.pick-subjects{font-size:9px}.pick-student-count{font-size:11px}.pick-card-action{font-size:10px;gap:5px}.room-picker-intro{gap:10px;flex-wrap:wrap}.room-picker-intro h2{font-size:16px}.room-picker-intro p{font-size:10px}.room-picker-intro>.count{margin-left:0}.active-room-bar{padding:10px 12px;font-size:11px}.active-room-bar .secondary{font-size:10px;padding:8px}.pick-card-icon{width:41px;height:41px}}.item-input-row{display:flex;gap:9px;align-items:stretch}.item-input-row input{min-width:0;flex:1}.item-input-row button{flex-shrink:0;white-space:nowrap}.item-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.item-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #dceadf;background:#edf6ee;border-radius:7px;padding:7px 10px;color:#437451;font-size:12px;overflow-wrap:anywhere;max-width:100%}.item-chip button{border:0;background:transparent;border-radius:4px;color:#7d9a81;padding:3px}.item-chip button:hover{background:#dcebdd}.item-feedback{font-size:11px;color:#6f8c77;line-height:1.8;margin-top:8px}.room-empty{border:1px dashed #cfdfd2;border-radius:12px;background:#f7faf6;text-align:center;padding:42px 18px;color:#8ba38e;display:flex;flex-direction:column;align-items:center;gap:14px;margin:25px 0}.room-empty strong{color:#5c7e63;font-size:14px}.room-empty p{font-size:12px;line-height:1.9}.bulk-students>.primary{margin-top:20px;width:100%}.login-story{background-image:linear-gradient(180deg,#0c2b208f,#0c2b206b),url(/images/school-campus.png);background-size:cover;background-position:center;background-repeat:no-repeat}.login-story .brand-sub,.login-story .light,.login-story p,.login-story>small{color:#e1ece4}.login-story .login-art{color:#e7efdd}.login-story .login-art span{color:#dce8db}@media(max-width:720px){.login-story{background-position:center 52%}}@media(max-width:720px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-shell{padding:25px 16px}.onboarding-title h1{font-size:19px}.student-actions{width:100%}.student-actions button{flex:1}.room-options{grid-template-columns:repeat(2,1fr)}.onboarding-title p{font-size:10px}.setup-panel .modal-actions{flex-wrap:wrap}.setup-panel .modal-actions .primary{flex:1}}.page-back-row{display:flex;margin-bottom:18px}.page-back.secondary{min-height:44px;gap:8px;padding:10px 16px;white-space:nowrap}.page-back:focus-visible{outline:3px solid #86b79c;outline-offset:3px}.status-3.chosen{background:#eee8fa;border-color:#ac92d3;color:#7651a3}.summary-ป่วย{color:#7651a3}.status-buttons{flex-wrap:nowrap}.overview-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-stats>span:nth-child(4){background:#f2edfa;border-color:#e1d5ef;color:#8965ad}@media(max-width:600px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.attendance-col{width:310px;min-width:300px}.status-buttons{width:max-content;white-space:nowrap}.attendance-button{flex-shrink:0}.student-settings-button{min-width:44px;min-height:44px;justify-content:center}.term-picker{max-width:900px}.term-year{max-width:240px;margin:24px 0}.term-year input{padding:12px;border:1px solid #dfe7e1;border-radius:8px;background:#fff;color:#355a49;font-size:17px}.term-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.term-card{border:1px solid #dce8df;text-align:left}.term-card strong{font-size:27px}.academic-context{font-size:13px;color:#507a60}.term-switch.term-pill{display:flex;align-items:center;gap:7px;cursor:pointer;min-height:40px;white-space:normal;text-align:left}.term-switch:hover{background:#eaf4ed}.term-switch:focus-visible{outline:2px solid #589877;outline-offset:2px}@media(max-width:600px){.term-card-grid{gap:10px}.term-card{padding:18px 13px}.term-card strong{font-size:22px}.term-switch.term-pill{font-size:10px;padding:6px;max-width:180px}.top-actions{gap:5px}.term-switch svg{flex-shrink:0}.topbar .breadcrumb>span{display:none}.topbar .breadcrumb strong{font-size:10px}}.register-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin:24px 0 18px}.register-intro h3{font-size:17px;margin:0 0 7px;color:#345c48}.register-intro p{font-size:11px;color:#83958a;margin:0}.register-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px;color:#74877a}.register-legend>span{display:flex;align-items:center;gap:5px}.register-month{margin:20px 0 26px}.register-month>h3{font-size:14px;margin-bottom:12px;color:#496a57}.register-scroll{max-width:100%;overflow:auto;border:1px solid #c8d4cc;border-radius:8px;max-height:650px;isolation:isolate}.register-scroll:focus-visible{outline:2px solid #75a78a;outline-offset:3px}.register-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed}.register-table th,.register-table td{box-sizing:border-box;min-width:42px;height:42px;padding:7px 8px;text-align:center;vertical-align:middle;border-right:1px solid #d5dfd8;border-bottom:1px solid #d5dfd8;white-space:nowrap;font-size:12px}.register-table thead th{background:#edf4ef;color:#547460;font-weight:600;height:32px}.register-table thead tr:first-child th{height:40px}.register-table .register-no{position:sticky;left:0;min-width:56px;width:56px;z-index:2;background:#fff}.register-table .register-name{position:sticky;left:56px;min-width:230px;width:230px;max-width:230px;white-space:normal;text-align:left;z-index:2;background:#fff;color:#405e4c;font-weight:500;box-shadow:3px 0 5px #244c3410}.register-table thead .register-no,.register-table thead .register-name{background:#e6f0e9;z-index:4}.register-table tbody tr:hover td,.register-table tbody tr:hover th{background:#f6faf7}.register-table .register-name small{display:block;font-size:9px;color:#9c8a7d;margin-top:4px}.register-table .register-total{background:#f5f8f5;color:#536f5d;font-weight:600}.register-table .register-holiday{background:#fff1f0;color:#bf7771}.register-mark{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;font-size:15px;font-weight:600;line-height:1}.register-mark.mark-present{color:#3c7a6c;font-size:25px;font-weight:400}.mark-absent{color:#bf6464;border:1.5px solid #ce8282;border-radius:50%;background:#fff3f1}.mark-leave{color:#ac8937;border:1.5px solid #d2b56b;border-radius:50%;background:#fff8e9}.mark-sick{color:#8057a9;border:1.5px solid #b89bd4;border-radius:50%;background:#f6effc}.register-legend .register-mark{width:22px;height:22px;font-size:12px}.register-legend .mark-present{font-size:22px}.register-summary{margin:24px 0 10px;border:1px solid #dfe8e1;border-radius:8px;overflow:hidden}.register-summary>summary{cursor:pointer;padding:15px;color:#54745e;font-size:12px;background:#f6f9f6}.register-summary[open]>summary{border-bottom:1px solid #dfe8e1}@media(max-width:600px){.register-table .register-no{min-width:42px;width:42px}.register-table .register-name{left:42px;min-width:145px;width:145px;max-width:145px;font-size:11px}.register-table td,.register-table th{min-width:38px;padding:6px}.register-legend{gap:8px;font-size:10px}.register-scroll{max-height:500px}}.attendance-register .register-mark{display:inline-block;width:11px;height:11px;border:0;border-radius:50%;vertical-align:middle;background:transparent}.attendance-register .mark-present{background:#38985c}.attendance-register .mark-absent{background:#dd5050}.attendance-register .mark-leave{background:#ed9235}.attendance-register .mark-sick{background:#9760c6}.register-legend .register-mark{flex-shrink:0}.identity-edit{font-size:10px;margin-top:6px}.identity-form{padding:18px;margin-top:20px;background:#f5f9f6;border:1px solid #dce8df;border-radius:10px}.identity-form h3{font-size:13px;color:#4e705a}.identity-form input{padding:12px;border:1px solid #d4dfd7;border-radius:6px;font-size:15px;max-width:100%;letter-spacing:1px}.report-overlay{padding:18px;z-index:90}.report-dialog{width:min(1250px,100%);height:calc(100dvh - 36px);background:#fff;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 80px #17392840}.report-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px;border-bottom:1px solid #e1e8e3;flex-shrink:0}.report-dialog-heading h2{margin:0 0 5px;font-size:18px}.report-dialog-heading p{margin:0;font-size:11px;color:#7b8f81}.report-controls{padding:12px 22px;flex-shrink:0}.report-controls .filters{margin:0 0 10px;padding:8px}.density-options{display:flex;gap:8px}.density-options button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;flex:1;padding:10px 14px;background:#fff;border:1px solid #dae5dd;border-radius:8px;color:#6f8576}.density-options button.selected{background:#eaf5ed;border-color:#5c9974;color:#326a4c}.density-options strong{font-size:12px}.density-options small{font-size:10px;font-weight:400}.report-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;color:#6f8376;margin-top:10px}.report-pagination>div{display:flex;align-items:center;gap:7px}.report-pagination select{padding:5px;border:1px solid #d9e3dc;border-radius:5px;background:#fff;color:#566c5e}.report-hint{font-size:10px;color:#86968b;line-height:1.8;margin:5px 0 0}.report-paper-scroll{overflow:auto;min-height:0;flex:1;background:#e2e7e5;padding:20px;overscroll-behavior:contain}.report-paper{box-sizing:border-box;width:1122.5px;min-height:793.7px;padding:40px 43.3px;background:#fff;color:#000;box-shadow:0 2px 10px #233d3420;font-family:Tahoma,sans-serif}.report-paper h1{color:#000;font-family:Tahoma,sans-serif;font-size:15pt;line-height:1.3;margin:0 0 5px;font-weight:700}.report-paper>p{font-size:9pt;line-height:1.3;margin:0 0 3px;color:#000}.report-paper-legend{display:flex;gap:16px;font-size:8pt;margin:4px 0}.report-paper .paper-dot.present{color:#38985c}.report-paper .paper-dot.absent{color:#dd5050}.report-paper .paper-dot.leave{color:#ed9235}.report-paper .paper-dot.sick{color:#9760c6}.report-paper-table{table-layout:fixed;width:1035.8px;border-collapse:collapse;border-spacing:0;font-family:Tahoma,sans-serif}.report-paper-table th,.report-paper-table td{border:1px solid #d9d9d9;padding:var(--report-padding) .65px;line-height:1.15;height:auto;text-align:center;font-size:var(--report-font);font-weight:400;color:#000;white-space:normal;overflow-wrap:normal}.report-paper-table th{background:#e8edf1;font-weight:700}.report-paper-table .paper-date{font-size:var(--report-date-font)}.report-paper-table .paper-name{text-align:left;padding-left:4px;padding-right:3px;font-size:var(--report-name-font)}.report-paper-table tbody tr:hover td{background:#fff}.report-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid #dde6df;flex-shrink:0;font-size:11px;color:#6b8574}@media(max-width:600px){.report-overlay{padding:0}.report-dialog{width:100%;height:100dvh;border-radius:0}.report-dialog-heading{padding:12px}.report-dialog-heading h2{font-size:15px}.report-controls{padding:8px 12px;max-height:42dvh;overflow:auto}.density-options{gap:5px}.density-options button{padding:8px}.density-options small{font-size:8px}.report-paper-scroll{padding:12px}.report-dialog-footer{padding:10px;flex-wrap:wrap}.report-dialog-footer .primary{width:100%;justify-content:center}.report-hint{font-size:9px}}.report-orientation{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-size:11px;color:#718579}.report-orientation button{padding:7px 15px;border:1px solid #dbe5de;background:#fff;color:#6c8374;border-radius:6px}.report-orientation button.selected{background:#eaf5ed;border-color:#659c79;color:#326a4c}.report-paper.portrait{width:793.7px;min-height:1122.5px}.report-paper.portrait .report-paper-table{width:707.1px}.stat-card-link{display:block;text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.stat-card-link:hover{border-color:#83b39a;box-shadow:0 4px 16px #25604412}.stat-card-link:focus-visible{outline:3px solid #87b99d;outline-offset:3px}.stat-card-link>small{color:#518066}.quick-grid.quick-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.quick-grid.quick-grid-two{grid-template-columns:1fr}}.report-paper .report-paper-table th{background:#eee}.report-paper .paper-symbol,.report-paper .report-paper-legend b{color:#000}.quick-grid.quick-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.coursework-panel h2{display:flex;align-items:center;gap:8px}.indicator-add{display:flex;align-items:flex-end;gap:12px;padding:18px;background:#f6f9f6;border:1px solid #e1e9e3;border-radius:10px;margin:20px 0}.indicator-add label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#708775}.indicator-add label:first-child{flex:1}.indicator-add label:nth-child(2){width:125px}.indicator-add input,.indicator-edit input{padding:10px 12px;border:1px solid #dce6df;border-radius:7px;background:#fff;color:#476550;min-width:0}.coursework-info{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#7a9282;margin:20px 0 12px}.coursework-info strong{color:#376c50}.indicator-settings{border:1px solid #dfe8e1;border-radius:8px;margin:20px 0;padding:12px}.indicator-settings summary{cursor:pointer;color:#5c7b66;font-size:12px}.indicator-edit{display:grid;grid-template-columns:24px minmax(0,1fr) 100px 34px;align-items:center;gap:10px;margin-top:12px;font-size:11px;color:#829789}.coursework-scroll{margin-top:20px;border:1px solid #dce7df;border-radius:9px}.coursework-table{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content}.coursework-table th,.coursework-table td{min-width:115px;text-align:center;border-right:1px solid #e5ece6;border-bottom:1px solid #e5ece6;vertical-align:middle;padding:12px 10px;white-space:normal}.coursework-table thead th{max-width:160px;color:#587760;background:#eef5ef;font-size:11px}.coursework-table small{display:block;font-size:9px;font-weight:400;color:#8ca090;margin-top:6px}.coursework-table .cw-no{position:sticky;left:0;min-width:50px;width:50px;background:#fff;z-index:2}.coursework-table .cw-name{position:sticky;left:50px;min-width:220px;width:220px;max-width:220px;text-align:left;background:#fff;z-index:2;font-weight:500;color:#4a6653;box-shadow:3px 0 5px #20472f08}.coursework-table thead .cw-no,.coursework-table thead .cw-name{background:#e7f0e9;z-index:3}.coursework-table .cw-total{background:#f7f9f6;font-weight:600;color:#55715d}.coursework-table .cw-scaled{background:#ebf5ee;color:#38734c;font-weight:650;font-size:17px}.cw-score{width:70px;max-width:100%;height:39px;text-align:center;border:1px solid #dbe5de;border-radius:6px;background:#fff;color:#405e4b;font-size:14px}.cw-score:focus{outline:2px solid #83b49a;outline-offset:1px}.cw-score.cw-waiting{background:#fff5e6;color:#b08039;border-color:#e4c58e}.cw-score[aria-invalid=true]{border-color:#ce7777;background:#fff0ef}.coursework-table .cw-error{color:#be6464}.coursework-save-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:700px){.quick-grid.quick-grid-three{grid-template-columns:1fr}.indicator-add{flex-wrap:wrap;padding:13px}.indicator-add label:first-child{flex:1 1 100%}.indicator-add label:nth-child(2){flex:1}.indicator-add button{min-height:40px}.coursework-table .cw-no{min-width:40px;width:40px}.coursework-table .cw-name{left:40px;min-width:145px;width:145px;max-width:145px;font-size:11px}.indicator-edit{grid-template-columns:18px minmax(0,1fr) 65px 30px;gap:6px}.indicator-edit input{padding:9px 6px}.coursework-panel .save-bar{align-items:flex-start;flex-direction:column}.coursework-save-actions{width:100%}.coursework-save-actions button{flex:1;justify-content:center}}@media(min-width:900px){.coursework-table .cw-total{position:sticky;right:120px;min-width:130px;width:130px;max-width:130px;z-index:2;box-shadow:-3px 0 5px #20472f08}.coursework-table .cw-scaled{position:sticky;right:0;min-width:120px;width:120px;max-width:120px;z-index:2}.coursework-table thead .cw-total,.coursework-table thead .cw-scaled{z-index:3}}.grade-guide{font-size:11px;color:#6e8775;line-height:1.9;margin:12px 0}.final-scores-scroll{margin-top:20px;border:1px solid #dce6df;border-radius:9px}.final-scores-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.final-scores-table th,.final-scores-table td{vertical-align:middle;text-align:center;padding:12px 10px;min-width:110px;border-right:1px solid #e2e9e4;border-bottom:1px solid #e2e9e4;font-size:12px}.final-scores-table thead th{background:#ecf4ee;color:#53775f;font-size:11px}.final-scores-table small{display:block;font-size:9px;color:#91a094;font-weight:400;margin-top:5px}.final-scores-table .final-no{position:sticky;left:0;width:50px;min-width:50px;background:#fff;z-index:2}.final-scores-table .final-name{position:sticky;left:50px;width:220px;min-width:220px;max-width:220px;white-space:normal;background:#fff;z-index:2;text-align:left;font-weight:500;color:#486652;box-shadow:3px 0 5px #244c3410}.final-scores-table thead .final-no,.final-scores-table thead .final-name{background:#e4efe7;z-index:3}.automatic-score{background:#f1f6f9;color:#52778b;font-weight:600}.final-total{background:#edf6ee;color:#467650;font-weight:650}.grade-badge{display:inline-block;min-width:36px;font-size:13px;font-weight:600;color:#427352;background:#eaf5ed;padding:7px 9px;border-radius:6px}.grade-needs-help{background:#fff1e8;color:#b47e47}.final-scores-table select{border:1px solid #d7e4da;border-radius:6px;padding:9px;color:#5c7563;background:#fff;min-width:95px}.final-scores-table textarea{width:190px;resize:vertical;border:1px solid #dce5de;border-radius:6px;padding:9px;font-size:12px;color:#52735d;background:#fff}.grade-unavailable{color:#a1b0a4}.final-scores-table .grade-error{color:#bc6565}.grade-paper-table{table-layout:fixed;width:1035.8px;border-collapse:collapse;margin-top:12px;font-family:Tahoma,sans-serif}.portrait .grade-paper-table{width:707.1px}.grade-paper-table th,.grade-paper-table td{border:1px solid #d9d9d9;padding:4px 3.6px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35;text-align:center;font-size:9pt;font-weight:400;color:#000;vertical-align:middle}.grade-paper-table th{background:#eee;font-weight:700}.grade-paper-table .grade-paper-left{text-align:left}.grade-paper-table tbody tr:hover td{background:#fff}@media(max-width:700px){.final-scores-table .final-no{min-width:40px;width:40px}.final-scores-table .final-name{left:40px;min-width:145px;width:145px;max-width:145px;font-size:11px}.final-scores-panel .save-bar{flex-direction:column;align-items:flex-start}.final-scores-panel>.section-title{flex-wrap:wrap}}.grade-paper-table th{font-size:8pt}.quick-grid.quick-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-icon.purple{background:#f0eafa;color:#9573b7}.evaluation-tabs{display:flex;gap:10px;margin:22px 0}.evaluation-tabs button{flex:1;padding:14px;border:1px solid #dce5df;border-radius:8px;background:#fff;color:#7a9081;font-size:12px}.evaluation-tabs button.selected{background:#e9f4ed;border-color:#6ea084;color:#326e4d}.evaluation-heading{font-size:16px;color:#4c6d56;margin:22px 0 16px}.evaluation-criteria{display:flex;gap:8px;flex-wrap:wrap}.evaluation-criteria button{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #e0e8e2;border-radius:8px;background:#fff;color:#7f9485;font-size:11px}.evaluation-criteria button span{border-radius:50%;background:#edf4ef;width:23px;height:23px;display:grid;place-items:center;font-size:10px}.evaluation-criteria button.selected{background:#f1f8f3;border-color:#7da78b;color:#3c7553}.evaluation-current{display:flex;align-items:center;gap:10px;padding:17px 13px;background:#f0f6f2;border-radius:9px;margin:18px 0}.evaluation-current>div{flex:1}.evaluation-current strong{font-size:14px;color:#4a7558}.evaluation-current small{display:block;font-size:10px;color:#8fa193;margin-top:7px}.evaluation-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.evaluation-table td,.evaluation-table th{vertical-align:middle;padding:14px 10px;border-bottom:1px solid #e6ece7;text-align:center;font-size:12px;color:#607d6a}.evaluation-table thead th{background:#edf5ef;font-size:11px}.evaluation-table th small{display:block;font-size:9px;font-weight:400;color:#8e9e92;margin-top:5px}.evaluation-table tr>:first-child{position:sticky;left:0;width:45px;min-width:45px;background:#fff;z-index:2}.evaluation-table tr>:nth-child(2){position:sticky;left:45px;min-width:210px;width:210px;max-width:210px;white-space:normal;text-align:left;background:#fff;z-index:2;box-shadow:3px 0 4px #26493108;font-weight:500}.evaluation-table thead tr>:first-child,.evaluation-table thead tr>:nth-child(2){background:#e6f0e9;z-index:3}.evaluation-choices{display:flex;gap:7px;flex-wrap:nowrap}.evaluation-choices button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dce5df;background:#fff;color:#84968a;border-radius:7px;padding:10px;min-height:44px;min-width:80px;white-space:normal;font-size:11px}.evaluation-choices button.selected{border-color:#71a187;background:#eaf5ed;color:#3d7855}.evaluation-choice-tick{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid #cbdacf;border-radius:4px;font-size:13px;flex-shrink:0}.evaluation-choices small{font-size:9px}.evaluation-table select,.evaluation-table input,.evaluation-ninth{padding:9px;border:1px solid #dbe6de;border-radius:7px;background:#fff;color:#62806c;font-size:12px}.evaluation-table select{min-width:125px}.evaluation-table input{width:180px}.evaluation-scroll{border:1px solid #e0e8e2;border-radius:9px;margin-top:20px}.evaluation-paper h1{text-align:center;font-size:13pt}.evaluation-paper-table{width:707.1px;table-layout:fixed;border-collapse:collapse;margin-top:10px;font-family:Tahoma,sans-serif;color:#000}.evaluation-paper-table td,.evaluation-paper-table th{border:1px solid #d9d9d9;text-align:center;vertical-align:middle;padding:1px .5px;font-size:7.5pt;font-weight:400;line-height:1.25;white-space:normal;color:#000}.evaluation-paper-table th{background:#f2f2f2;font-size:7pt;font-weight:600}.evaluation-paper-table thead tr:last-child th{font-size:6pt}.evaluation-paper-table tbody tr:hover td{background:#fff}@media(max-width:700px){.quick-grid.quick-grid-four{grid-template-columns:1fr}.evaluation-tabs{flex-direction:column}.evaluation-criteria{gap:6px}.evaluation-criteria button{font-size:10px}.evaluation-table tr>:first-child{min-width:35px;width:35px}.evaluation-table tr>:nth-child(2){left:35px;min-width:140px;width:140px;max-width:140px;font-size:11px}.evaluation-choices button{padding:9px 6px;min-width:70px;font-size:10px}.evaluation-panel .save-bar{flex-direction:column;align-items:flex-start}.evaluation-panel>.section-title{flex-wrap:wrap}.evaluation-current strong{font-size:12px}}.sidebar{overflow-y:auto}.sidebar>*{flex-shrink:0}.evaluation-auto-summary{display:inline-block;min-width:125px;border-radius:7px;background:#eaf5ed;color:#467856;padding:10px;font-size:11px}.evaluation-auto-summary small{display:block;font-size:9px;margin-top:6px;font-weight:400}.evaluation-auto-summary.evaluation-incomplete{background:#f1f4f2;color:#96a59b}.evaluation-auto-summary.evaluation-result-0{background:#fff0ef;color:#bc7168}.evaluation-auto-summary.evaluation-result-1{background:#fff6e7;color:#ad8c4a}.login-story .brand{align-items:center;gap:15px}.login-school-name{font-size:27px;line-height:1.25;font-weight:650;letter-spacing:-.5px}.login-school-name .brand-sub{font-size:9px;letter-spacing:3px;margin-top:11px;font-weight:500}.login-story .brand-icon{flex-shrink:0;width:54px;height:54px;background:#ffffff1c;border:1px solid #ffffff30;border-radius:15px}.login-card .login-greeting{font-family:Tahoma,Segoe UI,sans-serif;font-size:38px;font-weight:500;line-height:1.6;text-align:left;color:#164c3c;margin:23px 0 12px;letter-spacing:0}.login-card form{margin-top:25px}.term-picker .room-picker-intro h2{color:#244d3d}.term-picker .room-picker-intro p{color:#758a7e}.term-year{color:#5e7c69}.term-year input{border-color:#cbdccf;background:#fbfdfb;box-shadow:0 2px 5px #234e3510}.term-year input:focus{outline:2px solid #80b29b;outline-offset:2px}.term-card.room-pick-card{position:relative;overflow:hidden;min-height:265px;border:1px solid transparent;background:#205e4c;color:#fff;box-shadow:0 8px 24px #164d3220;transition:background .2s,transform .2s,box-shadow .2s;padding:28px}.term-card-2.room-pick-card{background:#30755f}.term-card.room-pick-card:hover{background:#194e3f;border-color:#fff3;box-shadow:0 12px 30px #174f3830;transform:translateY(-3px)}.term-card-2.room-pick-card:hover{background:#27664f}.term-card.room-pick-card:focus-visible{outline:3px solid #84baa1;outline-offset:4px}.term-card.room-pick-card strong{color:#fff;font-size:31px}.term-card .pick-card-icon.green{background:#ffffff1c;color:#e5f4eb;border:1px solid #ffffff26;border-radius:14px}.term-card.room-pick-card>span{color:#e1f0e7}.term-card.room-pick-card .pick-subjects{color:#c4ddce}.term-card.room-pick-card .pick-card-action{color:#fff;border-top:1px solid #ffffff26;padding-top:16px;margin-top:7px;width:100%;justify-content:space-between}.term-card.room-pick-card:disabled{opacity:.5;transform:none;cursor:not-allowed}@media(max-width:1100px){.login-school-name{font-size:24px}}@media(max-width:700px){.login-school-name{font-size:22px;line-height:1.25}.login-school-name .brand-sub{font-size:8px;letter-spacing:2.5px;margin-top:8px}.login-story .brand-icon{width:46px;height:46px}.login-card .login-greeting{font-size:34px}.term-card.room-pick-card{padding:21px 17px;min-height:245px}.term-card.room-pick-card strong{font-size:27px}}@media(max-width:400px){.login-school-name{font-size:19px}.term-card.room-pick-card{padding:17px 13px;min-height:230px}.term-card.room-pick-card strong{font-size:23px}.term-card .pick-subjects,.term-card.room-pick-card .pick-card-action{font-size:10px}}.login-card .login-greeting{font-family:inherit;font-size:30px;font-weight:600;line-height:1.4;letter-spacing:-.5px}@media(max-width:400px){.login-card .login-greeting{font-size:26px}}:root{--green: #557e67;--border: #e1e8e3;--muted: #718177;color:#334b3e;background:#f6f8f6}body{background:#f6f8f6}.primary{background:#dcece1;border-color:#c3d8ca;color:#345c46;box-shadow:none}.primary:hover{background:#ceded4;border-color:#a9c5b3;color:#294e3c}.primary:disabled{background:#edf2ee;color:#9aa89f;border-color:#e1e8e3}.secondary{background:#fff;color:#56715f;border-color:#dce5df}.secondary:hover{background:#f0f6f2;border-color:#bdcfc3}.primary,.secondary,.nav-item,.text-button{min-height:44px}button:focus-visible,summary:focus-visible{outline:2px solid #7ba28a;outline-offset:3px}.icon-btn{min-height:42px;min-width:42px}.brand-icon{background:#e0ede4;color:#54765f}.nav-item{color:#708175;font-size:13px}.nav-item.active{background:#eaf3ed;color:#446d53}.nav-item:hover{background:#f2f6f3}.sidebar{border-right-color:#e3eae5}.sidebar-bottom{padding-top:20px}.local-storage-label{font-size:10px;color:#8b9a90;padding:12px 0}.school-switch,.panel,.stat-card,.room-pick-card,.quick-card{box-shadow:none;border-color:#e1e8e3}.content{max-width:1400px;margin-inline:auto}.page-heading{margin-bottom:22px}.page-heading h1{margin:0;font-size:26px;letter-spacing:-.4px;color:#344f3e}.page-back-row{margin-bottom:18px}.date-chip{background:#fff;border-color:#e2e9e4;color:#809084}.section-title p,.muted,.modal-note,.setup-description{color:#7b8e80}.period-tabs button.selected{background:#dfece3;color:#3e654d}.active-room-bar{background:#edf4ef;border-color:#dce8df;color:#5c7864}.active-room-bar .secondary{background:#fff}.term-card.room-pick-card{min-height:215px;background:#dfede3;color:#3e614b;border-color:#cbded0;padding:24px;box-shadow:none;gap:14px}.term-card-2.room-pick-card{background:#e8f1eb;border-color:#d3e2d8}.term-card.room-pick-card:hover,.term-card-2.room-pick-card:hover{background:#d5e6db;border-color:#a7c3b0;box-shadow:none;transform:none}.term-card.room-pick-card strong{color:#3e614b;font-size:28px}.term-card.room-pick-card>span{color:#5c7a65}.term-card .pick-card-icon.green{background:#ffffffa6;color:#63866e;border-color:#ffffff80}.term-card.room-pick-card .pick-subjects{color:#789180}.term-card.room-pick-card .pick-card-action{color:#4c755a;border-color:#c6dacd;padding-top:12px;margin-top:auto}.term-data-note{margin-top:20px;color:#8a9b8e;font-size:11px}.term-data-note summary{cursor:pointer;min-height:36px;padding:8px 0}.term-data-note p{padding:8px 0;line-height:1.8}.room-pick-card>strong{font-size:26px}.room-pick-card:hover,.quick-card:hover,.stat-card-link:hover{border-color:#b4cdbd;box-shadow:none}.picker-icon,.pick-card-icon.green,.stat-icon.green,.quick-icon.green{background:#eaf3ed;color:#679075}.stats-grid{gap:16px;margin:20px 0 24px}.stat-card{padding:20px}.stat-card>small{color:#84968a;font-size:11px}.stat-value{color:#415f4c}.stat-top{color:#7b8d80;font-size:12px}.quick-section{margin-bottom:22px}.quick-section .section-title h2{color:#698170;font-size:14px;font-weight:550}.quick-grid.quick-grid-four{gap:12px}.quick-card{min-height:95px;padding:20px;border-radius:12px}.quick-card strong{color:#486b52;font-size:14px}.quick-card small{color:#8b9c90;font-size:11px}.dashboard-fold.panel{padding:0 20px;margin-bottom:12px}.dashboard-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;min-height:58px;color:#6a8271;font-size:13px;font-weight:550}.dashboard-fold>summary::-webkit-details-marker{display:none}.dashboard-fold>summary svg{color:#91a396;transition:transform .15s}.dashboard-fold[open]>summary{border-bottom:1px solid #e6ece7}.dashboard-fold[open]>summary svg{transform:rotate(180deg)}.dashboard-fold .classroom-panel,.dashboard-fold .frequent-absences{margin:0;padding:18px 0;border:0;box-shadow:none}.dashboard-fold .section-title{margin-bottom:12px}.login-story{background-image:linear-gradient(180deg,#193d2e66,#193d2e1c),url(/images/school-campus.png);padding:40px}.login-story .brand-icon{background:#ffffff28;color:#fff}.login-main{background:#fafcf9}.login-card .login-greeting{color:#54765e;font-size:30px;margin:0 0 28px}.role-options button{border-color:#dce6df;color:#718877;padding:20px 14px}.role-options button.selected{background:#edf5ef;color:#53795e;border-color:#abc7b4;box-shadow:none}.demo-profile{background:#f1f5f0}.login-note{color:#95a498}.term-switch.term-pill{color:#687f6e;background:#f8faf8}.app-footer{color:#9ba99e;font-size:10px;padding:24px 0}.table-scroll,.register-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}.evaluation-tabs button.selected,.density-options button.selected,.report-orientation button.selected{background:#e7f1e9;color:#547a5f;border-color:#b6cdbd}.evaluation-current{background:#eff5f0}.evaluation-choices button.selected{background:#e9f3ec;border-color:#adccb7;color:#4e775b}.evaluation-choices button.evaluation-level-0{background:#fff0ef;border-color:#d6a39d;color:#bb7068}@media(max-width:1024px){.sidebar{transform:translate(-100%);transition:transform .2s;width:250px;padding:24px 18px 0}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;background:#233c2e33;z-index:29;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-area{margin-left:0}.menu-toggle,.mobile-close{display:inline-flex}.mobile-close{margin-left:auto}.topbar{padding-inline:22px}.content{padding:26px 24px 0}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.login-story{min-height:170px;padding:26px}.login-main{padding:35px 24px}.page-heading h1{font-size:23px}.content{padding:22px 16px 0}.topbar{padding-inline:12px}.term-switch.term-pill{font-size:10px}.quick-card{flex-direction:row;align-items:center}.quick-card>svg{position:static;margin-left:auto}.term-card.room-pick-card{min-height:205px;padding:20px 16px}.room-pick-card>strong{font-size:23px}}@media(max-width:600px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-grid .stat-card-link{grid-column:1 / -1}.stat-card{padding:16px}.stat-value{font-size:28px}.quick-grid.quick-grid-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-card{position:relative;flex-direction:column;align-items:flex-start;min-height:125px;padding:17px 14px;gap:15px}.quick-card>svg{position:absolute;right:12px;top:18px;width:15px}.quick-card strong{font-size:13px}.quick-card small{font-size:10px}.quick-icon{width:37px;height:37px}.dashboard-fold.panel{padding-inline:15px}.dashboard-fold>summary{min-height:55px}.term-card.room-pick-card{min-height:195px}.term-card.room-pick-card strong{font-size:25px}.term-card.room-pick-card .pick-card-action{font-size:11px}.date-chip{font-size:10px}.login-card .login-greeting{font-size:28px}}.profile-avatar{overflow:hidden;flex-shrink:0;padding:0}.profile-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-photo-editor{display:flex;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--border)}.profile-photo-editor>.avatar{width:88px;height:88px;font-size:30px}.profile-photo-editor>div{min-width:0}.profile-photo-editor strong{font-size:14px}.profile-photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 8px}.profile-photo-actions .text-button{display:inline-flex;align-items:center;gap:5px}.profile-photo-editor small,.profile-photo-editor p{font-size:11px;color:#718177;line-height:1.7}@media(max-width:480px){.profile-photo-editor{align-items:flex-start;gap:14px}.profile-photo-editor>.avatar{width:68px;height:68px}}:root{--muted: #6f7c74;--border: #e4e9e5;background:#f7f8f7;color:#35483d}body{background:#f7f8f7}.sidebar{background:#fff}.sidebar .brand{margin-bottom:26px}.sidebar .nav-label{font-size:11px;margin-top:22px}.nav-item{border-radius:8px;min-height:45px;font-size:13px}.nav-item.active{background:#edf3ee;color:#42614b}.nav-item.active i{display:none}.topbar{background:#ffffffed;box-shadow:none;border-bottom:1px solid var(--border)}.breadcrumb strong{font-size:13px;font-weight:500;color:#67796b}.bell{display:none}.content{padding-top:26px}.page-back-row{margin-bottom:16px}.page-back-row .secondary{border:0;background:transparent;padding-left:0;box-shadow:none}.page-heading h1{font-size:25px;font-weight:650}.date-chip{background:transparent;border:0;padding-right:0}.panel{border-radius:14px;padding:24px;box-shadow:none}.section-title h2{font-size:18px;font-weight:600;color:#3e5446}.section-title p{font-size:12px;line-height:1.7;margin-top:6px}.primary,.secondary{border-radius:8px;font-size:13px;min-height:44px;box-shadow:none}.primary{background:#e0ece3;border-color:#d2e1d6;color:#385d44}.secondary{border-color:#e0e6e1;color:#586d5e}.icon-btn{min-height:44px;min-width:44px}.active-room-bar{padding:12px 16px;border:0;border-radius:10px;background:#eef3ef}.active-room-bar .secondary{min-height:38px;font-size:12px}.room-picker-intro{margin-bottom:22px;gap:12px}.room-picker-intro .picker-icon{display:none}.room-picker-intro h2{font-size:17px;font-weight:550;color:#6b7c70}.room-pick-card{border-radius:12px;gap:12px;padding:24px;min-height:215px}.room-pick-card strong{font-weight:600}.pick-card-icon{width:42px;height:42px;border-radius:10px}.room-pick-card .pick-card-action{font-size:12px;padding-top:14px}.subject-pick-card{min-height:175px}.term-card.room-pick-card,.term-card-2.room-pick-card{background:#f0f5f1;border-color:#dfe8e1}.term-card-2.room-pick-card{background:#f7f9f7}.term-card.room-pick-card:hover{background:#e8f0ea}.stats-grid{gap:14px}.stat-top,.stat-card>small{font-size:12px}.stat-value{font-size:30px;font-weight:600}.stat-icon,.quick-icon{border-radius:10px}.quick-card{min-height:84px}.quick-card strong{font-weight:550}.filters{background:transparent;border:0;padding:0;gap:14px}.search-input{min-height:44px;border-radius:8px}.search-input input{font-size:13px}.select-label{font-size:12px}.panel input:not([type=checkbox]):not([type=radio]):not([type=file]),.modal input:not([type=checkbox]):not([type=radio]):not([type=file]),.panel select,.modal select{min-height:44px;border-radius:7px;font-size:14px}.panel textarea,.modal textarea{font-size:14px;border-radius:8px;line-height:1.65}.table-scroll thead{background:#f6f8f6}.table-scroll th{font-size:12px;color:#6b7b70}.table-scroll td{color:#556c5e;font-size:13px}.table-scroll tbody tr:hover td{background-color:#fafcfb}.indicator-add{background:#f7f9f7;border-color:#e8ece9;border-radius:10px;padding:16px}.coursework-info{gap:18px;padding:12px 0;background:transparent;border:0;font-size:12px}.ui-help{margin:8px 0 16px;color:#718176;font-size:12px}.ui-help>summary{cursor:pointer;width:fit-content;min-height:38px;display:list-item;padding:9px 0}.ui-help>p{background:#f7f9f7;border-radius:8px;padding:14px 16px;margin:4px 0;line-height:1.9;max-width:850px}.indicator-settings,.register-summary{border-color:#e4e9e5;border-radius:8px}.evaluation-criteria{gap:8px}.evaluation-criteria button{border-radius:8px;background:#fff;border-color:#e4e9e5;color:#718176;padding:10px 12px}.evaluation-criteria button.selected{background:#edf4ef;border-color:#bed3c4;color:#426b4e;box-shadow:none}.evaluation-current{border-radius:10px;background:#f3f7f4}.evaluation-tabs button{border-radius:8px;font-size:13px;min-height:46px}.evaluation-choices button{min-height:44px;border-radius:7px}.save-bar{padding-top:18px;gap:16px}.save-bar>span{font-size:11px}.save-bar .secondary{border:0;background:transparent}.setup-panel>.badge{display:none}.setup-panel>h2{margin-top:0}.field-label{font-size:13px}.modal{border-radius:14px;box-shadow:0 16px 60px #20382b18}.modal-note{font-size:12px;line-height:1.8}.status-pill{font-size:11px;border-radius:6px}.app-footer{opacity:.75}@media(max-width:1024px){.content{padding:22px 22px 0}.panel{padding:22px}}@media(max-width:600px){.content{padding:18px 14px 0}.topbar{padding-inline:10px}.panel{padding:18px 15px;border-radius:12px}.page-heading h1{font-size:22px}.page-heading{gap:8px}.section-title{gap:12px;align-items:flex-start;flex-wrap:wrap}.section-title h2{font-size:17px}.section-title>button{font-size:12px;min-height:42px}.quick-card{min-height:116px}.term-card.room-pick-card{min-height:175px;gap:12px}.room-pick-card{padding:20px}.evaluation-tabs{gap:8px}.evaluation-tabs button{flex:1;padding:10px 8px;font-size:12px}.evaluation-criteria{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}.evaluation-criteria button{flex-shrink:0;max-width:230px;scroll-snap-align:start}.save-bar{flex-direction:column;align-items:stretch}.coursework-save-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.save-bar>span{order:2}.filters{gap:12px}.search-input{min-width:0;width:100%;max-width:none;flex-basis:100%}.modal-overlay{padding:10px}.modal{padding:20px 16px}}.coursework-panel>.section-title>div,.final-scores-panel>.section-title>div,.evaluation-panel>.section-title>div{display:none}.coursework-panel>.section-title,.final-scores-panel>.section-title,.evaluation-panel>.section-title{justify-content:flex-end;margin-bottom:16px}@media(max-width:600px){.evaluation-tabs{flex-direction:row}}.homeroom-page{display:grid;gap:20px}.homeroom-intro h2{display:flex;align-items:center;gap:9px}.homeroom-intro .section-title{margin-bottom:0}.homeroom-actions,.homeroom-import{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.homeroom-local-note{color:var(--muted);font-size:12px;line-height:1.8;margin:14px 0 0}.homeroom-import{margin:18px 0;align-items:flex-end}.homeroom-import .field-label{margin:0;min-width:200px}.homeroom-shortcut{margin-bottom:20px}.homeroom-legacy{margin-top:20px}.homeroom-legacy>summary{cursor:pointer;color:var(--muted);font-size:12px;padding:15px 0}.homeroom-page .attendance-calendar{margin:0}.homeroom-page .calendar-grid{max-width:620px;margin:0 auto}.homeroom-page .calendar-day{min-height:65px}.homeroom-page .calendar-selection{text-align:center}.homeroom-status{display:inline-block;padding:6px 13px;border-radius:7px;font-size:13px;background:#f1f5f9;color:#64748b}.homeroom-status.hs-0{background:#e5f3e9;color:#347c50}.homeroom-status.hs-1{background:#ffebeb;color:#bd5252}.homeroom-status.hs-2{background:#fff3dc;color:#a07828}.homeroom-status.hs-3{background:#f0e8fc;color:#8b5bb7}@media(max-width:600px){.homeroom-actions{width:100%;gap:8px}.homeroom-actions .secondary{flex:1;padding:10px;font-size:12px}.homeroom-page .calendar-day{min-height:55px}.homeroom-page .table-scroll{margin-top:15px}.homeroom-page .status-buttons{flex-wrap:nowrap;gap:5px}.homeroom-page .attendance-button{min-width:48px;min-height:42px}}.term-settings-trigger{margin-left:auto}.term-range-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.term-range-fields fieldset{border:1px solid var(--border);border-radius:10px;min-width:0;padding:14px}.term-range-fields legend{color:var(--muted);font-size:14px;padding:0 7px}.term-range-fields .field-label{margin-top:14px}.term-holiday-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.term-add-holiday{margin:16px 0}.term-settings input[type=date]{width:100%}@media(max-width:600px){.term-range-fields{grid-template-columns:1fr;gap:12px}.term-settings-trigger{font-size:12px}.term-holiday-fields{grid-template-columns:1fr;gap:0}.term-picker .room-picker-intro{flex-wrap:wrap}}.school-image-preview{position:relative;height:300px;border-radius:12px;background-size:cover;overflow:hidden;padding:28px}.school-image-preview .brand,.school-image-preview .login-school-name{color:#fff}.school-image-preview .brand-icon{background:#ffffff28;color:#fff}.appearance-preview-label{position:absolute;bottom:15px;right:15px;background:#ffffffdc;color:#456355;padding:5px 12px;border-radius:20px;font-size:12px}.appearance-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:20px 0 8px}.appearance-actions .text-button{display:flex;align-items:center;gap:7px}.appearance-position{max-width:420px}@media(max-width:600px){.school-image-preview{height:190px;padding:20px}.school-image-preview .login-school-name{font-size:18px}.appearance-editor .primary{width:100%}}.prayer-time-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:20px 0}.prayer-time-tabs button{min-height:48px;border:1px solid var(--border);background:#fff;color:#71857e;border-radius:9px;font-size:14px}.prayer-time-tabs button.selected{background:#e5f3ed;color:#326c60;border-color:#b6d7c9}.prayer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:15px 0;color:var(--muted);font-size:13px}.prayer-status-buttons{display:flex;gap:7px;flex-wrap:nowrap}.prayer-choice{display:inline-flex;gap:4px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;min-height:43px;padding:8px 12px;background:#fff;color:#71857e;white-space:nowrap;font-size:13px}.prayer-result{border-radius:6px;padding:6px 9px;display:inline-block;font-size:12px}.prayer-done{background:#e5f3ed;border-color:#aad1ba;color:#326c60}.prayer-missed{background:#fff0ef;border-color:#e9b2ae;color:#b55c56}.prayer-excused{background:#f1edfa;border-color:#d4c7ed;color:#8a6bab}.prayer-pending{background:#f5f7f6;color:#97a69d}@media(max-width:600px){.prayer-time-tabs{display:flex;overflow-x:auto;padding-bottom:5px;gap:7px}.prayer-time-tabs button{min-width:82px}.prayer-choice{font-size:12px;padding:8px 10px}}.sidebar>.logo-brand{position:relative;display:flex;justify-content:center;padding:0;margin-bottom:24px}.school-logo{display:block;width:104px;height:104px;object-fit:contain}.logo-brand .mobile-close{position:absolute;right:-8px;top:0}.quick-grid .prayer-quick-card{grid-column:1 / -1}@media(max-width:600px){.quick-grid .prayer-quick-card{flex-direction:row;align-items:center;min-height:80px}.quick-grid .prayer-quick-card>svg{top:auto;position:static;margin-left:auto}}.sidebar{overflow:clip}.sidebar>.logo-brand,.sidebar>.school-switch,.sidebar>.nav-label,.sidebar>.sidebar-bottom{flex-shrink:0}.sidebar>nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.sidebar>.sidebar-bottom{margin-top:12px;padding-top:10px}.school-logo{filter:grayscale(1) sepia(1) hue-rotate(85deg) saturate(.5);mix-blend-mode:multiply;opacity:.92}.school-logo{border-radius:50%}.prayer-overview-toggle{margin-bottom:18px}.prayer-overview{padding:22px 0;margin:5px 0 20px;border-block:1px solid var(--border)}.prayer-summary-scroll table{min-width:1020px}.prayer-summary-scroll th,.prayer-summary-scroll td{text-align:center}.prayer-summary-scroll th:nth-child(2),.prayer-summary-scroll td:nth-child(2){text-align:left}.prayer-paper table{width:100%;table-layout:fixed;border-collapse:collapse;white-space:normal;font:inherit}.prayer-paper th,.prayer-paper td{border:1px solid #aaa;color:#000;padding:5px 3px;text-align:center;font:inherit;overflow-wrap:anywhere}.prayer-paper th{background:#eee;font-weight:700}.prayer-paper td:nth-child(2){text-align:left}.prayer-paper h1{font-size:14pt}.prayer-paper p{font-size:inherit}.prayer-paper tbody tr:last-child td{border-bottom:1px solid #aaa}:root{--green: #397e75;--border: #e0eae5;--muted: #71857e;--teal: #397e75;--accent: #80bca8;color:#243e39;background:#f5faf8}body,.login-main,.onboarding-shell{background:#f5faf8;color:#243e39}.sidebar,.panel,.stat-card,.quick-card,.room-pick-card,.modal{background:#fff;border-color:#e0eae5}.topbar{background:#ffffffed;border-color:#e0eae5}.brand,.page-heading h1,.section-title h2,.setup-panel h2,.modal h2,.modal h3,.stat-value,.quick-card strong,.room-pick-card>strong,.login-card .login-greeting,.school-switch strong,.profile strong,.evaluation-current strong{color:#243e39}.brand-icon{background:#e5f3ed;color:#397e75}.nav-item,.breadcrumb strong,.section-title p,.muted,.modal-note,.setup-description,.stat-top,.stat-card>small,.date-chip,.field-label,.select-label,.ui-help,.room-picker-intro h2,.local-storage-label,.profile small,.login-note,.profile-photo-editor small,.profile-photo-editor p,.school-switch small,.dashboard-fold>summary,.term-data-note,.app-footer{color:#71857e}.nav-item:hover{background:#f5faf8;color:#397e75}.nav-item.active{background:#397e75;color:#fff}.primary{background:#397e75;border-color:#397e75;color:#fff}.primary:hover{background:#2d685f;border-color:#2d685f;color:#fff}.primary:disabled{background:#e0eae5;border-color:#e0eae5;color:#71857e}.secondary{background:#fff;border-color:#e0eae5;color:#397e75}.secondary:hover{background:#e5f3ed;border-color:#b6d7c9;color:#2d685f}.page-back-row .secondary,.save-bar .secondary{background:transparent;color:#71857e}.icon-btn{color:#71857e}.icon-btn:hover{background:#e5f3ed;color:#397e75}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #80bca8;outline-offset:3px}input,textarea,select{accent-color:#397e75}.panel input:not([type=checkbox]):not([type=radio]),.modal input:not([type=checkbox]):not([type=radio]),.panel textarea,.modal textarea,.panel select,.modal select,.search-input{border-color:#e0eae5;color:#243e39}.search-input input{color:#243e39}.active-room-bar,.evaluation-current,.ui-help>p,.demo-profile{background:#e5f3ed;color:#243e39}.term-switch.term-pill{background:#fff;color:#397e75;border-color:#e0eae5}.term-card.room-pick-card,.term-card-2.room-pick-card{background:#fff;border-color:#e0eae5}.term-card.room-pick-card:hover,.term-card-2.room-pick-card:hover{background:#e5f3ed;border-color:#b6d7c9}.term-card.room-pick-card strong{color:#243e39}.term-card.room-pick-card>span{color:#71857e}.term-card .pick-card-icon.green,.pick-card-icon,.picker-icon,.stat-icon,.quick-icon,.room-icon,.school-square{background:#e5f3ed;color:#397e75}.term-card.room-pick-card .pick-card-action,.room-pick-card .pick-card-action{color:#397e75;border-color:#e0eae5}.room-pick-card:hover,.quick-card:hover,.stat-card-link:hover{border-color:#b6d7c9;background:#f5faf8}.pick-student-count,.pick-subjects,.pick-schedule{color:#71857e}.quick-card>svg,.dashboard-fold>summary svg{color:#80bca8}.quick-section .section-title h2{color:#71857e}.dashboard-fold[open]>summary{border-color:#e0eae5}.period-tabs button.selected,.evaluation-tabs button.selected,.density-options button.selected,.report-orientation button.selected,.evaluation-criteria button.selected{background:#397e75;color:#fff;border-color:#397e75}.evaluation-criteria button{color:#71857e;border-color:#e0eae5}.evaluation-criteria button.selected span{background:#ffffff70;color:#fff}.evaluation-choices button.selected:not(.evaluation-level-0){background:#e5f3ed;color:#2d685f;border-color:#b6d7c9}.indicator-add,.table-scroll thead{background:#f5faf8;border-color:#e0eae5}.table-scroll th{color:#71857e}.table-scroll td,.table-scroll td strong{color:#243e39}.table-scroll tbody tr:hover td{background-color:#f5faf8}.cw-total,.cw-scaled,.automatic-score,.final-total{color:#243e39}.role-options button{background:#fff;border-color:#e0eae5;color:#71857e}.role-options button.selected{background:#e5f3ed;border-color:#397e75;color:#397e75}.login-story{background-image:linear-gradient(180deg,#243e3966,#397e7515),url(/images/school-campus.png)}.login-story .brand{color:#fff}.avatar{background:#e5f3ed;color:#397e75;border-color:#fff}.item-chip,.count{background:#e5f3ed;color:#397e75}.day-options label.checked{background:#e5f3ed;border-color:#b6d7c9;color:#397e75}.sidebar-overlay{background:#243e3933}.toast{border-color:#c7e2d5;box-shadow:0 8px 35px #243e3915}.toast-icon,.pick-card-icon.green,.pick-card-icon.blue,.stat-icon.green,.stat-icon.blue,.stat-icon.purple,.quick-icon.green,.quick-icon.blue,.quick-icon.orange,.quick-icon.purple{background:#e5f3ed;color:#397e75}.nav-item.active{background:#e5f3ed;color:#326c60;border-left:3px solid #87bda6}.nav-item:not(.active){border-left:3px solid transparent}.primary{background:#397e75;color:#fff;border-color:#397e75}.primary:hover{background:#2d685f;color:#fff;border-color:#2d685f}.primary:disabled{background:#eaf0ec;border-color:#e0eae5;color:#98a69e}.secondary{color:#55766a}.brand-icon{background:#e5f3ed;color:#568d78}.active-room-bar{background:#ecf6f0;color:#456c5c}.term-switch.term-pill{color:#648575;background:#fff}.period-tabs button.selected,.evaluation-tabs button.selected,.density-options button.selected,.report-orientation button.selected,.evaluation-criteria button.selected{background:#e5f3ed;color:#326c60;border-color:#b6d7c9}.evaluation-criteria button.selected span{background:#d5eade;color:#326c60}.term-card.room-pick-card{background:#f0f8f3;border-color:#d7e9de}.term-card-2.room-pick-card{background:#fff;border-color:#e0eae5}.term-card.room-pick-card:hover{background:#e5f3ed}.quick-icon,.quick-icon.green,.quick-icon.blue,.quick-icon.orange,.quick-icon.purple,.stat-icon,.stat-icon.green,.stat-icon.blue,.stat-icon.purple,.pick-card-icon,.pick-card-icon.green,.pick-card-icon.blue,.school-square{background:#edf6f0;color:#6b9a82}.quick-card>svg,.dashboard-fold>summary svg{color:#9ab8a8}.quick-card:hover,.stat-card-link:hover,.room-pick-card:hover{background:#fbfdfb;border-color:#bad5c7}.login-main{background:#fbfdfb}.login-story{background-image:linear-gradient(180deg,#243e3959,#6b9a8210),url(/images/school-campus.png)}.role-options button.selected{background:#edf6f0;border-color:#9bc4ad;color:#416e59}.demo-profile{background:#f0f6ef}.avatar{background:#e8f1e5;color:#6a8a5e}.report-paper{color:#000;font-family:Tahoma,sans-serif}.report-paper>h1{text-align:center;color:#000;font-family:Tahoma,sans-serif;font-size:15pt;font-weight:700;line-height:1.4;margin:0 0 6px}.report-paper>p{text-align:center;color:#000;font-family:Tahoma,sans-serif;font-size:9pt;line-height:1.5;margin:3px 0}.report-paper>p:first-of-type{font-weight:700}.report-paper .report-paper-legend{justify-content:center;color:#000;margin:6px 0}.report-paper table{table-layout:fixed;width:100%!important;border-collapse:collapse;border:1px solid #595959;margin-top:12px;color:#000}.report-paper table th,.report-paper table td,.report-paper table tbody tr:last-child td,.report-paper table tbody tr:last-child th{border:1px solid #595959!important;color:#000!important;vertical-align:middle}.report-paper table thead th{background:#e8f0fb!important;font-weight:700;text-align:center}.report-paper table tbody td,.report-paper table tbody tr:hover td{background:#fff!important}.grade-paper table th,.grade-paper table td{font-size:9pt;padding:5px 4px;line-height:1.35}.grade-paper table td:nth-child(2){text-align:left;font-weight:600}.grade-paper table th{font-size:8.5pt}.prayer-paper table th,.prayer-paper table td{line-height:1.4;padding:5px 3px}.evaluation-paper table td,.evaluation-paper table th{line-height:1.3}.report-paper .paper-symbol{color:#000}
