@charset "UTF-8";:root,[data-theme=light]{color-scheme:light;--sms-bg: #F6F8FC;--sms-bg-accent: #E8F8F6;--sms-sidebar: #243B8F;--sms-sidebar-elevated: #1B2E73;--sms-sidebar-text: #D6DCF5;--sms-accent: #243B8F;--sms-secondary: #00BFA6;--sms-gold: #00BFA6;--sms-accent-soft: #A6E7DF;--sms-card: #FFFFFF;--sms-border: #E2E8F0;--sms-text: #243B8F;--sms-muted: #64748B;--sms-success: #00BFA6;--sms-danger: #D64545;--sms-warning: #E69A00;--sms-info: #00BFA6;--sms-shadow: 0 4px 16px rgba(15, 23, 42, .06);--sms-radius: 14px;--sms-font: Inter, "Segoe UI", sans-serif;--sms-topbar: #FFFFFF;--sms-input-bg: #FFFFFF;--sms-table-head: #F8FAFC;--sms-table-hover: #E8F8F6;--sms-btn-secondary: #FFFFFF;--sms-btn-secondary-hover: #E8F8F6}[data-theme=dark]{color-scheme:dark;--sms-bg: #152456;--sms-bg-accent: #1B2E73;--sms-sidebar: #1B2E73;--sms-sidebar-elevated: #121C45;--sms-sidebar-text: #C9D0EE;--sms-accent: #00BFA6;--sms-gold: #00BFA6;--sms-accent-soft: rgba(0, 191, 166, .2);--sms-card: #1B2E73;--sms-border: #33478C;--sms-text: #F8FAFC;--sms-muted: #C9D0EE;--sms-success: #00BFA6;--sms-danger: #D64545;--sms-warning: #E69A00;--sms-shadow: 0 10px 30px rgba(0, 0, 0, .35);--sms-topbar: #1B2E73;--sms-input-bg: #152456;--sms-table-head: #243B8F;--sms-table-hover: #243B8F;--sms-btn-secondary: #243B8F;--sms-btn-secondary-hover: #2E4AB0}*{box-sizing:border-box}html{font-size:14px}html,body{margin:0;height:100%;font-family:var(--sms-font);color:var(--sms-text);line-height:1.35;background:radial-gradient(1200px 500px at 10% -10%,rgba(36,59,143,.06),transparent 55%),var(--sms-bg);-webkit-font-smoothing:antialiased}[data-theme=dark] html,[data-theme=dark] body{background:radial-gradient(1200px 500px at 10% -10%,rgba(0,191,166,.1),transparent 55%),radial-gradient(900px 400px at 100% 0%,rgba(36,59,143,.35),transparent 45%),var(--sms-bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:700}.card{background:var(--sms-card);border:1px solid var(--sms-border);border-radius:var(--sms-radius);padding:.75rem .95rem;box-shadow:var(--sms-shadow)}.card+.card{margin-top:1rem}.card>.table-wrap{margin-top:1rem}.notice{margin:.6rem 0 0;padding:.65rem .85rem;border-radius:8px;background:#eab3081f;border:1px solid rgba(234,179,8,.25);color:var(--sms-text);font-size:.9rem}[data-theme=dark] .notice{background:#eab30826;border-color:#eab3084d}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.7rem}.page-header h2{margin:0 0 .15rem;font-size:1.2rem}.page-header .muted{margin:0;font-size:.9rem}.btn{border:0;border-radius:8px;padding:.4rem .85rem;cursor:pointer;background:linear-gradient(135deg,#243b8f,#2e4ab0);color:#fff;font-weight:600;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;box-shadow:0 6px 16px #243b8f52}.btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--sms-btn-secondary);color:var(--sms-accent);box-shadow:none;border:1px solid var(--sms-accent)}.btn-secondary:hover:not(:disabled){background:var(--sms-btn-secondary-hover)}.btn-sm{padding:.35rem .7rem;border-radius:8px;font-size:.82rem;line-height:1.2;box-shadow:none}.form-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.7rem}.btn-edit{background:var(--sms-success);color:#fff}.btn-edit:hover{background:#0c6438}.btn-danger{background:var(--sms-danger);color:#fff}.btn-danger:hover{background:#9c2e23}a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid transparent;border-radius:9px;cursor:pointer;padding:0;vertical-align:middle;transition:background .12s ease,border-color .12s ease,color .12s ease}.icon-btn svg{width:.95rem;height:.95rem}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn-view{background:#eef3f9;color:#355074}.icon-btn-view:hover:not(:disabled){background:#dfe8f4;color:var(--sms-accent)}.icon-btn-edit{background:#e7f6ee;color:var(--sms-success)}.icon-btn-edit:hover:not(:disabled){background:#d3efdf}.icon-btn-delete{background:#fdeeee;color:var(--sms-danger)}.icon-btn-delete:hover:not(:disabled){background:#f8dede}.icon-btn-print{background:#eef1fa;color:#243b8f}.icon-btn-print:hover:not(:disabled){background:#dde3f5}.icon-btn-attendance:hover:not(:disabled){background:#dde3f5}.icon-btn-image{background:#e8f4fb;color:#1d6f9a}.icon-btn-image:hover:not(:disabled){background:#d5ebf7}.icon-btn-transfer{background:#fff4e5;color:#c4840a}.icon-btn-transfer:hover:not(:disabled){background:#ffe8c4}.icon-btn-ledger{background:#e7f6ee;color:#148a54}.icon-btn-ledger:hover:not(:disabled){background:#d3efdf}.icon-btn-attendance{background:#eef1fa;color:#243b8f}.icon-btn-attendance:hover:not(:disabled){background:#ffe08a}.viewer-image{display:block;max-width:100%;max-height:70vh;margin:0 auto;border-radius:12px}.icon-btn-close{background:#eef3f9;color:var(--sms-muted)}.icon-btn-close:hover{background:#e2eaf4;color:var(--sms-text)}.icon-btn-back{background:#eef3f9;color:var(--sms-muted)}.icon-btn-back:hover:not(:disabled){background:#e2eaf4;color:var(--sms-text)}.row-actions{display:inline-flex;gap:.35rem;align-items:center;white-space:nowrap}.table-wrap{overflow:auto;border:1px solid var(--sms-border);border-radius:8px}.table{width:100%;border-collapse:collapse;font-size:.86rem}.table th,.table td{text-align:left;padding:.28rem .5rem;border-bottom:1px solid var(--sms-border);vertical-align:middle}.table td select,.table td input[type=text],.table td input[type=number],.table td input:not([type]){width:100%;min-width:7.5rem;margin:0}.table th{background:var(--sms-table-head);color:var(--sms-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.form-row label.checkbox-row,label.checkbox-row{display:flex;align-items:center;gap:.5rem;font-weight:600}.table tbody tr:hover{background:var(--sms-table-hover)}.table tbody tr.row-selected{background:var(--sms-accent-soft)}.table tbody tr.dragging{opacity:.55}.table tbody tr.drag-over td{box-shadow:inset 0 2px 0 var(--sms-accent)}.drag-handle{cursor:grab;color:var(--sms-muted);font-weight:800;letter-spacing:-.12em;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.table tbody tr:last-child td{border-bottom:0}.chip{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--sms-accent-soft);color:#243b8f}.chip-success{background:#a6e7df;color:#0b7a6c}.chip-danger{background:#fdeeee;color:#c0392b}.chip-muted{background:#eef2f7;color:#5f6f86}.chip-warn{background:#fff6e5;color:#9a6700}.form-row{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.55rem}.form-row label{font-size:.82rem;font-weight:600;color:var(--sms-muted)}.req{color:#dc2626;font-weight:700}.form-row input,.form-row select,.form-row textarea,.table td select,select.cell-select{border:1px solid var(--sms-border);border-radius:10px;padding:.38rem .6rem;background:var(--sms-input-bg);color:var(--sms-text);color-scheme:inherit;transition:border-color .12s ease,box-shadow .12s ease}.form-row select,.table td select,select.cell-select{appearance:none;-webkit-appearance:none;padding-right:1.7rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235f6f86' d='M1.2 1.2 6 6l4.8-4.8L12 2.4 6 8.4 0 2.4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .55rem center;background-size:.7rem;cursor:pointer}select option{color:var(--sms-text);background:var(--sms-card)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus,.table td select:focus,select.cell-select:focus{outline:none;border-color:#8bb3f5;box-shadow:0 0 0 3px #1f6feb26}input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{color-scheme:inherit}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=week]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=month]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=week]::-webkit-calendar-picker-indicator{opacity:.7;filter:invert(1)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;margin:.6rem 0}.error{color:var(--sms-danger);margin:.5rem 0}.field-error{color:var(--sms-danger);font-size:.78rem;font-weight:500;margin-top:.2rem;min-height:1em}.form-row.has-error input,.form-row.has-error select,.form-row.has-error textarea{border-color:var(--sms-danger);box-shadow:0 0 0 2px #d645451f}.form-row.has-error label{color:var(--sms-danger)}.muted{color:var(--sms-muted)}.toast-host{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.6rem;max-width:min(420px,100vw - 2rem);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.65rem;border-radius:12px;padding:.9rem .7rem .9rem 1.05rem;box-shadow:0 12px 28px #1c243433;border:1px solid transparent;animation:toast-in .2s ease-out}.toast-body{flex:1;min-width:0}.toast-success{background:var(--sms-success);border-color:#0c6438;color:#fff}.toast-error{background:var(--sms-danger);border-color:#922b21;color:#fff}.toast-info{background:var(--sms-accent);border-color:#1b2e73;color:#fff}.toast-text{font-weight:600;line-height:1.35}.toast-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-top:-.15rem;border:0;border-radius:9px;padding:0;background:#ffffff29;color:inherit;cursor:pointer}.toast-close svg{width:.95rem;height:.95rem}.toast-close:hover{background:#ffffff47}.toast-detail{margin:.45rem 0 0;padding:0;font-size:.78rem;color:#ffffffe0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Consolas,monospace;max-height:8rem;overflow:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.api-loader{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0f1f3d59;pointer-events:all}.api-loader-card{display:flex;align-items:center;gap:.75rem;background:var(--sms-card);color:var(--sms-text);border-radius:12px;padding:.9rem 1.2rem;box-shadow:0 12px 32px #0f1f3d47;font-weight:600}.api-spinner{width:1.25rem;height:1.25rem;border:3px solid var(--sms-border);border-top-color:var(--sms-accent);border-radius:50%;animation:api-spin .7s linear infinite}@keyframes api-spin{to{transform:rotate(360deg)}}.detail-backdrop{position:fixed;inset:0;z-index:9000;background:#0f1f3d80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:fade-in .15s ease-out}.detail-panel{background:var(--sms-bg);border-radius:18px;border:1px solid var(--sms-border);width:min(720px,100%);max-height:min(86vh,880px);display:flex;flex-direction:column;box-shadow:var(--sms-shadow),0 24px 60px #0f1f3d38;animation:panel-in .18s ease-out}.detail-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:.85rem .85rem 0;padding:.95rem 1.05rem}.detail-header h3{margin:0;font-size:1.2rem;color:var(--sms-text)}.detail-kicker{margin:0 0 .2rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--sms-muted);font-weight:700}.detail-body{padding:.85rem;overflow:auto;display:flex;flex-direction:column;gap:.75rem}.detail-panel .list-footer{margin:0 .85rem .85rem;padding-top:.7rem}.detail-panel .info-card{margin:0}.detail-section-title{margin:0 0 .35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--sms-muted)}.detail-row{display:grid;grid-template-columns:minmax(130px,34%) 1fr;gap:.5rem 1rem;padding:.38rem 0;border-bottom:1px solid var(--sms-border)}.detail-row:last-child{border-bottom:0}.detail-label{color:var(--sms-muted);font-size:.84rem;font-weight:600}.detail-value{word-break:break-word;white-space:pre-wrap;line-height:1.45}.detail-empty{padding:1.25rem 1.3rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(900px 420px at 15% 10%,rgba(255,183,21,.22),transparent 50%),radial-gradient(700px 360px at 90% 80%,rgba(36,59,143,.18),transparent 45%),linear-gradient(160deg,#1b2e73,#243b8f 55%,#2e4ab0)}.login-card{width:min(420px,100%);padding:1.75rem 1.6rem}.login-card h1{margin:0 0 .25rem;font-size:1.75rem}.tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.65rem}.tab-btn{border:1px solid var(--sms-border);background:#f7f9fc;color:var(--sms-muted);border-radius:999px;padding:.4rem .85rem;cursor:pointer;font-weight:600;font-size:.85rem}.tab-btn.active{background:var(--sms-accent);border-color:var(--sms-accent);color:#fff}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border:1px solid var(--sms-border);border-radius:999px;background:var(--sms-btn-secondary);color:var(--sms-text);cursor:pointer;padding:0;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{background:var(--sms-btn-secondary-hover);border-color:#3b82f673;box-shadow:0 0 0 3px #3b82f61f}.user-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:999px;background:linear-gradient(145deg,#243b8f,#1b2e73);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.02em}.user-menu-panel{position:absolute;top:calc(100% + .45rem);right:0;min-width:15rem;background:var(--sms-card);border:1px solid var(--sms-border);border-radius:12px;box-shadow:var(--sms-shadow);padding:.45rem;z-index:30}.user-menu-header{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem}.user-menu-header strong{font-size:.92rem}.user-menu-divider{height:1px;background:var(--sms-border);margin:.2rem 0}.user-menu-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sms-muted);margin-bottom:.4rem}.user-menu-theme{padding:.55rem .65rem}.theme-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.theme-toggle-btn{border:1px solid var(--sms-border);border-radius:8px;background:var(--sms-btn-secondary);color:var(--sms-text);padding:.38rem .55rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.theme-toggle-btn:hover{background:var(--sms-btn-secondary-hover)}.theme-toggle-btn.active{background:var(--sms-accent-soft);border-color:var(--sms-accent);color:var(--sms-accent)}.user-menu-item{display:block;width:100%;border:0;border-radius:8px;background:transparent;color:var(--sms-text);text-align:left;padding:.55rem .65rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .12s ease}.user-menu-item:hover{background:var(--sms-btn-secondary)}.change-password-section{padding:.55rem .65rem}.change-password-section .form-row{margin-bottom:.35rem}.change-password-section .form-row:last-child{margin-bottom:0}.change-password-section input{width:100%;padding:.4rem .55rem;border:1px solid var(--sms-border);border-radius:8px;font-size:.82rem;background:var(--sms-input-bg);color:var(--sms-text);box-sizing:border-box}.pw-field{position:relative}.pw-field input{padding-right:2rem}.pw-toggle{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--sms-muted);padding:.15rem;display:flex;align-items:center}.pw-toggle:hover{color:var(--sms-text)}.change-password-actions{display:flex;gap:.4rem;margin-top:.4rem}.btn-sm{padding:.3rem .65rem;font-size:.8rem}.list-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.7rem;padding-top:.55rem;border-top:1px solid var(--sms-border)}.list-footer-actions{display:flex;gap:.5rem;align-items:center}.teacher-list-photo{width:2.4rem;height:2.4rem;object-fit:cover;border-radius:8px;border:1px solid var(--sms-border);display:inline-block;vertical-align:middle}.teacher-list-photo-empty{display:inline-flex;align-items:center;justify-content:center;color:var(--sms-muted);font-size:.8rem;background:var(--sms-btn-secondary)}.teacher-photo-preview{display:block;margin-top:.45rem;width:6.5rem;height:6.5rem;object-fit:cover;border-radius:10px;border:1px solid var(--sms-border)}.search-field{position:relative;display:flex;align-items:center;width:100%}.search-field .search-icon{position:absolute;left:.7rem;width:1.05rem;height:1.05rem;color:var(--sms-muted);pointer-events:none}.search-field input,.search-field .search-input{width:100%;border:1px solid var(--sms-border);border-radius:12px;padding:.5rem .75rem .5rem 2.15rem;background:var(--sms-input-bg);color:var(--sms-text);font-size:.9rem}.search-field input:focus,.search-field .search-input:focus{outline:none;border-color:var(--sms-accent);box-shadow:0 0 0 3px #243b8f26}.form-row .search-field input,.form-row .search-field .search-input{padding:.5rem .75rem .5rem 2.15rem;border-radius:12px}.search-results{position:absolute;z-index:30;left:0;right:0;margin:.35rem 0 0;padding:.35rem;list-style:none;background:var(--sms-card);border:1px solid var(--sms-border);border-radius:12px;box-shadow:0 16px 36px #172b4d29;max-height:18rem;overflow:auto}.search-results button{width:100%;text-align:left;border:0;background:transparent;padding:.45rem .5rem;border-radius:10px;cursor:pointer;color:inherit}.search-results button:hover{background:var(--sms-table-hover)}.person-cell{display:flex;align-items:center;gap:.65rem;min-width:0}.person-avatar{width:2.15rem;height:2.15rem;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#243b8f;background:linear-gradient(135deg,#243b8f29,#ffb7152e)}.person-avatar.lg{width:3.4rem;height:3.4rem;font-size:1rem}.person-avatar img,.person-photo{width:100%;height:100%;border-radius:inherit;object-fit:cover}.person-meta{min-width:0}.person-meta strong,.person-name{display:block;font-weight:700;color:var(--sms-text);line-height:1.25}.person-sub{display:block;margin-top:.1rem;font-size:.78rem;color:var(--sms-muted)}.kpi-row{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr))}.kpi-card{display:flex;gap:.85rem;align-items:flex-start;padding:.8rem .9rem;background:var(--sms-card);border:1px solid var(--sms-border);border-radius:var(--sms-radius);box-shadow:var(--sms-shadow)}.kpi-icon{width:2.6rem;height:2.6rem;border-radius:12px;display:grid;place-items:center;flex-shrink:0;color:#243b8f;background:linear-gradient(135deg,#243b8f24,#243b8f0d)}.kpi-icon.success{color:#0f7a45;background:linear-gradient(135deg,#22a06b33,#22a06b0f)}.kpi-icon.warn{color:#c48a12;background:linear-gradient(135deg,#f4c54247,#f4c54214)}.kpi-icon.danger{color:#c0392b;background:linear-gradient(135deg,#d645452e,#d645450f)}.kpi-icon.info{color:#1f6feb;background:linear-gradient(135deg,#1f6feb29,#1f6feb0f)}.kpi-icon svg{width:1.25rem;height:1.25rem}.kpi-body{min-width:0;flex:1}.kpi-label{margin:0;font-size:.78rem;font-weight:600;color:var(--sms-muted)}.kpi-value{margin:.3rem 0 0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--sms-text);line-height:1.15}.status-pills{display:flex;flex-wrap:wrap;gap:.3rem}.status-pill{border:1px solid var(--sms-border);background:var(--sms-input-bg);color:var(--sms-muted);border-radius:999px;padding:.22rem .58rem;font-size:.74rem;font-weight:700;cursor:pointer;line-height:1.2}.status-pill:disabled{cursor:default;opacity:.85}.status-pill.present.on{background:#a6e7df;color:#0b7a6c;border-color:#00bfa6}.status-pill.absent.on{background:#fdeeee;color:#c0392b;border-color:#f5c2c2}.status-pill.late.on{background:#fff6e5;color:#9a6700;border-color:#f5d78a}.status-pill.excused.on,.status-pill.leave.on{background:#a6e7df;color:#243b8f;border-color:#00bfa6}.money-debit{color:#c0392b;font-weight:700}.money-credit{color:#0f7a45;font-weight:700}.table tfoot td{background:var(--sms-table-head);font-weight:700}.chip-info{background:#eef3ff;color:#1f6feb}.person-banner{display:flex;gap:.95rem;align-items:center;padding:.95rem 1.05rem;border-radius:14px;background:linear-gradient(135deg,#243b8f24,#ffb71529);border:1px solid var(--sms-border)}.person-banner h3{margin:0;font-size:1.15rem}.table tr.row-debit td{background:#d645450b}.table tr.row-credit td{background:#22a06b0e}[data-theme=dark] .status-pill.present.on{background:#22a06b38;color:#7ee0b0;border-color:#22a06b73}[data-theme=dark] .status-pill.absent.on{background:#d6454538;color:#f0a8a8;border-color:#d6454573}[data-theme=dark] .status-pill.late.on{background:#f4c5422e;color:#f5d78a;border-color:#f4c54266}[data-theme=dark] .status-pill.excused.on,[data-theme=dark] .status-pill.leave.on{background:#8b6be838;color:#cbb6f5;border-color:#8b6be873}[data-theme=dark] .person-banner{background:linear-gradient(135deg,#ffb7152e,#243b8f47)}[data-theme=dark] .table tr.row-debit td{background:#d645451a}[data-theme=dark] .table tr.row-credit td{background:#22a06b1a}.profile-page{display:flex;flex-direction:column;gap:1rem}.profile-header{align-items:flex-start}.profile-header-text{flex:1 1 auto;min-width:0}.profile-header-text h2{margin:0 0 .25rem}.profile-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.info-card{background:var(--sms-card);border:1px solid var(--sms-border);border-radius:14px;padding:1rem 1.1rem}.info-card h3{margin:0 0 .85rem;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:var(--sms-muted)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem 1.25rem}.info-item label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sms-muted);margin-bottom:.2rem}.info-item .value{font-size:.98rem;font-weight:600;word-break:break-word;white-space:pre-wrap}.profile-page .info-card .form-row:last-child{margin-bottom:0}.profile-page>.tabs{margin-bottom:0}.profile-page>.form-actions.info-card{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.profile-modal{position:fixed;inset:0;z-index:80;background:#0f1f3d73;display:flex;align-items:center;justify-content:center;padding:1rem}.profile-modal .card{width:min(480px,100%)}.campus-checks{display:flex;flex-wrap:wrap;gap:.55rem 1rem}.check-inline{display:flex;align-items:center;gap:.35rem;font-weight:600}.parent-ui.card{overflow:hidden}.parent-ui .parent-hero{margin:-.75rem -.95rem 1.15rem;padding:1.25rem 1.2rem 1.15rem;background:linear-gradient(135deg,#243b8f,#1b2e73 72%);color:#fff}.parent-ui .parent-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#a6e7df}.parent-ui .parent-hero h2{margin:0;color:#fff;font-size:1.3rem}.parent-ui .parent-hero .muted{color:#fffc;margin:.35rem 0 0}.parent-ui .parent-hero .parent-child-switch{margin-top:.9rem}.parent-ui .parent-child-switch label{display:block;color:#a6e7df;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}.parent-ui .parent-child-switch select{max-width:22rem;height:2.4rem;border-radius:999px;border:0;background:#fff;color:#243b8f;font-weight:800;padding:0 .9rem}.parent-ui .section-pad{padding:.85rem 1rem 1rem}.parent-ui .section-panel{margin-top:1.1rem;border:1px solid var(--sms-border);border-radius:14px;overflow:hidden;background:var(--sms-card)}.parent-ui .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.7rem 1rem;color:#fff}.parent-ui .section-head h3{margin:0;color:#fff;font-size:.95rem;font-weight:800}.parent-ui .section-head .muted{color:#ffffffd1;margin:0}.parent-ui .section-panel .table-wrap{border:0;border-radius:0}.parent-ui .section-panel .table th{color:#fff;letter-spacing:.05em}.parent-ui .tone-children .section-head,.parent-ui .tone-children .table th{background:#243b8f}.parent-ui .tone-children{border-color:#243b8f47}.parent-ui .tone-schedule .section-head,.parent-ui .tone-schedule .table th{background:#2e4ab0}.parent-ui .tone-schedule{border-color:#2e4ab047}.parent-ui .tone-fees .section-head,.parent-ui .tone-fees .table th{background:#c48a12}.parent-ui .tone-fees{border-color:#ffb71573}.parent-ui .tone-payments .section-head,.parent-ui .tone-payments .table th{background:#1b2e73}.parent-ui .tone-payments{border-color:#1b2e7347}.parent-ui .tone-attendance .section-head,.parent-ui .tone-attendance .table th{background:#243b8f}.parent-ui .tone-attendance{border-color:#243b8f47}.parent-ui .tone-results .section-head,.parent-ui .tone-results .table th{background:#1b2e73}.parent-ui .tone-results{border-color:#1b2e7347}.parent-ui .tone-ledger .section-head,.parent-ui .tone-ledger .table th{background:#2e4ab0}.parent-ui .tone-ledger{border-color:#2e4ab047}.parent-ui .tone-profile .section-head{background:#243b8f}.parent-ui .tone-profile{border-color:#243b8f47}@keyframes opaque{0%{opacity:0}to{opacity:1}}@keyframes resizeanim{0%,to{opacity:0}}.apexcharts-canvas{position:relative;direction:ltr!important;-webkit-user-select:none;user-select:none}.apexcharts-canvas ::-webkit-scrollbar{-webkit-appearance:none;width:6px}.apexcharts-canvas ::-webkit-scrollbar-thumb{border-radius:4px;background-color:#00000080;box-shadow:0 0 1px #ffffff80;-webkit-box-shadow:0 0 1px rgba(255,255,255,.5)}.apexcharts-inner{position:relative}.apexcharts-text tspan{font-family:inherit}rect.legend-mouseover-inactive,.legend-mouseover-inactive rect,.legend-mouseover-inactive path,.legend-mouseover-inactive circle,.legend-mouseover-inactive line,.legend-mouseover-inactive text.apexcharts-yaxis-title-text,.legend-mouseover-inactive text.apexcharts-yaxis-label{transition:.15s ease all;opacity:.2}.apexcharts-legend-text{padding-left:15px;margin-left:-15px}.apexcharts-series-collapsed{opacity:0}.apexcharts-tooltip{border-radius:5px;box-shadow:2px 2px 6px -4px #999;cursor:default;font-size:14px;left:62px;opacity:0;pointer-events:none;position:absolute;top:20px;display:flex;flex-direction:column;overflow:hidden;white-space:nowrap;z-index:12;transition:.15s ease all}.apexcharts-tooltip.apexcharts-active{opacity:1;transition:.15s ease all}.apexcharts-tooltip.apexcharts-theme-light{border:1px solid #e3e3e3;background:#fffffff5}.apexcharts-tooltip.apexcharts-theme-dark{color:#fff;background:#1e1e1ecc}.apexcharts-tooltip *{font-family:inherit}.apexcharts-tooltip-title{padding:6px;font-size:15px;margin-bottom:4px}.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title{background:#eceff1;border-bottom:1px solid #ddd}.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title{background:#000000b3;border-bottom:1px solid #333}.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value{display:inline-block;margin-left:5px;font-weight:600}.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty{display:none}.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value{padding:6px 0 5px}.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value{display:flex}.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty){margin-top:-6px}.apexcharts-tooltip-marker{width:12px;height:12px;position:relative;top:0;margin-right:10px;border-radius:50%}.apexcharts-tooltip-series-group{padding:0 10px;display:none;text-align:left;justify-content:left;align-items:center}.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker{opacity:1}.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child{padding-bottom:4px}.apexcharts-tooltip-y-group{padding:6px 0 5px}.apexcharts-custom-tooltip,.apexcharts-tooltip-box{padding:4px 8px}.apexcharts-tooltip-boxPlot{display:flex;flex-direction:column-reverse}.apexcharts-tooltip-box>div{margin:4px 0}.apexcharts-tooltip-box span.value{font-weight:700}.apexcharts-tooltip-rangebar{padding:5px 8px}.apexcharts-tooltip-rangebar .category{font-weight:600;color:#777}.apexcharts-tooltip-rangebar .series-name{font-weight:700;display:block;margin-bottom:5px}.apexcharts-xaxistooltip,.apexcharts-yaxistooltip{opacity:0;pointer-events:none;color:#373d3f;font-size:13px;text-align:center;border-radius:2px;position:absolute;z-index:10;background:#eceff1;border:1px solid #90a4ae}.apexcharts-xaxistooltip{padding:9px 10px;transition:.15s ease all}.apexcharts-xaxistooltip.apexcharts-theme-dark{background:#000000b3;border:1px solid rgba(0,0,0,.5);color:#fff}.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before{left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.apexcharts-xaxistooltip:after{border-color:transparent;border-width:6px;margin-left:-6px}.apexcharts-xaxistooltip:before{border-color:transparent;border-width:7px;margin-left:-7px}.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before{bottom:100%}.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before{top:100%}.apexcharts-xaxistooltip-bottom:after{border-bottom-color:#eceff1}.apexcharts-xaxistooltip-bottom:before{border-bottom-color:#90a4ae}.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before{border-bottom-color:#00000080}.apexcharts-xaxistooltip-top:after{border-top-color:#eceff1}.apexcharts-xaxistooltip-top:before{border-top-color:#90a4ae}.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before{border-top-color:#00000080}.apexcharts-xaxistooltip.apexcharts-active{opacity:1;transition:.15s ease all}.apexcharts-yaxistooltip{padding:4px 10px}.apexcharts-yaxistooltip.apexcharts-theme-dark{background:#000000b3;border:1px solid rgba(0,0,0,.5);color:#fff}.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before{top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.apexcharts-yaxistooltip:after{border-color:transparent;border-width:6px;margin-top:-6px}.apexcharts-yaxistooltip:before{border-color:transparent;border-width:7px;margin-top:-7px}.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before{left:100%}.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before{right:100%}.apexcharts-yaxistooltip-left:after{border-left-color:#eceff1}.apexcharts-yaxistooltip-left:before{border-left-color:#90a4ae}.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before{border-left-color:#00000080}.apexcharts-yaxistooltip-right:after{border-right-color:#eceff1}.apexcharts-yaxistooltip-right:before{border-right-color:#90a4ae}.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before{border-right-color:#00000080}.apexcharts-yaxistooltip.apexcharts-active{opacity:1}.apexcharts-yaxistooltip-hidden{display:none}.apexcharts-xcrosshairs,.apexcharts-ycrosshairs{pointer-events:none;opacity:0;transition:.15s ease all}.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active{opacity:1;transition:.15s ease all}.apexcharts-ycrosshairs-hidden{opacity:0}.apexcharts-selection-rect{cursor:move}.svg_select_boundingRect,.svg_select_points_rot{pointer-events:none;opacity:0;visibility:hidden}.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot{opacity:0;visibility:hidden}.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r{cursor:ew-resize;opacity:1;visibility:visible}.svg_select_points{fill:#efefef;stroke:#333;rx:2}.apexcharts-svg.apexcharts-zoomable.hovering-zoom{cursor:crosshair}.apexcharts-svg.apexcharts-zoomable.hovering-pan{cursor:move}.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon{cursor:pointer;width:20px;height:20px;line-height:24px;color:#6e8192;text-align:center}.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg{fill:#6e8192}.apexcharts-selection-icon svg{fill:#444;transform:scale(.76)}.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg{fill:#f3f4f5}.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg{fill:#008ffb}.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg{fill:#333}.apexcharts-menu-icon,.apexcharts-selection-icon{position:relative}.apexcharts-reset-icon{margin-left:5px}.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon{transform:scale(.85)}.apexcharts-zoomin-icon,.apexcharts-zoomout-icon{transform:scale(.7)}.apexcharts-zoomout-icon{margin-right:3px}.apexcharts-pan-icon{transform:scale(.62);position:relative;left:1px;top:0}.apexcharts-pan-icon svg{fill:#fff;stroke:#6e8192;stroke-width:2}.apexcharts-pan-icon.apexcharts-selected svg{stroke:#008ffb}.apexcharts-pan-icon:not(.apexcharts-selected):hover svg{stroke:#333}.apexcharts-toolbar{position:absolute;z-index:11;max-width:176px;text-align:right;border-radius:3px;padding:0 6px 2px;display:flex;justify-content:space-between;align-items:center}.apexcharts-menu{background:#fff;position:absolute;top:100%;border:1px solid #ddd;border-radius:3px;padding:3px;right:10px;opacity:0;min-width:110px;transition:.15s ease all;pointer-events:none}.apexcharts-menu.apexcharts-menu-open{opacity:1;pointer-events:all;transition:.15s ease all}.apexcharts-menu-item{padding:6px 7px;font-size:12px;cursor:pointer}.apexcharts-theme-light .apexcharts-menu-item:hover{background:#eee}.apexcharts-theme-dark .apexcharts-menu{background:#000000b3;color:#fff}@media screen and (min-width:768px){.apexcharts-canvas:hover .apexcharts-toolbar{opacity:1}}.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points{opacity:0}.apexcharts-hidden-element-shown{opacity:1;transition:.25s ease all}.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label{cursor:default;pointer-events:none}.apexcharts-pie-label-delay{opacity:0;animation-name:opaque;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease}.apexcharts-radialbar-label{cursor:pointer}.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path:not(.apexcharts-marker),.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect{pointer-events:none}.apexcharts-tooltip-active .apexcharts-marker{transition:.15s ease all}.resize-triggers{animation:1ms resizeanim;visibility:hidden;opacity:0;height:100%;width:100%;overflow:hidden}.contract-trigger:before,.resize-triggers,.resize-triggers>div{content:" ";display:block;position:absolute;top:0;left:0}.resize-triggers>div{height:100%;width:100%;background:#eee;overflow:auto}.contract-trigger:before{overflow:hidden;width:200%;height:200%}.apexcharts-bar-goals-markers,.apexcharts-bar-shadows,.apexcharts-rangebar-goals-markers{pointer-events:none}
