@import"https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap";*{padding:0;margin:0;box-sizing:border-box;font-family:Outfit;scroll-behavior:smooth}body{min-height:100vh}a{text-decoration:none;color:inherit}.app{width:100%}.app-sidebar{width:var(--sidebar-width);height:100vh;background-color:#111827;color:#d1d5db;display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:200;transition:transform var(--transition-speed);transform:translate(0)}.app-layout.sidebar-collapsed .app-sidebar{transform:translate(-100%)}@media (max-width: 1200px){.app-sidebar{transform:translate(-100%)}.app-layout:not(.sidebar-collapsed) .app-sidebar{transform:translate(0)}}.sidebar-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;border-bottom:1px solid #374151;flex-shrink:0}.sidebar-brand-link{text-decoration:none}.sidebar-title{margin:0;font-size:1.5rem;color:#fff;white-space:nowrap}.sidebar-close-btn{display:none;background:none;border:none;color:#9ca3af;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:color .2s,background-color .2s}.sidebar-close-btn:hover{color:#fff;background-color:#374151}.sidebar-nav{flex-grow:1;overflow-y:auto}.sidebar-nav ul{list-style:none;padding:1rem 0;margin:0}.nav-link{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;color:#d1d5db;text-decoration:none;transition:background-color .2s,color .2s;white-space:nowrap;overflow:hidden}.nav-link:hover{background-color:#374151;color:#fff}.nav-link.active{background-color:#4f46e5;color:#fff;font-weight:600}.nav-icon{font-size:1.2rem;width:24px;text-align:center;flex-shrink:0}.nav-label{opacity:1;transition:opacity .2s ease-in-out}.app-layout.sidebar-collapsed .nav-label{opacity:0}@media (max-width: 1200px){.sidebar-close-btn{display:flex;align-items:center;justify-content:center}.sidebar-header{padding:0 1rem}}.avatar{display:flex;justify-content:center;align-items:center;border-radius:50%;background-color:var(--color-avatar-bg);color:var(--color-avatar-text);font-weight:700;text-align:center;overflow:hidden;box-sizing:border-box}.avatar-image{display:block;width:100%;height:100%;object-fit:cover}.avatar-initials{font-size:1.2em}.avatar.small{width:32px;height:32px;font-size:.8em}.avatar.medium{width:48px;height:48px;font-size:1.1em}.avatar.large{width:64px;height:64px;font-size:1.3em}.avatar.circular-border{border:2px solid var(--color-primary)}@media (max-width: 768px){.avatar.small{width:28px;height:28px}.avatar.medium{width:42px;height:42px}.avatar.large{width:56px;height:56px}}:root{--color-white: #ffffff;--color-primary: #007bff;--color-avatar-bg: #6c757d;--color-avatar-text: #ffffff}:root{--header-height: 60px}.app-header{height:var(--header-height);display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;background-color:#fff;border-bottom:1px solid #e2e8f0;position:fixed;top:0;right:0;z-index:100;width:calc(100% - var(--sidebar-width));transition:width var(--transition-speed)}.app-layout.sidebar-collapsed .app-header{width:100%}@media (max-width: 1200px){.app-header{width:100%}}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:1rem}.header-center{flex-grow:1;justify-content:center}.sidebar-toggle-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#374151;padding:.5rem;border-radius:50%;display:flex}.sidebar-toggle-btn:hover{background-color:#f3f4f6}.page-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0;white-space:nowrap}.search-container{position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.search-input{padding:.5rem .75rem .5rem 2.5rem;border-radius:8px;border:1px solid #d1d5db;min-width:300px;font-size:.9rem;transition:all .2s}.search-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e533}.profile-section{position:relative}.profile-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:.75rem;padding:6px;border-radius:8px;transition:background-color .2s}.profile-btn:hover{background-color:#f0f2f5}.profile-name{font-weight:500;color:#2d3748;display:none}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;border:1px solid #e2e8f0;width:220px;overflow:hidden;z-index:1001;padding:8px 0;animation:dropdown-fade-in .2s ease-out}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;padding:10px 16px;font-size:.9rem;color:#4a5568;text-decoration:none;background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:background-color .2s}.dropdown-item:hover{background-color:#f7fafc}.dropdown-icon{margin-right:12px;color:#718096;font-size:16px;width:20px}.dropdown-divider{height:1px;background-color:#e2e8f0;margin:8px 0}.dropdown-item-logout,.dropdown-item-logout .dropdown-icon{color:#e53e3e;font-weight:500}.dropdown-item-logout:hover{background-color:#fff5f5}@media (min-width: 768px){.profile-name{display:inline}}@media (max-width: 640px){.page-title,.header-center .search-container{display:none}.app-header{padding:0 1rem;justify-content:space-between}.header-center{flex-grow:0}.header-right{flex-grow:1;justify-content:flex-end}}.app-footer{background-color:#fff;border-top:1px solid #e0e0e0;padding:20px 24px;width:100%;box-sizing:border-box;margin-top:auto}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;max-width:1200px;margin:0 auto}.copyright-text{margin:0;font-size:14px;color:#718096}.footer-links{display:flex;align-items:center;gap:16px}.footer-link{font-size:14px;color:#4a5568;text-decoration:none;transition:color .2s ease-in-out}.footer-link:hover{color:#4a90e2;text-decoration:underline}.link-separator{color:#cbd5e0}@media (max-width: 768px){.footer-content{flex-direction:column;justify-content:center;text-align:center}}:root{--sidebar-width: 260px;--header-height: 60px;--transition-speed: .3s ease-in-out}.app-layout{padding-left:var(--sidebar-width);transition:padding-left var(--transition-speed);background-color:#f3f4f6}.app-layout.sidebar-collapsed{padding-left:0}.main-wrapper{position:relative;padding:1.5rem 2rem}.main-content{padding-top:var(--header-height);min-height:100vh;display:flex;flex-direction:column}.sidebar-backdrop{display:none}@media (max-width: 1200px){.app-layout{padding-left:0}.sidebar-backdrop{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:199;animation:fadeInBackdrop .3s ease-in-out}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fffc;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #4a90e2;border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:20px;font-size:16px;font-weight:500;color:#333}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.spinner{border-radius:50%;border-style:solid;border-color:#007bff;border-bottom-color:transparent;border-left-color:transparent;border-right-color:transparent;animation:spin .8s linear infinite}.size-small{width:24px;height:24px;border-width:3px}.size-medium{width:48px;height:48px;border-width:5px}.size-large{width:80px;height:80px;border-width:8px}.spinner-label{margin:0;font-size:16px;font-weight:500;color:#6c757d}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.btn{padding:10px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;text-decoration:none;transition:all .2s ease-in-out;font-family:inherit;white-space:nowrap;text-align:center}.btn.full-width{width:100%;display:flex}.btn-icon{display:flex;align-items:center;justify-content:center}.btn.loading .btn-icon,.btn.loading .btn-text{display:none}.btn .button-spinner-container{display:flex;align-items:center;justify-content:center}.btn-primary:hover:not(:disabled){background-color:#0056b3;border-color:#0056b3;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-secondary{background-color:#fff;color:#007bff;border-color:#007bff}.btn-secondary:hover:not(:disabled){background-color:#f0f8ff;color:#0056b3;border-color:#0056b3}.btn-link{background-color:transparent;color:#007bff;border-color:transparent;padding:10px;font-weight:400;gap:0}.btn-link:hover:not(:disabled){color:#0056b3;text-decoration:underline}.btn:disabled{background-color:#e9ecef;border-color:#e9ecef;color:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.btn.small{padding:8px 16px;font-size:14px}.btn.medium{padding:10px 24px;font-size:16px}.btn.large{padding:12px 30px;font-size:18px}@media (max-width: 768px){.btn{padding:10px 15px;font-size:15px}.btn.large{padding:12px 20px;font-size:16px}.btn.full-width{width:100%}}:root{--color-white: #ffffff;--color-light-gray-border: #e0e0e0;--color-dark-text: #333333;--color-primary: #007bff;--color-primary-hover-bg: #0056b3}@keyframes scaleUp{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:20px}.modal-content{background:#fff;padding:0;border-radius:8px;box-shadow:0 5px 15px #0000004d;width:90%;max-width:550px;animation:scaleUp .2s ease-out;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e9ecef;flex-shrink:0}.modal-title{margin:0;font-size:20px;font-weight:600;color:#343a40}.modal-close-button{background:transparent;border:none;font-size:28px;line-height:1;color:#6c757d;cursor:pointer;padding:0}.modal-close-button:hover{color:#212529}.modal-body{padding:24px;font-size:16px;line-height:1.5;color:#495057;overflow-y:auto;flex-grow:1}.confirmation-content{display:flex;align-items:center;gap:20px;margin-bottom:24px}.confirmation-icon-wrapper{flex-shrink:0}.confirmation-icon{font-size:32px;color:#dd6b20}.confirmation-message{margin:0;font-size:16px;color:#4a5568;line-height:1.6}.confirmation-actions{display:flex;justify-content:flex-end;gap:12px}.datatable-container{width:100%;overflow-x:auto;background-color:#fff;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.datatable{width:100%;border-collapse:collapse}.datatable th,.datatable td{padding:12px 16px;text-align:left;vertical-align:middle}.datatable thead{background-color:#f8fafc}.datatable th{font-size:12px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.datatable tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s ease,border-left-color .2s ease}.datatable tbody tr:last-child{border-bottom:none}.datatable tbody tr:hover .clickable-cell{background-color:#f7fafc}.datatable .clickable-cell{cursor:pointer}.datatable tbody tr.active-row{background-color:#eff6ff!important;border-left:3px solid #3b82f6}.datatable td{font-size:14px;color:#2d3748}.actions-column{text-align:right;width:1%;white-space:nowrap}.action-buttons{display:flex;justify-content:flex-end;gap:10px}.action-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background-color .2s,color .2s}.assign-btn{color:#38a169}.assign-btn:hover{background-color:#e6f7ed}.delete-btn{color:#ef4444}.delete-btn:hover{background-color:#fee2e2}.action-btn:disabled{color:#cbd5e1;cursor:not-allowed;background-color:transparent!important}.no-data-message{text-align:center;padding:40px;font-size:16px;color:#718096;background-color:#fff;border-radius:8px;border:1px solid #e2e8f0}@media (max-width: 768px){.datatable-container{border:none;box-shadow:none}.datatable{border:none}.datatable thead{display:none}.datatable tr{display:block;margin-bottom:16px;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000000d;background-color:#fff}.datatable td{display:block;text-align:right;padding-left:50%;position:relative;border-bottom:1px solid #e2e8f0}.datatable td:last-child{border-bottom:none}.datatable td:before{content:attr(data-label);position:absolute;left:16px;font-weight:600;color:#4a5568;text-align:left;white-space:nowrap}.actions-column{width:auto}.actions-column .action-buttons{justify-content:flex-end}}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;line-height:1;text-transform:capitalize;white-space:nowrap}.status-badge.success{background-color:#dcfce7;color:#166534}.status-badge.warning{background-color:#fef3c7;color:#92400e}.status-badge.error{background-color:#fee2e2;color:#991b1b}.status-badge.info{background-color:#dbeafe;color:#1e40af}.status-badge.default{background-color:#f3f4f6;color:#374151}.alert{position:relative;padding:15px 40px 15px 15px;margin-bottom:15px;border:1px solid transparent;border-radius:6px;display:flex;align-items:center;font-size:.95rem;line-height:1.4;box-shadow:0 2px 4px #0000000d}.alert.info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert.success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert.warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert.error{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-close-button{position:absolute;top:50%;right:10px;transform:translateY(-50%);background:none;border:none;font-size:1.8rem;font-weight:400;line-height:1;color:inherit;cursor:pointer;opacity:.7;padding:0;transition:opacity .2s ease-in-out}.alert-close-button:hover{opacity:1}.alert-message{flex-grow:1}.alert:not(.has-close-button) .alert-message{width:100%}@media (max-width: 768px){.alert{padding:10px 35px 10px 10px;font-size:.9rem}.alert-close-button{font-size:1.6rem;right:8px}}:root{--color-white: #ffffff;--color-light-gray-border: #e0e0e0;--color-dark-text: #333333;--color-gray-text: #757575;--color-secondary-text: #616161;--color-primary: #007bff;--color-error: #dc3545;--color-success: #28a745;--color-info: #17a2b8;--color-warning: #ffc107}.tabs-container{display:flex;border-bottom:2px solid #e2e8f0}.tab-item{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:500;color:#718096;background-color:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-2px;transition:all .2s ease-in-out}.tab-item:hover{background-color:#f8fafc;color:#2d3748}.tab-item.active{color:#4a90e2;border-bottom-color:#4a90e2;font-weight:600}.tab-item:focus{outline:none}.tab-item:focus-visible{outline:2px solid #4a90e2;outline-offset:2px;border-radius:6px}.tab-icon{font-size:16px}.searchbox-container{position:relative;width:100%;max-width:320px}.search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#a0aec0;font-size:14px}.search-input{width:100%;padding:10px 15px 10px 40px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background-color:#fff;color:#2d3748;transition:border-color .2s,box-shadow .2s}.search-input::placeholder{color:#a0aec0}.search-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e226}.user-list-container{display:flex;flex-direction:column}.user-list-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;padding:.5rem 1.5rem;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.user-list-controls .searchbox-container{max-width:300px}.tab-content-container{padding:1rem 1.5rem 1.5rem;width:100%;box-sizing:border-box;overflow-x:auto}.user-list-container .role-cell{text-transform:capitalize;font-weight:500;font-size:.85rem}.user-list-container .datatable th:first-child,.user-list-container .datatable td:first-child{min-width:200px}.user-list-container .datatable th:nth-child(2),.user-list-container .datatable td:nth-child(2){min-width:220px}@media (max-width: 768px){.user-list-controls{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.user-list-controls .searchbox-container{max-width:none}.tab-content-container{padding:1rem}}.user-profile-card{background-color:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d;overflow:hidden}.profile-header{display:flex;align-items:center;gap:20px;padding:24px;background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.profile-header-info{flex-grow:1}.profile-name{margin:0;font-size:20px;font-weight:600;color:#1a202c}.profile-email{margin:4px 0 0;font-size:14px;color:#718096}.profile-actions{display:flex;gap:12px}.profile-details{padding:24px}.details-title{font-size:16px;font-weight:600;color:#2d3748;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.details-list{margin:0;padding:0;display:grid;gap:16px}.detail-item{display:flex;justify-content:space-between;align-items:center;font-size:14px}.detail-item dt{display:flex;align-items:center;gap:8px;color:#718096}.detail-item dd{margin:0;font-weight:500;color:#2d3748;text-transform:capitalize}.user-profile-loading{display:flex;justify-content:center;align-items:center;height:300px;font-size:16px;color:#a0aec0;background-color:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px}.input-field-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.input-field-container .input-label{font-weight:500;color:#374151;font-size:.9rem}.input-field-container .input-wrapper{position:relative;display:flex;align-items:center}.input-field{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;font-family:inherit;color:#111827;background-color:#fff;box-shadow:inset 0 1px 2px #0000000d;transition:border-color .2s,box-shadow .2s}.input-field[type=textarea]{resize:vertical;min-height:80px}.input-field:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.input-field:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.input-icon{position:absolute;left:.75rem;color:#9ca3af;pointer-events:none}.input-field-container.has-icon .input-field{padding-left:2.5rem}.password-toggle-btn{position:absolute;right:0;top:0;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:0 .75rem;color:#9ca3af;transition:color .2s ease-in-out}.password-toggle-btn:hover{color:#374151}.password-toggle-btn:focus{outline:none}.input-wrapper .input-field[type=password],.input-wrapper .input-field[type=text]{padding-right:2.75rem}.input-field-container.has-error .input-field{border-color:#ef4444;background-color:#fee2e2}.input-field-container.has-error .input-field:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc262633}.input-field-container .input-error-message{color:#b91c1c;font-size:.8rem;margin:.25rem 0 0}.select-container{margin-bottom:20px;width:100%}.select-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#495057}.select-wrapper{position:relative}.select-wrapper:after{content:"▼";font-size:12px;color:#6c757d;position:absolute;top:50%;right:16px;transform:translateY(-50%);pointer-events:none}.select-field{width:100%;height:44px;padding:10px 40px 10px 16px;border:1px solid #ced4da;border-radius:8px;box-sizing:border-box;font-size:16px;font-family:inherit;color:#212529;background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}.select-field:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 4px #007bff40}.select-field:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.7}.select-field:disabled+.select-wrapper:after{opacity:.5}.select-field.is-invalid{border-color:#dc3545}.select-field.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 4px #dc354540}.select-error-message{color:#dc3545;font-size:13px;margin-top:6px}.toast-container{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px}.toast{display:flex;align-items:flex-start;width:350px;max-width:90vw;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border-left:5px solid;overflow:hidden;animation:slideInRight .3s ease-out;position:relative}.toast-icon{font-size:20px;padding:16px;display:flex;align-items:center;justify-content:center}.toast-content{padding:16px 16px 16px 0;flex-grow:1}.toast-title{font-weight:600;color:#1a202c;margin:0 0 4px}.toast-message{font-size:14px;color:#4a5568;margin:0}.toast-close-btn{background:none;border:none;cursor:pointer;color:#a0aec0;font-size:20px;padding:16px;align-self:flex-start}.toast-close-btn:hover{color:#2d3748}.toast.success{border-color:#48bb78}.toast.success .toast-icon{color:#48bb78}.toast.error{border-color:#f56565}.toast.error .toast-icon{color:#f56565}.toast.warning{border-color:#ed8936}.toast.warning .toast-icon{color:#ed8936}.toast.info{border-color:#4299e1}.toast.info .toast-icon{color:#4299e1}.toast-progress{position:absolute;bottom:0;left:0;height:4px;background-color:#0003;animation:shrink forwards linear}@keyframes shrink{0%{width:100%}to{width:0%}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.add-user-form{display:flex;flex-direction:column;gap:1.2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014}.add-user-form input,.add-user-form select{border-radius:8px;padding:.75rem;border:1px solid #ddd;transition:border-color .2s}.add-user-form input:focus,.add-user-form select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e233}.add-user-form .error{color:#d93025;font-size:.85rem;margin-top:-.6rem;margin-bottom:.6rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.form-actions button{min-width:120px}.edit-user-form{display:flex;flex-direction:column}.form-helper-text{font-size:14px;color:#718096;margin-bottom:20px;padding:12px;background-color:#f7fafc;border-radius:8px;text-align:center}.form-helper-text strong{color:#2d3748}.add-faculty-form{padding:1rem;display:flex;flex-direction:column;gap:1.25rem}.form-description{margin:0 0 .5rem;color:#4a5568;font-size:.9rem;line-height:1.5;background-color:#f8fafc;padding:1rem;border-radius:6px;border:1px solid #e2e8f0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.no-users-message{text-align:center;padding:2rem;color:#718096;font-style:italic}.page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.page-subtitle{margin:.25rem 0 0;color:#6b7280;font-size:1rem}.header-actions{display:flex;gap:1rem;flex-shrink:0}.user-management-container{background-color:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}.header-actions .button{width:100%;justify-content:center}}.course-list-container{width:100%}.duration-pill{background-color:#eef2ff;color:#4338ca;font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px;margin-left:8px;vertical-align:middle}.enrollment-cell{font-family:monospace;font-size:.9rem}.course-details-card{background-color:#fff}.details-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:1.5rem;background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.header-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.course-title{margin:0;font-size:1.25rem;font-weight:600;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-code{font-size:1rem;color:#718096;font-weight:500}.header-actions{display:flex;gap:12px;flex-shrink:0}.details-body{padding:1.5rem}.detail-section{margin-bottom:1.5rem}.detail-section:last-child{margin-bottom:0}.section-title{font-size:1rem;font-weight:600;color:#2d3748;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.section-content{font-size:.9rem;color:#4a5568;line-height:1.6;margin:0}.description{white-space:pre-wrap}.info-list{display:grid;gap:1rem}.info-item{display:grid;grid-template-columns:130px 1fr;gap:1rem;font-size:.9rem}.info-item dt{color:#718096;font-weight:500}.info-item dd{margin:0;color:#2d3748;font-weight:500}.course-details-placeholder{display:flex;justify-content:center;align-items:center;min-height:250px;border:2px dashed #e2e8f0;border-radius:8px;background-color:#f8fafc;color:#a0aec0;font-size:1rem}@media (max-width: 576px){.details-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-end}.info-item{grid-template-columns:100px 1fr}}.info-item-full{grid-column:1 / -1}.structure-details{display:flex;flex-direction:column;gap:.75rem}.structure-type-badge{background-color:#ede9fe;color:#5b21b6;font-size:.8rem;font-weight:500;padding:.25rem .6rem;border-radius:6px;width:fit-content}.structure-grid{display:flex;flex-wrap:wrap;gap:.5rem}.structure-item{background-color:#f1f5f9;color:#475569;font-size:.85rem;padding:.3rem .75rem;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 1px 2px #00000008}.add-course-form{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;justify-content:center}.edit-course-form{display:flex;flex-direction:column;gap:24px}.course-container{display:flex;flex-direction:column;height:100%;animation:fadeIn .4s ease-in-out;padding:1.5rem 2rem}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.page-layout-split{display:flex;gap:24px;flex-grow:1;overflow:hidden}.list-panel{width:40%;flex-shrink:0;height:100%;overflow-y:auto;padding-right:12px}.detail-panel{flex-grow:1;width:60%;height:100%;overflow-y:auto;padding-right:12px}@media (max-width: 1024px){.page-layout-split{flex-direction:column;overflow:visible}.list-panel,.detail-panel{width:100%;height:auto;overflow-y:visible;padding-right:0}}.not-assigned{color:#a0aec0;font-style:italic;font-size:13px}.subject-list-container{width:100%}.not-assigned{font-style:italic;color:#9ca3af}.cell-center{text-align:center;width:80%}.add-subject-form{width:100%}@media (max-width: 576px){.form-row{grid-template-columns:1fr;gap:0}}.edit-subject-form{display:flex;flex-direction:column;gap:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row2{display:grid;gap:20px}.locked-section{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-top:8px}.locked-section-header{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;color:#64748b;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:1rem;padding-top:24px;border-top:1px solid #e2e8f0}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.subject-assignment-form{width:100%}.subject-info-box{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:24px;text-align:center}.subject-info-box p{margin:0 0 8px;font-size:14px;color:#718096}.subject-name-display{margin:0;font-size:18px;font-weight:600;color:#1a202c}.subject-code-display{font-size:14px;color:#4a5568}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.subject-container{padding:1.5rem 2rem;animation:fadeIn .4s ease-in-out}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.page-title{margin:0;font-size:28px;font-weight:600;color:#1a202c}.fee-structure-list-container{width:100%}.not-available{font-style:italic;color:#9ca3af}.structure-breakdown-cell{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.structure-pill{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px;white-space:nowrap}.pill-general{background-color:#f1f5f9;color:#475569}.pill-semester{background-color:#eef2ff;color:#4338ca}.pill-yearly{background-color:#ecfdf5;color:#047857}.create-fee-form{padding:1rem;display:flex;flex-direction:column;gap:1.5rem}.add-component-btn{justify-self:start;display:inline-block;padding:12px 24px;font-size:16px;font-weight:500;text-align:center;text-decoration:none;color:#fff;background-color:#007bff;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.read-only-display{padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;background-color:#f8f9fa;color:#4a5568;font-weight:500;font-size:1rem}.edit-fee-form{padding:1rem;display:flex;flex-direction:column;gap:1.5rem}.top-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.components-section{padding:1.5rem;border:1px solid #e2e8f0;border-radius:8px;background-color:#f9fafb}.section-title{font-size:1rem;font-weight:600;color:#2d3748;margin:0 0 1rem}.component-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;align-items:end;margin-bottom:1rem}.component-row .input-field-wrapper,.component-row .select-dropdown-wrapper{min-width:0}.component-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.5rem}.mandatory-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#4a5568;white-space:nowrap}.mandatory-checkbox input{width:1em;height:1em;margin-top:2px}.add-component-btn{justify-self:start}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.total-amount-display{font-size:1.25rem;font-weight:600;color:#1a202c}.total-amount-display span{color:#4f46e5;margin-left:.5rem}.action-buttons{display:flex;gap:.75rem}.fee-container{animation:fadeIn .4s ease-in-out;padding:1.5rem 2rem}.header-actions{display:flex;align-items:center;gap:16px}.tab-content{animation:fadeIn .3s ease-in-out}.datepicker-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.datepicker-container label{font-weight:500;color:#374151;font-size:.9rem}.required-indicator{color:#ef4444;margin-left:2px}.datepicker-container input[type=date]{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;font-family:inherit;color:#111827;background-color:#fff;box-shadow:inset 0 1px 2px #0000000d;transition:border-color .2s,box-shadow .2s}.datepicker-container input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.datepicker-container input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.datepicker-container input[type=date]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.datepicker-container.has-error input[type=date]{border-color:#ef4444;background-color:#fee2e2}.datepicker-container.has-error input[type=date]:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc262633}.datepicker-container .error-message{color:#b91c1c;font-size:.8rem;margin-top:.25rem}.stat-card{background-color:var(--color-white);border:1px solid var(--color-light-gray-border);border-radius:8px;padding:20px;display:flex;align-items:center;gap:15px;height:100%;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.stat-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0000001a}.stat-card-icon{font-size:2rem;color:var(--color-primary);display:flex;align-items:center;justify-content:center;width:50px;height:50px;background-color:var(--color-primary-light-bg);border-radius:8px}.stat-card-content{flex-grow:1}.stat-value{font-size:1.8rem;font-weight:600;color:var(--color-dark-text);margin-bottom:5px}.stat-title{font-size:1rem;color:var(--color-secondary-text)}.stat-trend{font-size:.9rem;font-weight:500;padding:5px 10px;border-radius:4px}.stat-trend.positive{background-color:var(--color-success-light-bg);color:var(--color-success)}.stat-trend.negative{background-color:var(--color-error-light-bg);color:var(--color-error)}@media (max-width: 768px){.stat-card{flex-direction:column;text-align:center;padding:15px}.stat-card-icon{margin-bottom:10px;width:45px;height:45px;font-size:1.8rem}.stat-value{font-size:1.6rem}.stat-title{font-size:.95rem}.stat-trend{margin-top:10px}}:root{--color-white: #ffffff;--color-light-gray-border: #e0e0e0;--color-dark-text: #333333;--color-gray-text: #757575;--color-secondary-text: #616161;--color-primary: #007bff;--color-success: #28a745;--color-error: #dc3545;--color-primary-light-bg: rgba(0, 123, 255, .1);--color-success-light-bg: rgba(40, 167, 69, .1);--color-error-light-bg: rgba(220, 53, 69, .1)}.table-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.section-title{margin:0;font-size:18px;font-weight:600;color:#2d3748}.table-filters{display:flex;gap:16px;flex-wrap:wrap}.progress-bar-container{width:100%;position:relative;display:flex;align-items:center}.progress-bar-track{width:100%;background-color:#e9ecef;border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background-color:#007bff;border-radius:999px;transition:width .4s ease-in-out}.progress-bar-text{position:absolute;width:100%;text-align:center;font-weight:600;color:#212529;-webkit-user-select:none;user-select:none;text-shadow:0 1px 1px rgba(255,255,255,.7)}.size-small .progress-bar-track{height:8px}.size-small .progress-bar-text{display:none}.size-medium .progress-bar-track{height:16px}.size-medium .progress-bar-text{font-size:12px}.size-large .progress-bar-track{height:24px}.size-large .progress-bar-text{font-size:14px}.report-view-container{display:grid;gap:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.report-table-section{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.section-title{margin:0 0 20px;font-size:18px;font-weight:600;color:#2d3748}.enrollment-cell{display:flex;flex-direction:column;gap:6px;min-width:120px}.enrollment-cell span{font-size:13px;font-weight:500}.chart-container{width:100%}.chart-title{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:#334155}.recharts-responsive-container{font-size:.8rem;color:#64748b}.chart-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:250px;border:2px dashed #e2e8f0;border-radius:8px;background-color:#f8fafc;color:#94a3b8}.chart-placeholder svg{font-size:2.5rem;margin-bottom:1rem}.chart-placeholder p{font-size:1rem;margin:0;font-style:italic}.report-view-container{padding:1.5rem 2rem;display:grid;gap:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.report-visuals{background-color:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.report-table-section{background-color:#fff;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9}.section-title{margin:0;font-size:1.1rem;font-weight:600;color:#334155}.financial-report .datatable th:nth-child(3),.financial-report .datatable td:nth-child(3){text-align:right;justify-content:flex-end}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:16px}.page-title{font-size:28px;font-weight:600;color:#1a202c;flex-shrink:0}.header-actions{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.section-title{font-size:20px;font-weight:600;color:#1a202c;margin:0 0 8px}.section-description{font-size:14px;color:#718096;margin:0 0 24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.settings-form{display:grid;gap:16px}.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.page-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0}.settings-layout{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:start}.settings-nav .tabs-container{flex-direction:column;border-bottom:none;border-right:1px solid #e2e8f0;align-items:stretch}.settings-nav .tab-item{justify-content:flex-start;border-bottom:none;border-right:2px solid transparent;margin-bottom:0;margin-right:-1px;border-radius:6px 0 0 6px}.settings-nav .tab-item.active{border-bottom-color:transparent;border-right-color:#4f46e5;background-color:#eef2ff;color:#4f46e5;font-weight:600}.settings-content{background-color:#fff;padding:3rem;border-radius:12px;border:1px solid #e2e8f0;animation:fadeIn .4s ease-in-out}@media (max-width: 768px){.settings-layout{grid-template-columns:1fr;gap:1.5rem}.settings-nav .tabs-container{flex-direction:row;border-right:none;border-bottom:1px solid #e2e8f0;align-items:center}.settings-nav .tab-item{border-right:none;border-bottom:2px solid transparent;margin-right:0;margin-bottom:-1px;border-radius:6px 6px 0 0}.settings-nav .tab-item.active{border-right-color:transparent;border-bottom-color:#4f46e5;background-color:transparent}.settings-content{padding:1.5rem}}.dashboard-container{padding:1.5rem 2rem;animation:fadeIn .4s ease-in-out}.dashboard-header{margin-bottom:24px}.page-content{display:grid;gap:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.quick-actions-panel{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.panel-title{margin:0 0 20px;font-size:18px;font-weight:600;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.actions-list{display:grid;gap:16px}.action-link{display:flex;align-items:center;gap:16px;padding:12px;border-radius:8px;text-decoration:none;color:#4a5568;font-weight:500;transition:background-color .2s,color .2s}.action-link:hover{background-color:#f0f5ff;color:#4a90e2}.action-icon{font-size:20px;color:#a0aec0}.action-link:hover .action-icon{color:#4a90e2}.schedule-controls-container{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008;border:1px solid #e5e7eb}.control-wrapper{flex:1;min-width:200px}.period-card{position:relative;display:flex;align-items:center;gap:1rem;background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008;padding:.75rem 1rem;border:1px solid #e5e7eb;border-left:4px solid #4f46e5;transition:all .2s ease-in-out;overflow:hidden}.period-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000012,0 2px 6px #0000000d;border-left-color:#6366f1}.period-time{font-weight:600;color:#4f46e5;font-size:.9rem;white-space:nowrap;flex-shrink:0}.period-details{flex-grow:1;min-width:0}.period-details p{margin:0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.period-details .subject{font-weight:500;color:#1f2937}.period-details .faculty{font-size:.85rem;color:#6b7280}.period-actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.25rem;background-color:#fff;padding:4px;border-radius:999px;box-shadow:0 2px 5px #0000001a;opacity:0;transform:translateY(-50%) translate(10px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.period-card:hover .period-actions{opacity:1;transform:translateY(-50%) translate(0);pointer-events:auto}.period-actions .button{background-color:#f3f4f6;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:background-color .2s,color .2s}.period-actions .button:hover{color:#fff}.period-actions .button[title="Edit Period"]:hover{background-color:#3b82f6}.period-actions .button[title="Delete Period"]:hover{background-color:#ef4444}.daily-schedule-column{background-color:#fff;border-radius:8px;padding:1rem;border:1px solid #e5e7eb;box-shadow:0 1px 2px #00000008;display:flex;flex-direction:column}.day-header{margin:0 0 1rem;padding-bottom:.75rem;font-size:1.1rem;text-align:center;color:#4b5563;font-weight:600;border-bottom:1px solid #e5e7eb}.periods-list{display:flex;flex-direction:column;gap:1rem;flex-grow:1}.no-periods-message{text-align:center;color:#9ca3af;font-style:italic;flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 0}.add-period-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1rem 0}.add-period-form .select-dropdown,.add-period-form .read-only-field,.add-period-form .input-field-container:last-of-type{grid-column:1 / -1}.input-field-container,.select-dropdown,.read-only-field{display:flex;flex-direction:column;gap:.5rem}.read-only-field label{font-weight:500;color:#374151;font-size:.9rem}.display-value{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;background-color:#e9ecef;font-weight:500;color:#4b5563;font-size:1rem}.display-value.unassigned{color:#ef4444;font-style:italic;border-color:#fecaca;background-color:#fef2f2}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;margin-top:1rem}@media (max-width: 576px){.add-period-form{grid-template-columns:1fr;gap:1rem}.add-period-form .select-dropdown,.add-period-form .read-only-field,.add-period-form .input-field-container:last-of-type{grid-column:auto}}.timetable-scheduler-page{padding:1.5rem 2rem;animation:fadeIn .4s ease-in-out}.scheduler-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.scheduler-header h3{margin:0;font-size:1.875rem;font-weight:700;color:#1e293b}.schedule-controls-container{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background-color:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;margin-top:2rem;color:#a0aec0;background-color:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px}.empty-state-container h4{margin:1.5rem 0 .5rem;font-size:1.25rem;font-weight:600;color:#4a5568}.empty-state-container p{margin:0;max-width:450px}@media (max-width: 768px){.schedule-controls-container{flex-direction:column;gap:1rem}}.notice-list-container{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.notice-item{display:flex;align-items:center;gap:1.5rem;padding:1.25rem;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #00000008;transition:box-shadow .2s ease-in-out,transform .2s ease-in-out}.notice-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000012}.notice-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:#fee2e2;color:#b91c1c;border-radius:50%;font-size:1.25rem}.notice-details{flex-grow:1;display:flex;flex-direction:column;gap:.35rem}.notice-title{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.notice-description{margin:0;font-size:.9rem;color:#475569;line-height:1.5}.notice-date{margin:0;font-size:.85rem;color:#64748b}.notice-actions{flex-shrink:0;display:flex;align-items:center;gap:.75rem}.no-notices-container{text-align:center;padding:4rem 2rem;margin-top:2rem;border:2px dashed #e2e8f0;border-radius:12px;background-color:#f8fafc}.empty-icon{color:#9ca3af;margin-bottom:1rem}.empty-title{margin:0 0 .5rem;font-size:1.25rem;color:#374151}.empty-subtitle{margin:0;color:#6b7280}@media (max-width: 640px){.notice-item{flex-direction:column;align-items:flex-start;gap:1rem}.notice-details,.notice-actions{width:100%}.notice-actions{justify-content:flex-start}}.file-upload-container{width:100%}.file-upload-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:8px}.required-asterisk{color:#ef4444;margin-left:2px}.file-upload-box{display:flex;align-items:center;justify-content:center;border:2px dashed #d1d5db;border-radius:8px;padding:24px;background-color:#f9fafb;cursor:pointer;transition:border-color .2s ease-in-out,background-color .2s ease-in-out}.file-upload-box:hover{border-color:#3b82f6;background-color:#eff6ff}.file-upload-box.has-file{border-style:solid;border-color:#10b981;background-color:#f0fdf4;justify-content:space-between}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#6b7280}.upload-placeholder svg{font-size:1.5rem}.file-info{display:flex;align-items:center;gap:12px;width:100%}.file-icon{font-size:1.25rem;color:#4b5563}.file-name{font-size:.9rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.remove-file-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%}.remove-file-btn:hover{background-color:#fee2e2}.upload-notice-form{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0}.file-preview{font-size:.9rem;color:#475569;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.75rem;margin-top:-.5rem}.file-preview strong{color:#1e293b;font-weight:500}.form-error-message{color:#b91c1c;font-size:.85rem;margin:-.5rem 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.main-wrapper{padding:2rem;background-color:#f8fafc;min-height:100vh}.page-header{display:flex;align-items:flex-start;gap:1.5rem;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid #e2e8f0}.header-icon{font-size:2rem;color:#4f46e5;flex-shrink:0;margin-top:4px}.header-text-content{flex-grow:1}.page-title{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;color:#1e293b}.page-subtitle{margin:0;font-size:1rem;color:#64748b}.header-actions{flex-shrink:0}.page-content{max-width:1200px;margin:0 auto}.content-card{background-color:#fff;border-radius:12px;padding:2rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d}@media (max-width: 768px){.main-wrapper{padding:1rem}.page-header{flex-direction:column;align-items:stretch;gap:1rem}.header-icon{display:none}.header-actions{width:100%}.header-actions>button{width:100%}.content-card{padding:1rem}}.student-dashboard{animation:fadeIn .4s ease-in-out}.dashboard-header{margin-bottom:32px}.welcome-title{font-size:28px;font-weight:600;color:#1a202c;margin:0 0 4px}.welcome-subtitle{font-size:16px;color:#718096;margin:0}.dashboard-main-layout{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}.notifications-panel,.current-courses-panel{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0}.panel-title{margin:0;font-size:1.1rem;font-weight:600;color:#374151;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:.75rem}.notifications-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.notification-item{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:#4a5568}.notification-item p{margin:0}.notification-icon{font-size:16px;margin-top:2px}.notification-item.type-urgent .notification-icon{color:#dd6b20}.courses-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.courses-list li{font-size:14px;font-weight:500;color:#2d3748}.courses-list li span{color:#a0aec0;font-size:13px;margin-left:6px}@media (max-width: 992px){.dashboard-main-layout{grid-template-columns:1fr}}.dashboard-main-layout{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;align-items:flex-start}.notifications-panel,.current-courses-panel{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb}.panel-title{margin:0;font-size:1.1rem;font-weight:600;color:#374151;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.notifications-list{list-style:none;padding:0;margin:0}.notification-title{margin:0 0 .25rem;font-weight:600;font-size:.95rem;color:#111827}.courses-list{list-style:none;padding:1rem 1.5rem;margin:0}.courses-list li{padding:.5rem 0;color:#374151;border-bottom:1px solid #f3f4f6}.courses-list li:last-child{border-bottom:none}.courses-list li span{color:#9ca3af;font-size:.85rem}.my-enrollments-container{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;animation:fadeIn .4s ease-in-out}.enrollments-header{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.section-title{font-size:20px;font-weight:600;color:#1a202c;margin:0 0 4px;align-self:flex-start}.enrollment-actions{display:flex;gap:10px;align-items:center}.enrollment-status-container{max-width:800px;margin:0 auto;background-color:#fff;padding:32px;border-radius:12px;border:1px solid #e2e8f0;animation:fadeIn .4s ease-in-out}.status-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.status-header h2{font-size:24px;margin:0 0 8px}.status-header p{font-size:16px;color:#718096;margin:0}.course-name-header{margin-top:4px!important}.status-header strong{color:#2d3748}.timeline-container{padding-left:20px}.status-timeline{list-style:none;padding:0;margin:0;border-left:3px solid #e2e8f0;position:relative}.timeline-step{padding:16px 0 16px 40px;position:relative}.timeline-icon{position:absolute;left:-21px;top:18px;background-color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #e2e8f0;font-size:18px}.step-name{font-size:16px;font-weight:600;color:#4a5568;margin:0 0 4px}.step-date{font-size:12px;color:#a0aec0;font-weight:500}.step-notes{font-size:14px;color:#718096;margin:8px 0 0}.timeline-step.status-completed .timeline-icon{border-color:#48bb78}.icon-completed{color:#48bb78}.timeline-step.status-in-progress .timeline-icon{border-color:#4a90e2}.icon-in-progress{color:#4a90e2;animation:spin 2s linear infinite}.icon-pending{color:#a0aec0}.timeline-step.status-rejected .timeline-icon{border-color:#f56565}.icon-rejected{color:#f56565}.call-to-action{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0;text-align:center}.call-to-action h3{font-size:20px}.call-to-action p{color:#718096;margin-bottom:20px}.stepper-wrapper{display:flex;justify-content:space-between;align-items:flex-start;width:100%;position:relative}@media (max-width: 1023px){.stepper-wrapper{flex-direction:column;align-items:stretch}}.step-item{display:flex;flex-direction:column;align-items:center;text-align:center;width:100px;flex-shrink:0}@media (max-width: 1023px){.step-item{flex-direction:row;text-align:left;width:100%;padding:10px 0}}.step-counter{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#fff;border:2px solid #d1d5db;color:#6b7280;font-weight:600;transition:all .3s ease;margin-bottom:8px}@media (max-width: 1023px){.step-counter{margin-bottom:0;margin-right:12px}}.step-label{font-size:.85rem;color:#6b7280;font-weight:500}.step-connector{flex-grow:1;height:2px;background-color:#d1d5db;margin-top:16px}@media (max-width: 1023px){.step-connector{display:none}}.step-counter.active{border-color:#3b82f6;color:#3b82f6}.step-label.active{color:#1f2937;font-weight:600}.step-counter.completed{background-color:#16a34a;border-color:#16a34a;color:#fff;font-size:1.2rem}.step-item .step-counter.completed+.step-label{color:#374151}.enrollment-form-container{max-width:700px;margin:2rem auto;padding:2.5rem;background-color:#fff;border-radius:12px;box-shadow:0 10px 25px #00000014}.form-header{text-align:center;margin-bottom:2rem;border-bottom:1px solid #e5e7eb;padding-bottom:1.5rem}.form-header h2{margin:0 0 .5rem;font-size:1.75rem}.form-header p{margin:0;font-size:1.1rem;color:#6b7280}.stepper-container{margin-bottom:2.5rem}.form-step-content{animation:fadeIn .5s ease-in-out}.form-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.review-section h4{margin:0 0 1rem;font-weight:600;color:#374151}.review-list{display:grid;grid-template-columns:auto 1fr;gap:.75rem 1.5rem;background-color:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.review-list dt{font-weight:600;color:#4b5563;grid-column:1}.review-list dd{margin:0;grid-column:2}.subject-list{display:grid;gap:1rem}.subject-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;transition:box-shadow .3s ease}.subject-card:hover{box-shadow:0 2px 8px #0000001a}.subject-info h4{margin:0 0 .5rem;color:#333}.faculty-name{margin:0;font-size:.9rem;color:#666}.syllabus-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#007bff;color:#fff;text-decoration:none;border-radius:5px;font-weight:500;transition:background-color .3s ease}.syllabus-button:hover{background-color:#0056b3}.current-enrollment-container{margin-top:2rem;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000000d}.section-title{font-size:1.5rem;color:#333;margin-bottom:1rem;border-bottom:2px solid #f0f0f0;padding-bottom:.5rem}.course-info-card{background-color:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.course-info-card h3{margin-top:0;color:#0056b3}.course-info-card p{margin:.5rem 0;color:#555}.subjects-section .tab-content{padding-top:1rem}.enrollment-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:16px}.header-actions .searchbox-container{min-width:300px}.id-card-page-container{display:flex;flex-direction:column;align-items:center;padding:24px;animation:fadeIn .4s ease-in-out}.id-card-actions{text-align:center;margin-bottom:24px;max-width:600px}.id-card-actions p{font-size:14px;color:#718096;margin:0 0 16px}.id-card-actions>div{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.id-card-actions button{min-width:140px;display:flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:6px;font-weight:500;transition:all .2s ease;border:none;cursor:pointer}.id-card-actions button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.id-card-actions button:disabled{opacity:.6;cursor:not-allowed}.id-card-actions button[variant=primary]{background-color:#0d47a1;color:#fff}.id-card-actions button[variant=secondary]{background-color:#f8f9fa;color:#495057;border:1px solid #dee2e6}.id-card-container{width:340px;max-width:100%;background-color:#fff;border-radius:8px;border:1px solid #dee2e6;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;font-family:Segoe UI,Arial,sans-serif;overflow:hidden;margin:0 auto;box-sizing:border-box}.id-card-header{background-color:#0d47a1;color:#fff;text-align:center;padding:16px 20px;box-sizing:border-box}.id-card-header h3{font-size:18px;margin:0 0 4px;font-weight:600;line-height:1.2}.id-card-header h4{font-size:12px;margin:0;font-weight:400;letter-spacing:.5px}.id-card-body{padding:20px;display:flex;flex-direction:column;align-items:center;background-color:#fff;box-sizing:border-box}.photo-container{margin-bottom:20px;border:3px solid #f1f5f9;border-radius:4px;width:120px;height:120px;display:flex;justify-content:center;align-items:center;overflow:hidden;background-color:#fff;flex-shrink:0}.avatar.id-card{width:100%;height:100%;object-fit:cover}.details-container{width:100%;box-sizing:border-box}.id-details-list{display:grid;gap:12px;width:100%}.id-details-list>div{display:grid;grid-template-columns:90px 1fr;align-items:start;gap:12px;width:100%}.id-details-list dt{font-size:11px;font-weight:700;color:#4a5568;text-transform:uppercase;letter-spacing:.5px;text-align:left}.id-details-list dd{margin:0;font-weight:500;color:#2d3748;font-size:14px;word-break:break-word;text-align:left}.id-card-footer{display:flex;justify-content:space-between;align-items:flex-end;padding:16px 20px;background-color:#f8f9fa;border-top:1px solid #e2e8f0;box-sizing:border-box}.qrcode-container{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;flex-shrink:0}.qrcode-id{font-size:10px;font-family:Courier New,Courier,monospace;font-weight:600;color:#4a5568}.signature-line{width:120px;border-top:1px solid #6c757d;padding-top:4px;text-align:center;font-size:10px;color:#6c757d;margin-bottom:8px;flex-shrink:0}.downloading{position:relative}.downloading:after{content:"";position:absolute;width:16px;height:16px;margin:auto;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media print{body{background-color:#fff!important;margin:0;padding:0}.id-card-page-container{padding:0;margin:0;height:100vh;display:flex;justify-content:center;align-items:center}.no-print{display:none!important}.id-card-container{box-shadow:none;border:1px solid #000;margin:0 auto;background-color:#fff!important}.app-sidebar,.app-header,.app-footer{display:none!important}.main-wrapper{margin-left:0!important;width:100%!important;padding:0!important}.qrcode-container{border:1px solid #000!important;background-color:#fff!important}.id-card-header{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#0d47a1!important;color:#fff!important}.id-card-body{background-color:#fff!important}.id-card-footer{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#f8f9fa!important}.photo-container{background-color:#fff!important}}@media (max-width: 400px){.id-card-container{width:300px;margin:0 10px}.id-card-header{padding:16px 15px}.id-card-body{padding:15px}.id-card-footer{padding:12px 15px}.id-details-list>div{grid-template-columns:85px 1fr;gap:10px}.signature-line{width:100px}}.profile-header-card{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:24px}.profile-header-main{display:flex;align-items:center;gap:20px;min-width:0}.profile-header-info{min-width:0}.profile-name{font-size:24px;font-weight:700;color:#1a202c;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-subtext{font-size:14px;color:#718096;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-header-actions{display:flex;gap:12px;flex-shrink:0}.profile-header-main .avatar{border:4px solid #ffffff;box-shadow:0 0 0 2px #e2e8f0;flex-shrink:0}.profile-content-card{background-color:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.tab-content{padding:24px;animation:fadeIn .3s ease}.personal-details-grid{display:grid;grid-template-columns:1fr;gap:32px}@media (min-width: 992px){.personal-details-grid{grid-template-columns:1fr 1fr;gap:24px}}.info-list{display:grid;grid-template-columns:auto 1fr;gap:16px 24px}.info-list dt{font-size:14px;color:#718096;font-weight:500;white-space:nowrap;text-align:left;position:relative}.info-list dt:after{content:":";position:absolute;right:-12px}.info-list dd{margin:0;font-size:14px;color:#2d3748;font-weight:500;word-break:break-word}.document-list li a{color:#4f46e5;text-decoration:none;font-weight:500;transition:color .2s}.document-list li a:hover{text-decoration:underline;color:#312e81}.no-documents{color:#718096;font-style:italic;padding:1rem;background-color:#f9fafb;border-radius:6px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#11182799;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content.id-card-modal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;width:auto;max-width:95%;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#6b7280}.modal-body{padding:2rem}@media (max-width: 768px){.info-list{grid-template-columns:1fr;gap:8px}.info-list dt{text-align:left;font-weight:600;color:#4a5568}.info-list dt:after{content:""}.info-list dd{padding-left:1rem}.profile-header-card,.profile-header-main{flex-direction:column;text-align:center}}.edit-profile-layout{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.edit-profile-form,.profile-picture-section{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0}.form-section{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #e2e8f0}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{font-size:18px;font-weight:600;color:#2d3748;margin:0 0 20px}.form-actions{display:flex;justify-content:flex-start;margin-top:16px}.profile-picture-section{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}.profile-picture-section .file-upload-wrapper{width:100%}@media (max-width: 992px){.edit-profile-layout{grid-template-columns:1fr}}.document-upload-layout{display:grid;grid-template-columns:1fr;gap:32px;align-items:start;animation:fadeIn .4s ease-in-out}.upload-section,.list-section{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d}.section-title{font-size:18px;font-weight:600;color:#2d3748;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.upload-form{display:grid;gap:20px}.upload-form .button{justify-self:start}.list-section .data-table tbody tr td a{color:#4f46e5;text-decoration:none;font-weight:500;transition:color .2s ease-in-out,text-decoration .2s ease-in-out}.list-section .data-table tbody tr td a:hover{color:#312e81;text-decoration:underline}@media (min-width: 992px){.document-upload-layout{grid-template-columns:1fr 2fr}}.error-message{padding:2rem;text-align:center;font-size:1.1rem;color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:1rem}.error-message svg{font-size:2rem}.page-title{font-size:28px;font-weight:600;color:#1a202c}.profile-layout{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start}.profile-nav .tabs-container{flex-direction:column;border-bottom:none;border-right:2px solid #e2e8f0}.profile-nav .tab-item{justify-content:flex-start;border-bottom:none;border-right:2px solid transparent;margin-bottom:4px;margin-right:-2px}.profile-nav .tab-item.active{border-bottom-color:transparent;border-right-color:#4a90e2;background-color:#f0f5ff}.profile-content{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;min-height:500px;animation:fadeIn .3s ease}@media (max-width: 992px){.profile-layout{grid-template-columns:1fr}.profile-nav .tabs-container{flex-direction:row;border-right:none;border-bottom:2px solid #e2e8f0}.profile-nav .tab-item{border-right:none;border-bottom:2px solid transparent;margin-right:0;margin-bottom:-2px}.profile-nav .tab-item.active{border-right-color:transparent;border-bottom-color:#4a90e2;background-color:transparent}}.fee-details-container{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;animation:fadeIn .4s ease-in-out}.fee-header{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.summary-card{display:flex;align-items:center;gap:16px;padding:20px;border-radius:8px}.summary-icon{font-size:24px}.summary-card p{margin:0 0 4px;font-size:14px}.summary-card span{font-size:22px;font-weight:600}.total-fee{background-color:#ebf4ff;color:#3b82f6}.amount-paid{background-color:#e6f7ed;color:#38a169}.outstanding{background-color:#fffaf0;color:#dd6b20}.fee-breakdown,.payment-history{margin-bottom:32px}.components-table{width:100%;border-collapse:collapse}.components-table th,.components-table td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0;font-size:14px}.components-table th{background-color:#f8fafc;font-weight:500;color:#718096}.components-table td{color:#2d3748}.amount-col{text-align:right!important;font-weight:500}.payment-action{text-align:center;padding:24px;margin-bottom:32px;background-color:#f8fafc;border-radius:8px}.payment-form-container{max-width:500px;margin:0 auto;background-color:#fff;padding:32px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 8px 30px #00000012}.payment-header{text-align:center;margin-bottom:24px}.payment-header h2{font-size:24px;margin:0 0 8px}.payment-header p{font-size:16px;color:#718096;margin:0}.payment-summary{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:24px}.summary-item{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:8px}.summary-item:last-child{margin-bottom:0}.summary-item span{color:#718096}.summary-item strong{font-weight:600;color:#2d3748}.summary-item.amount strong{font-size:20px;color:#38a169}.section-title{font-size:16px;font-weight:600;margin:0 0 16px}.method-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.method-option{display:flex;align-items:center;gap:10px;padding:12px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out}.method-option:hover{border-color:#cbd5e0}.method-option.selected{border-color:#4a90e2;background-color:#f0f5ff}.method-option input[type=radio]{display:none}.method-option svg{font-size:20px;color:#718096}.method-option.selected svg{color:#4a90e2}.method-option span{font-weight:500}.card-details-form{animation:fadeIn .4s ease}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-footer{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.secure-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:#718096;margin:0 0 16px}.payment-history-container{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;animation:fadeIn .4s ease-in-out}.history-header{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.history-actions{display:flex;justify-content:center;align-items:center}.receipt-page-container{max-width:800px;margin:24px auto}.receipt-actions{display:flex;justify-content:flex-end;gap:12px;margin-bottom:24px}.receipt-container{background-color:#fff;padding:40px;border:1px solid #dee2e6;border-radius:8px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#212529}.receipt-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #000;padding-bottom:16px;margin-bottom:24px}.institute-details h1{font-size:24px;margin:0 0 4px}.institute-details p{font-size:14px;margin:0;color:#6c757d}.receipt-title{font-size:28px;font-weight:700;color:#000;margin:0;text-transform:uppercase}.receipt-meta{display:flex;justify-content:space-between;margin-bottom:32px;font-size:14px}.receipt-billing-info{margin-bottom:32px}.billed-to h4{font-size:12px;font-weight:600;color:#6c757d;text-transform:uppercase;margin:0 0 8px}.billed-to p{margin:4px 0;font-size:14px}.items-table{width:100%;border-collapse:collapse;margin-bottom:32px}.items-table th,.items-table td{padding:12px 0;font-size:14px;border-bottom:1px solid #dee2e6}.items-table th{text-align:left;font-weight:600;color:#6c757d;text-transform:uppercase}.items-table tfoot td{font-size:16px;border-bottom:none}.text-right{text-align:right!important}.receipt-footer{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid #dee2e6}.receipt-footer p{font-size:12px;color:#6c757d;margin:4px 0}.receipt-page-wrapper{padding:2rem;background-color:#f3f4f6;min-height:100%}@media print{body *{visibility:hidden}.receipt-container,.receipt-container *{visibility:visible}.receipt-container{position:absolute;left:0;top:0;width:100%;margin:0;padding:0;border:none;box-shadow:none}.app-layout,.main-wrapper,.main-content{overflow:visible!important;height:auto!important;display:block!important}}.receipt-page{padding:24px 0}.receipt-page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center;padding:40px}.my-subjects-container{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;animation:fadeIn .4s ease-in-out}.subjects-header{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.section-subtitle strong{color:#2d3748}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.subject-card{border:1px solid #e2e8f0;border-radius:8px;background-color:#fdfdff;transition:all .2s ease-in-out}.subject-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #00000012}.subject-card-header{display:flex;align-items:center;gap:16px;padding:16px}.subject-icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#ebf4ff;color:#3b82f6;font-size:18px}.subject-name{font-size:16px;font-weight:600;color:#2d3748;margin:0 0 2px}.subject-code{font-size:13px;color:#a0aec0;margin:0}.faculty-info{display:flex;align-items:center;gap:8px;font-size:13px;color:#718096;padding:12px 16px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.faculty-info strong{color:#4a5568;font-weight:500}.subject-card-actions{padding:12px 16px;display:flex;justify-content:flex-end}.attendance-container{max-width:800px;margin:0 auto;background-color:#fff;padding:32px;border-radius:12px;border:1px solid #e2e8f0;animation:fadeIn .4s ease-in-out}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#718096;text-decoration:none;margin-bottom:24px}.back-link:hover{color:#2d3748}.attendance-header{margin-bottom:24px}.section-title{font-size:24px;font-weight:600;margin:0 0 4px}.section-subtitle{font-size:16px;color:#718096;margin:0}.sub-section-title{font-size:18px;font-weight:600;margin:0 0 16px}.attendance-summary{display:flex;align-items:center;gap:24px;padding:24px;background-color:#f8fafc;border-radius:8px;margin-bottom:32px}.summary-percentage{text-align:center;flex-shrink:0}.summary-percentage p{margin:0 0 4px;font-size:14px;color:#718096}.percentage-value{font-size:32px;font-weight:700}.color-green{color:#38a169}.color-orange{color:#dd6b20}.color-red{color:#e53e3e}.summary-progress{width:100%}.progress-details{margin:8px 0 0;font-size:13px;color:#718096}.progress-details strong{color:#2d3748}.log-table{width:100%;border-collapse:collapse}.log-table th,.log-table td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0;font-size:14px}.log-table th{background-color:#f8fafc;font-weight:500;color:#718096}.log-table td{color:#2d3748}.log-table tbody tr:last-child td{border-bottom:none}:root{--grades-bg-color: #f8fafc;--grades-card-bg: #ffffff;--grades-border-color: #e2e8f0;--grades-text-primary: #1e293b;--grades-text-secondary: #64748b;--grades-accent-primary: #4f46e5;--grades-accent-bg-light: #eef2ff}.grades-container{padding:2rem;background-color:var(--grades-bg-color);min-height:100%}.grades-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--grades-border-color)}.header-text .section-title{font-size:1.75rem;font-weight:700;color:var(--grades-text-primary);margin:0 0 .25rem}.header-text .section-subtitle{font-size:1rem;color:var(--grades-text-secondary);margin:0}.header-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.grades-content{max-width:900px;margin:0 auto}.result-card{background-color:var(--grades-card-bg);border:1px solid var(--grades-border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;overflow:hidden}.result-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#f9fafb;border-bottom:1px solid var(--grades-border-color)}.result-card-header h3{margin:0;font-size:1.25rem;color:var(--grades-text-primary)}.sgpa-badge{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--grades-accent-bg-light);color:var(--grades-accent-primary);padding:.3rem .8rem;border-radius:9999px;font-size:.9rem;font-weight:600}.sgpa-badge strong{font-size:1rem}.grades-table{width:100%;border-collapse:collapse}.grades-table thead{background-color:#f9fafb}.grades-table th{padding:.75rem 1.5rem;text-align:left;font-size:.8rem;font-weight:600;color:var(--grades-text-secondary);text-transform:uppercase;letter-spacing:.05em}.grades-table tbody tr{border-bottom:1px solid var(--grades-border-color);transition:background-color .2s ease}.grades-table tbody tr:last-child{border-bottom:none}.grades-table tbody tr:hover{background-color:var(--grades-bg-color)}.grades-table td{padding:1rem 1.5rem;font-size:.95rem;color:var(--grades-text-primary);vertical-align:middle}.grades-table .grade-col{font-weight:700;text-align:center;color:var(--grades-accent-primary)}.grades-table .center-col{text-align:center}.error-message,.no-data-message{text-align:center;padding:4rem 2rem;color:var(--grades-text-secondary);font-size:1.1rem;display:flex;flex-direction:column;align-items:center;gap:1rem;border:2px dashed var(--grades-border-color);border-radius:12px;background-color:var(--grades-card-bg)}.error-message{color:#b91c1c;border-color:#fecaca;background-color:#fee2e2}@media (max-width: 768px){.grades-container{padding:1.5rem 1rem}.grades-header{flex-direction:column;align-items:stretch;gap:1.5rem}.header-actions{flex-direction:column;align-items:stretch;width:100%}.grades-table th,.grades-table td{padding:.75rem;font-size:.9rem}}.tab-content{margin-top:24px;animation:fadeIn .3s ease-in-out}.timetable-container{padding:1.5rem 2rem;background-color:#f9fafb}.timetable-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin-bottom:2rem}.timetable-header .header-title h2{margin:0;font-size:1.5rem;color:#1f2937}.timetable-header .header-title p{margin:.25rem 0 0;color:#6b7280}.timetable-grid{display:grid;grid-template-columns:1.2fr repeat(6,1.5fr);border:1px solid #dee2e6;border-radius:8px;overflow:hidden;background-color:#fff}.time-col-header,.day-header{background-color:#f3f4f6;padding:.75rem;font-weight:600;text-align:center;border-bottom:1px solid #dee2e6;border-right:1px solid #dee2e6}.day-header:last-child{border-right:none}.time-slot{padding:.75rem;font-weight:500;text-align:center;border-right:1px solid #dee2e6;background-color:#f9fafb;font-size:.9rem}.grid-cell{border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;min-height:110px;padding:4px}.grid-cell:last-child{border-right:none}.class-block{height:100%;border-radius:4px;padding:.5rem .75rem;color:#fff;font-size:.85rem;display:flex;flex-direction:column}.class-block p{margin:0 0 .25rem;line-height:1.3}.class-subject{font-weight:600;font-size:.9rem}.class-code,.class-faculty,.class-room{opacity:.9}.class-faculty{margin-top:auto}.class-block.color-0{background-color:#3b82f6;border-left:4px solid #1d4ed8}.class-block.color-1{background-color:#16a34a;border-left:4px solid #14532d}.class-block.color-2{background-color:#f97316;border-left:4px solid #c2410c}.class-block.color-3{background-color:#8b5cf6;border-left:4px solid #5b21b6}.class-block.color-4{background-color:#64748b;border-left:4px solid #334155}.class-block.default{background-color:#6b7280}.empty-state-container{text-align:center;padding:4rem 2rem;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280}.empty-state-container h4{margin:1.5rem 0 .5rem;font-size:1.25rem}.empty-state-container p{margin:0}@media print{body>*{display:none!important}.timetable-container,.timetable-container *{visibility:visible!important;display:block!important}body>#root,body>.app-container,body>.main-content,body>.page-content-wrapper{display:block!important}.timetable-container{position:absolute!important;left:0!important;top:0!important;width:100%!important;padding:.5in;margin:0;box-shadow:none!important;border:none!important;background-color:#fff!important}.timetable-header .button{display:none!important}.timetable-grid{box-shadow:none!important;border:1px solid #ccc!important;overflow:visible!important;page-break-inside:avoid}.time-col-header,.day-header,.time-slot{background-color:#f0f0f0!important;color:#000!important}.class-block{box-shadow:none!important;border:1px solid #ddd!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@media (max-width: 768px){.timetable-grid{display:block}.time-col-header,.time-slot{display:none}.day-header{border-right:none}.grid-cell{border-right:none;min-height:auto}}.page-container{animation:fadeIn .4s ease-in-out}.timetable-page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:24px}.page-title{font-size:28px;font-weight:600;color:#1a202c;margin:0 0 4px}.page-subtitle{font-size:16px;color:#718096;margin:0}.header-actions{display:flex;align-items:flex-end;gap:16px}.header-actions .select-dropdown-wrapper{min-width:200px}.documents-container{font-family:Arial,sans-serif;max-width:1000px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a}.documents-header{text-align:center;margin-bottom:2rem;border-bottom:2px solid #f0f0f0;padding-bottom:1.5rem}.documents-header h1{font-size:2.5rem;color:#333;margin-bottom:.5rem}.documents-header p{font-size:1rem;color:#666}.documents-nav{display:flex;justify-content:center;margin-bottom:2rem;border-bottom:1px solid #ddd}.documents-nav button{padding:1rem 1.5rem;font-size:1rem;font-weight:700;cursor:pointer;border:none;background-color:transparent;color:#555;border-bottom:3px solid transparent;transition:color .3s,border-bottom-color .3s}.documents-nav button:hover{color:#007bff}.documents-nav button.active{color:#007bff;border-bottom-color:#007bff}.document-content{padding:1rem 0}.certificates-container{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;animation:fadeIn .4s ease-in-out}.certificates-header{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.certificate-actions{display:flex;justify-content:center;align-items:center}.transcript-container{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;animation:fadeIn .4s ease-in-out}.transcript-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.section-title{font-size:20px;font-weight:600;color:#1a202c;margin:0 0 4px}.section-subtitle{font-size:14px;color:#718096;margin:0}.student-info-section{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background-color:#f8fafc;border-radius:8px;margin-bottom:24px}.student-info-list{display:grid;gap:8px}.student-info-list div{display:flex;gap:8px;font-size:14px}.student-info-list dt{color:#718096}.student-info-list dd{margin:0;font-weight:500;color:#2d3748}.cgpa-badge{display:flex;align-items:center;gap:8px;background-color:#ebf4ff;color:#3b82f6;padding:8px 16px;border-radius:20px;font-size:16px;font-weight:500}.cgpa-badge strong{font-weight:700}.semester-record{margin-bottom:24px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.semester-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f8fafc}.semester-header h3{margin:0;font-size:16px}.semester-header span{font-size:14px;font-weight:500}.semester-header span strong{font-weight:700}.transcript-table{width:100%;border-collapse:collapse}.transcript-table th,.transcript-table td{padding:10px 16px;text-align:left;border-bottom:1px solid #e2e8f0;font-size:14px}.transcript-table th{font-weight:500;color:#718096}.transcript-table td{color:#2d3748}.transcript-table tbody tr:last-child td{border-bottom:none}.grade-col{text-align:center!important;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.notification-list-wrapper{margin-top:1.5rem;width:100%;overflow-x:auto}.notification-list-wrapper .datatable th:first-child,.notification-list-wrapper .datatable td:first-child{min-width:250px}.no-notifications-found{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem;margin-top:1.5rem;color:#9ca3af;background-color:#f9fafb;border:1px dashed #e5e7eb;border-radius:8px}.no-notifications-found svg{font-size:2.5rem;margin-bottom:1rem}.no-notifications-found p{font-size:1.1rem;margin:0;font-style:italic}.notification-form-grid{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.input-field-container,.select-dropdown,.datepicker-container{display:flex;flex-direction:column;gap:.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;margin-top:1.5rem}.notification-filter-container{display:flex;flex-wrap:wrap;gap:1rem;padding:1.25rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.filter-item{display:flex;align-items:center}.filter-item.search-filter{flex-grow:1;min-width:250px}.notification-filter-container .select-dropdown select{min-width:180px}@media (max-width: 768px){.notification-filter-container{flex-direction:column;align-items:stretch}.notification-filter-container .select-dropdown select{width:100%}}.page-container{padding:1.5rem 2rem;background-color:#f9fafb}.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.page-subtitle{margin:.25rem 0 0;color:#6b7280;font-size:1rem;max-width:600px}.header-actions{margin-left:auto}.page-content{max-width:1400px;margin:0 auto}.content-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;border:1px solid #e5e7eb;overflow:hidden}.profile-view-container{max-width:900px;margin:2rem auto;background-color:#fff;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;overflow:hidden}.profile-view-header{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.profile-view-header .avatar-container{flex-shrink:0}.profile-view-title{flex-grow:1}.profile-view-title h3{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}.profile-view-title p{margin:.25rem 0 0;font-size:1rem;color:#6b7280}.edit-profile-link{margin-left:auto}.profile-view-body{padding:2rem}.profile-section:not(:last-child){margin-bottom:2.5rem}.section-heading{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:#374151;border-bottom:1px solid #f3f4f6;padding-bottom:.75rem}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem}.detail-item{display:flex;flex-direction:column}.detail-item .detail-label{display:flex;align-items:center;gap:.75rem;font-size:.8rem;font-weight:500;color:#6b7280;text-transform:uppercase;margin-bottom:.5rem}.detail-item .detail-value{font-size:1rem;color:#111827;font-weight:500;word-break:break-word}.detail-item.full-span{grid-column:1 / -1}.profile-view-container.error-state{padding:3rem;text-align:center;color:#6b7280;border:1px dashed #d1d5db}.profile-view-container.error-state h3{color:#dc3545}@media (max-width: 768px){.profile-view-header{flex-direction:column;text-align:center}.edit-profile-link{margin-left:0;margin-top:1rem}.details-grid{grid-template-columns:1fr}}.page-container{padding:1.5rem 2rem;max-width:1100px;margin:2rem auto}.page-header{margin-bottom:2rem;border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.page-title{margin:0;font-size:1.75rem;font-weight:600;color:#1f2937}.edit-profile-layout{display:grid;grid-template-columns:2fr 1fr;gap:3rem}.edit-profile-form{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #00000014}.form-section{margin-bottom:2rem}.section-title{font-size:1.1rem;font-weight:600;color:#374151;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid #f3f4f6}.input-field-container{margin-bottom:1.25rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.profile-picture-section{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;align-items:center;text-align:center}.profile-picture-section .avatar{margin-bottom:1.5rem}.profile-picture-section .file-upload-container{margin-top:1rem}@media (max-width: 992px){.edit-profile-layout{grid-template-columns:1fr;gap:2rem}.profile-picture-section{order:-1}}@media (max-width: 576px){.page-container{padding:1rem}.edit-profile-form,.profile-picture-section{padding:1.5rem}.form-actions{flex-direction:column}.form-actions .button{width:100%}}.profile-content-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;padding:2rem;max-width:1000px;margin:0 auto}.my-subjects-container{padding:1.5rem 2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;overflow:hidden}.my-subjects-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.sub-section-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.sub-section-description{font-size:.9rem;color:#6b7280;margin-top:.25rem}.subjects-table-section{width:100%;overflow-x:auto}.student-count-cell{text-align:center;font-weight:500;color:#1f2937}.action-cell{display:flex;gap:.5rem;justify-content:center;align-items:center;white-space:nowrap}.student-details-header{display:flex;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.student-avatar-image{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 4px #0000001a}.student-info h4{margin:0;font-size:1.25rem;color:#343a40}.student-info p{margin:.25rem 0 0;color:#6c757d;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.student-details-tabs{display:flex;border-bottom:1px solid #dee2e6;background-color:#f8f9fa}.tab-btn{flex:1;padding:.8rem 1rem;border:none;background-color:transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:#6c757d;border-bottom:3px solid transparent;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-btn:hover{background-color:#e9ecef}.tab-btn.active{color:#007bff;border-bottom-color:#007bff;background-color:#fff}.student-details-tab-content{padding:1.5rem;min-height:250px}.tab-empty-message{text-align:center;color:#6c757d;padding-top:2rem;font-style:italic}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.profile-item{display:flex;flex-direction:column}.profile-item .label{font-size:.8rem;font-weight:500;color:#6c757d;margin-bottom:.25rem;display:flex;align-items:center;gap:.4rem;text-transform:uppercase}.profile-item .value{font-size:1rem;font-weight:500;color:#343a40;word-break:break-word}.profile-item.full-width{grid-column:1 / -1}.attendance-summary{display:flex;gap:2rem;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e9ecef}.attendance-chart-container{flex:1;min-width:200px}.attendance-stats{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-item{display:flex;flex-direction:column;padding:.75rem;background-color:#f8f9fa;border-radius:6px;border-left:4px solid #ced4da}.stat-item .label{font-size:.8rem;color:#6c757d;margin-bottom:.25rem}.stat-item .value{font-size:1.5rem;font-weight:600;color:#343a40}.stat-item.present{border-left-color:#28a745}.stat-item.absent{border-left-color:#dc3545}.stat-item.late{border-left-color:#ffc107}.list-header{font-size:1rem;font-weight:600;color:#495057;margin-bottom:.5rem}.attendance-list{list-style:none;padding:0;margin:0;max-height:250px;overflow-y:auto}.attendance-item{display:flex;justify-content:space-between;padding:.75rem .5rem;border-bottom:1px solid #e9ecef}.attendance-item:last-child{border-bottom:none}.attendance-item strong{text-transform:capitalize}.attendance-item .status-present{color:#28a745}.attendance-item .status-absent{color:#dc3545}.attendance-item .status-late{color:#ffc107}.grades-tab form{display:flex;flex-direction:column;gap:1rem;max-width:300px}.grades-tab label{font-weight:500;color:#495057}.grades-tab input{padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.grades-tab input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}@media (max-width: 600px){.attendance-summary{flex-direction:column}.attendance-stats{width:100%}.profile-grid{grid-template-columns:1fr}}.subject-students-container{padding:1.5rem 2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.students-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.header-title{flex-grow:1}.header-title h3{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0}.header-title p{font-size:1rem;color:#6b7280;margin:.25rem 0 0}.table-controls{display:flex;justify-content:flex-end;align-items:center;padding:0 .5rem;margin-bottom:1.5rem}.table-controls .searchbox-container{width:100%;max-width:320px}.students-table-section{width:100%;overflow-x:auto}.error-message{padding:2rem;text-align:center;font-size:1.1rem;color:#ef4444;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.modal-overlay{position:fixed;inset:0;background-color:#000000a6;display:flex;justify-content:center;align-items:center;z-index:1050;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:8px;box-shadow:0 5px 20px #00000040;width:90%;max-width:550px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-40px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef}.modal-header h3{margin:0;font-size:1.25rem;color:#333}.modal-body{padding:1.5rem}.modal-body p{margin-top:0;margin-bottom:1.5rem;color:#555;line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background-color:#f8f9fa;border-top:1px solid #e9ecef;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.close-button{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:#888;padding:0;line-height:1}.close-button:hover{color:#000}input[type=file]{display:block;width:100%;padding:10px;border:1px dashed #ccc;border-radius:4px;background-color:#f8f9fa;cursor:pointer;transition:border-color .2s;font-family:inherit;font-size:.9rem}input[type=file]:hover{border-color:#007bff}.file-info{margin-top:1rem;margin-bottom:0;font-size:.9em;color:#007bff;font-style:italic;word-break:break-all}.btn{display:inline-flex;visibility:visible;opacity:1;padding:.6rem 1.2rem;border-radius:5px;border:1px solid transparent;cursor:pointer;font-weight:500;align-items:center;justify-content:center;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.65}.btn-primary{background-color:#007bff;color:#fff;border-color:#007bff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff;border-color:#6c757d}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.syllabus-history-list{list-style:none;padding:0;margin:0;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.syllabus-history-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid #e9ecef;background-color:#fff;transition:background-color .2s ease}.syllabus-history-item:last-child{border-bottom:none}.syllabus-history-item:hover{background-color:#f8f9fa}.syllabus-info{display:flex;flex-direction:column;gap:2px}.syllabus-session{font-weight:600;font-size:.9rem;color:#0056b3}.syllabus-filename{font-size:.8rem;color:#495057;font-style:italic;word-break:break-all}.syllabus-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.action-btn{background:transparent;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;color:#6c757d;transition:all .2s ease-in-out}.action-btn:hover{background-color:#e9ecef}.action-btn.download{color:#007bff}.action-btn.update{color:#17a2b8}.action-btn.delete{color:#dc3545}.no-history-message{padding:1.5rem;text-align:center;color:#6c757d;font-style:italic;background-color:#f8f9fa;border-radius:8px}.subject-details-page{padding:1.5rem 2rem;max-width:1400px;margin:2rem auto;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014}.details-header{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid #e9ecef;padding-bottom:1.5rem;margin-bottom:1.5rem}.header-title-group h1{margin:0;font-size:2rem;font-weight:600}.header-title-group .course-name{margin:0;color:#6c757d}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.detail-item{background-color:#f8f9fa;border-left:4px solid #007bff;padding:1rem;border-radius:4px}.detail-label{display:block;font-size:.8rem;color:#6c757d;text-transform:uppercase;margin-bottom:.5rem}.detail-value{font-size:1.1rem;font-weight:600}.details-divider{border:none;height:1px;background-color:#e0e0e0;margin:2rem 0}.syllabus-management-section{margin-top:1rem}.syllabus-section-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #eee;padding-bottom:1rem;margin-bottom:1.5rem}.syllabus-section-header h4{margin:0;font-size:1.25rem}.syllabus-viewer-layout{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:flex-start}.pdf-viewer-container{border:1px solid #e0e0e0;border-radius:8px;padding:1rem;background-color:#f8f9fa}.pdf-viewer-container h5{margin-top:0;margin-bottom:1rem;font-size:1.1rem}.pdf-viewer-container .react-pdf__Document{max-height:80vh;overflow-y:auto;border:1px solid #ccc;border-radius:4px}.pdf-viewer-container .react-pdf__Page{margin-bottom:8px;box-shadow:0 2px 8px #0000001a}.pdf-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;border:2px dashed #ced4da;border-radius:8px;background-color:#fff;text-align:center;padding:2rem}.pdf-placeholder p{color:#6c757d;font-size:1.1rem;margin-bottom:1.5rem}.syllabus-history-container h5{margin-top:0;margin-bottom:1rem;font-size:1.1rem}.details-error-container{text-align:center;padding:3rem;max-width:600px;margin:3rem auto;background-color:#fff;border-radius:8px;border:1px solid #e0e0e0}.details-error-container h2{margin-top:1rem}.details-error-container p{color:#6c757d;margin-bottom:2rem}@media (max-width: 992px){.syllabus-viewer-layout{grid-template-columns:1fr}}.mark-attendance-container{padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.mark-attendance-header h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.attendance-controls{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;flex-grow:1}.control-group label{margin-bottom:.5rem;font-weight:500;color:#374151}.control-group select,.control-group input[type=date]{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;background-color:#f9fafb}.student-list-table-wrapper{overflow-x:auto}.student-list-table{width:100%;border-collapse:collapse}.student-list-table th,.student-list-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}.student-list-table th{background-color:#f9fafb;font-weight:600;color:#374151}.status-column{width:300px}.attendance-radios{display:flex;gap:.5rem}.attendance-radios input[type=radio]{display:none}.radio-label{padding:.5rem 1rem;border-radius:9999px;cursor:pointer;font-weight:500;text-align:center;border:1px solid #d1d5db;transition:all .2s ease-in-out;flex-grow:1}.radio-label.present{background-color:#f0fdf4;color:#166534;border-color:#bbf7d0}.radio-label.absent{background-color:#fef2f2;color:#991b1b;border-color:#fecaca}.radio-label.late{background-color:#fffbeb;color:#92400e;border-color:#fde68a}.attendance-radios input[type=radio]:checked+.radio-label.present{background-color:#22c55e;color:#fff;border-color:#16a34a}.attendance-radios input[type=radio]:checked+.radio-label.absent{background-color:#ef4444;color:#fff;border-color:#dc2626}.attendance-radios input[type=radio]:checked+.radio-label.late{background-color:#f59e0b;color:#fff;border-color:#d97706}.no-students-message{text-align:center;padding:2rem;color:#6b7280;background-color:#f9fafb;border-radius:8px;border:1px dashed #e5e7eb}.attendance-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.toast-wrapper{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px}.bulk-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.status-message{text-align:center;padding:2rem;margin-top:2rem;border-radius:8px;border:1px solid}.status-message.taken{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.status-message p{margin:0 0 1rem;font-weight:500}.read-only{margin-top:1rem;background-color:#fff}.edit-action-bar{text-align:right;margin-top:1.5rem}.attendance-report-container{padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.report-filters .control-group{display:flex;flex-direction:column;flex-grow:1}.report-filters .control-group select,.report-filters .control-group input{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2.5rem}.summary-card{background-color:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.summary-card h4{margin:0 0 .5rem;color:#374151;font-weight:600}.summary-value{font-size:2.25rem;font-weight:700;color:#111827;margin:0 0 1rem}.report-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.report-table-header h4{font-size:1.1rem;font-weight:600;color:#1f2937}.cell-center{text-align:center}.percentage-cell{display:flex;align-items:center;gap:.75rem}.progress-bar-bg{flex-grow:1;height:10px;background-color:#e5e7eb;border-radius:5px;overflow:hidden}.progress-bar-fg{height:100%;border-radius:5px;transition:width .5s ease-in-out}.progress-bar-fg.high{background-color:#22c55e}.progress-bar-fg.medium{background-color:#f59e0b}.progress-bar-fg.low{background-color:#ef4444}.percentage-cell span{font-weight:500;width:50px;text-align:right}.edit-attendance-form{padding:1rem;display:flex;flex-direction:column;gap:1.25rem}.record-info-box{padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.record-info-box p{margin:0 0 .75rem;font-size:.9rem;color:#4a5568}.info-row{display:flex;justify-content:space-between;align-items:baseline;font-size:1rem}.info-row:not(:last-child){margin-bottom:.25rem}.info-row span{color:#718096}.info-row strong{color:#1a202c}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.history-header h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.filter-card{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1.5rem;background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.control-group{display:flex;flex-direction:column;flex:1;min-width:200px}.control-group label{margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.control-group select,.control-group input{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;background-color:#f9fafb}.control-group select:disabled{background-color:#e5e7eb;cursor:not-allowed}.actions-bar{display:flex;justify-content:flex-end;margin-top:1.5rem}.results-area{margin-top:1.5rem}.initial-message{text-align:center;padding:3rem;color:#6b7280;border:2px dashed #e5e7eb;border-radius:8px;background-color:#fafafa}.action-cell{display:flex;justify-content:center;align-items:center}.main-w{padding:2rem;background-color:#ffffff70;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;flex-grow:1}.attendance-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;overflow:hidden}.grade-entry-container{padding:1.5rem 2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014}.grade-entry-header h3{margin:0 0 1.5rem;font-size:1.5rem;border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.grade-entry-controls{margin-bottom:2rem}.control-group{display:flex;flex-direction:column;gap:.5rem;max-width:400px}.control-group label{font-weight:500;color:#374151}.control-group select{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.grade-table-wrapper{width:100%;overflow-x:auto}.grade-table{width:100%;border-collapse:collapse}.grade-table th,.grade-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.grade-table th{background-color:#f9fafb;font-weight:600;color:#4b5563}.grade-table .marks-column-header{text-align:center}.marks-cell{display:flex;align-items:center;gap:.75rem;justify-content:center}.marks-input{width:80px;padding:.5rem;text-align:center;border:1px solid #d1d5db;border-radius:4px;transition:background-color .2s,border-color .2s}.marks-input:focus{outline:2px solid #a5b4fc;border-color:#6366f1}.marks-input:disabled{background-color:#e9ecef;border-color:#ced4da;cursor:not-allowed;color:#495057;font-weight:500}.edit-btn,.save-btn{background:transparent;border:none;cursor:pointer;padding:.5rem;font-size:1rem;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.edit-btn{color:#3b82f6}.edit-btn:hover{background-color:#dbeafe}.save-btn{color:#16a34a}.save-btn:hover{background-color:#dcfce7}.grade-entry-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.no-students-message{text-align:center;padding:2rem;color:#6b7280;font-style:italic;background-color:#f9fafb;border-radius:6px}.grade-sheet-container{padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.sheet-header h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.sheet-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1.5rem;background-color:#f9fafb;border-radius:8px;margin-bottom:2rem}.sheet-filters .control-group{display:flex;flex-direction:column;flex-grow:1;max-width:400px}.sheet-filters .control-group label{margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.9rem}.sheet-filters .control-group select{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem}.sheet-results{margin-top:2rem}.sheet-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2.5rem}.sheet-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sheet-table-header h4{font-size:1.1rem;font-weight:600;color:#1f2937}.marks-cell{font-weight:500}.status-pass,.status-fail{padding:.25rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-pass{background-color:#dcfce7;color:#166534}.status-fail{background-color:#fee2e2;color:#991b1b}.grade-report-container{padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.report-header h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.report-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1.5rem;background-color:#f9fafb;border-radius:8px;margin-bottom:2rem}.report-filters .control-group{display:flex;flex-direction:column;flex-grow:1;max-width:400px}.report-filters .control-group label{margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.9rem}.report-filters .control-group select{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem}.initial-message{text-align:center;padding:3rem;color:#6b7280}.report-results{margin-top:2rem}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.summary-card{background-color:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb;text-align:center}.summary-card h4{margin:0 0 .5rem;color:#374151;font-weight:600;font-size:1rem}.summary-value{font-size:2rem;font-weight:700;color:#111827;margin:0}.chart-container{padding:2rem;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.chart-container h4{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:#1f2937}.chart-container p{margin:0 0 1.5rem;color:#6b7280}.grades-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;overflow:hidden}.class-schedule-container{padding:1.5rem 2rem;background-color:#f9fafb}.schedule-header{padding:1rem 1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin-bottom:2rem}.schedule-header h3{margin:0;font-size:1.5rem;color:#1f2937}.schedule-header p{margin:.25rem 0 0;color:#6b7280}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.day-column{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 2px #00000008;display:flex;flex-direction:column}.day-header{padding:.75rem 1rem;font-size:1.1rem;font-weight:600;text-align:center;color:#374151;background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.classes-list{display:flex;flex-direction:column;gap:1rem;padding:1rem;flex-grow:1}.class-card{background-color:#f9fafb;border-radius:6px;padding:1rem;border-left:4px solid #4f46e5;box-shadow:0 1px 2px #0000000d}.class-card .class-time{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#4f46e5;font-size:.9rem;margin-bottom:.75rem}.class-card .class-details{margin-bottom:.75rem}.class-details p{margin:0;line-height:1.4}.class-details .subject-name{font-weight:500;color:#1f2937}.class-details .subject-code{font-size:.85rem;color:#6b7280}.class-card .class-location{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#6b7280;padding-top:.75rem;border-top:1px dashed #e5e7eb}.no-classes-card{text-align:center;color:#9ca3af;font-style:italic;flex-grow:1;display:flex;align-items:center;justify-content:center;padding:2rem 0}.no-schedule-message{text-align:center;padding:4rem 2rem;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;background-color:#fff}.no-schedule-message h4{margin:1.5rem 0 .5rem;font-size:1.25rem}.no-schedule-message p{margin:0}.class-list-container{padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.list-header h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.class-list-table-wrapper{overflow-x:auto}.class-attendance-container{padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;flex-grow:1}.attendance-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.attendance-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.attendance-header p{margin:.25rem 0 0;font-size:1rem;color:#6b7280}.daily-class-list{display:flex;flex-direction:column;gap:1rem}.daily-class-item{display:flex;flex-wrap:wrap;align-items:center;padding:1rem;background-color:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.class-time-info{width:150px;font-weight:500;color:#374151}.class-subject-info{flex-grow:1}.class-subject-info .subject-name{font-weight:600;margin:0 0 .25rem;color:#111827}.class-subject-info .subject-code{font-size:.875rem;color:#6b7280;margin:0}.class-action-info{width:200px;text-align:right}.status-display{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem}.status-display.completed{color:#166534}.status-display.upcoming{color:#6b7280}.no-classes-today{text-align:center;padding:3rem 1rem;color:#9ca3af;background-color:#f9fafb;border-radius:6px;border:1px dashed #e5e7eb}@media (max-width: 768px){.daily-class-item{flex-direction:column;align-items:flex-start;gap:.75rem}.class-action-info{width:100%;text-align:left;margin-top:.75rem}}.page-container{padding:1.5rem}.page-header{margin-bottom:2rem}.page-title{font-size:2rem;font-weight:700;color:#111827}.page-subtitle{font-size:1rem;color:#6b7280;margin-top:.25rem}.tab-content{margin-top:2rem}.faculty-dashboard{padding:1.5rem 2rem;background-color:#f8fafc}.page-header{margin-bottom:2.5rem}.page-title{margin:0;font-size:1.875rem;font-weight:700;color:#1e293b}.page-subtitle{margin:.25rem 0 0;color:#64748b;font-size:1rem}.page-content{display:grid;gap:2rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.dashboard-widgets-row{display:flex;gap:1.5rem;align-items:stretch}.dashboard-widgets-row>.dashboard-widget{flex:1;min-width:0;display:flex}.dashboard-widget .widget-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;border:1px solid #e2e8f0;width:100%;display:flex;flex-direction:column}.widget-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9;color:#334155;flex-shrink:0}.widget-header h3{margin:0;font-size:1.1rem;font-weight:600}.widget-header svg{color:#6366f1}.notifications-list{list-style:none;padding:0;margin:0;flex-grow:1;overflow-y:auto}.notification-item{display:flex;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6}.notification-item:last-child{border-bottom:none}.notification-icon{font-size:1.25rem;margin-top:.125rem;flex-shrink:0}.notification-content{display:flex;flex-direction:column}.notification-title{margin:0 0 .25rem;font-weight:600;font-size:.95rem}.notification-message{margin:0;font-size:.9rem;line-height:1.5;color:#4b5563}.notification-item.type-urgent .notification-icon{color:#dc2626}.notification-item.type-warning .notification-icon{color:#f97316}.notification-item.type-success .notification-icon{color:#16a34a}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1.5rem}.quick-link-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem .5rem;border-radius:10px;text-align:center;color:#475569;font-weight:500;font-size:.9rem;text-decoration:none;background-color:#f8fafc;border:1px solid #f1f5f9;transition:all .2s ease-in-out}.quick-link-item:hover{background-color:#fff;color:#4338ca;transform:translateY(-4px);box-shadow:0 4px 10px #0000000d;border-color:#e0e7ff}.quick-link-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:#eef2ff;color:#4338ca;font-size:1.25rem}@media (max-width: 992px){.dashboard-widgets-row{flex-direction:column}}@media (max-width: 576px){.page-container.faculty-dashboard{padding:1rem}.page-header{text-align:center}.page-title{font-size:1.5rem}.quick-links-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}.student-search-container{position:relative;width:100%;max-width:500px}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;font-size:1rem;font-family:inherit;color:#111827;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 1px 2px #0000000d;transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:#4f46e5;background-color:#fff;box-shadow:0 0 0 3px #4f46e526}.loading-spinner{position:absolute;right:1rem;width:18px;height:18px;border:2px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-results-list{position:absolute;top:calc(100% + 8px);left:0;width:100%;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:100;max-height:300px;overflow-y:auto;padding:.5rem;list-style:none;margin:0}.result-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:6px;cursor:pointer;transition:background-color .15s ease-in-out}.result-item:hover{background-color:#f4f4f5}.result-details{display:flex;flex-direction:column}.result-name{font-weight:500;color:#1e293b}.result-id{font-size:.8rem;color:#64748b}.result-course{font-size:.85rem;color:#4f46e5;font-weight:500}.student-details-form-container{padding:24px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d}.form-fields-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.form-fields-grid{grid-template-columns:repeat(2,1fr)}.form-fields-grid>div:last-child{grid-column:1 / -1}}.enrollment-details-container{padding:24px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-top:20px}.enrollment-fields-grid{display:grid;grid-template-columns:1fr;gap:20px}.year-selector-wrapper{position:relative;display:flex;align-items:center}.year-selector-wrapper .spinner-container{position:absolute;right:15px;top:50%;transform:translateY(-50%)}@media (min-width: 768px){.enrollment-fields-grid{grid-template-columns:repeat(3,1fr)}}.radio-input-label{display:inline-flex;align-items:center;cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none}.radio-input{position:absolute;opacity:0}.custom-radio{width:20px;height:20px;border:2px solid #ced4da;border-radius:50%;display:inline-block;position:relative;margin-right:10px;transition:all .2s}.radio-input:checked+.custom-radio{border-color:#007bff}.custom-radio:after{content:"";width:10px;height:10px;background:#007bff;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);transition:transform .2s}.radio-input:checked+.custom-radio:after{transform:translate(-50%,-50%) scale(1)}.fee-selection-container{padding:24px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-top:20px}.form-section-title{font-size:1.25rem;font-weight:600;color:#333;margin-top:0;margin-bottom:8px}.form-section-description{font-size:.9rem;color:#666;margin-top:0;margin-bottom:24px;border-bottom:1px solid #f0f0f0;padding-bottom:16px}.fee-fields-grid{display:grid;grid-template-columns:1fr;gap:20px}.payment-mode-group{padding:12px 16px;border:1px solid #ddd;border-radius:6px;background-color:#f9f9f9}.radio-group-label{display:block;font-size:.9rem;font-weight:500;color:#333;margin-bottom:10px}@media (min-width: 768px){.fee-fields-grid{grid-template-columns:repeat(2,1fr)}.grid-span-2{grid-column:1 / span 2}}.receive-payment-page{padding:2rem;max-width:900px;margin:0 auto}.page-header{margin-bottom:2rem;text-align:center}.page-title{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.page-description{font-size:1.1rem;color:#64748b}.mode-toggle{display:flex;justify-content:center;margin-bottom:2.5rem;background-color:#f1f5f9;padding:.5rem;border-radius:10px;width:fit-content;margin-left:auto;margin-right:auto}.toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background-color:transparent;color:#475569;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out}.toggle-btn.active{background-color:#fff;color:#4f46e5;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000000f}.payment-form{display:flex;flex-direction:column;gap:2rem}.form-section{background-color:#fff;padding:2rem;border:1px solid #e2e8f0;border-radius:12px}.section-title{font-size:1.25rem;font-weight:600;color:#334155;margin-top:0;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.form-actions{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:2rem;border-top:1px solid #e2e8f0}.due-student-list-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.student-info-cell{display:flex;align-items:center;gap:12px}.student-text{display:flex;flex-direction:column}.action-buttons{display:flex;gap:8px}.table-wrapper{width:100%;overflow-x:auto}.no-dues-message{text-align:center;padding:48px 24px;background-color:#f9fafb;border-radius:6px;border:1px dashed #d1d5db}.no-dues-message p{margin:0;font-size:1.1rem;color:#374151}.due-student-list-container.loading-state{display:flex;justify-content:center;align-items:center;min-height:300px}.student-contact-details-container{position:relative;background-color:#fff;border-left:1px solid #e5e7eb;padding:24px;display:flex;flex-direction:column;height:100%}.student-contact-details-container.placeholder{display:flex;align-items:center;justify-content:center;text-align:center;color:#6b7280;background-color:#f9fafb}.close-button{position:absolute;top:16px;right:16px;background:none;border:none;font-size:2rem;color:#9ca3af;cursor:pointer;line-height:1;padding:0}.close-button:hover{color:#1f2937}.details-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}.header-text .student-name{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.header-text .student-id{font-size:.9rem;color:#6b7280;margin:4px 0 0}.due-details-highlight{background-color:#fefce8;border:1px solid #fde047;border-radius:8px;padding:16px;margin-bottom:24px}.due-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.due-item:last-of-type{margin-bottom:16px}.due-label{font-size:.9rem;color:#4b5563}.due-amount{font-size:1.2rem;font-weight:700;color:#c2410c}.due-date{font-weight:500;color:#1f2937}.details-section{margin-bottom:24px}.section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-top:0;margin-bottom:12px}.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.info-list li{display:flex;align-items:center;gap:8px}.info-icon{color:#9ca3af}.info-label{color:#4b5563;width:120px}.info-value{font-weight:500;color:#1f2937}.details-actions{margin-top:auto;display:flex;gap:12px;border-top:1px solid #f3f4f6;padding-top:24px}.details-actions>.button{flex:1}.filter-controls-container{display:flex;flex-direction:column;gap:16px;padding:16px;background-color:#fff;border-radius:8px;border:1px solid #e5e7eb}@media (min-width: 768px){.filter-controls-container{flex-direction:row;justify-content:space-between;align-items:center}}.due-payments-page{padding:24px}.page-controls{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:16px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.search-wrapper,.filter-wrapper,.due-payments-content{width:100%}@media (min-width: 768px){.page-controls{flex-direction:row;justify-content:space-between;align-items:flex-end}.search-wrapper{max-width:400px}.filter-wrapper{max-width:250px}}.modal .modal-content{padding:0;height:80vh;max-height:700px;width:90vw;max-width:450px}.collection-metrics-container{padding:24px;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.metrics-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin-top:0;margin-bottom:20px}.metrics-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}.collection-metrics-container.loading-state{display:flex;flex-direction:column;gap:20px}.daily-payment-list-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.list-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin-top:0;margin-bottom:20px}.table-responsive-wrapper{width:100%;overflow-x:auto}.no-proof-text{color:#9ca3af;font-style:italic}.no-payments-message{text-align:center;padding:40px 20px;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:6px}.no-payments-message p{margin:0;font-size:1rem;color:#6b7280}.daily-payment-list-container.loading-state{display:flex;justify-content:center;align-items:center;min-height:200px}.daily-payment-list-container .data-table{width:100%}.daily-payment-list-container th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.daily-payment-list-container td{vertical-align:middle}.search-input-group{position:relative;display:flex;align-items:center}.search-input-group .search-input{padding:10px 15px 10px 40px;border:1px solid var(--color-light-gray-border);border-radius:6px;font-size:1rem;color:var(--color-dark-text);background-color:var(--color-white);width:100%;box-sizing:border-box;font-family:inherit;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.search-input-group .search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff40}@media (max-width: 768px){.search-input-group .search-input{padding:8px 12px 8px 35px;font-size:.95rem}}:root{--color-white: #ffffff;--color-light-gray-border: #e0e0e0;--color-dark-text: #333333;--color-gray-text: #757575;--color-primary: #007bff}.daily-collection-overview-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.overview-header{border-bottom:1px solid #f3f4f6;padding-bottom:16px;margin-bottom:24px}.overview-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.overview-date{font-size:.9rem;color:#6b7280;margin:4px 0 0}.main-stat-card-wrapper{margin-bottom:24px}.main-stat-card-wrapper>div{background-color:#f9fafb;border-left:4px solid #3b82f6}.breakdown-section{margin-top:16px}.breakdown-title{font-size:1rem;font-weight:500;color:#374151;margin-top:0;margin-bottom:12px}.breakdown-list{list-style:none;padding:0;margin:0}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f3f4f6}.breakdown-item:last-child{border-bottom:none}.mode-name{font-size:.9rem;color:#4b5563}.mode-amount{font-size:.95rem;font-weight:600;color:#111827}.daily-collection-overview-container.loading-state{display:flex;justify-content:center;align-items:center;min-height:300px}.receipt-upload-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;margin-top:24px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.upload-section-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin-top:0;margin-bottom:8px}.upload-section-description{font-size:.9rem;color:#6b7280;margin-top:0;margin-bottom:24px;border-bottom:1px solid #f3f4f6;padding-bottom:16px}.upload-form-grid{display:grid;grid-template-columns:1fr;gap:20px}.form-item{width:100%}.upload-error-message{color:#ef4444;font-size:.875rem;margin-top:16px;text-align:center;background-color:#fee2e2;padding:8px;border-radius:6px}.upload-actions{display:flex;justify-content:flex-end;margin-top:24px}@media (min-width: 768px){.upload-form-grid{grid-template-columns:repeat(2,1fr)}}.deposit-details-container{padding:24px;background-color:#f0fdf4;border:1px solid #10b981;border-radius:8px;display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;justify-content:center}.details-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.success-icon{font-size:1.75rem;color:#10b981}.details-title{font-size:1.25rem;font-weight:600;color:#064e3b;margin:0}.details-description{font-size:.9rem;color:#059669;margin-bottom:24px}.details-list{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:12px;font-size:.875rem;color:#1f2937;text-align:left}.details-list li{display:flex;align-items:center;gap:8px}.detail-icon{color:#4b5563}.details-actions{margin-top:auto;padding-top:16px}.bank-deposit-page{padding:24px}.page-controls{display:flex;justify-content:flex-start;margin-bottom:24px;padding:16px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.page-controls .date-picker-container{max-width:300px}.deposit-content{display:grid;grid-template-columns:1fr;gap:24px}.content-left,.content-right{width:100%}@media (min-width: 1024px){.deposit-content{grid-template-columns:1fr 1fr;align-items:start}}.accounts-dashboard{padding:24px}.page-header{margin-bottom:24px}.page-subtitle{font-size:1rem;color:#6b7280;margin-top:4px}.page-content{display:flex;flex-direction:column;gap:24px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.dashboard-widgets-row{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 992px){.dashboard-widgets-row{grid-template-columns:repeat(2,1fr)}}.dashboard-widget .widget-card{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:20px;height:100%}.widget-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #f3f4f6;padding-bottom:12px;margin-bottom:16px}.widget-header svg{color:#6b7280;font-size:1.2rem}.widget-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.transactions-list{list-style:none;padding:0;margin:0;max-height:250px;overflow-y:auto}.transaction-item{display:flex;align-items:center;gap:16px;padding:12px 4px;border-bottom:1px solid #f3f4f6}.transaction-item:last-child{border-bottom:none}.transaction-icon{color:#16a34a;background-color:#f0fdf4;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.transaction-content{display:flex;justify-content:space-between;flex-grow:1;align-items:center}.transaction-student{font-weight:500;color:#374151}.transaction-amount{font-weight:600;color:#1f2937}.notifications-list{list-style:none;padding:0;margin:0;max-height:250px;overflow-y:auto}.notification-item{display:flex;gap:16px;padding:12px 4px}.notification-icon{font-size:1.2rem;margin-top:2px}.notification-content{flex:1}.notification-title{margin:0 0 4px;font-size:.95rem;font-weight:600;color:#1f2937}.notification-message{margin:0;font-size:.9rem;color:#6b7280}.notification-item.type-info .notification-icon{color:#3b82f6}.notification-item.type-success .notification-icon{color:#22c55e}.notification-item.type-warning .notification-icon{color:#f59e0b}.notification-item.type-urgent .notification-icon{color:#ef4444}.quick-actions-section{width:100%}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.quick-link-card{display:block;background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;text-decoration:none;transition:all .2s ease-in-out}.quick-link-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000014;border-color:#4a90e2}.card-icon{font-size:28px;color:#4a90e2;margin-bottom:16px}.card-iconx{font-size:20px;color:#4a90e2;display:flex;align-items:center}.card-title{font-size:18px;font-weight:600;color:#2d3748;margin:0 0 8px}.card-description{font-size:13px;color:#718096;line-height:1.6;margin:0}.unclaimed-payment-search{width:100%;padding:1.5rem;border:1px solid #e2e8f0;border-radius:12px;background-color:#f8fafc}.search-title{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#475569}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:#9ca3af;pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;font-size:1rem;border:1px solid #d1d5db;border-radius:8px;transition:all .2s ease-in-out}.search-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526}.results-container{margin-top:1rem;min-height:200px;position:relative}.results-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.result-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out}.result-item:hover{border-color:#4f46e5;background-color:#fbfbfe;transform:translateY(-2px);box-shadow:0 4px 10px #0000000d}.item-details{display:flex;flex-direction:column;gap:.25rem}.receipt-id{font-family:monospace;font-size:.8rem;color:#64748b}.student-name{font-weight:600;color:#1e293b}.item-course{text-align:right}.item-course span{display:block}.item-course .item-amount{font-weight:600;color:#166534}.initial-prompt,.no-results-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:200px;color:#9ca3af}.initial-prompt p,.no-results-prompt p{margin:1rem 0 0;font-size:1.1rem;font-weight:500;color:#64748b}.load-more-container{margin-top:1.5rem;text-align:center}.payment-summary-container{position:relative;background-color:#fff;border-radius:8px;border-left:4px solid #16a34a;padding:24px;margin-top:24px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.clear-selection-button{position:absolute;top:12px;right:12px;background:none;border:none;font-size:2rem;font-weight:300;color:#9ca3af;cursor:pointer;line-height:1;padding:0;transition:color .2s}.clear-selection-button:hover{color:#1f2937}.summary-header{margin-bottom:20px}.summary-header h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.summary-header p{font-size:.9rem;color:#6b7280;margin:4px 0 0}.summary-highlight{display:flex;flex-direction:column;gap:16px;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px;margin-bottom:24px}.highlight-item{display:flex;flex-direction:column}.highlight-label{font-size:.8rem;color:#15803d;font-weight:500;text-transform:uppercase}.highlight-amount{font-size:1.75rem;font-weight:700;color:#166534}.highlight-value{font-family:monospace;font-size:1rem;font-weight:500;color:#1f2937}.summary-grid{display:grid;grid-template-columns:1fr;gap:16px 24px}.summary-item{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid #f3f4f6}.summary-label{font-size:.8rem;color:#6b7280;margin-bottom:4px}.summary-value{font-size:.95rem;font-weight:500;color:#111827}.grid-span-2{grid-column:1 / -1}@media (min-width: 768px){.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-highlight{flex-direction:row;justify-content:space-between;align-items:center}}.personal-details-form-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;margin-top:24px}.form-sub-title{font-size:1.1rem;font-weight:600;color:#374151;margin-top:32px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.form-sub-title:first-of-type{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}.uploads-grid{display:grid;grid-template-columns:1fr;gap:24px}.radio-group-wrapper{display:flex;flex-direction:column}.radio-group-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:8px}.radio-options-wrapper{display:flex;flex-direction:row;align-items:center;gap:24px;padding-top:8px}@media (min-width: 768px){.form-grid,.uploads-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.form-grid.three-columns{grid-template-columns:repeat(3,1fr)}}.checkbox-container{display:block;margin-bottom:8px}.checkbox-wrapper{display:inline-flex;align-items:center;position:relative;cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none}.checkbox-input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.custom-checkbox{position:relative;display:inline-block;width:20px;height:20px;background-color:#fff;border:2px solid #adb5bd;border-radius:4px;transition:all .2s ease-in-out;margin-right:12px}.custom-checkbox:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transition:transform .2s ease-in-out}.checkbox-label{color:#343a40}.checkbox-label a{color:#007bff;text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.checkbox-wrapper:hover .custom-checkbox{border-color:#007bff}.checkbox-input:checked+.custom-checkbox{background-color:#007bff;border-color:#007bff}.checkbox-input:checked+.custom-checkbox:after{transform:rotate(45deg) scale(1)}.checkbox-input:focus-visible+.custom-checkbox{box-shadow:0 0 0 3px #007bff40}.checkbox-wrapper.disabled{cursor:not-allowed;opacity:.6}.checkbox-error{color:#dc3545;font-size:14px;margin-top:4px;margin-left:32px}.contact-address-form-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;margin-top:24px}.form-sub-title{font-size:1rem;font-weight:500;color:#374151;margin-top:0;margin-bottom:16px}.address-grid{display:grid;grid-template-columns:1fr;gap:20px 24px}.grid-span-full{grid-column:1 / -1}.form-divider{border:none;border-top:1px solid #f3f4f6;margin:32px 0}.same-as-checkbox-wrapper{margin-bottom:16px;background-color:#f9fafb;padding:12px;border-radius:6px;border:1px solid #f3f4f6}@media (min-width: 768px){.address-grid{grid-template-columns:repeat(2,1fr)}}.reservation-caste-form-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr;gap:20px 24px}.radio-group-wrapper{display:flex;flex-direction:column;background-color:#f9fafb;padding:16px;border-radius:6px;border:1px solid #f3f4f6}.radio-group-label{display:block;font-size:.9rem;font-weight:500;color:#333;margin-bottom:12px}@media (min-width: 768px){.form-grid{grid-template-columns:repeat(2,1fr)}}.additional-info-form-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;margin-top:24px}.form-section-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin-top:0;margin-bottom:24px}.form-grid-additional{display:grid;grid-template-columns:1fr;gap:24px}.radio-group-wrapper{display:flex;flex-direction:column;background-color:#f9fafb;padding:16px;border-radius:8px;border:1px solid #e5e7eb;height:100%;transition:box-shadow .2s ease-in-out,border-color .2s ease-in-out}.radio-group-wrapper:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.radio-group-label{display:block;font-size:.95rem;font-weight:600;color:#374151;margin-bottom:16px}.radio-options-wrapper{display:flex;flex-direction:column;gap:12px}@media (min-width: 768px){.form-grid-additional{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.form-grid-additional{grid-template-columns:repeat(3,1fr)}}.info-box{display:flex;align-items:flex-start;gap:15px;padding:16px 20px;border-radius:8px;border-left-width:5px;border-left-style:solid;margin-bottom:30px}.info-box-icon{font-size:24px;margin-top:2px}.info-box-content{flex:1}.info-box-title{margin:0 0 8px;font-size:16px;font-weight:700}.info-box-message{font-size:15px;line-height:1.6}.variant-info{background-color:#e7f3ff;border-left-color:#007bff}.variant-info .info-box-icon{color:#007bff}.variant-info .info-box-title,.variant-info .info-box-message{color:#004085}.variant-warning{background-color:#fff8e1;border-left-color:#ffc107}.variant-warning .info-box-icon{color:#ffc107}.variant-warning .info-box-title,.variant-warning .info-box-message{color:#856404}.academic-id-form-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;margin-top:24px}.form-section-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin-top:0;margin-bottom:16px}.academic-id-form-container .info-box-container{margin-bottom:24px}.academic-form-grid{display:grid;grid-template-columns:1fr;gap:20px 24px}@media (min-width: 768px){.academic-form-grid{grid-template-columns:repeat(2,1fr)}}.student-enrollment-page{padding:24px}.search-view-container{max-width:900px;margin:0 auto}.form-view-container{display:grid;grid-template-columns:1fr;gap:32px}.stepper-container{margin-bottom:24px}.form-content{display:flex;flex-direction:column;gap:24px}.form-step-wrapper{min-height:200px}.review-step{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:32px;text-align:center}.review-step h4{margin-top:0;font-size:1.2rem;color:#1f2937}.review-step p{color:#6b7280}.form-navigation{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid #e5e7eb;margin-top:16px}@media (min-width: 1024px){.form-view-container{grid-template-columns:280px 1fr}.stepper-container{position:sticky;top:24px;align-self:start;margin-bottom:0}}.auth-container{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background-color:#f3f4f6;padding:2rem}.auth-card{width:100%;max-width:420px;background-color:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 10px 25px #00000014}.auth-title{text-align:center;font-size:1.75rem;font-weight:700;color:#111827;margin:0 0 .5rem}.auth-subtitle{text-align:center;font-size:1rem;color:#6b7280;margin:0 0 2rem}.auth-error-banner{display:flex;align-items:center;gap:.75rem;color:#991b1b;background-color:#fee2e2;padding:.75rem 1rem;border-radius:6px;text-align:left;margin-bottom:1.25rem;font-size:.9rem;font-weight:500}.input-field-wrapper{margin-bottom:1.25rem}.input-label{display:block;font-weight:500;margin-bottom:.5rem;color:#374151}.role-select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;background-color:#f9fafb}.password-toggle-btn{background:none;border:none;cursor:pointer;color:#6b7280;padding:0 .5rem;display:flex;align-items:center;justify-content:center}.password-toggle-btn:hover{color:#111827}.auth-options{text-align:right;margin-bottom:1.5rem}.auth-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;color:#6b7280}.auth-link{font-size:.9rem;color:#4f46e5;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-link.bold{font-weight:600}.stepper{display:flex;align-items:center;justify-content:center;margin-bottom:30px}.step{width:30px;height:30px;border-radius:50%;background-color:#e2e8f0;color:#718096;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s ease}.step.active{background-color:#4a90e2;color:#fff}.step-connector{width:80px;height:2px;background-color:#e2e8f0}.form-navigation{display:flex;justify-content:space-between;margin-top:20px;width:100%}.confirmation-message{text-align:center;padding:20px 0}.confirmation-icon{font-size:48px;color:#48bb78;margin-bottom:20px}.confirmation-message .auth-subtitle{line-height:1.6}.confirmation-message strong{color:#2d3748}.not-found-page-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:2rem;background-color:#f1f5f9}.not-found-card{position:relative;overflow:hidden;background-color:#fff;padding:3rem;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 10px 15px -3px #00000012,0 4px 6px -2px #0000000d;text-align:center;max-width:600px;width:100%;z-index:1}.not-found-card:before{content:"404";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18rem;font-weight:900;color:#f8fafc;z-index:-1;-webkit-user-select:none;user-select:none}.not-found-icon{margin-bottom:1.5rem;color:#64748b}.not-found-title{margin:0 0 .75rem;font-size:2.25rem;font-weight:800;color:#1e293b}.not-found-message{margin:0 0 2rem;font-size:1.1rem;color:#64748b;line-height:1.6}.not-found-actions{display:flex;justify-content:center;gap:1rem}@media (max-width: 640px){.not-found-page-container{padding:1rem}.not-found-card{padding:2rem 1.5rem}.not-found-card:before{font-size:12rem}.not-found-title{font-size:1.75rem}.not-found-message{font-size:1rem}.not-found-actions{flex-direction:column;align-items:stretch}.not-found-actions>*,.not-found-actions>a>button{width:100%}}.auth-page-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f3f4f6;padding:2rem}.auth-panel{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:1000px;background-color:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;overflow:hidden}.auth-welcome-panel{padding:4rem 2.5rem;background-color:#4f46e5;color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.auth-logo{max-width:100px;margin-bottom:1.5rem}.auth-welcome-panel h1{font-size:2rem;margin-bottom:1rem}.auth-welcome-panel p{font-size:1.1rem;opacity:.9;line-height:1.6}.auth-form-panel{padding:2rem;display:flex;justify-content:center;align-items:center}@media (max-width: 800px){.auth-panel{grid-template-columns:1fr}.auth-welcome-panel{display:none}.auth-form-panel{padding:2.5rem 1.5rem}}.student-search-container{background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;padding:20px;flex-grow:1}.search-header h4{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 16px}.search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 20px}@media (min-width: 1024px){.main-search-field{grid-column:1 / span 2}}.search-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.student-list-container{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px;margin-top:24px;min-height:300px}.student-cell-info{display:flex;align-items:center;gap:12px}.student-cell-text{display:flex;flex-direction:column}.student-name{font-weight:500;color:#111827}.student-id{font-size:.8rem;color:#6b7280}.action-buttons-cell{display:flex;gap:8px}.table-responsive-container{width:100%;overflow-x:auto}.no-results-message{display:flex;justify-content:center;align-items:center;height:250px;text-align:center;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:6px}.no-results-message p{margin:0;font-size:1rem;color:#6b7280}.student-list-container.loading-state{display:flex;justify-content:center;align-items:center}.document-manager-container{display:flex;flex-direction:column;height:100%}.modal-header{padding:16px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.modal-body{padding:24px;flex-grow:1;overflow-y:auto;background-color:#f9fafb}.student-info-header{display:flex;align-items:center;gap:16px;background-color:#fff;padding:16px;border-radius:8px;border:1px solid #e5e7eb;margin-bottom:24px}.student-info-text{display:flex;flex-direction:column}.student-info-text .student-name{font-size:1.1rem;font-weight:600;color:#111827}.student-info-text .student-id{font-size:.875rem;color:#6b7280}.document-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.document-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:12px 16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;transition:box-shadow .2s ease-in-out}.document-item:hover{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.doc-title{font-weight:500;color:#374151}.required-star{color:#ef4444;margin-left:4px}.doc-status{white-space:nowrap}.doc-actions{display:flex;justify-content:flex-end;min-width:120px}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px}.modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;background-color:#f9fafb;flex-shrink:0}@media (max-width: 640px){.document-item{grid-template-columns:1fr;gap:12px}.doc-actions{justify-content:flex-start}.modal-body{padding:16px}}.student-management-page{padding:24px}.page-header{margin-bottom:24px;border-bottom:1px solid #e5e7eb;padding-bottom:16px}.page-title{font-size:1.75rem;font-weight:700;color:#111827;margin:0}.page-description{font-size:1rem;color:#6b7280;margin-top:8px}.page-content-layout{display:flex;flex-direction:column;gap:24px}.student-search-content{display:flex;flex-direction:column;align-items:center}.modal .modal-content{padding:0;width:90vw;max-width:550px;background-color:#fff;border-radius:8px}.unauthorized-page-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:2rem;background-color:#f8fafc}.unauthorized-card{background-color:#fff;padding:2.5rem 3rem;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #0000000d;text-align:center;max-width:550px;width:100%}.unauthorized-icon{margin-bottom:1.5rem;color:#4f46e5}.unauthorized-title{margin:0 0 .75rem;font-size:2rem;font-weight:700;color:#1e293b}.unauthorized-message{margin:0 0 2rem;font-size:1rem;color:#64748b;line-height:1.6}.unauthorized-actions{display:flex;justify-content:center;gap:1rem}@media (max-width: 640px){.unauthorized-page-container{padding:1rem;min-height:calc(100vh - 80px)}.unauthorized-card{padding:2rem 1.5rem}.unauthorized-title{font-size:1.5rem}.unauthorized-actions{flex-direction:column;align-items:stretch}.unauthorized-actions>*,.unauthorized-actions>a>button{width:100%}}.module-content{transition:max-height .4s ease-in-out,opacity .4s ease-in-out;overflow:hidden}.module-expanded{max-height:2000px;opacity:1}.module-collapsed{max-height:0;opacity:0}.requirement-item:hover{background-color:#3b82f60d;border-radius:.375rem;transition:background-color .2s ease}.module-header{background:linear-gradient(135deg,var(--tw-gradient-stops));box-shadow:0 4px 10px #00000026}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4f46e5,#06b6d4);border-radius:10px}::-webkit-scrollbar-track{background:#f3f4f6}.icon-hover{transition:transform .2s ease,color .2s ease}.icon-hover:hover{transform:scale(1.1);color:#2563eb}.section-title{position:relative;display:inline-block;padding-bottom:4px}.section-title:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:50%;background:linear-gradient(90deg,#6366f1,#06b6d4);border-radius:2px}body{background-color:#f8fafc;font-family:Inter,Segoe UI,sans-serif}.p-6{animation:fadeIn .4s ease-in-out}h1{letter-spacing:-.02em}.text-gray-600{max-width:780px;margin-left:auto;margin-right:auto;line-height:1.6}.border{border:1px solid #e2e8f0!important}.bg-white{background-color:#fff!important}button.w-full{transition:background .2s ease,transform .2s ease;border-radius:16px 16px 0 0}button.w-full:hover{background-color:#f1f5f9;transform:scale(1.01)}.border-t{border-top:1px solid #e2e8f0!important}.bg-gray-50{background-color:#f9fafb!important}ul.list-disc li{line-height:1.5;padding-left:2px;transition:all .2s ease-in-out}ul.list-disc li:hover{color:#1e40af;transform:translate(4px)}.text-indigo-600,.text-emerald-600,.text-blue-600,.text-purple-600,.text-yellow-600,.text-pink-600{filter:drop-shadow(0px 1px 1px rgba(0,0,0,.1))}footer{border-top:1px solid #e5e7eb;padding-top:10px;margin-top:30px}.px-6.pb-4.pt-2{animation:slideDown .25s ease-in-out}.shadow-sm{box-shadow:0 2px 6px #0f172a0f!important}.hover\:shadow-md:hover{box-shadow:0 6px 14px #0f172a1f!important}@media (max-width: 768px){.p-6{padding:16px}h1{font-size:1.5rem}button.w-full{flex-direction:column;align-items:flex-start;gap:8px}ul.list-disc{padding-left:1.2rem}}.usecase-container{padding:20px;font-family:Segoe UI,sans-serif;background-color:#f8fafc}.title{text-align:center;color:#0f172a;font-size:1.6rem;margin-bottom:20px}.module-card{background:#fff;border-radius:12px;margin-bottom:15px;box-shadow:0 2px 8px #00000014;overflow:hidden}.module-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#e2e8f0;cursor:pointer;transition:background .2s}.module-header:hover{background:#cbd5e1}.module-title{display:flex;align-items:center;gap:10px}.icon{color:#2563eb}.usecase-list{padding:15px 25px;border-top:1px solid #e5e7eb}.usecase-item{margin-bottom:16px}.usecase-item h4{color:#1e3a8a;margin-bottom:4px}.usecase-item p{margin:2px 0}.usecase-item ol{padding-left:20px;margin-top:6px}.usecase-item li{list-style-type:decimal;margin-bottom:2px}.ui-container{animation:fadeIn .4s ease-in-out}.ui-title{letter-spacing:-.02em}.ui-description{max-width:780px;margin:0 auto;line-height:1.6}.ui-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;transition:transform .2s ease,box-shadow .2s ease}.ui-card:hover{transform:scale(1.01);box-shadow:0 6px 14px #0000001a}.ui-card-header{cursor:pointer}.ui-card-body{animation:slideDown .25s ease-in-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ui-footer{border-top:1px solid #e5e7eb;padding-top:10px;margin-top:30px;color:#6b7280}.uc-container{animation:fadeIn .4s ease-in-out}.uc-title{letter-spacing:-.02em}.uc-description{max-width:780px;margin:0 auto;line-height:1.6}.uc-card{border:1px solid #e2e8f0;padding:20px;border-radius:16px;transition:transform .2s ease,box-shadow .2s ease}.uc-card:hover{transform:scale(1.01);box-shadow:0 6px 14px #0000001a}.uc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.uc-footer{border-top:1px solid #e5e7eb;padding-top:10px;margin-top:30px;color:#6b7280}.cad-container{animation:fadeIn .4s ease-in-out}.cad-title{letter-spacing:-.02em}.cad-description{max-width:780px;margin:0 auto;line-height:1.6}.cad-card{border:1px solid #e2e8f0;padding:20px;border-radius:16px;transition:transform .2s ease,box-shadow .2s ease}.cad-card:hover{transform:scale(1.01);box-shadow:0 6px 14px #0000001a}.cad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.cad-footer{border-top:1px solid #e5e7eb;padding-top:10px;margin-top:30px;color:#6b7280}.definition-container{animation:fadeIn .4s ease-in-out}.definition-title{letter-spacing:-.02em}.definition-description{max-width:800px;margin:0 auto;line-height:1.6}.definition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.definition-card{border:1px solid #e2e8f0;padding:20px;border-radius:16px;transition:transform .2s ease,box-shadow .2s ease}.definition-card:hover{transform:scale(1.01);box-shadow:0 6px 14px #0000001a}.definition-footer{border-top:1px solid #e5e7eb;padding-top:10px;margin-top:30px;color:#6b7280}.si-container{animation:fadeIn .4s ease-in-out}.si-title{letter-spacing:-.02em}.si-description{max-width:800px;margin:0 auto;line-height:1.6}.si-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.si-card{border:1px solid #e2e8f0;padding:20px;border-radius:16px;transition:transform .2s ease,box-shadow .2s ease}.si-card:hover{transform:scale(1.01);box-shadow:0 6px 14px #0000001a}.si-footer{border-top:1px solid #e5e7eb;padding-top:10px;margin-top:30px;color:#6b7280}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mis-dashboard{max-width:1200px;margin:0 auto}.mis-title{letter-spacing:-.02em}.mis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.mis-card{background:#fff;border-radius:16px;padding:20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease;border:1px solid #e2e8f0}.mis-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px #0000001a}.mis-icon{color:#6366f1;font-size:2rem}.mis-label{color:#374151}a{text-decoration:none}
