:root{--background:#f4f7fb;--foreground:#17283c;--card:#fff;--card-foreground:#17283c;--primary:#224d80;--primary-hover:#193b63;--primary-foreground:#fff;--muted:#edf2f7;--muted-foreground:#607086;--border:#dce4ee;--ring:#5c94ce;--surface:#fff;--ink:#17283c;--blue:#255f9e;--soft-blue:#e9f2fc;--success:#247653;--warning:#a86216;--danger:#ad3f3f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #182d480d;--shadow-md:0 10px 30px #182d4817;--content-max:1440px;--sidebar-width:256px}html{background:var(--background);min-width:320px}body{-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,[role=button],select{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid color-mix(in srgb, var(--ring) 35%, transparent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100dvh}.sidebar{width:var(--sidebar-width);flex-basis:var(--sidebar-width);height:100dvh;box-shadow:var(--shadow-sm);padding:22px 14px 16px;position:sticky;top:0;overflow-y:auto}.brand{padding-bottom:20px}.brand-mark{border-radius:var(--radius-md);box-shadow:0 6px 16px #255f9e33}.school-switch{border:1px solid #0000;min-height:52px}.nav-item{border-radius:var(--radius-sm);min-height:44px;font-size:13px}.nav-item:hover{background:#f2f6fb}.nav-item.active{background:var(--soft-blue);color:var(--primary)}.profile{border-radius:var(--radius-md);min-height:62px}.profile:hover{background:#f6f8fb}.profile-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:9px;padding:0;text-decoration:none;display:flex}.profile-main>div:last-child{min-width:0}.profile-main strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.logout-button{border-radius:var(--radius-sm);color:#718198;cursor:pointer;background:0 0;border:0;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.logout-button:hover{background:var(--muted);color:var(--danger)}.logout{box-sizing:content-box;border-radius:var(--radius-sm);margin-right:-8px;padding:10px}.main-content{min-height:100dvh}.topbar{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;height:64px;padding-inline:clamp(18px,3vw,36px);position:sticky;top:0}.icon-btn{border-radius:var(--radius-sm);place-items:center;width:40px;height:40px;display:inline-grid}.icon-btn:hover{background:var(--muted);color:var(--primary)}.role-picker strong{color:var(--foreground)}.page{width:100%;max-width:var(--content-max);padding:clamp(24px,3vw,40px);padding-bottom:56px}.page-header{align-items:center;margin-bottom:28px}.page-header h1{font-size:clamp(26px,3vw,34px);line-height:1.15}.page-header p:last-child{max-width:68ch;line-height:1.55}.eyebrow{color:#607894}.primary-btn,.secondary-btn{border-radius:var(--radius-sm);justify-content:center;min-height:42px;padding:10px 16px;transition:background-color .15s,border-color .15s,transform .15s}.primary-btn{background:var(--primary);box-shadow:0 3px 10px #255f9e33}.primary-btn:hover{background:var(--primary-hover)}.secondary-btn:hover{background:#f7f9fc;border-color:#c9d5e3}.text-btn{border-radius:var(--radius-sm);min-height:40px;padding:8px}input,select,textarea{border-radius:var(--radius-sm);min-height:42px}.panel,.stat-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.panel-head{min-height:72px;padding:18px 20px}.panel-head h2{font-size:15px}.stats-grid{gap:16px}.stat-card{min-height:136px;padding:18px}.stat-card p,.panel-head p,.muted{font-size:12px}.stat-card small{font-size:11px}.table-row{min-height:68px}.table-head{min-height:44px}.filter-bar{border-radius:var(--radius-md);padding:16px}.filter-bar label,.dialog-form label{font-size:12px}.toast{z-index:20;box-shadow:var(--shadow-md);border:1px solid #ffffff1f}.mobile-bottom-nav{display:none}.empty-state{text-align:center;min-height:180px;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 20px;display:flex}.empty-state strong{color:var(--foreground);font-size:15px}.empty-state p{max-width:48ch}.student-directory-row{grid-template-columns:1.2fr .7fr 1fr .8fr}.student-record-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.danger-icon{color:var(--danger)}.form-grid.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid.student-form-grid label{flex-direction:column;gap:6px;display:flex}.form-grid.student-form-grid input,.form-grid.student-form-grid select{width:100%}.student-form-grid [data-slot=select-trigger]{width:100%;min-height:42px}.student-form-wide{grid-column:1/-1;margin:0}.dashboard-onboarding{justify-content:space-between;align-items:flex-start;gap:20px;min-height:190px;padding:24px;display:flex}.dashboard-onboarding .eyebrow{margin:0 0 10px}.dashboard-onboarding h2{margin-bottom:8px;font-size:18px}.dashboard-onboarding p:last-child{max-width:50ch;color:var(--muted-foreground)}.record-editor-shell{background:var(--background);min-height:100dvh}.record-editor-topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(16px,4vw,48px);display:flex}.record-editor-topbar .secondary-btn{text-decoration:none}.compact-brand{padding:0}.record-editor-page{width:min(860px,100%);margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,4vw,32px)}.record-editor-heading{margin-bottom:24px}.record-editor-heading .eyebrow{margin:0 0 8px}.record-editor-heading h1{margin-bottom:8px}.record-editor-heading>p:last-child{color:var(--muted-foreground)}.record-editor-form{padding:clamp(20px,4vw,32px)}.form-section-heading{margin-bottom:16px}.form-section-heading:not(:first-child){border-top:1px solid var(--border);margin-top:30px;padding-top:26px}.form-section-heading h2{margin-bottom:4px;font-size:17px}.form-section-heading p{color:var(--muted-foreground);font-size:12px}.record-editor-form .form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:28px;padding-top:22px;display:flex}.record-editor-form .form-actions a{text-decoration:none}.editor-crumb{align-items:center;gap:10px;min-width:0;display:flex}.workspace-back{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);width:40px;height:40px;color:var(--foreground);flex:0 0 40px;place-items:center;display:grid}.workspace-back:hover{background:var(--muted)}.sidebar .nav-item,.mobile-bottom-nav .nav-item{text-decoration:none}@media (max-width:1100px){:root{--sidebar-width:224px}.page{padding:28px 24px 48px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.sidebar{z-index:12;width:min(330px,88vw);height:100dvh;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:18px 0 44px #182d4833}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:11;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1222356b}.mobile-menu{border-radius:var(--radius-sm);background:var(--muted);place-items:center;width:44px;height:44px;display:inline-grid}.topbar{height:64px}.page{padding:24px 20px 44px}.dashboard-grid,.profile-grid{grid-template-columns:1fr}.primary-btn,.secondary-btn,input,select,textarea{min-height:44px}}@media (max-width:720px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.main-content{overflow:clip}.topbar{height:60px;padding-inline:12px}.top-actions .notification,.role-picker{display:none}.crumb{flex:1;min-width:0;font-size:13px}.crumb span,.crumb b{display:none}.crumb strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.page{padding:20px 14px 32px}.page-header{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:22px}.page-header h1{font-size:26px}.page-header>.primary-btn,.page-header>.secondary-btn,.page-header>div+*{width:100%}.page-header button{min-height:48px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:122px;padding:14px}.stat-card strong{font-size:22px}.dashboard-grid{gap:12px}.panel-head{flex-wrap:wrap;align-items:flex-start;padding:16px}.filter-bar,.filter-bar.compact{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.filter-bar label,.filter-bar select,.filter-bar input,.search-field{width:100%;min-width:0}.search-field input{min-width:0}.table-panel{box-shadow:none;background:0 0;border:0;overflow:visible}.student-table{gap:10px;min-width:0;display:grid}.student-table .table-head{display:none}.student-table .table-row:not(.table-head){border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);min-width:0;box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:14px;display:grid}.student-table .student-cell{min-width:0}.student-table .student-cell strong{overflow-wrap:anywhere}.student-table select{max-width:150px}.table-footer{flex-direction:column;align-items:stretch;gap:12px;padding:14px 0}.table-footer button{width:100%}.student-directory-row{grid-template-columns:minmax(0,1fr) auto!important}.student-directory-row>.muted{grid-column:1/-1}.student-record-actions{grid-column:1/-1;justify-content:flex-start;padding-top:4px}.form-grid.student-form-grid{grid-template-columns:1fr}.dashboard-onboarding{flex-direction:column;min-height:0;padding:18px}.dashboard-onboarding button{width:100%}.record-editor-topbar{height:60px}.compact-brand small{display:none}.record-editor-page{padding:24px 14px}.record-editor-form{padding:18px 14px}.record-editor-form .form-actions{flex-direction:column-reverse}.record-editor-form .form-actions>*{width:100%}.notice-card{padding:16px}.mobile-bottom-nav{z-index:10;height:calc(68px + env(safe-area-inset-bottom));padding:6px 4px env(safe-area-inset-bottom);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;flex-direction:row;justify-content:space-around;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -8px 28px #182d481a}.mobile-bottom-nav .nav-item{text-align:center;flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:0;min-height:56px;padding:5px 2px;font-size:10px}.mobile-bottom-nav .nav-item span{white-space:nowrap;text-overflow:ellipsis;max-width:76px;overflow:hidden}.mobile-bottom-nav .nav-item svg{width:19px;height:19px}.toast{left:14px;right:14px;bottom:calc(82px + env(safe-area-inset-bottom));justify-content:center}}@media (max-width:420px){.stats-grid{grid-template-columns:1fr}.stat-card{min-height:108px}.auth-card{padding:24px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--sidebar-width:244px;--erp-line:#dce3eb;--erp-canvas:#f4f6f9;--erp-navy:#224d80;--erp-surface-radius:12px;--erp-surface-shadow:0 2px 5px #172d4a09;--erp-control-radius:7px;--erp-control-height:42px}.app-shell{background:var(--erp-canvas)}.sidebar{border-right-color:var(--erp-line);background:#f3f6fa;gap:5px;padding:12px 9px}.sidebar .brand{min-height:42px;padding:0 12px 10px}.sidebar .brand-mark{width:28px;height:28px;box-shadow:none;border-radius:8px;font-size:15px}.sidebar .brand strong{letter-spacing:.01em;font-size:15px}.sidebar .school-switch{border-color:var(--erp-line);min-height:68px;box-shadow:var(--shadow-sm);background:#fff;margin:0 0 8px;padding:8px 9px}.sidebar .school-switch-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sidebar .school-switch strong{white-space:normal;overflow-wrap:anywhere;line-height:1.3;display:block;overflow:visible}.sidebar .school-switch [data-slot=select-trigger]{color:#607086;width:100%;height:24px;min-height:24px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:11px}.sidebar .session-trigger-label{white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;min-width:0;overflow:hidden}.sidebar>.eyebrow{margin:10px 7px 4px;font-size:9px}.sidebar .sidebar-bottom{margin:auto 0 0}.sidebar .profile{border:1px solid var(--erp-line);min-height:62px;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;margin:0;padding:9px}.sidebar .nav-item{color:#26374d;border-radius:8px;min-height:38px;padding:8px 9px;font-size:12px}.sidebar .nav-item.active{color:#102f61;background:#e4e9f1}.main-content{width:calc(100vw - var(--sidebar-width));max-width:calc(100vw - var(--sidebar-width));background:var(--erp-canvas);overflow-x:hidden}.topbar{border-color:var(--erp-line);height:54px;box-shadow:0 1px 3px #172d4a0d}.page,.erp-page{width:100%;max-width:none;padding:14px}.page>.page-header,.erp-page-header{border:1px solid var(--erp-line);min-height:82px;box-shadow:var(--shadow-sm);background:#fff;border-radius:0;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:16px 18px;display:flex}.erp-page-header h1{color:#0e1f36;letter-spacing:-.02em;margin:0 0 4px;font-size:20px;line-height:1.2}.erp-breadcrumb{color:#61718a;align-items:center;gap:3px;font-size:12px;display:flex}.erp-breadcrumb a{color:#315a96;text-decoration:none}.erp-page-actions{align-items:center;gap:8px;display:flex}.erp-page-actions .primary-btn{background:var(--erp-navy);min-width:94px;box-shadow:none}.erp-workspace,.erp-form-workspace{border:1px solid var(--erp-line);box-shadow:var(--shadow-sm);background:#fff}.main-content .panel,.main-content .stat-card,.main-content .notice-card,.main-content .profile-card,.main-content .form-panel,.main-content .filter-bar{border:1px solid var(--erp-line);border-radius:var(--erp-surface-radius);box-shadow:var(--erp-surface-shadow);background:#fff}.main-content .panel-head{border-bottom:1px solid var(--erp-line);background:#fbfcfe;min-height:58px;padding:13px 16px}.main-content .panel-head h2{color:#17283c;font-size:14px}.main-content .panel-head p{color:#697a91;margin-top:3px;font-size:11px}.main-content .stat-card{min-height:118px;padding:16px}.main-content .stat-card strong{color:#17283c;font-size:23px}.main-content .stat-icon{border-radius:6px;margin-bottom:14px}.main-content .filter-bar{margin-bottom:14px;padding:12px 14px}.main-content .filter-bar.compact{padding:12px 14px}.main-content .table-panel{border-radius:var(--erp-surface-radius)}.main-content .table-row{border-color:var(--erp-line)}.main-content .table-head{color:#53657f;background:#fbfcfe}.main-content .notice-list{gap:10px}.main-content .notice-card{padding:15px 16px}.main-content .profile-card{padding:18px}.main-content .profile-card [data-slot=input],.main-content .profile-card [data-slot=button]{min-height:44px}.user-management-table .table-row{grid-template-columns:1.3fr 1fr 1fr 1.4fr}.user-row-actions{justify-content:flex-end;gap:8px;display:flex}.erp-delete-button{min-height:44px}@media (max-width:720px){.user-management-table .user-row-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.user-management-table .user-row-actions [data-slot=button]{min-height:44px}}.main-content .report-card{padding:18px}.main-content .report-total{border-radius:6px}.main-content .primary-btn,.main-content .secondary-btn{min-height:var(--erp-control-height);border-radius:var(--erp-control-radius);box-shadow:none;padding:8px 13px;font-size:12px;font-weight:700}.main-content .primary-btn{border:1px solid var(--erp-navy);background:var(--erp-navy);color:#fff}.main-content .primary-btn:hover{background:#123564;border-color:#123564}.main-content .secondary-btn{border:1px solid var(--erp-line);color:#33465f;background:#fff}.main-content .secondary-btn:hover{color:#173f7a;background:#f7f9fc;border-color:#b8c5d5}.main-content .text-btn{border-radius:var(--erp-control-radius);color:#24558f;min-height:34px;padding:6px 8px;font-size:11px}.main-content .text-btn:hover{background:#eef3f9}.main-content .icon-btn{border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);color:#53657f;background:#fff;width:36px;height:36px;padding:0}.main-content .icon-btn:hover{color:#173f7a;background:#f3f6fa;border-color:#b8c5d5}.main-content input:not([data-slot]),.main-content select:not([data-slot]),.main-content textarea:not([data-slot]){min-height:var(--erp-control-height);border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);color:#26374d;box-shadow:none;background:#fff;font-size:12px}.main-content textarea:not([data-slot]){min-height:96px}.main-content input:not([data-slot])::placeholder,.main-content textarea:not([data-slot])::placeholder{color:#8795a8}.main-content input:not([data-slot]):focus,.main-content select:not([data-slot]):focus,.main-content textarea:not([data-slot]):focus{border-color:#7394bd;box-shadow:0 0 0 3px #255f9e1f}.main-content .search-field{min-height:var(--erp-control-height);border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);background:#fff}.main-content .search-field input{background:0 0;border:0;min-height:36px}.main-content .role-badge,.main-content .warning-badge,.main-content .active-status{border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.main-content .day-tabs button,.main-content .status-toggle button,.main-content .erp-form-sections button{border-radius:var(--erp-control-radius)}.main-content .day-tabs button{min-height:36px;padding:7px 12px}.main-content .status-toggle button{min-height:32px;padding:5px 8px}.main-content .attendance-choice{border-radius:var(--erp-control-radius)}.academic-session-table .table-row{grid-template-columns:1fr 1.6fr .8fr .8fr 1fr}.inline-error{border-radius:var(--erp-control-radius);color:#9b3434;background:#fff4f4;border:1px solid #efc5c5;margin:12px 16px;padding:10px 12px;font-size:12px}.erp-empty-state{color:#718198;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:220px;padding:28px;display:flex}.erp-empty-state strong{color:#26374d}.erp-checkbox{align-items:center;flex-direction:row!important;gap:9px!important;display:flex!important}.school-profile-layout{grid-template-columns:280px minmax(0,1fr);gap:14px;display:grid}.school-identity-card{text-align:center;flex-direction:column;align-items:center;padding:28px 20px;display:flex}.school-profile-mark{width:72px;height:72px;color:var(--erp-navy);background:#e9f1fb;border-radius:12px;place-items:center;margin-bottom:16px;font-size:20px;font-weight:800;display:grid;position:relative;overflow:hidden}.school-profile-mark img,.avatar img{object-fit:cover}.avatar{position:relative;overflow:hidden}.image-upload-field{gap:8px;display:grid}.image-upload-label{color:#52657d;font-size:12px;font-weight:700}.image-upload-row{border:1px solid var(--erp-line);border-radius:var(--erp-surface-radius);background:#fff;align-items:center;gap:14px;padding:14px;display:flex}.image-upload-preview{border:1px dashed var(--erp-line);background:var(--muted);width:96px;height:96px;color:var(--muted-foreground);border-radius:12px;flex:0 0 96px;place-items:center;display:grid;position:relative;overflow:hidden}.image-upload-preview img{object-fit:cover}.image-upload-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.image-upload-actions small{color:var(--muted-foreground);flex-basis:100%;font-size:11px;line-height:1.45}.image-crop-dialog{width:min(92vw,640px)}.image-crop-stage{border-radius:var(--erp-surface-radius);background:#111827;min-height:360px;position:relative;overflow:hidden}.image-crop-zoom{align-items:center;gap:12px;padding:4px 2px;display:flex}@media (max-width:720px){.image-upload-row{align-items:flex-start}.image-upload-preview{flex-basis:80px;width:80px;height:80px}.image-upload-actions>*{width:100%}.image-crop-stage{min-height:300px}}.school-identity-card h2{color:#17283c;overflow-wrap:anywhere;max-width:100%;font-size:18px}.school-identity-card .role-badge{margin:8px 0 14px}.school-identity-card p,.school-identity-card small{color:#697a91}.school-details-card{min-width:0}.school-detail-list{grid-template-columns:1fr 1fr;margin:0;display:grid}.school-detail-list>div{border-bottom:1px solid var(--erp-line);min-width:0;padding:16px}.school-detail-list>div:nth-child(odd){border-right:1px solid var(--erp-line)}.school-detail-list dt{color:#697a91;align-items:center;gap:7px;margin-bottom:5px;font-size:11px;display:flex}.school-detail-list dd{color:#26374d;overflow-wrap:anywhere;margin:0;font-size:13px}.school-detail-list a{color:#24558f}.school-detail-list .school-address{border-right:0;grid-column:1/-1}.class-directory-table .table-row{grid-template-columns:1fr 1.5fr .8fr 1fr}.class-directory-table .table-row>div:first-child{flex-direction:column;display:flex}.class-directory-table small{color:var(--muted-foreground)}.section-badges{flex-wrap:wrap;gap:5px;display:flex}.class-loading{gap:10px;padding:16px;display:grid}.class-loading [data-slot=skeleton]{height:52px}.class-form-fields{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.class-sections-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.class-section-list{gap:10px;display:grid}.class-section-row{border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);grid-template-columns:minmax(0,.8fr) 120px minmax(180px,1fr) 36px;align-items:end;gap:10px;padding:12px;display:grid}.timetable-toolbar>[data-slot=select-trigger]{min-width:150px}.timetable-toolbar .day-tabs{flex-wrap:nowrap}.timetable-toolbar.calendar-view .day-tabs{display:none}.timetable-view-toggle{border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);background:var(--muted);align-items:center;gap:2px;padding:2px;display:flex}.timetable-week-grid{border-top:1px solid var(--erp-line);grid-template-columns:76px repeat(6,minmax(132px,1fr));display:grid;overflow-x:auto}.timetable-week-corner,.timetable-week-heading{z-index:1;border-right:1px solid var(--erp-line);border-bottom:1px solid var(--erp-line);min-height:54px;color:var(--foreground);background:#f8fafc;padding:10px;font-size:12px;font-weight:700;position:sticky;top:0}.timetable-week-corner{z-index:2;color:var(--muted-foreground);place-items:center;display:grid;left:0}.timetable-week-heading{text-align:center}.timetable-week-heading.selected{color:var(--primary);background:#eaf2fc}.timetable-week-heading span{color:var(--muted-foreground);margin-top:3px;font-size:10px;font-weight:500;display:block}.timetable-week-row{display:contents}.timetable-week-time{z-index:1;border-right:1px solid var(--erp-line);border-bottom:1px solid var(--erp-line);text-align:center;background:#fbfcfe;min-height:112px;padding:12px 8px;position:sticky;left:0}.timetable-week-time strong,.timetable-week-time span{display:block}.timetable-week-time span{color:var(--muted-foreground);margin-top:3px;font-size:10px}.timetable-week-cell{border-right:1px solid var(--erp-line);border-bottom:1px solid var(--erp-line);background:#fff;align-content:start;gap:6px;min-height:112px;padding:7px;display:grid}.timetable-week-cell.selected{background:#fbfdff}.timetable-calendar-card{border:1px solid #d7e2ef;border-left:3px solid var(--primary);border-radius:var(--erp-control-radius);background:#f8fbff;min-width:0;padding:9px}.timetable-calendar-card>div:first-child{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.timetable-calendar-card strong{overflow-wrap:anywhere;color:var(--foreground);font-size:11px}.timetable-calendar-card>div:first-child span,.timetable-calendar-card p{color:var(--muted-foreground);font-size:9px}.timetable-calendar-card p{margin-top:6px}.timetable-calendar-card-footer{justify-content:space-between;align-items:center;gap:5px;margin-top:7px;display:flex}.timetable-calendar-card .student-record-actions{gap:4px}.timetable-calendar-card .student-record-actions [data-slot=button],.timetable-calendar-card .student-record-actions a{width:28px;height:28px;min-height:28px;padding:0}.timetable-break-row .timetable-week-time{color:#92631d;background:#fff9ed;min-height:50px;padding-block:8px}.timetable-break-cell{border-right:1px solid var(--erp-line);border-bottom:1px solid var(--erp-line);color:#92631d;text-align:center;background:#fff9ed;justify-content:center;align-items:center;gap:6px;min-height:50px;padding:8px;font-size:10px;display:flex}.timetable-break-cell.inactive{background:#fff}.timetable-break-cell svg{width:15px;height:15px}.timetable-break-cell span{color:#a77b38}.timetable-day-agenda{display:none}.timetable-data-table .table-row{grid-template-columns:.8fr 1.2fr 1fr 1fr}.timetable-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.timetable-breaks-summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:68px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--erp-line);background:var(--erp-canvas);display:flex}.timetable-breaks-summary>div{align-items:center;gap:var(--space-3);display:flex}.timetable-breaks-summary>div>svg{width:20px;height:20px;color:var(--primary)}.timetable-breaks-summary span{gap:2px;display:grid}.timetable-breaks-summary strong{color:var(--foreground);font-size:13px}.timetable-breaks-summary small{color:var(--muted-foreground);font-size:11px}.timetable-breaks-loading{padding:var(--space-4);gap:10px;display:grid}.timetable-breaks-loading [data-slot=skeleton]{height:64px}.timetable-breaks-table .table-row{grid-template-columns:minmax(170px,1.15fr) minmax(260px,2fr) minmax(150px,.9fr) auto}.timetable-break-name{align-items:center;gap:10px;min-width:0;display:flex}.timetable-break-name>span{border-radius:var(--erp-control-radius);color:#92631d;background:#fff9ed;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.timetable-break-name svg{width:16px;height:16px}.timetable-break-name>div{gap:2px;min-width:0;display:grid}.timetable-break-name strong{overflow-wrap:anywhere}.timetable-break-name small{color:var(--muted-foreground);font-size:11px}.timetable-break-days-summary{gap:6px}.timetable-break-time{white-space:nowrap;align-items:center;gap:7px;display:flex}.timetable-break-time svg{width:15px;height:15px;color:var(--muted-foreground)}.timetable-break-form-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.5fr) minmax(150px,.75fr) minmax(150px,.75fr);display:grid}.timetable-break-days{margin-top:var(--space-6);padding:var(--space-4);border:1px solid var(--erp-line);border-radius:var(--erp-surface-radius);background:var(--erp-canvas)}.timetable-break-days legend{color:var(--foreground);padding-inline:5px;font-size:14px;font-weight:700}.timetable-break-days>p{color:var(--muted-foreground);margin-bottom:14px;font-size:12px}.timetable-break-days>div{grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;display:grid}.timetable-break-days label{border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);min-height:44px;color:var(--foreground);cursor:pointer;background:#fff;align-items:center;gap:10px;padding:8px 11px;font-size:13px;display:flex}.timetable-break-days label.selected{background:#eef6ff;border-color:#b8d0ee}.teacher-summary-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.teacher-summary-card{align-items:flex-start;gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--erp-line);border-radius:var(--erp-surface-radius);background:var(--card);box-shadow:var(--erp-surface-shadow);display:flex}.teacher-summary-card>span{border-radius:var(--erp-control-radius);background:var(--soft-blue);width:38px;height:38px;color:var(--primary);flex:0 0 38px;place-items:center;display:grid}.teacher-summary-card svg{width:18px;height:18px}.teacher-summary-card div{gap:2px;min-width:0;display:grid}.teacher-summary-card small,.teacher-summary-card p,.teacher-result-count{color:var(--muted-foreground);font-size:11px}.teacher-summary-card strong{color:var(--foreground);font-size:24px;line-height:1.15}.teacher-summary-card p{overflow-wrap:anywhere;line-height:1.4}.teacher-result-count{white-space:nowrap;margin-left:auto}.teacher-loading{padding:var(--space-4);gap:10px;display:grid}.teacher-loading [data-slot=skeleton]{height:72px}.teacher-directory-table .table-row{grid-template-columns:minmax(210px,1.3fr) minmax(190px,1.2fr) minmax(190px,1.2fr) minmax(140px,.8fr) auto}.teacher-directory-table .student-cell,.teacher-directory-table .student-cell>div:last-child{min-width:0}.teacher-directory-table .student-cell small{overflow-wrap:anywhere}.teacher-subjects{align-content:center}.teacher-assignments{gap:4px;min-width:0;display:grid}.teacher-assignments strong{overflow-wrap:anywhere;font-size:12px;font-weight:550}.teacher-assignments small{color:var(--muted-foreground);font-size:11px}.teacher-workload{gap:7px;display:grid}.teacher-workload>div{align-items:baseline;gap:5px;display:flex}.teacher-workload small{color:var(--muted-foreground);font-size:10px}.teacher-workload>span{background:var(--muted);border-radius:999px;height:6px;overflow:hidden}.teacher-workload>span i{border-radius:inherit;background:var(--primary);height:100%;display:block}.teacher-account-banner{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-3);border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);background:var(--erp-canvas);display:flex}.teacher-account-banner>div:nth-child(2){gap:2px;min-width:0;display:grid}.teacher-account-banner span{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:12px}.teacher-account-banner [data-slot=badge]{margin-left:auto}.teacher-form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-subject-editor{gap:var(--space-3);display:grid}.teacher-subject-editor>div{align-items:end;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.teacher-subject-editor>[data-slot=button]{justify-self:start}.teacher-assignment-summary{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-assignment-summary>div{padding:var(--space-4);border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);background:var(--erp-canvas)}.teacher-assignment-summary strong{color:var(--foreground);font-size:13px}.teacher-assignment-summary p{color:var(--muted-foreground);margin-top:6px;font-size:12px;line-height:1.5}.attendance-toolbar>[data-slot=select-trigger]{min-width:140px}.attendance-toolbar>[data-slot=input]{width:160px}.attendance-counts{color:var(--muted-foreground);align-items:center;gap:12px;margin-left:auto;font-size:11px;display:flex}.attendance-counts .present{color:var(--success)}.attendance-counts .absent{color:var(--danger)}.attendance-list-head{border-bottom:1px solid var(--erp-line);justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:12px 14px;display:flex}.attendance-list-head p{color:var(--muted-foreground);margin-top:3px;font-size:11px}.attendance-register-actions{align-items:center;gap:8px;display:flex}.attendance-notify-dialog{max-width:520px}.attendance-notify-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.attendance-notify-channels label,.attendance-notify-recipient{min-height:var(--erp-control-height);border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);cursor:pointer;align-items:center;gap:10px;padding:9px 10px;display:flex}.attendance-notify-channels label:has([data-disabled]){cursor:not-allowed;opacity:.62}.attendance-notify-recipient:has([data-disabled]){cursor:not-allowed;opacity:.62}.attendance-notify-list{border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);max-height:min(42vh,360px);overflow-y:auto}.attendance-notify-list-head{z-index:1;border-bottom:1px solid var(--erp-line);background:var(--background);justify-content:space-between;align-items:center;min-height:42px;padding:5px 10px;display:flex;position:sticky;top:0}.attendance-notify-recipient{border:0;border-bottom:1px solid var(--erp-line);border-radius:0}.attendance-notify-recipient:last-child{border-bottom:0}.attendance-notify-recipient>span{flex-direction:column;gap:2px;min-width:0;display:flex}.attendance-notify-recipient small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.attendance-data-table .table-row{grid-template-columns:1.2fr .7fr 1.5fr 1fr}.attendance-student-details{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.attendance-row-notify{height:28px;min-height:28px;color:var(--primary);margin-top:5px;padding-inline:9px;font-size:11px}.attendance-row-notify svg{width:12px;height:12px}.attendance-status-buttons{flex-wrap:wrap;gap:4px;display:flex}.attendance-status-buttons .attendance-selected.present{color:#247653;background:#e4f7ef}.attendance-status-buttons .attendance-selected.absent{color:#ad3f3f;background:#fce9e7}.attendance-status-buttons .attendance-selected.late{color:#a86216;background:#fff2dd}.attendance-status-buttons .attendance-selected.leave{color:#6952a8;background:#eeeafd}.attendance-card-flow{display:none}@media (max-width:1100px){.attendance-module .attendance-data-table{display:none}.attendance-card-flow{width:min(620px,100%);margin:0 auto;padding:18px;display:block}.attendance-card-progress{color:var(--muted-foreground);justify-content:space-between;gap:12px;font-size:12px;display:flex}.attendance-card-progress strong{color:var(--foreground)}.attendance-progress-track{background:var(--muted);border-radius:999px;height:6px;margin:9px 0 18px;overflow:hidden}.attendance-progress-track span{border-radius:inherit;background:var(--erp-navy);height:100%;transition:width .18s;display:block}.attendance-focus-card{border:1px solid var(--erp-line);text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;min-height:410px;padding:28px;display:flex;box-shadow:0 12px 36px #172d4a1a}.attendance-focus-avatar{width:82px;height:82px;color:var(--erp-navy);background:#e9f1fb;border-radius:50%;place-items:center;font-size:25px;font-weight:800;display:grid;position:relative;overflow:hidden}.attendance-focus-avatar img{object-fit:cover}.attendance-focus-card h2{color:var(--foreground);margin-top:14px;font-size:24px}.attendance-focus-card>p{color:var(--muted-foreground);margin-top:5px}.attendance-current-state{background:var(--muted);color:var(--muted-foreground);border-radius:999px;margin:16px 0;padding:5px 10px;font-size:11px;font-weight:700}.attendance-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-bottom:14px;display:grid}.attendance-card-choice{min-height:58px;font-size:13px}.attendance-card-choice.selected.present{color:#247653;background:#e4f7ef;border-color:#a9dfc5}.attendance-card-choice.selected.absent{color:#ad3f3f;background:#fce9e7;border-color:#efbdbc}.attendance-card-choice.selected.late{color:#a86216;background:#fff2dd;border-color:#edcf9d}.attendance-card-choice.selected.leave{color:#6952a8;background:#eeeafd;border-color:#d5c9f4}.attendance-focus-card>[data-slot=input]{width:100%;margin-top:auto}.attendance-individual-notify{width:100%;margin-top:10px}.attendance-card-navigation{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:14px;display:grid}.attendance-card-navigation>:last-child{justify-self:end}.attendance-card-navigation span{color:var(--muted-foreground);text-align:center;font-size:11px}}@media (max-width:720px){.main-content .primary-btn,.main-content .secondary-btn,.main-content .text-btn,.main-content input:not([data-slot]),.main-content select:not([data-slot]),.main-content textarea:not([data-slot]),.main-content .search-field{min-height:44px}.main-content .icon-btn{width:44px;height:44px}.academic-session-table .table-row:not(.table-head){grid-template-columns:1fr 1fr}.academic-session-table .table-row:not(.table-head)>:first-child{grid-column:1/-1;font-size:14px}.school-profile-layout,.school-detail-list{grid-template-columns:1fr}.school-detail-list>div:nth-child(odd){border-right:0}.school-detail-list .school-address{grid-column:auto}.class-directory-table .table-row:not(.table-head){grid-template-columns:1fr auto}.class-directory-table .section-badges{grid-column:1/-1}.class-form-fields{grid-template-columns:1fr}.class-sections-heading{flex-direction:column;align-items:stretch}.class-section-row{grid-template-columns:minmax(0,1fr) 100px 44px}.class-section-row>[data-slot=field]:nth-child(3){grid-column:1/3}.timetable-toolbar .day-tabs{width:100%;overflow-x:auto}.timetable-toolbar .erp-toolbar-actions{justify-content:space-between;width:100%}.timetable-data-table .table-row:not(.table-head){grid-template-columns:1fr auto}.timetable-form-grid{grid-template-columns:1fr}.timetable-breaks-table .table-row:not(.table-head){grid-template-columns:1fr auto;align-items:center}.timetable-breaks-table .timetable-break-name{grid-column:1}.timetable-breaks-table .student-record-actions{grid-area:1/2}.timetable-breaks-table [data-label]{grid-column:1/-1;grid-template-columns:64px minmax(0,1fr);align-items:center;display:grid}.timetable-breaks-table [data-label]:before{content:attr(data-label);color:var(--muted-foreground);font-size:11px;font-weight:600}.timetable-break-form-grid{grid-template-columns:1fr 1fr}.timetable-break-label-field{grid-column:1/-1}.teacher-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-directory-table .table-row:not(.table-head){grid-template-columns:1fr auto}.teacher-directory-table .student-cell{grid-column:1}.teacher-directory-table .student-record-actions{grid-area:1/2}.teacher-directory-table [data-label]{grid-column:1/-1;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:8px;display:grid}.teacher-directory-table [data-label]:before{content:attr(data-label);color:var(--muted-foreground);font-size:11px;font-weight:600}.attendance-toolbar>[data-slot=select-trigger],.attendance-toolbar>[data-slot=input]{width:100%}.attendance-counts{justify-content:space-between;width:100%;margin-left:0}.attendance-list-head{flex-direction:column;align-items:stretch}.attendance-register-actions{grid-template-columns:1fr;display:grid}.attendance-register-actions>button{width:100%}.attendance-notify-channels{grid-template-columns:1fr}.attendance-data-table .table-row:not(.table-head){grid-template-columns:1fr auto}.attendance-data-table .attendance-status-buttons,.attendance-data-table .table-row:not(.table-head)>[data-slot=input]{grid-column:1/-1}.attendance-status-buttons{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.attendance-card-flow{padding:14px 10px}.attendance-focus-card{min-height:390px;padding:22px 16px}.attendance-card-navigation{grid-template-columns:1fr 1fr}.attendance-card-navigation span{grid-area:1/1/auto/-1}.attendance-card-navigation>:first-child{grid-area:2/1}.attendance-card-navigation>:last-child{grid-area:2/2;width:100%}}@media (max-width:1100px){.timetable-week-grid{display:none}.timetable-day-agenda{border-top:1px solid var(--erp-line);gap:10px;padding:14px;display:grid}.timetable-toolbar.calendar-view .day-tabs{display:flex}.timetable-toolbar .day-tabs button,.timetable-view-toggle [data-slot=button]{min-height:44px}.timetable-agenda-heading{color:var(--foreground);justify-content:space-between;align-items:center;display:flex}.timetable-agenda-heading span{color:var(--muted-foreground);font-size:11px}.timetable-calendar-card{padding:14px}.timetable-calendar-card strong{font-size:13px}.timetable-calendar-card>div:first-child span,.timetable-calendar-card p{font-size:11px}.timetable-calendar-card .student-record-actions [data-slot=button],.timetable-calendar-card .student-record-actions a{width:44px;height:44px;min-height:44px}.timetable-agenda-break{border-radius:var(--erp-control-radius);color:#92631d;background:#fff9ed;border:1px dashed #e2c991;align-items:center;gap:10px;min-height:58px;padding:10px 14px;display:flex}.timetable-agenda-break svg{width:18px;height:18px}.timetable-agenda-break div{flex-direction:column;gap:3px;display:flex}.timetable-agenda-break span{color:#a77b38;font-size:11px}}.erp-table-toolbar{border-bottom:1px solid var(--erp-line);align-items:center;gap:8px;min-height:58px;padding:10px 14px;display:flex}.erp-table-toolbar .search-field{width:min(360px,100%)}.erp-table-toolbar select{min-width:130px;min-height:36px;padding-block:7px}.erp-toolbar-actions{gap:6px;margin-left:auto;display:flex}.erp-toolbar-actions .icon-btn{border:1px solid var(--erp-line);background:#f8fafc;width:36px;height:36px}.erp-table-wrap{overflow-x:auto}.erp-data-table{min-width:760px}.erp-data-table .table-row{border-color:var(--erp-line);min-height:54px;padding:8px 14px;font-size:12px}.erp-data-table .table-head{color:#53657f;background:#fbfcfe;min-height:42px;font-size:10px}.erp-data-table .table-row:not(.table-head):hover{background:#f7f9fc}.erp-table-footer{border-top:1px solid var(--erp-line);color:#4f6078;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 14px;font-size:11px;display:flex}.erp-table-footer select{min-height:34px;margin-left:8px;padding:5px 8px}.erp-pagination{align-items:center;gap:10px;display:flex}.erp-pagination .secondary-btn{min-height:34px;padding:6px 10px;font-size:11px}.erp-form-workspace{grid-template-columns:220px minmax(0,1fr);min-height:520px;padding:16px;display:grid}.erp-form-sections{background:#eef1f6;border-radius:12px;flex-direction:column;align-self:start;gap:2px;padding:8px;display:flex}.erp-form-sections [data-slot=button]{box-shadow:none;border:0}.erp-form-sections [data-slot=button].bg-white{box-shadow:0 1px 4px #1428441f}.erp-form-sections button:not([data-slot=button]){color:#41516a;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:38px;padding:8px 10px}.erp-form-sections button.active:not([data-slot=button]){color:#101d30;background:#fff;font-weight:700;box-shadow:0 1px 4px #1428441f}.erp-record-form{min-width:0;padding:16px 18px 28px}.erp-record-form .form-section-heading{border-bottom:1px solid var(--erp-line);margin:0 0 18px;padding-bottom:14px}.erp-record-form .erp-field-grid{grid-template-columns:1fr;gap:16px}.erp-record-form label{color:#172238;font-size:12px;font-weight:650}.erp-record-form input:not([data-slot]),.erp-record-form select:not([data-slot]){background:#fff;min-height:42px}.editor-crumb .workspace-back{width:34px;height:34px}.navigation-centre-workspace{padding:0}.navigation-centre-heading{border-bottom:1px solid var(--erp-line);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:14px 18px;display:flex}.navigation-centre-heading h2{color:var(--foreground);margin:0 0 3px;font-size:15px}.navigation-centre-heading p{color:var(--muted-foreground);font-size:12px}.navigation-centre-heading>span{border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);color:var(--muted-foreground);background:#f8fafc;padding:4px 8px;font-size:11px}.module-grid{background:var(--erp-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.module-link{min-width:0;color:inherit;text-decoration:none}.module-card{background:var(--card);height:100%;min-height:154px;box-shadow:none;border:0;border-radius:0;gap:0;padding:0;transition:background-color .15s}.module-link:hover .module-card{background:#f7faff}.module-card-content{grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:14px;height:100%;padding:22px;display:grid}.module-icon{background:var(--soft-blue);width:48px;height:48px;color:var(--primary);border:1px solid #cfe0f3;border-radius:12px;place-items:center;display:grid}.module-icon svg{width:24px;height:24px}.module-copy{min-width:0}.module-copy strong{color:var(--foreground);font-size:14px;display:block}.module-copy small{color:var(--muted-foreground);margin-top:5px;font-size:11px;line-height:1.45;display:block}.module-arrow{color:#91a0b3;width:17px;transition:transform .15s,color .15s}.module-link:hover .module-arrow{color:var(--primary);transform:translate(2px)}@media (hover:none) and (pointer:coarse){input,select,textarea,[contenteditable=true],[data-slot=input],[data-slot=select-trigger]{font-size:16px!important}}@media (max-width:900px){.main-content{width:100%;max-width:100%}.page,.erp-page{padding:12px}.erp-form-workspace{grid-template-columns:180px minmax(0,1fr)}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.page,.erp-page{padding:10px}.page>.page-header,.erp-page-header{flex-direction:column;align-items:stretch;min-height:0;padding:14px}.erp-page-header h1{font-size:19px}.erp-page-actions{width:100%}.erp-page-actions>*{flex:1}.erp-table-toolbar{flex-direction:column;align-items:stretch}.erp-table-toolbar .search-field,.erp-table-toolbar select{width:100%}.erp-toolbar-actions{justify-content:flex-end;width:100%;margin-left:0}.erp-table-wrap{overflow:visible}.erp-data-table{min-width:0}.erp-table-footer{flex-direction:column;align-items:stretch}.erp-pagination{justify-content:space-between}.erp-form-workspace{min-height:0;padding:10px;display:block}.erp-form-sections{flex-direction:row;margin-bottom:10px;overflow-x:auto}.erp-form-sections button{flex:none}.erp-record-form{padding:14px 6px 20px}.navigation-centre-heading{min-height:60px;padding:12px 14px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card{min-height:132px}.module-card-content{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:16px 14px;display:flex}.module-icon{border-radius:10px;width:44px;height:44px}.module-icon svg{width:22px;height:22px}.module-copy strong{font-size:13px;line-height:1.3}.module-copy small,.module-arrow{display:none}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px}a:focus-visible{outline:3px solid var(--ring);outline-offset:3px;border-radius:var(--erp-control-radius)}.sidebar{background:var(--card);padding:var(--space-4) var(--space-3);box-shadow:none}.sidebar .school-switch{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--erp-surface-radius);background:var(--erp-canvas);box-shadow:none;flex-shrink:0}.sidebar .school-icon{background:var(--card);border:1px solid var(--erp-line);margin-top:2px}.sidebar .school-switch strong{font-size:13px;line-height:1.5}.sidebar>.eyebrow{margin:var(--space-5) var(--space-3) var(--space-2);color:var(--muted-foreground);letter-spacing:.1em;font-size:10px}.sidebar nav{gap:var(--space-1)}.sidebar .nav-item{min-height:44px;color:var(--muted-foreground);padding:10px 12px;font-size:13px;font-weight:500}.sidebar .nav-item svg{stroke-width:1.7px;flex-shrink:0}.sidebar .nav-item.active{color:var(--primary);background:var(--soft-blue);box-shadow:inset 3px 0 var(--primary);font-weight:650}.sidebar .profile{border:0;border-top:1px solid var(--erp-line);padding:var(--space-4) var(--space-1) 0;box-shadow:none;border-radius:0}.sidebar .avatar{border-radius:var(--erp-control-radius);flex-shrink:0;width:36px;height:36px}.topbar{height:64px;padding-inline:var(--space-5);border-color:var(--erp-line);box-shadow:none;background:var(--card)}.crumb{color:var(--muted-foreground);font-size:13px}.crumb strong{color:var(--foreground);font-weight:600}.role-picker{gap:var(--space-2);border:0;font-size:12px}.role-picker strong{border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);padding:5px 10px;font-weight:500}.page,.erp-page{padding:var(--space-5)}.page>.page-header,.erp-page-header{min-height:104px;margin-bottom:var(--space-5);padding:20px var(--space-5);border-radius:var(--erp-surface-radius);box-shadow:var(--erp-surface-shadow)}.erp-page-heading{gap:var(--space-2);min-width:0;display:grid}.erp-page-header h1{color:var(--foreground);letter-spacing:-.035em;overflow-wrap:anywhere;margin:0;font-size:28px;font-weight:650}.erp-breadcrumb{flex-flow:wrap;gap:6px;font-size:12px}.erp-breadcrumb svg{flex-shrink:0}.erp-breadcrumb [aria-current]{color:var(--muted-foreground)}.erp-workspace,.erp-form-workspace,.main-content [data-slot=card]{border-radius:var(--erp-surface-radius);border-color:var(--erp-line);box-shadow:var(--erp-surface-shadow)}.erp-workspace{overflow:clip}.main-content :is([data-slot=button],.primary-btn,.secondary-btn){min-height:var(--erp-control-height);border-radius:var(--erp-control-radius);font-size:13px;font-weight:600}.main-content :is([data-slot=input],[data-slot=select-trigger],[data-slot=textarea],input:not([data-slot]),select:not([data-slot]),textarea:not([data-slot])){min-height:var(--erp-control-height);border-radius:var(--erp-control-radius);border-color:var(--erp-line);color:var(--foreground);font-size:14px}.main-content :is(input,textarea)::placeholder{color:var(--muted-foreground);opacity:.85}.main-content .search-field{background:var(--card);border-color:var(--erp-line)}.main-content .search-field input{box-shadow:none;background:0 0;border:0}.main-content .search-field:focus-within{outline:2px solid var(--ring);outline-offset:2px}.erp-table-toolbar{padding:var(--space-4);gap:var(--space-3);background:var(--card);flex-wrap:wrap}.erp-data-table .table-row{min-height:64px;padding:12px var(--space-4);color:var(--foreground);font-size:14px}.erp-data-table .table-head{background:var(--erp-canvas);min-height:44px;color:var(--muted-foreground);letter-spacing:.055em;font-size:11px;font-weight:650}.erp-data-table .student-cell strong{color:var(--foreground);white-space:normal;overflow-wrap:anywhere;font-size:14px;font-weight:600}.erp-data-table .student-cell small,.erp-data-table .muted{color:var(--muted-foreground);font-size:12px}.erp-table-footer{padding:var(--space-4);color:var(--muted-foreground);background:var(--card);font-size:12px}.erp-form-workspace{gap:var(--space-4);padding:var(--space-4);grid-template-columns:192px minmax(0,1fr)}.erp-form-sections{border-radius:var(--erp-control-radius);background:var(--erp-canvas);padding:var(--space-2)}.erp-record-form{padding:var(--space-4) var(--space-5) var(--space-6)}.erp-record-form .form-section-heading{padding-bottom:var(--space-4);margin-bottom:var(--space-5)}.form-section-heading h2{color:var(--foreground);font-size:18px;font-weight:600}.form-section-heading p{margin-top:var(--space-1);font-size:13px;line-height:1.6}.erp-record-form label,.erp-record-form [data-slot=field-label]{color:var(--foreground);font-size:13px;font-weight:550}.erp-empty-state{gap:var(--space-3);min-height:260px;color:var(--muted-foreground)}.erp-empty-state>svg{width:30px;height:30px}.erp-empty-state strong{color:var(--foreground);font-size:16px}.erp-empty-state p{max-width:48ch;font-size:14px}.navigation-centre-heading{padding:var(--space-5);gap:var(--space-4);align-items:center}.navigation-centre-heading .workspace-kicker{margin:0 0 var(--space-2);color:var(--muted-foreground);letter-spacing:.12em;font-size:10px;font-weight:650}.navigation-centre-heading h2{letter-spacing:-.025em;font-size:21px;font-weight:600}.navigation-centre-heading p{margin-top:var(--space-1);font-size:13px}.navigation-centre-heading [data-slot=badge]{color:var(--muted-foreground);flex-shrink:0;font-size:12px}.module-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5) 0;display:flex}.module-search{align-items:center;width:min(360px,100%);display:flex;position:relative}.module-search>svg{color:var(--muted-foreground);pointer-events:none;position:absolute;left:12px}.module-search [data-slot=input]{width:100%;padding-left:38px}.module-toolbar>span{color:var(--muted-foreground);white-space:nowrap;font-size:12px}.module-grid{gap:var(--space-4);padding:var(--space-5);background:var(--card);grid-template-columns:repeat(3,minmax(0,1fr))}.main-content .module-card{border:1px solid var(--erp-line);border-radius:var(--erp-surface-radius);background:var(--card);min-height:182px;box-shadow:var(--erp-surface-shadow)}.module-card-content{align-content:start;align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto;padding:20px;display:grid}.module-icon{border:1px solid var(--erp-line);border-radius:var(--erp-control-radius);background:var(--erp-canvas);width:44px;height:44px;color:var(--primary)}.module-copy{grid-area:2/1/auto/-1}.module-copy strong{font-size:15px;font-weight:600}.module-copy small{margin-top:6px;font-size:12px;line-height:1.6;display:block}.module-arrow{color:var(--muted-foreground);grid-area:1/2;margin-top:12px;display:block}.module-link:hover .module-card,.module-link:focus-visible .module-card{border-color:var(--primary);background:var(--soft-blue)}.module-link:focus-visible{outline-offset:4px}.attendance-focus-card{border-radius:var(--erp-surface-radius);box-shadow:var(--erp-surface-shadow)}.auth-login-panel .auth-card{border-color:var(--erp-line);box-shadow:var(--shadow-md)}.auth-showcase{background:var(--erp-navy)}.auth-showcase:before,.auth-showcase:after{display:none}.auth-showcase h1{letter-spacing:-.035em;font-size:clamp(34px,3.8vw,54px);line-height:1.12}.auth-showcase-description{font-size:15px}@media (min-width:1500px){.module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1100px){.page,.erp-page{padding:var(--space-4)}.module-grid{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.module-card-content{padding:var(--space-4)}.erp-table-toolbar{gap:var(--space-2)}}@media (max-width:900px){.sidebar-backdrop{display:block}.sidebar{box-shadow:var(--shadow-md)}.erp-form-workspace{grid-template-columns:160px minmax(0,1fr)}.erp-record-form{padding-inline:var(--space-3)}}@media (max-width:720px){.topbar{height:60px;padding-inline:var(--space-3)}.page,.erp-page{padding:var(--space-3)}.page>.page-header,.erp-page-header{min-height:0;padding:var(--space-4);margin-bottom:var(--space-4);gap:var(--space-4)}.erp-page-header h1{font-size:26px}.erp-page-actions{flex-wrap:wrap}.erp-page-actions>*{min-width:0}.erp-form-workspace{padding:var(--space-3);display:block}.erp-record-form{padding:var(--space-4) var(--space-1)}.erp-table-toolbar,.erp-table-footer{padding:var(--space-3)}.erp-data-table .table-row:not(.table-head){padding:var(--space-4);border-radius:var(--erp-surface-radius)}.erp-data-table{padding:var(--space-2)}.timetable-breaks-summary{align-items:flex-start}.timetable-breaks-summary small{max-width:210px}.timetable-break-days>div{grid-template-columns:1fr 1fr}.teacher-summary-grid{grid-template-columns:1fr}.teacher-result-count{width:100%;margin-left:0}.teacher-form-grid,.teacher-assignment-summary{grid-template-columns:1fr}.navigation-centre-heading{padding:var(--space-4);flex-wrap:wrap;align-items:flex-start}.navigation-centre-heading h2{font-size:19px}.module-toolbar{padding:var(--space-4) var(--space-3) 0}.module-toolbar>span{display:none}.module-search{width:100%}.module-grid{padding:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.main-content .module-card{min-height:208px}.module-card-content{align-content:start;justify-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-3);text-align:center;grid-template-columns:minmax(0,1fr);display:grid}.module-icon{border-radius:var(--erp-surface-radius);background:var(--soft-blue);width:48px;height:48px}.module-icon svg{width:24px;height:24px}.module-copy{width:100%}.module-copy strong{overflow-wrap:anywhere;font-size:14px;line-height:1.45}.module-copy small{overflow-wrap:anywhere;font-size:12px;line-height:1.5;display:block}.module-arrow{display:none}.mobile-bottom-nav{box-shadow:var(--shadow-sm);background:var(--card)}.mobile-bottom-nav .nav-item.active{background:var(--soft-blue);color:var(--primary)}.auth-login-shell{background:var(--erp-canvas)}}@media (pointer:coarse),(max-width:720px){:root{--erp-control-height:44px}.main-content :is([data-slot=button],.icon-btn,.secondary-btn,.primary-btn),.sidebar .logout-button{min-height:44px}.main-content .icon-btn{min-width:44px}.sidebar .school-switch [data-slot=select-trigger]{height:auto;min-height:44px}input,select,textarea,[contenteditable=true],[data-slot=select-trigger]{font-size:16px!important}}
