@import "https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap";*{box-sizing:border-box;margin:0;padding:0;font-family:Lexend,sans-serif}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:#c1c1c1;border:2px solid #f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}*{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1}html{scroll-behavior:smooth}.sms-delete-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf!important}.sms-delete-modal{background:#fff;border-radius:16px;width:460px;max-width:95vw;animation:.35s cubic-bezier(.34,1.56,.64,1) deleteModalIn;position:relative;overflow:hidden;box-shadow:0 24px 80px #0006}@keyframes deleteModalIn{0%{opacity:0;transform:scale(.85)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.sms-delete-shake{animation:.5s shakeModal}@keyframes shakeModal{0%,to{transform:translate(0)}15%{transform:translate(-10px)}30%{transform:translate(10px)}45%{transform:translate(-8px)}60%{transform:translate(8px)}75%{transform:translate(-4px)}90%{transform:translate(4px)}}.sms-delete-warning-stripe{background:repeating-linear-gradient(-45deg,#d32f2f 0 12px,#ff5722 12px 24px) 0 0/34px 6px;height:6px;animation:1s linear infinite stripeScroll}@keyframes stripeScroll{0%{background-position:0 0}to{background-position:34px 0}}.sms-delete-modal-inner{padding:28px 32px 32px}.sms-delete-icon-wrap{justify-content:center;margin-bottom:16px;display:flex}.sms-delete-icon{color:#d32f2f;filter:drop-shadow(0 0 12px #d32f2f66);font-size:48px;animation:1.5s ease-in-out infinite pulseWarn}@keyframes pulseWarn{0%,to{filter:drop-shadow(0 0 12px #d32f2f66);transform:scale(1)}50%{filter:drop-shadow(0 0 20px #d32f2fb3);transform:scale(1.1)}}.sms-delete-title{color:#212121;text-align:center;margin-bottom:10px;font-size:22px;font-weight:700}.sms-delete-description{color:#616161;text-align:center;margin-bottom:20px;font-size:14px;line-height:1.6}.sms-delete-description strong{color:#d32f2f}.sms-delete-student-name-box{background:#fbe9e7;border:1.5px solid #ef9a9a;border-radius:10px;flex-direction:column;gap:4px;margin-bottom:20px;padding:12px 16px;display:flex}.sms-delete-student-label{color:#b71c1c;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.sms-delete-student-name{color:#c62828;font-size:16px;font-weight:700}.sms-delete-confirm-section{margin-bottom:24px}.sms-delete-confirm-label{color:#424242;margin-bottom:8px;font-size:13px;line-height:1.5;display:block}.sms-delete-confirm-input{border:2px solid #e0e0e0;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.sms-delete-confirm-input:focus{border-color:#ef5350;box-shadow:0 0 0 3px #ef535026}.sms-delete-confirm-input.sms-input-error{background:#fff8f8;border-color:#d32f2f}.sms-delete-mismatch{color:#d32f2f;margin-top:6px;font-size:12px;font-weight:500}.sms-delete-actions{gap:12px;display:flex}.sms-delete-cancel-btn{color:#424242;cursor:pointer;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;flex:1;padding:11px 16px;font-size:14px;font-weight:600;transition:all .2s}.sms-delete-cancel-btn:hover:not(:disabled){background:#eee;border-color:#bdbdbd}.sms-delete-confirm-btn{color:#9e9e9e;cursor:not-allowed;background:#e0e0e0;border:none;border-radius:8px;flex:1.2;justify-content:center;align-items:center;padding:11px 16px;font-size:14px;font-weight:600;transition:all .3s;display:flex}.sms-delete-confirm-btn.sms-delete-active{color:#fff;cursor:pointer;background:linear-gradient(135deg,#d32f2f,#c62828);box-shadow:0 4px 14px #d32f2f66}.sms-delete-confirm-btn.sms-delete-active:hover:not(:disabled){background:linear-gradient(135deg,#c62828,#b71c1c);transform:translateY(-1px);box-shadow:0 6px 20px #d32f2f80}.sms-btn-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.edu-card-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.edu-id-card-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1a237e,#3949ab);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:all .2s;display:flex;box-shadow:0 2px 8px #1a237e4d}.edu-id-card-btn:hover{transform:translateY(-2px);box-shadow:0 4px 14px #1a237e73}.edu-recent-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.edu-recent-id-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#1a237e,#3949ab);border:none;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.edu-recent-id-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #1a237e66}.edu-modal-close-action-btn{color:#424242;cursor:pointer;background:#f5f5f5;border:1.5px solid #e0e0e0;border-radius:8px;padding:9px 20px;font-size:14px;font-weight:600;transition:all .2s}.edu-modal-close-action-btn:hover{background:#eee}.admindash-container{min-height:100vh;display:flex;position:relative}.admindash-mobile-menu-btn{z-index:1001;color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:4px;padding:8px 12px;font-size:1.2rem;display:none;position:fixed;top:20px;left:20px}.admindash-expand-sidebar-btn{color:#4f46e5;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px;font-size:1.2rem;transition:background-color .3s}.admindash-expand-sidebar-btn:hover{background-color:#f1f5f9}.admindash-sidebar-overlay{z-index:999;background-color:#00000080;display:none;position:fixed;inset:0}.admindash-sidebar{color:#fff;z-index:1000;background-color:#121212;flex-direction:column;width:280px;height:100vh;transition:all .3s;display:flex;position:fixed;top:0;left:0;transform:translate(0);box-shadow:2px 0 10px #0003}.admindash-sidebar-collapsed{width:70px}.admindash-sidebar-mobile{transform:translate(-100%)}.admindash-sidebar-open{transform:translate(0)}.admindash-sidebar-header{box-sizing:border-box;background-color:#1a1a1a;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;min-height:80px;padding:24px 16px;display:flex}.admindash-sidebar-collapsed .admindash-sidebar-header{justify-content:center;padding:24px 0}.admindash-sidebar-title{color:#fff;white-space:nowrap;margin:0;font-size:1.3rem;font-weight:700;overflow:hidden}.admindash-sidebar-collapsed .admindash-sidebar-title{display:none}.admindash-sidebar-toggle{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1rem;transition:background-color .3s;display:flex}.admindash-sidebar-toggle:hover{background-color:#ffffff1a}.admindash-sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.admindash-sidebar-menu{margin:0;padding:0;list-style:none}.admindash-menu-item{cursor:pointer;white-space:nowrap;padding:12px 16px;transition:all .3s;position:relative}.admindash-sidebar-collapsed .admindash-menu-item{justify-content:center;padding:16px;display:flex}.admindash-menu-item:hover{background-color:#ffffff0d}.admindash-menu-item-active{background-color:#4f46e533;border-left:3px solid #4f46e5}.admindash-sidebar-collapsed .admindash-menu-item-active{border-left:none;border-right:3px solid #4f46e5}.admindash-menu-title{align-items:center;gap:14px;display:flex}.admindash-sidebar-collapsed .admindash-menu-title{justify-content:center}.admindash-menu-icon{color:#ffffffb3;flex-shrink:0;width:18px;transition:all .3s}.admindash-menu-text{color:#ffffffe6;font-size:.95rem;font-weight:500;transition:all .3s;overflow:hidden}.admindash-sidebar-collapsed .admindash-menu-text{display:none}.admindash-menu-item-active .admindash-menu-icon,.admindash-menu-item-active .admindash-menu-text{color:#4f46e5}.admindash-dropdown-parent{position:relative}.admindash-dropdown-header{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.admindash-sidebar-collapsed .admindash-dropdown-header{justify-content:center;padding:16px}.admindash-dropdown-chevron{color:#ffffff80;font-size:.8rem;transition:transform .3s}.admindash-sidebar-collapsed .admindash-dropdown-chevron{display:none}.admindash-dropdown-open .admindash-dropdown-chevron{color:#fffc;transform:rotate(90deg)}.admindash-dropdown-menu{max-height:0;margin-top:8px;padding-left:42px;list-style:none;transition:max-height .3s ease-out;overflow:hidden}.admindash-sidebar-collapsed .admindash-dropdown-menu{display:none}.admindash-dropdown-open .admindash-dropdown-menu{max-height:500px;transition:max-height .5s ease-in}.admindash-dropdown-item{cursor:pointer;align-items:center;padding:10px 0;display:flex;position:relative}.admindash-dropdown-item:before{content:"";background-color:#ffffff4d;border-radius:50%;width:8px;height:8px;transition:all .3s;position:absolute;top:50%;left:-20px;transform:translateY(-50%)}.admindash-dropdown-item:hover:before{background-color:#4f46e5}.admindash-dropdown-text{color:#ffffffb3;font-size:.9rem;transition:all .3s}.admindash-dropdown-item:hover .admindash-dropdown-text{color:#ffffffe6}.admindash-dropdown-item-active .admindash-dropdown-text{color:#4f46e5;font-weight:500}.admindash-sidebar-nav::-webkit-scrollbar{width:6px}.admindash-sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d}.admindash-sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.admindash-sidebar-nav::-webkit-scrollbar-thumb:hover{background:#fff3}.admindash-main-content{background-color:#f5f7fa;flex:1;min-height:100vh;margin-left:280px;transition:margin-left .3s;overflow-x:hidden}.admindash-main-collapsed{margin-left:70px}.admindash-main-expanded{margin-left:280px}.admindash-top-nav{z-index:90;background-color:#fff;justify-content:space-between;align-items:center;padding:18px 32px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0000001f}.admindash-user-info{align-items:center;gap:10px;display:flex}.admindash-user-icon{color:#555}.admindash-user-name{color:#333;margin:0;font-size:.95rem;font-weight:500}.admindash-user-actions{align-items:center;gap:24px;display:flex}.admindash-notification-btn{cursor:pointer;color:#444;background:0 0;border:none;position:relative}.admindash-notification-icon{font-size:1.1rem}.admindash-notification-badge{color:#fff;background-color:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:600;display:flex;position:absolute;top:-12px;right:-10px}.admindash-profile{cursor:pointer;align-items:center;gap:12px;display:flex;position:relative}.admindash-profile-img{object-fit:cover;border:2px solid #4f46e5;border-radius:50%;width:38px;height:38px;transition:all .3s}.admindash-profile:hover .admindash-profile-img{transform:scale(1.05)}.admindash-profile-name{color:#333;font-weight:500}.admindash-profile-dropdown{z-index:1000;background:#fff;border-radius:8px;width:200px;padding:10px 0;position:absolute;top:100%;right:0;box-shadow:0 5px 15px #0000001a}.admindash-dropdown-option{cursor:pointer;align-items:center;padding:10px 20px;transition:background .2s;display:flex}.admindash-dropdown-option:hover{background:#f8f9fa}.admindash-dropdown-icon{color:#555;width:16px;margin-right:10px}.admindash-dropdown-label{font-size:.9rem}.admindash-dropdown-option:last-child,.admindash-dropdown-option:last-child .admindash-dropdown-icon{color:#ff4757}.admindash-content-wrapper{padding:32px}@media (width<=1024px){.admindash-sidebar{width:70px}.admindash-sidebar:not(.admindash-sidebar-collapsed){width:280px}.admindash-main-content{margin-left:70px}.admindash-main-expanded{margin-left:280px}}@media (width<=768px){.admindash-mobile-menu-btn,.admindash-sidebar-overlay{display:block}.admindash-sidebar{width:280px;transform:translate(-100%)}.admindash-sidebar-open{transform:translate(0)}.admindash-main-content{margin-left:0!important}.admindash-top-nav{padding:16px 24px}.admindash-content-wrapper{padding:24px}}@media (width<=576px){.admindash-content-wrapper,.admindash-top-nav{padding:16px}.admindash-profile-name{display:none}.admindash-sidebar{width:100%}}.sms-main-container{color:#333;max-width:1200px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.sms-tab-navigation{border-bottom:1px solid #e0e0e0;margin-bottom:20px;display:flex}.sms-tab-btn{cursor:pointer;color:#6c757d;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:16px;font-weight:500;transition:all .3s}.sms-tab-btn:hover{color:#4a6cf7}.sms-tab-active{color:#4a6cf7;border-bottom-color:#4a6cf7}.sms-import-container{max-width:800px;margin:0 auto}.sms-import-header{color:#2c3e50;text-align:center;margin-bottom:2rem;font-weight:600}.sms-import-card{border:none;border-radius:12px;margin-bottom:2rem;overflow:hidden;box-shadow:0 4px 6px #0000000d}.sms-import-card-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1rem 1.5rem;font-size:1.25rem;font-weight:600}.sms-import-card-body{padding:2rem}.sms-dropzone{text-align:center;cursor:pointer;background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;margin-bottom:1.5rem;padding:2rem;transition:all .3s;position:relative}.sms-dropzone:hover{background-color:#f1f3f5;border-color:#6c757d}.sms-dropzone-active{background-color:#e7f1ff;border-color:#0d6efd;animation:1.5s infinite sms-pulse}@keyframes sms-pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.sms-dropzone-label{color:#495057;margin-bottom:.5rem;font-size:1.1rem;font-weight:500;display:block}.sms-file-input{display:none}.sms-file-info{color:#6c757d;margin-top:1rem;font-size:.875rem}.sms-file-info strong{color:#495057;margin-top:.5rem;display:block}.sms-form-text{color:#6c757d;margin-bottom:1.5rem;font-size:.875rem}.sms-template-download-btn{color:#0d6efd;vertical-align:baseline;cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;text-decoration:none;display:inline}.sms-template-download-btn:hover{color:#0b5ed7;text-decoration:underline}.sms-template-download-btn:focus{box-shadow:none;outline:none}.sms-import-btn{background-color:#0d6efd;border:none;border-radius:2px;width:100%;padding:.5rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.sms-import-btn:hover{background-color:#0b5ed7;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.sms-import-btn:disabled{cursor:not-allowed;box-shadow:none;background-color:#6c757d;transform:none}.sms-progress-container{margin:1.5rem 0}.sms-progress-bar{background-color:#e9ecef;border-radius:8px;height:1.5rem;overflow:hidden}.sms-progress-fill{color:#fff;background-color:#0d6efd;justify-content:center;align-items:center;height:100%;font-size:.75rem;font-weight:500;transition:width .3s;display:flex}.sms-result-alert{border-left:4px solid #0d6efd;border-radius:8px;margin-top:1.5rem;padding:1rem}.sms-result-alert h4{margin-bottom:.75rem;font-size:1.1rem}.sms-error-alert{border-left:4px solid #dc3545;border-radius:8px;margin-top:1.5rem;padding:1rem}.sms-duplicates-list{background-color:#f8f9fa;border-radius:4px;max-height:150px;margin-top:1rem;padding:.5rem;overflow-y:auto}.sms-duplicates-list li{color:#dc3545;margin-bottom:.25rem;font-size:.875rem}.sms-upload-later{background-color:#f8f9fa;border:none;border-radius:12px;box-shadow:0 2px 4px #0000000d}.sms-upload-later-header{background-color:#e9ecef;border-bottom:1px solid #dee2e6;padding:1rem 1.5rem;font-weight:600}.sms-upload-later-header h5{margin:0;font-size:1.1rem}.sms-upload-later-body{padding:1.5rem}.sms-upload-later-body p{color:#495057;margin-bottom:1rem}.sms-view-list-btn{color:#0d6efd;border:1px solid #0d6efd;border-radius:6px;margin-top:1rem;padding:.5rem 1.5rem;font-weight:500;transition:all .2s;display:inline-block}.sms-view-list-btn:hover{color:#fff;background-color:#0d6efd;text-decoration:none}.sms-management-container{width:100%}.sms-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.sms-title{color:#2c3e50;margin:0;font-size:28px}.sms-primary-btn{color:#fff;cursor:pointer;background-color:#4a6cf7;border:none;border-radius:5px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background-color .3s;display:flex}.sms-primary-btn:hover{background-color:#3a5bd9}.sms-secondary-btn{color:#4a6cf7;cursor:pointer;background-color:#f1f3f9;border:1px solid #d1d5e0;border-radius:5px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.sms-secondary-btn:hover{background-color:#e4e8f5}.sms-add-btn{padding:10px 20px}.sms-btn-icon{font-size:16px}.sms-filter-section{border-radius:8px;margin-bottom:25px;padding:20px}.sms-search-filter{margin-bottom:15px}.sms-search-wrapper{align-items:center;display:flex;position:relative}.sms-filter-icon{color:#6c757d;position:absolute;left:12px}.sms-search-input{border:1px solid #ced4da;border-radius:5px;width:100%;padding:10px 15px 10px 40px;font-size:14px;transition:border-color .3s}.sms-search-input:focus{border-color:#4a6cf7;outline:none}.sms-clear-search{color:#6c757d;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:10px}.sms-clear-search:hover{color:#495057}.sms-dropdown-filters{flex-wrap:wrap;gap:15px;display:flex}.sms-filter-group{flex:1;min-width:180px}.sms-filter-label{color:#495057;margin-bottom:5px;font-size:13px;font-weight:500;display:block}.sms-select-wrapper{position:relative}.sms-filter-select,.sms-form-select{appearance:none;cursor:pointer;background-color:#fff;border:1px solid #ced4da;border-radius:5px;width:100%;padding:10px 15px;font-size:14px}.sms-select-arrow{pointer-events:none;color:#6c757d;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.sms-students-list{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.sms-empty-state{text-align:center;padding:40px 20px}.sms-empty-icon{margin-bottom:15px;font-size:48px}.sms-empty-title{color:#2c3e50;margin-bottom:10px;font-size:18px}.sms-empty-text{color:#6c757d;margin-bottom:20px}.sms-empty-btn{margin:0 auto}.sms-table-container{overflow-x:auto}.sms-students-table{border-collapse:collapse;width:100%}.sms-students-table th{text-align:left;color:#495057;text-transform:uppercase;letter-spacing:.5px;background-color:#f8f9fa;padding:12px 15px;font-size:13px;font-weight:600}.sms-students-table td{border-bottom:1px solid #e9ecef;padding:12px 15px;font-size:14px}.sms-student-row:hover{background-color:#f8f9fa}.sms-student-with-photo{align-items:center;gap:10px;display:flex}.sms-student-list-photo{object-fit:cover;border-radius:50%;width:40px;height:40px}.sms-student-name{font-weight:500}.sms-class-badge{color:#1976d2;background-color:#e3f2fd;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.sms-gender-badge{border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.sms-gender-male{color:#1976d2;background-color:#e3f2fd}.sms-gender-female{color:#c2185b;background-color:#fce4ec}.sms-gender-other{color:#388e3c;background-color:#e8f5e9}.sms-status-badge{border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.sms-status-active{color:#388e3c;background-color:#e8f5e9}.sms-status-inactive{color:#e65100;background-color:#fff3e0}.sms-status-alumni{color:#1976d2;background-color:#e3f2fd}.sms-status-transferred{color:#7b1fa2;background-color:#f3e5f5}.sms-phone-link,.sms-email-link{color:#4a6cf7;text-decoration:none}.sms-phone-link:hover,.sms-email-link:hover{text-decoration:underline}.sms-action-buttons{gap:8px;display:flex}.sms-action-btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .3s;display:flex}.sms-view-btn{color:#1976d2;background-color:#e3f2fd}.sms-view-btn:hover{background-color:#bbdefb}.sms-edit-btn{color:#e65100;background-color:#fff3e0}.sms-edit-btn:hover{background-color:#ffe0b2}.sms-delete-btn{color:#d32f2f;background-color:#ffebee}.sms-delete-btn:hover{background-color:#ffcdd2}.sms-action-icon{font-size:14px}.sms-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sms-modal{background-color:#fff;border-radius:8px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.sms-view-modal{max-width:700px}.sms-modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:20px;display:flex}.sms-modal-title{color:#2c3e50;margin:0;font-size:20px}.sms-modal-close{cursor:pointer;color:#6c757d;background:0 0;border:none;justify-content:center;align-items:center;padding:5px;font-size:20px;display:flex}.sms-modal-close:hover{color:#495057}.sms-student-form{padding:20px}.sms-dual-photo-upload{gap:20px;margin-bottom:20px;display:flex}@media (width<=768px){.sms-dual-photo-upload{flex-direction:column}}.sms-photo-upload-container{flex:1}.sms-photo-upload-title{color:#495057;margin-bottom:10px;font-size:14px;font-weight:500}.sms-photo-preview-container{background-color:#f8f9fa;border-radius:8px;justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:10px;display:flex;position:relative;overflow:hidden}.sms-photo-preview{object-fit:cover;width:100%;height:100%}.sms-photo-placeholder{color:#adb5bd;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.sms-photo-icon{font-size:40px}.sms-remove-photo-btn{color:#fff;cursor:pointer;background-color:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex;position:absolute;top:5px;right:5px}.sms-photo-upload-controls{flex-direction:column;display:flex}.sms-photo-upload-label{color:#4a6cf7;cursor:pointer;background-color:#f1f3f9;border-radius:5px;align-items:center;gap:8px;margin-bottom:5px;padding:8px 12px;font-size:13px;font-weight:500;transition:background-color .3s;display:inline-flex}.sms-photo-upload-label:hover{background-color:#e4e8f5}.sms-upload-icon{font-size:14px}.sms-photo-input{display:none}.sms-photo-info{color:#6c757d;font-size:12px}.sms-form-row{gap:20px;margin-bottom:15px;display:flex}.sms-form-group{flex:1;margin-bottom:15px}.sms-form-label{color:#495057;margin-bottom:5px;font-size:13px;font-weight:500;display:block}.sms-required{color:#e53935}.sms-form-input,.sms-form-textarea{border:1px solid #ced4da;border-radius:5px;width:100%;padding:10px 15px;font-size:14px;transition:border-color .3s}.sms-form-input:focus,.sms-form-textarea:focus{border-color:#4a6cf7;outline:none}.sms-form-textarea{resize:vertical;min-height:80px}.sms-form-section{border-bottom:1px solid #e9ecef;margin:25px 0;padding-bottom:15px}.sms-section-title{color:#2c3e50;align-items:center;margin-bottom:15px;font-size:16px;display:flex}.sms-section-title:before{content:"";background-color:#4a6cf7;border-radius:2px;width:4px;height:16px;margin-right:10px;display:inline-block}.sms-form-actions{border-top:1px solid #e9ecef;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px;display:flex}.sms-submit-btn{min-width:150px}.sms-student-details{padding:0 20px 20px}.sms-detail-card{background-color:#f8f9fa;border-radius:8px;padding:20px}.sms-detail-header{border-bottom:1px solid #e9ecef;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:20px;display:flex}.sms-view-photo{object-fit:cover;border-radius:8px;width:100px;height:100px}.sms-detail-name{color:#2c3e50;margin:0 0 5px;font-size:20px}.sms-detail-class{color:#4a6cf7;margin-bottom:5px;font-size:14px;font-weight:500}.sms-detail-status{border-radius:4px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-block}.sms-detail-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:20px;display:grid}.sms-detail-item{flex-direction:column;display:flex}.sms-detail-item-full{grid-column:1/-1}.sms-detail-label{color:#6c757d;margin-bottom:3px;font-size:12px}.sms-detail-value{color:#2c3e50;font-size:14px;font-weight:500}.sms-detail-link{color:#4a6cf7;text-decoration:none}.sms-detail-link:hover{text-decoration:underline}.sms-detail-section{margin-bottom:20px}.sms-detail-section-title{color:#2c3e50;border-bottom:1px solid #e9ecef;margin:0 0 15px;padding-bottom:5px;font-size:15px}.sms-birthday-template-preview{margin-top:10px}.sms-birthday-template-image{border:1px solid #e9ecef;border-radius:8px;max-width:100%}.sms-modal-footer{border-top:1px solid #e9ecef;justify-content:flex-end;gap:10px;padding:15px 20px;display:flex}.sms-loading,.sms-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.sms-spinner{border:4px solid #0000001a;border-left-color:#4a6cf7;border-radius:50%;width:40px;height:40px;margin-bottom:20px;animation:1s linear infinite sms-spin}@keyframes sms-spin{to{transform:rotate(360deg)}}.sms-error p{color:#e53935;margin-bottom:20px}@media (width<=768px){.sms-main-container{padding:10px}.sms-header{flex-direction:column;align-items:flex-start;gap:15px}.sms-dropdown-filters{flex-direction:column}.sms-form-row{flex-direction:column;gap:0}.sms-modal{max-height:calc(100vh - 20px);margin:10px}.sms-detail-header{text-align:center;flex-direction:column}.sms-modal-footer{flex-direction:column}}.sms-header-actions{align-items:center;gap:.75rem;display:flex}.sms-transfer-bulk-btn{color:#3b6cf4;cursor:pointer;background:#f0f5ff;border:1.5px solid #3b6cf4;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.875rem;font-weight:500;transition:background .18s,color .18s;display:inline-flex}.sms-transfer-bulk-btn:hover{color:#fff;background:#3b6cf4}.sms-row-selected{background:#f0f5ff!important}.sms-select-all-btn{cursor:pointer;background:0 0;border:none;align-items:center;padding:2px 4px;display:flex}.sms-check-icon{color:#aab3c6;font-size:1.1rem;transition:color .15s}.sms-check-active{color:#3b6cf4}.sms-action-btn.sms-transfer-btn{color:#3b6cf4;background:#f0f5ff}.sms-action-btn.sms-transfer-btn:hover{color:#fff;background:#3b6cf4}.sms-transfer-overlay{z-index:1100}.sms-transfer-modal{background:#fff;border-radius:14px;width:100%;max-width:480px;animation:.22s sms-modal-in;box-shadow:0 20px 60px #0000002e}.sms-transfer-body{padding:1.25rem 1.5rem .5rem}.sms-transfer-student-info{background:#f8f9fc;border-radius:8px;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.9rem;display:flex}.sms-transfer-label{color:#6b7280;font-weight:500}.sms-transfer-name{color:#1a202c;font-weight:600}.sms-transfer-error{color:#e53e3e;margin-top:.4rem;font-size:.82rem}.sms-fee-options{flex-wrap:wrap;gap:.6rem;margin-top:.25rem;display:flex}.sms-fee-option{cursor:pointer;color:#4a5568;-webkit-user-select:none;user-select:none;background:#f8f9fc;border:1.5px solid #e2e8f0;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.sms-fee-option:hover{color:#3b6cf4;background:#f0f5ff;border-color:#3b6cf4}.sms-fee-option-active{color:#fff!important;background:#3b6cf4!important;border-color:#3b6cf4!important}.sms-fee-radio{display:none}.sms-fee-badge{border-radius:20px;padding:.22rem .65rem;font-size:.78rem;font-weight:600;display:inline-block}.sms-fee-null{color:#9ca3af;background:#f3f4f6}.sms-fee-25{color:#d97706;background:#fef3c7}.sms-fee-50{color:#2563eb;background:#dbeafe}.sms-fee-100{color:#16a34a;background:#dcfce7}.sms-sibling-toggle{gap:.6rem;margin-top:.25rem;display:flex}.sms-sibling-option{cursor:pointer;color:#4a5568;-webkit-user-select:none;user-select:none;background:#f8f9fc;border:1.5px solid #e2e8f0;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem 1.4rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.sms-sibling-option:hover{color:#3b6cf4;background:#f0f5ff;border-color:#3b6cf4}.sms-sibling-option-active{color:#fff!important;background:#3b6cf4!important;border-color:#3b6cf4!important}.sms-sibling-radio{display:none}.sms-sibling-details{background:#f8f9fc;border:1px solid #e8ecf4;border-radius:10px;margin-top:1rem;padding:1rem}.db-container{color:#2d3748;max-width:1200px;margin:0 auto;padding:24px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.db-title{color:#1a202c;margin-bottom:32px;font-size:28px;font-weight:600}.db-summary-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px;display:grid}.db-summary-card{background-color:#fff;border-radius:10px;align-items:center;padding:24px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 4px 6px #0000000d}.db-summary-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0000001a}.db-card-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;margin-right:20px;display:flex}.db-primary-card .db-card-icon{color:#3182ce;background-color:#ebf8ff}.db-secondary-card .db-card-icon{color:#e53e3e;background-color:#fff5f5}.db-tertiary-card .db-card-icon{color:#38a169;background-color:#f0fff4}.db-quaternary-card .db-card-icon{color:#b7791f;background-color:#faf089}.db-icon{font-size:28px}.db-card-content{flex-grow:1}.db-card-title{color:#718096;margin:0 0 8px;font-size:16px;font-weight:500}.db-card-value{color:#1a202c;margin:0;font-size:28px;font-weight:700}.db-loading-animation{background-color:#edf2f7;border-radius:4px;width:60px;height:24px;animation:1.5s ease-in-out infinite pulse}.db-loading-placeholder{background-color:#f7fafc;border-radius:8px;height:200px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.db-main-content{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}@media (width<=900px){.db-main-content{grid-template-columns:1fr}}.db-section{background-color:#fff;border-radius:10px;padding:24px;box-shadow:0 4px 6px #0000000d}.activties{max-height:450px;overflow-y:auto}.db-wide-section{grid-column:1/-1}.db-section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.db-section-title{align-items:center;margin:0;font-size:20px;font-weight:600;display:flex}.db-section-icon{color:#4a5568;margin-right:12px}.db-section-action{color:#4299e1;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-weight:500;transition:background-color .3s}.db-section-action:hover{background-color:#ebf8ff}.db-birthdays-list{flex-direction:column;gap:12px;display:flex}.db-birthday-card{background-color:#f8fafc;border-radius:8px;align-items:center;padding:16px;transition:background-color .3s;display:flex}.db-birthday-card:hover{background-color:#edf2f7}.db-birthday-avatar{color:#fff;background-color:#4299e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-right:16px;font-weight:600;display:flex}.db-birthday-info{flex-grow:1}.db-birthday-name{color:#2d3748;margin:0 0 4px;font-size:16px;font-weight:600}.db-birthday-details{color:#718096;margin:0;font-size:14px}.db-birthday-action{color:#fff;cursor:pointer;background-color:#4299e1;border:none;border-radius:6px;flex-shrink:0;padding:8px 16px;font-size:14px;transition:background-color .3s}.db-birthday-action:hover{background-color:#3182ce}.db-empty-message{color:#a0aec0;text-align:center;margin:0;padding:40px 0}.db-activity-list{flex-direction:column;gap:16px;display:flex}.db-activity-item{border-bottom:1px solid #edf2f7;gap:16px;padding-bottom:16px;display:flex}.db-activity-item:last-child{border-bottom:none;padding-bottom:0}.db-activity-icon{color:#4a5568;background-color:#f7fafc;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.db-activity-content{flex-grow:1}.db-activity-text{color:#4a5568;margin:0 0 4px;font-size:15px}.db-activity-student{color:#2d3748;font-weight:600}.db-activity-time{color:#a0aec0;margin:0;font-size:13px}.db-stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.db-stat-item{background-color:#f8fafc;border-radius:8px;padding:20px}.db-stat-course{color:#2d3748;margin:0 0 12px;font-size:16px;font-weight:600}.db-stat-bar-container{background-color:#e2e8f0;border-radius:4px;width:100%;height:8px;margin-bottom:8px;overflow:hidden}.db-stat-bar{background-color:#4299e1;border-radius:4px;height:100%;transition:width .5s}.db-stat-count{color:#718096;margin:0;font-size:14px}.db-error-message{color:#c62828;background-color:#ffebee;border-left:4px solid #c62828;border-radius:4px;margin-bottom:20px;padding:15px}.db-scheduler-status{background-color:#f5f5f5;border-radius:4px;flex-direction:column;gap:10px;margin:20px 0;padding:15px;display:flex}.db-trigger-button{color:#fff;cursor:pointer;background-color:#1976d2;border:none;border-radius:4px;align-self:flex-start;padding:8px 16px}.db-trigger-button:hover{background-color:#1565c0}.db-activity-icon.sent{color:#4caf50}.db-activity-icon.failed{color:#f44336}.db-empty-message{color:#757575;text-align:center;padding:20px;font-style:italic}.db-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.db-refresh-btn{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;transition:background-color .3s;display:flex}.db-refresh-btn:hover:not(:disabled){background-color:#45a049}.db-refresh-btn:disabled{opacity:.7;cursor:not-allowed}.db-refresh-spinning{animation:1s linear infinite spin}.db-scheduler-status{background-color:#f8f9fa;border-radius:8px;flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:20px;padding:15px;display:flex}.db-scheduler-info{align-items:center;gap:8px;display:flex}.db-scheduler-label{color:#495057;font-weight:500}.db-scheduler-indicator{border-radius:12px;padding:4px 8px;font-size:12px;font-weight:600}.db-scheduler-indicator.active{color:#155724;background-color:#d4edda}.db-scheduler-indicator.inactive{color:#721c24;background-color:#f8d7da}.db-scheduler-next-run{color:#6c757d;font-size:14px}.db-trigger-btn{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:4px;margin-left:auto;padding:6px 12px;font-size:13px}.db-trigger-btn:hover{background-color:#0056b3}@media (width<=768px){.db-header{flex-direction:column;align-items:flex-start;gap:15px}.db-scheduler-status{flex-direction:column;align-items:flex-start;gap:10px}.db-trigger-btn{margin-left:0}}.settings-container{flex-direction:row;justify-content:center;align-items:center;gap:20px;margin:1rem auto;padding:1rem;display:flex}.settings-header{text-align:center;margin-bottom:2.5rem}.settings-header-icon{color:#4f46e5;margin-bottom:1rem;font-size:2.5rem}.settings-title{color:#111827;margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.settings-subtitle{color:#6b7280;margin:0;font-size:1rem}.settings-form{margin-bottom:2.5rem}.form-group{margin-bottom:1.75rem}.form-label{color:#374151;align-items:center;margin-bottom:.75rem;font-size:.95rem;font-weight:500;display:flex}.input-icon{color:#6b7280;margin-right:.75rem;font-size:1.1rem}.input-container{align-items:center;display:flex;position:relative}.form-input{color:#111827;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;width:100%;padding:.875rem 1rem .875rem 2.75rem;font-size:.95rem;transition:all .2s}.form-input:focus{background-color:#fff;border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51a}.input-error{border-color:#ef4444}.input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.toggle-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:.25rem;font-size:1.2rem;transition:color .2s;position:absolute;right:.75rem}.toggle-btn:hover{color:#4f46e5}.error-message{color:#ef4444;align-items:center;margin-top:.5rem;font-size:.85rem;display:flex}.error-icon{margin-right:.5rem;font-size:1rem}.strength-meter{margin-top:1rem}.strength-bars{gap:.3rem;margin-bottom:.5rem;display:flex}.strength-bar{background-color:#e5e7eb;border-radius:3px;flex:1;height:5px;transition:all .3s}.strength-1{background-color:#ef4444}.strength-2{background-color:#f59e0b}.strength-3{background-color:#fbbf24}.strength-4{background-color:#10b981}.strength-5{background-color:#059669}.strength-text{color:#6b7280;font-size:.85rem;font-weight:500}.form-actions{justify-content:space-between;align-items:center;margin-top:2.5rem;display:flex}.save-btn{color:#fff;cursor:pointer;background-color:#050505;border:none;border-radius:5px;align-items:center;padding:10px;font-weight:500;transition:all .2s;display:flex}.save-btn:hover{background-color:#13121f;transform:translateY(-1px)}.btn-icon{margin-right:.5rem;font-size:1.1rem}.forgot-btn{color:#4f46e5;cursor:pointer;background:0 0;border:none;font-weight:500;text-decoration:underline;transition:color .2s}.forgot-btn:hover{color:#4338ca}.feature-card{background-color:#f9fafb;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem;transition:all .2s;display:flex}.feature-card:hover{background-color:#f3f4f6}.feature-content{flex:1;align-items:center;display:flex}.feature-icon{color:#4f46e5;background-color:#e0e7ff;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin-right:1rem;font-size:1.2rem;display:flex}.feature-details{flex:1}.feature-title{color:#111827;margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.feature-description{color:#6b7280;margin:0;font-size:.9rem}.toggle-switch{width:52px;height:28px;margin-left:1rem;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#d1d5db;border-radius:34px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .4s;position:absolute;bottom:4px;left:4px}input:checked+.slider{background-color:#4f46e5}input:checked+.slider:before{transform:translate(24px)}.verification-card{background-color:#f0fdf4;border:1px solid #dcfce7;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.verification-header{align-items:center;margin-bottom:1rem;display:flex}.verification-icon{color:#10b981;margin-right:1rem;font-size:1.5rem}.verification-title{color:#111827;margin:0;font-size:1.1rem;font-weight:600}.verification-content p{color:#374151;margin-bottom:1rem;font-size:.95rem;line-height:1.5}.verification-status{align-items:center;display:flex}.status-active{color:#fff;background-color:#10b981;border-radius:20px;margin-right:1rem;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.status-email{color:#4f46e5;font-size:.9rem;font-weight:500}.tips-card{border-radius:12px;padding:1.5rem}.tips-title{color:#111827;align-items:center;margin-bottom:1rem;font-size:1.2rem;font-weight:600;display:flex}.tips-icon{color:#4f46e5;margin-right:.75rem}.tips-list{color:#374151;margin:0;padding-left:1.5rem}.tips-list li{margin-bottom:.75rem;line-height:1.5;position:relative}.tips-list li span{padding-left:1.5rem;position:relative}.tips-list li:before{content:"";background-color:#4f46e5;border-radius:50%;width:6px;height:6px;position:absolute;top:.5rem;left:0}@media (width<=640px){.settings-container{margin:1rem;padding:1.5rem}.form-actions{flex-direction:column;gap:1rem}.save-btn,.forgot-btn{text-align:center;justify-content:center;width:100%}.feature-card{flex-direction:column;align-items:flex-start}.toggle-switch{align-self:flex-end;margin-top:1rem;margin-left:0}}.faqContainer{max-width:800px;margin:0 auto;padding:20px;font-family:Arial,sans-serif}.faqTitle{text-align:center;color:#2c3e50;margin-bottom:30px}.faqSearchContainer{margin-bottom:30px}.faqSearchBar{border:1px solid #ddd;border-radius:25px;outline:none;width:100%;padding:12px 15px;font-size:16px;transition:all .3s;box-shadow:0 2px 5px #0000001a}.faqSearchBar:focus{border-color:#3498db;box-shadow:0 2px 10px #3498db33}.faqList{border-radius:8px;overflow:hidden}.faqItem{border:1px solid #e0e0e0;border-radius:5px;margin-bottom:10px;overflow:hidden}.faqQuestion{color:#2c3e50;cursor:pointer;background-color:#f9f9f9;justify-content:space-between;align-items:center;padding:15px 20px;font-weight:600;transition:background-color .3s;display:flex}.faqQuestion:hover{background-color:#f1f1f1}.faqQuestion.active{color:#fff;background-color:#3498db}.faqToggleIcon{font-size:20px;font-weight:700}.faqAnswer{background-color:#fff;border-top:1px solid #e0e0e0;padding:20px}.faqAnswer p{color:#555;margin-bottom:15px;line-height:1.6}.faqScreenshot{text-align:center;margin-top:15px}.faqScreenshot img{border:1px solid #ddd;border-radius:5px;max-width:100%;box-shadow:0 2px 5px #0000001a}.faqNoResults{text-align:center;color:#7f8c8d;padding:30px;font-style:italic}@media (width<=600px){.faqContainer{padding:15px}.faqQuestion{padding:12px 15px}.faqAnswer{padding:15px}}.billing-header{color:#000;padding:24px 32px}.billing-header-inner{align-items:center;gap:16px;max-width:1100px;margin:0 auto;display:flex}.billing-header-logo{flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.billing-header-logo img{width:56px;height:56px}.billing-title{color:#000;margin:0;font-size:26px;line-height:1.1}.billing-subtitle{color:#000000a6;letter-spacing:.5px;margin:0;font-size:12px}.bill-settings-btn{color:#8b1a1a;cursor:pointer;background:#fff;border:1.5px solid #8b1a1a;border-radius:10px;align-items:center;gap:7px;margin-left:auto;padding:9px 18px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.bill-settings-btn:hover{color:#fff;background:#8b1a1a}.bill-link-btn{color:#8b1a1a;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.billing-body{max-width:1100px;margin:0 auto;padding:28px 20px 60px}.bill-type-tabs{background:#fff;border-radius:14px;gap:10px;width:fit-content;margin-bottom:24px;padding:6px;display:flex;box-shadow:0 2px 12px #00000012}.bill-type-tab{color:#666;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 22px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.bill-type-tab:hover{color:#8b1a1a;background:#fdf5f5}.bill-type-tab--active{color:#fff;background:#8b1a1a}.bill-type-tab--active:hover{background:#7a1616}.billing-grid{grid-template-columns:1fr 1.6fr;gap:20px;margin-bottom:20px;display:grid}@media (width<=820px){.billing-grid{grid-template-columns:1fr}}.bill-section{background:#fff;border:1px solid #eee;border-radius:16px;padding:22px;box-shadow:0 2px 12px #0000000f}.bill-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.bill-section-title{color:#1a1a1a;align-items:center;gap:10px;margin:0;font-size:17px;display:flex}.step-number{color:#fff;background:#8b1a1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:inline-flex}.bill-label{text-transform:uppercase;letter-spacing:.8px;color:#888;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.bill-input{color:#222;box-sizing:border-box;background:#fafafa;border:1.5px solid #e0e0e0;border-radius:8px;outline:none;width:100%;padding:9px 13px;font-size:13px;transition:border-color .2s}.bill-input:focus{background:#fff;border-color:#8b1a1a}.bill-student-search{margin-bottom:12px;position:relative}.bill-dropdown{z-index:100;background:#fff;border:1.5px solid #e0e0e0;border-radius:10px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.bill-dropdown-item{cursor:pointer;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .15s;display:flex}.bill-dropdown-item:hover{background:#fdf5f5}.bill-dropdown-name{color:#222;font-size:13px;font-weight:600}.bill-dropdown-class{color:#8b1a1a;background:#fdf0f0;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.bill-dropdown-empty{text-align:center;color:#aaa;padding:14px;font-size:13px}.bill-student-card{background:#fdf5f5;border:1.5px solid #f0d0d0;border-radius:10px;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.bill-student-avatar{color:#fff;background:linear-gradient(135deg,#8b1a1a,#c44);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.bill-student-info{flex:1}.bill-student-name{color:#1a1a1a;font-size:14px;font-weight:700}.bill-student-meta{color:#888;font-size:11px}.bill-concession-badge{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:20px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.bill-remove-btn{color:#bbb;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16px;transition:color .15s}.bill-remove-btn:hover{color:#8b1a1a}.bill-date-row{margin-top:12px}.bill-preview{background:#f8f8f8;border:1px solid #e8e8e8;border-radius:10px;margin-top:16px;overflow:hidden}.bill-preview-title{color:#fff;text-transform:uppercase;letter-spacing:.8px;background:#8b1a1a;padding:8px 12px;font-size:11px;font-weight:700}.bill-preview-row{color:#444;border-bottom:1px solid #eee;justify-content:space-between;padding:7px 12px;font-size:12px;display:flex}.bill-preview-total{color:#8b1a1a;background:#fdf5f5;justify-content:space-between;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.no-student-placeholder{color:#bbb;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;font-size:13px;display:flex}.fee-status-badge{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.status-paid{color:#16a34a;background:#dcfce7}.status-partial{color:#d97706;background:#fef3c7}.status-pending{color:#dc2626;background:#fee2e2}.months-list{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.month-row{background:#fafafa;border:1.5px solid #e8e8e8;border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 12px;transition:all .15s;display:flex}.month-row:hover{border-color:#ddd}.month-row--selected{background:#fdf5f5;border-color:#8b1a1a}.month-row--partial{background:#fffbeb;border-color:#f59e0b}.month-row--paid{opacity:.8;cursor:default;background:#f0fff4;border-color:#bbf7d0}.month-row-check{cursor:pointer;align-items:center;gap:8px;min-width:80px;display:flex}.month-row-check input[type=checkbox]{accent-color:#8b1a1a;width:15px;height:15px}.month-row-label{color:#333;font-size:13px;font-weight:600}.month-row-partial-info{color:#888;flex-wrap:wrap;flex:1;gap:8px;font-size:11px;display:flex}.partial-due{color:#e65c00;font-weight:700}.month-row-amt-edit{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.month-row-max{color:#bbb;white-space:nowrap;font-size:10px}.month-amt-input{text-align:right;width:100px!important;padding:5px 9px!important;font-size:12px!important}.amt-over{background:#fff0f0!important;border-color:#dc2626!important}.amt-partial-note{color:#d97706;white-space:nowrap;font-size:10px}.month-row-hint{margin-left:auto}.month-row-amt{color:#16a34a;margin-left:auto;font-size:12px;font-weight:700}.fee-section-inner{flex-direction:column;gap:0;display:flex}.activity-block{border:1.5px solid #e8e8e8;border-radius:12px;margin-top:16px;overflow:hidden}.activity-block-header{background:#f5f5f5;border-bottom:1px solid #e8e8e8;align-items:center;gap:10px;padding:10px 14px;display:flex}.activity-block-name{color:#1a1a1a;flex:1;font-size:14px;font-weight:700}.activity-block-base{color:#8b1a1a;font-size:12px;font-weight:600}.activity-block-remove{color:#bbb;cursor:pointer;background:0 0;border:none;padding:3px;font-size:14px;transition:color .15s}.activity-block-remove:hover{color:#8b1a1a}.activity-block .months-list{gap:4px;margin-bottom:0;padding:10px 12px}.bill-preset-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px;margin-bottom:14px;display:grid}.bill-preset-btn{cursor:pointer;text-align:left;background:#fafafa;border:1.5px solid #e0e0e0;border-radius:10px;flex-direction:column;align-items:flex-start;padding:10px 12px;transition:all .15s;display:flex}.bill-preset-btn:hover{background:#fdf5f5;border-color:#c44}.bill-preset-btn--active{background:#8b1a1a;border-color:#8b1a1a}.bill-preset-btn--active .bill-preset-name,.bill-preset-btn--active .bill-preset-amt{color:#fff}.bill-preset-name{color:#333;margin-bottom:4px;font-size:12px;font-weight:600}.bill-preset-amt{color:#8b1a1a;font-size:13px;font-weight:700}.bill-custom-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.bill-custom-name{flex:1}.bill-custom-amt{width:110px}.bill-add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#8b1a1a;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700;transition:background .15s}.bill-add-btn:hover{background:#6b1212}.bill-add-btn:disabled{cursor:not-allowed;background:#aaa}.fee-total-row{color:#8b1a1a;background:#fdf5f5;border-top:2px solid #8b1a1a;border-radius:0 0 10px 10px;justify-content:space-between;margin-top:0;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.bill-route-list{flex-direction:column;gap:7px;margin-bottom:4px;display:flex}.bill-route-btn{cursor:pointer;text-align:left;background:#fafafa;border:1.5px solid #e0e0e0;border-radius:10px;justify-content:space-between;align-items:flex-start;width:100%;padding:10px 14px;transition:all .15s;display:flex}.bill-route-btn:hover{background:#fdf5f5;border-color:#c44}.bill-route-btn--active{background:#fdf5f5;border-color:#8b1a1a}.bill-route-path{color:#222;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.bill-route-arrow{color:#8b1a1a;font-weight:700}.bill-route-amt{color:#8b1a1a;font-size:12px;font-weight:700}.route-after-disc{color:#16a34a;margin-top:2px;font-size:11px;font-weight:600;display:block}.bill-generate-bar{background:#fff;border:1px solid #eee;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;display:flex;box-shadow:0 2px 16px #00000014}.bill-generate-summary{flex-direction:column;gap:4px;display:flex}.bill-gen-count{color:#888;font-size:13px;font-weight:500}.bill-gen-total{color:#8b1a1a;font-size:18px;font-weight:700}.bill-generate-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b1a1a,#6b1212);border:none;border-radius:10px;padding:13px 32px;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 4px 16px #8b1a1a4d}.bill-generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #8b1a1a59}.bill-generate-btn:disabled{opacity:.5;cursor:not-allowed}.balance-overlay{z-index:9000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.balance-modal{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:90vh;animation:.25s balanceSlideIn;overflow-y:auto;box-shadow:0 24px 80px #0003}@keyframes balanceSlideIn{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.balance-modal-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:20px 22px 16px;display:flex}.balance-header-info{align-items:center;gap:12px;display:flex}.balance-avatar{color:#fff;background:linear-gradient(135deg,#8b1a1a,#c44);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex}.balance-student-name{color:#1a1a1a;font-size:16px;font-weight:700}.balance-student-meta{color:#888;align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex}.balance-concession-tag{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:20px;padding:1px 8px;font-size:10px;font-weight:700}.balance-close-btn{color:#888;cursor:pointer;background:#f5f5f5;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .15s;display:flex}.balance-close-btn:hover{color:#8b1a1a;background:#fee2e2}.balance-summary-row{grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 22px;display:grid}.balance-card{text-align:center;border-radius:12px;padding:14px 14px 10px}.balance-card--due{background:#fff3f3;border:1.5px solid #fecaca}.balance-card--paid{background:#f0fff4;border:1.5px solid #bbf7d0}.balance-card--pending{background:#fffbeb;border:1.5px solid #fde68a}.balance-card--clear{background:#f0fff4;border:1.5px dashed #34d399}.balance-card-label{text-transform:uppercase;letter-spacing:.8px;color:#888;margin-bottom:6px;font-size:10px;font-weight:700}.balance-card-value{color:#1a1a1a;font-size:18px;font-weight:800}.balance-card--due .balance-card-value{color:#dc2626}.balance-card--paid .balance-card-value{color:#16a34a}.balance-card--pending .balance-card-value{color:#d97706}.balance-card--clear .balance-card-value{color:#16a34a}.balance-edit-due-btn{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:6px;align-items:center;gap:4px;margin-top:6px;padding:3px 10px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.balance-edit-due-btn:hover{color:#fff;background:#dc2626}.balance-cleared-badge{color:#16a34a;margin-top:4px;font-size:11px;font-weight:700}.balance-set-due{align-items:center;gap:8px;padding:0 22px 14px;display:flex}.balance-set-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#8b1a1a;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:700;display:flex}.balance-set-btn:hover{background:#6b1212}.balance-section-title{text-transform:uppercase;letter-spacing:.8px;color:#888;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.balance-add-payment{border-bottom:1px solid #f0f0f0;padding:0 22px 16px}.balance-payment-row{align-items:center;gap:8px;display:flex}.balance-pay-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#16a34a;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:700;display:flex}.balance-pay-btn:hover{background:#15803d}.balance-pay-btn:disabled{cursor:not-allowed;background:#aaa}.balance-history{padding:16px 22px 22px}.balance-empty{text-align:center;color:#bbb;padding:20px 0;font-size:13px}.balance-records-list{flex-direction:column;gap:8px;max-height:200px;display:flex;overflow-y:auto}.balance-record-row{background:#f8fafb;border:1px solid #eee;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.balance-record-info{flex:1}.balance-record-note{color:#1a1a1a;font-size:13px;font-weight:600}.balance-record-date{color:#aaa;margin-top:2px;font-size:11px}.balance-record-amt{color:#16a34a;white-space:nowrap;font-size:14px;font-weight:700}.balance-record-del{color:#ccc;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px;font-size:12px;transition:color .15s}.balance-record-del:hover{color:#dc2626}.feeconfig-modal{background:#fff;border-radius:20px;width:100%;max-width:600px;max-height:88vh;animation:.25s balanceSlideIn;overflow-y:auto;box-shadow:0 24px 80px #0003}.feeconfig-tabs{border-bottom:1px solid #f0f0f0;gap:8px;padding:16px 22px 0;display:flex}.feeconfig-tab{color:#888;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.feeconfig-tab:hover{color:#8b1a1a}.feeconfig-tab--active{color:#8b1a1a;border-bottom-color:#8b1a1a}.feeconfig-body{padding:20px 22px 24px}.feeconfig-add-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.feeconfig-add-row .bill-input{flex:1;min-width:80px}.feeconfig-list{flex-direction:column;gap:8px;display:flex}.feeconfig-item{background:#fafafa;border:1.5px solid #eee;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;transition:border-color .15s;display:flex}.feeconfig-item:hover{border-color:#ddd}.feeconfig-route,.feeconfig-preset-name{color:#1a1a1a;flex:1;font-size:13px;font-weight:600}.feeconfig-amt{color:#8b1a1a;white-space:nowrap;text-align:right;min-width:80px;font-size:13px;font-weight:700}.feeconfig-edit-input{flex:1;min-width:70px;padding:6px 10px!important;font-size:12px!important}.feeconfig-amt-input{flex:none!important;width:90px!important}.feeconfig-edit-btn{color:#e65100;cursor:pointer;background:#fff3e0;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:all .15s;display:flex}.feeconfig-edit-btn:hover{color:#fff;background:#e65100}.feeconfig-del-btn{color:#d32f2f;cursor:pointer;background:#ffebee;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:all .15s;display:flex}.feeconfig-del-btn:hover{color:#fff;background:#d32f2f}.feeconfig-save-btn{color:#2e7d32;cursor:pointer;background:#e8f5e9;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;transition:all .15s;display:flex}.feeconfig-save-btn:hover{color:#fff;background:#2e7d32}.feeconfig-save-btn:disabled{color:#aaa;cursor:not-allowed;background:#eee}.feeconfig-cancel-btn{color:#888;cursor:pointer;background:#f5f5f5;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;transition:all .15s;display:flex}.feeconfig-cancel-btn:hover{color:#333;background:#eee}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0, 0, var(--toastify-z-index));width:var(--toastify-container-width);box-sizing:border-box;color:#fff;flex-direction:column;display:flex;position:fixed}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);align-items:center;left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);align-items:center;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y:0px;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;word-break:break-word;flex:auto;align-items:center;margin-bottom:1rem;display:flex;position:relative}@media only screen and (width<=480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (width<=480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{width:100%;transform:translate3d(0, var(--y), 0) scale(var(--s));transition:transform .3s;position:absolute}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";height:calc(var(--g) * 1px);position:absolute;bottom:100%;left:0;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{flex-shrink:0;width:22px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;padding:0;transition:all .3s;position:absolute;top:6px;right:6px}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{z-index:1;opacity:.7;transform-origin:0;width:100%;height:100%;position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0;overflow:hidden}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, var(--y), 0)}to{opacity:0;transform:translate3d(2000px, var(--y), 0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, var(--y), 0)}to{opacity:0;transform:translate3d(-2000px, var(--y), 0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0,0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0, var(--y), 0) scale3d(.3, .3, .3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0, var(--y), 0) perspective(400px)}30%{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(110%, var(--y), 0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(-110%, var(--y), 0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--maroon:#8b1a1a;--maroon-light:#b52525;--maroon-pale:#fdf4f4;--maroon-border:#e8c9c9;--green:#1a7a4a;--green-pale:#f0faf5;--orange:#c06010;--orange-pale:#fff7ee;--blue:#1a4a8b;--blue-pale:#f0f5ff;--text:#1c1c1c;--text-muted:#7a7a7a;--border:#e8e8e8;--bg:#f9f7f7;--card-bg:#fff;--radius:10px;--shadow:0 2px 12px #8b1a1a12;--shadow-lg:0 6px 28px #8b1a1a21}.fh-root{color:var(--text);background:var(--bg);max-width:1100px;min-height:100vh;margin:0 auto;padding:28px 32px;position:relative}.fh-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.fh-header__title{align-items:center;gap:14px;display:flex}.fh-header__icon{background:var(--maroon);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex;box-shadow:0 4px 14px #8b1a1a40}.fh-header h1{color:var(--maroon);margin:0 0 2px;font-size:26px}.fh-header p{color:var(--text-muted);margin:0;font-size:13px}.fh-search-section{margin-bottom:20px;position:relative}.fh-search-box{background:var(--card-bg);border:1.5px solid var(--maroon-border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:10px;padding:0 14px;transition:border-color .2s;display:flex}.fh-search-box:focus-within{border-color:var(--maroon);box-shadow:0 0 0 3px #8b1a1a14}.fh-search-icon{color:var(--maroon);font-size:16px}.fh-search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:13px 0;font-size:14.5px}.fh-search-input::placeholder{color:#bbb}.fh-search-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;padding:4px;font-size:16px;transition:background .15s}.fh-search-clear:hover{background:var(--maroon-pale);color:var(--maroon)}.fh-dropdown{background:var(--card-bg);border:1.5px solid var(--maroon-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;animation:.18s fh-fade-down;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}@keyframes fh-fade-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.fh-dropdown__item{cursor:pointer;border-bottom:1px solid #f5f0f0;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.fh-dropdown__item:last-child{border-bottom:none}.fh-dropdown__item:hover{background:var(--maroon-pale)}.fh-dropdown__avatar{background:var(--maroon);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.fh-dropdown__name{color:var(--text);font-size:14px;font-weight:600}.fh-dropdown__meta{color:var(--text-muted);margin-top:2px;font-size:12px}.fh-student-chip{background:var(--maroon-pale);border:1.5px solid var(--maroon-border);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:22px;padding:12px 18px;animation:.2s fh-fade-in;display:flex}.fh-student-chip__avatar{background:var(--maroon);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;font-weight:700;display:flex}.fh-student-chip strong{color:var(--maroon);font-size:15px;display:block}.fh-student-chip span{color:var(--text-muted);font-size:12.5px}.fh-concession-tag{color:#7a5000;background:#fff3cd;border:1px solid #f0d48a;border-radius:20px;margin-left:8px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.fh-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.fh-summary__card{border-radius:var(--radius);border:1.5px solid #0000;padding:18px 20px;animation:.25s fh-fade-in}.fh-summary__card--blue{background:var(--blue-pale);border-color:#c0d4f5}.fh-summary__card--green{background:var(--green-pale);border-color:#b0e0c8}.fh-summary__card--red{background:var(--maroon-pale);border-color:var(--maroon-border)}.fh-summary__card--orange{background:var(--orange-pale);border-color:#f0d0a0}.fh-summary__label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:6px;font-size:11.5px;font-weight:600}.fh-summary__value{color:var(--text);font-size:22px}.fh-summary__card--green .fh-summary__value{color:var(--green)}.fh-summary__card--red .fh-summary__value{color:var(--maroon)}.fh-summary__card--blue .fh-summary__value{color:var(--blue)}.fh-summary__card--orange .fh-summary__value{color:var(--orange)}.fh-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.fh-tabs{gap:6px;display:flex}.fh-tab{border:1.5px solid var(--border);cursor:pointer;color:var(--text-muted);background:#fff;border-radius:20px;padding:7px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .18s}.fh-tab:hover{border-color:var(--maroon);color:var(--maroon)}.fh-tab--active{background:var(--maroon);border-color:var(--maroon);color:#fff;font-weight:600}.fh-filter-selects{gap:10px;display:flex}.fh-select{border:1.5px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;outline:none;padding:7px 12px;font-family:DM Sans,sans-serif;font-size:13px;transition:border-color .18s}.fh-select:focus{border-color:var(--maroon)}.fh-records{flex-direction:column;gap:8px;display:flex}.fh-record{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);transition:border-color .18s,box-shadow .18s;animation:.2s fh-fade-in;overflow:hidden}.fh-record:hover{border-color:var(--maroon-border);box-shadow:var(--shadow)}.fh-record--open{border-color:var(--maroon-border)}.fh-record__header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:14px 18px;transition:background .15s;display:flex}.fh-record__header:hover{background:var(--maroon-pale)}.fh-record__header--flat{cursor:default}.fh-record__header--flat:hover{background:0 0}.fh-record__left,.fh-record__right{align-items:center;gap:12px;display:flex}.fh-record__chevron{color:var(--maroon);width:16px;font-size:14px}.fh-record__icon{font-size:20px}.fh-record__label{color:var(--text);font-size:14px;font-weight:600}.fh-record__sub{color:var(--text-muted);margin-top:2px;font-size:12px}.fh-record__amounts{align-items:baseline;gap:4px;display:flex}.fh-record__paid{color:var(--green);font-size:15px;font-weight:700}.fh-record__sep,.fh-record__due{color:var(--text-muted);font-size:13px}.fh-record__billed{color:var(--text-muted);font-size:12px}.fh-record__payments{border-top:1.5px solid var(--border);background:#fdfafa;padding:0;animation:.18s fh-slide-down}@keyframes fh-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.fh-table{border-collapse:collapse;width:100%}.fh-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);background:#f5f0f0;padding:10px 18px;font-size:11px;font-weight:700}.fh-table td{color:var(--text);border-bottom:1px solid #f5f0f0;padding:10px 18px;font-size:13px}.fh-table tr:last-child td{border-bottom:none}.fh-td--amount{color:var(--green);text-align:right;font-weight:600}.fh-empty-row{color:var(--text-muted);padding:16px 18px;font-size:13px}.fh-balance-meta{background:var(--maroon-pale);border:1.5px solid var(--maroon-border);border-radius:var(--radius);align-items:center;gap:24px;margin-bottom:8px;padding:12px 20px;font-size:13.5px;display:flex}.fh-balance-meta span{color:var(--text-muted)}.fh-balance-meta strong{color:var(--text)}.fh-text--red{color:var(--maroon)!important}.fh-btn{cursor:pointer;font-family:DM Sans,sans-serif;transition:all .18s}.fh-btn--icon{background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.fh-btn--print{color:var(--maroon)}.fh-btn--print:hover{background:var(--maroon-pale)}.fh-btn--delete{color:#c00}.fh-btn--delete:hover{background:#fff0f0}.fh-btn--print-all{background:var(--maroon);color:#fff;border-radius:var(--radius);border:none;align-items:center;gap:7px;padding:9px 18px;font-size:13.5px;font-weight:600;display:flex;box-shadow:0 3px 10px #8b1a1a38}.fh-btn--print-all:hover{background:var(--maroon-light);transform:translateY(-1px);box-shadow:0 4px 16px #8b1a1a4d}.fh-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:20px;align-items:center;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.fh-badge--paid{color:#1a7a4a;background:#e6f7ee}.fh-badge--partial{color:#c06010;background:#fff7e6}.fh-badge--pending{color:var(--maroon);background:#fef0f0}.fh-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.fh-spinner{border:2.5px solid var(--maroon-border);border-top-color:var(--maroon);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite fh-spin}@keyframes fh-spin{to{transform:rotate(360deg)}}.fh-empty{background:var(--card-bg);border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:48px 20px;font-size:14px;display:flex}.fh-empty__icon{font-size:36px}.fh-placeholder{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:80px 20px;display:flex}.fh-placeholder__icon{opacity:.35;font-size:52px}.fh-placeholder__text{max-width:320px;font-size:15px;line-height:1.5}.fh-modal-overlay{z-index:999;background:#14000073;justify-content:center;align-items:center;animation:.18s fh-fade-in;display:flex;position:fixed;inset:0}.fh-modal{text-align:center;background:#fff;border-radius:14px;width:90%;max-width:380px;padding:32px 36px;animation:.2s cubic-bezier(.34,1.56,.64,1) fh-pop;box-shadow:0 20px 60px #00000040}@keyframes fh-pop{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.fh-modal__icon{margin-bottom:10px;font-size:38px}.fh-modal h3{color:var(--maroon);margin:0 0 8px;font-family:DM Serif Display,serif;font-size:20px}.fh-modal p{color:var(--text-muted);margin:0 0 22px;font-size:13.5px;line-height:1.6}.fh-modal__actions{justify-content:center;gap:10px;display:flex}.fh-btn--cancel{border:1.5px solid var(--border);color:var(--text-muted);background:#fff;border-radius:8px;padding:9px 22px;font-size:13.5px;font-weight:500}.fh-btn--cancel:hover{background:#f5f5f5}.fh-btn--danger{background:var(--maroon);color:#fff;border:none;border-radius:8px;padding:9px 22px;font-size:13.5px;font-weight:600;box-shadow:0 3px 10px #8b1a1a40}.fh-btn--danger:hover{background:var(--maroon-light)}@keyframes fh-fade-in{0%{opacity:0}to{opacity:1}}@media (width<=768px){.fh-root{padding:18px 16px}.fh-summary{grid-template-columns:repeat(2,1fr)}.fh-filters{flex-direction:column;align-items:flex-start}.fh-record__right{flex-wrap:wrap;gap:6px}.fh-balance-meta{flex-wrap:wrap;gap:12px}.fh-header{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=480px){.fh-summary{grid-template-columns:1fr 1fr;gap:10px}.fh-summary__value{font-size:18px}.fh-tabs,.fh-filter-selects{flex-wrap:wrap}.fh-table th,.fh-table td{padding:8px 12px}}.fh-search-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.fh-search-filter-select{color:#2d3748;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;min-width:130px;padding:8px 12px;font-size:13px;transition:border-color .2s}.fh-search-filter-select:focus{border-color:#8b1a1a}.fh-search-clear-filters{color:#8b1a1a;cursor:pointer;background:0 0;border:1.5px solid #8b1a1a;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.fh-search-clear-filters:hover{color:#fff;background:#8b1a1a}.fh-dropdown__empty{text-align:center;color:#999;padding:16px;font-size:13px}.fh-bill-months{color:#555;font-size:11.5px}.fh-bill-month-row{border-top:1px solid #f0eded;padding:10px 16px 6px}.fh-bill-month-row:first-child{border-top:none}.fh-bill-month-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.fh-bill-month-label{color:#2d3748;font-size:13px;font-weight:600}.fh-bill-month-amt{color:#1a7a4a;font-size:13px;font-weight:700}.fh-bill-month-pending{color:#8b1a1a;font-size:11px;font-weight:500}.fh-bill-payment-row{color:#666;border-top:1px dashed #f0eded;align-items:center;gap:12px;padding:4px 0 4px 16px;font-size:12px;display:flex}.fh-bill-payment-date{color:#888;min-width:90px}.fh-bill-payment-billno{color:#999;flex:1;font-family:monospace;font-size:11px}.fh-bill-payment-amt{color:#2d3748;text-align:right;min-width:70px;font-weight:600}.fh-bill-group-summary{color:#555;background:#fef0f0;border-top:1px solid #f5c6c6;border-radius:0 0 8px 8px;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12.5px;display:flex}:root{--brand-navy:#1a2744;--brand-blue:#2563eb;--brand-blue-light:#3b82f6;--brand-accent:#f59e0b;--bg-soft:#f0f4ff;--surface:#fff;--text-primary:#1a2744;--text-muted:#6b7280;--border:#e2e8f0;--error:#ef4444;--success:#10b981;--shadow-card:0 20px 60px #2563eb1f, 0 4px 16px #0000000f}.login-page{background:var(--bg-soft);min-height:100vh;display:flex;position:relative;overflow:hidden}.login-panel-left{background:linear-gradient(145deg, var(--brand-navy) 0%, #1e3a8a 60%, #2563eb 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem;display:flex;position:relative;overflow:hidden}.login-panel-left:before{content:"";background:#ffffff0a;border-radius:50%;width:500px;height:500px;position:absolute;top:-120px;left:-120px}.login-panel-left:after{content:"";background:#f59e0b14;border-radius:50%;width:350px;height:350px;position:absolute;bottom:-80px;right:-80px}.login-brand{text-align:center;color:#fff;z-index:1}.login-brand-icon{background:#ffffffdf;border:1px solid #fff3;border-radius:20px;justify-content:center;align-items:center;width:150px;height:150px;margin:0 auto 1.5rem;font-size:2.2rem;display:flex}.login-brand h1{letter-spacing:-.5px;margin:0 0 .5rem;font-size:2.2rem;font-weight:700}.login-brand p{color:#ffffffa6;margin:0;font-size:1rem;font-weight:300}.login-features{z-index:1;flex-direction:column;gap:1rem;margin-top:3rem;display:flex}.login-feature-item{color:#fffc;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.login-feature-dot{background:var(--brand-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.login-panel-right{background:var(--surface);justify-content:center;align-items:center;width:480px;padding:2rem;display:flex}.login-card{width:100%;max-width:400px}.login-card-header{margin-bottom:2.5rem}.login-card-header h2{color:var(--text-primary);margin:0 0 .4rem;font-size:1.8rem;font-weight:600}.login-card-header p{color:var(--text-muted);margin:0;font-size:.92rem}.login-error{color:var(--error);background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.88rem;animation:.3s shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-form{flex-direction:column;gap:1.25rem;display:flex}.form-field{flex-direction:column;gap:.45rem;display:flex}.form-field label{color:var(--text-primary);letter-spacing:.01em;font-size:.85rem;font-weight:500}.input-wrapper{position:relative}.input-icon{color:var(--text-muted);pointer-events:none;font-size:1rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.form-field input{border:1.5px solid var(--border);width:100%;color:var(--text-primary);box-sizing:border-box;background:#fafbff;border-radius:10px;outline:none;padding:.8rem 1rem .8rem 2.75rem;font-size:.93rem;transition:border-color .2s,box-shadow .2s,background .2s}.form-field input:focus{border-color:var(--brand-blue);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.form-field input.input-error{border-color:var(--error);background:#fff8f8}.password-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:1rem;line-height:1;transition:color .2s;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--brand-blue)}.login-options{justify-content:space-between;align-items:center;display:flex}.remember-me{cursor:pointer;color:var(--text-muted);align-items:center;gap:.5rem;font-size:.87rem;display:flex}.remember-me input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand-blue);cursor:pointer}.forgot-link{color:var(--brand-blue);font-size:.87rem;font-weight:500;text-decoration:none;transition:color .2s}.forgot-link:hover{color:var(--brand-navy)}.login-btn{background:linear-gradient(135deg, var(--brand-blue) 0%, #1d4ed8 100%);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.9rem;font-size:.97rem;font-weight:600;transition:transform .15s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 4px 14px #2563eb59}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.login-demo-hint{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;margin-top:1.5rem;padding:.9rem 1rem;font-size:.82rem}.login-demo-hint strong{color:#0c4a6e;margin-bottom:.3rem;display:block}@media (width<=768px){.login-panel-left{display:none}.login-panel-right{width:100%}}
