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;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#2d3748;font-size:28px;font-weight:700;margin:0 0 8px}.login-header p{color:#718096;font-size:16px;margin:0}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px 20px;transition:all .2s ease}.login-button:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.error-message{text-align:center}.dialog-actions{flex-direction:column;gap:16px}.delete-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .2s ease;width:100%}.delete-button:hover:not(:disabled){background:#c53030;box-shadow:0 4px 15px #e53e3e4d;transform:translateY(-1px)}.delete-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.action-buttons{display:flex;gap:12px;justify-content:flex-end}@media (max-width:768px){.dialog-overlay{padding:16px}.dialog-content{max-height:95vh;max-width:100%}.dialog-header{padding:20px 20px 0}.dialog-header h2{font-size:20px}.dialog-form{padding:0 20px 20px}.dialog-actions{flex-direction:column}.delete-button{width:100%}.action-buttons{flex-direction:column}.cancel-button,.save-button{width:100%}}.faculties-section{margin-bottom:40px}.add-faculty-button{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:10px;box-shadow:0 4px 15px #48bb784d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.add-faculty-button:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 8px 25px #48bb7866;transform:translateY(-2px)}.faculties-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:24px}.faculty-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;padding:32px;position:relative;transition:all .3s ease}.faculty-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.faculty-card:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-4px)}.faculty-card:hover:before{opacity:1}.faculty-content{margin-bottom:28px}.faculty-name{color:#1a202c;font-size:22px;font-weight:700;letter-spacing:-.025em;line-height:1.3;margin:0 0 12px}.faculty-name-en{color:#4a5568;font-size:16px;font-weight:500;line-height:1.5;margin:0}.faculty-meta{display:flex;flex-direction:column;gap:8px}.faculty-meta span{align-items:center;color:#a0aec0;display:flex;font-size:13px}.faculty-actions{display:flex;gap:16px}.edit-button,.view-button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase;transition:all .3s ease}.edit-button{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d}.edit-button:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 8px 25px #667eea66}.edit-button:active{box-shadow:0 4px 15px #667eea4d}.view-button{background:#f7fafc;border:2px solid #e2e8f0;color:#4a5568}.view-button:hover{background:#edf2f7;border-color:#cbd5e0;box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.faculties-error,.faculties-loading,.no-faculties{padding:40px 20px;text-align:center}.faculties-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 16px;width:40px}.faculties-error p,.faculties-loading p,.no-faculties p{color:#718096;font-size:16px;margin:0}.faculties-error p{color:#e53e3e;margin-bottom:16px}.retry-button{border-radius:6px;font-weight:500;padding:10px 20px}@media (max-width:768px){.header-content{align-items:stretch;flex-direction:column;text-align:center}.add-faculty-button{justify-content:center;width:100%}.header-text h2{font-size:24px}.header-text p{font-size:14px}.faculties-grid{gap:20px;grid-template-columns:1fr}.faculty-card{padding:24px}.faculty-name{font-size:20px}.faculty-actions{flex-direction:column}.edit-button,.view-button{width:100%}}@media (max-width:480px){.faculty-card{padding:20px}.faculty-name{font-size:18px}.faculty-name-en{font-size:14px}}.faculty-members{background:#f7fafc;min-height:100vh}.add-teacher-button{border-radius:8px}.add-teacher-button:hover{box-shadow:0 8px 25px #48bb784d}.filter-toggle.active,.filter-toggle:hover{background:#edf2f7;border-color:#cbd5e0;color:#2d3748}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.teachers-section{margin:0 auto;max-width:1200px;padding:32px 24px}.teachers-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.teacher-card{background:#fff}.teacher-content{margin-bottom:0}.teacher-phone{margin:0 0 16px}.teacher-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.teacher-department,.teacher-faculty{color:#4a5568;font-size:13px;line-height:1.4;margin:0 0 6px}.teacher-department{margin-bottom:0}.teacher-actions{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px}.delete-teacher-btn,.edit-teacher-btn{border-radius:6px;padding:10px 16px}.delete-teacher-btn{background:#f56565}.delete-teacher-btn:hover{background:#e53e3e}.clear-search-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.clear-search-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-1px)}.faculty-members-error,.faculty-members-loading{align-items:center;background:#f7fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.faculty-members-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 16px;width:40px}.faculty-members-error p,.faculty-members-loading p{color:#718096;font-size:16px;margin:0}.retry-button{background:#667eea;margin-top:20px}.retry-button:hover{background:#5a67d8}@media (max-width:1024px){.search-bar{align-items:stretch;flex-direction:column}.search-form{min-width:auto}.search-input-group{flex-direction:column}.filter-toggle,.search-button{justify-content:center;width:100%}.filters-grid{grid-template-columns:1fr}.filter-actions{flex-direction:column}.apply-filters-btn,.clear-filters-btn{width:100%}}@media (max-width:768px){.page-header{padding:24px 20px}.header-text h1{font-size:28px}.header-text p{font-size:16px}.filters-panel,.search-filters-section{padding:20px}.teachers-section{padding:24px 20px}.teachers-grid{gap:20px;grid-template-columns:1fr}.teacher-card{padding:20px}}@media (max-width:480px){.page-header{padding:20px 16px}.header-text h1{font-size:24px}.filters-panel,.search-filters-section{padding:16px}.teachers-section{padding:20px 16px}.teacher-card{padding:16px}.teacher-name{font-size:18px}.teacher-designation{font-size:14px}.teacher-email,.teacher-phone{font-size:12px}}.dialog-content{box-shadow:0 25px 50px #00000040;position:relative}.dialog-header h2{margin:0}.close-button{color:#718096}.form-group label{color:#2d3748}.form-group input,.form-group select{background:#fff}.form-group input:disabled,.form-group select:disabled{background:#f7fafc;color:#718096}.dialog-actions{border-top:1px solid #e2e8f0;padding-top:24px}.save-button:hover:not(:disabled){box-shadow:0 4px 12px #48bb784d}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.dialog-content{margin:20px;max-width:100%}.dialog-header{padding:20px 20px 0}.dialog-form{padding:0 20px 20px}.dialog-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}@media (max-width:480px){.dialog-overlay{padding:10px}.dialog-content{margin:10px}.dialog-header h2{font-size:20px}.form-group input,.form-group select{font-size:16px}}.courses{background:#f7fafc;min-height:100vh}.page-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;padding:32px 24px}.header-content{margin:0 auto;max-width:1200px;padding:0 24px}.header-text h1{color:#1a202c;font-size:32px;font-weight:700;line-height:1.2;margin:0 0 8px}.header-text p{font-size:18px;font-weight:500}.add-course-button{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.add-course-button:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 8px 25px #48bb784d;transform:translateY(-2px)}.search-filters-section{background:#fff;border-bottom:1px solid #e2e8f0;padding:24px}.search-bar{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin:0 auto;max-width:1200px}.search-form{flex:1 1;min-width:300px}.search-input-group{display:flex;gap:12px}.search-input{background:#f7fafc;border:2px solid #e2e8f0;flex:1 1;transition:all .2s ease}.search-input:focus{background:#fff}.search-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.search-button:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 8px 25px #667eea66;transform:translateY(-1px)}.search-icon{font-size:16px}.filter-toggle{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.filter-toggle:hover{background:#edf2f7;border-color:#cbd5e0}.filter-toggle.active{background:#667eea;border-color:#667eea;color:#fff}.filter-icon{font-size:16px}.filters-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:24px auto 0;max-width:1200px;padding:24px}.filters-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}.filter-group{display:flex;flex-direction:column;gap:8px;transition:all .3s ease}.filter-group label{color:#4a5568;font-size:14px;font-weight:600}.filter-group input,.filter-group select{background:#fff;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;padding:10px 14px;transition:all .2s ease}.filter-group input:focus,.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filter-actions{display:flex;gap:12px;justify-content:flex-end}.apply-filters-btn,.clear-filters-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.clear-filters-btn{background:#f7fafc;border:2px solid #e2e8f0;color:#4a5568}.clear-filters-btn:hover{background:#edf2f7;border-color:#cbd5e0}.apply-filters-btn{background:#48bb78;color:#fff}.apply-filters-btn:hover{background:#38a169;transform:translateY(-1px)}.courses-section{margin:0 auto;max-width:1200px;padding:32px 24px}.courses-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.course-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.course-card:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.course-card:hover{box-shadow:0 20px 40px #0000001a;transform:translateY(-4px)}.course-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.course-index{align-items:center;display:flex}.index-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:14px;font-weight:700;min-width:32px;padding:6px 12px;text-align:center}.course-actions{display:flex;gap:8px}.delete-course-btn,.edit-course-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s ease}.edit-course-btn{background:#4299e1;color:#fff}.edit-course-btn:hover{background:#3182ce;transform:translateY(-1px)}.delete-course-btn{background:#f56565;color:#fff}.delete-course-btn:hover{background:#e53e3e;transform:translateY(-1px)}.course-content{margin-bottom:0}.course-name{color:#1a202c;font-size:20px;font-weight:700;line-height:1.3;margin:0 0 12px}.course-code{background:#f7fafc;border-radius:6px;color:#667eea;display:inline-block;font-size:16px;font-weight:600;margin:0 0 16px;padding:8px 12px}.course-credit,.course-faculty,.course-semester{color:#4a5568;font-size:14px;line-height:1.4;margin:0 0 8px}.course-semester{margin-bottom:0}.no-courses{padding:60px 20px;text-align:center}.add-course-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.add-course-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 8px 25px #48bb784d;transform:translateY(-2px)}.courses-error,.courses-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.courses-loading p{color:#718096;font-size:16px;margin:0}.error-content h2{margin:0 0 12px}.error-content p{color:#718096;font-size:16px;line-height:1.5;margin:0 0 24px}.retry-button{background:#4299e1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.retry-button:hover{background:#3182ce;transform:translateY(-1px)}@media (max-width:1024px){.courses-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.page-header{padding:24px 16px}.header-content{align-items:flex-start}.header-content,.search-bar{flex-direction:column;gap:16px}.search-bar{align-items:stretch}.search-form{min-width:auto}.courses-section{padding:24px 16px}.courses-grid{grid-template-columns:1fr}.filters-panel{padding:20px}.filters-grid{grid-template-columns:1fr}.filter-actions{flex-direction:column}}@media (max-width:480px){.header-text h1{font-size:28px}.header-text p{font-size:16px}.course-card{padding:20px}.course-name{font-size:18px}.course-actions{flex-direction:column;gap:6px}.delete-course-btn,.edit-course-btn{text-align:center;width:100%}}.services-container{margin:0 auto;max-width:1200px;padding:20px}.services-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.services-header h2{color:#333;font-size:28px;font-weight:600;margin:0}.services-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:20px}.service-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #00000012;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.service-card:before{background:linear-gradient(135deg,#48bb78,#38a169);content:"";height:4px;left:0;position:absolute;right:0;top:0}.service-card:hover{border-color:#48bb78;box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.service-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.service-info{flex:1 1}.service-name{color:#333;font-size:20px;font-weight:600;line-height:1.3;margin:0 0 8px}.service-meta{display:flex;flex-wrap:wrap;gap:12px}.service-date,.service-id{background:#f8f9fa;border-radius:4px;color:#495057;font-size:12px;font-weight:500;padding:4px 8px}.service-actions{display:flex;flex-shrink:0;gap:8px}.service-footer{border-top:1px solid #f0f0f0;margin-top:15px;padding-top:15px;text-align:center}.no-services{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;color:#6c757d;font-size:18px;grid-column:1/-1;padding:60px 20px;text-align:center}@media (max-width:768px){.services-container{padding:15px}.services-header{align-items:stretch;flex-direction:column;gap:15px}.add-button{align-self:flex-end}.services-grid{gap:15px;grid-template-columns:1fr}.service-card{padding:15px}.service-header{flex-direction:column;gap:10px}.service-actions{align-self:flex-end}.service-meta{flex-direction:column;gap:8px}}@media (max-width:480px){.services-header h2{font-size:24px}.add-button{font-size:14px;padding:10px 20px}.search-input{font-size:14px;padding:10px 14px}}.dialog-content{max-width:550px}.unit-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:20px 0;padding:16px}.unit-info p{color:#6c757d;font-size:14px;line-height:1.4;margin:8px 0}.unit-info strong{color:#495057;font-weight:600}@media (max-width:600px){.dialog-overlay{padding:10px}.dialog-content{max-width:100%}.dialog-form,.dialog-header{padding:20px}.dialog-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}.unit-info{padding:12px}}.administrations-container{margin:0 auto;max-width:1200px;padding:20px}.administrations-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.administrations-header h2{color:#333;font-size:28px;font-weight:600;margin:0}.admin-units-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.admin-unit-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #00000012;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.admin-unit-card:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.admin-unit-card:hover{border-color:#667eea;box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.unit-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.unit-name{color:#333;flex:1 1;font-size:20px;font-weight:600;line-height:1.3;margin:0 15px 0 0}.unit-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:12px}.action-icons{display:flex;gap:8px}.view-button{background:#48bb78;border:none;border:1px solid #48bb78;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;overflow:hidden;padding:10px 16px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap;width:100%}.view-button:hover{background:#38a169;border-color:#38a169;box-shadow:0 4px 12px #48bb784d;transform:translateY(-1px)}.view-button:active{transform:translateY(0)}.no-units{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;color:#6c757d;font-size:18px;grid-column:1/-1;padding:60px 20px;text-align:center}@media (max-width:768px){.administrations-container{padding:15px}.administrations-header{align-items:stretch;flex-direction:column;gap:15px}.add-button{align-self:flex-end}.admin-units-grid{gap:15px;grid-template-columns:1fr}.admin-unit-card{padding:15px}.unit-header{flex-direction:column;gap:10px}.unit-actions{align-self:flex-end;flex-direction:column;gap:8px}.action-icons{gap:6px}.view-button{width:100%}.delete-button,.edit-button{font-size:16px;height:32px;width:32px}}@media (max-width:480px){.administrations-header h2{font-size:24px}.add-button{font-size:14px;padding:10px 20px}.search-input{font-size:14px;padding:10px 14px}}.dashboard{background:#f7fafc;min-height:100vh}.dashboard-container{display:flex;min-height:calc(100vh - 80px)}.dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;display:flex;height:70px;justify-content:space-between;padding:0 24px}.header-left h1{color:#2d3748;font-size:24px;font-weight:700;margin:0}.sidebar-toggle{background:none;border:none;border-radius:6px;color:#4a5568;cursor:pointer;display:none;font-size:24px;padding:8px;transition:all .2s ease}.sidebar-toggle:hover{background:#e2e8f0;color:#2d3748}.hamburger{font-size:20px}.header-right{align-items:center;display:flex;gap:20px}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.user-name{color:#2d3748;font-size:14px;font-weight:600}.user-email{color:#718096;font-size:12px}.logout-button{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.logout-button:hover{background:#c53030;transform:translateY(-1px)}.sidebar{background:#fff;border-right:1px solid #e2e8f0;box-shadow:2px 0 4px #0000000d;overflow-y:auto;transition:all .3s ease;width:280px}.sidebar.closed{overflow:hidden;width:0}.sidebar-nav{padding:24px 0}.nav-menu{list-style:none;margin:0;padding:0}.nav-item{margin:0}.nav-link{align-items:center;background:none;border:none;border-left:4px solid #0000;color:#4a5568;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;padding:16px 24px;text-align:left;transition:all .2s ease;width:100%}.nav-link:hover{background:#f7fafc;border-left-color:#667eea;color:#2d3748}.nav-item.active .nav-link{background:#edf2f7;border-left-color:#667eea;color:#2d3748;font-weight:600}.nav-icon{font-size:20px;text-align:center;width:24px}.dashboard-main{flex:1 1;padding:32px 24px;transition:all .3s ease}.dashboard-main.sidebar-closed,.dashboard-main.sidebar-open{margin-left:0}.welcome-section{margin-bottom:40px;text-align:center}.welcome-section h2{color:#2d3748;font-size:32px;font-weight:700;margin:0 0 12px}.welcome-section p{color:#718096;font-size:18px;margin:0}.dashboard-content{margin:0 auto;max-width:1200px}.content-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:24px}.content-card h3{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 16px}.content-card p{color:#718096;font-size:16px;margin:0}.coming-soon{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px #0000000d;color:#718096;font-size:18px;font-weight:500;padding:60px 40px;text-align:center}@media (max-width:1024px){.sidebar{height:calc(100vh - 80px);left:0;position:fixed;top:80px;transform:translateX(0);z-index:1000}.sidebar.closed{transform:translateX(-100%);width:280px}.sidebar-toggle{display:block}.dashboard-main{margin-left:0}}@media (max-width:768px){.dashboard-container{flex-direction:column}.sidebar{height:auto;position:relative;top:0;transform:none;width:100%}.sidebar.closed{display:none}.nav-link{font-size:18px;padding:20px 24px}.dashboard-main{padding:20px 16px}.welcome-section h2{font-size:24px}.welcome-section p{font-size:16px}}@media (max-width:480px){.header-left h1{font-size:20px}.sidebar{padding:16px 0}.nav-link{font-size:16px;padding:16px 20px}.dashboard-main{padding:16px 12px}}.save-button{background:linear-gradient(135deg,#48bb78,#38a169);box-shadow:0 4px 15px #48bb784d}.save-button:hover:not(:disabled){background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 8px 25px #48bb7866}.dialog-header h2{margin:0 0 8px}.faculty-info{color:#718096;font-size:14px;font-style:italic;margin:0}.form-group input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background:#edf2f7;color:#a0aec0;cursor:not-allowed}@media (max-width:480px){.dialog-overlay{padding:12px}.dialog-header{padding:16px 16px 0}.dialog-form{padding:0 16px 16px}.form-group input{font-size:16px;padding:10px 14px}}.faculty-details{background:#f7fafc;min-height:100vh}.details-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 32px #667eea4d;color:#fff;overflow:hidden;padding:40px 24px;position:relative}.details-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='25' cy='25' r='1' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='75' cy='75' r='1' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='50' cy='10' r='.5' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='10' cy='60' r='.5' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='90' cy='40' r='.5' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.faculty-title{position:relative;text-align:center;z-index:1}.faculty-title h1{color:#fff;font-size:42px;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin:0 0 12px;text-shadow:0 2px 4px #0000001a}.faculty-subtitle{color:#ffffffe6;font-size:22px;font-weight:500;margin:0;text-shadow:0 1px 2px #0000001a}.details-main{margin:0 auto;max-width:1200px;padding:32px 24px}.departments-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #0000001a;overflow:hidden;padding:40px;position:relative}.departments-section:before{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:300% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.section-header{margin-bottom:40px;position:relative;z-index:1}.header-content{align-items:flex-start;gap:24px}.header-text h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:32px;font-weight:800;letter-spacing:-.5px;margin:0 0 12px}.reorder-hint{margin:4px 0 0}.add-department-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;box-shadow:0 8px 32px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:12px;letter-spacing:.8px;overflow:hidden;padding:16px 32px;position:relative;text-transform:uppercase;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.add-department-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.add-department-button:hover:before{left:100%}.add-department-button:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 12px 40px #667eea66;transform:translateY(-3px) scale(1.05)}.departments-list{align-items:center;display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:800px}.department-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #667eea1a;border-radius:20px;cursor:grab;display:flex;justify-content:space-between;overflow:hidden;padding:28px;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275);width:100%}.department-item:before{background:linear-gradient(135deg,#667eea0d,#764ba20d);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.department-item:active{cursor:grabbing}.department-item:hover{background:linear-gradient(135deg,#fff,#f0f4ff);border-color:#667eea4d;box-shadow:0 20px 40px #667eea26;transform:translateY(-4px) scale(1.02)}.department-item:hover:before{opacity:1}.department-header{align-items:center;display:flex;flex:1 1;gap:16px}.department-info{flex:1 1}.department-name{color:#1a202c;font-size:22px;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin:0 0 8px;position:relative;z-index:1}.department-name-en{color:#667eea;font-size:16px;font-weight:600;margin:0;position:relative;z-index:1}.department-actions{display:flex;gap:16px;position:relative;z-index:1}.delete-department-btn,.edit-department-btn,.view-department-btn{border:none;border-radius:12px;box-shadow:0 4px 15px #0000001a;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.8px;overflow:hidden;padding:12px 24px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.view-department-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.view-department-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 8px 25px #48bb7866;transform:translateY(-2px) scale(1.05)}.edit-department-btn{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff}.edit-department-btn:hover{background:linear-gradient(135deg,#3182ce,#2c5aa0);box-shadow:0 8px 25px #4299e166;transform:translateY(-2px) scale(1.05)}.delete-department-btn{background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff}.delete-department-btn:hover{background:linear-gradient(135deg,#c53030,#9c2626);box-shadow:0 8px 25px #e53e3e66;transform:translateY(-2px) scale(1.05)}.no-departments{padding:80px 20px;position:relative;text-align:center}.empty-state{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #667eea1a;border-radius:24px;box-shadow:0 20px 40px #0000000d;max-width:500px;overflow:hidden;padding:60px 40px;position:relative}.empty-state:before{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:300% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}.empty-icon{animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:80px;margin-bottom:32px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:28px;font-weight:700;margin:0 0 16px}.empty-state p{color:#4a5568;font-size:18px;font-weight:500;line-height:1.6;margin:0 0 32px}.add-department-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;box-shadow:0 8px 32px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.8px;overflow:hidden;padding:16px 32px;position:relative;text-transform:uppercase;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.add-department-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.add-department-btn:hover:before{left:100%}.add-department-btn:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 12px 40px #667eea66;transform:translateY(-3px) scale(1.05)}.faculty-details-error,.faculty-details-loading{align-items:center;background:#f7fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.faculty-details-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 16px;width:40px}.faculty-details-error p,.faculty-details-loading p{color:#718096;font-size:16px;margin:0}.drag-icon-container{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #fff3;box-shadow:0 4px 15px #667eea4d;height:40px;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275);width:40px;z-index:1}.drag-icon-container:hover{background:linear-gradient(135deg,#764ba2,#667eea);border-color:#fff6;box-shadow:0 8px 25px #667eea66;transform:scale(1.15) rotate(5deg)}.drag-icon{color:#fff;font-size:18px;text-shadow:0 1px 2px #0003}.department-item.dragging{box-shadow:0 25px 80px #667eea66;opacity:.7;transform:rotate(8deg) scale(1.05);z-index:1000}.department-item.drag-over,.department-item.dragging{background:linear-gradient(135deg,#f0f4ff,#e6f3ff);border-color:#667eea}.department-item.drag-over{box-shadow:0 15px 40px #667eea33;transform:scale(1.05)}.reorder-status{background:linear-gradient(135deg,#fef5e7,#fef3c7);border:2px solid #f59e0b;border-radius:16px;box-shadow:0 8px 32px #f59e0b33;color:#d97706;font-size:15px;font-weight:600;gap:12px;margin-top:24px;overflow:hidden;padding:16px 24px;position:relative}.reorder-status: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%}}.status-indicator{font-size:20px}@media (max-width:768px){.header-content{align-items:stretch;flex-direction:column;text-align:center}.add-department-button{justify-content:center;width:100%}.header-text h2{font-size:24px}.header-text p{font-size:14px}.details-header{padding:20px}.faculty-title h1{font-size:28px}.faculty-subtitle{font-size:18px}.details-main{padding:20px 16px}.departments-section{padding:24px}.department-item{align-items:stretch;flex-direction:column;gap:24px;padding:24px;text-align:center}.department-header{flex-direction:column;gap:16px}.drag-icon-container{align-self:center}.department-actions{justify-content:center}}@media (max-width:480px){.details-header{padding:16px}.faculty-title h1{font-size:24px}.faculty-subtitle{font-size:16px}.details-main{padding:16px 12px}.department-item,.departments-section{padding:20px}.department-name{font-size:18px}.department-name-en{font-size:14px}.edit-department-btn,.view-department-btn{font-size:12px;padding:8px 16px}}.dialog-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.dialog-content{border-radius:16px}.dialog-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;margin-bottom:24px;padding:24px 24px 0}.dialog-header h2{color:#1a202c;font-size:24px;font-weight:700;margin:0 0 12px}.context-info{flex:1 1;margin-right:20px}.department-info,.faculty-info{color:#718096;font-size:14px;font-style:italic;margin:0 0 4px}.close-button{border-radius:6px;color:#a0aec0;font-size:28px;height:32px;padding:0;width:32px}.close-button:hover{background:#f7fafc;color:#4a5568}.dialog-form{padding:0 24px 24px}.form-group label{color:#4a5568;font-weight:600}.form-group input,.form-group select{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled,.form-group select:disabled{background:#edf2f7;color:#a0aec0;cursor:not-allowed}.form-group input::placeholder{color:#a0aec0}.form-group select{cursor:pointer}.error-message{background:#fed7d7;border:1px solid #feb2b2;color:#c53030}.dialog-actions{margin-top:32px}.cancel-button,.save-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:12px 24px;transition:all .2s ease}.cancel-button{background:#f7fafc;border:2px solid #e2e8f0;color:#4a5568}.cancel-button:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0}.cancel-button:disabled{cursor:not-allowed;opacity:.5}.save-button{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.save-button:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 8px 25px #667eea66;transform:translateY(-1px)}.save-button:disabled{cursor:not-allowed;opacity:.7;transform:none}@media (max-width:768px){.dialog-overlay{padding:16px}.dialog-content{max-height:95vh;max-width:100%}.dialog-header{padding:20px 20px 0}.dialog-header h2{font-size:20px}.dialog-form{padding:0 20px 20px}.dialog-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}@media (max-width:480px){.dialog-overlay{padding:12px}.dialog-header{padding:16px 16px 0}.dialog-form{padding:0 16px 16px}.form-group input,.form-group select{font-size:16px;padding:10px 14px}}.teachers{background:#f7fafc;min-height:100vh}.teachers-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;padding:24px}.back-button{background:none;border:none;color:#667eea;display:flex;font-size:16px;gap:8px;margin-bottom:20px;padding:8px 0}.back-button:hover{color:#5a67d8;transform:translateX(-4px)}.header-info{display:flex;flex-direction:column;gap:16px}.faculty-info{text-align:center}.faculty-info h3{color:#718096;font-size:18px;font-weight:600;margin:0 0 4px}.faculty-info p{color:#a0aec0;font-size:14px;font-style:italic;margin:0}.department-info{text-align:center}.department-info h1{color:#1a202c;font-size:32px;font-weight:700;line-height:1.2;margin:0 0 8px}.department-info p{color:#718096;font-size:18px;font-weight:500;margin:0}.teachers-main{margin:0 auto;max-width:1200px;padding:32px 24px}.teachers-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:32px}.section-header{margin-bottom:32px}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.header-text{flex:1 1}.header-text h2{color:#2d3748;font-size:28px;font-weight:700;margin:0 0 8px}.header-text p{color:#718096;font-size:16px;margin:0}.add-teacher-button{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:10px;box-shadow:0 4px 15px #48bb784d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.add-teacher-button:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 8px 25px #48bb7866;transform:translateY(-2px)}.button-icon{font-size:18px;font-weight:700}.teachers-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.teacher-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.teacher-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.teacher-card:hover{background:#fff;border-color:#cbd5e0;box-shadow:0 12px 40px #00000026;transform:translateY(-4px)}.teacher-card:hover:before{opacity:1}.teacher-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.teacher-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 15px #667eea4d;height:60px;width:60px}.avatar-text,.teacher-avatar{align-items:center;display:flex;justify-content:center}.avatar-text{color:#fff;font-size:24px;font-weight:700;height:100%;text-transform:uppercase;width:100%}.avatar-image{border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.teacher-content{margin-bottom:24px}.teacher-name{color:#1a202c;font-size:20px;font-weight:700;line-height:1.3;margin:0 0 8px}.teacher-name-en{color:#4a5568;font-size:14px;font-style:italic;font-weight:500;margin:0 0 8px}.teacher-designation{color:#4a5568;font-size:16px;font-weight:600;margin:0 0 12px}.teacher-email{color:#718096;font-size:14px;margin:0 0 8px;word-break:break-all}.teacher-phone{color:#718096;font-size:14px;margin:0}.teacher-actions{display:flex;gap:12px}.delete-teacher-btn,.edit-teacher-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;letter-spacing:.5px;padding:10px 20px;text-transform:uppercase;transition:all .2s ease}.edit-teacher-btn{background:#4299e1;color:#fff}.edit-teacher-btn:hover{background:#3182ce;transform:translateY(-1px)}.delete-teacher-btn{background:#e53e3e;color:#fff}.delete-teacher-btn:hover{background:#c53030;transform:translateY(-1px)}.no-teachers{padding:60px 20px;text-align:center}.empty-state{margin:0 auto;max-width:400px}.empty-icon{font-size:64px;margin-bottom:24px}.empty-state h3{color:#2d3748;font-size:24px;font-weight:600;margin:0 0 12px}.empty-state p{color:#718096;font-size:16px;line-height:1.5;margin:0 0 24px}.add-teacher-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .2s ease}.add-teacher-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 4px 15px #48bb784d;transform:translateY(-1px)}.teachers-error,.teachers-loading{align-items:center;background:#f7fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.teachers-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 16px;width:40px}.teachers-error p,.teachers-loading p{color:#718096;font-size:16px;margin:0}.error-content{max-width:400px;text-align:center}.error-content h2{color:#e53e3e;font-size:24px;font-weight:600;margin:0 0 16px}.error-content .back-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;margin-top:20px;padding:12px 24px;text-transform:uppercase;transition:all .2s ease}.error-content .back-button:hover{background:#5a67d8;transform:translateY(-1px)}@media (max-width:768px){.header-content{align-items:stretch;flex-direction:column;text-align:center}.add-teacher-button{justify-content:center;width:100%}.header-text h2{font-size:24px}.header-text p{font-size:14px}.teachers-header{padding:20px}.department-info h1{font-size:28px}.department-info p{font-size:16px}.teachers-main{padding:20px 16px}.teachers-section{padding:24px}.teachers-grid{gap:20px;grid-template-columns:1fr}.teacher-card{padding:20px}.teacher-actions{flex-direction:column}.delete-teacher-btn,.edit-teacher-btn{width:100%}.drag-icon-container{height:28px;width:28px}.drag-icon{font-size:14px}}@media (max-width:480px){.teachers-header{padding:16px}.department-info h1{font-size:24px}.department-info p{font-size:14px}.teachers-main{padding:16px 12px}.teachers-section{padding:20px}.teacher-card{padding:16px}.teacher-name{font-size:18px}.teacher-designation{font-size:14px}.teacher-email,.teacher-phone{font-size:12px}}.drag-icon-container{height:32px;width:32px}.drag-icon{font-size:16px}.drag-icon,.teacher-card{cursor:grab}.teacher-card:active{cursor:grabbing}.teacher-card.dragging{box-shadow:0 20px 60px #0000004d;opacity:.5;transform:rotate(5deg);z-index:1000}.teacher-card.drag-over{background:#f0f4ff;border-color:#667eea;transform:scale(1.02)}.teacher-info{margin-bottom:16px}.reorder-status{animation:pulse 2s infinite;background:#fef5e7;border:1px solid #fed7aa;box-shadow:0 2px 8px #fed7aa4d;color:#c05621;font-size:14px;font-weight:500;gap:8px;margin-top:16px;padding:8px 16px}.status-indicator{font-size:16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.api-response{background:#f8fafc;border:1px solid #e2e8f0;margin-top:16px;padding:16px}.api-response.sending{background:#fef5e7;border-color:#fed7aa}.api-response.success{background:#f0fff4;border-color:#9ae6b4}.response-header{gap:8px;margin-bottom:12px}.response-icon{font-size:16px}.response-message{color:#2d3748;font-weight:600}.clear-response-btn{background:#e2e8f0;color:#4a5568;transition:all .2s ease}.clear-response-btn:hover{background:#cbd5e0}.response-data{border:1px solid #e2e8f0;border-radius:4px;margin-bottom:8px;overflow-x:auto;padding:12px}.response-data pre{color:#2d3748;white-space:pre-wrap;word-break:break-word}.response-timestamp{color:#718096;font-size:11px}.api-error{background:#fed7d7;border:1px solid #fed7d7;margin-top:16px;padding:16px}.error-header{gap:8px;margin-bottom:12px}.error-icon{font-size:16px}.error-message{color:#742a2a;font-weight:600}.clear-error-btn{background:#feb2b2;color:#742a2a;transition:all .2s ease}.clear-error-btn:hover{background:#fc8181}.error-details{border:1px solid #feb2b2;border-radius:4px;color:#742a2a;font-size:12px;margin-bottom:8px;padding:12px}.error-details pre{font-size:11px;white-space:pre-wrap;word-break:break-word}.error-timestamp{color:#742a2a;font-size:11px}.header-left{align-items:center;gap:20px}.search-input{max-width:400px}.subunits-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.subunit-name-en{font-weight:500}.delete-button,.edit-button{font-size:14px;min-width:60px;padding:8px 16px}.delete-button:hover,.edit-button:hover{transform:translateY(-1px)}.delete-button:active,.edit-button:active{transform:translateY(0)}@media (max-width:768px){.subunits-container{padding:15px}.subunits-header{gap:15px}.header-left,.subunits-header{align-items:stretch;flex-direction:column}.header-left{gap:10px}.back-button{align-self:flex-start}.add-button{align-self:flex-end}.subunits-grid{gap:15px;grid-template-columns:1fr}.subunit-card{padding:15px}.subunit-header{flex-direction:column;gap:10px}.subunit-actions{align-self:flex-end}.delete-button,.edit-button{font-size:14px;height:36px;width:36px}}@media (max-width:480px){.subunits-header h2{font-size:24px}.add-button{font-size:14px;padding:10px 20px}.search-input{font-size:14px;padding:10px 14px}.subunit-actions{gap:6px}.delete-button,.edit-button{font-size:12px;height:32px;width:32px}}.delete-button,.edit-button{border-radius:8px;font-size:16px;font-weight:500;height:40px;overflow:hidden;padding:12px;position:relative;transition:all .3s ease;width:40px}.edit-button{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:1px solid #4f46e5;box-shadow:0 2px 8px #4f46e540}.edit-button:hover{background:linear-gradient(135deg,#4338ca,#6d28d9);border-color:#4338ca;box-shadow:0 6px 20px #4f46e566;transform:translateY(-2px)}.edit-button:active{box-shadow:0 2px 8px #4f46e540;transform:translateY(0)}.delete-button{background:linear-gradient(135deg,#dc2626,#b91c1c);border:1px solid #dc2626;box-shadow:0 2px 8px #dc262640}.delete-button:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);border-color:#b91c1c;box-shadow:0 6px 20px #dc262666;transform:translateY(-2px)}.delete-button:active{box-shadow:0 2px 8px #dc262640;transform:translateY(0)}.delete-button:focus,.edit-button:focus{box-shadow:0 0 0 3px #4f46e54d;outline:none}.delete-button:focus{box-shadow:0 0 0 3px #dc26264d}.view-staff-hint{color:#667eea}.dialog-content{max-width:600px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d}.submit-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66}.submit-button:disabled{box-shadow:0 4px 15px #667eea4d}@media (max-width:768px){.form-row{gap:0;grid-template-columns:1fr}}.reorder-hint{color:#667eea;font-size:13px;font-style:italic;margin:8px 0 0}.add-button{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d}.add-button:hover{box-shadow:0 6px 20px #667eea66}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.staff-card:before{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.staff-card:hover{border-color:#ff6b6b}.staff-designation{color:#667eea}.staff-header-right{align-items:center;display:flex;gap:12px}.drag-icon-container{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:50%;cursor:grab;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.drag-icon-container:hover{background:#edf2f7;border-color:#cbd5e0;transform:scale(1.1)}.drag-icon{color:#a0aec0;font-size:14px;font-weight:700;line-height:1}.drag-icon:active{cursor:grabbing}.staff-card{cursor:grab}.staff-card:active{cursor:grabbing}.staff-card.dragging{box-shadow:0 20px 60px #0000004d;opacity:.5;transform:rotate(5deg);z-index:1000}.staff-card.drag-over{background:#f0f4ff;border-color:#667eea;transform:scale(1.02)}.staff-card:hover .drag-icon-container{background:#edf2f7;border-color:#a0aec0}.staff-card:hover .drag-icon{color:#4a5568}@media (max-width:768px){.staff-header-right{flex-direction:column;gap:8px}.drag-icon-container{height:24px;width:24px}.drag-icon{font-size:12px}}.reorder-status{align-items:center;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;display:flex;gap:10px;margin-bottom:20px;padding:12px 16px}.status-indicator{animation:spin 1s linear infinite;font-size:18px}.manual-save-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .2s}.manual-save-btn:hover{background:#0056b3}.api-response{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin-bottom:20px;overflow:hidden}.api-response.sending{background:#fff3cd;border-color:#ffeaa7}.api-response.success{background:#d1ecf1;border-color:#bee5eb}.response-header{align-items:center;background:#0000000d;border-bottom:1px solid #0000001a;display:flex;gap:10px;padding:12px 16px}.response-icon{font-size:18px}.response-message{flex:1 1;font-weight:500}.clear-response-btn{background:#0000001a;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.clear-response-btn:hover{background:#0003}.response-data{background:#fff;padding:16px}.response-data pre{background:#f8f9fa;border-radius:4px;color:#333;font-size:12px;margin:0;overflow-x:auto;padding:12px}.response-timestamp{background:#0000000d;color:#666;font-size:12px;padding:8px 16px;text-align:right}.api-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin-bottom:20px;overflow:hidden}.error-header{align-items:center;background:#0000000d;border-bottom:1px solid #0000001a;display:flex;gap:10px;padding:12px 16px}.error-icon{font-size:18px}.error-message{color:#721c24;flex:1 1;font-weight:500}.clear-error-btn{background:#0000001a;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.clear-error-btn:hover{background:#0003}.error-details{background:#fff;border-bottom:1px solid #0000001a;padding:16px}.error-details div{margin-bottom:8px}.error-details pre{background:#f8f9fa;border-radius:4px;color:#721c24;font-size:12px;margin:8px 0 0;overflow-x:auto;padding:8px}.error-timestamp{background:#0000000d;color:#666;font-size:12px;padding:8px 16px;text-align:right}.subunits-container{margin:0 auto;max-width:1200px;padding:20px}.subunits-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.subunits-header h2{color:#333;font-size:28px;font-weight:600;margin:0}.subunits-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:20px}.subunit-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #00000012;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.subunit-card:before{background:linear-gradient(135deg,#48bb78,#38a169);content:"";height:4px;left:0;position:absolute;right:0;top:0}.subunit-card:hover{border-color:#48bb78;box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.subunit-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.subunit-names{flex:1 1}.subunit-name{color:#333;font-size:20px;font-weight:600;line-height:1.3;margin:0 0 8px}.subunit-name-en{color:#666;font-size:16px;line-height:1.4;margin:0}.subunit-actions{display:flex;flex-shrink:0;gap:8px}.subunit-footer{border-top:1px solid #f0f0f0;margin-top:15px;padding-top:15px;text-align:center}.view-staff-hint{color:#48bb78;font-size:14px;font-weight:500;opacity:.8}.no-subunits{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;color:#6c757d;font-size:18px;grid-column:1/-1;padding:60px 20px;text-align:center}@media (max-width:768px){.subunits-container{padding:15px}.subunits-header{gap:15px}.header-left,.subunits-header{align-items:stretch;flex-direction:column}.header-left{gap:10px}.back-button{align-self:flex-start}.add-button{align-self:flex-end}.subunits-grid{gap:15px;grid-template-columns:1fr}.subunit-card{padding:15px}.subunit-header{flex-direction:column;gap:10px}.subunit-actions{align-self:flex-end}}@media (max-width:480px){.subunits-header h2{font-size:24px}.add-button{font-size:14px;padding:10px 20px}.search-input{font-size:14px;padding:10px 14px}}.avatar-upload-section{align-items:center;display:flex;flex-direction:column;gap:12px}.avatar-preview{align-items:center;border:3px dashed #cbd5e0;border-radius:50%;cursor:pointer;display:flex;height:100px;justify-content:center;overflow:hidden;position:relative;transition:all .2s ease;width:100px}.avatar-preview:hover{background-color:#f7fafc;border-color:#667eea}.avatar-preview-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;color:#a0aec0;display:flex;flex-direction:column;justify-content:center;text-align:center}.avatar-placeholder span{font-size:24px;font-weight:300;line-height:1}.avatar-placeholder small{font-size:12px;font-weight:500;margin-top:4px}.file-input-hidden{display:none!important}.remove-dp-button{background:#f56565;border:none;border-radius:16px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 16px;transition:all .2s ease}.remove-dp-button:hover{background:#e53e3e;transform:translateY(-1px)}.remove-dp-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.dialog-content{animation:dialogSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px 24px 20px}.dialog-header h3{color:#333;font-size:20px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.close-button:hover{background:#f5f5f5;color:#666}.close-button:disabled{cursor:not-allowed;opacity:.5}.dialog-form{padding:24px}.error-message{font-size:14px;padding:12px 16px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#48bb78;box-shadow:0 0 0 3px #48bb781a;outline:none}.form-input:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.form-input::placeholder{color:#adb5bd}.dialog-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px}.cancel-button,.submit-button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;min-width:100px;padding:12px 24px;transition:all .3s ease}.cancel-button{background:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.cancel-button:hover:not(:disabled){background:#e9ecef;color:#495057}.submit-button{background:linear-gradient(135deg,#48bb78,#38a169);box-shadow:0 4px 15px #48bb784d;color:#fff}.submit-button:hover:not(:disabled){box-shadow:0 6px 20px #48bb7866;transform:translateY(-2px)}.submit-button:disabled{box-shadow:0 4px 15px #48bb784d;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:600px){.dialog-overlay{padding:10px}.dialog-content{max-width:100%}.dialog-form,.dialog-header{padding:20px}.dialog-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}}.avatar-upload-container{align-items:center;display:flex;flex-direction:column;gap:12px}.circular-avatar{align-items:center;border:3px dashed #cbd5e0;border-radius:50%;cursor:pointer;display:flex;height:100px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease;width:100px}.circular-avatar:hover{border-color:#4299e1;transform:scale(1.05)}.circular-avatar.has-content{border-color:#4299e1;border-style:solid}.circular-avatar .avatar-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.circular-avatar .avatar-image.preview{opacity:.8}.circular-avatar .avatar-placeholder{align-items:center;color:#718096;display:flex;flex-direction:column;gap:4px;justify-content:center;text-align:center}.circular-avatar .avatar-icon{font-size:20px}.circular-avatar .avatar-text{font-size:10px;font-weight:500;line-height:1.2;text-align:center}.avatar-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.avatar-actions .remove-button,.avatar-actions .upload-button{border:none;border-radius:16px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 16px;transition:all .2s ease}.avatar-actions .upload-button{background:#4299e1;color:#fff}.avatar-actions .upload-button:hover{background:#3182ce;transform:translateY(-1px)}.avatar-actions .remove-button{background:#f56565;color:#fff}.avatar-actions .remove-button:hover{background:#e53e3e;transform:translateY(-1px)}.avatar-actions button:disabled{cursor:not-allowed;opacity:.6;transform:none}.upload-info{color:#718096;font-size:12px;font-style:italic;text-align:center}.staffs-container{margin:0 auto;max-width:1200px;padding:20px}.staffs-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.header-left{display:flex;flex-direction:column;gap:8px}.back-button{align-items:center;align-self:flex-start;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s ease}.back-button:hover{background:#e9ecef;border-color:#adb5bd;color:#495057}.staffs-header h2{color:#333;font-size:28px;font-weight:600;margin:0}.subtitle{color:#666;font-size:16px;font-style:italic;margin:0}.add-button{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;box-shadow:0 4px 15px #48bb784d;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.add-button:hover{box-shadow:0 6px 20px #48bb7866;transform:translateY(-2px)}.add-button:active{transform:translateY(0)}.error-message{background:#fee;border-left:4px solid #c33;border-radius:8px;justify-content:space-between;margin-bottom:20px;padding:15px}.close-error,.error-message{align-items:center;color:#c33;display:flex}.close-error{background:none;border:none;border-radius:50%;cursor:pointer;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.close-error:hover{background:#c333331a}.search-container{margin-bottom:25px}.search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;max-width:500px;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#48bb78;box-shadow:0 0 0 3px #48bb781a;outline:none}.staffs-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:20px}.staff-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #00000012;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.staff-card:before{background:linear-gradient(135deg,#48bb78,#38a169);content:"";height:4px;left:0;position:absolute;right:0;top:0}.staff-card:hover{border-color:#48bb78;box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.staff-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.staff-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 15px #667eea4d;flex-shrink:0;height:60px;margin-right:16px;width:60px}.staff-avatar,.staff-avatar .avatar-text{align-items:center;display:flex;justify-content:center}.staff-avatar .avatar-text{color:#fff;font-size:20px;font-weight:700;height:100%;text-transform:uppercase;width:100%}.staff-avatar .avatar-image{border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.staff-info{flex:1 1}.staff-name{color:#333;font-size:20px;font-weight:600;line-height:1.3;margin:0 0 8px}.staff-designation{color:#48bb78;font-size:16px;font-weight:500;line-height:1.4;margin:0 0 6px}.staff-email{margin:0 0 6px}.staff-email,.staff-phone{color:#666;font-size:14px;line-height:1.4}.staff-phone{margin:0}.staff-actions{display:flex;flex-shrink:0;gap:8px}.delete-button,.edit-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.edit-button{background:#667eea;border:1px solid #667eea;color:#fff}.edit-button:hover{background:#5a67d8;border-color:#5a67d8;box-shadow:0 4px 12px #667eea4d;transform:scale(1.1)}.delete-button{background:#e53e3e;border:1px solid #e53e3e;color:#fff}.delete-button:hover{background:#c53030;border-color:#c53030;box-shadow:0 4px 12px #e53e3e4d;transform:scale(1.1)}.delete-button:active,.edit-button:active{transform:scale(1)}.staff-details{border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:12px;padding-top:15px}.staff-details span{background:#f8f9fa;border-radius:4px;color:#495057;font-size:12px;font-weight:500;padding:4px 8px}.no-staffs{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;grid-column:1/-1}.loading-spinner,.no-staffs{color:#6c757d;font-size:18px;padding:60px 20px;text-align:center}@media (max-width:768px){.staffs-container{padding:15px}.staffs-header{align-items:stretch;flex-direction:column;gap:15px}.add-button{align-self:flex-end}.staffs-grid{gap:15px;grid-template-columns:1fr}.staff-card{padding:15px}.staff-header{flex-direction:column;gap:10px}.staff-actions{align-self:flex-end}.staff-details{flex-direction:column;gap:8px}}@media (max-width:480px){.staffs-header h2{font-size:24px}.add-button{font-size:14px;padding:10px 20px}.search-input{font-size:14px;padding:10px 14px}}.App{text-align:left}.loading-container{align-items:center;background:#f7fafc;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{color:#718096;font-size:16px;margin:0}
/*# sourceMappingURL=main.383a4c52.css.map*/