:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1e2528;font-synthesis:none;text-rendering:geometricprecision;background:#f6f5f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#ffffff9e,#f6f5f1e0),#f6f5f1;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.6}.login-shell{isolation:isolate;background:linear-gradient(90deg,#12181bd6,#12181b6b 45%,#12181bb8),linear-gradient(#0d12161f,#0d1216a8),url(/assets/login-school-bg-BIs9CKNX.png) 50%/cover no-repeat;grid-template-columns:minmax(320px,1fr) minmax(420px,650px);align-items:center;gap:42px;height:100dvh;min-height:100dvh;padding:34px 66px;display:grid;position:relative;overflow:hidden}.login-shell:after{z-index:-1;content:"";background:radial-gradient(circle at 22% 20%,#1cb7a438,#0000 32%),radial-gradient(circle at 72% 70%,#c17a1c2e,#0000 34%);position:absolute;inset:0}.login-hero,.login-panel{z-index:1;position:relative}.login-hero{color:#fff;align-content:center;gap:26px;max-width:780px;display:grid}.login-brand-pill,.login-hero-chip{color:#f6fbfa;background:#ffffff29;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:12px;width:fit-content;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffff2e}.login-brand-pill{min-height:56px;padding:0 24px}.login-logo-mini{object-fit:contain;background:#ffffffeb;border-radius:5px;width:34px;height:24px;padding:3px}.login-brand-pill svg,.login-hero-chip svg{color:#48d0bf}.login-hero h1{color:#78bac2d6;letter-spacing:0;margin:0;font-size:62px;font-weight:900;line-height:.98}.login-hero p{color:#ffffffd1;max-width:730px;margin:0;font-size:23px;line-height:1.45}.login-hero-chip{background:#ffffff24;border-radius:8px;min-height:58px;padding:0 22px}.login-panel{color:#f8faf8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(145deg,#24252af0,#2a1f24e6),#191b1feb;border:1px solid #ffffff29;border-radius:28px;justify-self:end;width:min(620px,100%);padding:38px 48px 24px;box-shadow:0 34px 86px #0000006b}.login-card-mark{color:#43d0c2;justify-items:center;gap:6px;margin-bottom:18px;display:grid}.login-logo-card{object-fit:contain;background:#fff;border-radius:14px;width:min(280px,78%);height:112px;padding:16px;box-shadow:0 18px 42px #0003}.login-card-mark span{color:#d4f6f1db;text-transform:uppercase;font-size:13px;font-weight:800}.login-panel h2{color:#fff;text-align:center;margin:0;font-size:38px;line-height:1.1}.login-panel>p{color:#f4f6fabd;text-align:center;max-width:500px;margin:10px auto 22px;font-size:18px;line-height:1.5}.login-form{gap:14px;display:grid}.login-form label{color:#eef4f2;gap:9px;font-size:15px}.login-form input{color:#142027;background:#e8f1ff;border:1px solid #ffffff14;border-radius:18px;min-height:58px;padding:15px 22px;font-size:16px}.login-form input:focus{border-color:#43d0c2;box-shadow:0 0 0 4px #43d0c22e}.login-submit{color:#112529;background:linear-gradient(90deg,#43c9bc,#158b7f);border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;min-height:58px;font-size:20px;font-weight:900;display:inline-flex;box-shadow:0 20px 44px #22bdae38}.login-submit:disabled{cursor:progress;opacity:.74}.login-meta{color:#eef2f6ad;text-align:center;text-transform:uppercase;border-top:1px solid #ffffff1f;gap:10px;margin-top:18px;padding-top:16px;font-size:13px;display:grid}.login-meta strong{color:#fff;font-size:14px}.login-secondary-link,.consult-admin-link{color:#d7fbf6;background:#ffffff14;border:1px solid #ffffff29;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.login-secondary-link:hover,.consult-admin-link:hover{background:#ffffff24}.consult-shell{background:linear-gradient(90deg,#101619e0,#10161985 46%,#f6f5f1eb),url(/assets/login-school-bg-BIs9CKNX.png) 50%/cover no-repeat;grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr);gap:36px;min-height:100dvh;padding:34px 58px;display:grid}.consult-hero{color:#fff;align-content:center;justify-items:start;gap:20px;display:grid}.consult-hero h1{color:#97d5dbf0;letter-spacing:0;max-width:620px;margin:0;font-size:clamp(42px,6vw,70px);font-weight:900;line-height:.98}.consult-hero p{color:#ffffffd1;margin:0;font-size:22px}.consult-admin-link{min-height:48px;padding:0 18px}.consult-panel{background:#fffdf8f5;border:1px solid #dfddd4;border-radius:16px;align-self:center;min-width:0;max-height:calc(100dvh - 68px);padding:24px;overflow:auto;box-shadow:0 30px 80px #161a1c47}.consult-header{align-items:center;gap:18px;margin-bottom:20px;display:flex}.consult-header .login-logo-card{flex:none;width:164px;height:76px;padding:10px;box-shadow:0 10px 24px #1c24261f}.consult-header span{color:#168c7e;text-transform:uppercase;font-size:13px;font-weight:900}.consult-header h2{letter-spacing:0;margin:2px 0 0;font-size:31px}.consult-form label{color:#34413f;font-size:14px}.consult-search-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.consult-search-row input{min-height:48px}.consult-search-row .primary-button{justify-content:center;min-width:160px}.consult-notice{width:100%;margin-top:14px}.consult-empty{color:#62716e;text-align:center;background:#fffdf8;border:1px dashed #d9d5cb;border-radius:8px;place-items:center;gap:12px;min-height:220px;margin-top:18px;display:grid}.consult-empty svg{color:#168c7e}.consult-results{gap:18px;margin-top:18px;display:grid}.consult-student-card{background:#fff;border:1px solid #e5e1d8;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.consult-student-card span,.consult-grade span{color:#6d7775;font-size:13px;font-weight:800}.consult-student-card h3{letter-spacing:0;margin:4px 0;font-size:25px}.consult-student-card p{color:#46524f;margin:0}.consult-grade{text-align:right;justify-items:end;gap:4px;min-width:180px;display:grid}.consult-grade strong{color:#12675e;font-size:18px}.consult-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.consult-summary-grid article{background:#fbfaf6;border:1px solid #e5e1d8;border-radius:8px;align-content:center;gap:8px;min-height:94px;padding:16px;display:grid}.consult-summary-grid span{color:#66706d;text-transform:uppercase;font-size:13px;font-weight:800}.consult-summary-grid strong{color:#1e2528;font-size:26px}.consult-section{min-width:0}.consult-table-wrap{background:#fff;border:1px solid #e5e1d8;border-radius:8px;width:100%;overflow:auto}.consult-table-wrap table{min-width:690px}.brand-mark{color:#fff;background:#168c7e;border-radius:8px;place-items:center;width:62px;height:62px;display:grid}.brand-mark.small{width:42px;height:42px}.app-shell{grid-template-columns:278px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fffdf8;border-right:1px solid #dfddd4;flex-direction:column;gap:18px;height:100vh;padding:20px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;min-height:58px;display:flex}.sidebar-brand strong,.sidebar-brand span{text-overflow:ellipsis;white-space:nowrap;max-width:176px;display:block;overflow:hidden}.sidebar-brand span{color:#697270;font-size:13px}.sidebar nav{gap:6px;display:grid}.sidebar nav button,.ghost-button,.icon-text-button{color:#33403f;background:0 0;border:0;border-radius:7px;justify-content:flex-start;align-items:center;gap:9px;min-height:38px;padding:9px 11px;display:inline-flex}.sidebar nav button.active{color:#0d5f58;background:#e7f4ef}.logout{margin-top:auto}.content{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.topbar h1{letter-spacing:0;margin:2px 0 0;font-size:clamp(24px,3vw,34px)}.eyebrow{color:#7d6a44;text-transform:uppercase;font-size:13px;font-weight:700}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.notice{color:#176a60;background:#eaf5f2;border-radius:7px;align-items:center;min-height:34px;padding:7px 11px;font-size:13px;display:inline-flex}.notice.error{color:#a6422d;background:#fff0ec;margin-top:16px}.loading-line{background:#e6e1d7;border-radius:999px;width:100%;height:3px;margin:-10px 0 18px;overflow:hidden}.loading-line:after{content:"";background:#168c7e;width:34%;height:100%;animation:1.1s ease-in-out infinite loading;display:block}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(320%)}}.view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.metric-grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;display:grid}.metric-card,.panel{background:#ffffffdb;border:1px solid #dfddd4;border-radius:8px;box-shadow:0 12px 28px #2a2d2b0f}.metric-card{align-content:space-between;gap:10px;min-height:128px;padding:18px;display:grid}.metric-card span{color:#65716f;font-size:14px}.metric-card strong{letter-spacing:0;font-size:28px}.metric-card.mint svg{color:#168c7e}.metric-card.gold svg{color:#b37318}.metric-card.rose svg{color:#b34b43}.metric-card.blue svg{color:#3a72a7}.panel{min-width:0;padding:18px}.panel.wide{grid-column:1/-1}.section-title{justify-content:space-between;align-items:center;gap:12px;min-height:36px;margin-bottom:14px;display:flex}.section-title h2{letter-spacing:0;margin:0;font-size:18px}.section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.chart-box{width:100%;height:300px}.stack-form,.grid-form{gap:12px;display:grid}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}label{color:#56615f;gap:6px;font-size:13px;font-weight:700;display:grid}input,select,textarea{color:#1f2729;background:#fff;border:1px solid #d8d4ca;border-radius:7px;outline:none;width:100%;min-height:40px;padding:9px 10px}textarea{resize:vertical;min-height:128px}input:focus,select:focus,textarea:focus{border-color:#168c7e;box-shadow:0 0 0 3px #168c7e24}.span-2{grid-column:span 2}.primary-button,.icon-button{color:#fff;background:#168c7e;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;font-weight:800;display:inline-flex}.primary-button:disabled,.ghost-button:disabled,.icon-button:disabled,.icon-text-button:disabled{cursor:not-allowed;opacity:.58}.icon-button{width:40px;padding:0}.icon-button.danger{color:#a44336;background:#fff0ec}.icon-text-button{color:#176a60;background:#eaf5f2;font-size:13px;font-weight:800}.ghost-button{background:#fff;border:1px solid #d9d5cb}.icon-button.muted{color:#2f3b3a;background:#f2eee6}.form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.table-wrap{border:1px solid #e5e1d8;border-radius:8px;width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #ebe7df;padding:11px 12px}th{color:#66706d;text-transform:uppercase;background:#fbfaf6;font-size:12px}td{color:#273133;font-size:14px}tr:last-child td{border-bottom:0}.pill{color:#5d5b52;background:#ece8dd;border-radius:999px;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.pill-active,.pill-paid,.pill-accepted,.pill-issued,.pill-applied,.pill-present{color:#12675e;background:#e3f4ee}.pill-pending,.pill-not-sent,.pill-partial,.pill-draft,.pill-sent,.pill-late,.pill-trial,.pill-past-due{color:#8a5a09;background:#fff5db}.pill-rejected,.pill-inactive,.pill-cancelled,.pill-void,.pill-absent,.pill-suspended{color:#a44336;background:#fff0ec}.pill-justified{color:#2f6794;background:#e7f1fb}.pill-unexcused{color:#7f1d1d;background:#ffe7e7}.pill-unmarked{color:#5d5b52;background:#ece8dd}.soft-search{color:#687270;align-items:center;gap:8px;font-size:13px;display:inline-flex}.muted-line{color:#6d7775;margin-top:3px;font-size:12px}.table-toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin:-4px 0 14px;display:flex}.toolbar-field{flex:260px;min-width:min(320px,100%)}.toolbar-field.compact{flex:0 180px;max-width:220px}.tab-list{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tab-list button{color:#495452;background:#fff;border:1px solid #d9d5cb;border-radius:999px;min-height:34px;padding:7px 12px}.tab-list button.active{color:#12675e;background:#e7f4ef;border-color:#168c7e;font-weight:800}.row-actions{align-items:center;gap:8px;display:flex}.attendance-toolbar{grid-template-columns:minmax(180px,220px) repeat(2,minmax(160px,1fr));gap:12px;margin-bottom:14px;display:grid}.attendance-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px;display:grid}.attendance-summary div{background:#fffdf8;border:1px solid #ebe7df;border-radius:8px;align-content:center;gap:4px;min-height:64px;padding:10px 12px;display:grid}.attendance-summary span{color:#6d7774;text-transform:uppercase;font-size:12px;font-weight:800}.attendance-summary strong{font-size:24px}.attendance-table table{min-width:1120px}.attendance-table th{text-align:center}.attendance-table th:first-child,.attendance-table th:nth-child(2){text-align:left}.attendance-table td:first-child{gap:3px;display:grid}.attendance-table td:first-child span{color:#6f7775;font-size:12px}.attendance-table input,.attendance-table select{min-height:36px}.qr-card-preview{text-align:center;justify-items:center;gap:10px;display:grid}.qr-card-preview strong{font-size:20px}.qr-card-preview span{color:#65716f;font-weight:800}.qr-card-preview img{background:#fff;border:1px solid #ebe7df;border-radius:8px;width:min(320px,100%);padding:10px}.qr-scan-layout{grid-template-columns:minmax(280px,1fr) minmax(240px,320px);align-items:start;gap:16px;display:grid}.qr-reader{background:#111;border:1px solid #e5e1d8;border-radius:8px;min-height:320px;overflow:hidden}.attendance-check-cell{text-align:center}.attendance-check{border:2px solid var(--status-color,#168c7e);color:#fff;background:#fff;border-radius:999px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.attendance-check.active{background:var(--status-color,#168c7e);box-shadow:0 0 0 4px #168c7e1f}.summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.summary-list div{background:#fffdf8;border:1px solid #ebe7df;border-radius:8px;align-content:center;gap:5px;min-height:66px;padding:12px;display:grid}.summary-list span{color:#6d7774;text-transform:uppercase;font-size:12px;font-weight:800}.summary-list strong{overflow-wrap:anywhere}.modal-backdrop{z-index:40;background:#1c21217a;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal-panel{background:#fffdf8;border:1px solid #d8d4ca;border-radius:8px;width:min(720px,100%);max-height:min(88vh,860px);overflow:hidden;box-shadow:0 30px 90px #1418184d}.modal-panel.modal-wide{width:min(880px,100%)}.modal-header{border-bottom:1px solid #ebe7df;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.modal-header h2{margin:0;font-size:20px}.modal-body{max-height:calc(min(88vh,860px) - 74px);padding:18px;overflow:auto}.modal-tabs{background:#f7f4ee;border:1px solid #d9d5cb;border-radius:8px;gap:6px;margin-bottom:16px;padding:4px;display:inline-flex}.modal-tabs button{color:#4b5654;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:8px 12px;font-weight:800;display:inline-flex}.modal-tabs button.active{color:#12675e;background:#fff;box-shadow:0 1px 4px #272b2814}.empty-state{color:#6e7775;background:#fffdf8;border:1px dashed #d9d5cb;border-radius:8px;place-items:center;min-height:124px;display:grid}.document-preview{background:#fffdf8;border:1px solid #e5e1d8;border-radius:8px;margin-top:14px;padding:16px}.document-preview strong{margin-bottom:8px;display:block}.document-preview p{color:#444d4b;white-space:pre-wrap;margin:0;line-height:1.6}@media (width<=1180px){.login-shell{grid-template-columns:minmax(280px,.9fr) minmax(390px,520px);gap:28px;padding:28px}.login-hero h1{font-size:50px}.login-hero p{font-size:20px}.login-panel{padding:44px 36px 28px}.consult-shell{grid-template-columns:minmax(280px,.72fr) minmax(480px,1.28fr);gap:24px;padding:28px}}@media (width<=1080px){.login-shell{grid-template-columns:1fr;align-content:start;gap:20px;height:auto;min-height:100dvh;padding:22px;overflow-y:auto}.login-hero{gap:14px;max-width:100%}.login-brand-pill{min-height:46px;padding:0 18px}.login-hero h1{font-size:42px}.login-hero p{max-width:620px;font-size:18px}.login-hero-chip{min-height:48px}.login-panel{border-radius:22px;justify-self:stretch;width:100%;padding:34px 28px 24px}.login-panel h2{font-size:34px}.consult-shell{background:linear-gradient(#101619d6,#1016197a 34%,#f6f5f1f2),url(/assets/login-school-bg-BIs9CKNX.png) 50%/cover no-repeat;grid-template-columns:1fr;gap:18px;min-height:100dvh;padding:22px}.consult-hero{align-content:start;gap:14px}.consult-hero h1{font-size:42px}.consult-panel{max-height:none}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.logout{margin-top:0}.view-grid,.metric-grid{grid-template-columns:1fr}.attendance-toolbar,.attendance-summary,.table-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.login-shell,.consult-shell{padding:14px}.login-brand-pill,.login-hero-chip,.consult-admin-link{justify-content:center;width:100%}.login-hero h1{font-size:34px}.login-hero p{font-size:16px}.login-panel{padding:28px 18px 20px}.login-logo-card{height:92px;padding:12px}.login-form input,.login-submit{border-radius:14px;min-height:58px}.login-submit{font-size:17px}.consult-panel{border-radius:12px;padding:18px}.consult-header{flex-direction:column;align-items:flex-start}.consult-header .login-logo-card{width:100%;height:84px}.consult-search-row,.consult-summary-grid{grid-template-columns:1fr}.consult-search-row .primary-button{width:100%;min-width:0}.consult-student-card{flex-direction:column;align-items:flex-start}.consult-grade{text-align:left;justify-items:start;min-width:0}.content{padding:18px}.topbar{flex-direction:column;align-items:flex-start}.sidebar nav,.grid-form{grid-template-columns:1fr}.span-2{grid-column:span 1}.metric-card{min-height:108px}.topbar-actions,.form-actions{justify-content:stretch;width:100%}.topbar-actions>button,.form-actions>button{flex:auto}.summary-list,.attendance-toolbar,.attendance-summary,.qr-scan-layout{grid-template-columns:1fr}.table-toolbar{flex-direction:column;align-items:stretch}.toolbar-field,.toolbar-field.compact{width:100%;max-width:none}.modal-backdrop{align-items:end;padding:10px}.modal-panel,.modal-panel.modal-wide{width:100%;max-height:92vh}.modal-tabs{grid-template-columns:1fr;width:100%;display:grid}}
