@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0}.app-container{align-items:center;background:#f8f9fc;display:flex;justify-content:center;min-height:100vh}.app-container,.login-card{position:relative}.blue-card{background:#2563eb;left:25px;position:absolute;top:25px;z-index:1}.blue-card,.login-container{border-radius:8px;height:480px;width:430px}.login-container{background:#fff;box-shadow:0 8px 30px #00000026;display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative;z-index:2}@media (max-width:500px){.login-card{width:90vw}.login-container{height:auto;min-height:450px;width:90vw}.blue-card{display:none}}.login-content{display:flex;flex-direction:column;flex-grow:1;justify-content:center;padding:40px}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#111827;font-size:26px;font-weight:600;margin-bottom:5px}.login-header h2{color:#111827;font-size:18px;font-weight:500;margin-bottom:10px}.login-header p{color:#6b7280;font-size:13px;line-height:1.5}.form-group{margin-bottom:22px}.form-group label{margin-bottom:6px}.form-group input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:12px 14px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;outline:none}.form-options{display:flex;font-size:13px;justify-content:flex-end;margin-bottom:25px}.forgot-link{color:#2563eb;cursor:pointer;text-decoration:none;transition:color .2s}.forgot-link:hover{color:#1d4ed8;text-decoration:underline}.sign-in-btn{align-items:center;background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:center;padding:13px;transition:.3s;width:100%}.sign-in-btn:hover:not(:disabled){background:#1d4ed8}.sign-in-btn:disabled{background:#93c5fd;cursor:not-allowed}.toast{border-radius:6px;box-shadow:0 4px 12px #0000001a;font-size:14px;padding:12px 20px;position:fixed;right:20px;top:20px;z-index:9999}.toast.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.toast.error{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.loader{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#1d4ed8;height:20px;width:20px}:root{--primary-color:#0d47a1;--primary-hover:#0b3d8f;--primary-dark:#082f6b;--secondary-color:#fff;--background-white:#fff;--background-light:#f8f9fa;--text-medium:#161111;--text-lighter:#9ca3af;--border-light:#f3f4f6;--shadow-sm:0 2px 10px #0000000d;--shadow-md:0 4px 15px #0000001a;--shadow-lg:0 8px 25px #00000026;--spacing-xs:5px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:30px;--spacing-2xl:40px;--radius-sm:8px;--radius-md:10px;--radius-lg:15px;--radius-xl:20px;--radius-full:50%;--transition-fast:0.2s ease;--transition-base:0.3s ease;--transition-smooth:0.3s cubic-bezier(0.4,0,0.2,1)}.dashboard-container{background-color:#f5f5f5;color:#161111;color:var(--text-medium);min-height:100vh;padding:20px 40px;padding:var(--spacing-lg) var(--spacing-2xl);width:100%}.dashboard-title{margin-bottom:30px;margin-bottom:var(--spacing-xl)}.dashboard-title h1{color:#111827;color:var(--text-dark);font-size:1.75rem;font-weight:700}.dashboard-grid{grid-gap:20px;grid-gap:var(--spacing-lg);display:grid;gap:20px;gap:var(--spacing-lg);grid-template-columns:1fr 1fr 1fr;width:100%}.dashboard-column{gap:20px;gap:var(--spacing-lg)}.card,.dashboard-column{display:flex;flex-direction:column}.card{background-color:#fff;background-color:var(--background-white);border-radius:15px;border-radius:var(--radius-lg);box-shadow:0 2px 10px #0000000d;box-shadow:var(--shadow-sm);padding:20px;padding:var(--spacing-lg);transition:transform .3s ease,box-shadow .3s ease;transition:transform var(--transition-base),box-shadow var(--transition-base)}.card:hover{box-shadow:0 4px 15px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;margin-bottom:var(--spacing-lg)}.card-header h3{color:#111827;color:var(--text-dark);font-size:1rem;font-weight:600;margin:0}.card-header a{align-items:center;color:#0d47a1;color:var(--primary-color);display:flex;font-size:.85rem;font-weight:500;gap:4px;text-decoration:none;transition:color .2s ease;transition:color var(--transition-fast)}.card-header a:hover{color:#0b3d8f;color:var(--primary-hover);text-decoration:underline}.card-header a:after{content:"→";font-size:1rem}.student-list{flex-direction:column}.student-item,.student-list{display:flex;gap:15px;gap:var(--spacing-md)}.student-item{align-items:center;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;padding:10px;padding:var(--spacing-sm);transition:background-color .2s ease;transition:background-color var(--transition-fast)}.student-item:hover{background-color:#f8f9fa;background-color:var(--background-light)}.student-item .profile-pic{align-items:center;background-color:#10b981;border-radius:50%;border-radius:var(--radius-full);box-shadow:0 2px 8px #10b9814d;color:#fff;color:var(--background-white);display:flex;flex-shrink:0;font-size:.85rem;font-weight:600;height:45px;justify-content:center;width:45px}.student-item .info{flex-grow:1;min-width:0}.student-item .info .name{color:#111827;color:var(--text-dark);font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-item .info .id{color:#9ca3af;color:var(--text-lighter);font-size:.75rem}.student-item .amount{color:#111827;color:var(--text-dark);font-size:.85rem;font-weight:600;white-space:nowrap}.student-item .class{color:#6b7280;color:var(--text-light);font-size:.8rem;min-width:40px;text-align:right;white-space:nowrap}.leave-status-card{display:flex;flex-direction:column;max-height:550px;overflow:hidden}.leave-filter-actions{display:flex;gap:8px}.refresh-leaves-btn,.view-all-leaves-btn{background:#fff;background:var(--background-white);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-sm);color:#111827;color:var(--text-dark);cursor:pointer;font-size:.75rem;font-weight:500;padding:6px 12px;transition:all .3s ease;transition:all var(--transition-base)}.refresh-leaves-btn:hover,.view-all-leaves-btn:hover{background-color:#0d47a1;background-color:var(--primary-color);border-color:#0d47a1;border-color:var(--primary-color);color:#fff}.refresh-leaves-btn:disabled{cursor:not-allowed;opacity:.5}.leave-filters-dashboard{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.filter-group{flex:1 1;flex-direction:column;gap:5px;min-width:120px}.filter-group label{color:#6b7280;color:var(--text-light);font-size:.75rem;font-weight:500}.leave-filter-select{background:#fff;background:var(--background-white);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-sm);color:#111827;color:var(--text-dark);cursor:pointer;font-size:.75rem;font-weight:500;padding:6px 10px;width:100%}.leave-filter-select:focus{border-color:#0d47a1;border-color:var(--primary-color);box-shadow:0 0 0 3px #0d47a11a;outline:none}.filter-results-count{background-color:#f8f9fa;background-color:var(--background-light);color:#6b7280;color:var(--text-light);margin-bottom:10px;text-align:center}.filter-results-count,.leave-view-info{border-radius:8px;border-radius:var(--radius-sm);font-size:.75rem;padding:8px 12px}.leave-view-info{align-items:center;background-color:#e3f2fd;color:#1976d2;display:flex;gap:8px;margin-bottom:12px}.info-icon{font-size:1rem}.leave-list{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow-y:auto;padding-right:5px}.leave-list::-webkit-scrollbar{width:4px}.leave-list::-webkit-scrollbar-track{background:#f8f9fa;background:var(--background-light);border-radius:10px}.leave-list::-webkit-scrollbar-thumb{background:#9ca3af;background:var(--text-lighter);border-radius:10px}.leave-item{align-items:center;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:12px;padding:10px;position:relative;transition:background-color .2s ease;transition:background-color var(--transition-fast)}.leave-item:hover{background-color:#f8f9fa;background-color:var(--background-light)}.upcoming-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 2px 8px #667eea66;color:#fff;font-size:.65rem;font-weight:600;padding:3px 8px;position:absolute;right:-8px;top:-8px}.leave-icon{font-size:1.2rem}.leave-icon,.leave-profile-pic{align-items:center;border-radius:50%;border-radius:var(--radius-full);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.leave-profile-pic{box-shadow:0 2px 8px #00000026;color:#fff;font-size:.85rem;font-weight:600;text-transform:uppercase}.leave-info{flex-grow:1;min-width:0}.leave-name{color:#111827;color:var(--text-dark);font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leave-role{color:#9ca3af;color:var(--text-lighter);font-size:.75rem}.leave-status{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 12px;white-space:nowrap}.upcoming-events-card{display:flex;flex-direction:column;max-height:500px;min-height:300px;overflow:hidden}.events-list{display:flex;flex:1 1;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:5px}.events-list::-webkit-scrollbar{width:4px}.events-list::-webkit-scrollbar-track{background:#f8f9fa;background:var(--background-light);border-radius:10px}.events-list::-webkit-scrollbar-thumb{background:#9ca3af;background:var(--text-lighter);border-radius:10px}.event-item{align-items:center;background-color:#fff;background-color:var(--background-white);border:1px solid #f3f4f6;border:1px solid var(--border-light);border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .3s ease;transition:all var(--transition-base)}.event-item:hover{background-color:#f8f9fa;background-color:var(--background-light);border-color:#e5e7eb;border-color:var(--border-color);box-shadow:0 2px 10px #0000000d;box-shadow:var(--shadow-sm);transform:translateX(5px)}.event-icon{align-items:center;border-radius:10px;border-radius:var(--radius-md);box-shadow:0 2px 8px #00000026;color:#fff;display:flex;flex-shrink:0;font-size:1.4rem;height:45px;justify-content:center;width:45px}.event-info{flex-grow:1;min-width:0}.event-title{color:#111827;color:var(--text-dark);font-size:.9rem;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-date{font-size:.75rem;gap:4px}.event-date,.events-list:empty:after{align-items:center;color:#9ca3af;color:var(--text-lighter);display:flex}.events-list:empty:after{content:"No upcoming events";font-size:.9rem;height:200px;justify-content:center}.financial-report-card{min-height:350px}.report-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:20px;margin-bottom:var(--spacing-lg)}.report-header h3{color:#111827;color:var(--text-dark);font-size:1rem;font-weight:600;margin:0}.time-period{background-color:#e9ecef;border-radius:10px;border-radius:var(--radius-md);display:flex;gap:6px;padding:4px}.time-btn{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#555;cursor:pointer;font-size:.75rem;font-weight:500;padding:6px 12px;transition:all .3s ease;transition:all var(--transition-base);white-space:nowrap}.time-btn:hover:not(.active){background-color:#ffffff80;color:#0d47a1;color:var(--primary-color)}.time-btn.active{color:#0d47a1;color:var(--primary-color)}.export-btn,.time-btn.active{background-color:#fff;background-color:var(--background-white);box-shadow:0 2px 10px #0000000d;box-shadow:var(--shadow-sm)}.export-btn{align-items:center;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-sm);color:#555;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s ease;transition:all var(--transition-base)}.export-btn:hover{background-color:#0d47a1;background-color:var(--primary-color);border-color:#0d47a1;border-color:var(--primary-color);box-shadow:0 4px 12px #0d47a14d;color:#fff;transform:translateY(-2px)}.chart-area{align-items:flex-end;background:linear-gradient(180deg,#0d47a105,#0000);border:1px solid #f3f4f6;border:1px solid var(--border-light);border-radius:10px;border-radius:var(--radius-md);display:flex;height:250px;justify-content:space-between;padding:15px;padding:var(--spacing-md);position:relative}.year-label{color:#9ca3af;color:var(--text-lighter);font-size:.85rem;font-weight:500;top:10px;top:var(--spacing-sm)}.total-amount,.year-label{left:15px;left:var(--spacing-md);position:absolute}.total-amount{bottom:15px;bottom:var(--spacing-md);color:#111827;color:var(--text-dark)}.chart-line{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M0,80 C20,20 40,80 60,30 C80,60 100,10" fill="none" stroke="%230d47a1" stroke-width="2"/><path d="M0,70 C20,30 40,70 60,20 C80,50 100,20" fill="none" stroke="%2310b981" stroke-width="2"/></svg>');background-repeat:no-repeat;background-size:100% 100%;height:100%;left:0;opacity:.6;position:absolute;top:0;width:100%}.retry-btn{background:#0d47a1;background:var(--primary-color);border-radius:6px;display:block;font-size:.85rem;font-weight:500;margin:10px auto;margin:var(--spacing-sm) auto;transition:all var(--transition-base)}.retry-btn:hover{background:#0b3d8f;background:var(--primary-hover);box-shadow:0 4px 12px #0d47a14d}@media (max-width:1400px){.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-column:last-child{grid-column:1/-1}}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-container{padding:15px;padding:var(--spacing-md)}.dashboard-title h1{font-size:1.5rem}.card{padding:15px;padding:var(--spacing-md)}.report-header{align-items:stretch;flex-direction:column}.export-btn,.time-period{width:100%}.leave-filters-dashboard{flex-direction:column}.filter-group{width:100%}}.header{align-items:center;background:#fff;background:var(--background-white,#fff);border-bottom:1px solid #0d47a1;border-bottom:1px solid var(--border-color,#0d47a1);display:flex;justify-content:space-between;padding:15px 40px}.header .logo{color:#0d47a1;color:var(--primary-color,#0d47a1);cursor:pointer;flex-shrink:0;font-size:2.5rem;font-weight:700;transition:transform .3s ease;-webkit-user-select:none;user-select:none}.header .logo:hover{transform:scale(1.05)}.header .logo:active{transform:scale(.98)}.header .nav-menu{align-items:center;background-color:#0d47a1;border-radius:150px;box-shadow:0 2px 10px #00000026;display:flex;flex-shrink:0;gap:8px;justify-content:center;max-width:none;padding:8px 16px}.header .nav-menu a{background:#0000;border-radius:8px;color:#fff;flex-shrink:0;font-size:.95rem;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .3s ease;white-space:nowrap}.header .nav-menu a.active{background-color:#fff;color:#0d47a1;font-weight:700}.header .nav-menu a:hover:not(.active){background-color:#fff3;color:#fff}.header .user-profile{align-items:center;display:flex;flex-shrink:0;gap:15px}.header .user-profile .icon-btn{align-items:center;background:#fff;background:var(--background-white,#fff);border:none;border-radius:50%;box-shadow:0 2px 10px #0000000d;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:10px;position:relative;transition:all .2s ease}.header .user-profile .icon-btn:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.header .user-profile .icon-btn:active{transform:translateY(0)}.header .user-profile .icon-btn.active{background:#e8f0fe;color:#0d47a1;color:var(--primary-color,#0d47a1)}.header .user-profile .icon-btn svg{height:20px;width:20px}.notification-badge{align-items:center;animation:notificationPulse 2s infinite;background:linear-gradient(135deg,#ef4444,#dc2626);border:2px solid #fff;border-radius:10px;box-shadow:0 2px 6px #ef444466;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:2px 6px;position:absolute;right:-4px;top:-4px}@keyframes notificationPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}@media (min-width:1440px){.header{padding:20px 60px}.header .nav-menu a{font-size:1rem;padding:10px 24px}}@media (max-width:1439px) and (min-width:1200px){.header .nav-menu{gap:6px;padding:8px 14px}.header .nav-menu a{font-size:.9rem;padding:10px 18px}}@media (max-width:1199px) and (min-width:1024px){.header{padding:15px 30px}.header .logo{font-size:2rem}.header .nav-menu{gap:5px;padding:8px 12px}.header .nav-menu a{font-size:.85rem;padding:8px 14px}}@media (max-width:1023px) and (min-width:768px){.header{flex-wrap:wrap;gap:15px;padding:12px 25px}.header .logo{font-size:2rem}.header .nav-menu{flex-wrap:nowrap;gap:5px;justify-content:center;order:3;overflow-x:auto;width:100%}.header .nav-menu a{font-size:.8rem;padding:8px 12px}}@media (max-width:767px) and (min-width:600px){.header{flex-wrap:wrap;gap:12px;padding:12px 20px}.header .logo{font-size:1.75rem}.header .nav-menu{gap:4px;justify-content:flex-start;order:3;overflow-x:auto;padding:8px;width:100%}.header .nav-menu a{font-size:.75rem;padding:8px 10px}.header .user-profile{gap:10px}.header .user-profile .icon-btn{min-height:36px;min-width:36px;padding:8px}}@media (max-width:599px){.header{flex-wrap:wrap;gap:10px;padding:10px 15px}.header .logo{font-size:1.5rem}.header .nav-menu{gap:3px;justify-content:flex-start;order:3;overflow-x:auto;padding:6px;width:100%}.header .nav-menu a{font-size:.7rem;padding:7px 8px}.header .user-profile{gap:8px}.header .user-profile .icon-btn{min-height:34px;min-width:34px;padding:7px}.header .user-profile .icon-btn svg{height:18px;width:18px}.notification-badge{font-size:.6rem;height:14px;min-width:14px;padding:1px 4px}}@media (max-width:374px){.header{padding:8px 12px}.header .logo{font-size:1.3rem}.header .nav-menu a{font-size:.65rem;padding:6px}.header .user-profile .icon-btn{min-height:32px;min-width:32px;padding:6px}.header .user-profile .icon-btn svg{height:16px;width:16px}.notification-badge{font-size:.55rem;height:12px;min-width:12px;padding:1px 3px;right:-2px;top:-2px}}.profile-dropdown-container{display:inline-block;position:relative}.profile-button{align-items:center;background:#fff;border-radius:30px;box-shadow:0 2px 10px #0000000d;cursor:pointer;display:flex;gap:10px;padding:5px 15px;transition:all .2s ease}.profile-button:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.profile-avatar{align-items:center;background:#3a86ff;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.profile-details{align-items:flex-start;display:flex;flex-direction:column}.profile-name{color:#333;font-size:14px;font-weight:600;line-height:1.2}.profile-role{color:#777;font-size:12px;line-height:1.2}.profile-dropdown{animation:slideDown .2s ease-out;background:#fff;border-radius:15px;box-shadow:0 8px 30px #0000001f;min-width:240px;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);z-index:1000}.dropdown-header{background:linear-gradient(135deg,#667eea,#764ba2);gap:12px;padding:20px}.dropdown-avatar,.dropdown-header{align-items:center;color:#fff;display:flex}.dropdown-avatar{background:#ffffff4d;border:2px solid #ffffff80;border-radius:50%;font-size:18px;font-weight:700;height:50px;justify-content:center;width:50px}.dropdown-user-info{display:flex;flex-direction:column;gap:4px}.dropdown-name{color:#fff;font-size:16px;font-weight:600}.dropdown-role{color:#ffffffe6;font-size:13px}.dropdown-menu-item{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:14px 20px;transition:all .2s ease}.dropdown-menu-item:hover{background-color:#f8f9fa;padding-left:24px}.dropdown-menu-item:active{background-color:#e9ecef}.dropdown-menu-item.logout-item{color:#e74c3c}.dropdown-menu-item.logout-item:hover{background-color:#fee}.dropdown-divider{background:#e0e0e0;height:1px;margin:8px 0}@media (max-width:768px){.profile-dropdown{min-width:220px;right:-10px}.dropdown-header{padding:15px}.dropdown-avatar{font-size:16px;height:45px;width:45px}.dropdown-name{font-size:15px}.dropdown-role{font-size:12px}.dropdown-menu-item{font-size:13px;padding:12px 18px}.dropdown-menu-item:hover{padding-left:22px}}.calendar-dropdown{animation:calendarSlideDown .3s ease-out;background:#fff;border-radius:15px;box-shadow:0 8px 30px #0000001f;max-width:450px;min-width:400px;padding:20px;position:absolute;right:0;top:calc(100% + 10px);z-index:1000}@keyframes calendarSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.calendar-loading{align-items:center;background:#fffffff2;border-radius:15px;bottom:0;display:flex;flex-direction:column;gap:12px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-top-color:#3a86ff;height:40px;width:40px}.calendar-loading span{color:#666;font-size:14px;font-weight:600}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.calendar-title{align-items:center;display:flex;flex-direction:column;gap:2px}.calendar-month{color:#333;font-size:18px;font-weight:700}.calendar-year{color:#777;font-size:14px;font-weight:500}.calendar-nav-btn{align-items:center;background:#f0f0f0;border:none;border-radius:50%;color:#555;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.calendar-nav-btn:hover{background:#3a86ff;color:#fff;transform:scale(1.1)}.calendar-nav-btn svg{height:20px;width:20px}.holiday-legend{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:15px;padding:10px}.legend-item{color:#666;font-size:11px;font-weight:600;gap:5px}.legend-icon{font-size:14px;line-height:1}.calendar-day-names{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.calendar-day-name{color:#777;font-size:12px;font-weight:600;padding:8px 0;text-align:center}.calendar-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);margin-bottom:15px}.calendar-day{align-items:center;aspect-ratio:1;background:#f8f9fa;border:2px solid #0000;border-radius:8px;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:14px;font-weight:500;justify-content:center;padding:4px;position:relative;transition:all .2s ease}.calendar-day .day-number{font-size:14px;font-weight:600;margin-bottom:2px}.calendar-day:hover{background-color:#225dc2;border-color:#3a86ff;box-shadow:0 2px 8px #3a86ff33;transform:scale(1.05)}.calendar-day.other-month{background:#0000;color:#ccc;opacity:.4}.calendar-day.today{background:linear-gradient(135deg,#fff3cd,#ffe0b2);border:2px solid #ffc107;color:#856404;font-weight:700}.calendar-day.today .day-number{color:#856404}.calendar-day.selected{background:linear-gradient(135deg,#3a86ff,#2968d8);border-color:#3a86ff;box-shadow:0 4px 12px #3a86ff66;color:#fff;font-weight:700}.calendar-day.selected .day-number{color:#fff}.calendar-day.has-holiday{background:linear-gradient(135deg,#fff,#ffebee);border-color:#ffcdd2;font-weight:600}.holiday-indicators{align-items:center;display:flex;gap:2px;justify-content:center;margin-top:2px}.holiday-dot{animation:pulse 2s infinite;border-radius:50%;height:5px;width:5px}.holiday-count{color:#e74c3c;font-size:8px;font-weight:700;margin-left:2px}.calendar-footer{border-top:1px solid #e0e0e0;display:flex;gap:8px;margin-bottom:15px;padding-top:15px}.calendar-add-btn,.calendar-close-btn,.calendar-today-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px;transition:all .2s ease}.calendar-today-btn{background-color:#3a86ff;color:#fff}.calendar-today-btn:hover{background-color:#2968d8;box-shadow:0 4px 12px #3a86ff4d;transform:translateY(-2px)}.calendar-add-btn{background-color:#27ae60;color:#fff}.calendar-add-btn:hover{background-color:#229954;box-shadow:0 4px 12px #27ae604d;transform:translateY(-2px)}.calendar-close-btn{background-color:#f0f0f0;color:#555}.calendar-close-btn:hover{background-color:#e0e0e0;transform:translateY(-2px)}.calendar-selected-date{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;font-size:13px;font-weight:600;margin-bottom:15px;padding:12px;text-align:center}.holiday-modal{animation:slideUp .3s ease;background:#f8f9fa;border-radius:10px;box-shadow:inset 0 2px 4px #0000000d;margin-top:15px;max-height:300px;overflow-y:auto;padding:15px}.holiday-modal-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:12px}.holiday-modal-header h4{color:#333;font-size:15px;font-weight:700;margin:0}.modal-close-btn{align-items:center;border-radius:50%;color:#999;display:flex;font-size:28px;height:30px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:30px}.modal-close-btn:hover{background:#ffebee;color:#e74c3c;transform:rotate(90deg)}.holiday-modal-body{display:flex;flex-direction:column;gap:12px}.holiday-card{align-items:flex-start;background:#fff;border-left:4px solid #3498db;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;gap:12px;padding:12px;position:relative;transition:all .2s ease}.holiday-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateX(4px)}.holiday-icon{font-size:32px;line-height:1;min-width:32px}.holiday-details{flex:1 1}.holiday-details h5{color:#333;font-size:15px;font-weight:700;margin:0 0 4px}.holiday-type{color:#666;font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 6px;text-transform:uppercase}.holiday-description{color:#666;font-size:12px;line-height:1.5;margin:6px 0 0}.holiday-location{color:#999;font-size:12px;font-style:italic;margin:6px 0 0}.delete-holiday-btn{align-items:center;background:#ffe5e5;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;position:absolute;right:10px;top:10px;transition:all .2s ease;width:30px}.delete-holiday-btn:hover{background:#e74c3c;transform:scale(1.1)}.add-event-modal{animation:slideUp .3s ease;background:#fff;border-radius:10px;box-shadow:0 4px 12px #00000026;margin-top:15px;padding:20px}.add-event-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.add-event-header h4{color:#333;font-size:16px;font-weight:700;margin:0}.add-event-body{display:flex;flex-direction:column;gap:15px}.form-group label{font-size:13px}.event-input,.event-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.event-input:focus,.event-textarea:focus{border-color:#3a86ff;box-shadow:0 0 0 3px #3a86ff1a;outline:none}.event-input::placeholder,.event-textarea::placeholder{color:#999}.event-textarea{min-height:70px;resize:vertical}.form-actions{gap:10px;margin-top:10px}.btn-cancel,.btn-save{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s ease}.btn-cancel{background-color:#f0f0f0}.btn-cancel:hover{background-color:#e0e0e0;transform:translateY(-2px)}.btn-save{background-color:#27ae60;color:#fff}.btn-save:hover{background-color:#229954;box-shadow:0 4px 12px #27ae604d;transform:translateY(-2px)}.holiday-modal::-webkit-scrollbar{width:6px}.holiday-modal::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.holiday-modal::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.holiday-modal::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.calendar-dropdown{max-width:360px;min-width:340px;padding:15px;right:-10px}.calendar-month{font-size:16px}.calendar-year{font-size:13px}.calendar-nav-btn{height:32px;width:32px}.calendar-day,.calendar-day .day-number{font-size:13px}.calendar-footer{gap:6px}.calendar-add-btn,.calendar-close-btn,.calendar-today-btn{font-size:12px;padding:9px}.holiday-modal{max-height:250px}.add-event-header h4,.holiday-modal-header h4{font-size:14px}.holiday-icon{font-size:24px;min-width:24px}.delete-holiday-btn{font-size:14px;height:26px;width:26px}.add-event-modal{padding:15px}.event-input,.event-textarea{font-size:13px}.btn-cancel,.btn-save{font-size:13px;padding:10px}}.holiday-card{animation:fadeIn .3s ease forwards;opacity:0}.holiday-card:first-child{animation-delay:.05s}.holiday-card:nth-child(2){animation-delay:.1s}.holiday-card:nth-child(3){animation-delay:.15s}.holiday-card:nth-child(4){animation-delay:.2s}@media print{.calendar-dropdown{border:1px solid #ccc;box-shadow:none}.calendar-footer,.calendar-nav-btn,.delete-holiday-btn,.modal-close-btn{display:none!important}.calendar-day:hover{background-color:inherit;transform:none}}.sub-nav-wrapper{align-items:center;display:flex;gap:8px;margin-bottom:20px;position:relative}.sub-nav{display:flex;flex:1 1;gap:12px;overflow-x:auto;overflow-y:hidden;padding:10px 0;scroll-behavior:smooth;scrollbar-color:#d0d0d0 #0000;scrollbar-width:thin}.sub-nav::-webkit-scrollbar{height:4px}.sub-nav::-webkit-scrollbar-track{background:#0000}.sub-nav::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:10px}.sub-nav::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.sub-nav .btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.95rem;font-weight:600;justify-content:center;min-height:50px;min-width:120px;overflow:hidden;padding:14px 30px;position:relative;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.sub-nav .btn,.sub-nav .btn.white{background-color:#fff;background-color:var(--background-white,#fff);color:#555}.sub-nav .btn.white{box-shadow:0 2px 10px #0000000d}.sub-nav .btn.white:hover{background-color:#f8f9fa;background-color:var(--background-light,#f8f9fa);box-shadow:0 4px 15px #00000014;color:#0d47a1;color:var(--primary-color,#0d47a1);transform:translateY(-2px)}.sub-nav .btn.white:active{box-shadow:0 2px 10px #0000000d;transform:translateY(0)}.sub-nav .btn.blue{background-color:#0d47a1;background-color:var(--primary-color,#0d47a1);box-shadow:0 4px 15px #0d47a14d;color:#fff;color:var(--background-white,#fff);transform:translateY(-2px)}.sub-nav .btn.blue:hover{background-color:#0b3d8f;background-color:var(--primary-hover,#0b3d8f);box-shadow:0 6px 20px #0d47a166;transform:translateY(-3px)}.sub-nav .btn.blue:active{box-shadow:0 3px 12px #0d47a159;transform:translateY(-1px)}.sub-nav .btn.blue:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.sub-nav .btn.blue:hover:before{left:100%}.sub-nav .btn.loading{pointer-events:none;position:relative}.sub-nav .btn.loading:after{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:initial;content:"";height:16px;position:absolute;width:16px}.sub-nav .btn:focus{box-shadow:0 0 0 3px #3a86ff33;outline:none}.sub-nav .btn:focus:not(:focus-visible){box-shadow:0 2px 10px #0000000d}.sub-nav .btn.blue:focus{box-shadow:0 4px 15px #0d47a14d,0 0 0 3px #3a86ff33}.sub-nav .btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.sub-nav .btn:disabled:hover{background-color:#fff;background-color:var(--background-white,#fff);box-shadow:0 2px 10px #0000000d;transform:none}.sub-nav .btn.blue:disabled{background-color:#0d47a1;background-color:var(--primary-color,#0d47a1)}.scroll-btn{align-items:center;animation:fadeIn .3s ease;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 10px #00000026;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;max-height:40px;max-width:40px;min-height:40px;min-width:40px;padding:10px;transition:all .3s ease;z-index:10}.scroll-btn:hover{background:#0d47a1;background:var(--primary-color,#0d47a1);box-shadow:0 4px 15px #0d47a166;color:#fff;transform:scale(1.1)}.scroll-btn:active{transform:scale(.95)}.scroll-btn svg{height:20px;width:20px}.scroll-btn-left{margin-right:-4px}.scroll-btn-right{margin-left:-4px}.icon-sm{height:20px;width:20px}.sub-nav-wrapper:after,.sub-nav-wrapper:before{bottom:0;content:"";opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease;width:60px;z-index:5}@media (max-width:1023px){.sub-nav .btn{font-size:.9rem;min-height:46px;min-width:110px;padding:12px 25px}.sub-nav{gap:10px}.scroll-btn{display:none!important}.sub-nav-wrapper:after,.sub-nav-wrapper:before{display:none}}@media (max-width:767px){.sub-nav-wrapper{gap:6px;margin-bottom:15px}.sub-nav{-ms-overflow-style:none;gap:8px;scrollbar-width:none}.sub-nav::-webkit-scrollbar{display:none}.sub-nav .btn{font-size:.85rem;min-height:44px;min-width:100px;padding:10px 20px}.scroll-btn{display:none!important}.sub-nav-wrapper:after,.sub-nav-wrapper:before{display:none}}@media (max-width:599px){.sub-nav-wrapper{gap:5px;margin-bottom:12px}.sub-nav{gap:6px;padding:8px 0;scrollbar-width:none}.sub-nav::-webkit-scrollbar{display:none}.sub-nav .btn{font-size:.8rem;min-height:44px;min-width:90px;padding:10px 18px}.scroll-btn{display:none!important}.sub-nav-wrapper:after,.sub-nav-wrapper:before{display:none}}@media (max-width:374px){.sub-nav .btn{font-size:.75rem;min-height:42px;min-width:80px;padding:9px 15px}.sub-nav{gap:5px}}@media (prefers-color-scheme:dark){.sub-nav .btn.white{background-color:#2a2a2a;box-shadow:0 2px 10px #0000004d;color:#e0e0e0}.sub-nav .btn.white:hover{background-color:#333;color:#4a9eff}.scroll-btn{background:#2a2a2a;box-shadow:0 2px 10px #0000004d}.scroll-btn:hover{background:#0d47a1;color:#fff}}.popup-overlay{align-items:stretch;justify-content:flex-end}.form-row{margin-bottom:15px}.form-group{flex:1 1;min-width:200px}.form-group.full-width{width:100%}.form-group label{font-size:.95rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;outline:none;padding:10px 15px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3a86ff}.amount-buttons{display:flex;flex-wrap:wrap;gap:10px}.amount-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.amount-btn:hover{background:#f0f7ff;border-color:#3a86ff}.amount-btn.add-btn,.amount-btn.selected{background:#3a86ff;border-color:#3a86ff;color:#fff}.table-section{margin-top:20px;overflow-x:auto}.fines-table{border-collapse:collapse;font-size:.9rem;width:100%}.fines-table thead{background:#f9f9f9}.fines-table td,.fines-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.fines-table th{color:#555;font-weight:600}.fines-table tbody tr:hover{background:#f9f9f9}.exam-popup-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.exam-popup-container{animation:slideUp .3s ease-out;background-color:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:850px;overflow:hidden;width:90%}.exam-popup-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-bottom:2px solid #e5e7eb;border-radius:20px 20px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.exam-popup-header h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0}.exam-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.exam-close-btn:hover{background-color:#ffffff4d;transform:rotate(90deg)}.exam-popup-content{background:#f8fafc;flex:1 1;overflow-y:auto;padding:30px}.exam-title-section{margin-bottom:25px}.exam-title-section label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:8px}.exam-title-input{background-color:#fff;border:2px solid #d1d5db;border-radius:10px;color:#1f2937;font-family:Poppins,sans-serif;font-size:.95rem;outline:none;padding:12px 14px;transition:all .2s ease;width:100%}.exam-title-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.exam-title-input::placeholder{color:#9ca3af}.exam-form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:25px}.exam-form-group{display:flex;flex-direction:column;gap:8px}.exam-form-group label{color:#374151;font-size:.875rem;font-weight:600}.exam-form-group input[type=date],.exam-form-group input[type=time],.exam-form-group select{background-color:#fff;border:2px solid #d1d5db;border-radius:10px;color:#1f2937;cursor:pointer;font-family:Poppins,sans-serif;font-size:.95rem;outline:none;padding:12px 14px;transition:all .2s ease}.exam-form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;padding-right:40px}.exam-form-group input:focus,.exam-form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.exam-time-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:25px}.exam-section-title{color:#1f2937;font-size:1.1rem;font-weight:700;margin-bottom:20px;margin-top:10px}.exam-subjects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:30px}.exam-subject-row{background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:15px;padding:16px;transition:all .2s}.exam-subject-row:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.exam-subject-header{border-bottom:2px solid #e5e7eb;color:#374151;font-size:.95rem;font-weight:600;padding-bottom:8px}.exam-subject-fields{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.exam-subject-field{display:flex;flex-direction:column;gap:8px}.exam-subject-field label{color:#6b7280;font-size:.8rem;font-weight:600}.exam-subject-field input,.exam-subject-field select{background-color:#fff;border:2px solid #d1d5db;border-radius:8px;color:#1f2937;font-family:Poppins,sans-serif;font-size:.9rem;outline:none;padding:10px 12px;transition:all .2s ease}.exam-subject-field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px;cursor:pointer;padding-right:35px}.exam-subject-field input:focus,.exam-subject-field select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.exam-subject-field input::placeholder{color:#9ca3af}.exam-popup-actions{border-top:2px solid #e5e7eb;display:flex;gap:15px;justify-content:center;padding-top:20px}.exam-cancel-btn,.exam-generate-btn{border:none;border-radius:10px;cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;padding:14px 40px;transition:all .3s ease}.exam-cancel-btn{background-color:#fff;border:2px solid #d1d5db;color:#374151}.exam-cancel-btn:hover{background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.exam-generate-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 15px #3b82f64d;color:#fff}.exam-generate-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.exam-cancel-btn:active,.exam-generate-btn:active{transform:translateY(0)}.exam-popup-content::-webkit-scrollbar{width:10px}.exam-popup-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.exam-popup-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:10px}.exam-popup-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}@media (min-width:1440px){.exam-popup-container{max-width:950px}.exam-form-grid{gap:25px;grid-template-columns:repeat(2,1fr)}.exam-time-grid{gap:25px;grid-template-columns:repeat(4,1fr)}.exam-subjects-grid{gap:25px;grid-template-columns:repeat(2,1fr)}}@media (max-width:1439px) and (min-width:1200px){.exam-popup-container{max-width:900px}.exam-time-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1199px) and (min-width:992px){.exam-popup-container{max-width:850px}.exam-popup-header{padding:22px 28px}.exam-popup-content{padding:28px}.exam-subjects-grid,.exam-time-grid{gap:18px;grid-template-columns:repeat(2,1fr)}}@media (max-width:991px) and (min-width:768px){.exam-popup-overlay{padding:15px}.exam-popup-container{max-width:800px;width:95%}.exam-popup-header{padding:22px 25px}.exam-popup-header h2{font-size:1.4rem}.exam-popup-content{padding:25px}.exam-form-grid,.exam-time-grid{gap:18px;grid-template-columns:repeat(2,1fr)}.exam-subjects-grid{gap:16px;grid-template-columns:1fr}.exam-subject-row{padding:14px}}@media (max-width:767px) and (min-width:600px){.exam-popup-overlay{padding:10px}.exam-popup-container{border-radius:16px;max-height:95vh;width:95%}.exam-popup-header{border-radius:16px 16px 0 0;padding:20px}.exam-popup-header h2{font-size:1.3rem}.exam-close-btn{height:36px;width:36px}.exam-popup-content{padding:20px}.exam-title-section{margin-bottom:20px}.exam-form-grid{gap:15px;grid-template-columns:1fr}.exam-time-grid{gap:15px;grid-template-columns:repeat(2,1fr)}.exam-subjects-grid{gap:14px;grid-template-columns:1fr}.exam-subject-row{padding:12px}.exam-subject-fields{gap:12px;grid-template-columns:1fr}.exam-popup-actions{flex-direction:column;gap:12px}.exam-cancel-btn,.exam-generate-btn{padding:13px 30px;width:100%}}@media (max-width:599px) and (min-width:480px){.exam-popup-overlay{padding:10px}.exam-popup-container{border-radius:14px;max-height:96vh;width:98%}.exam-popup-header{border-radius:14px 14px 0 0;padding:18px}.exam-popup-header h2{font-size:1.2rem}.exam-close-btn{height:36px;width:36px}.exam-popup-content{padding:18px}.exam-form-group label,.exam-title-section label{font-size:.82rem}.exam-form-group input,.exam-form-group select,.exam-title-input{font-size:.9rem;padding:11px 13px}.exam-form-grid,.exam-time-grid{gap:14px;grid-template-columns:1fr}.exam-section-title{font-size:1.05rem}.exam-subjects-grid{gap:12px}.exam-subject-row{padding:12px}.exam-subject-header{font-size:.9rem}.exam-subject-field label{font-size:.75rem}.exam-subject-field input,.exam-subject-field select{font-size:.85rem;padding:9px 11px}.exam-cancel-btn,.exam-generate-btn{font-size:.95rem;padding:12px 25px}}@media (max-width:479px){.exam-popup-overlay{padding:0}.exam-popup-container{border-radius:0;max-height:100vh;width:100%}.exam-popup-header{border-radius:0;padding:16px 18px}.exam-popup-header h2{font-size:1.1rem}.exam-close-btn{height:34px;padding:6px;width:34px}.exam-popup-content{padding:15px}.exam-title-section{margin-bottom:18px}.exam-form-group label,.exam-title-section label{font-size:.78rem}.exam-title-input{border-radius:8px;font-size:.88rem;padding:10px 12px}.exam-form-grid{gap:12px;margin-bottom:20px}.exam-form-group input,.exam-form-group select{border-radius:8px;font-size:.88rem;padding:10px 12px}.exam-time-grid{gap:12px;grid-template-columns:1fr;margin-bottom:20px}.exam-section-title{font-size:1rem;margin-bottom:15px}.exam-subjects-grid{gap:12px;margin-bottom:20px}.exam-subject-row{gap:12px;padding:12px}.exam-subject-header{font-size:.88rem;padding-bottom:6px}.exam-subject-fields{gap:10px}.exam-subject-field label{font-size:.72rem}.exam-subject-field input,.exam-subject-field select{border-radius:7px;font-size:.82rem;padding:9px 10px}.exam-subject-field select{background-size:16px;padding-right:32px}.exam-popup-actions{gap:10px;padding-top:15px}.exam-cancel-btn,.exam-generate-btn{border-radius:8px;font-size:.9rem;padding:11px 20px}}@media (max-width:360px){.exam-popup-header h2{font-size:1rem}.exam-close-btn{height:32px;width:32px}.exam-popup-content{padding:12px}.exam-form-group label,.exam-title-section label{font-size:.75rem}.exam-form-group input,.exam-form-group select,.exam-title-input{font-size:.85rem;padding:9px 10px}.exam-section-title{font-size:.95rem}.exam-subject-header{font-size:.85rem}.exam-subject-field label{font-size:.7rem}.exam-subject-field input,.exam-subject-field select{font-size:.8rem;padding:8px 9px}.exam-cancel-btn,.exam-generate-btn{font-size:.88rem;padding:10px 18px}}@media (max-height:700px) and (orientation:landscape){.exam-popup-container{max-height:98vh}.exam-popup-header{padding:18px 25px}.exam-popup-content{padding:20px 25px}.exam-form-grid,.exam-time-grid{gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:18px}.exam-title-section{margin-bottom:18px}.exam-subjects-grid{gap:14px;margin-bottom:20px}.exam-subject-row{padding:12px}.exam-popup-actions{padding-top:15px}}@media (max-height:600px) and (orientation:landscape){.exam-popup-container{max-height:98vh}.exam-popup-header{padding:15px 20px}.exam-popup-header h2{font-size:1.3rem}.exam-popup-content{padding:18px 20px}.exam-title-section{margin-bottom:15px}.exam-form-grid,.exam-time-grid{gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:15px}.exam-subjects-grid{gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:18px}.exam-subject-row{gap:10px;padding:10px}.exam-subject-fields{gap:10px}.exam-popup-actions{padding-top:12px}}@media (max-height:500px) and (orientation:landscape){.exam-popup-header{padding:12px 18px}.exam-popup-content{padding:15px 18px}.exam-form-grid,.exam-subjects-grid,.exam-time-grid,.exam-title-section{margin-bottom:12px}.exam-form-grid,.exam-time-grid{gap:10px;grid-template-columns:repeat(4,1fr)}.exam-subjects-grid{gap:10px;grid-template-columns:repeat(3,1fr)}.exam-subject-row{padding:8px}}@media print{.exam-popup-overlay{background:none;padding:0;position:static}.exam-popup-container{border-radius:0;box-shadow:none;max-width:100%}.exam-cancel-btn,.exam-close-btn,.exam-generate-btn{display:none}.exam-popup-header{background:#f8fafc;border-radius:0;color:#1f2937}.exam-popup-header h2{color:#1f2937}.exam-subject-row:hover{border-color:#e5e7eb;box-shadow:none}}@media (prefers-contrast:high){.exam-form-group input,.exam-form-group select,.exam-subject-field input,.exam-subject-field select,.exam-title-input{border-width:3px}.exam-subject-row{border-width:2px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.exam-cancel-btn:hover,.exam-generate-btn:hover,.exam-subject-row:hover{transform:none}}@media (prefers-color-scheme:dark){.exam-popup-container{background:#1f2937}.exam-popup-content{background:#111827}.exam-popup-header{border-bottom-color:#374151}.exam-form-group label,.exam-section-title,.exam-title-section label{color:#e5e7eb}.exam-form-group input,.exam-form-group select,.exam-title-input{background:#374151;border-color:#4b5563;color:#f9fafb}.exam-subject-row{background:#374151;border-color:#4b5563}.exam-subject-header{border-bottom-color:#4b5563;color:#e5e7eb}.exam-subject-field label{color:#d1d5db}.exam-subject-field input,.exam-subject-field select{background:#1f2937;border-color:#4b5563;color:#f9fafb}.exam-popup-actions{border-top-color:#374151}}.exam-view-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.exam-view-container{animation:slideUp .3s ease-out;background-color:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:95%}.exam-view-header{align-items:center;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:25px 30px}.exam-view-header-left{align-items:center;display:flex;gap:20px}.exam-view-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.exam-add-new-btn{align-items:center;background:linear-gradient(135deg,#3a86ff,#2968d8);border:none;border-radius:10px;box-shadow:0 4px 12px #3a86ff4d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.exam-add-new-btn:hover{background:linear-gradient(135deg,#2968d8,#1e4db8);box-shadow:0 6px 18px #3a86ff66;transform:translateY(-2px)}.exam-view-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.exam-view-close-btn:hover{background-color:#f3f4f6;color:#111827}.exam-filters{background-color:#fafafa;border-bottom:1px solid #e5e7eb;display:flex;gap:15px;padding:20px 30px}.exam-filter-dropdown{align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px 18px;position:relative;transition:all .2s ease}.exam-filter-dropdown:hover{border-color:#3a86ff;box-shadow:0 2px 8px #3a86ff1a}.exam-filter-dropdown span{color:#6b7280;font-size:.9rem;font-weight:500}.exam-filter-dropdown select{-webkit-appearance:none;appearance:none;background:#0000;border:none;color:#111827;cursor:pointer;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;outline:none;padding-right:5px}.exam-filter-dropdown svg{color:#6b7280;pointer-events:none}.exam-view-content{flex:1 1;overflow:hidden;padding:20px 30px}.exam-scroll-wrapper{background-color:#f9fafb;border-radius:15px;box-shadow:inset 0 2px 8px #0000000d;max-height:calc(90vh - 280px);overflow-x:auto;overflow-y:auto}.exam-table{background-color:#fff;border-collapse:initial;border-radius:15px;border-spacing:0;overflow:hidden;width:100%}.exam-table thead{background:linear-gradient(135deg,#374151,#1f2937);position:-webkit-sticky;position:sticky;top:0;z-index:10}.exam-table thead th{border-right:1px solid #ffffff1a;color:#fff;font-size:.95rem;font-weight:600;padding:18px 20px;text-align:left}.exam-table thead th:last-child{border-right:none}.exam-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.exam-table tbody tr:hover{background-color:#f3f4f6}.exam-table tbody tr:last-child{border-bottom:none}.exam-table tbody td{color:#374151;font-size:.95rem;font-weight:500;padding:16px 20px;text-align:left}.exam-table tbody td:first-child{color:#1f2937;font-weight:600}.exam-time-cell{color:#6b7280;font-size:.9rem;font-weight:600;text-transform:uppercase}.exam-view-actions{background-color:#fff;border-top:1px solid #e5e7eb;display:flex;gap:15px;justify-content:center;padding:20px 30px}.exam-view-cancel-btn,.exam-view-send-btn{border:none;border-radius:10px;cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;padding:14px 50px;transition:all .3s ease}.exam-view-cancel-btn{background-color:#fff;border:2px solid #d1d5db;color:#374151}.exam-view-cancel-btn:hover{background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.exam-view-send-btn{background:linear-gradient(135deg,#3a86ff,#2968d8);box-shadow:0 4px 15px #3a86ff4d;color:#fff}.exam-view-send-btn:hover{background:linear-gradient(135deg,#2968d8,#1e4db8);box-shadow:0 6px 20px #3a86ff66;transform:translateY(-2px)}.exam-view-cancel-btn:active,.exam-view-send-btn:active{transform:translateY(0)}.exam-scroll-wrapper::-webkit-scrollbar{height:8px;width:8px}.exam-scroll-wrapper::-webkit-scrollbar-track{background:#f3f4f6;border-radius:10px}.exam-scroll-wrapper::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.exam-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width:1024px){.exam-view-container{max-width:100%;width:98%}.exam-table tbody td,.exam-table thead th{font-size:.85rem;padding:12px 15px}}@media (max-width:768px){.exam-view-header{flex-wrap:wrap;gap:15px;padding:20px}.exam-view-header h2{font-size:1.25rem}.exam-add-new-btn{font-size:.85rem;padding:8px 16px}.exam-filters{flex-direction:column;padding:15px 20px}.exam-filter-dropdown{width:100%}.exam-view-content{padding:15px 20px}.exam-scroll-wrapper{max-height:calc(90vh - 350px)}.exam-table tbody td,.exam-table thead th{font-size:.8rem;padding:10px 12px}.exam-view-actions{flex-direction:column;padding:15px 20px}.exam-view-cancel-btn,.exam-view-send-btn{width:100%}}.popup-overlay{padding:20px}.popup-container{max-width:800px;width:100%}.popup-header{flex-shrink:0}.close-btn{color:#666}.close-btn:hover{color:#333}.popup-content{padding:25px 30px}.success-message{background:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.error-message,.success-message{animation:slideDown .3s ease;gap:10px;margin-bottom:20px;padding:12px 20px}.error-message{align-items:center;background:#ffebee;border-left:4px solid #f44336;border-radius:8px;color:#c62828}.form-section{margin-bottom:25px}.form-row{grid-gap:20px;grid-template-columns:1fr 1fr}.form-group label{color:#555}.required{color:#f44336;font-size:1.1rem;margin-left:3px}.form-input,.form-select{border:2px solid #e0e0e0;border-radius:8px;font-family:Poppins,sans-serif;font-size:1rem;outline:none;padding:12px 15px;transition:all .2s}.form-input:focus,.form-select:focus{border-color:#3a86ff;box-shadow:0 0 0 3px #3a86ff1a}.form-input:disabled,.form-select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.form-input::placeholder{color:#aaa}.class-range-group{grid-column:span 2}.class-range-selector{align-items:center;display:flex;gap:15px}.class-range-selector select{flex:1 1}.range-separator{color:#777;font-size:1rem;font-weight:600}.helper-text{color:#777;font-size:.85rem;font-style:italic;margin-top:5px}.popup-actions{flex-shrink:0;justify-content:flex-end}.btn-primary,.btn-secondary{align-items:center;display:flex;gap:8px;justify-content:center;padding:12px 35px}.btn-primary:hover:not(:disabled){background:#2a76ef;box-shadow:0 4px 12px #3a86ff4d;transform:translateY(-1px)}.btn-primary:disabled{background:#b0c4de;cursor:not-allowed}.btn-secondary{border:2px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#d0d0d0}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.spinner{display:inline-block}.table-section{border-top:2px solid #e0e0e0;margin-top:30px;padding-top:25px}.table-section h3{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 15px}.events-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000000d;font-size:.9rem;overflow:hidden;width:100%}.events-table thead{background:linear-gradient(135deg,#667eea,#764ba2)}.events-table th{color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:14px 15px;text-align:left;text-transform:uppercase}.events-table td{border-bottom:1px solid #f0f0f0;color:#333;padding:12px 15px;text-align:left}.events-table tbody tr{transition:background .2s}.events-table tbody tr:hover{background:#f9f9f9}.events-table tbody tr:last-child td{border-bottom:none}@media (max-width:1024px){.popup-container{border-radius:16px;max-width:700px}.form-row{gap:15px;grid-template-columns:1fr}.form-input,.form-select{font-size:.95rem;padding:10px 12px}.popup-header h2{font-size:1.3rem}}@media (max-width:768px){.popup-overlay{align-items:flex-start;padding:10px}.popup-container{border-radius:15px;height:auto;max-height:90vh;max-width:95%;width:100%}.popup-content{padding:20px}.popup-header{padding:15px 20px}.popup-header h2{font-size:1.2rem}.form-row{gap:15px;grid-template-columns:1fr}.btn-primary,.btn-secondary{font-size:.9rem;padding:10px 25px}.popup-actions{align-items:stretch;flex-direction:column}.popup-actions button{width:100%}.events-table td,.events-table th{font-size:.8rem;padding:10px 8px}}@media (max-width:480px){.popup-header h2{font-size:1.1rem}.popup-container{border-radius:10px;max-width:100%}.popup-content{padding:15px}.form-input,.form-select{font-size:.9rem;padding:8px 10px}.form-group label{font-size:.85rem}.popup-actions{gap:10px}.btn-primary,.btn-secondary{font-size:.85rem;padding:10px 20px}.events-table{display:block;font-size:.8rem;overflow-x:auto;white-space:nowrap}.events-table td,.events-table th{padding:8px 10px}}.popup-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.popup-container{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:90%}.popup-header{border-bottom:1px solid #e0e0e0;padding:20px 30px}.popup-header h2{color:#333;font-size:1.5rem;font-weight:600}.close-btn{transition:background-color .2s}.close-btn:hover{background-color:#f0f0f0}.popup-content{flex:1 1;overflow-y:auto;padding:20px 30px}.popup-filters{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.filter-group{align-items:center;display:flex;gap:10px}.filter-group.flex-1{flex:1 1;min-width:200px}.filter-group label{color:#555;font-size:.95rem;font-weight:600;white-space:nowrap}.filter-group input[type=date],.filter-group input[type=text],.filter-group select{border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;min-width:150px;outline:none;padding:8px 15px;transition:border-color .2s;width:100%}.filter-group input:focus,.filter-group select:focus{border-color:#3a86ff}.form-section{margin-bottom:20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.section-header h3{color:#333;font-size:1.1rem;font-weight:600;margin:0}.btn-add-teacher{align-items:center;background:#3a86ff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.btn-add-teacher:hover{background:#2a76ef;box-shadow:0 2px 8px #3a86ff4d;transform:translateY(-1px)}.btn-add-teacher:active{transform:translateY(0)}.teacher-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;margin-bottom:15px;padding:15px;transition:box-shadow .2s}.teacher-card:hover{box-shadow:0 2px 8px #00000014}.teacher-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.teacher-label{color:#555;font-size:.9rem;font-weight:600}.btn-remove-teacher{align-items:center;background:#ff4757;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:4px;padding:6px 10px;transition:all .2s}.btn-remove-teacher:hover:not(:disabled){background:#ee3d4d;box-shadow:0 2px 6px #ff47574d;transform:translateY(-1px)}.btn-remove-teacher:active:not(:disabled){transform:translateY(0)}.btn-remove-teacher:disabled{background:#e0e0e0;color:#999;cursor:not-allowed}.form-row{display:flex;flex-wrap:wrap;gap:20px}.popup-actions{border-top:1px solid #e0e0e0;display:flex;gap:15px;justify-content:space-between;margin-top:20px;padding-top:20px}.btn-primary,.btn-secondary{font-size:1rem;padding:12px 40px;transition:all .2s}.btn-primary{background:#3a86ff}.btn-primary:hover{background:#2a76ef;box-shadow:0 4px 12px #3a86ff4d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{border:1px solid #e0e0e0;color:#666}.btn-secondary:hover{background:#f5f5f5;border-color:#d0d0d0}.popup-content::-webkit-scrollbar{width:8px}.popup-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.popup-content::-webkit-scrollbar-thumb{background:silver;border-radius:10px}.popup-content::-webkit-scrollbar-thumb:hover{background:#a0a0a0}@media (max-width:768px){.popup-container{max-height:95vh;width:95%}.popup-header{padding:15px 20px}.popup-header h2{font-size:1.25rem}.popup-content{padding:15px 20px}.popup-filters{flex-direction:column;gap:15px}.filter-group{width:100%}.section-header{align-items:flex-start;flex-direction:column;gap:10px}.btn-add-teacher{justify-content:center;width:100%}.form-row{flex-direction:column;gap:15px}.popup-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.leave-popup-overlay{animation:fadeIn .3s ease;background-color:#00000080;height:100%;width:100%}.leave-popup-container{animation:slideUp .3s ease;border-radius:20px;box-shadow:0 10px 40px #0003;max-width:700px}.leave-popup-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;color:#fff;padding:24px 30px}.leave-popup-header h2{font-size:1.5rem;font-weight:600;margin:0 0 8px}.stats-subtitle{font-size:.85rem;font-weight:400;margin:0;opacity:.9}.close-btn{padding:8px}.close-btn:hover{transform:scale(1.1)}.role-filter{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;gap:15px;padding:20px 30px}.role-filter label{color:#555;font-size:.95rem;font-weight:600}.role-filter select{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:.95rem;font-weight:500;outline:none;padding:10px 40px 10px 15px;transition:all .2s}.role-filter select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.leave-requests-list{flex:1 1;overflow-y:auto;padding:20px 30px}.leave-request-card{background:#fff;border:2px solid #e0e0e0;border-radius:15px;margin-bottom:20px;padding:24px;transition:all .3s ease}.leave-request-card:hover{border-color:#667eea;box-shadow:0 4px 20px #667eea26;transform:translateY(-2px)}.request-profile{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:15px;margin-bottom:20px;padding-bottom:20px}.request-profile .profile-pic-popup{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:50px;justify-content:center;width:50px}.request-profile .profile-info{flex:1 1;min-width:0}.request-profile .profile-info h3{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 4px}.request-profile .profile-info .student-id{color:#999;font-size:.85rem;margin:0 0 4px}.role-designation{align-items:center;color:#666;display:flex;font-size:.85rem;gap:8px;margin:4px 0 0}.role-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:3px 10px;text-transform:uppercase}.role-badge.role-teacher{background:#e3f2fd;color:#1976d2}.role-badge.role-student{background:#f3e5f5;color:#7b1fa2}.role-badge.role-staff{background:#e8f5e9;color:#388e3c}.status-badge{align-items:center;display:flex;flex-shrink:0;font-size:.85rem;gap:8px;padding:8px 16px}.status-badge.status-approved{background:#4caf50;color:#fff}.status-badge.status-approved .status-dot{background:#fff}.status-badge.status-pending{background:#ffc107;color:#333}.status-badge.status-pending .status-dot{background:#333}.status-badge.status-rejected{background:#f44336;color:#fff}.status-badge.status-rejected .status-dot{background:#fff}.status-dot{animation:pulse 2s ease-in-out infinite;border-radius:50%;height:8px;width:8px}.leave-details{grid-gap:15px;background:#f8f9fa;border-radius:10px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:20px;padding:15px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item.detail-full-width{grid-column:1/-1}.detail-label{color:#999;font-size:.75rem;font-weight:600}.detail-value{font-size:.9rem;font-weight:500}.email-text{color:#667eea;word-break:break-all}.request-message{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;margin-bottom:20px;padding:15px}.request-message h4{color:#555;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.request-message p{color:#666;font-size:.95rem;line-height:1.6;margin:0}.request-actions{display:flex;gap:12px;justify-content:flex-end}.request-actions button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:6px;padding:10px 24px;transition:all .2s}.request-actions button:disabled{cursor:not-allowed;opacity:.6}.reject-btn-popup{background:#fff;border:2px solid #f44336!important;color:#f44336}.reject-btn-popup:hover:not(:disabled){background:#f44336;box-shadow:0 4px 12px #f443364d;color:#fff;transform:translateY(-2px)}.approve-btn-popup{background:#4caf50;color:#fff}.approve-btn-popup:hover:not(:disabled){background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.request-status-note{border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;padding-top:15px}.status-note{align-items:center;border-radius:20px;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;padding:8px 20px}.status-note.status-note-approved{background:#e8f5e9;color:#2e7d32}.status-note.status-note-rejected{background:#ffebee;color:#c62828}.loading,.no-requests{color:#999;padding:60px 40px;text-align:center}.loading-spinner{border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}.loading p{color:#666;font-size:1rem;margin:0}.error-message{padding:40px;text-align:center}.error-message p{color:#f44336;font-size:1rem;margin-bottom:20px}.retry-btn{background:#667eea;border-radius:8px;padding:10px 24px;transition:all .2s}.retry-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea4d}.no-requests-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.no-requests p{color:#666;font-size:1.1rem;font-weight:500;margin:0 0 10px}.no-requests small{color:#999;font-size:.9rem}.leave-requests-list::-webkit-scrollbar{width:8px}.leave-requests-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.leave-requests-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.leave-requests-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#6a3f8e)}@media (min-width:1440px){.leave-popup-container{max-width:800px}.leave-requests-list{padding:25px 35px}.leave-request-card{padding:28px}.leave-details{gap:18px;padding:18px}}@media (max-width:1439px) and (min-width:1200px){.leave-popup-container{max-width:750px}}@media (max-width:1199px) and (min-width:992px){.leave-popup-container{max-width:700px}.leave-popup-header h2{font-size:1.4rem}.leave-request-card{padding:22px}}@media (max-width:991px) and (min-width:768px){.leave-popup-overlay{padding:15px}.leave-popup-container{max-height:92vh;max-width:95%}.leave-popup-header{padding:20px 25px}.leave-popup-header h2{font-size:1.3rem}.stats-subtitle{font-size:.8rem}.leave-requests-list,.role-filter{padding:18px 25px}.leave-request-card{padding:20px}.request-profile .profile-pic-popup{font-size:1rem;height:48px;width:48px}.leave-details{gap:12px;padding:12px}}@media (max-width:767px) and (min-width:576px){.leave-popup-overlay{padding:10px}.leave-popup-container{border-radius:15px;max-height:94vh;max-width:100%}.leave-popup-header{align-items:flex-start;flex-direction:column;gap:12px;padding:18px 20px;position:relative}.leave-popup-header h2{font-size:1.2rem;margin-bottom:4px}.stats-subtitle{font-size:.75rem}.close-btn{position:absolute;right:20px;top:18px}.role-filter{align-items:stretch;flex-direction:column;gap:10px;padding:15px 20px}.role-filter label{font-size:.9rem}.role-filter select{font-size:.9rem;padding:9px 35px 9px 12px;width:100%}.leave-requests-list{padding:15px 20px}.leave-request-card{margin-bottom:15px;padding:18px}.request-profile{flex-wrap:wrap;gap:12px}.request-profile .profile-pic-popup{font-size:.95rem;height:46px;width:46px}.request-profile .profile-info h3{font-size:1rem}.status-badge{font-size:.8rem;justify-content:center;padding:10px 16px;width:100%}.leave-details{gap:10px;grid-template-columns:1fr;padding:12px}.detail-label{font-size:.7rem}.detail-value{font-size:.85rem}.request-message{padding:12px}.request-message h4{font-size:.85rem}.request-message p{font-size:.9rem}.request-actions{flex-direction:column;gap:10px}.request-actions button{font-size:.85rem;justify-content:center;padding:11px 20px;width:100%}.request-status-note,.status-note{justify-content:center}.status-note{width:100%}}@media (max-width:575px) and (min-width:480px){.leave-popup-overlay{padding:8px}.leave-popup-container{border-radius:12px;max-height:96vh;max-width:100%}.leave-popup-header{align-items:flex-start;flex-direction:column;gap:10px;padding:16px 18px}.leave-popup-header h2{font-size:1.1rem;margin-bottom:2px}.stats-subtitle{font-size:.7rem}.close-btn{padding:6px;position:absolute;right:18px;top:16px}.role-filter{align-items:stretch;flex-direction:column;gap:8px;padding:12px 18px}.role-filter label{font-size:.85rem}.role-filter select{font-size:.85rem;padding:8px 30px 8px 10px;width:100%}.leave-requests-list{padding:12px 18px}.leave-request-card{border-radius:12px;margin-bottom:12px;padding:16px}.request-profile{flex-wrap:wrap;gap:10px;margin-bottom:15px;padding-bottom:15px}.request-profile .profile-pic-popup{font-size:.9rem;height:44px;width:44px}.request-profile .profile-info h3{font-size:.95rem}.request-profile .profile-info .student-id,.role-designation{font-size:.8rem}.role-badge{font-size:.7rem;padding:2px 8px}.status-badge{font-size:.75rem;justify-content:center;padding:9px 14px;width:100%}.status-dot{height:7px;width:7px}.leave-details{gap:8px;grid-template-columns:1fr;margin-bottom:15px;padding:10px}.detail-label{font-size:.65rem}.detail-value{font-size:.8rem}.request-message{margin-bottom:15px;padding:10px}.request-message h4{font-size:.8rem;margin-bottom:8px}.request-message p{font-size:.85rem;line-height:1.5}.request-actions{flex-direction:column;gap:8px}.request-actions button{font-size:.8rem;justify-content:center;padding:10px 18px;width:100%}.request-status-note{padding-top:12px}.status-note{font-size:.8rem;justify-content:center;padding:7px 16px;width:100%}.loading,.no-requests{padding:40px 20px}.loading-spinner{border-width:3px;height:40px;width:40px}.no-requests-icon{font-size:3rem}}@media (max-width:479px) and (min-width:375px){.leave-popup-overlay{padding:5px}.leave-popup-container{border-radius:10px;max-height:98vh;max-width:100%}.leave-popup-header{align-items:flex-start;flex-direction:column;gap:8px;padding:14px 16px}.leave-popup-header h2{font-size:1rem;margin-bottom:0}.stats-subtitle{font-size:.65rem;line-height:1.3}.close-btn{height:28px;padding:5px;position:absolute;right:16px;top:14px;width:28px}.close-btn svg{height:16px;width:16px}.role-filter{align-items:stretch;flex-direction:column;gap:6px;padding:10px 16px}.role-filter label{font-size:.8rem}.role-filter select{border-radius:6px;font-size:.8rem;padding:7px 28px 7px 9px;width:100%}.leave-requests-list{padding:10px 16px}.leave-request-card{border-radius:10px;margin-bottom:10px;padding:14px}.request-profile{flex-wrap:wrap;gap:8px;margin-bottom:12px;padding-bottom:12px}.request-profile .profile-pic-popup{font-size:.85rem;height:40px;width:40px}.request-profile .profile-info h3{font-size:.9rem}.request-profile .profile-info .student-id{font-size:.75rem}.role-designation{flex-wrap:wrap;font-size:.75rem}.role-badge{font-size:.65rem;padding:2px 7px}.status-badge{font-size:.7rem;gap:6px;justify-content:center;padding:8px 12px;width:100%}.status-dot{height:6px;width:6px}.leave-details{gap:7px;grid-template-columns:1fr;margin-bottom:12px;padding:9px}.detail-label{font-size:.6rem}.detail-value{font-size:.75rem}.request-message{border-left-width:3px;margin-bottom:12px;padding:9px}.request-message h4{font-size:.75rem;margin-bottom:7px}.request-message p{font-size:.8rem;line-height:1.4}.request-actions{flex-direction:column;gap:7px}.request-actions button{border-radius:6px;font-size:.75rem;justify-content:center;padding:9px 16px;width:100%}.request-status-note{padding-top:10px}.status-note{font-size:.75rem;justify-content:center;padding:6px 14px;width:100%}.loading,.no-requests{padding:30px 15px}.loading-spinner{border-width:3px;height:35px;margin-bottom:15px;width:35px}.loading p{font-size:.9rem}.no-requests-icon{font-size:2.5rem;margin-bottom:15px}.no-requests p{font-size:1rem}.no-requests small{font-size:.85rem}}@media (max-width:374px){.leave-popup-overlay{padding:3px}.leave-popup-container{border-radius:8px;max-height:99vh;max-width:100%}.leave-popup-header{align-items:flex-start;flex-direction:column;gap:6px;padding:12px 14px}.leave-popup-header h2{font-size:.95rem}.stats-subtitle{font-size:.6rem;line-height:1.2}.close-btn{height:26px;padding:4px;position:absolute;right:14px;top:12px;width:26px}.close-btn svg{height:14px;width:14px}.role-filter{gap:5px;padding:8px 14px}.role-filter label{font-size:.75rem}.role-filter select{border-radius:5px;font-size:.75rem;padding:6px 26px 6px 8px}.leave-requests-list{padding:8px 14px}.leave-request-card{border-radius:8px;border-width:1px;margin-bottom:8px;padding:12px}.request-profile{flex-wrap:wrap;gap:7px;margin-bottom:10px;padding-bottom:10px}.request-profile .profile-pic-popup{font-size:.8rem;height:36px;width:36px}.request-profile .profile-info h3{font-size:.85rem}.request-profile .profile-info .student-id{font-size:.7rem}.role-designation{flex-wrap:wrap;font-size:.7rem}.role-badge{border-radius:8px;font-size:.6rem;padding:2px 6px}.status-badge{border-radius:15px;font-size:.65rem;gap:5px;justify-content:center;padding:7px 10px;width:100%}.status-dot{height:5px;width:5px}.leave-details{border-radius:8px;gap:6px;grid-template-columns:1fr;margin-bottom:10px;padding:8px}.detail-label{font-size:.55rem}.detail-value{font-size:.7rem}.request-message{border-left-width:2px;border-radius:8px;margin-bottom:10px;padding:8px}.request-message h4{font-size:.7rem;margin-bottom:6px}.request-message p{font-size:.75rem;line-height:1.3}.request-actions{flex-direction:column;gap:6px}.request-actions button{border-radius:5px;font-size:.7rem;justify-content:center;padding:8px 14px;width:100%}.reject-btn-popup{border-width:1px!important}.request-status-note{padding-top:8px}.status-note{border-radius:15px;font-size:.7rem;justify-content:center;padding:5px 12px;width:100%}.loading,.no-requests{padding:25px 12px}.loading-spinner{border-width:2px;height:30px;margin-bottom:12px;width:30px}.loading p{font-size:.85rem}.no-requests-icon{font-size:2rem;margin-bottom:12px}.no-requests p{font-size:.9rem}.no-requests small{font-size:.8rem}.error-message{padding:25px 12px}.error-message p{font-size:.85rem;margin-bottom:15px}.retry-btn{border-radius:6px;font-size:.75rem;padding:8px 18px}}@media (max-height:600px) and (orientation:landscape){.leave-popup-container{max-height:95vh}.leave-popup-header{padding:12px 20px}.leave-popup-header h2{font-size:1rem}.stats-subtitle{font-size:.7rem}.role-filter{padding:10px 20px}.leave-requests-list{padding:12px 20px}.leave-request-card{margin-bottom:10px;padding:14px}.request-profile{margin-bottom:10px;padding-bottom:10px}.leave-details{gap:8px}.leave-details,.request-message{margin-bottom:10px;padding:10px}.loading,.no-requests{padding:30px 20px}}@media (max-height:500px){.leave-popup-container{max-height:98vh}.leave-popup-header{padding:10px 18px}.leave-popup-header h2{font-size:.95rem;margin-bottom:2px}.stats-subtitle{font-size:.65rem}.close-btn{height:26px;padding:4px;width:26px}.role-filter{padding:8px 18px}.leave-requests-list{padding:10px 18px}.leave-request-card{margin-bottom:8px;padding:12px}.request-profile{margin-bottom:8px;padding-bottom:8px}.request-profile .profile-pic-popup{height:38px;width:38px}.leave-details{gap:6px}.leave-details,.request-message{margin-bottom:8px;padding:8px}.request-message h4{font-size:.75rem;margin-bottom:5px}.request-message p{font-size:.8rem}.request-actions button{font-size:.75rem;padding:7px 14px}}@media print{.leave-popup-overlay{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.leave-popup-container,.leave-popup-overlay,.leave-request-card{animation:none!important}}@media (prefers-contrast:high){.leave-request-card{border-color:#000;border-width:2px}.status-badge.status-approved{background:#060;border:2px solid #000}.status-badge.status-pending{background:#c90;border:2px solid #000;color:#000}.status-badge.status-rejected{background:#c00;border:2px solid #000}.approve-btn-popup,.reject-btn-popup{border-width:2px!important}}@media (prefers-color-scheme:dark){.leave-popup-container{background:#1e1e1e;color:#e0e0e0}.leave-popup-header{background:linear-gradient(135deg,#5568d3,#6a3f8e)}.role-filter{background:#2a2a2a;border-bottom-color:#444}.role-filter select{background:#333;border-color:#555;color:#e0e0e0}.leave-request-card{background:#2a2a2a;border-color:#444}.leave-request-card:hover{background:#333;border-color:#667eea}.request-profile .profile-info h3{color:#e0e0e0}.request-profile .profile-info .student-id{color:#999}.role-designation{color:#aaa}.leave-details{background:#333}.detail-label{color:#aaa}.detail-value{color:#e0e0e0}.request-message{background:#333}.request-message h4{color:#aaa}.request-message p{color:#ccc}.reject-btn-popup{background:#2a2a2a}.reject-btn-popup:hover:not(:disabled){background:#f44336;color:#fff}.loading,.no-requests{color:#aaa}.loading p,.no-requests p{color:#ccc}.no-requests small{color:#999}}.leave-popup-overlay{align-items:center;background:#00000080;bottom:0;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.leave-popup-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;overflow:hidden;width:100%}.leave-popup-header{align-items:center;background:#fff;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 30px}.leave-popup-title{color:#1f2937;font-size:20px;font-weight:600;margin:0}.leave-month-navigation,.leave-popup-header-controls{align-items:center;display:flex;gap:15px}.leave-month-nav-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.leave-month-nav-btn:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb}.leave-month-nav-btn:disabled{cursor:not-allowed;opacity:.4}.leave-month-nav-btn svg{height:18px;width:18px}.leave-month-display{color:#1f2937;font-size:16px;font-weight:600;min-width:180px;text-align:center}.leave-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;min-width:120px;padding:8px 32px 8px 16px;transition:border-color .2s}.leave-select:hover{border-color:#9ca3af}.leave-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.leave-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:28px;padding:0 8px;transition:color .2s}.leave-close-btn:hover{color:#1f2937}.leave-popup-content{flex:1 1;overflow-y:auto;padding:20px 30px}.leave-filter-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.leave-tab-btn{background:#fff;border:1px solid #e5e7eb;border-radius:20px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .3s}.leave-tab-btn:hover{border-color:#2563eb;color:#2563eb}.leave-tab-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.leave-tab-btn.view-toggle,.leave-tab-btn.view-toggle:first-of-type{margin-left:auto}.leave-status-legend{align-items:center;background:#f9fafb;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:15px 20px}.legend-item{color:#374151;font-size:14px;gap:8px}.legend-badge,.legend-item{align-items:center;display:flex}.legend-badge{border-radius:4px;color:#fff;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.legend-badge.present{background:#10b981}.legend-badge.absent{background:#ef4444}.legend-badge.halfday{background:#6b7280}.legend-badge.holiday{background:#9ca3af}.legend-search{margin-left:auto}.legend-search-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 16px;transition:border-color .2s;width:250px}.legend-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.calendar-view-container{margin-bottom:30px;margin-top:20px}.calendar-weekdays{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.calendar-weekday-header{background:#f9fafb;border-radius:6px;color:#374151;font-size:13px;font-weight:600;padding:10px;text-align:center}.calendar-days-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr)}.calendar-day-empty{min-height:80px}.calendar-day-cell{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:80px;padding:12px;position:relative;transition:all .2s}.calendar-day-cell:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.calendar-day-cell.today{background:#eff6ff;border:2px solid #2563eb}.calendar-day-number{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:8px}.calendar-day-cell.today .calendar-day-number{color:#2563eb}.calendar-day-status{align-items:center;display:flex;justify-content:center;margin-top:10px}.leave-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:30px;max-height:400px;overflow-x:auto;overflow-y:auto}.leave-table{border-collapse:collapse;font-size:13px;min-width:1200px;width:100%}.leave-th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.sticky-col{left:0;min-width:80px}.sticky-col,.sticky-col-2{background:#f9fafb;box-shadow:2px 0 5px #0000000d;position:-webkit-sticky;position:sticky;z-index:20}.sticky-col-2{left:80px;min-width:150px}.day-header{align-items:center;display:flex;flex-direction:column;gap:2px}.day-number{font-size:13px;font-weight:600}.day-name{color:#6b7280;font-size:11px;font-weight:500}.leave-td{border-bottom:1px solid #f3f4f6;color:#374151;padding:12px 8px;text-align:center}.leave-td.sticky-col,.leave-td.sticky-col-2{background:#fff;font-weight:500}.leave-td.sticky-col-2{padding-left:16px;text-align:left}.leave-td.no-results{color:#6b7280;padding:20px;text-align:center}.even-row,.even-row .leave-td.sticky-col,.even-row .leave-td.sticky-col-2{background:#f9fafb}.percentage-badge{background:#10b981;border-radius:4px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.day-col{min-width:40px}.status-indicator{align-items:center;border-radius:50%;display:inline-flex;font-size:10px;height:20px;justify-content:center;width:20px}.status-indicator.present{background:#10b981;color:#fff}.status-indicator.absent{background:#ef4444;color:#fff}.status-indicator.halfday{background:#6b7280;color:#fff}.status-indicator.holiday{background:#d1d5db;color:#6b7280}.leave-today-section{margin-top:30px}.leave-today-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.leave-today-header h3{color:#1f2937;font-size:18px;font-weight:600}.leave-today-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.leave-today-table{border-collapse:collapse;font-size:13px;width:100%}.leave-today-th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 16px;text-align:left}.leave-today-td{border-bottom:1px solid #f3f4f6;color:#374151;padding:12px 16px}.emp-info{gap:10px}.emp-avatar,.emp-info{align-items:center;display:flex}.emp-avatar{background:#dbeafe;border-radius:50%;color:#2563eb;flex-shrink:0;font-size:12px;font-weight:600;height:32px;justify-content:center;width:32px}.leave-popup-content::-webkit-scrollbar,.leave-table-wrapper::-webkit-scrollbar{height:8px;width:8px}.leave-popup-content::-webkit-scrollbar-track,.leave-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.leave-popup-content::-webkit-scrollbar-thumb,.leave-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.leave-popup-content::-webkit-scrollbar-thumb:hover,.leave-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:1200px){.leave-popup-container{max-width:95%}.leave-popup-content,.leave-popup-header{padding:18px 25px}.legend-search-input{width:200px}}@media (max-width:992px){.leave-popup-header{flex-wrap:wrap;gap:15px}.leave-popup-title{font-size:18px;width:100%}.leave-popup-header-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.leave-month-navigation{justify-content:center;width:100%}.leave-status-legend{gap:15px}.legend-search{margin-left:0;width:100%}.legend-search-input{width:100%}.calendar-days-grid{gap:8px}.calendar-day-cell{min-height:70px;padding:10px}}@media (max-width:768px){.leave-popup-container{max-height:95vh;max-width:95%}.leave-popup-content,.leave-popup-header{padding:15px 20px}.leave-popup-title{font-size:16px}.leave-select{font-size:13px;padding:6px 28px 6px 12px}.leave-filter-tabs{gap:8px}.leave-tab-btn{font-size:13px;padding:8px 20px}.leave-tab-btn.view-toggle{margin-left:0}.leave-status-legend{gap:12px;padding:12px 15px}.legend-item{font-size:13px}.leave-table-wrapper{max-height:300px}.leave-table{font-size:12px}.leave-td,.leave-th{padding:10px 6px}.leave-today-table{font-size:12px}.leave-today-td,.leave-today-th{padding:10px 12px}.calendar-days-grid{gap:6px}.calendar-day-cell{min-height:60px;padding:8px}.calendar-day-number{font-size:12px}}@media (max-width:576px){.leave-popup-container{border-radius:8px}.leave-popup-content,.leave-popup-header{padding:12px 15px}.leave-popup-title{font-size:14px}.leave-close-btn{font-size:24px}.leave-filter-tabs{flex-direction:column}.leave-tab-btn{width:100%}.leave-status-legend{align-items:flex-start;flex-direction:column}.leave-table-wrapper{max-height:250px}.sticky-col{left:0;min-width:60px}.sticky-col-2{left:60px;min-width:100px}.calendar-weekday-header{font-size:11px;padding:8px 4px}.calendar-days-grid{gap:4px}.calendar-day-cell{min-height:50px;padding:6px}.calendar-day-number{font-size:11px}.status-indicator{font-size:8px;height:16px;width:16px}}.leave-close-btn:focus,.leave-month-nav-btn:focus,.leave-select:focus,.leave-tab-btn:focus,.legend-search-input:focus{outline:2px solid #2563eb;outline-offset:2px}.fees-popup-overlay{align-items:stretch;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:1000}.fees-popup-content{animation:slideInRight .3s ease-out;background:#fff;border-radius:0;box-shadow:-4px 0 20px #0003;display:flex;flex-direction:column;height:100vh;max-width:500px;width:90%}.fees-popup-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-bottom:2px solid #e5e7eb;border-radius:0;color:#fff;display:flex;justify-content:space-between;padding:24px 32px}.fees-popup-header h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0}.fees-popup-body{align-items:center;display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:28px}.form-group{align-items:center;margin-bottom:24px;width:100%}.form-group label{font-size:.9rem;text-align:center;width:100%}.class-select{background-color:#fff;border:1px solid #d0d0d0;border-radius:8px;color:#333;cursor:pointer;font-size:.95rem;padding:10px 14px;transition:all .2s;width:200px}.class-select:focus,.class-select:hover{border-color:#3a86ff}.class-select:focus{box-shadow:0 0 0 3px #3a86ff1a;outline:none}.fee-components-section{align-items:center;display:flex;flex-direction:column;margin-bottom:24px;width:100%}.fee-component-row{align-items:flex-end;display:flex;gap:12px;justify-content:center;margin-bottom:16px;max-width:600px;width:100%}.fee-component-inputs{display:flex;flex:1 1;gap:12px}.input-group{display:flex;flex:1 1;flex-direction:column}.input-group label{color:#666;font-size:.85rem;font-weight:600;margin-bottom:6px}.amount-input,.component-select{background-color:#fff;border:1px solid #d0d0d0;border-radius:8px;color:#333;font-size:.95rem;padding:10px 14px;transition:all .2s}.component-select{cursor:pointer}.amount-input:hover,.component-select:hover{border-color:#3a86ff}.amount-input:focus,.component-select:focus{border-color:#3a86ff;box-shadow:0 0 0 3px #3a86ff1a;outline:none}.amount-input::placeholder{color:#999}.add-remove-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s;width:40px}.fee-component-row:last-child .add-remove-btn{background-color:#3a86ff;color:#fff}.fee-component-row:last-child .add-remove-btn:hover{background-color:#2968d8;box-shadow:0 2px 8px #3a86ff4d}.fee-component-row:not(:last-child) .add-remove-btn{background-color:#ffebee;color:#f44336}.fee-component-row:not(:last-child) .add-remove-btn:hover{background-color:#f44336;color:#fff}.total-fee-section{align-items:center;background:linear-gradient(135deg,#e8f0fe,#d4e4fc);border-left:4px solid #3a86ff;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:24px;max-width:600px;padding:16px 20px;width:100%}.total-label{color:#333;font-size:1.1rem}.total-amount{color:#3a86ff;font-size:1.5rem;font-weight:700}.date-range-section{display:flex;gap:20px;margin-top:24px;max-width:600px;width:100%}.date-group{display:flex;flex:1 1;flex-direction:column}.date-group label{color:#333;font-size:.9rem;font-weight:600;margin-bottom:8px}.date-input{background-color:#fff;border:1px solid #d0d0d0;border-radius:8px;color:#333;font-size:.95rem;padding:10px 14px;transition:all .2s}.date-input:focus,.date-input:hover{border-color:#3a86ff}.date-input:focus{box-shadow:0 0 0 3px #3a86ff1a}.fees-popup-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.cancel-btn,.send-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 32px;transition:all .2s}.cancel-btn{background-color:#fff;border:1px solid #d0d0d0;color:#666}.cancel-btn:hover{background-color:#f5f5f5;border-color:#999}.send-btn{background-color:#3a86ff;color:#fff}.send-btn:hover{background-color:#2968d8;box-shadow:0 4px 12px #3a86ff4d}.fees-popup-body::-webkit-scrollbar{width:6px}.fees-popup-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.fees-popup-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:10px}.fees-popup-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (min-width:1440px){.fees-popup-content{max-width:550px}}@media (max-width:1439px) and (min-width:1200px){.fees-popup-content{max-width:500px;width:85%}}@media (max-width:1199px) and (min-width:992px){.fees-popup-content{max-width:480px;width:90%}.fees-popup-body{padding:24px}.fees-popup-header h2{font-size:1.4rem}.class-select{width:180px}}@media (max-width:991px) and (min-width:768px){.fees-popup-content{max-width:450px;width:95%}.fees-popup-header{padding:22px 24px}.fees-popup-header h2{font-size:1.3rem}.fees-popup-body{padding:24px 20px}.class-select{max-width:250px;width:100%}.date-range-section,.fee-component-row,.total-fee-section{max-width:100%}.total-label{font-size:1rem}.total-amount{font-size:1.3rem}}@media (max-width:767px){.fees-popup-overlay{align-items:center;justify-content:center;padding:10px}.fees-popup-content{animation:slideInUp .3s ease-out;border-radius:16px;height:auto;max-height:95vh;max-width:100%;width:100%}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.fees-popup-header{border-radius:16px 16px 0 0;padding:20px 24px}.fees-popup-header h2{font-size:1.25rem}.close-btn{height:36px;width:36px}.fees-popup-body{padding:20px}.form-group{margin-bottom:20px}.class-select{width:100%}.fee-component-row{align-items:stretch;flex-direction:column;gap:12px;max-width:100%}.fee-component-inputs{flex-direction:column;gap:12px;width:100%}.input-group{width:100%}.add-remove-btn{height:44px;width:100%}.total-fee-section{max-width:100%;padding:14px 18px}.total-label{font-size:1rem}.total-amount{font-size:1.3rem}.date-range-section{flex-direction:column;gap:16px;max-width:100%}.date-group{width:100%}.fees-popup-footer{flex-direction:column-reverse;gap:10px;padding:16px 20px}.cancel-btn,.send-btn{padding:14px 24px;width:100%}}@media (max-width:479px){.fees-popup-overlay{padding:5px}.fees-popup-content{border-radius:12px;max-height:98vh}.fees-popup-header{border-radius:12px 12px 0 0;padding:16px 20px}.fees-popup-header h2{font-size:1.15rem}.close-btn{height:32px;width:32px}.fees-popup-body{padding:16px}.form-group{margin-bottom:16px}.date-group label,.form-group label{font-size:.85rem}.amount-input,.class-select,.component-select,.date-input{font-size:.9rem;padding:10px 12px}.input-group label{font-size:.8rem}.fee-component-row{gap:10px;margin-bottom:14px}.fee-component-inputs{gap:10px}.add-remove-btn{height:42px}.total-fee-section{margin-bottom:20px;padding:12px 16px}.total-label{font-size:.95rem}.total-amount{font-size:1.2rem}.date-range-section{gap:14px;margin-top:20px}.fees-popup-footer{gap:8px;padding:14px 16px}.cancel-btn,.send-btn{font-size:.95rem;padding:12px 20px}}@media (max-width:359px){.fees-popup-header h2{font-size:1.05rem}.close-btn{height:30px;width:30px}.fees-popup-body{padding:14px}.total-amount{font-size:1.1rem}.cancel-btn,.send-btn{font-size:.9rem;padding:11px 18px}}@media (max-height:600px) and (orientation:landscape){.fees-popup-content{max-height:98vh}.fees-popup-body{padding:16px 20px}.date-range-section,.form-group{margin-bottom:16px}.fee-component-row{margin-bottom:12px}.total-fee-section{margin-bottom:16px;padding:12px 16px}}@media print{.fees-popup-overlay{background:none;position:static}.fees-popup-content{box-shadow:none;height:auto;max-width:100%}.add-remove-btn,.cancel-btn,.close-btn,.send-btn{display:none}.fees-popup-footer,.fees-popup-header{border:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.fees-popup-content{animation:none}}@media (prefers-contrast:high){.amount-input,.class-select,.component-select,.date-input,.fees-popup-content,.send-btn{border:2px solid #000}}@media (prefers-color-scheme:dark){.fees-popup-content{background:#1a1a1a;color:#e0e0e0}.fees-popup-header{border-bottom-color:#333}.fees-popup-header h2{color:#e0e0e0}.close-btn{color:#b0b0b0}.close-btn:hover{background-color:#2a2a2a;color:#e0e0e0}.date-group label,.form-group label{color:#e0e0e0}.input-group label{color:#b0b0b0}.amount-input,.class-select,.component-select,.date-input{background-color:#2a2a2a;border-color:#444;color:#e0e0e0}.amount-input:hover,.class-select:hover,.component-select:hover,.date-input:hover{border-color:#3a86ff}.total-fee-section{background:linear-gradient(135deg,#1a2a3a,#0f1f2f);border-left-color:#3a86ff}.total-label{color:#e0e0e0}.fees-popup-footer{border-top-color:#333}.cancel-btn{background-color:#2a2a2a;border-color:#444;color:#b0b0b0}.cancel-btn:hover{background-color:#333;border-color:#666}.fees-popup-body::-webkit-scrollbar-track{background:#2a2a2a}.fees-popup-body::-webkit-scrollbar-thumb{background:#444}.fees-popup-body::-webkit-scrollbar-thumb:hover{background:#555}}.attendance-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.attendance-popup{animation:slideIn .4s cubic-bezier(.68,-.55,.265,1.55);background:#fff;border-radius:20px;box-shadow:0 25px 70px #0006;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;overflow-y:auto;width:100%}.attendance-header{align-items:center;background:linear-gradient(135deg,#9333ea,#ec4899);border-bottom:2px solid #e5e7eb;border-radius:20px 20px 0 0;box-shadow:0 4px 15px #9333ea4d;color:#fff;display:flex;justify-content:space-between;padding:28px 36px}.attendance-header h2{font-size:30px;font-weight:700;letter-spacing:-.5px;margin:0}.close-btn{background:#ffffff40;border:2px solid #ffffff4d;font-size:28px;font-weight:300;height:42px;width:42px}.close-btn:hover{background:#fff6;box-shadow:0 4px 12px #0003;transform:rotate(90deg) scale(1.1)}.close-btn:active{transform:rotate(90deg) scale(.95)}.date-filter-section{background:linear-gradient(180deg,#f8fafc 0,#fff);border-bottom:2px solid #e5e7eb;padding:24px 36px}.date-filter-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.date-label{color:#1f2937;font-size:15px;font-weight:600;letter-spacing:.3px}.date-input{background:#fff;border:2px solid #d1d5db;border-radius:10px;box-shadow:0 2px 6px #0000000d;color:#1f2937;cursor:pointer;font-family:Poppins,sans-serif;font-size:14px;padding:12px 18px;transition:all .3s ease}.date-input:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626;outline:none;transform:translateY(-1px)}.date-display{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 6px #0000000d;color:#4b5563;font-size:14px;font-weight:600;padding:10px 18px}.attendance-tabs{background:#f8fafc;border-bottom:2px solid #e5e7eb;padding:0 36px}.tab-container{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none}.tab-container::-webkit-scrollbar{display:none}.tab-btn{background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;letter-spacing:.3px;padding:16px 28px;position:relative;transition:all .3s ease;white-space:nowrap}.tab-btn:before{background:linear-gradient(90deg,#3b82f6,#2563eb);bottom:0;content:"";height:3px;left:0;position:absolute;right:0;transform:scaleX(0);transition:transform .3s ease}.tab-btn:hover{background:#3b82f614;color:#3b82f6}.tab-btn.active{background:#3b82f61a;color:#3b82f6}.tab-btn.active:before{transform:scaleX(1)}.attendance-content{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:visible;padding:36px}.content-title{color:#1f2937;font-size:22px;font-weight:700;letter-spacing:-.3px;margin-bottom:24px}.attendance-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 6px 20px #0000001a;flex:1 1;margin-bottom:0;max-height:500px;min-height:400px;overflow-x:auto;overflow-y:auto}.attendance-table{min-width:1200px;width:100%}.table-header{background:linear-gradient(135deg,#9333ea,#ec4899);box-shadow:0 2px 10px #3b82f64d;color:#fff;font-weight:700}.table-header,.table-row{grid-gap:12px;gap:12px;grid-template-columns:60px 200px 100px 120px 180px 140px 100px 120px 120px;padding:18px 24px}.table-row{border-bottom:1px solid #e5e7eb;font-size:13px;min-height:70px}.table-row:hover{background:linear-gradient(90deg,#3b82f60d,#fff);box-shadow:-4px 0 0 0 #3b82f6;transform:translateX(4px)}.col-id{color:#3b82f6;font-size:14px;font-weight:700}.col-name,.employee-info{align-items:center;display:flex}.employee-info{gap:12px}.avatar{align-items:center;background:linear-gradient(135deg,#9333ea,#ec4899);border:2px solid #fff;border-radius:50%;box-shadow:0 3px 10px #3b82f666;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:38px;justify-content:center;transition:all .3s ease;width:38px}.table-row:hover .avatar{box-shadow:0 5px 15px #3b82f680;transform:scale(1.1) rotate(5deg)}.name-text{color:#1f2937;font-weight:600}.col-type{align-items:center;display:flex}.type-badge{border-radius:20px;box-shadow:0 2px 6px #0000001a;font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase;transition:all .2s ease}.type-badge:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.type-badge.teacher{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;color:#1e40af}.type-badge.student{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;color:#92400e}.type-badge.staff{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid #a5b4fc;color:#4338ca}.col-empid{color:#6b7280;font-weight:600}.col-dept{color:#374151;font-weight:600}.col-reason{align-items:center;display:flex}.reason-badge{border-radius:20px;box-shadow:0 2px 6px #0000001a;font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 14px;transition:all .2s ease}.reason-badge:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.reason-badge.present{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;color:#065f46}.reason-badge.absent{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#991b1b}.reason-badge.medical,.reason-badge.permission,.reason-badge.personal{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;color:#92400e}.reason-badge.casual-leave,.reason-badge.sick-leave{background:linear-gradient(135deg,#fce7f3,#fbcfe8);border:1px solid #f9a8d4;color:#9f1239}.reason-badge.official-duty{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid #a5b4fc;color:#4338ca}.col-end,.col-from,.col-to{color:#6b7280;font-weight:600}.no-data{color:#9ca3af;padding:80px 20px}.no-data p{font-size:16px;font-weight:600;letter-spacing:.3px}.attendance-actions{background:#fff;border-top:2px solid #e5e7eb;bottom:0;display:flex;justify-content:flex-end;margin-top:20px;padding:24px 0;position:-webkit-sticky;position:sticky;z-index:5}.btn-next-summary{background:linear-gradient(135deg,#9333ea,#ec4899);border:none;border-radius:12px;box-shadow:0 6px 20px #3b82f666;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:15px;font-weight:700;letter-spacing:.3px;min-width:250px;padding:16px 36px;text-transform:uppercase;transition:all .3s ease}.btn-next-summary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 10px 30px #3b82f680;transform:translateY(-3px)}.btn-next-summary:active{box-shadow:0 4px 15px #3b82f666;transform:translateY(-1px)}.summary-section{background:#f8fafc;flex:1 1;overflow-y:auto;padding:36px}.summary-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:36px}.btn-back{background:#fff;border:2px solid #3b82f6;border-radius:10px;box-shadow:0 2px 8px #3b82f633;color:#3b82f6;cursor:pointer;font-family:Poppins,sans-serif;font-size:14px;font-weight:700;letter-spacing:.3px;padding:14px 28px;transition:all .3s ease}.btn-back:hover{background:#3b82f6;box-shadow:0 4px 15px #3b82f64d;color:#fff;transform:translateX(-6px)}.btn-back:active{transform:translateX(-4px)}.summary-date{color:#374151;font-size:16px;font-weight:700;letter-spacing:.3px}.summary-title{color:#1f2937;font-size:26px;font-weight:700;letter-spacing:-.5px;margin-bottom:28px}.summary-grid{grid-gap:36px;display:grid;gap:36px}.summary-group{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 6px 20px #0000001a;padding:28px;transition:all .3s ease}.summary-group:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-4px)}.summary-group-title{border-bottom:3px solid #e5e7eb;color:#1f2937;font-size:20px;font-weight:700;letter-spacing:-.3px;margin-bottom:20px;padding-bottom:16px;text-transform:uppercase}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.summary-card{align-items:center;border-radius:14px;cursor:pointer;display:flex;gap:18px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.summary-card:before{background:linear-gradient(135deg,#ffffff80,#fff0);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.summary-card:hover:before{opacity:1}.summary-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-6px) scale(1.02)}.summary-card.total{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #93c5fd;box-shadow:0 4px 15px #3b82f633}.summary-card.present{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;box-shadow:0 4px 15px #22c55e33}.summary-card.absent{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5;box-shadow:0 4px 15px #ef444433}.summary-card.leave{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fcd34d;box-shadow:0 4px 15px #f59e0b33}.summary-card.od{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:2px solid #c4b5fd;box-shadow:0 4px 15px #8b5cf633}.summary-card.permission{background:linear-gradient(135deg,#fce7f3,#fbcfe8);border:2px solid #f9a8d4;box-shadow:0 4px 15px #ec489933}.summary-icon{flex-shrink:0;font-size:36px;transition:all .3s ease}.summary-card:hover .summary-icon{transform:scale(1.2) rotate(10deg)}.summary-info{display:flex;flex-direction:column;gap:6px}.summary-label{color:#6b7280;font-size:13px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.summary-value{color:#1f2937;font-size:32px;font-weight:800;letter-spacing:-1px;line-height:1}.attendance-popup::-webkit-scrollbar,.attendance-table-wrapper::-webkit-scrollbar{height:12px;width:12px}.attendance-popup::-webkit-scrollbar-track,.attendance-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.attendance-popup::-webkit-scrollbar-thumb,.attendance-table-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#9333ea,#ec4899);border:2px solid #f1f5f9;border-radius:10px}.attendance-popup::-webkit-scrollbar-thumb:hover,.attendance-table-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 0 10px #3b82f680}@media (min-width:1440px){.attendance-popup{max-width:1600px}.attendance-table-wrapper{max-height:700px}}@media (max-width:1199px) and (min-width:992px){.attendance-popup{max-width:95%}.table-header,.table-row{font-size:12px;grid-template-columns:50px 180px 90px 110px 160px 120px 90px 110px 110px}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width:991px) and (min-width:768px){.attendance-header h2{font-size:24px}.attendance-content,.summary-section{padding:24px}.table-header,.table-row{font-size:11px;grid-template-columns:45px 160px 85px 100px 140px 110px 85px 100px 100px}.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.attendance-overlay{padding:10px}.attendance-popup{border-radius:16px;max-height:95vh}.attendance-header{border-radius:16px 16px 0 0;padding:20px 24px}.attendance-header h2{font-size:22px}.close-btn{font-size:24px;height:38px;width:38px}.date-filter-section{padding:20px 24px}.date-filter-wrapper{align-items:flex-start;flex-direction:column}.attendance-tabs{padding:0 24px}.tab-btn{font-size:13px;padding:14px 20px}.attendance-content,.summary-section{padding:24px}.content-title{font-size:20px}.attendance-table-wrapper{max-height:450px;overflow-x:scroll}.attendance-table{min-width:1000px}.btn-next-summary{width:100%}.summary-header{align-items:flex-start;flex-direction:column}.btn-back{text-align:center;width:100%}.summary-cards{grid-template-columns:1fr}}@media (max-width:479px){.attendance-header{padding:18px 20px}.attendance-header h2{font-size:20px}.close-btn{font-size:22px;height:36px;width:36px}.attendance-tabs,.date-filter-section{padding:16px 20px}.attendance-content,.summary-section{padding:20px}.content-title{font-size:18px}.tab-btn{font-size:12px;padding:12px 16px}.summary-group-title{font-size:18px}.summary-value{font-size:28px}.summary-icon{font-size:30px}}@media (max-height:600px) and (orientation:landscape){.attendance-popup{max-height:98vh}.attendance-content,.summary-section{padding:20px}}@media print{.attendance-overlay{background:none;position:static}.attendance-popup{box-shadow:none;max-width:100%}.btn-back,.btn-next-summary,.close-btn{display:none}}.add-attendance-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.add-attendance-container-new{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:100%}.add-attendance-header-new{align-items:flex-start;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:20px;justify-content:space-between;padding:24px 32px}.header-left-new{display:flex;flex:1 1;flex-direction:column;gap:20px}.add-attendance-title-new{color:#1f2937;font-size:24px;font-weight:700;margin:0}.filter-pills-new{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.search-input-wrapper{flex:1 1;min-width:250px;position:relative}.search-input-new{background:#f9fafb;border:1px solid #d1d5db;border-radius:20px;color:#374151;font-size:14px;font-weight:500;outline:none;padding:10px 20px 10px 40px;transition:all .2s;width:100%}.search-input-new:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input-new::placeholder{color:#9ca3af}.search-icon{font-size:16px;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.filter-pill-new{-webkit-appearance:none;appearance:none;background:#f9fafb;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;border:1px solid #d1d5db;border-radius:20px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 40px 10px 24px;transition:all .2s}.filter-pill-new:hover{background-color:#eff6ff;border-color:#3b82f6}.filter-pill-new:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.department-filter-new{background-color:#fff;border-color:#3b82f6;color:#3b82f6;font-weight:600}.reset-filter-btn{background:#fff;border:1px solid #d1d5db;border-radius:20px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.reset-filter-btn:hover{background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.add-attendance-close-btn-new{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:28px;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.add-attendance-close-btn-new:hover{background-color:#f3f4f6;color:#1f2937}.stats-bar{grid-gap:12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:grid;gap:12px;grid-template-columns:repeat(5,1fr);padding:16px 32px}.stat-card{align-items:center;background:#fff;border:2px solid;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:12px;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-label{font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.stat-value{font-size:24px;font-weight:700}.stat-total{border-color:#d1d5db;color:#6b7280}.stat-present{background:#f0fdf4;border-color:#86efac;color:#16a34a}.stat-absent{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.stat-halfday{background:#fffbeb;border-color:#fcd34d;color:#d97706}.stat-od{background:#faf5ff;border-color:#c4b5fd;color:#7c3aed}.add-attendance-content-new{background:#fff;flex:1 1;overflow-y:auto;padding:0}.attendance-table-wrapper-new{max-height:calc(90vh - 300px);overflow-x:auto;overflow-y:auto}.attendance-table-new{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.attendance-table-new thead{background:#f9fafb;position:-webkit-sticky;position:sticky;top:0;z-index:10}.attendance-table-new th{border-bottom:2px solid #e5e7eb;color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 24px;text-align:left;text-transform:uppercase}.th-empid{width:120px}.th-name{min-width:200px;width:auto}.th-dept,.th-designation{width:180px}.th-today{min-width:420px;width:auto}.attendance-table-new tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s}.attendance-table-new tbody tr:hover{background-color:#f9fafb}.attendance-table-new tbody tr.row-marked{background-color:#eff6ff}.attendance-table-new tbody tr.row-marked:hover{background-color:#dbeafe}.attendance-table-new td{color:#374151;padding:16px 24px;vertical-align:middle}.td-empid{color:#1f2937;font-family:Courier New,monospace;font-weight:600}.td-name{color:#1f2937;font-weight:500}.td-designation{color:#6b7280;font-size:13px}.dept-badge{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#3b82f6;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.attendance-options-new{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.radio-label-new{align-items:center;border:1px solid #0000;border-radius:20px;cursor:pointer;display:flex;gap:8px;padding:8px 14px;position:relative;transition:all .2s}.radio-label-new:hover{background-color:#f3f4f6}.radio-input-new{opacity:0;pointer-events:none;position:absolute}.radio-dot-new{background:#fff;border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;height:18px;position:relative;transition:all .2s;width:18px}.radio-dot-new:after{border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .2s;width:10px}.radio-text-new{color:#6b7280;font-size:13px;font-weight:500;transition:color .2s}.present-label.selected{background-color:#dcfce7;border-color:#22c55e}.present-label.selected .radio-dot-new{background-color:#fff;border-color:#22c55e}.present-label.selected .radio-dot-new:after{background-color:#22c55e;transform:translate(-50%,-50%) scale(1)}.present-label.selected .radio-text-new{color:#16a34a;font-weight:600}.absent-label.selected{background-color:#fee2e2;border-color:#ef4444}.absent-label.selected .radio-dot-new{background-color:#fff;border-color:#ef4444}.absent-label.selected .radio-dot-new:after{background-color:#ef4444;transform:translate(-50%,-50%) scale(1)}.absent-label.selected .radio-text-new{color:#ef4444;font-weight:600}.halfday-label.selected{background-color:#fef3c7;border-color:#f59e0b}.halfday-label.selected .radio-dot-new{background-color:#fff;border-color:#f59e0b}.halfday-label.selected .radio-dot-new:after{background-color:#f59e0b;transform:translate(-50%,-50%) scale(1)}.halfday-label.selected .radio-text-new{color:#d97706;font-weight:600}.od-label.selected{background-color:#ede9fe;border-color:#8b5cf6}.od-label.selected .radio-dot-new{background-color:#fff;border-color:#8b5cf6}.od-label.selected .radio-dot-new:after{background-color:#8b5cf6;transform:translate(-50%,-50%) scale(1)}.od-label.selected .radio-text-new{color:#7c3aed;font-weight:600}.add-attendance-footer-new{align-items:center;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;padding:20px 32px}.footer-info-new{display:flex;flex-direction:column;gap:4px}.marked-count-new{color:#374151;font-size:14px;font-weight:600}.footer-date{color:#6b7280;font-size:12px}.submit-attendance-btn-new{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 8px #3b82f633;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 32px;transition:all .2s}.submit-attendance-btn-new:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.submit-attendance-btn-new:active{transform:translateY(0)}.submit-attendance-btn-new:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.add-attendance-content-new::-webkit-scrollbar,.attendance-table-wrapper-new::-webkit-scrollbar{height:8px;width:8px}.add-attendance-content-new::-webkit-scrollbar-track,.attendance-table-wrapper-new::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.add-attendance-content-new::-webkit-scrollbar-thumb,.attendance-table-wrapper-new::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.add-attendance-content-new::-webkit-scrollbar-thumb:hover,.attendance-table-wrapper-new::-webkit-scrollbar-thumb:hover{background:#94a3b8}.attendance-empty-state-new{color:#6b7280;padding:60px 20px;text-align:center}.attendance-empty-state-icon-new{font-size:4rem;margin-bottom:16px;opacity:.5}.attendance-empty-state-new h3{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:8px}.attendance-empty-state-new p{color:#9ca3af;font-size:14px}@media (max-width:992px){.stats-bar{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.add-attendance-container-new{max-height:95vh;max-width:95%}.add-attendance-header-new{align-items:flex-start;flex-direction:column;padding:20px 24px}.header-left-new{width:100%}.add-attendance-title-new{font-size:20px}.filter-pills-new,.search-input-wrapper{width:100%}.filter-pill-new{flex:1 1;min-width:140px}.add-attendance-close-btn-new{position:absolute;right:24px;top:24px}.stats-bar{grid-template-columns:repeat(2,1fr);padding:12px 24px}.attendance-table-wrapper-new{overflow-x:auto}.attendance-table-new{min-width:900px}.attendance-table-new td,.attendance-table-new th{padding:12px 16px}.attendance-options-new{gap:8px}.radio-label-new{padding:6px 10px}.radio-text-new{font-size:12px}.add-attendance-footer-new{flex-direction:column;padding:16px 24px}.footer-info-new{align-items:center;text-align:center;width:100%}.submit-attendance-btn-new{width:100%}}@media (max-width:576px){.add-attendance-container-new{border-radius:12px}.add-attendance-header-new{padding:16px 20px}.add-attendance-title-new{font-size:18px}.filter-pill-new{font-size:12px;padding:8px 36px 8px 18px}.search-input-new{font-size:12px;padding:8px 16px 8px 36px}.add-attendance-close-btn-new{font-size:24px;height:32px;width:32px}.stats-bar{gap:8px;grid-template-columns:1fr}.attendance-table-new{font-size:12px;min-width:800px}.attendance-table-new td,.attendance-table-new th{padding:10px 12px}.add-attendance-footer-new{padding:14px 20px}}.add-attendance-close-btn-new:focus,.filter-pill-new:focus,.radio-label-new:focus-within,.reset-filter-btn:focus,.search-input-new:focus,.submit-attendance-btn-new:focus{outline:2px solid #3b82f6;outline-offset:2px}*{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.notification-popup-overlay{align-items:flex-start;animation:fadeIn .2s ease;background-color:#0000004d;display:flex;height:100%;justify-content:flex-end;left:0;padding-right:20px;padding-top:80px;position:fixed;top:0;width:100%;z-index:1000}.notification-popup-container{animation:slideInRight .3s ease;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;max-height:80vh;max-width:420px;overflow:hidden;width:90%}.notification-popup-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.notification-title-section{align-items:center;display:flex;gap:12px}.notification-popup-header h2{color:#1f2937;font-size:1.4rem;font-weight:600;margin:0}.unread-count-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);border:2px solid #fff;border-radius:12px;box-shadow:0 2px 8px #3b82f64d;color:#fff;font-size:.75rem;font-weight:600;padding:4px 12px}.close-notification-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.close-notification-btn:hover{background-color:#f3f4f6;color:#1f2937}.notification-filters{align-items:center;background:#fafafa;border-bottom:1px solid #e5e7eb;display:flex;gap:8px;overflow-x:auto;padding:16px 24px}.notification-filters::-webkit-scrollbar{height:4px}.notification-filters::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.filter-btn{background:#fff;border:1px solid #e5e7eb;border-radius:20px;color:#6b7280;font-size:.875rem;padding:8px 18px;transition:all .2s;white-space:nowrap}.filter-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.filter-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f640;color:#fff}.mark-all-read-btn{background:#0000;border:none;color:#3b82f6;cursor:pointer;font-size:.875rem;font-weight:600;margin-left:auto;padding:8px 16px;transition:color .2s;white-space:nowrap}.mark-all-read-btn:hover{color:#2563eb}.notifications-list{background:#fff;max-height:calc(80vh - 160px);overflow-y:auto;padding:8px 0}.notifications-list::-webkit-scrollbar{width:6px}.notifications-list::-webkit-scrollbar-track{background:#f9fafb}.notifications-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.notifications-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.notification-item{border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:16px;padding:16px 24px;position:relative;transition:all .2s}.notification-item:hover{background-color:#f9fafb}.notification-item:hover .delete-notification-btn{opacity:1}.notification-item.unread{background-color:#eff6ff;border-left:3px solid #3b82f6}.notification-item.unread:hover{background-color:#dbeafe}.notification-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea33;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.notification-content{flex:1 1;min-width:0}.notification-header-text{align-items:center;display:flex;gap:8px;margin-bottom:4px}.notification-content h4{color:#1f2937;font-size:.95rem;font-weight:600;margin:0}.unread-indicator{animation:pulse 2s infinite;background:#3b82f6;border-radius:50%;flex-shrink:0;height:8px;width:8px}.notification-content p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.875rem;line-height:1.5;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis}.notification-time{color:#9ca3af;font-size:.75rem;font-weight:500}.delete-notification-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;position:absolute;right:16px;top:16px;transition:all .2s;width:28px}.delete-notification-btn:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.no-notifications{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.no-notifications p{font-size:1rem;font-weight:500;margin-top:16px}@media (max-width:640px){.notification-popup-overlay{justify-content:center;padding-right:10px;padding-top:60px}.notification-popup-container{animation:slideDown .3s ease;border-radius:12px;max-height:85vh;width:95%}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-popup-header{padding:16px 20px}.notification-popup-header h2{font-size:1.2rem}.notification-filters{gap:6px;padding:12px 20px}.filter-btn{font-size:.8rem;padding:6px 14px}.notification-item{gap:12px;padding:14px 20px}.notification-icon{font-size:1.25rem;height:40px;width:40px}.notification-content h4{font-size:.875rem}.notification-content p{font-size:.8rem}.delete-notification-btn{opacity:1;right:12px;top:12px}}.timetable-popup-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.timetable-popup-container{animation:slideUp .3s ease-out;background-color:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:90%}.timetable-popup-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-bottom:2px solid #e5e7eb;border-radius:20px 20px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.timetable-popup-header h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0}.timetable-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.timetable-close-btn:hover{background-color:#ffffff4d;transform:rotate(90deg)}.timetable-popup-content{background:#f8fafc;flex:1 1;overflow-y:auto;padding:30px}.timetable-form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:30px}.timetable-form-group{display:flex;flex-direction:column;gap:8px}.timetable-form-group label{color:#374151;font-size:.875rem;font-weight:600}.timetable-form-group input[type=number],.timetable-form-group input[type=text],.timetable-form-group select{background-color:#fff;border:2px solid #d1d5db;border-radius:10px;color:#1f2937;font-family:Poppins,sans-serif;font-size:.95rem;outline:none;padding:12px 14px;transition:all .2s ease}.timetable-form-group input:focus,.timetable-form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.timetable-form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;cursor:pointer;padding-right:40px}.timetable-section-title{color:#1f2937;font-size:1.1rem;font-weight:700;margin-bottom:20px;margin-top:10px}.working-days-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin-bottom:30px}.working-day-checkbox{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:10px;color:#374151;cursor:pointer;display:flex;font-weight:500;gap:10px;padding:12px 16px;transition:all .2s ease}.working-day-checkbox:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.working-day-checkbox input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:18px;width:18px}.working-day-checkbox input[type=checkbox]:checked+span{color:#3b82f6;font-weight:600}.timetable-subjects-grid{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.timetable-subject-row{grid-gap:20px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:grid;gap:20px;grid-template-columns:180px 1fr;padding:16px;transition:all .2s}.timetable-subject-row:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.timetable-subject-label{color:#374151;font-size:.95rem;font-weight:600}.timetable-subject-inputs{display:flex;width:100%}.timetable-subject-inputs select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;border:2px solid #d1d5db;border-radius:10px;color:#1f2937;cursor:pointer;font-family:Poppins,sans-serif;font-size:.95rem;outline:none;padding:12px 40px 12px 14px;transition:all .2s ease;width:100%}.timetable-subject-inputs select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.daywise-info-bar{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;color:#fff;display:flex;flex-wrap:wrap;font-size:.95rem;font-weight:500;gap:25px;margin-bottom:25px;padding:20px}.daywise-info-bar strong{font-weight:700;margin-right:5px}.info-highlight{background:#fff3;border-radius:8px;font-weight:600;padding:6px 12px}.add-days-section{background:#fffbeb;border:2px solid #fbbf24;border-radius:12px;margin-bottom:25px;padding:20px}.no-days-message{background:#fef2f2;border:2px dashed #f87171;border-radius:12px;margin-bottom:20px;padding:40px 20px;text-align:center}.no-days-message p{color:#991b1b;font-size:1rem;font-weight:600}.day-schedule-section{background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:20px}.day-title{align-items:center;border-bottom:2px solid #e5e7eb;color:#1f2937;display:flex;font-size:1.2rem;font-weight:700;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.day-status-badge{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.day-status-badge.existing{background-color:#dbeafe;color:#1e40af}.day-status-badge.new{background-color:#d1fae5;color:#065f46}.periods-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr)}.period-entry{display:flex;flex-direction:column;gap:8px}.period-entry label{color:#6b7280;font-size:.85rem;font-weight:600}.period-entry select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px;border:2px solid #d1d5db;border-radius:8px;color:#1f2937;cursor:pointer;font-family:Poppins,sans-serif;font-size:.9rem;outline:none;padding:10px 35px 10px 12px;transition:all .2s ease}.period-entry select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.timetable-popup-actions{border-top:2px solid #e5e7eb;display:flex;gap:15px;justify-content:center;padding-top:20px}.timetable-cancel-btn,.timetable-generate-btn{border:none;border-radius:10px;cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;padding:14px 40px;transition:all .3s ease}.timetable-cancel-btn{background-color:#fff;border:2px solid #d1d5db;color:#374151}.timetable-cancel-btn:hover{background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.timetable-generate-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 15px #3b82f64d;color:#fff}.timetable-generate-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.timetable-cancel-btn:active,.timetable-generate-btn:active{transform:translateY(0)}.timetable-popup-content::-webkit-scrollbar{width:10px}.timetable-popup-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.timetable-popup-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:10px}.timetable-popup-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}@media (max-width:991px){.timetable-form-grid,.working-days-grid{grid-template-columns:repeat(2,1fr)}.periods-grid{grid-template-columns:repeat(3,1fr)}.timetable-subject-row{grid-template-columns:150px 1fr}}@media (max-width:767px){.timetable-popup-container{width:95%}.timetable-form-grid,.working-days-grid{grid-template-columns:1fr}.periods-grid{grid-template-columns:repeat(2,1fr)}.timetable-subject-row{grid-template-columns:1fr}.daywise-info-bar{gap:10px}.daywise-info-bar,.timetable-popup-actions{flex-direction:column}.timetable-cancel-btn,.timetable-generate-btn{width:100%}}@media (max-width:479px){.timetable-popup-overlay{padding:0}.timetable-popup-container{border-radius:0;max-height:100vh;width:100%}.timetable-popup-header{border-radius:0;padding:16px 18px}.timetable-popup-content{padding:15px}.periods-grid{grid-template-columns:1fr}}.timetable-view-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1001}.timetable-view-container{animation:slideUp .3s ease-out;background-color:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:95%}.timetable-view-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-bottom:2px solid #e5e7eb;border-radius:20px 20px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.timetable-view-header-left h2{color:#fff;font-size:1.5rem;font-weight:700;line-height:1.3;margin:0}.timetable-view-header-right{align-items:center;display:flex;gap:12px}.timetable-add-day-btn{align-items:center;background:#fffffff2;border:none;border-radius:10px;box-shadow:0 2px 8px #0000001a;color:#2563eb;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.timetable-add-day-btn:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.timetable-add-day-btn:active{transform:translateY(0)}.timetable-view-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.timetable-view-close-btn:hover{background-color:#ffffff4d;transform:rotate(90deg)}.timetable-view-info{background-color:#fafafa;border-bottom:2px solid #e5e7eb;color:#374151;display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:500;gap:25px;padding:20px 30px}.timetable-view-info div{align-items:center;display:flex;gap:5px}.timetable-view-info strong{color:#111827;font-weight:700}.completion-status{border-radius:8px;font-weight:600;padding:6px 12px}.completion-status.complete{background-color:#d1fae5;color:#065f46}.completion-status.incomplete{background-color:#fed7aa;color:#92400e}.timetable-view-content{background:#f8fafc;flex:1 1;overflow:hidden;padding:20px 30px}.timetable-scroll-wrapper{background-color:#f9fafb;border-radius:15px;box-shadow:inset 0 2px 8px #0000000d;max-height:calc(90vh - 280px);overflow-x:auto;overflow-y:auto}.timetable-table{background-color:#fff;border-collapse:initial;border-radius:15px;border-spacing:0;min-width:800px;overflow:hidden;width:100%}.timetable-table thead{background:linear-gradient(135deg,#3b82f6,#2563eb);position:-webkit-sticky;position:sticky;top:0;z-index:10}.timetable-table thead th{border-right:1px solid #ffffff1a;color:#fff;font-size:.95rem;font-weight:600;padding:18px 15px;text-align:center;white-space:nowrap}.timetable-table thead th:first-child{padding-left:20px;text-align:left}.timetable-table thead th:last-child{border-right:none}.timetable-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.timetable-table tbody tr:hover{background-color:#f3f4f6}.timetable-table tbody tr:last-child{border-bottom:none}.timetable-table tbody tr.incomplete-row{background-color:#fffbeb}.timetable-table tbody tr.incomplete-row:hover{background-color:#fef3c7}.timetable-table tbody td{border-right:1px solid #f3f4f6;color:#374151;font-size:.9rem;font-weight:500;padding:14px 15px;text-align:center}.timetable-table tbody td:last-child{border-right:none}.timetable-table .day-cell{align-items:center;background-color:#f9fafb;border-right:2px solid #e5e7eb;color:#1f2937;display:flex;font-weight:700;gap:10px;padding-left:20px;text-align:left;white-space:nowrap}.incomplete-badge{background-color:#f59e0b;border-radius:6px;color:#fff;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.empty-period{background-color:#fef2f2;color:#991b1b;font-style:italic}.timetable-table tbody tr:hover .empty-period{background-color:#fee2e2}.free-period{background-color:#e0f2f1;color:#00796b;font-style:italic;font-weight:600}.timetable-table tbody tr:hover .free-period{background-color:#b2dfdb}.timetable-view-actions{background-color:#fff;border-top:2px solid #e5e7eb;display:flex;gap:15px;justify-content:center;padding:20px 30px}.timetable-view-cancel-btn,.timetable-view-publish-btn{border:none;border-radius:10px;cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;padding:14px 50px;transition:all .3s ease}.timetable-view-cancel-btn{background-color:#fff;border:2px solid #d1d5db;color:#374151}.timetable-view-cancel-btn:hover{background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.timetable-view-publish-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 15px #3b82f64d;color:#fff}.timetable-view-publish-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.timetable-view-publish-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.6}.timetable-view-cancel-btn:active,.timetable-view-publish-btn:active:not(:disabled){transform:translateY(0)}.timetable-scroll-wrapper::-webkit-scrollbar{height:8px;width:8px}.timetable-scroll-wrapper::-webkit-scrollbar-track{background:#f3f4f6;border-radius:10px}.timetable-scroll-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:10px}.timetable-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}@media (min-width:1440px){.timetable-view-container{max-width:1400px}.timetable-view-header-left h2{font-size:1.75rem}}@media (max-width:1439px) and (min-width:1200px){.timetable-view-container{max-width:1150px}}@media (max-width:1199px) and (min-width:992px){.timetable-view-container{max-width:950px}.timetable-view-header-left h2{font-size:1.4rem}}@media (max-width:991px) and (min-width:768px){.timetable-view-container{max-width:100%;width:98%}.timetable-view-header{align-items:flex-start;flex-direction:column;gap:15px;padding:22px 25px}.timetable-view-header-left h2{font-size:1.3rem}.timetable-view-header-right{justify-content:space-between;width:100%}.timetable-add-day-btn{flex:1 1;justify-content:center}.timetable-view-content,.timetable-view-info{padding:18px 25px}.timetable-table tbody td,.timetable-table thead th{font-size:.85rem;padding:12px 10px}}@media (max-width:767px) and (min-width:600px){.timetable-view-header{align-items:flex-start;flex-direction:column;gap:12px;padding:20px}.timetable-view-header-left h2{font-size:1.25rem}.timetable-view-header-right{justify-content:space-between;width:100%}.timetable-add-day-btn{flex:1 1;font-size:.85rem;justify-content:center;padding:9px 16px}.timetable-view-close-btn{height:36px;width:36px}.timetable-view-info{flex-direction:column;gap:10px;padding:15px 20px}.timetable-view-content{padding:15px 20px}.timetable-scroll-wrapper{max-height:calc(90vh - 360px)}.timetable-table tbody td,.timetable-table thead th{font-size:.75rem;padding:10px 8px}.timetable-table .day-cell{align-items:flex-start;flex-direction:column;font-size:.8rem;padding-left:12px}.timetable-view-actions{flex-direction:column;padding:15px 20px}.timetable-view-cancel-btn,.timetable-view-publish-btn{font-size:.9rem;padding:12px 40px;width:100%}}@media (max-width:599px) and (min-width:480px){.timetable-view-overlay{padding:10px}.timetable-view-container{border-radius:15px;max-height:95vh;width:98%}.timetable-view-header{border-radius:15px 15px 0 0;padding:18px}.timetable-view-header-left h2{font-size:1.15rem}.timetable-add-day-btn{font-size:.8rem;padding:8px 14px}.timetable-add-day-btn span{display:none}.timetable-view-close-btn{height:36px;width:36px}.timetable-view-content{padding:12px 18px}.timetable-view-info{font-size:.85rem;padding:12px 18px}.timetable-table{min-width:600px}.timetable-table tbody td,.timetable-table thead th{font-size:.7rem;padding:9px 7px}.incomplete-badge{font-size:.65rem;padding:2px 6px}.timetable-view-actions{flex-direction:column;gap:12px}.timetable-view-cancel-btn,.timetable-view-publish-btn{font-size:.85rem;padding:11px 30px;width:100%}}@media (max-width:479px){.timetable-view-overlay{padding:0}.timetable-view-container{border-radius:0;max-height:100vh;width:100%}.timetable-view-header{border-radius:0;padding:16px 18px}.timetable-view-header-left h2{font-size:1.05rem}.timetable-add-day-btn{font-size:.75rem;padding:7px 12px}.timetable-add-day-btn span{display:none}.timetable-view-close-btn{height:32px;width:32px}.timetable-view-content{padding:12px 15px}.timetable-view-info{font-size:.8rem;gap:8px;padding:12px 15px}.timetable-scroll-wrapper{max-height:calc(100vh - 340px)}.timetable-table{min-width:600px}.timetable-table tbody td,.timetable-table thead th{font-size:.7rem;padding:8px 6px}.timetable-table .day-cell{font-size:.75rem;padding-left:10px}.incomplete-badge{font-size:.6rem;padding:2px 5px}.timetable-view-actions{flex-direction:column;gap:10px;padding:12px 15px}.timetable-view-cancel-btn,.timetable-view-publish-btn{border-radius:8px;font-size:.8rem;padding:11px 25px;width:100%}}@media (max-width:360px){.timetable-view-header-left h2{font-size:.95rem}.timetable-view-close-btn{height:30px;width:30px}.timetable-view-info{font-size:.75rem}.timetable-table tbody td,.timetable-table thead th{font-size:.65rem;padding:7px 5px}.timetable-view-cancel-btn,.timetable-view-publish-btn{font-size:.75rem;padding:10px 20px}}@media print{.timetable-view-overlay{background:none;position:static}.timetable-view-container{border-radius:0;box-shadow:none;max-width:100%}.timetable-add-day-btn,.timetable-view-actions,.timetable-view-cancel-btn,.timetable-view-close-btn,.timetable-view-publish-btn{display:none!important}.timetable-view-header{background:#f8fafc;border-radius:0;color:#1f2937;page-break-after:avoid}.timetable-view-header-left h2{color:#1f2937}.timetable-table thead{background:#3b82f6!important}.timetable-table thead,.timetable-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.timetable-table thead th{color:#fff!important}.free-period{background-color:#e0f2f1!important}.empty-period,.free-period{-webkit-print-color-adjust:exact;print-color-adjust:exact}.empty-period{background-color:#fef2f2!important}.incomplete-badge{display:none}.timetable-table{page-break-inside:avoid}}.api-handler-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.api-handler-container{animation:slideUp .3s ease-out;background-color:#fff;border-radius:20px;box-shadow:0 25px 70px #0006;display:flex;flex-direction:column;max-height:85vh;max-width:600px;overflow:hidden;width:90%}.api-handler-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-bottom:2px solid #e5e7eb;border-radius:20px 20px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.api-handler-header h2{color:#fff;font-size:1.4rem;font-weight:700;margin:0}.api-handler-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.api-handler-close-btn:hover{background-color:#ffffff4d;transform:rotate(90deg)}.api-handler-content{background:#f8fafc;flex:1 1;overflow-y:auto;padding:30px}.confirmation-message{margin-bottom:25px;text-align:center}.confirmation-message p{color:#374151;font-size:1rem;font-weight:500;line-height:1.6}.data-preview{background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:20px}.preview-item{align-items:center;border-bottom:1px solid #f3f4f6;color:#374151;display:flex;font-size:.95rem;justify-content:space-between;padding:12px 0}.preview-item:last-child{border-bottom:none}.preview-item strong{color:#1f2937;font-weight:600;min-width:140px}.warning-note{align-items:flex-start;background:#fffbeb;border:2px solid #fbbf24;border-radius:10px;display:flex;gap:12px;margin-top:20px;padding:15px}.warning-note svg{color:#f59e0b;margin-top:2px}.warning-note p{color:#92400e;font-size:.9rem;font-weight:500;line-height:1.5;margin:0}.status-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:30px 20px;text-align:center}.status-icon{animation:scaleIn .4s ease-out;margin-bottom:20px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.status-container h3{font-size:1.5rem;font-weight:700;margin-bottom:12px}.status-container p{color:#6b7280;font-size:1rem;line-height:1.6;margin-bottom:8px}.status-container.success .status-icon svg{color:#10b981}.status-container.success h3{color:#065f46}.response-details{background:#d1fae5;border-radius:10px;margin:20px 0;max-width:400px;padding:15px 20px;width:100%}.success-detail{color:#065f46;font-size:.95rem;margin:0}.success-detail strong{font-weight:700}.auto-close-note{color:#9ca3af;font-size:.85rem;font-style:italic;margin-top:15px}.status-container.error .status-icon svg{color:#ef4444}.status-container.error h3{color:#991b1b}.error-message{background:#fee2e2;border-radius:10px;color:#991b1b;font-weight:500;margin:15px 0;max-width:450px;padding:15px 20px;width:100%}.error-actions{margin-top:25px}.retry-btn{background:linear-gradient(135deg,#ef4444,#dc2626);font-family:Poppins,sans-serif;font-size:1rem;padding:12px 35px;transition:all .3s ease}.retry-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px #ef444466;transform:translateY(-2px)}.api-handler-actions{background-color:#fff;border-top:2px solid #e5e7eb;display:flex;gap:15px;justify-content:center;padding:20px 30px}.api-handler-cancel-btn,.api-handler-submit-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:14px 40px;transition:all .3s ease}.api-handler-cancel-btn{background-color:#fff;border:2px solid #d1d5db;color:#374151}.api-handler-cancel-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.api-handler-submit-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d;color:#fff}.api-handler-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.api-handler-cancel-btn:disabled,.api-handler-submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.api-handler-cancel-btn:active:not(:disabled),.api-handler-submit-btn:active:not(:disabled){transform:translateY(0)}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.api-handler-content::-webkit-scrollbar{width:8px}.api-handler-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.api-handler-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:10px}.api-handler-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}@media (max-width:767px){.api-handler-container{max-width:100%;width:95%}.api-handler-header{padding:20px 25px}.api-handler-header h2{font-size:1.2rem}.api-handler-content{padding:25px 20px}.data-preview{padding:15px}.preview-item{align-items:flex-start;flex-direction:column;gap:5px}.preview-item strong{min-width:auto}.api-handler-actions{flex-direction:column;padding:15px 20px}.api-handler-cancel-btn,.api-handler-submit-btn{width:100%}}@media (max-width:479px){.api-handler-overlay{padding:0}.api-handler-container{border-radius:0;max-height:100vh;width:100%}.api-handler-header{border-radius:0;padding:18px 20px}.api-handler-header h2{font-size:1.1rem}.api-handler-content{padding:20px 18px}.status-container{min-height:250px;padding:25px 15px}.status-container h3{font-size:1.3rem}}.dept-filter-wrapper{margin-bottom:20px}.dept-filter-container{display:flex;flex-direction:column;gap:8px}.dept-filter-label{color:#374151;font-size:.875rem;font-weight:500}.dept-dropdown{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;position:relative;transition:all .2s ease}.dept-dropdown.active,.dept-dropdown:hover{border-color:#3a86ff;box-shadow:0 0 0 3px #3a86ff1a}.dept-icon{align-items:center;display:flex;font-size:1.25rem;justify-content:center}.dept-name{color:#111827;flex:1 1;font-size:.95rem;font-weight:500}.dept-chevron{color:#6b7280;transition:transform .2s ease}.dept-chevron.rotate{transform:rotate(180deg)}.dept-list-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#0000004d;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1500}.dept-list-container{animation:slideUp .3s ease-out;background-color:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:900px;overflow:hidden;width:90%}.dept-list-header{align-items:center;background:linear-gradient(135deg,#3a86ff,#2968d8);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:25px 30px}.dept-list-header h3{font-size:1.4rem;font-weight:600;gap:10px;margin:0}.dept-close-btn,.dept-list-header h3{align-items:center;color:#fff;display:flex}.dept-close-btn{background:#fff3;border:none;border-radius:50%;cursor:pointer;justify-content:center;padding:8px;transition:all .2s ease}.dept-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.dept-list-content{flex:1 1;overflow-y:auto;padding:30px}.dept-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.dept-card{background:#fff;border:2px solid #e5e7eb;border-radius:15px;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.dept-card:before{background:var(--dept-color);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.dept-card:hover:before{transform:scaleX(1)}.dept-card:hover{border-color:var(--dept-color);box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.dept-card.selected{background:linear-gradient(135deg,#3a86ff0d,#2968d80d);border-color:var(--dept-color)}.dept-card.selected:before{transform:scaleX(1)}.dept-card-header{align-items:center;display:flex;gap:12px;margin-bottom:15px}.dept-card-icon{align-items:center;background:linear-gradient(135deg,#3a86ff1a,#2968d81a);border-radius:12px;display:flex;font-size:2rem;height:50px;justify-content:center;width:50px}.dept-card-title{flex:1 1}.dept-card-title h4{color:#111827;font-size:1.05rem;font-weight:600;margin:0 0 4px}.dept-card-title p{color:#6b7280;font-size:.8rem;margin:0}.dept-card-subjects{display:flex;flex-direction:column;gap:8px}.dept-subject-tag{align-items:center;background-color:#f3f4f6;border-radius:8px;color:#374151;display:flex;font-size:.85rem;gap:8px;padding:8px 12px;transition:all .2s ease}.dept-subject-tag:before{content:"📘";font-size:.9rem}.dept-card:hover .dept-subject-tag{background-color:#3a86ff14;color:#2968d8}@media (max-width:768px){.dept-list-container{max-height:85vh;width:95%}.dept-list-header{padding:20px}.dept-list-header h3{font-size:1.2rem}.dept-list-content{padding:20px}.dept-grid{gap:15px;grid-template-columns:1fr}.dept-card{padding:15px}.dept-card-icon{font-size:1.75rem;height:45px;width:45px}}.dept-list-content::-webkit-scrollbar{width:8px}.dept-list-content::-webkit-scrollbar-track{background:#f3f4f6;border-radius:10px}.dept-list-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.dept-list-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.resources-chart{display:flex;flex-direction:column;gap:18px;padding:10px 0}.chart-row{gap:15px;position:relative}.chart-label,.chart-row{align-items:center;display:flex}.chart-label{color:#555;font-weight:500;gap:10px;min-width:120px}.chart-icon{align-items:center;border-radius:8px;display:flex;font-size:1.1rem;height:32px;justify-content:center;transition:transform .3s ease;width:32px}.chart-icon.male{background:linear-gradient(135deg,#3a86ff,#2968d8)}.chart-icon.female{background:linear-gradient(135deg,#ff6f61,#e85d50)}.chart-icon.teachers{background:linear-gradient(135deg,#ffc107,#f9a825)}.chart-icon.staff{background:linear-gradient(135deg,#28a745,#1e7e34)}.chart-row:hover .chart-icon{transform:scale(1.1) rotate(5deg)}.label-text{font-size:.95rem}.chart-bar-container{background:#f5f5f5;box-shadow:inset 0 2px 4px #0000000d;flex:1 1;height:40px}.chart-bar-container,.chart-bar-fill{border-radius:20px;overflow:hidden;position:relative}.chart-bar-fill{align-items:center;display:flex;height:100%;justify-content:flex-end;min-width:60px;padding-right:15px}.chart-bar-fill.male{background:linear-gradient(90deg,#3a86ff,#5b9eff);box-shadow:0 2px 8px #3a86ff4d}.chart-bar-fill.female{background:linear-gradient(90deg,#ff6f61,#ff8f85);box-shadow:0 2px 8px #ff6f614d}.chart-bar-fill.teachers{background:linear-gradient(90deg,#ffc107,#ffd54f);box-shadow:0 2px 8px #ffc1074d}.chart-bar-fill.staff{background:linear-gradient(90deg,#28a745,#48c774);box-shadow:0 2px 8px #28a7454d}.chart-bar-fill:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.bar-value{color:#fff;font-size:.9rem;font-weight:600;position:relative;text-shadow:0 1px 2px #0003;z-index:1}.chart-total{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #3a86ff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;margin-top:10px;padding:15px 20px}.total-label{color:#555;font-size:1rem;font-weight:600}.total-value{color:#3a86ff;font-size:1.3rem;font-weight:700}.resources-chart-loading{align-items:center;display:flex;flex-direction:column;gap:15px;justify-content:center;padding:40px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3a86ff;height:40px;width:40px}.resources-chart-loading p{color:#777;font-size:.9rem}.resources-chart-error{color:#f44336;font-size:.9rem;padding:20px;text-align:center}.chart-row:hover .chart-bar-fill{transform:scaleY(1.05);transition:transform .3s ease}.chart-row:hover .bar-value{font-size:1rem;transition:font-size .3s ease}@media (max-width:768px){.chart-label{font-size:.85rem;min-width:100px}.chart-icon{font-size:.95rem;height:28px;width:28px}.chart-bar-container{height:35px}.bar-value{font-size:.8rem;padding-right:10px}.total-label,.total-value{font-size:.9rem}}@media (max-width:480px){.chart-row{gap:10px}.chart-label{gap:8px;min-width:80px}.label-text{font-size:.8rem}.chart-bar-container{height:30px}}.modal-overlay{align-items:center;animation:fadeIn .25s ease-out;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-container{animation:slideUp .25s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.modal-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px 24px}.modal-title{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.close-btn{padding:6px;transition:.2s ease}.close-btn:hover{background:#e5e7eb;color:#111}.icon-md{height:20px;width:20px}.modal-content{flex:1 1;max-height:calc(90vh - 140px);overflow-y:auto;padding:24px}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.form-row{grid-gap:18px 28px;display:grid;gap:18px 28px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.form-group-full{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-label{color:#374151;font-size:.875rem;font-weight:500;text-align:left}.form-input,.form-select{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.95rem;font-weight:400;padding:10px 14px;transition:.15s ease;width:100%}.form-input:hover,.form-select:hover{border-color:#9ca3af}.form-input:focus,.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-textarea{border:1px solid #d1d5db;border-radius:6px;color:#374151;font-family:inherit;font-size:.95rem;min-height:100px;padding:10px 14px;resize:vertical;transition:.15s ease}.form-textarea:hover{border-color:#9ca3af}.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af}.select-wrapper{position:relative}.select-wrapper .icon-sm{color:#6b7280;height:16px;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%);width:16px}.modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 24px;transition:.2s ease}.btn-cancel{border:1px solid #d1d5db;color:#374151}.btn-submit{background:#3b82f6;box-shadow:0 1px 3px #0000001a}.btn-submit:hover{background:#2563eb;box-shadow:0 2px 6px #00000026}@media (max-width:1023px){.modal-container{max-width:650px}}@media (max-width:767px){.modal-overlay{padding:10px}.modal-container{max-height:95vh}.modal-content,.modal-footer,.modal-header{padding:16px}.form-row{gap:16px;grid-template-columns:1fr}.form-group,.form-group-full{gap:6px}.modal-footer{flex-direction:column-reverse}.btn-cancel,.btn-submit{padding:12px;width:100%}}.achievement-history-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.achievement-modal{animation:slideUp .3s ease;background:#fff;border:2px solid #0d47a1;border:2px solid var(--primary-color,#0d47a1);border-radius:12px;box-shadow:0 10px 30px #0000004d;font-family:Poppins,Arial,sans-serif;max-height:90vh;max-width:900px;overflow-y:auto;padding:20px;width:100%}.modal-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.modal-header h2{color:#111827;font-size:22px;font-weight:600;margin:0}.header-light{color:#9ca3af;font-weight:400}.close-btn{font-size:32px;height:35px;line-height:1;padding:0;width:35px}.role-selector{align-items:center;background-color:#f9fafb;border-radius:8px;display:flex;gap:10px;margin-bottom:20px;padding:12px}.role-selector label{color:#374151;font-size:14px;font-weight:600}.role-selector select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23374151' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #d1d5db;border-radius:6px;color:#111827;cursor:pointer;font-size:14px;padding:8px 35px 8px 12px;transition:all .2s ease}.role-selector select:focus,.role-selector select:hover{border-color:#0d47a1;border-color:var(--primary-color,#0d47a1)}.role-selector select:focus{box-shadow:0 0 0 3px #0d47a11a;outline:none}.table-container{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;overflow-x:auto}.achievement-table{border-collapse:collapse;font-size:13px;width:100%}.achievement-table thead{background-color:#0d47a1;background-color:var(--primary-color,#0d47a1);color:#fff}.achievement-table th{font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.achievement-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.achievement-table tbody tr:hover{background-color:#f9fafb}.achievement-table tbody tr:last-child{border-bottom:none}.achievement-table td{color:#111827;padding:14px 16px}.star-rating{white-space:nowrap}.star{color:#d1d5db;font-size:18px;margin-right:2px;transition:color .2s ease}.star.filled{color:#fbbf24}.modal-footer{border-top:2px solid #e5e7eb;display:flex;gap:15px;justify-content:space-between;padding-top:20px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-family:Poppins,Arial,sans-serif;font-size:14px;font-weight:600;padding:12px 28px;transition:all .3s ease}.btn-secondary{background:#fff;color:#374151}.btn-secondary:hover{background:#f9fafb;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.btn-primary{background:#0d47a1;background:var(--primary-color,#0d47a1);box-shadow:0 4px 12px #0d47a14d;min-width:120px}.btn-primary:hover{background:#0b3d8f;background:var(--primary-hover,#0b3d8f);box-shadow:0 6px 16px #0d47a166;transform:translateY(-2px)}.btn-primary:active,.btn-secondary:active{transform:translateY(0)}@media (max-width:768px){.achievement-history-overlay{padding:10px}.achievement-modal{border-radius:10px;max-height:95vh;padding:15px}.modal-header h2{font-size:18px}.close-btn{font-size:28px;height:32px;width:32px}.achievement-table{font-size:12px}.achievement-table td,.achievement-table th{padding:10px 12px}.star{font-size:16px}.modal-footer{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (max-width:599px){.achievement-modal{padding:12px}.modal-header h2{font-size:16px}.achievement-table{font-size:11px}.achievement-table td,.achievement-table th{padding:8px 10px}.btn-primary,.btn-secondary{font-size:13px;padding:10px 20px}.star{font-size:14px}}.period-approval-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.period-approval-modal{animation:slideUp .3s ease;background:#fff;border-radius:15px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.period-approval-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:25px 30px}.period-approval-header h2{color:#111827;font-size:1.5rem;font-weight:700;margin:0}.close-btn{background:none;border-radius:6px;color:#6b7280;font-size:1.5rem;height:32px;padding:5px;transition:all .2s ease;width:32px}.close-btn:hover{background-color:#f3f4f6;color:#111827}.period-approval-content{flex:1 1;overflow-y:auto;padding:30px}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px}.filter-section h3{color:#111827;font-size:1rem;font-weight:600;margin:0;min-width:120px}.filter-tabs{background-color:#f3f4f6;border-radius:10px;display:flex;gap:10px;padding:4px}.filter-tab{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 20px;transition:all .2s ease;white-space:nowrap}.filter-tab:hover{background-color:#ffffff80;color:#0d47a1}.filter-tab.active{background-color:#0d47a1;box-shadow:0 2px 8px #0d47a14d;color:#fff}.filter-dropdown{align-items:center;display:flex;gap:8px;margin-left:auto}.filter-dropdown select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:1px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 32px 8px 12px;transition:all .2s ease}.filter-dropdown select:focus{border-color:#0d47a1;box-shadow:0 0 0 3px #0d47a11a;outline:none}.filter-dropdown select:hover{border-color:#0d47a1}.period-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 2px 10px #0000000d;overflow:hidden;width:100%}.period-table thead{background-color:#f8f9fa}.period-table th{border-bottom:2px solid #e5e7eb;color:#6b7280;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.period-table tbody tr{border-bottom:1px solid #f3f4f6;transition:all .2s ease}.period-table tbody tr:hover{background-color:#f8f9fa}.period-table tbody tr:last-child{border-bottom:none}.period-table td{color:#111827;font-size:.9rem;padding:18px 15px}.action-buttons{display:flex;gap:8px}.approve-btn,.cancel-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 20px;transition:all .2s ease;white-space:nowrap}.approve-btn{background-color:#0d47a1;box-shadow:0 2px 8px #0d47a133;color:#fff}.approve-btn:hover{background-color:#0b3d8f;box-shadow:0 4px 12px #0d47a14d;transform:translateY(-2px)}.approve-btn:active{transform:translateY(0)}.cancel-btn{background-color:#ef4444;box-shadow:0 2px 8px #ef444433;color:#fff}.cancel-btn:hover{background-color:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.cancel-btn:active{transform:translateY(0)}.pagination{align-items:center;border-top:1px solid #e5e7eb;gap:10px;justify-content:center;margin-top:30px;padding-top:20px}.pagination-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;font-size:.9rem;font-weight:500;min-width:120px;padding:10px 20px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background-color:#f8f9fa;border-color:#0d47a1;color:#0d47a1}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-btn.next-btn{background-color:#0d47a1;border-color:#0d47a1;color:#fff}.pagination-btn.next-btn:hover:not(:disabled){background-color:#0b3d8f;box-shadow:0 4px 12px #0d47a14d;transform:translateY(-2px)}.empty-state{color:#6b7280;padding:60px 20px;text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:15px;opacity:.5}.empty-state h3{color:#111827;font-size:1.1rem;font-weight:600;margin-bottom:8px}.empty-state p{color:#9ca3af;font-size:.9rem}@media (max-width:768px){.period-approval-modal{margin:10px;max-height:95vh;max-width:100%}.period-approval-header{padding:20px}.period-approval-header h2{font-size:1.25rem}.period-approval-content{padding:20px}.filter-section{align-items:stretch;flex-direction:column}.filter-section h3{min-width:auto}.filter-tabs{flex-wrap:wrap}.filter-dropdown{margin-left:0;width:100%}.filter-dropdown select{width:100%}.period-table{display:block;overflow-x:auto}.period-table td,.period-table th{font-size:.8rem;padding:12px 10px}.action-buttons{flex-direction:column}.approve-btn,.cancel-btn{padding:10px;width:100%}.pagination{flex-direction:column;gap:12px}.pagination-btn{width:100%}}@media (max-width:480px){.period-approval-content,.period-approval-header{padding:15px}.filter-tab{font-size:.8rem;padding:6px 14px}}.students-container{background:fffff;font-family:Inter,Poppins,sans-serif;min-height:100vh;padding:25px}.students-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.students-header h2{color:#111827;color:var(--text-dark);font-size:28px;font-weight:700;margin:0}.add-new-btn,.close-btn{font-size:14px}.add-new-btn{background:#2563eb;background:var(--primary-blue);color:var(--white)}.add-new-btn:hover{background:#1d4ed8;background:var(--hover-blue);box-shadow:0 4px 12px #2563eb4d}.close-btn{background:#fff;background:var(--white);border:1px solid #e5e7eb;color:#111827;color:var(--text-dark)}.close-btn:hover{background:#f9fafb;background:var(--light-gray)}.filters{flex-wrap:wrap;margin-bottom:20px}.filter-btn,.id-filter-input{font-family:inherit;font-size:14px;padding:8px 14px}.filter-btn{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236b7280' d='m2 4 4 4 4-4H2z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;min-width:160px;padding-right:35px}.filter-btn:focus,.filter-btn:hover,.id-filter-input:focus,.id-filter-input:hover{border-color:#2563eb;border-color:var(--primary-blue)}.filter-btn:focus,.id-filter-input:focus{box-shadow:0 0 0 3px #2563eb26}.id-filter-input{min-width:180px}.students-table{background:#fff;background:var(--white);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);overflow-x:auto}.table-header,.table-row{grid-gap:15px;gap:15px;grid-template-columns:.7fr 1.8fr 1.3fr 1.3fr 1.1fr 2.2fr .8fr}.table-header{font-size:13px;letter-spacing:.5px;text-transform:uppercase}.table-wrapper{max-height:600px}.table-row{background:#fff;background:var(--white)}.empty-container,.error-container,.loading-container{padding:60px 20px;text-align:center}.error-text,.loading-text{font-size:16px;font-weight:500}.loading-text{color:#111827;color:var(--text-dark)}.retry-btn{margin-top:15px;padding:10px 20px}.pagination-footer{gap:8px;margin-top:25px}.page-btn{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--border-color);color:#111827;color:var(--text-dark);font-size:14px;min-width:40px;padding:8px 14px;transition:all .2s ease}.page-btn:hover:not(:disabled):not(.active){background:#eff6ff;border-color:#2563eb;border-color:var(--primary-blue)}.page-btn.active{background:#2563eb;background:var(--primary-blue);border-color:#2563eb;border-color:var(--primary-blue);color:#fff;color:var(--white)}.page-btn:disabled{cursor:not-allowed;opacity:.5}.profile-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.profile-modal-content{background:#fff;background:var(--white);border-radius:10px;border-radius:var(--radius);box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:30px;width:100%}.profile-header-modal{align-items:flex-start;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.profile-info-block{align-items:center;display:flex;gap:15px}.profile-avatar-large{align-items:center;background:#e0e7ff;border-radius:50%;color:#2563eb;color:var(--primary-blue);display:flex;font-size:1.5rem;font-weight:600;height:60px;justify-content:center;width:60px}.profile-text h3{color:#111827;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0 0 5px}.profile-text .student-id{color:#6b7280;color:var(--text-light);font-size:.85em;margin:0}.modal-close-btn{background:none;border:none;color:#6b7280;color:var(--text-light);cursor:pointer;transition:color .2s ease}.modal-close-btn:hover{color:#111827;color:var(--text-dark)}.detail-group{gap:5px}.detail-label{color:#6b7280;font-size:.8em}.detail-value{color:#111827}@media (max-width:992px){.students-table{overflow-x:scroll}.table-header,.table-row{min-width:900px}}@media (max-width:768px){.students-container{padding:15px}.students-header{align-items:flex-start;flex-direction:column;gap:15px}.students-header h2{font-size:24px}.actions{justify-content:space-between;width:100%}.filters{flex-direction:column}.filter-btn,.id-filter-input{width:100%}.profile-modal-content{padding:20px}.profile-details-grid{grid-template-columns:1fr}.detail-group-wide{grid-column:span 1}}.pagination-footer{align-items:center;gap:10px;justify-content:flex-end;padding:20px 40px}.page-btn{font-family:Poppins,sans-serif;font-weight:500;padding:10px 20px;transition:background-color .2s,color .2s,border .2s,opacity .2s}.page-btn.blue{background-color:#0a6dff;background-color:var(--primary-blue,#0a6dff);border:1px solid #0a6dff;border:1px solid var(--primary-blue,#0a6dff);color:var(--bg-white,#fff)}.page-btn.blue:hover:not(.disabled){background-color:#0856cc}.page-btn.white{background-color:var(--bg-white,#fff);border:1px solid var(--border-color,#e0e0e0);color:var(--text-light,#555)}.page-btn.white:hover:not(.disabled){background-color:#f9f9f9;background-color:var(--bg-light,#f9f9f9)}.page-btn.disabled{cursor:not-allowed;opacity:.5}.page-numbers{align-items:center;display:flex;gap:5px}.page-number{background-color:#fff;background-color:var(--bg-white,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;color:#555;color:var(--text-light,#555);cursor:pointer;font-family:Poppins,sans-serif;font-weight:500;height:40px;min-width:40px;padding:8px 12px;transition:all .2s}.page-number:hover{background-color:#f9f9f9;background-color:var(--bg-light,#f9f9f9)}.page-number.active,.page-number:hover{border-color:#0a6dff;border-color:var(--primary-blue,#0a6dff)}.page-number.active{background-color:#0a6dff;background-color:var(--primary-blue,#0a6dff);color:#fff;color:var(--bg-white,#fff)}.page-ellipsis{color:#555;color:var(--text-light,#555);font-weight:500;padding:8px 12px}@media (max-width:768px){.pagination-footer{justify-content:center;padding:15px 20px}.page-btn{font-size:.9rem;padding:8px 16px}.page-number{font-size:.9rem;height:35px;min-width:35px;padding:6px 10px}.page-numbers{gap:3px}}@media (max-width:480px){.page-numbers{display:none}}.student-popup-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.student-popup-container{animation:slideDown .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:1200px;overflow-y:auto;width:100%}.popup-header{background:linear-gradient(135deg,#667eea,#764ba2)}.edit-mode-banner{align-items:center;animation:slideDown .3s ease-out;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #667eea;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:12px 16px}.edit-mode-banner .banner-icon{flex-shrink:0;font-size:20px}.edit-mode-banner .banner-text{color:#5b21b6;font-size:14px;font-weight:500}.edit-mode-banner .banner-text strong{color:#4c1d95;font-weight:700}.form-field label{align-items:center;display:flex;gap:4px}.optional-text{color:#6b7280;font-size:12px;font-style:italic;font-weight:400}.form-field input:focus,.form-field select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-field input:focus-visible,.form-field select:focus-visible{border-color:#667eea;box-shadow:0 0 0 4px #667eea26}.dropdown-search:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.dropdown-list{border:2px solid #667eea}.dropdown-item:hover{color:#667eea}.dropdown-item.selected{color:#5b21b6}.dropdown-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2)}.dropdown-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#5b21b6)}.file-input-wrapper input[type=file]::-webkit-file-upload-button{background:linear-gradient(135deg,#667eea,#764ba2)}.file-input-wrapper input[type=file]::file-selector-button{background:linear-gradient(135deg,#667eea,#764ba2)}.file-input-wrapper input[type=file]::-webkit-file-upload-button:hover{background:linear-gradient(135deg,#764ba2,#5b21b6);box-shadow:0 2px 8px #667eea4d}.file-input-wrapper input[type=file]::file-selector-button:hover{background:linear-gradient(135deg,#764ba2,#5b21b6);box-shadow:0 2px 8px #667eea4d}.form-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.checkbox-wrapper{align-items:center;cursor:pointer;display:flex;gap:10px;padding:12px 0}.checkbox-wrapper input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:20px;width:20px}.checkbox-wrapper span{color:#374151;font-size:14px;font-weight:500}.btn-cancel,.btn-next{align-items:center;display:flex;gap:8px;justify-content:center}.btn-next{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;min-width:120px}.btn-next:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#5b21b6);box-shadow:0 6px 20px #667eea66}.btn-next:disabled:before{animation:spin .6s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;content:"";height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.btn-cancel:hover{color:#374151}.student-popup-container::-webkit-scrollbar{width:10px}.student-popup-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.student-popup-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.student-popup-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#5b21b6)}.student-popup-container{scroll-behavior:smooth}@media (min-width:1440px){.student-popup-container{max-width:1400px}.form-grid{gap:28px}.form-container{padding:40px}}@media (max-width:1439px) and (min-width:1200px){.student-popup-container{max-width:1100px}}@media (max-width:1199px) and (min-width:992px){.student-popup-container{max-width:900px}.form-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.popup-header h2{font-size:24px}}@media (max-width:991px) and (min-width:768px){.student-popup-container{max-width:700px}.form-grid{gap:18px;grid-template-columns:repeat(2,1fr)}.popup-header{padding:20px 24px}.popup-header h2{font-size:22px}.form-container,.popup-body{padding:24px}.form-field input,.form-field select,.form-field textarea{font-size:13px;padding:10px 14px}}@media (max-width:767px) and (min-width:576px){.student-popup-overlay{padding:15px}.student-popup-container{max-height:95vh;max-width:100%}.form-grid{gap:16px;grid-template-columns:1fr}.popup-header{padding:18px 20px}.popup-header h2{font-size:20px}.close-btn{height:36px;width:36px}.form-container,.popup-body{padding:20px}.form-field label{font-size:13px}.form-field input,.form-field select,.form-field textarea{font-size:13px;padding:10px 14px}.form-actions{flex-direction:column;gap:12px}.btn-cancel,.btn-next{padding:12px 24px;width:100%}}@media (max-width:575px) and (min-width:375px){.student-popup-overlay{padding:10px}.student-popup-container{border-radius:12px}.popup-header{border-radius:12px 12px 0 0;padding:16px 18px}.popup-header h2{font-size:18px}.close-btn{height:34px;width:34px}.form-container,.popup-body{padding:18px}.form-grid{gap:14px;grid-template-columns:1fr}.form-field label{font-size:12px}.form-field input,.form-field select,.form-field textarea{font-size:12px;padding:9px 12px}.form-field select{background-size:16px;padding-right:35px}.error-message{font-size:11px}.global-error,.success-message{font-size:13px;padding:12px 18px}.form-actions{flex-direction:column;gap:10px;margin-top:24px;padding-top:18px}.btn-cancel,.btn-next{font-size:13px;padding:11px 20px;width:100%}}@media (max-width:374px){.student-popup-overlay{padding:8px}.student-popup-container{border-radius:10px}.popup-header{border-radius:10px 10px 0 0;padding:14px 16px}.popup-header h2{font-size:16px}.close-btn{height:32px;width:32px}.form-container,.popup-body{padding:16px}.form-grid{gap:12px}.form-field label{font-size:11px}.form-field input,.form-field select,.form-field textarea{font-size:11px;padding:8px 10px}.form-field select{background-size:14px;padding-right:30px}.error-message{font-size:10px}.global-error,.success-message{font-size:12px;padding:10px 16px}.btn-cancel,.btn-next{font-size:12px;padding:10px 18px}}@media (max-height:600px) and (orientation:landscape){.student-popup-container{max-height:95vh}.popup-header{padding:16px 24px}.form-container,.popup-body{padding:20px}.form-grid{gap:16px}}@media print{.student-popup-overlay{display:none}}:focus-visible{outline:2px solid #667eea;outline-offset:2px}input:disabled,select:disabled,textarea:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}:root{--primary-purple:#667eea;--secondary-purple:#eff6ff}.student-profile-modal-overlay{animation:slideInRight .3s ease-out;background-color:#fff;background-color:var(--bg-white);box-shadow:-4px 0 20px #0000000d;box-shadow:-4px 0 20px var(--shadow-light);display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:400px;z-index:1000}.student-profile-modal-content{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;padding:25px 20px}.student-profile-header-modal{align-items:flex-start;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.student-profile-info-block{align-items:center;display:flex;flex:1 1;gap:15px}.student-profile-avatar-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.8rem;font-weight:600;height:70px;justify-content:center;width:70px}.student-profile-text{flex:1 1;min-width:0}.student-profile-text h3{word-wrap:break-word;color:#333;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0 0 5px}.student-profile-text .student-profile-id{color:#777;color:var(--text-light);font-size:.85em;margin:0 0 3px}.student-profile-text .student-profile-class{color:#667eea;color:var(--primary-purple);font-size:.9em;font-weight:600;margin:0}.student-modal-close-btn{background:none;border:none;color:#777;color:var(--text-light);cursor:pointer;flex-shrink:0;padding:5px;transition:color .2s}.student-modal-close-btn:hover{color:#333;color:var(--text-dark)}.student-profile-nav-tabs{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;gap:10px;margin-bottom:20px;padding-bottom:15px}.student-tab-btn{background-color:initial;border:none;border-bottom:3px solid #0000;color:#777;color:var(--text-light);cursor:pointer;font-size:.95em;font-weight:500;padding:8px 15px;transition:all .2s}.student-tab-btn.active{border-bottom:3px solid #667eea;border-bottom:3px solid var(--primary-purple);font-weight:600}.student-tab-btn.active,.student-tab-btn:hover{color:#667eea;color:var(--primary-purple)}.student-profile-tab-content{flex-grow:1;overflow-y:auto;padding-right:5px}.student-profile-tab-content::-webkit-scrollbar{width:6px}.student-profile-tab-content::-webkit-scrollbar-track{background:#f7f9fc;background:var(--bg-light);border-radius:10px}.student-profile-tab-content::-webkit-scrollbar-thumb{background:#e0e0e0;background:var(--border-color);border-radius:10px}.student-profile-tab-content::-webkit-scrollbar-thumb:hover{background:#777;background:var(--text-light)}.document-mock-item .doc-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-mock-item .doc-view-btn{background-color:#667eea;background-color:var(--primary-purple)}.document-mock-item:hover{background-color:#eff6ff;background-color:var(--secondary-purple);border-color:#667eea;border-color:var(--primary-purple);box-shadow:0 2px 8px #667eea1a}.document-mock-item:hover .doc-label{color:#667eea;color:var(--primary-purple)}.document-mock-item:active .doc-view-btn{background-color:#5b21b6}.student-profile-actions-footer{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);display:flex;justify-content:center;margin-top:20px;padding-top:20px}.student-btn-edit{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;color:var(--bg-white);cursor:pointer;font-size:.95em;font-weight:600;padding:12px 30px;transition:all .2s}.student-btn-edit:hover{background:linear-gradient(135deg,#764ba2,#5b21b6);box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.student-btn-edit:active{transform:translateY(0)}@media (max-width:768px){.student-profile-modal-overlay{width:100%}.profile-details-grid{gap:15px;grid-template-columns:1fr}.detail-group-status,.detail-group-wide{grid-column:span 1}.document-mock-item .doc-view-btn{font-size:.75em;opacity:1;padding:4px 8px;transform:translateX(0)}}@media (max-width:480px){.student-profile-modal-content{padding:20px 15px}.student-profile-avatar-large{font-size:1.5rem;height:60px;width:60px}.student-profile-text h3{font-size:1.1rem}.student-profile-text .student-profile-class,.student-profile-text .student-profile-id{font-size:.8em}.document-mock-item{font-size:.85em;padding:10px 12px}.document-mock-item .doc-view-btn{font-size:.7em;padding:4px 8px}.student-btn-edit{padding:12px 20px;width:100%}}.student-btn-edit:focus-visible,.student-modal-close-btn:focus-visible,.student-tab-btn:focus-visible{outline:2px solid #667eea;outline:2px solid var(--primary-purple);outline-offset:2px}.student-profile-modal-content,.student-profile-tab-content{scroll-behavior:smooth}@media print{.student-profile-modal-overlay{box-shadow:none;height:auto;position:relative;width:100%}.student-modal-close-btn,.student-profile-actions-footer{display:none}}.teachers-container{background:fffff;font-family:Inter,Poppins,sans-serif;min-height:100vh;padding:25px}.teachers-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;margin-top:20px}.teachers-header h2{color:#111827;color:var(--text-dark);font-size:28px;font-weight:700}.add-new-btn,.close-btn{transition:all .2s ease}.add-new-btn:hover,.close-btn:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.teachers-content{margin-top:0}.filter-btn,.id-filter-input{background:#f9fbff;border-radius:30px;color:#111827;color:var(--text-dark);font-size:.95rem;font-weight:500;padding:8px 18px;transition:all .2s ease}.id-filter-input{flex:1 1;max-width:300px}.filter-btn:focus,.filter-btn:hover,.id-filter-input:focus{border-color:#2563eb;border-color:var(--primary-blue);box-shadow:0 2px 8px #2563eb26}.teachers-table{background:#fff;background:var(--white);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.table-wrapper{border-radius:0 0 12px 12px;overflow:hidden}.table-header,.table-row{grid-template-columns:.6fr 2fr 1.4fr 1.4fr 1.5fr 2fr .8fr;min-height:65px;padding:16px 24px}.table-header{background:#1f1f1f!important;border-radius:12px 12px 0 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.table-header,.table-header .cell{color:#fff!important;color:var(--white)!important}.table-header .cell{border-right:1px solid #ffffff1a;font-size:13px;font-weight:600;letter-spacing:.5px;text-align:center;text-transform:uppercase}.table-header .cell:last-child{border-right:none}.table-row{border:none;transition:background .2s ease}.table-row:nth-child(odd){background:#fafafa}.table-row:nth-child(2n){background:#fff;background:var(--white)}.table-row:hover{background:#f0f4ff!important}.table-row:last-child{border-radius:0 0 12px 12px}.cell{align-items:center;border-right:1px solid #e5e7eb;display:flex;padding:0 12px}.table-row .cell:last-child{border-right:none}.table-header .cell,.table-row .cell{justify-content:center;text-align:center}.profile-cell{align-items:center;display:flex;gap:12px;justify-content:flex-start!important}.profile-pic-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;color:var(--white);display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.download-link{color:#10b981;cursor:pointer;font-weight:500;text-decoration:none;transition:color .2s ease}.download-link:hover{color:#059669;text-decoration:underline}.action-cell{align-items:center;display:flex;justify-content:center!important}.eye-icon:hover{transform:scale(1.15)}.no-data{color:#6b7280;color:var(--text-light);font-weight:500;padding:30px;text-align:center}.error-text,.loading-text,.no-data{font-size:15px}.retry-btn{background:#2563eb;background:var(--primary-blue);border:none;border-radius:10px;border-radius:var(--radius);color:#fff;color:var(--white);cursor:pointer;font-weight:600;margin-top:10px;padding:8px 16px;transition:all .2s ease}.retry-btn:hover{background:#1d4ed8;background:var(--hover-blue);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}@media (max-width:1200px){.table-header,.table-row{grid-template-columns:.5fr 1.8fr 1.3fr 1.3fr 1.4fr 1.8fr .7fr}}@media (max-width:992px){.teachers-table{overflow-x:scroll}.table-header,.table-row{min-width:900px}}@media (max-width:768px){.teachers-container{padding:15px}.teachers-header{align-items:flex-start;flex-direction:column;gap:12px}.teachers-header h2{font-size:24px}.actions{flex-direction:row;width:100%}.add-new-btn,.close-btn{flex:1 1;justify-content:center}.filters{flex-direction:column}.filter-btn,.id-filter-input{max-width:100%;width:100%}.cell{font-size:13px}.profile-pic-placeholder{font-size:13px;height:36px;width:36px}.eye-icon{height:20px;width:20px}}@media (max-width:480px){.teachers-container{padding:10px}.teachers-header{margin-bottom:15px}.teachers-header h2{font-size:20px}.actions{flex-direction:column}.table-header,.table-row{min-width:800px;padding:12px 15px}.cell{font-size:12px}.profile-pic-placeholder{font-size:12px;height:34px;width:34px}}@media print{.teachers-container{background:#fff;padding:0}.actions,.filters,.pagination-footer{display:none!important}.teachers-table{border:1px solid #e5e7eb;border:1px solid var(--border-color);box-shadow:none}.table-row{break-inside:avoid;page-break-inside:avoid}.eye-icon{display:none}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.add-new-btn:focus,.close-btn:focus,.filter-btn:focus,.id-filter-input:focus,.retry-btn:focus{outline:2px solid #2563eb;outline:2px solid var(--primary-blue);outline-offset:2px}.table-wrapper{scroll-behavior:smooth}.teachers-table::-webkit-scrollbar{height:8px}.teachers-table::-webkit-scrollbar-track{background:#f9fafb;background:var(--light-gray);border-radius:10px}.teachers-table::-webkit-scrollbar-thumb{background:#6b7280;background:var(--text-light);border-radius:10px}.teachers-table::-webkit-scrollbar-thumb:hover{background:#111827;background:var(--text-dark)}.table-wrapper{max-height:calc(100vh - 400px);overflow-y:auto}.add-new-btn:active,.close-btn:active,.retry-btn:active{transform:translateY(0)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-text{animation:pulse 1.5s ease-in-out infinite}.teacher-popup-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.teacher-popup-container{animation:slideDown .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:1200px;overflow-y:auto;width:100%}.popup-header{color:#fff}.close-btn{background:#fff3;border:none;color:#fff;height:40px;transition:all .2s;width:40px}.close-btn:hover{background:#ffffff4d}.form-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:32px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field.full-width{grid-column:1/-1}.form-field label{color:#374151;font-size:14px;font-weight:600;text-align:left}.form-field input,.form-field select{background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#1f2937;font-family:Poppins,sans-serif;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.form-field input:focus,.form-field select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;cursor:pointer;padding-right:40px}.file-input-wrapper{width:100%}.file-input-wrapper input[type=file]{border:2px solid #d1d5db;border-radius:8px;color:#1f2937;cursor:pointer;font-family:Poppins,sans-serif;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.file-input-wrapper input[type=file]::-webkit-file-upload-button{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:13px;font-weight:600;padding:6px 16px;position:absolute;right:8px;top:50%;transform:translateY(-50%);-webkit-transition:all .2s;transition:all .2s}.file-input-wrapper input[type=file]::file-selector-button{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:13px;font-weight:600;padding:6px 16px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s}.file-input-wrapper input[type=file]::-webkit-file-upload-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #3b82f64d}.file-input-wrapper input[type=file]::file-selector-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #3b82f64d}.file-input-wrapper input[type=file].error{background-color:#fef2f2;border-color:#ef4444}.file-name{display:inline-block;margin-top:4px}.form-field textarea{border:2px solid #d1d5db;border-radius:8px;color:#1f2937;font-family:Poppins,sans-serif;font-size:14px;min-height:100px;padding:12px 16px;resize:vertical;transition:all .2s;width:100%}.form-field textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-field input.error,.form-field select.error,.form-field textarea.error{background-color:#fef2f2;border-color:#ef4444;border-width:2px}.form-field input.error:focus,.form-field select.error:focus,.form-field textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #ef44441a}.form-field input.valid,.form-field select.valid,.form-field textarea.valid{background-color:#f0fdf4;border-color:#10b981}.form-field input.valid:focus,.form-field select.valid:focus,.form-field textarea.valid:focus{border-color:#059669;box-shadow:0 0 0 3px #10b9811a}.error-message{align-items:flex-start;animation:errorSlide .2s ease-out;color:#ef4444;display:flex;font-size:12px;gap:4px;margin-top:4px;text-align:left}.error-message:before{content:"⚠ ";flex-shrink:0;font-size:12px;margin-top:1px}.success-message{align-items:center;animation:slideDown .3s ease-out;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;display:flex;font-weight:500;gap:12px;margin-bottom:24px;padding:16px 24px}.success-message:before{content:"✓";font-size:24px;font-weight:700}.global-error{align-items:center;animation:slideDown .3s ease-out;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:8px;color:#fff;display:flex;font-weight:500;gap:12px;margin-bottom:24px;padding:16px 24px}.global-error:before{content:"⚠ ";font-size:24px}.btn-cancel,.btn-next{border:none;border-radius:8px;cursor:pointer;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;padding:14px 32px;transition:all .2s}.btn-next{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d;color:#fff}.btn-next:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.btn-next:active:not(:disabled){transform:translateY(0)}.btn-next:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;opacity:.6}.btn-cancel{background:#fff;border:2px solid #d1d5db;color:#6b7280}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.teacher-popup-container::-webkit-scrollbar{width:10px}.teacher-popup-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.teacher-popup-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:10px}.teacher-popup-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}@media (min-width:1440px){.teacher-popup-container{max-width:1400px}.form-grid{gap:28px}.form-container{padding:40px}}@media (max-width:1439px) and (min-width:1200px){.teacher-popup-container{max-width:1100px}}@media (max-width:1199px) and (min-width:992px){.teacher-popup-container{max-width:900px}.form-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.popup-header h2{font-size:24px}}@media (max-width:991px) and (min-width:768px){.teacher-popup-container{max-width:700px}.form-grid{gap:18px;grid-template-columns:repeat(2,1fr)}.popup-header{padding:20px 24px}.popup-header h2{font-size:22px}.form-container,.popup-body{padding:24px}.form-field input,.form-field select,.form-field textarea{font-size:13px;padding:10px 14px}}@media (max-width:767px) and (min-width:576px){.teacher-popup-overlay{padding:15px}.teacher-popup-container{max-height:95vh;max-width:100%}.form-grid{gap:16px;grid-template-columns:1fr}.popup-header{padding:18px 20px}.popup-header h2{font-size:20px}.close-btn{height:36px;width:36px}.form-container,.popup-body{padding:20px}.form-field label{font-size:13px}.form-field input,.form-field select,.form-field textarea{font-size:13px;padding:10px 14px}.form-actions{flex-direction:column;gap:12px}.btn-cancel,.btn-next{padding:12px 24px;width:100%}}@media (max-width:575px) and (min-width:375px){.teacher-popup-overlay{padding:10px}.teacher-popup-container{border-radius:12px}.popup-header{border-radius:12px 12px 0 0;padding:16px 18px}.popup-header h2{font-size:18px}.close-btn{height:34px;width:34px}.form-container,.popup-body{padding:18px}.form-grid{gap:14px;grid-template-columns:1fr}.form-field label{font-size:12px}.form-field input,.form-field select,.form-field textarea{font-size:12px;padding:9px 12px}.form-field select{background-size:16px;padding-right:35px}.error-message{font-size:11px}.global-error,.success-message{font-size:13px;padding:12px 18px}.form-actions{flex-direction:column;gap:10px;margin-top:24px;padding-top:18px}.btn-cancel,.btn-next{font-size:13px;padding:11px 20px;width:100%}}@media (max-width:374px){.teacher-popup-overlay{padding:8px}.teacher-popup-container{border-radius:10px}.popup-header{border-radius:10px 10px 0 0;padding:14px 16px}.popup-header h2{font-size:16px}.close-btn{height:32px;width:32px}.form-container,.popup-body{padding:16px}.form-grid{gap:12px}.form-field label{font-size:11px}.form-field input,.form-field select,.form-field textarea{font-size:11px;padding:8px 10px}.form-field select{background-size:14px;padding-right:30px}.error-message{font-size:10px}.global-error,.success-message{font-size:12px;padding:10px 16px}.btn-cancel,.btn-next{font-size:12px;padding:10px 18px}}@media (max-height:600px) and (orientation:landscape){.teacher-popup-container{max-height:95vh}.popup-header{padding:16px 24px}.form-container,.popup-body{padding:20px}.form-grid{gap:16px}}@media print{.teacher-popup-overlay{display:none}}:root{--text-light:#777}.teacher-profile-modal-overlay{animation:slideInRight .3s ease-out;background-color:#fff;background-color:var(--bg-white);box-shadow:-4px 0 20px #0000000d;box-shadow:-4px 0 20px var(--shadow-light);display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:400px;z-index:1000}.teacher-profile-modal-content{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;padding:25px 20px}.teacher-profile-header-modal{align-items:flex-start;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.teacher-profile-info-block{align-items:center;display:flex;flex:1 1;gap:15px}.teacher-profile-avatar-large{align-items:center;background-color:#e8f0fe;background-color:var(--secondary-blue);border-radius:50%;color:#3a86ff;color:var(--primary-blue);display:flex;flex-shrink:0;font-size:1.8rem;font-weight:600;height:70px;justify-content:center;width:70px}.teacher-profile-text{flex:1 1;min-width:0}.teacher-profile-text h3{word-wrap:break-word;color:#333;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0 0 5px}.teacher-profile-text .teacher-profile-id{color:#777;color:var(--text-light);font-size:.85em;margin:0 0 3px}.teacher-profile-text .teacher-profile-department{color:#3a86ff;color:var(--primary-blue);font-size:.9em;font-weight:600;margin:0}.teacher-modal-close-btn{background:none;border:none;color:#777;color:var(--text-light);cursor:pointer;flex-shrink:0;padding:5px;transition:color .2s}.teacher-modal-close-btn:hover{color:#333;color:var(--text-dark)}.teacher-profile-nav-tabs{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;gap:10px;margin-bottom:20px;padding-bottom:15px}.teacher-tab-btn{background-color:initial;border:none;border-bottom:3px solid #0000;color:#777;color:var(--text-light);cursor:pointer;font-size:.95em;font-weight:500;padding:8px 15px;transition:all .2s}.teacher-tab-btn.active{border-bottom:3px solid #3a86ff;border-bottom:3px solid var(--primary-blue);font-weight:600}.teacher-tab-btn.active,.teacher-tab-btn:hover{color:#3a86ff;color:var(--primary-blue)}.teacher-profile-tab-content{flex-grow:1;overflow-y:auto;padding-right:5px}.teacher-profile-tab-content::-webkit-scrollbar{width:6px}.teacher-profile-tab-content::-webkit-scrollbar-track{background:#f7f9fc;background:var(--bg-light);border-radius:10px}.teacher-profile-tab-content::-webkit-scrollbar-thumb{background:#e0e0e0;background:var(--border-color);border-radius:10px}.teacher-profile-tab-content::-webkit-scrollbar-thumb:hover{background:#777;background:var(--text-light)}.detail-label{color:#777}.document-mock-list{gap:10px}.document-mock-item{background-color:#f7f9fc;color:#333;color:var(--text-dark);font-size:.9em;gap:10px;padding:12px 15px;position:relative}.document-mock-item .doc-icon{flex-shrink:0;font-size:1.2em}.document-mock-item .doc-label{flex:1 1;font-weight:500}.document-mock-item .doc-view-btn{align-items:center;background-color:#3a86ff;background-color:var(--primary-blue);border-radius:6px;color:#fff;color:var(--bg-white);display:flex;flex-shrink:0;font-size:.85em;font-weight:600;gap:5px;justify-content:center;margin-left:auto;opacity:0;padding:6px 12px;transform:translateX(-10px);transition:all .2s}.document-mock-item:hover{background-color:#e8f0fe;border-color:#3a86ff;box-shadow:0 2px 8px #3a86ff1a;transform:translateX(5px)}.document-mock-item:hover .doc-view-btn{opacity:1;transform:translateX(0)}.document-mock-item:hover .doc-label{color:#3a86ff;color:var(--primary-blue)}.document-mock-item:active .doc-view-btn{background-color:#2563eb;transform:scale(.95)}.teacher-profile-actions-footer{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);display:flex;justify-content:center;margin-top:20px;padding-top:20px}.teacher-btn-edit{background-color:#3a86ff;background-color:var(--primary-blue);border:none;border-radius:8px;color:#fff;color:var(--bg-white);cursor:pointer;font-size:.95em;font-weight:600;padding:12px 30px;transition:all .2s}.teacher-btn-edit:hover{background-color:#3172db;box-shadow:0 4px 12px #3a86ff4d;transform:translateY(-1px)}@media (max-width:768px){.teacher-profile-modal-overlay{width:100%}.profile-details-grid{gap:15px;grid-template-columns:1fr}.detail-group-status,.detail-group-wide{grid-column:span 1}.document-mock-item .doc-view-btn{font-size:.75em;opacity:1;padding:4px 8px;transform:translateX(0)}}@media (max-width:480px){.teacher-profile-modal-content{padding:20px 15px}.teacher-profile-avatar-large{font-size:1.5rem;height:60px;width:60px}.teacher-profile-text h3{font-size:1.1rem}.teacher-profile-text .teacher-profile-department,.teacher-profile-text .teacher-profile-id{font-size:.8em}.document-mock-item{font-size:.85em;padding:10px 12px}.document-mock-item .doc-view-btn{font-size:.7em;padding:4px 8px}}:root{--primary-blue:#2563eb;--hover-blue:#1d4ed8;--border-color:#e5e7eb;--light-gray:#f9fafb;--white:#fff;--text-dark:#111827;--text-light:#6b7280;--shadow-sm:0 1px 3px #00000014;--radius:10px}.staff-container{background:fffff;font-family:Inter,Poppins,sans-serif;min-height:100vh;padding:25px}.staff-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.staff-header h2{color:#111827;color:var(--text-dark);font-size:28px;font-weight:700}.actions{gap:12px}.add-new-btn,.close-btn{align-items:center;background:#2563eb;background:var(--primary-blue);border:none;border-radius:10px;border-radius:var(--radius);color:#fff;color:var(--white);cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 16px;transition:background .2s ease}.add-new-btn:hover,.close-btn:hover{background:#1d4ed8;background:var(--hover-blue)}.filters{margin-bottom:18px}.filter-btn,.id-filter-input{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;outline:none;padding:8px 12px}.staff-table{background:#fff;background:var(--white);border-radius:12px;box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);overflow:hidden}.table-header,.table-row{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:.6fr 1.6fr 1.2fr 1.2fr 1.8fr 1fr 2fr .8fr;padding:14px 20px}.table-header{background:#f3f4f6;color:#111827}.table-row:hover{background:#f9fafb;background:var(--light-gray)}.cell{color:#111827;color:var(--text-dark);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eye-icon{color:#2563eb;color:var(--primary-blue);cursor:pointer;display:flex;height:22px;margin:0 auto;transition:transform .2s ease,color .2s ease;width:22px}.eye-icon:hover{color:#1d4ed8;color:var(--hover-blue);transform:scale(1.1)}.error-text,.loading-text{color:#6b7280;color:var(--text-light);margin-top:30px;text-align:center}.error-container{margin-top:20px;text-align:center}.error-container button{background:#2563eb;background:var(--primary-blue);border:none;border-radius:10px;border-radius:var(--radius);color:#fff;color:var(--white);cursor:pointer;margin-top:10px;padding:8px 14px}.pagination-footer{display:flex;justify-content:center;margin-top:20px}@media (max-width:992px){.staff-table{overflow-x:scroll}.table-header,.table-row{min-width:900px}}@media (max-width:768px){.staff-container{padding:15px}.filters{flex-direction:column}.filter-btn,.id-filter-input{width:100%}.staff-header h2{font-size:24px}.actions{flex-direction:column;width:100%}.add-new-btn,.close-btn{justify-content:center;width:100%}}*{box-sizing:border-box;font-family:Poppins,sans-serif;margin:0;padding:0}.worker-reg-popup-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.worker-reg-popup-content{animation:slideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.popup-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-bottom:2px solid #e5e7eb;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:24px 32px}.popup-header h2{color:#fff;font-size:26px;font-weight:700;margin:0;text-shadow:0 2px 4px #0000001a}.close-btn-popup{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;padding:10px;transition:all .2s;width:40px}.close-btn-popup:hover{background:#ffffff4d;transform:rotate(90deg)}.popup-body{background:#f8fafc;flex:1 1;overflow-y:auto;padding:32px}.form-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:32px}.form-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1/-1}.form-group label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:4px;text-align:left}.required{color:#ef4444;font-size:16px;margin-left:2px}.form-group input[type=date],.form-group input[type=email],.form-group input[type=password],.form-group input[type=tel],.form-group input[type=text],.form-group select,.form-group textarea{background-color:#fff;border:2px solid #d1d5db;border-radius:8px;color:#1f2937;font-family:Poppins,sans-serif;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;cursor:pointer;padding-right:40px}.form-group input[type=date]{cursor:pointer;position:relative}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;-webkit-transition:opacity .2s;transition:opacity .2s}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.custom-dropdown{position:relative;width:100%}.dropdown-search{background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#1f2937;font-family:Poppins,sans-serif;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.dropdown-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.dropdown-search.error{background-color:#fef2f2;border-color:#ef4444;border-width:2px}.dropdown-search.valid{background-color:#f0fdf4;border-color:#10b981}.dropdown-list{background:#fff;border:2px solid #3b82f6;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 8px 16px #00000026;left:0;margin-top:-8px;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.dropdown-item{border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;font-size:14px;padding:12px 16px;transition:background-color .15s}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#eff6ff;color:#3b82f6}.dropdown-item.selected{background-color:#dbeafe;color:#1d4ed8;font-weight:600}.dropdown-list::-webkit-scrollbar{width:8px}.dropdown-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:0 0 8px 0}.dropdown-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:4px}.dropdown-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.no-results{color:#9ca3af;font-size:13px;font-style:italic;padding:16px;text-align:center}.form-group input.error,.form-group select.error,.form-group textarea.error{background-color:#fef2f2;border-color:#ef4444;border-width:2px}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #ef44441a}.form-group input.valid,.form-group select.valid,.form-group textarea.valid{background-color:#f0fdf4;border-color:#10b981}.form-group input.valid:focus,.form-group select.valid:focus,.form-group textarea.valid:focus{border-color:#059669;box-shadow:0 0 0 3px #10b9811a}.error-text{align-items:flex-start;animation:errorSlide .2s ease-out;color:#ef4444;display:flex;font-size:12px;font-weight:500;gap:4px;margin-top:4px;text-align:left}.error-text:before{content:"⚠ ";flex-shrink:0;font-size:12px;margin-top:1px}@keyframes errorSlide{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-group textarea{font-family:Poppins,sans-serif;min-height:100px;resize:vertical}.file-input-wrapper{align-items:center;display:flex;gap:12px;position:relative}.form-group input[type=file]{display:none}.file-upload-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s;white-space:nowrap}.file-upload-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.file-name{background-color:#f3f4f6;border-radius:4px;color:#6b7280;flex:1 1;font-size:12px;font-weight:500;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.alert-message{align-items:center;animation:slideDown .3s ease-out;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:24px;padding:16px 24px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.alert-error:before{content:"⚠";font-size:24px}.alert-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.alert-success:before{content:"✓";font-size:24px;font-weight:700}.form-actions{align-items:center;border-top:2px solid #e5e7eb;gap:16px;justify-content:space-between;margin-top:32px;padding-top:24px}.btn-primary,.btn-secondary,.btn-submit{border:none;border-radius:8px;cursor:pointer;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;padding:14px 32px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d;color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:#fff;border:2px solid #d1d5db;color:#6b7280}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.btn-submit{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled,.btn-submit:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.popup-body::-webkit-scrollbar{width:10px}.popup-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.popup-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:10px}.popup-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}@media (min-width:1440px){.worker-reg-popup-content{max-width:1400px}.form-grid{gap:28px}.form-section{padding:40px}.popup-header h2{font-size:28px}}@media (max-width:1439px) and (min-width:1200px){.worker-reg-popup-content{max-width:1100px}}@media (max-width:1199px) and (min-width:992px){.worker-reg-popup-content{max-width:900px}.form-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.popup-header h2{font-size:24px}}@media (max-width:991px) and (min-width:768px){.worker-reg-popup-content{max-width:700px}.form-grid{gap:18px;grid-template-columns:repeat(2,1fr)}.popup-header{padding:20px 24px}.popup-header h2{font-size:22px}.form-section,.popup-body{padding:24px}.form-group input,.form-group select,.form-group textarea{font-size:13px;padding:10px 14px}}@media (max-width:767px) and (min-width:576px){.worker-reg-popup-overlay{padding:15px}.worker-reg-popup-content{max-height:95vh;max-width:100%}.form-grid{gap:16px;grid-template-columns:1fr}.popup-header{padding:18px 20px}.popup-header h2{font-size:20px}.close-btn-popup{height:36px;width:36px}.form-section,.popup-body{padding:20px}.form-group label{font-size:13px}.form-group input,.form-group select,.form-group textarea{font-size:13px;padding:10px 14px}.form-actions{flex-direction:row;gap:12px}.btn-primary,.btn-secondary,.btn-submit{flex:1 1;padding:12px 24px}}@media (max-width:575px) and (min-width:375px){.worker-reg-popup-overlay{padding:10px}.worker-reg-popup-content{border-radius:12px}.popup-header{border-radius:12px 12px 0 0;padding:16px 18px}.popup-header h2{font-size:18px}.close-btn-popup{height:34px;width:34px}.form-section,.popup-body{padding:18px}.form-grid{gap:14px;grid-template-columns:1fr}.form-group label{font-size:12px}.form-group input,.form-group select,.form-group textarea{font-size:12px;padding:9px 12px}.form-group select{background-size:16px;padding-right:35px}.error-text{font-size:11px}.alert-message{font-size:13px;padding:12px 18px}.form-actions{flex-direction:column;gap:10px;margin-top:24px;padding-top:18px}.btn-primary,.btn-secondary,.btn-submit{font-size:13px;padding:11px 20px;width:100%}.file-upload-btn{font-size:12px;padding:8px 16px}.file-name{font-size:11px}}@media (max-width:374px){.worker-reg-popup-overlay{padding:8px}.worker-reg-popup-content{border-radius:10px}.popup-header{border-radius:10px 10px 0 0;padding:14px 16px}.popup-header h2{font-size:16px}.close-btn-popup{height:32px;width:32px}.form-section,.popup-body{padding:16px}.form-grid{gap:12px}.form-group label{font-size:11px}.form-group input,.form-group select,.form-group textarea{font-size:11px;padding:8px 10px}.form-group select{background-size:14px;padding-right:30px}.error-text{font-size:10px}.alert-message{font-size:12px;padding:10px 16px}.btn-primary,.btn-secondary,.btn-submit{font-size:12px;padding:10px 18px}.file-upload-btn{font-size:11px;padding:7px 14px}.file-name{font-size:10px}}@media (max-height:600px) and (orientation:landscape){.worker-reg-popup-content{max-height:95vh}.popup-header{padding:16px 24px}.form-section,.popup-body{padding:20px}.form-grid{gap:16px}}@media print{.worker-reg-popup-overlay{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--primary-blue:#0a6dff;--secondary-blue:#d6e4ff;--bg-light:#f9f9f9}.status-badge{border-radius:4px;display:inline-block;font-size:.8em;padding:4px 10px;text-transform:capitalize}.status-active{background-color:#e6f7e5;color:#4caf50}.status-inactive{background-color:#fff0f0;color:#f44336}.staff-profile-modal-overlay{animation:slideInRight .3s ease-out;background-color:#fff;background-color:var(--bg-white);box-shadow:-4px 0 20px #0000000d;box-shadow:-4px 0 20px var(--shadow-light);display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:400px;z-index:1000}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.staff-profile-modal-content{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;padding:25px 20px}.staff-profile-header-modal{align-items:flex-start;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.staff-profile-info-block{align-items:center;display:flex;gap:15px}.staff-profile-avatar-large{align-items:center;background-color:#d6e4ff;background-color:var(--secondary-blue);border-radius:50%;color:#0a6dff;color:var(--primary-blue);display:flex;flex-shrink:0;font-size:1.8rem;font-weight:600;height:70px;justify-content:center;width:70px}.staff-profile-text{flex:1 1}.staff-profile-text h3{color:#333;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0 0 5px}.staff-profile-text .staff-id{color:#555;color:var(--text-light);font-size:.85em;margin:0}.staff-profile-text .staff-role{color:#0a6dff;color:var(--primary-blue);font-size:.9em;font-weight:600;margin:5px 0 0}.staff-modal-close-btn{background:none;border:none;color:#555;color:var(--text-light);cursor:pointer;padding:5px;transition:color .2s}.staff-modal-close-btn:hover{color:#333;color:var(--text-dark)}.staff-profile-nav-tabs{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;gap:10px;margin-bottom:20px;padding-bottom:15px}.staff-tab-btn{background-color:initial;border:none;border-bottom:3px solid #0000;color:#555;color:var(--text-light);cursor:pointer;font-size:.95em;font-weight:500;padding:8px 15px;transition:all .2s}.staff-tab-btn.active{border-bottom:3px solid #0a6dff;border-bottom:3px solid var(--primary-blue);font-weight:600}.staff-tab-btn.active,.staff-tab-btn:hover{color:#0a6dff;color:var(--primary-blue)}.staff-profile-tab-content{flex-grow:1;overflow-y:auto;padding-right:5px}.staff-profile-tab-content::-webkit-scrollbar{width:6px}.staff-profile-tab-content::-webkit-scrollbar-track{background:#f9f9f9;background:var(--bg-light);border-radius:10px}.staff-profile-tab-content::-webkit-scrollbar-thumb{background:#e0e0e0;background:var(--border-color);border-radius:10px}.staff-profile-tab-content::-webkit-scrollbar-thumb:hover{background:#555;background:var(--text-light)}.profile-details-grid{grid-gap:20px 15px;display:grid;gap:20px 15px;grid-template-columns:1fr 1fr}.detail-group{display:flex;flex-direction:column;text-align:left}.detail-group-wide{grid-column:span 2}.detail-group-status{grid-column:span 2;margin-bottom:10px;text-align:right}.detail-label{color:#555;color:var(--text-light);font-size:.75em;font-weight:500;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.detail-value{word-wrap:break-word;color:#333;color:var(--text-dark);font-size:.95em;font-weight:600}.profile-documents-content{padding:10px 0}.document-mock-list{display:flex;flex-direction:column;gap:12px;margin-top:15px}.document-mock-item{align-items:center;background-color:#f9f9f9;background-color:var(--bg-light);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:all .2s}.document-mock-item:hover{background-color:#d6e4ff;background-color:var(--secondary-blue);border-color:#0a6dff;border-color:var(--primary-blue);box-shadow:0 2px 8px #0a6dff1a;transform:translateY(-2px)}.doc-icon{font-size:24px;margin-right:12px}.doc-label{color:#333;color:var(--text-dark);flex:1 1;font-size:.9em;font-weight:500}.doc-view-btn{align-items:center;background-color:#fff;border-radius:6px;color:#0a6dff;color:var(--primary-blue);display:flex;font-size:.85em;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s}.document-mock-item:hover .doc-view-btn{background-color:#0a6dff;background-color:var(--primary-blue);color:#fff;transform:scale(1.05)}.staff-profile-actions-footer{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);display:flex;justify-content:center;margin-top:20px;padding-top:20px}.staff-btn-edit{background-color:#0a6dff;background-color:var(--primary-blue);border:none;border-radius:8px;color:#fff;color:var(--bg-white);cursor:pointer;font-size:.95em;font-weight:600;padding:12px 30px;transition:all .2s}.staff-btn-edit:hover{background-color:#0856cc;box-shadow:0 4px 12px #0a6dff4d;transform:translateY(-1px)}@media (max-width:768px){.staff-profile-modal-overlay{width:100%}.profile-details-grid{gap:15px;grid-template-columns:1fr}.detail-group-status,.detail-group-wide{grid-column:span 1}.document-mock-item{flex-wrap:wrap}.doc-view-btn{justify-content:center;margin-top:8px;width:100%}}@media (max-width:480px){.staff-profile-modal-content{padding:20px 15px}.staff-profile-avatar-large{font-size:1.5rem;height:60px;width:60px}.staff-profile-text h3{font-size:1.1rem}.doc-icon{font-size:20px;margin-right:8px}.doc-label{font-size:.85em}.doc-view-btn{font-size:.8em;padding:4px 8px}}:root{--primary-blue:#3a86ff;--secondary-blue:#e8f0fe;--text-dark:#333;--text-light:#555;--border-color:#e0e0e0;--bg-light:#f7f9fc;--bg-white:#fff;--shadow-light:#0000000d;--success-color:#28a745;--warning-color:#ffc107;--danger-color:#dc3545}.payment-container{background-color:fffff;box-sizing:border-box;font-family:Inter,Poppins,sans-serif;margin:0 auto;max-width:100%;min-height:100vh;padding:20px 40px;width:100%}.payment-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.payment-page-header h2{color:#333;color:var(--text-dark);font-size:2rem;font-weight:700;margin:0;text-transform:capitalize}.actions{gap:15px}.actions,.add-new-btn{align-items:center;display:flex}.add-new-btn{background-color:#3a86ff;background-color:var(--primary-blue);border:none;border-radius:10px;box-shadow:0 4px 15px #3a86ff33;color:#fff;color:var(--bg-white);cursor:pointer;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.add-new-btn:hover{background-color:#2968cc;box-shadow:0 6px 20px #3a86ff4d;transform:translateY(-2px)}.close-btn{align-items:center;background-color:#fff;background-color:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:50%;color:#555;color:var(--text-light);cursor:pointer;display:flex;height:45px;justify-content:center;transition:all .3s ease;width:45px}.close-btn:hover{background-color:#f8f9fa;transform:rotate(90deg)}.payment-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background-color:#fff;background-color:var(--bg-white);border-radius:15px;box-shadow:0 4px 15px #0000000d;box-shadow:0 4px 15px var(--shadow-light);padding:25px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.stat-card .stat-icon{align-items:center;border-radius:12px;display:flex;font-size:1.5rem;height:50px;justify-content:center;margin-bottom:15px;width:50px}.stat-card .stat-value{color:#333;color:var(--text-dark);font-size:2rem;font-weight:700;margin-bottom:5px}.stat-card .stat-label{color:#555;color:var(--text-light);font-size:.9rem;font-weight:500}.payment-content{background-color:#fff;background-color:var(--bg-white);border-radius:15px;box-shadow:0 4px 15px #0000000d;box-shadow:0 4px 15px var(--shadow-light);overflow:hidden}.content-controls{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:25px}.content-controls h3{color:#333;color:var(--text-dark);font-size:1.3rem;font-weight:600;margin:0}.filters{display:flex;gap:12px}.filter-btn{background-color:#f7f9fc;background-color:var(--bg-light);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:all .3s ease}.filter-btn:hover{background-color:#e8f0fe;background-color:var(--secondary-blue);border-color:#3a86ff;border-color:var(--primary-blue);color:#3a86ff;color:var(--primary-blue)}.payments-table{overflow-x:auto}.table-header{background-color:#f7f9fc;background-color:var(--bg-light);color:#333;color:var(--text-dark);font-size:.9rem;font-weight:600}.table-header,.table-row{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:1fr 1.5fr 1.2fr 1fr 1fr 1fr 1fr .8fr;padding:20px 25px}.table-row{align-items:center;transition:all .2s ease}.table-row:hover{background-color:#fbfcfd}.table-row:last-child{border-bottom:none}.cell{color:#555;color:var(--text-light);font-size:.9rem;font-weight:500}.invoice-id{color:#3a86ff;color:var(--primary-blue);font-weight:600}.amount-cell{color:#333;color:var(--text-dark);font-weight:600}.status-cell{text-align:center}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-badge.paid{background-color:#d4edda;color:#28a745;color:var(--success-color)}.status-badge.pending{background-color:#fff3cd;color:#856404}.status-badge.overdue{background-color:#f8d7da;color:#dc3545;color:var(--danger-color)}.view-btn{background-color:#e8f0fe;background-color:var(--secondary-blue);border:none;border-radius:8px;color:#3a86ff;color:var(--primary-blue);cursor:pointer;font-size:.8rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.view-btn:hover{background-color:#3a86ff;background-color:var(--primary-blue);color:#fff;color:var(--bg-white);transform:translateY(-1px)}.pagination{display:flex;gap:12px;justify-content:flex-end;padding:25px 40px}.page-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s ease}.page-btn.blue{background-color:#3a86ff;background-color:var(--primary-blue);box-shadow:0 4px 15px #3a86ff33;color:#fff;color:var(--bg-white)}.page-btn.blue:hover{background-color:#2968cc;transform:translateY(-2px)}.page-btn.white{background-color:#fff;background-color:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#555;color:var(--text-light)}.page-btn.white:hover{background-color:#f7f9fc;background-color:var(--bg-light);border-color:#3a86ff;border-color:var(--primary-blue);color:#3a86ff;color:var(--primary-blue)}.payment-form-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.payment-form{background-color:#fff;background-color:var(--bg-white);border-radius:15px;box-shadow:0 10px 30px #0003;max-width:500px;padding:30px;width:100%}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.form-header h3{color:#333;color:var(--text-dark);font-size:1.5rem;font-weight:600;margin:0}.form-group{margin-bottom:20px}.form-group label{color:#333;color:var(--text-dark);display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3a86ff;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3a86ff1a;outline:none}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px}.btn-cancel{background-color:#f7f9fc;background-color:var(--bg-light);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#555;color:var(--text-light);font-weight:500}.btn-cancel,.btn-submit{cursor:pointer;padding:12px 24px;transition:all .3s ease}.btn-submit{background-color:#3a86ff;background-color:var(--primary-blue);border:none;border-radius:8px;color:#fff;color:var(--bg-white);font-weight:600}.btn-submit:hover{background-color:#2968cc;transform:translateY(-1px)}@media (max-width:768px){.payment-container{padding:15px 20px}.table-header,.table-row{font-size:.8rem;grid-template-columns:repeat(4,1fr)}.table-header .cell:nth-child(n+5),.table-row .cell:nth-child(n+5){display:none}.payment-stats{grid-template-columns:1fr}.content-controls{align-items:flex-start;flex-direction:column;gap:15px}.pagination{padding:20px}.payment-page-header{align-items:flex-start;flex-direction:column;gap:15px}.actions{justify-content:space-between;width:100%}}
/*# sourceMappingURL=main.c0767dd9.css.map*/