:root{--bg:#edf3f8;--surface:#fff;--surface-2:#eef3f8;--text:#0d2748;--muted:#4f5f74;--line:#d4dce8;--primary:#173a62;--primary-2:#0c2c50;--accent:#b78b1f;--danger:#b42318;--shadow:0 12px 28px #0d27481a;--sidebar:#183348;--sidebar-active:#2b4f7f}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:linear-gradient(#f8fbff 0%,#d9e3ef 46%,#2b4f77 100%);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.login-screen{background:linear-gradient(#f8fafc 0%,#e8eef5 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:28px;display:grid}.brand-block{align-items:center;gap:12px;min-height:44px;display:flex}.login-brand{margin-bottom:8px}.brand-logo{object-fit:contain;background:#fff;border-radius:8px;width:42px;height:42px;padding:5px;display:block}.brand-block strong,.brand-block small{display:block}.brand-block small{color:var(--muted);margin-top:2px}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{background:var(--sidebar);border-right:1px solid #ffffff14;grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px;height:100vh;padding:24px 8px 18px;display:grid;position:sticky;top:0}.sidebar-collapse-button{z-index:4;width:30px;height:34px;color:var(--primary-2);background:#fff;border:1px solid #b9c5d6;border-radius:6px;place-items:center;padding:0;display:inline-grid;position:absolute;top:76px;right:-15px;box-shadow:0 4px 12px #0d274829}.sidebar-collapse-button:hover{background:#eef3f8}.sidebar-collapsed .sidebar{padding-left:6px;padding-right:6px}.sidebar-collapsed .sidebar .brand-block{justify-content:center;padding:0}.sidebar-collapsed .sidebar .brand-block>div,.sidebar-collapsed .sidebar .nav-item span,.sidebar-collapsed .sidebar .logout-button span,.sidebar-collapsed .sidebar .sidebar-scroll-button span{display:none}.sidebar-collapsed .sidebar .nav-item,.sidebar-collapsed .sidebar .logout-button{text-align:center;grid-template-columns:1fr;justify-items:center;gap:0;padding:12px 0}.sidebar-collapsed .sidebar .nav-item.active{border-left-width:3px;padding-left:0}.sidebar-collapsed .sidebar .logout-button,.sidebar-collapsed .sidebar .sidebar-scroll-button{margin-left:6px;margin-right:6px}.sidebar .brand-block{padding:0 18px}.sidebar .brand-block strong{color:#fff;font-size:18px;line-height:1.15}.sidebar .brand-block small{color:#ffffffb8;letter-spacing:1.7px;text-transform:uppercase;font-size:12px}.sidebar nav{align-content:start;gap:4px;display:grid}.sidebar-nav-scroll{scroll-behavior:smooth;min-height:0;padding-right:2px;overflow:hidden}.sidebar-scroll-button{color:#ffffffdb;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;margin:0 10px;font-weight:700;display:inline-flex}.sidebar-scroll-button:hover{background:#ffffff21}.nav-item,.logout-button{color:#ffffffc7;text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:22px 1fr;align-items:center;gap:12px;min-height:40px;padding:12px 18px;font-size:16px;display:grid}.nav-item:hover,.logout-button:hover{background:#ffffff14}.nav-item.active{background:var(--sidebar-active);color:#fff;border-left:4px solid #fff;padding-left:14px;font-weight:700}.logout-button{background:var(--sidebar-active);color:#fff;border-radius:8px;margin:0 10px}.main-area{min-width:0;padding:34px 32px 48px}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:64px;margin-bottom:40px;display:flex}.topbar h1,.section-header h2{letter-spacing:0;margin:0;font-size:22px}.topbar h1{color:var(--primary-2);font-size:34px;line-height:1.08}.topbar p,.section-header p{color:#173a62;margin:4px 0 0;font-size:17px;line-height:1.35}.duplicate-section-topbar{display:none}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.student-welcome{grid-column:1/-1;gap:4px;margin-bottom:20px;display:grid}.student-home-topbar,.teacher-home-topbar{display:none}.teacher-home-page{gap:28px;display:grid}.teacher-welcome h1{color:var(--primary-2);margin:0;font-size:34px;line-height:1.1}.teacher-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.teacher-metric{border:1px solid #b9c9e0;border-left:4px solid var(--primary-2);min-height:158px;color:var(--primary-2);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;padding:24px 26px;display:flex}.teacher-metric>div{gap:8px;display:grid}.teacher-metric span{color:#3f4652;letter-spacing:.8px;text-transform:uppercase;font-size:12px}.teacher-metric strong{color:var(--primary-2);font-size:48px;line-height:1}.teacher-metric small{color:#138a47;font-size:13px}.teacher-metric svg{box-sizing:content-box;background:#dce8fb;border-radius:5px;padding:10px}.teacher-metric-orange{border-left-color:#f04b23}.teacher-metric-orange svg{color:#c43213}.teacher-metric-light{border-left-color:#8aa9df}.teacher-metric-light small{color:#d0442c}.teacher-home-table{min-width:0;box-shadow:var(--shadow);background:#fff;border:1px solid #d3ddec;border-radius:8px;overflow:hidden}.teacher-home-section-heading{justify-content:space-between;align-items:center;min-height:72px;padding:0 24px;display:flex}.teacher-home-section-heading>div{color:var(--primary-2);align-items:center;gap:10px;display:flex}.teacher-home-section-heading h2{color:var(--primary-2);margin:0;font-size:23px}.teacher-home-table .table-wrap{border:0;border-radius:0}.teacher-home-table table{min-width:0}.teacher-home-table th{color:var(--primary-2);background:#dce8fb;font-size:14px}.teacher-home-table td{color:#10233f;padding:17px 24px;font-size:15px}.teacher-grades-page{gap:24px;display:grid}.teacher-grades-top{grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr);align-items:stretch;gap:32px;display:grid}.teacher-grade-entry-panel,.teacher-close-panel{min-width:0;padding:32px}.teacher-grade-heading{align-items:center;gap:12px;margin-bottom:32px;display:flex}.teacher-grade-heading h2,.teacher-assigned-heading h2{color:#10233f;margin:0;font-size:22px}.teacher-grade-icon{width:35px;height:35px;color:var(--primary-2);background:#e5ebf3;border-radius:4px;place-items:center;display:inline-grid}.teacher-grade-icon.close{background:#b8c9db}.teacher-grade-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:28px 24px;display:grid}.teacher-grade-form input,.teacher-grade-form select,.teacher-close-form select{background:#eef4ff;border-color:#b9c9e0;min-height:50px;font-size:16px}.teacher-grade-form .primary-button{min-height:50px;font-size:16px}.teacher-close-panel{border-top:3px solid #91abd1}.teacher-close-panel .teacher-grade-heading{margin-bottom:24px}.teacher-close-warning{color:#4f5f74;margin:0 0 28px;font-size:14px;line-height:1.5}.teacher-close-warning strong{color:#d0442c}.teacher-close-form{gap:16px;display:grid}.teacher-close-form .secondary-button{border:2px solid var(--primary-2);min-height:50px;color:var(--primary-2);font-size:16px}.teacher-assigned-panel{padding:0;overflow:hidden}.teacher-assigned-heading{border-bottom:1px solid var(--line);align-items:center;min-height:82px;padding:0 24px;display:flex}.teacher-assigned-heading>div{color:var(--primary-2);align-items:center;gap:11px;display:flex}.teacher-assigned-panel .table-wrap{border:0;border-radius:0}.teacher-assigned-panel table{min-width:650px}.teacher-assigned-panel th{color:#3f4652;text-transform:uppercase;background:#f0f4fb;font-size:12px}.teacher-assigned-panel td{color:#10233f;padding:18px 24px}.teacher-student-cell{align-items:center;gap:12px;display:flex}.teacher-student-cell>span{width:32px;height:32px;color:var(--primary-2);background:#e5ebf3;border-radius:9px;flex:none;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.student-academic-page{gap:24px;display:grid}.student-page-heading{gap:4px;display:grid}.student-page-heading h1{color:var(--primary-2);margin:0;font-size:34px;line-height:1.12}.student-page-heading p{color:#4f5f74;margin:0;font-size:17px}.student-academic-top{grid-template-columns:minmax(260px,.75fr) minmax(0,1.7fr);align-items:start;gap:24px;display:grid}.student-enrollment-card,.student-grades-panel,.student-enablement-panel{min-width:0;padding:24px;overflow:hidden}.student-card-title{min-width:0;color:var(--primary-2);align-items:center;gap:9px;margin-bottom:24px;display:flex}.student-card-title h2{color:var(--primary-2);margin:0;font-size:21px}.student-card-title .status-pill{margin-left:auto}.student-enrollment-details{gap:16px;display:grid}.student-enrollment-item{gap:12px;display:grid}.student-program-detail,.student-enrollment-meta>div{background:#f0f4ff;border:1px solid #c6d1e2;border-radius:5px;gap:6px;padding:16px;display:grid}.student-program-detail span,.student-enrollment-meta span{color:#667085;letter-spacing:.8px;text-transform:uppercase;font-size:12px}.student-program-detail strong,.student-enrollment-meta strong{color:#102f55;font-size:16px}.student-enrollment-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.student-grades-panel{padding:0}.student-grades-panel .student-card-title,.student-enablement-panel .student-card-title{margin:0;padding:24px}.student-average{color:#667085;margin-left:auto;font-size:14px}.student-average strong{color:#102f55;font-size:16px}.student-grades-panel .table-wrap,.student-enablement-panel .table-wrap{border:0;border-radius:0}.student-grades-panel th,.student-enablement-panel th{color:#344054;text-transform:uppercase;background:#edf3fc;font-size:12px}.student-grades-panel td,.student-enablement-panel td{color:#102f55;font-size:14px}.student-enablement-panel{padding:0}.student-welcome h1{color:var(--primary-2);margin:0;font-size:34px;line-height:1.1}.student-welcome p{color:#173a62;margin:0;font-size:17px}.student-home-grid .metric{grid-template-rows:auto 1fr;grid-template-columns:64px minmax(0,1fr);align-items:center;column-gap:14px;min-height:146px}.student-home-grid .metric-icon{grid-row:1/-1}.student-home-grid .metric-label{align-self:end}.student-home-grid .metric-value{align-self:start}.student-home-panel{min-width:0}.student-modules-panel{grid-column:span 2}.student-payment-panel{grid-column:span 1;padding:0;overflow:hidden}.student-home-panel .section-header{border-bottom:1px solid var(--line);margin:0;padding:24px}.student-home-panel .section-header h2{color:var(--primary-2);font-size:22px}.student-home-panel .table-wrap{border:0;border-radius:0}.student-home-panel table{table-layout:auto;min-width:0}.student-home-panel th{color:#344054;background:#dce8fb;font-size:14px}.student-home-panel td{color:#10233f;overflow-wrap:anywhere;padding:16px 24px;font-size:15px}.student-modules-panel th,.student-modules-panel td{white-space:nowrap}.student-modules-panel th:first-child,.student-modules-panel td:first-child{white-space:normal;width:50%}.student-payment-panel th,.student-payment-panel td{white-space:nowrap;padding-inline:12px}.student-payment-panel th:first-child,.student-payment-panel td:first-child{white-space:normal;width:48%}.student-payment-summary{border-top:1px solid var(--line);color:#4f5f74;background:#eef4ff;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px;font-size:16px;display:flex}.student-payment-summary strong{color:var(--primary-2);font-size:25px}.student-latest-notice{background:#f7faff;border:1px solid #b9c9e0;border-left:4px solid #f04b23;border-radius:8px;grid-column:1/-1;padding:18px 22px}.student-activity-panel{background:#fffaf8;border:1px solid #f0c8b9;border-left:4px solid #f04b23;border-radius:8px;grid-column:1/-1;padding:18px 22px}.student-activity-heading{color:var(--primary-2);align-items:center;gap:9px;margin-bottom:14px;display:flex}.student-activity-list{gap:8px;display:grid}.student-activity-row{border-top:1px solid #f0dfd9;grid-template-columns:minmax(0,1fr) 150px 130px;align-items:center;gap:16px;padding-top:10px;display:grid}.student-activity-row div{gap:3px;display:grid}.student-activity-row span{color:#667085;font-size:13px}.student-activity-row strong{color:var(--primary-2)}.student-activities-finance-panel{grid-column:1/-1}.student-latest-notice-heading{color:var(--primary-2);align-items:center;gap:8px;display:flex}.student-latest-notice-heading time,.student-notice-card time{color:#667085;margin-left:auto;font-size:12px}.student-latest-notice h2{color:var(--primary-2);margin:10px 0 4px;font-size:18px}.student-latest-notice p,.student-notice-card p{color:#344054;white-space:pre-wrap;margin:0;line-height:1.5}.student-notices-page{gap:24px;display:grid}.student-notices-list{gap:16px;display:grid}.student-notice-card{padding:0}.student-notice-card .student-card-title{border-bottom:1px solid var(--line);margin:0;padding:20px 24px}.student-notice-card p{padding:20px 24px 24px}.student-documents-page{gap:24px;display:grid}.student-documents-layout{grid-template-columns:minmax(270px,.72fr) minmax(0,1.8fr);align-items:start;gap:24px;display:grid}.student-upload-panel,.student-documents-panel{min-width:0}.student-upload-panel{padding:24px 32px}.student-upload-panel .student-card-title{margin-bottom:25px}.student-upload-form{gap:20px;display:grid}.student-upload-form select,.student-upload-form textarea{background:#f7f9ff;border-color:#b9c5d6}.student-upload-form textarea{resize:vertical;min-height:98px}.student-file-drop{color:#4f5f74;text-align:center;cursor:pointer;background:#eff4ff;border:2px dashed #b8c4d8;border-radius:5px;align-content:center;place-items:center;gap:7px;min-height:142px;display:grid;position:relative;overflow:hidden}.student-file-drop svg{color:#4f5f74}.student-file-drop span{font-size:14px}.student-file-drop small{color:#667085;font-size:12px}.student-file-drop input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.student-upload-form .primary-button{justify-content:center;min-height:48px}.student-documents-results{gap:24px;min-width:0;display:grid}.student-documents-panel{padding:0;overflow:hidden}.student-documents-panel-heading{justify-content:space-between;align-items:center;gap:14px;padding:22px 24px;display:flex}.student-documents-panel-heading .student-card-title{margin:0}.student-documents-tag{color:#173a62;white-space:nowrap;background:#e5edf9;border:1px solid #aebed7;border-radius:999px;padding:4px 13px;font-size:12px}.student-documents-tag-history{color:#b42318;background:#fff0ed;border-color:#f1b7aa}.student-documents-panel .table-wrap{border:0;border-radius:0}.student-documents-panel table{min-width:720px}.student-documents-panel th{color:#344054;text-transform:uppercase;background:#dce8fb;font-size:12px}.student-documents-panel td{color:#102f55;padding:15px 18px;font-size:14px}.document-status{text-transform:uppercase;white-space:nowrap;border-radius:5px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.document-status-issued{color:#15803d;background:#dcfce7}.document-status-uploaded{color:#1d4ed8;background:#dbeafe}.document-actions{flex-wrap:wrap}.student-document-security{color:#c9d9ef;background:#244a7b;border:1px solid #173f72;border-radius:8px;align-items:flex-start;gap:18px;padding:24px;display:flex}.student-document-security svg{flex:none;margin-top:2px}.student-document-security h2{color:#dce8fb;margin:0 0 6px;font-size:19px}.student-document-security p{max-width:760px;margin:0;line-height:1.5}.metric,.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px}.metric{grid-template-rows:auto 1fr auto;gap:12px;min-height:172px;padding:24px;display:grid}.metric-icon{width:52px;height:52px;color:var(--primary-2);background:#eef5ff;border-radius:8px;place-items:center;display:inline-grid}.metric-red .metric-icon{color:#b42318;background:#fff1ef}.metric-green .metric-icon{color:#0f473a;background:#e9f7ef}.metric-label{color:#3f4652;letter-spacing:1.4px;text-transform:uppercase;align-self:end;font-size:12px;font-weight:800}.metric-value{align-items:baseline;gap:10px;display:flex}.metric-value strong{color:var(--primary-2);letter-spacing:0;font-size:36px}.metric-value small{color:#3f4652;font-size:15px}.panel{min-width:0;padding:24px}.wide{grid-column:1/-1}.section-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.dashboard-table-panel{margin-top:16px;padding:0;overflow:hidden}.dashboard-table-panel .section-header{margin-bottom:0;padding:28px 24px 22px}.dashboard-table-panel .section-header h2{color:var(--primary-2);font-size:22px}.dashboard-table-panel .section-header p{color:#4a5568;font-size:15px}.dashboard-date-filter{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.dashboard-date-filter .field{min-width:190px}.dashboard-student-filter{min-width:260px;position:relative}.dashboard-student-filter svg{color:#64748b;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dashboard-student-filter input{width:100%;padding-left:40px}@media (max-width:600px){.dashboard-date-filter{flex-direction:column;align-items:stretch;width:100%}.dashboard-date-filter .field,.dashboard-student-filter{width:100%;min-width:0}}.dashboard-table table{min-width:860px}.dashboard-table th{color:#3f4652;background:#edf3fc;padding:18px 24px;font-size:14px}.dashboard-table td{color:#10233f;padding:20px 24px;font-size:16px}.student-cell{align-items:center;gap:14px;display:inline-flex}.student-avatar{color:#1d4ed8;background:#dbeafe;border-radius:10px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:inline-grid}.money-cell{color:var(--primary-2);font-weight:800}.status-badge{text-transform:uppercase;border-radius:999px;align-items:center;min-height:24px;padding:2px 12px;font-size:12px;font-weight:800;display:inline-flex}.status-pending,.status-overdue,.status-partial{color:#173a62;background:#dbeafe}.status-overdue{color:#b42318;background:#fee2e2}.table-footer{border-top:1px solid var(--line);color:#4f5f74;padding:16px 24px}.dashboard-pagination{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-pagination>div{align-items:center;gap:10px;display:inline-flex}.dashboard-pagination button:disabled{cursor:not-allowed;opacity:.55}.split-view{grid-template-columns:minmax(320px,.9fr) minmax(0,1.4fr);gap:14px;display:grid}.groups-layout{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:24px}.groups-create-panel{padding:24px}.groups-create-panel .section-header{margin-bottom:24px}.groups-create-panel .section-header h2{color:var(--primary-2);font-size:19px}.groups-create-panel .section-header p{color:var(--muted);font-size:13px}.groups-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.groups-form .field:first-child,.groups-form .field:nth-child(2),.groups-form .primary-button{grid-column:1/-1}.groups-form .field span{color:#3f4652;font-size:13px;font-weight:500}.groups-form input,.groups-form select{min-height:42px;font-size:15px}.groups-form .primary-button{background:var(--primary-2);min-height:48px;margin-top:2px;font-size:15px}.groups-management-panel{min-height:500px;padding:0;overflow:hidden}.groups-tabs{border-bottom:1px solid var(--line)}.groups-tabs .segmented-tabs{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;padding:0;display:grid}.groups-tabs .segmented-tabs button{color:#3f4652;border-radius:0;min-height:58px;font-size:15px;font-weight:500}.groups-tabs .segmented-tabs button.active{border-bottom:3px solid var(--primary-2);color:var(--primary-2);box-shadow:none;background:#eef4ff}.groups-table-content{padding:24px}.groups-table-content .table-wrap{border:0;border-radius:0}.groups-table-content table{min-width:620px}.groups-table-content th{color:#10233f;background:#edf3fc;padding:14px 16px;font-size:13px}.groups-table-content td{color:#344054;padding:17px 16px;font-size:14px}.groups-table-content td:first-child{color:var(--primary-2);font-weight:700}.cash-layout{grid-template-columns:minmax(360px,1fr) minmax(0,1.55fr);gap:16px 24px}.cash-status-panel,.cash-expense-panel{min-height:318px}.cash-status-panel{min-width:0}.cash-status-panel .section-header,.cash-expense-panel .section-header{margin-bottom:22px}.cash-status-panel .section-header h2,.cash-expense-panel .section-header h2,.cash-movements-panel .section-header h2,.cash-teacher-panel .section-header h2{color:var(--primary-2);font-size:23px}.cash-status-panel .section-header p,.cash-expense-panel .section-header p{color:var(--muted);font-size:13px}.cash-open-status{color:#15803d;text-transform:uppercase;background:#dcfce7;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:18px;padding:5px 12px;font-size:12px;font-weight:800;display:inline-flex}.cash-open-status span{background:#22c55e;border-radius:50%;width:8px;height:8px}.cash-status-panel .section-header:has(+.cash-open-status){margin-bottom:10px}.cash-status-panel .section-header .secondary-button{border:2px solid var(--primary-2);width:100%;min-height:48px;color:var(--primary-2);margin-top:12px;font-size:15px;font-weight:800}.cash-summary{border:0;padding:0}.cash-summary ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cash-summary li{background:#eef4ff;border:1px solid #d3ddec;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:84px;padding:14px 16px;display:flex}.cash-summary li span{color:#3f4652;letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.cash-summary li strong{color:var(--primary-2);white-space:nowrap;font-size:22px}.cash-summary li:last-child{background:#f8fafc;grid-column:1/-1;min-height:auto}.cash-expense-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.cash-expense-form .field:nth-child(5),.cash-expense-form button{grid-column:1/-1}.cash-expense-form .field span{color:#3f4652;font-size:13px;font-weight:500}.cash-expense-form input,.cash-expense-form select{background:#f2f6ff;border-color:#c6cfdd;min-height:44px;font-size:15px}.cash-expense-form .primary-button,.cash-expense-form .secondary-button{background:var(--primary-2);color:#fff;min-height:50px;margin-top:4px;font-weight:800}.cash-movements-panel,.cash-teacher-panel{padding:0;overflow:hidden}.cash-movements-panel .section-header,.cash-teacher-panel .section-header{border-bottom:1px solid var(--line);margin:0;padding:22px 24px 18px}.cash-movements-panel .table-wrap,.cash-teacher-panel .table-wrap{border:0;border-radius:0}.cash-movements-panel th,.cash-teacher-panel th{color:#344054;letter-spacing:.3px;text-transform:uppercase;background:#edf3fc;font-size:12px}.cash-movements-panel td,.cash-teacher-panel td{padding:16px 14px;font-size:14px}.field{gap:6px;display:grid}.field span{color:var(--muted);font-size:13px;font-weight:700}input,select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--text);background:#fff;border-radius:6px;padding:8px 10px}input:focus,select:focus{border-color:var(--primary);outline:2px solid #145c4a38}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:42px}.password-toggle{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{background:var(--surface-2);color:var(--primary)}.password-toggle:focus-visible{outline:2px solid #145c4a38}.primary-button,.secondary-button,.icon-button{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 12px;display:inline-flex}.primary-button{background:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-2)}.secondary-button,.icon-button{border-color:var(--line);color:var(--text);background:#fff}.icon-button{width:38px;padding:0}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.form-section-label{border-bottom:1px solid var(--line);color:var(--primary);grid-column:1/-1;padding:4px 0 2px;font-size:13px;font-weight:800}.stack-form{gap:12px;display:grid}.student-picker{gap:8px;display:grid;position:relative}.selected-student,.picker-empty{border:1px solid var(--line);background:#f8fafc;border-radius:6px;padding:9px 10px}.selected-student strong,.selected-student span,.student-results strong,.student-results span{display:block}.selected-student span,.student-results span,.picker-empty{color:var(--muted);font-size:13px}.student-results{gap:6px;display:grid}.student-results button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:6px;padding:9px 10px}.student-results button:hover{border-color:var(--primary);background:#f0f7f4}.student-list-pagination{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding-top:12px;font-size:12px;display:flex}.form-action{align-self:end}.form-note,.form-error{border-radius:6px;margin-top:12px;padding:10px 12px}.form-note{color:#05603a;background:#ecfdf3}.form-error{color:var(--danger);background:#fef3f2}textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:110px;font:inherit;color:var(--text);background:#fff;border-radius:6px;padding:10px 12px}textarea:focus{border-color:var(--primary);outline:2px solid #1270592e}.modal-backdrop{z-index:30;background:#0f172a6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;width:min(560px,100%);padding:18px;display:grid;box-shadow:0 22px 60px #0f172a38}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.search-box{border:1px solid var(--line);border-radius:6px;grid-template-columns:18px 1fr;align-items:center;gap:8px;min-width:240px;padding:0 10px;display:grid}.search-box input{border:0;min-height:36px;padding-left:0}.search-box input:focus{outline:0}.list{gap:8px;max-height:calc(100vh - 190px);display:grid;overflow:auto}.list-row{border:1px solid var(--line);text-align:left;background:#fff;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:4px 8px;min-height:58px;padding:10px;display:grid}.list-row span{color:var(--muted)}.student-workspace{grid-template-columns:minmax(260px,344px) minmax(0,1fr);gap:24px;min-height:calc(100vh - 150px);display:grid}.student-list-panel{align-self:start;gap:14px;padding:24px;display:grid}.student-list-panel .section-header{margin-bottom:0}.student-search{width:100%}.student-list{align-content:start;gap:12px;max-height:calc(100vh - 265px);padding-right:4px;display:grid;overflow:auto}.student-list-row{border:1px solid var(--line);min-height:74px;color:var(--text);text-align:left;background:#fff;border-radius:8px;align-content:center;gap:4px;padding:14px 16px;display:grid}.student-list-row:hover,.student-list-row.active{border-color:var(--primary-2);box-shadow:inset 3px 0 0 var(--primary-2)}.student-list-row span{color:var(--muted);font-size:13px}.student-detail-panel{min-height:calc(100vh - 150px);padding:0;overflow:hidden}.student-profile-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:28px 32px 22px;display:flex}.student-profile-header h2{color:var(--primary-2);margin:0;font-size:34px;line-height:1.08}.student-profile-meta{color:#3f4652;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:14px;display:flex}.student-detail-panel .segmented-tabs{border-top:0;border-radius:0 0 6px 6px;margin:0 32px;transform:translateY(-1px)}.student-profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding:30px 32px 22px;display:grid}.student-form-section{align-content:start;gap:18px;display:grid}.student-form-section h3{border-bottom:1px solid var(--line);color:#b23b17;letter-spacing:1.6px;text-transform:uppercase;margin:0;padding-bottom:10px;font-size:13px;font-weight:800}.student-form-section:has([name=guardian_name]){grid-column:1/-1}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;display:grid}:is(.student-form-grid .field:has([name=full_name]),.student-form-grid .field:has([name=address])){grid-column:1/-1}.student-user-card{background:#edf4ff;border:1px solid #b9c6d8;border-radius:14px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:16px 18px;margin:8px 32px 32px;padding:22px 24px;display:grid}.student-user-card>div:first-child{grid-column:1/-1}.student-user-card .field{min-width:0}.student-user-card .secondary-button{white-space:normal;min-width:150px;max-width:180px}.student-user-card strong,.student-user-card small{display:block}.student-user-card small{color:#4f5f74;margin-top:4px}.student-detail-panel .form-note{margin:0 32px 24px}.student-detail-panel .record-section{padding:24px 32px 32px}.matriculation-page{gap:26px;display:grid}.matriculation-heading{gap:8px;display:grid}.matriculation-heading span{color:var(--primary-2);font-size:15px;font-weight:700}.matriculation-heading h2{color:var(--primary-2);margin:0;font-size:34px;line-height:1.08}.matriculation-heading p{color:#4f5f74;margin:0;font-size:16px}.matriculation-form{gap:24px;display:grid}.matriculation-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:22px;padding:32px;display:grid}.matriculation-card-title{align-items:center;gap:12px;display:flex}.matriculation-card-title h3{color:var(--primary-2);letter-spacing:.4px;text-transform:uppercase;margin:0;font-size:22px}.matriculation-grid{gap:24px;display:grid}.student-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}:is(.student-data-grid .field:has([name=full_name]),.student-data-grid .field:has([name=address])){grid-column:span 2}.matriculation-subsection{border-top:1px solid var(--line);gap:18px;padding-top:22px;display:grid}.matriculation-subsection-title{gap:4px;display:grid}.matriculation-subsection-title h4{color:var(--primary-2);margin:0;font-size:17px}.matriculation-subsection-title span{color:var(--muted);font-size:13px}.guardian-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-data-grid{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.2fr) minmax(140px,.7fr) minmax(170px,.8fr)}.payment-data-grid{grid-template-columns:minmax(260px,.5fr)}.renewal-student-grid,.renewal-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.renewal-single-grid{grid-template-columns:repeat(4,minmax(0,1fr))}:is(.renewal-single-grid .field:has([name=student]),.renewal-single-grid .field:has([name=reason])),.renewal-student-picker{grid-column:span 2}.matriculation-card .field span{color:#4b5565;letter-spacing:.8px;font-size:12px}.matriculation-card input,.matriculation-card select{min-height:42px;color:var(--text);background:#f8faff;border-color:#c6cfdd;padding-inline:16px;font-size:16px}.matriculation-note{color:#4f5f74;max-width:620px;margin:-8px 0 0;font-size:13px;font-style:italic;line-height:1.4}.matriculation-actions{justify-content:flex-end;padding-bottom:12px;display:flex}.matriculation-actions .primary-button{min-width:210px;min-height:48px;color:var(--primary-2);background:#fff5f3;border-color:#ffd7d0;font-weight:800}.matriculation-actions .primary-button:hover{background:#ffe8e3}.matriculation-message{margin-top:-10px}.payments-page{gap:28px;display:grid}.payments-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;overflow:hidden}.payments-tabs{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:0 32px;display:flex}.payments-tab{color:#3f4652;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:9px;min-height:58px;padding:0;font-size:16px;font-weight:800;display:inline-flex}.payments-tab.active{border-bottom-color:var(--primary-2);color:var(--primary-2)}.payments-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;padding:32px;display:grid}.payment-student-picker,.payments-actions{grid-column:1/-1}.payments-form .field:has(textarea){grid-column:1/-1}.activities-page{gap:24px;display:grid}.activities-layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);align-items:start;gap:24px;display:grid}.activities-create-panel .section-header,.activities-list-panel .section-header{margin-bottom:20px}.activities-create-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.activities-list-panel,.activities-charges-panel{min-width:0;overflow:hidden}.activities-charges-panel{padding:0}.activities-charges-panel .section-header{border-bottom:1px solid var(--line);margin:0;padding:24px}.activities-charges-panel .section-header select{min-width:170px;min-height:40px}.activities-charge-filters{align-items:end;gap:10px;display:flex}.activities-charge-filters input,.activities-charge-filters select{border:1px solid var(--line);min-height:40px;color:var(--text);background:#fff;border-radius:6px;padding:0 10px}.activities-charge-filters input{min-width:250px}.activities-charges-panel .table-wrap{border:0;border-radius:0}.table-action-button{color:var(--primary-2);cursor:pointer;white-space:nowrap;background:#eef4ff;border:1px solid #b9c9e0;border-radius:6px;padding:7px 10px;font-weight:700}.table-action-button:hover{background:#dce8fb}.payment-student-picker .field{gap:10px}.payment-student-picker input{background:#f2f6ff;border-color:#c6cfdd;min-height:58px;padding-inline:18px;font-size:16px}.payments-form .field span{color:#3f4652;letter-spacing:.9px;text-transform:uppercase;font-size:12px;font-weight:800}.payments-form input,.payments-form select{min-height:50px;color:var(--text);border-color:#c6cfdd;padding-inline:14px;font-size:16px}.payments-form textarea{border-color:#c6cfdd;min-height:98px;font-size:16px}.payments-actions{justify-content:flex-end;padding-top:10px;display:flex}.payments-actions .primary-button{background:var(--primary-2);min-width:204px;min-height:50px;font-weight:800}.payments-history{padding:32px}.payments-message{margin:0 32px 32px}.status-pill{width:fit-content;min-height:24px;color:var(--primary-2);background:#f0f7f4;border:1px solid #c9d8d3;border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.segmented-tabs{border:1px solid var(--line);background:#f8fafc;border-radius:6px;align-items:center;gap:4px;padding:3px;display:inline-flex}.segmented-tabs button{min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:0 10px;font-weight:700}.segmented-tabs button.active{color:var(--primary);background:#fff;box-shadow:0 1px 2px #0f172a14}.empty-state{border:1px dashed var(--line);min-height:72px;color:var(--muted);border-radius:6px;place-items:center;padding:14px;display:grid}.tabs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.record-block{border:1px solid var(--line);border-radius:6px;padding:12px}.record-block h3{margin:0 0 10px;font-size:15px}.record-block ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.record-block li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:7px;display:flex}.mini-link{color:var(--primary);white-space:nowrap;font-weight:700}.record-section{gap:12px;margin-top:16px;display:grid}.matriculation-pending-panel{margin-top:20px}.matriculation-pending-panel .toolbar{min-width:300px}.matriculation-pending-panel .toolbar select{min-width:190px}.student-self-profile{align-items:start}.student-self-edit-panel .stack-form{gap:22px}.student-self-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.student-self-form-section{gap:16px;padding-top:4px;display:grid}.student-self-form-section h3{border-bottom:1px solid var(--line);color:var(--primary-2);margin:0;padding-bottom:10px;font-size:16px}.student-self-edit-panel .primary-button{justify-self:end}.table-wrap{border:1px solid var(--line);border-radius:6px;width:100%;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:720px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:10px 12px;font-size:13px}th{color:#344054;background:#f0f4f8;font-weight:800}.toolbar{align-items:center;gap:8px;display:inline-flex}.check-row{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.check-row input{width:auto;min-height:auto}.settings-page{gap:22px;display:grid}.reports-student-filter,.reports-date-filter{gap:10px;max-width:620px;margin-bottom:22px;display:grid;position:relative}.reports-student-filter .field,.reports-date-filter .field{max-width:520px}.reports-student-filter .form-note{margin-top:0}.settings-heading{gap:4px;display:grid}.settings-heading h1{color:#102f55;margin:0;font-size:34px;line-height:1.15}.settings-heading p{color:#4f5f74;margin:0;font-size:16px}.settings-layout{grid-template-columns:minmax(270px,.72fr) minmax(0,1.7fr);align-items:start;gap:24px;display:grid}.settings-values-panel,.settings-documents-form-panel,.settings-documents-table-panel{background:#fff;min-width:0}.settings-values-panel{min-height:100%}.settings-values-panel .section-header,.settings-documents-form-panel .section-header{margin-bottom:22px}.settings-values-panel .section-header h2,.settings-documents-form-panel .section-header h2{color:#102f55;font-size:21px}.settings-values-form{gap:17px;display:grid}.settings-values-form .field,.settings-document-form .field{min-width:0}.settings-values-form input,.settings-document-form input{background:#fbfcff;border-color:#b9c5d6;min-height:45px}.settings-input-prefix{position:relative}.settings-input-prefix>span{z-index:1;color:#344054;font-size:16px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.settings-input-prefix input{padding-left:32px}.settings-values-form .form-action{width:100%;min-height:47px;margin-top:4px}.settings-documents-column{gap:24px;min-width:0;display:grid}.settings-document-form{grid-template-columns:minmax(130px,.65fr) minmax(220px,1.35fr);align-items:end;gap:16px;display:grid}.settings-document-options{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:14px 22px;padding-top:2px;display:flex}.settings-document-form .form-action{justify-self:end;min-height:45px;margin-top:2px}.settings-documents-table-panel{padding:0;overflow:hidden}.settings-documents-table-panel .table-wrap{border:0;border-radius:0}.settings-documents-table-panel table{min-width:650px}.settings-documents-table-panel th{color:#10233f;background:#edf3fc;padding:15px 18px;font-size:13px}.settings-documents-table-panel td{color:#172b46;padding:16px 18px}.settings-documents-table-panel td strong,.settings-documents-table-panel td small{display:block}.settings-documents-table-panel td small{color:#667085;margin-top:3px;font-size:12px}.settings-toggle{cursor:pointer;border:0;border-radius:999px;min-height:27px;padding:3px 11px;font-size:12px;font-weight:800}.settings-toggle.is-yes{color:#138a47;background:#dcfce7}.settings-toggle.is-no{color:#475467;background:#f1f5f9}.settings-toggle.is-neutral{color:#173a62;background:#e5eefc}.settings-message{margin:0}.mobile-menu-button,.mobile-menu-backdrop{display:none}@media (max-width:980px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr;height:auto;position:static}.sidebar nav,.sidebar-nav-scroll{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.sidebar-scroll-button,.sidebar-collapse-button{display:none}.student-self-form-grid{grid-template-columns:1fr}.student-self-edit-panel .primary-button{justify-self:stretch;width:100%}.dashboard-grid,.split-view,.settings-layout,.student-home-grid,.student-workspace,.tabs-grid,.form-grid,.form-grid.compact,.settings-document-form,.student-profile-form,.student-form-grid,.student-user-card,.student-data-grid,.academic-data-grid,.payment-data-grid,.renewal-student-grid,.renewal-payment-grid,.renewal-single-grid,.payments-form{grid-template-columns:1fr}.groups-layout,.cash-layout{gap:16px}.cash-status-panel{min-width:0}.cash-expense-form{grid-template-columns:1fr}.cash-expense-form .field:nth-child(5),.cash-expense-form button{grid-column:auto}.cash-summary ul{grid-template-columns:1fr}.cash-summary li:last-child{grid-column:auto}.groups-form{grid-template-columns:1fr}.groups-form .field:first-child,.groups-form .field:nth-child(2),.groups-form .primary-button{grid-column:auto}.groups-tabs .segmented-tabs button{min-height:48px;padding-inline:6px}.groups-table-content{padding:16px}:is(.renewal-single-grid .field:has([name=student]),.renewal-single-grid .field:has([name=reason])),.renewal-student-picker,:is(.student-data-grid .field:has([name=full_name]),.student-data-grid .field:has([name=address])){grid-column:auto}.guardian-data-grid{grid-template-columns:1fr}.topbar,.section-header,.student-profile-header{flex-direction:column;align-items:stretch}.student-list,.student-detail-panel{min-height:0;max-height:none}.search-box{min-width:0}.payments-tabs{flex-direction:column;align-items:stretch;gap:0;padding:0 20px}.payments-tab{justify-content:flex-start}.activities-layout,.teacher-metrics,.teacher-grades-top,.teacher-grade-form{grid-template-columns:1fr}.teacher-grade-entry-panel,.teacher-close-panel{padding:22px}.teacher-home-table{overflow-x:auto}.teacher-home-table table{min-width:560px}.activities-create-panel .form-grid{grid-template-columns:1fr}.activities-charges-panel .section-header select{width:100%}.activities-charge-filters{flex-direction:column;align-items:stretch;width:100%}.activities-charge-filters input,.activities-charge-filters select{width:100%}.student-activity-row{grid-template-columns:1fr;gap:8px}.student-modules-panel,.student-payment-panel{grid-column:auto}.app-shell .sidebar{z-index:30;gap:10px;width:min(280px,86vw);height:100vh;padding:16px 12px 12px;transition:transform .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.app-shell:has(.mobile-menu-button[aria-label=Cerrar\ menú]) .sidebar{transform:translate(0)}.app-shell .sidebar .brand-block{align-items:center;gap:12px;padding:0 6px;display:flex}.app-shell.sidebar-collapsed .sidebar .brand-block>div,.app-shell.sidebar-collapsed .sidebar .nav-item span,.app-shell.sidebar-collapsed .sidebar .logout-button span{display:block}.app-shell .sidebar .brand-logo{width:38px;height:38px}.app-shell .sidebar nav{grid-template-columns:1fr;gap:6px;padding-bottom:2px;display:grid;overflow:hidden auto}.app-shell .nav-item{border-radius:7px;grid-template-columns:20px auto;min-width:0;padding:10px 12px;font-size:14px}.app-shell .nav-item.active{padding-left:10px}.app-shell .logout-button{text-align:center;justify-content:center;width:100%;margin:0}.app-shell .main-area{padding:24px 16px 32px;position:relative}.mobile-menu-button{z-index:25;width:42px;height:42px;color:var(--primary-2);box-shadow:var(--shadow);background:#fff;border:1px solid #b9c5d6;border-radius:8px;place-items:center;display:inline-grid;position:fixed;top:14px;right:14px}.mobile-menu-backdrop{z-index:20;background:#10233f6b;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.app-shell .topbar{margin-bottom:24px}.student-welcome h1{font-size:28px}.student-welcome p{font-size:15px}.portal-shell .topbar h1{font-size:28px}.portal-shell .topbar p{font-size:15px}.portal-shell .metric{min-height:132px;padding:18px}.portal-shell .metric-value strong{font-size:30px}.portal-shell .panel{padding:18px}.student-home-panel{overflow:hidden;padding:0!important}.student-home-panel .section-header{padding:18px}.student-academic-top,.student-documents-layout{grid-template-columns:1fr}.student-upload-panel{padding:20px}.student-documents-panel-heading{flex-direction:column;align-items:flex-start;padding:18px}.student-documents-panel td{padding-inline:14px}.student-document-security{padding:18px}.student-page-heading h1{font-size:28px}.student-page-heading p{font-size:15px}.student-card-title{flex-wrap:wrap;align-items:flex-start}.student-card-title .status-pill,.student-average{margin-left:auto}.student-grades-panel .table-wrap,.student-enablement-panel .table-wrap{overflow-x:auto}.student-home-panel td{padding:14px 18px}.student-payment-panel th,.student-payment-panel td{padding-inline:8px;font-size:13px}.student-payment-summary{padding:18px}.student-latest-notice{padding:16px}.student-latest-notice-heading time,.student-notice-card time{width:100%;margin-left:0}}
