@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700&display=swap);:root{--bg-canvas:#eef4f1;--bg-panel:#ffffffc7;--bg-panel-strong:#fff;--text-strong:#102a26;--text-muted:#5d756f;--line-soft:#102a261a;--brand-deep:#123c36;--brand-main:#1e6f5c;--brand-accent:#c69214;--shadow-soft:0 20px 50px #11302a14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top left,#c692141f,#0000 26%),radial-gradient(circle at top right,#1e6f5c29,#0000 28%),linear-gradient(180deg,#f7fbf8,#eef4f1);background:radial-gradient(circle at top left,#c692141f,#0000 26%),radial-gradient(circle at top right,#1e6f5c29,#0000 28%),linear-gradient(180deg,#f7fbf8 0,var(--bg-canvas) 100%);color:#102a26;color:var(--text-strong);font-family:Manrope,Segoe UI,sans-serif;margin:0}h1,h2,h3,h4,h5,h6{font-family:Sora,Manrope,sans-serif}a,button,input,select,textarea{font:inherit}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.avatar-image{animation:image-fade-in .4s ease-in-out}@keyframes image-fade-in{0%{opacity:0}to{opacity:1}}.login-container{align-items:center;background:radial-gradient(ellipse at top left,#c6921429 0,#0000 48%),radial-gradient(ellipse at bottom right,#1e6f5c29 0,#0000 48%),linear-gradient(160deg,#eef5f1,#f4f9f6 50%,#e8f0ec);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.login-container:before{background:radial-gradient(circle,#1e6f5c12 0,#0000 70%);height:500px;right:-140px;top:-140px;width:500px}.login-container:after,.login-container:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.login-container:after{background:radial-gradient(circle,#c6921417 0,#0000 70%);bottom:-100px;height:400px;left:-100px;width:400px}.login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #102a2612;border-radius:24px;box-shadow:0 2px 4px #102a260a,0 8px 28px #102a2614,0 32px 72px #102a2617;max-width:420px;padding:40px;position:relative;width:100%;z-index:1}.login-brand{gap:14px;margin-bottom:24px}.login-brand,.login-brand-mark{align-items:center;display:flex}.login-brand-mark{background:linear-gradient(135deg,#c69214,#f0c766);border-radius:16px;box-shadow:0 8px 22px #c6921447;color:#102a26;flex-shrink:0;font-size:16px;font-weight:800;height:50px;justify-content:center;letter-spacing:.06em;width:50px}.login-brand-text{display:flex;flex-direction:column;gap:3px}.login-brand-text strong{color:#102a26;font-size:17px;font-weight:800;letter-spacing:-.03em;line-height:1.2}.login-brand-text span{color:#6c847c;font-size:11.5px;font-weight:600;line-height:1.35}.login-divider{background:#102a2614;height:1px;width:100%}.login-divider,.login-header{margin-bottom:24px}.login-header h1{color:#102a26;font-size:22px;font-weight:700;letter-spacing:-.03em;margin:0 0 6px}.login-header p{color:#6c847c;font-size:14px;line-height:1.5;margin:0}.login-form{gap:18px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:7px}.form-group label{font-size:13px;font-weight:700;letter-spacing:.02em}.form-group input{border:1.5px solid #102a2621;border-radius:12px;color:#102a26;font-size:15px;outline:none;padding:13px 15px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.login-button{background:linear-gradient(135deg,#1e6f5c,#145248);border:none;border-radius:12px;box-shadow:0 8px 22px #1e6f5c38;color:#fff;cursor:pointer;font-size:15px;font-weight:700;letter-spacing:.01em;margin-top:6px;padding:14px 20px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#228063,#165a50);box-shadow:0 14px 32px #1e6f5c47;transform:translateY(-2px)}.login-button:active:not(:disabled){box-shadow:0 5px 14px #1e6f5c2e;transform:translateY(0)}.login-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#c5303012;border:1px solid #c5303026;border-radius:10px;font-size:13.5px;padding:11px 14px}@media (max-width:640px){.login-container{align-items:flex-start;padding:52px 16px 16px}.login-card{border-radius:20px;padding:30px 24px}.login-header h1{font-size:20px}.form-group input{font-size:15px;padding:11px 14px}}@media (max-width:480px){.login-container{padding-top:36px}.login-card{padding:24px 18px}.login-brand-mark{border-radius:13px;font-size:14px;height:42px;width:42px}.login-brand-text strong{font-size:15px}.login-header h1{font-size:19px}.login-form{gap:15px}.login-button{font-size:14.5px;padding:13px 16px}}.dialog-actions{flex-direction:column;gap:16px}.delete-button{border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.2px;padding:12px 20px;text-transform:uppercase;transition:all .2s ease;width:100%}.delete-button:hover:not(:disabled){background:#b83030;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%}}.cover-upload{align-items:center;aspect-ratio:16/9;background:#f6faf8;border:2px dashed #c4d8d2;border-radius:12px;display:flex;justify-content:center;overflow:hidden;width:100%}.cover-upload.has-image{background:#fff;border-style:solid}.cover-upload img{display:block;height:100%;object-fit:cover;width:100%}.cover-placeholder{color:#617e78;flex-direction:column;font-size:14px;font-weight:600;gap:8px}.cover-icon,.cover-placeholder{align-items:center;display:flex}.cover-icon{background:#1e6f5c1a;border-radius:10px;color:#1e6f5c;font-size:24px;height:36px;justify-content:center;line-height:1;width:36px}.cover-actions{display:flex;gap:10px;margin-top:10px}.remove-cover-button,.upload-cover-button{border-radius:8px;cursor:pointer;font-size:13px;font-weight:700;padding:9px 14px;transition:all .2s ease}.upload-cover-button{background:#102a26;border:1px solid #102a26;color:#fff}.upload-cover-button:hover:not(.disabled){background:#1e6f5c;border-color:#1e6f5c}.remove-cover-button:disabled,.upload-cover-button.disabled{cursor:not-allowed;opacity:.55;pointer-events:none}.remove-cover-button{background:#fff;border:1px solid #f5c4c4;color:#b83030}.remove-cover-button:hover:not(:disabled){background:#fde8e8}.file-input-hidden{display:none}.faculties-section{margin-bottom:40px}.section-header{margin-bottom:24px}.header-content{gap:14px}.header-text h2{font-size:24px;letter-spacing:-.03em;margin:0 0 5px}.header-text p{font-size:14px}.add-faculty-button{align-items:center;background:linear-gradient(135deg,#1e6f5c,#145248);border:none;border-radius:11px;box-shadow:0 6px 18px #1e6f5c38;color:#fff;cursor:pointer;display:flex;font-size:13.5px;font-weight:700;gap:8px;letter-spacing:.01em;padding:11px 20px;transition:transform .18s ease,box-shadow .18s ease}.add-faculty-button:hover{box-shadow:0 10px 24px #1e6f5c47;transform:translateY(-2px)}.button-icon{font-size:17px;line-height:1}.faculties-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:24px}.faculty-card{background:#fff;border:1px solid #102a2617;border-radius:14px;box-shadow:0 1px 3px #102a260f,0 4px 12px #102a260f;cursor:grab;display:flex;flex-direction:column;padding:20px;position:relative;transition:box-shadow .2s ease,transform .2s ease}.faculty-card:hover{box-shadow:0 2px 6px #102a2612,0 8px 24px #102a2617;transform:translateY(-2px)}.faculty-card:active{cursor:grabbing}.faculty-header{align-items:flex-start;display:flex;flex:1 1;gap:10px;justify-content:space-between;margin-bottom:20px}.faculty-cover-thumb{background:#edf6f2;border:1px solid #102a2617;border-radius:10px;flex-shrink:0;height:64px;object-fit:cover;width:64px}.faculty-content{flex:1 1;min-width:0}.faculty-name{color:#102a26;font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.35;margin:0 0 6px;word-break:break-word}.faculty-name-en{color:#617e78;font-size:13.5px;font-weight:500;line-height:1.45;margin:0}.faculty-meta{display:flex;flex-direction:column;gap:6px}.faculty-meta span{color:#9ab5ae;font-size:12.5px}.drag-icon-container{background:#102a260a;border:1px solid #102a2614;border-radius:8px;transition:background .18s ease}.drag-icon-container:hover{background:#102a2614}.drag-icon{font-size:14px}.faculty-actions{border-top:1px solid #102a2612;display:flex;gap:10px;margin-top:auto;padding-top:16px}.edit-button,.view-button{border-radius:9px;cursor:pointer;flex:1 1;font-size:13px;font-weight:700;letter-spacing:.02em;padding:9px 16px;text-transform:uppercase;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.edit-button{background:#102a26;border:1px solid #102a26}.edit-button:hover{background:#1e6f5c;border-color:#1e6f5c;box-shadow:0 4px 12px #1e6f5c38}.view-button{background:#0000;border:1px solid #102a2629;color:#2d4e48}.view-button:hover{background:#102a260d;border-color:#102a2638}.faculty-card.dragging{box-shadow:0 16px 40px #102a2629;opacity:.45;transform:rotate(2deg) scale(.98)}.faculty-card.drag-over{background:#1e6f5c0a;border-color:#1e6f5c;transform:scale(1.01)}.faculties-error,.faculties-loading,.no-faculties{padding:48px 20px;text-align:center}.faculties-loading .loading-spinner{animation:spin .9s linear infinite;border:3px solid #102a261a;border-radius:50%;border-top-color:#1e6f5c;height:36px;margin:0 auto 14px;width:36px}.faculties-error p,.faculties-loading p,.no-faculties p{color:#617e78;font-size:15px;margin:0}.faculties-error p{color:#b83030;margin-bottom:14px}.retry-button{border-radius:9px;font-size:13.5px;font-weight:700;padding:10px 20px;transition:background .18s ease}@media (max-width:768px){.header-content{align-items:stretch;flex-direction:column}.add-faculty-button{justify-content:center;width:100%}.header-text h2{font-size:21px}.faculties-grid{gap:12px;grid-template-columns:1fr}.faculty-card{padding:18px}.faculty-name{font-size:17px}.faculty-actions{gap:8px}}@media (max-width:480px){.faculty-card{padding:16px}.faculty-name{font-size:16px}.faculty-name-en{font-size:13px}.edit-button,.view-button{font-size:12.5px;padding:9px 12px}}.cropper-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.cropper-modal-content{animation:cropperSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 25px 50px #0000004d;max-width:600px;width:100%}@keyframes cropperSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.cropper-header{align-items:center;border-bottom:1px solid #dce8e4;display:flex;justify-content:space-between;padding:24px}.cropper-header h3{color:#102a26;font-size:20px;font-weight:700;margin:0}.cropper-close{align-items:center;background:none;border:none;border-radius:6px;color:#9ab5ae;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.cropper-close:hover{background:#f6faf8;color:#2d4e48}.cropper-body{padding:24px}.cropper-instructions{background:#f0f4ff;border-left:4px solid #4c51bf;border-radius:8px;color:#4c51bf;font-size:14px;margin-bottom:24px;padding:12px 16px;text-align:center}.cropper-instructions p{margin:0}.cropper-container{background:#102a26;border-radius:12px;margin-bottom:24px;min-height:400px;padding:40px;-webkit-user-select:none;user-select:none}.cropper-container,.cropper-preview-area{align-items:center;display:flex;justify-content:center;position:relative}.cropper-preview-area{height:400px;overflow:hidden;width:100%}.cropper-image{-webkit-user-drag:none;max-width:none;position:absolute;transform-origin:center center;-webkit-user-select:none;user-select:none;will-change:transform}.cropper-circle-overlay{border:3px solid #1e6f5c;border-radius:50%;box-shadow:0 0 0 9999px #0009;height:300px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:300px;z-index:10}.cropper-controls{display:flex;flex-direction:column;gap:16px}.zoom-control{align-items:center;background:#f6faf8;border-radius:8px;display:flex;gap:12px;padding:12px 16px}.zoom-control label{color:#2d4e48;font-size:14px;font-weight:600;min-width:50px}.zoom-slider{-webkit-appearance:none;appearance:none;background:#dce8e4;border-radius:3px;flex:1 1;height:6px;outline:none}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#1e6f5c,#145248);border-radius:50%;box-shadow:0 2px 8px #1e6f5c4d;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.zoom-slider::-webkit-slider-thumb:hover{box-shadow:0 4px 12px #1e6f5c66;transform:scale(1.1)}.zoom-slider::-moz-range-thumb{background:linear-gradient(135deg,#1e6f5c,#145248);border:none;border-radius:50%;box-shadow:0 2px 8px #1e6f5c4d;cursor:pointer;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.zoom-slider::-moz-range-thumb:hover{box-shadow:0 4px 12px #1e6f5c66;transform:scale(1.1)}.zoom-value{color:#1e6f5c;font-size:14px;font-weight:600;min-width:50px}.crop-actions{display:flex;gap:12px;justify-content:flex-end}.crop-cancel-btn,.crop-save-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:12px 24px;transition:all .2s ease}.crop-cancel-btn{background:#f6faf8;border:2px solid #dce8e4;color:#2d4e48}.crop-cancel-btn:hover{background:#edf6f2;border-color:#c4d8d2}.crop-save-btn{background:linear-gradient(135deg,#1e6f5c,#145248);box-shadow:0 4px 15px #1e6f5c4d;color:#fff}.crop-save-btn:hover{box-shadow:0 8px 25px #1e6f5c66;transform:translateY(-1px)}.crop-save-btn:active{transform:translateY(0)}@media (max-width:640px){.cropper-modal-overlay{padding:12px}.cropper-modal-content{max-width:100%}.cropper-header{padding:16px}.cropper-header h3{font-size:18px}.cropper-body{padding:16px}.cropper-container{min-height:300px;padding:20px}.cropper-preview-area{height:300px}.cropper-circle-overlay{height:250px;width:250px}.crop-actions{flex-direction:column-reverse}.crop-cancel-btn,.crop-save-btn{width:100%}}@media (max-width:480px){.cropper-container{min-height:250px;padding:15px}.cropper-preview-area{height:250px}.cropper-circle-overlay{height:200px;width:200px}.cropper-instructions p{font-size:12px}.zoom-control{align-items:flex-start;flex-direction:column}}.faculty-members{background:#f6faf8;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:#edf6f2;border-color:#c4d8d2;color:#102a26}.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 #dce8e4;border-radius:8px;padding:16px}.teacher-department,.teacher-faculty{color:#2d4e48;font-size:13px;line-height:1.4;margin:0 0 6px}.teacher-department{margin-bottom:0}.teacher-actions{border-top:1px solid #dce8e4;margin-top:16px;padding-top:16px}.delete-teacher-btn,.edit-teacher-btn{border-radius:6px;padding:10px 16px}.delete-teacher-btn{background:#f56565}.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:#f6faf8;display:flex;justify-content:center;min-height:100vh;padding:20px}.faculty-members-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #dce8e4;border-radius:50%;border-top-color:#1e6f5c;height:40px;margin:0 auto 16px;width:40px}.faculty-members-error p,.faculty-members-loading p{color:#617e78;font-size:16px;margin:0}.retry-button{background:#1e6f5c;margin-top:20px}.retry-button:hover{background:#145248}@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:#617e78}.form-group input,.form-group select{background:#fff}.form-group input:disabled,.form-group select:disabled{background:#f6faf8;color:#617e78}.dialog-actions{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:#f6faf8;min-height:100vh}.page-header{background:#fff;border-bottom:1px solid #dce8e4;box-shadow:0 2px 4px #0000000d;padding:32px 24px}.header-content{margin:0 auto;max-width:1200px;padding:0 24px}.header-text h1{color:#102a26;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 #dce8e4;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:#f6faf8;border:2px solid #dce8e4;flex:1 1;transition:all .2s ease}.search-input:focus{background:#fff}.search-button{align-items:center;background:linear-gradient(135deg,#1e6f5c,#145248);border:none;border-radius:8px;box-shadow:0 4px 15px #1e6f5c4d;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,#145248,#123c36);box-shadow:0 8px 25px #1e6f5c66;transform:translateY(-1px)}.search-icon{font-size:16px}.filter-toggle{align-items:center;background:#f6faf8;border:2px solid #dce8e4;border-radius:8px;color:#2d4e48;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.filter-toggle:hover{background:#edf6f2;border-color:#c4d8d2}.filter-toggle.active{background:#1e6f5c;border-color:#1e6f5c;color:#fff}.filter-icon{font-size:16px}.filters-panel{background:#f8fafc;border:1px solid #dce8e4;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:#2d4e48;font-size:14px;font-weight:600}.filter-group input,.filter-group select{background:#fff;border:2px solid #dce8e4;border-radius:6px;font-size:14px;padding:10px 14px;transition:all .2s ease}.filter-group input:focus,.filter-group select:focus{border-color:#1e6f5c;box-shadow:0 0 0 3px #1e6f5c1a;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:#f6faf8;border:2px solid #dce8e4;color:#2d4e48}.clear-filters-btn:hover{background:#edf6f2;border-color:#c4d8d2}.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 #dce8e4;border-radius:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.course-card:before{background:linear-gradient(135deg,#1e6f5c,#145248);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,#1e6f5c,#145248);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:#b83030;transform:translateY(-1px)}.course-content{margin-bottom:0}.course-name{color:#102a26;font-size:20px;font-weight:700;line-height:1.3;margin:0 0 12px}.course-code{background:#f6faf8;border-radius:6px;color:#1e6f5c;display:inline-block;font-size:16px;font-weight:600;margin:0 0 16px;padding:8px 12px}.course-credit,.course-faculty,.course-semester{color:#2d4e48;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}.loading-spinner{border:4px solid #dce8e4;height:40px;margin-bottom:16px;width:40px}.courses-loading p{color:#617e78;font-size:16px;margin:0}.error-content h2{margin:0 0 12px}.error-content p{color:#617e78;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:4px 0 0}.services-header{align-items:flex-start;border-bottom:1px solid #102a2614;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px;padding:0 0 18px}.services-header h2{color:#17352f;font-size:18px;font-weight:750;letter-spacing:-.02em;margin:0}.subtitle{color:#69817b;font-size:14px;font-style:normal;line-height:1.6}.add-button{background:linear-gradient(135deg,#c69214,#d9a528);box-shadow:0 12px 24px #c6921438;letter-spacing:.02em;padding:13px 20px}.add-button:hover{box-shadow:0 16px 28px #c6921447}.error-message{background:#fff5f5;border:1px solid #b83a3224;border-radius:14px;color:#b83a32;margin-bottom:18px;padding:14px 16px}.search-container{margin-bottom:20px}.search-input{background:#ffffffe6;border:1px solid #102a261a;border-radius:18px;color:#17352f;max-width:560px;padding:15px 18px}.search-input:focus{border-color:#1e6f5c47;box-shadow:0 0 0 4px #1e6f5c14}.services-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-top:10px}.service-card{background:#ffffffeb;border:1px solid #102a2614;border-radius:22px;box-shadow:0 16px 34px #11302a12;cursor:pointer;overflow:hidden;padding:22px;position:relative;transition:all .3s ease}.service-card.dragging{opacity:.7;transform:scale(.98)}.service-card.drag-over{border-color:#1e6f5c;box-shadow:0 0 0 4px #1e6f5c1f}.service-card:before{background:linear-gradient(135deg,#4fbf7a,#1e6f5c);content:"";height:5px;left:0;position:absolute;right:0;top:0}.service-card:hover{border-color:#1e6f5c29;box-shadow:0 20px 42px #11302a1a;transform:translateY(-3px)}.drag-handle{color:#9ab5ae;cursor:grab;line-height:0;opacity:0;position:absolute;right:14px;top:14px;transition:opacity .2s ease,color .2s ease;z-index:1}.service-card:hover .drag-handle{opacity:1}.drag-handle:hover{color:#1e6f5c}.service-card.dragging .drag-handle{cursor:grabbing;opacity:1}.reorder-hint,.search-hint{font-size:13px}.reorder-hint{color:#2f855a}.search-hint{color:#b7791f}.service-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.service-info{flex:1 1}.service-name{color:#17352f;font-size:18px;font-weight:750;letter-spacing:-.02em;line-height:1.4;margin:0 0 10px}.service-meta{display:flex;flex-wrap:wrap;gap:8px}.service-date,.service-id{background:#f3f7f5;border-radius:999px;color:#6e827d;font-size:12px;font-weight:600;padding:6px 10px}.service-actions{display:flex;flex-shrink:0;gap:8px}.delete-button,.edit-button{border-radius:12px;font-size:15px;height:42px;padding:0;width:42px}.edit-button{background:#155b4f;border:1px solid #155b4f}.edit-button:hover{background:#12483f;border-color:#12483f;box-shadow:0 10px 20px #155b4f38}.delete-button:hover{box-shadow:0 10px 20px #e53e3e33}.service-footer{margin-top:16px;text-align:center}.view-button{background:#4fbf7a;border:1px solid #4fbf7a;border-radius:14px;font-weight:700;letter-spacing:.04em;padding:13px 16px}.view-button:hover{background:#33a863;border-color:#33a863;box-shadow:0 12px 22px #33a8633d}.no-services{background:#ffffffbd;border:1px dashed #102a261f;border-radius:22px;color:#70837e;font-size:16px;grid-column:1/-1;padding:54px 20px;text-align:center}@media (max-width:768px){.services-container{padding:0}.services-header{align-items:stretch;flex-direction:column;gap:14px}.add-button{justify-content:center;width:100%}.services-grid{gap:14px;grid-template-columns:1fr}.service-card{padding:18px}.service-header{flex-direction:column;gap:12px}.service-actions{align-self:flex-start}}@media (max-width:480px){.services-header h2{font-size:17px}.add-button{font-size:14px;padding:12px 18px}.search-input{font-size:14px;padding:14px 16px}.service-card{border-radius:18px}.service-name{font-size:17px}}.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;cursor:grab;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.admin-unit-card:active{cursor:grabbing}.admin-unit-card:before{background:linear-gradient(135deg,#1e6f5c,#145248);content:"";height:4px;left:0;position:absolute;right:0;top:0}.admin-unit-card:hover{border-color:#1e6f5c;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-container{align-items:center;display:flex;flex:1 1;gap:8px}.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{border:none;border-radius:6px;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%}.delete-button,.edit-button{font-size:18px;height:36px;padding:8px;width:36px}.view-button{background:#48bb78;border:1px solid #48bb78;color:#fff}.view-button:hover{background:#38a169;border-color:#38a169;box-shadow:0 4px 12px #48bb784d;transform:translateY(-1px)}.delete-button:hover,.edit-button:hover{transform:scale(1.1)}.view-button:active{transform:translateY(0)}.delete-button:active,.edit-button:active{transform:scale(1)}.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}}.drag-icon-container{height:24px;width:24px}.drag-icon{font-size:12px;-webkit-user-select:none;user-select:none}.admin-unit-card.dragging{box-shadow:0 20px 60px #0000004d;opacity:.5;transform:rotate(5deg);z-index:1000}.admin-unit-card.drag-over{background:#f0f4ff;border-color:#1e6f5c;transform:scale(1.02)}.unit-name{word-wrap:break-word;overflow-wrap:break-word}.export-data-container{margin:0 auto;max-width:1200px;padding:20px}.export-header{margin-bottom:30px;text-align:center}.export-header h2{color:#2c3e50;font-size:28px;margin-bottom:10px}.export-header p{color:#7f8c8d;font-size:14px}.export-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.export-options-section{margin-bottom:30px}.export-format-section h3,.export-options-section h3{color:#34495e;font-size:18px;font-weight:600;margin-bottom:15px}.export-options-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:15px}.export-option{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:70px;padding:18px 15px;position:relative;transition:all .3s ease}.export-option:hover{border-color:#1e6f5c;box-shadow:0 4px 8px #1e6f5c33;transform:translateY(-2px)}.export-option.selected{background:linear-gradient(135deg,#1e6f5c,#145248);border-color:#1e6f5c;color:#fff}.export-option.featured{background:#f8fcff;border-color:#3498db}.export-option.featured.selected{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.option-label{font-size:14px;font-weight:500;line-height:1.4;text-align:center}.featured-badge{color:#3498db;font-size:14px;font-weight:700;position:absolute;right:8px;top:8px}.export-option.selected .featured-badge{color:#fff}.export-format-section{margin-bottom:30px}.format-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:15px}.format-option{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:100px;padding:20px;transition:all .3s ease}.format-option:hover{border-color:#1e6f5c;box-shadow:0 4px 8px #1e6f5c26}.format-option.selected{background:linear-gradient(135deg,#1e6f5c,#145248);border-color:#1e6f5c;color:#fff}.format-option input[type=radio]{display:none}.format-label{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:8px}.format-description{font-size:12px;opacity:.8;text-align:center}.export-message{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:10px;margin:20px 0;padding:15px 20px}.export-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.export-message.success:before{content:"✓";font-size:18px;font-weight:700}.export-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.export-message.error:before{content:"✗";font-size:18px;font-weight:700}.export-actions{display:flex;justify-content:center;margin:25px 0}.export-button{align-items:center;background:linear-gradient(135deg,#1e6f5c,#145248);border:none;border-radius:8px;box-shadow:0 4px 15px #1e6f5c66;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;padding:14px 32px;transition:all .3s ease}.export-button:hover:not(:disabled){box-shadow:0 6px 20px #1e6f5c80;transform:translateY(-2px)}.export-button:active:not(:disabled){transform:translateY(0)}.export-button:disabled{cursor:not-allowed;opacity:.6}.button-icon{font-size:20px}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;display:inline-block;height:16px;width:16px}.export-info{background:#f8f9fa;border-left:4px solid #1e6f5c;border-radius:8px;margin-top:30px;padding:20px}.export-info h4{color:#34495e;font-size:16px;font-weight:600;margin-bottom:15px}.export-info ul{list-style:none;margin:0;padding:0}.export-info ul li{color:#5a6c7d;font-size:14px;line-height:1.6;padding:8px 0}.export-info ul li strong{color:#2c3e50;font-weight:600}@media (max-width:768px){.export-data-container{padding:15px}.export-content{padding:20px}.export-options-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.export-option{padding:12px}.option-label{font-size:13px}.format-options{grid-template-columns:1fr}.export-header h2{font-size:24px}.export-button{font-size:14px;padding:12px 24px}}.holiday-dialog-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#091e1b7a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.holiday-dialog{background:#fff;border:1px solid #102a2614;border-radius:18px;box-shadow:0 8px 32px #102a2629,0 2px 8px #102a2614;max-width:480px;overflow:hidden;width:100%}.holiday-dialog-header{align-items:center;display:flex;justify-content:space-between;padding:20px 24px 0}.holiday-dialog-header h3{color:#102a26;font-size:18px;font-weight:800;letter-spacing:-.02em;margin:0}.holiday-dialog-close{background:none;border:none;border-radius:6px;color:#617e78;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;transition:background .15s ease,color .15s ease}.holiday-dialog-close:hover{background:#102a2612;color:#102a26}.holiday-dialog-form{display:flex;flex-direction:column;gap:16px;padding:20px 24px 24px}.holiday-form-group{display:flex;flex-direction:column;gap:6px}.holiday-form-group label{color:#2d4e48;font-size:13px;font-weight:700;letter-spacing:.01em}.holiday-form-group input[type=date],.holiday-form-group input[type=text]{background:#f6faf8;border:1.5px solid #102a2621;border-radius:10px;color:#102a26;font-size:14.5px;outline:none;padding:11px 13px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.holiday-form-group input:focus{background:#fff;border-color:#1e6f5c;box-shadow:0 0 0 3px #1e6f5c1a}.holiday-form-group input::placeholder{color:#9ab5ae}.holiday-form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.holiday-form-checks{display:flex;flex-direction:column;gap:10px}.holiday-checkbox-label{align-items:center;color:#2d4e48;cursor:pointer;display:flex;font-size:13.5px;font-weight:600;gap:10px}.holiday-checkbox-label input[type=checkbox]{accent-color:#1e6f5c;cursor:pointer;flex-shrink:0;height:16px;width:16px}.holiday-form-error{background:#b8303012;border:1px solid #b8303026;border-radius:9px;color:#b83030;font-size:13.5px;font-weight:600;padding:10px 13px}.holiday-dialog-footer{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.holiday-cancel-btn,.holiday-save-btn{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:background .18s ease,transform .15s ease}.holiday-cancel-btn{background:#102a2612;color:#2d4e48}.holiday-cancel-btn:hover{background:#102a261f}.holiday-save-btn{background:linear-gradient(135deg,#1e6f5c,#145248);box-shadow:0 5px 14px #1e6f5c38;color:#fff}.holiday-save-btn:hover:not(:disabled){box-shadow:0 8px 20px #1e6f5c47;transform:translateY(-1px)}.holiday-save-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:480px){.holiday-dialog{border-radius:16px}.holiday-dialog-form,.holiday-dialog-header{padding-left:18px;padding-right:18px}.holiday-form-row{grid-template-columns:1fr}}.holidays-section{margin-bottom:40px}.holidays-header{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:20px}.holidays-header-text h2{color:#102a26;font-size:24px;font-weight:800;letter-spacing:-.03em;margin:0 0 5px}.holidays-header-text p{color:#617e78;font-size:14px;margin:0}.holidays-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.year-selector{border:1px solid #102a261f;border-radius:10px;display:flex;overflow:hidden}.year-btn{background:none;border:none;border-right:1px solid #102a261f;color:#617e78;cursor:pointer;font-size:13.5px;font-weight:700;padding:9px 16px;transition:background .18s ease,color .18s ease}.year-btn:last-child{border-right:none}.year-btn:hover{background:#102a260d;color:#102a26}.year-btn.active{background:#102a26;color:#fff}.add-holiday-btn{background:linear-gradient(135deg,#1e6f5c,#145248);border:none;border-radius:10px;box-shadow:0 5px 16px #1e6f5c38;color:#fff;cursor:pointer;font-size:13.5px;font-weight:700;padding:10px 18px;transition:transform .18s ease,box-shadow .18s ease}.add-holiday-btn:hover{box-shadow:0 8px 22px #1e6f5c47;transform:translateY(-1px)}.holidays-table-wrap{background:#fff;border:1px solid #102a2617;border-radius:14px;box-shadow:0 1px 3px #102a260d,0 4px 14px #102a260f;overflow:hidden}.holidays-table{border-collapse:collapse;font-size:14px;width:100%}.holidays-table thead tr{background:#102a260a;border-bottom:1px solid #102a2617}.holidays-table th{color:#617e78;font-size:11.5px;font-weight:800;letter-spacing:.08em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.holidays-table tbody tr{border-bottom:1px solid #102a260f;transition:background .15s ease}.holidays-table tbody tr:last-child{border-bottom:none}.holidays-table tbody tr:hover{background:rgba(16,42,38,.025)}.holidays-table td{color:#102a26;padding:13px 16px;vertical-align:middle}.date-cell{color:#2d4e48;font-size:13.5px;font-weight:600}.date-cell,.days-count-cell{white-space:nowrap}.days-badge{background:#1e6f5c14;border-radius:999px;color:#1e6f5c;display:inline-block;font-size:12px;font-weight:700;padding:4px 9px}.occasion-cell{color:#102a26;font-weight:600}.moon-mark{color:#b83030;font-size:13px;font-weight:800;margin-left:3px}.occasion-bn-cell{color:#617e78;font-size:14px}.actions-cell{display:flex;gap:8px;white-space:nowrap}.table-delete-btn,.table-edit-btn{border:none;border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:700;padding:6px 13px;transition:background .18s ease,transform .15s ease}.table-edit-btn{background:#102a2612;color:#2d4e48}.table-edit-btn:hover{background:#102a2621;transform:translateY(-1px)}.table-delete-btn{background:#b8303014;color:#b83030}.table-delete-btn:hover:not(:disabled){background:#b8303026;transform:translateY(-1px)}.table-delete-btn:disabled{cursor:not-allowed;opacity:.5}.holidays-empty,.holidays-error,.holidays-loading{background:#fff;border:1px solid #102a2617;border-radius:14px;padding:48px 20px;text-align:center}.holidays-loading .loading-spinner{animation:spin .9s linear infinite;border:3px solid #102a261a;border-radius:50%;border-top-color:#1e6f5c;height:34px;margin:0 auto 12px;width:34px}.holidays-empty p,.holidays-loading p{color:#617e78;font-size:15px;margin:0}.holidays-error p{color:#b83030;font-size:15px;margin:0 0 12px}.retry-btn{background:#1e6f5c;border:none;border-radius:9px;color:#fff;cursor:pointer;font-size:13.5px;font-weight:700;padding:9px 18px}.retry-btn:hover{background:#145248}@media (max-width:768px){.holidays-header{align-items:flex-start;flex-direction:column}.holidays-header-actions{justify-content:space-between;width:100%}.holidays-table-wrap{overflow-x:auto}.holidays-table{min-width:600px}}.dashboard{background:#0000;min-height:100vh}.dashboard-container{display:flex;min-height:calc(100vh - 68px)}.dashboard-header{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd9;border-bottom:1px solid #102a2617;box-shadow:0 1px 0 #102a260f,0 4px 16px #11302a0d;display:flex;justify-content:space-between;min-height:68px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.header-left{gap:12px}.brand-block{display:flex;flex-direction:column;gap:2px}.brand-kicker{color:#7a9690;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.header-left h1{color:#102a26;font-size:21px;font-weight:700;letter-spacing:-.03em;margin:0}.sidebar-toggle{background:none;border:none;border-radius:10px;color:#3d5e58;cursor:pointer;display:none;line-height:1;padding:8px 10px;transition:background .18s ease,color .18s ease}.sidebar-toggle:hover{background:#1e6f5c17;color:#123c36}.hamburger{font-size:19px}.header-right{gap:14px}.header-right,.header-status{align-items:center;display:flex}.header-status{background:#1e6f5c12;border-radius:999px;color:#1d5d50;font-size:12.5px;font-weight:700;gap:7px;padding:8px 13px}.status-dot{background:#1e6f5c;border-radius:50%;box-shadow:0 0 0 4px #1e6f5c24;height:8px;width:8px}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.user-name{color:#102a26;font-size:13.5px;font-weight:700}.user-email{color:#7a9690;font-size:11.5px}.logout-button{background:#c04d3d17;border:1px solid #c04d3d2e;border-radius:10px;color:#9e3526;cursor:pointer;font-size:13.5px;font-weight:700;padding:9px 16px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.logout-button:hover{background:#c04d3d24;box-shadow:0 4px 12px #932f251f;transform:translateY(-1px)}.sidebar{background:#0d2b26;border-right:1px solid #ffffff0d;box-shadow:1px 0 0 #ffffff0a;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-color:#ffffff14 #0000;scrollbar-width:thin;transition:width .28s ease,transform .28s ease;width:264px;z-index:12}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.sidebar.closed{overflow:hidden;width:0}.sidebar-brand{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;gap:12px;margin-bottom:8px;padding:22px 20px 16px}.sidebar-brand-mark{align-items:center;background:linear-gradient(135deg,#c69214,#e8b94a);border-radius:12px;color:#102a26;display:flex;flex-shrink:0;font-size:14px;font-weight:800;height:40px;justify-content:center;letter-spacing:.04em;width:40px}.sidebar-brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.sidebar-brand-copy strong{color:#f0f8f5;font-size:14px;font-weight:700}.sidebar-brand-copy span,.sidebar-brand-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-brand-copy span{color:#c8e4dc85;font-size:11px;line-height:1.4}.sidebar-nav{padding:4px 10px 28px}.nav-menu{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.nav-item{margin:0}.nav-link{align-items:center;background:none;border:none;border-radius:10px;color:#d2eae4a3;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:11px;padding:11px 14px;text-align:left;transition:background .18s ease,color .18s ease;width:100%}.nav-link:hover{background:#ffffff12;color:#e8f5f0}.nav-item.active .nav-link{background:#c692142e;color:#f5d679;font-weight:700}.nav-icon{flex-shrink:0;font-size:17px;text-align:center;width:22px}.dashboard-main{flex:1 1;min-width:0;padding:24px 22px 48px;transition:all .28s ease}.dashboard-main.sidebar-closed,.dashboard-main.sidebar-open{margin-left:0}.welcome-kicker{align-self:flex-start;background:#1e6f5c14;border-radius:999px;color:#1e6f5c;display:inline-flex;font-size:11px;font-weight:800;letter-spacing:.11em;padding:6px 12px;text-transform:uppercase}.page-intro{align-items:center;background:#ffffffc7;border:1px solid #102a2612;border-radius:18px;box-shadow:0 2px 8px #11302a0a,0 8px 24px #11302a0a;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px;padding:20px 22px}.page-intro-copy{display:flex;flex-direction:column;gap:8px}.page-intro h2{color:#102a26;font-size:26px;font-weight:800;letter-spacing:-.04em;margin:0}.page-intro p{color:#617e78;font-size:14px;line-height:1.6;margin:0;max-width:640px}.page-intro-badges{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;max-width:300px}.intro-badge{background:#1e6f5c0f;border:1px solid #1e6f5c1f;border-radius:999px;color:#2e6259;font-size:11.5px;font-weight:700;padding:7px 12px}.quick-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.quick-action-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:13.5px;font-weight:700;gap:9px;padding:11px 17px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.quick-action-btn.primary{background:linear-gradient(135deg,#1e6f5c,#145248);box-shadow:0 6px 18px #1e6f5c33;color:#fff}.quick-action-btn.secondary{background:#fff;border:1px solid #123c361f;box-shadow:0 4px 14px #11302a12;color:#123c36}.quick-action-btn:hover{transform:translateY(-2px)}.quick-action-btn.primary:hover{box-shadow:0 10px 24px #1e6f5c42}.quick-action-btn.secondary:hover{background:#f5faf8;box-shadow:0 6px 18px #11302a17}.quick-action-icon{font-size:14px;line-height:1}.dashboard-content{margin:0 auto;max-width:1200px}.workspace-tools{align-items:center;background:#ffffffb8;border:1px solid #102a2612;border-radius:16px;box-shadow:0 2px 8px #11302a0a;display:flex;gap:16px;justify-content:space-between;margin:18px auto 0;max-width:1200px;padding:18px 20px}.workspace-tools-copy{display:flex;flex-direction:column;gap:6px}.workspace-tools-kicker{color:#7a9690;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.workspace-tools h3{color:#102a26;font-size:18px;font-weight:700;letter-spacing:-.03em;margin:0}.workspace-tools p{color:#617e78;font-size:13.5px;line-height:1.55;margin:0}.workspace-actions{justify-content:flex-end;margin-top:0}.sidebar-overlay{display:none}.content-card{background:#ffffffd1;border:1px solid #102a2612;border-radius:16px;box-shadow:0 4px 16px #11302a0f;padding:22px}.content-card h3{color:#102a26;font-size:19px;font-weight:700;margin:0 0 14px}.content-card p{color:#617e78;font-size:15px;margin:0}.coming-soon{background:#ffffffd1;border:1px solid #102a2612;border-radius:18px;box-shadow:0 4px 16px #11302a0f;color:#617e78;font-size:17px;font-weight:600;padding:64px 40px;text-align:center}@media (max-width:1024px){.dashboard-header{min-height:62px}.sidebar{height:calc(100vh - 62px);left:0;position:fixed;top:62px;transform:translateX(0);z-index:1000}.sidebar.closed{transform:translateX(-100%);width:264px}.sidebar-toggle{display:block}.dashboard-main{margin-left:0}.page-intro,.workspace-tools{align-items:flex-start;flex-direction:column}.page-intro-badges,.workspace-actions{justify-content:flex-start}.sidebar-overlay{background:#091e1b70;border:none;display:block;inset:62px 0 0 0;position:fixed;z-index:11}.page-intro{padding:18px 20px}.page-intro h2{font-size:23px}}@media (max-width:768px){.dashboard-header{min-height:60px;padding:10px 16px}.dashboard-container{flex-direction:row}.header-left h1{font-size:19px}.brand-kicker{display:none}.header-right{gap:10px}.header-status,.user-email{display:none}.sidebar{height:calc(100vh - 60px);left:0;position:fixed;top:60px;transform:translateX(0);width:264px;z-index:1000}.sidebar.closed{transform:translateX(-100%);width:264px}.sidebar-overlay{background:#091e1b70;border:none;display:block;inset:60px 0 0 0;position:fixed;z-index:11}.sidebar-brand{padding-top:16px}.nav-link{font-size:14px;padding:11px 13px}.dashboard-main{padding:18px 14px 32px}.page-intro{align-items:flex-start;border-radius:16px;flex-direction:column;margin-bottom:16px;padding:16px 18px}.page-intro h2{font-size:21px}.page-intro p{font-size:13px}.page-intro-badges{justify-content:flex-start}.intro-badge{font-size:11px;padding:6px 10px}.workspace-tools{align-items:flex-start;border-radius:14px;flex-direction:column;padding:15px 16px}.quick-action-btn{justify-content:center;width:100%}}@media (max-width:480px){.dashboard-header{min-height:56px;padding:8px 12px}.header-left h1{font-size:16px}.sidebar-toggle{padding:6px 8px}.logout-button{font-size:13px;padding:8px 12px}.sidebar{height:calc(100vh - 56px);top:56px;width:100%}.sidebar.closed{transform:translateX(-100%);width:100%}.sidebar-overlay{inset:56px 0 0 0}.sidebar-brand{padding:14px 16px 12px}.sidebar-brand-mark{border-radius:10px;font-size:12px;height:36px;width:36px}.sidebar-brand-copy strong{font-size:13px}.sidebar-brand-copy span{font-size:10.5px}.nav-link{font-size:13.5px;gap:10px;padding:12px 13px}.nav-icon{font-size:16px;width:20px}.dashboard-main{padding:12px 10px 24px}.header-right{gap:8px}.user-name{font-size:13px}.page-intro{border-radius:14px;padding:14px}.page-intro h2{font-size:19px}.page-intro p{font-size:12.5px}.intro-badge{font-size:10.5px;padding:5px 9px}.welcome-kicker{font-size:10px;padding:5px 10px}.workspace-tools{border-radius:12px;margin-top:14px;padding:13px 14px}.workspace-tools h3{font-size:16px}.workspace-tools p{font-size:12.5px}}.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:#617e78;font-size:14px;font-style:italic;margin:0}.form-group input{background:#f6faf8;border:2px solid #dce8e4;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:#1e6f5c;box-shadow:0 0 0 3px #1e6f5c1a;outline:none}.form-group input:disabled{background:#edf6f2;color:#9ab5ae;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}}.select-teacher-button{align-items:center;background:linear-gradient(135deg,#1e6f5c,#145248);border:none;border-radius:10px;box-shadow:0 4px 15px #1e6f5c4d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .3s ease;width:100%}.select-teacher-button:hover{background:linear-gradient(135deg,#145248,#1e6f5c);box-shadow:0 6px 20px #1e6f5c66;transform:translateY(-2px)}.select-teacher-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.teachers-list-container{background:#f6faf8;border:1px solid #dce8e4;border-radius:12px;display:flex;flex-direction:column;margin-bottom:20px;max-height:400px;overflow:hidden}.teachers-list-header{background:#fff;border-bottom:2px solid #dce8e4;padding:12px 16px}.teachers-list-header h4{color:#102a26;font-size:14px;font-weight:600;margin:0}.teachers-filter-section{background:#fff;border-bottom:1px solid #dce8e4;padding:12px 16px}.teacher-search-input{background:#f6faf8;border:2px solid #dce8e4;border-radius:8px;font-size:14px;padding:10px 14px;transition:all .2s ease;width:100%}.teacher-search-input:focus{background:#fff;border-color:#1e6f5c;box-shadow:0 0 0 3px #1e6f5c1a;outline:none}.teacher-search-input::placeholder{color:#9ab5ae}.dept-filter-select{background:#f6faf8;border:2px solid #dce8e4;border-radius:8px;color:#102a26;cursor:pointer;font-size:14px;font-weight:500;min-width:180px;padding:10px 14px;transition:all .2s ease}.dept-filter-select:focus{background:#fff;border-color:#1e6f5c;box-shadow:0 0 0 3px #1e6f5c1a;outline:none}.dept-filter-select:hover{background:#fff;border-color:#c4d8d2}.teachers-list{max-height:350px;overflow-y:auto}.teacher-item{background:#fff;border-bottom:1px solid #dce8e4;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.teacher-item:hover{background:linear-gradient(135deg,#f0f4ff,#f8f9ff);border-left:3px solid #1e6f5c;padding-left:13px}.teacher-item:last-child{border-bottom:none}.teacher-item-avatar{align-items:center;background:linear-gradient(135deg,#1e6f5c,#145248);border-radius:50%;display:flex;flex-shrink:0;height:50px;justify-content:center;overflow:hidden;width:50px}.teacher-item-avatar img{height:100%;object-fit:cover;width:100%}.teacher-item-initial{color:#fff;font-size:20px;font-weight:700;text-transform:uppercase}.teacher-item-info{flex:1 1;min-width:0}.teacher-item-info h5{color:#102a26;font-size:15px;font-weight:700;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-designation,.teacher-name-en{font-size:13px;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-designation{color:#1e6f5c}.teacher-email{font-size:12px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-teachers{padding:40px 20px}.no-teachers p{color:#617e78;font-size:14px;margin:0}.dialog-content{animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dialog-header{padding:24px}.dialog-header h3{color:#102a26;font-weight:700}.close-button{font-size:32px}.close-button:hover{color:#1e6f5c}.error-message{border:1px solid #fc8181}.form-group label{color:#102a26}.form-input{border:1px solid #c4d8d2;font-size:14px;transition:all .2s ease}.form-input:disabled{background:#f6faf8}.avatar-upload-container{gap:16px}.circular-avatar{background:#f6faf8;height:150px;width:150px}.circular-avatar:hover{background:#edf6f2;border-color:#1e6f5c}.circular-avatar.has-content{border-color:#1e6f5c}.avatar-placeholder{color:#617e78;gap:8px}.avatar-icon{font-size:40px}.avatar-text{font-size:12px;font-weight:600}.avatar-actions{gap:12px}.remove-button,.upload-button{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.upload-button{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.upload-button:hover{background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-1px)}.remove-button{background:linear-gradient(135deg,#b83030,#b83030);color:#fff}.remove-button:hover{background:linear-gradient(135deg,#b83030,#9c2626);transform:translateY(-1px)}.remove-button:disabled,.upload-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.dialog-actions{border-top:1px solid #dce8e4;margin-top:24px}.cancel-button,.submit-button{font-size:14px;font-weight:600;transition:all .2s ease}.cancel-button{background:#dce8e4;color:#102a26}.cancel-button:hover{background:#c4d8d2}.submit-button:hover{background:linear-gradient(135deg,#145248,#1e6f5c);box-shadow:0 4px 12px #1e6f5c4d;transform:translateY(-1px)}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:480px){.dialog-content{margin:20px;max-width:100%}.dialog-header{padding:20px}.dialog-header h3{font-size:18px}.dialog-form{padding:20px}.circular-avatar{height:120px;width:120px}}.faculty-details{background:radial-gradient(circle at top left,#c692141f,#0000 22%),linear-gradient(180deg,#f7fbf8,#eef4f1);min-height:100vh}.details-header{background:radial-gradient(circle at top right,#f0c7662e,#0000 24%),linear-gradient(135deg,#123c36,#1e6f5c 56%,#2e8b74);box-shadow:0 18px 44px #123c363d;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}.tab-navigation{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffc;border:1px solid #123c3614;border-radius:20px;box-shadow:0 18px 40px #11302a14;display:flex;gap:16px;margin-bottom:32px;padding:8px}.tab-button{align-items:center;background:#0000;border:none;border-radius:14px;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:12px;justify-content:center;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.tab-button:before{background:linear-gradient(135deg,#1e6f5c1a,#c692141f);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.tab-button:hover:before{opacity:1}.tab-button.active{background:linear-gradient(135deg,#123c36,#1e6f5c);box-shadow:0 12px 28px #123c3647;color:#fff;transform:translateY(-2px)}.tab-icon{font-size:24px}.tab-icon,.tab-text{position:relative;z-index:1}.tab-text{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.tab-label{font-size:16px;font-weight:700;letter-spacing:.3px}.tab-count{font-size:12px;font-weight:600;opacity:.9}.tab-button.active .tab-count{opacity:1}.departments-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #123c3614;border-radius:20px;box-shadow:0 24px 54px #11302a14;overflow:hidden;padding:40px;position:relative}.departments-section:before{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#123c36,#1e6f5c,#c69214,#f0c766);background-size:300% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}.staffs-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #123c3614;border-radius:20px;box-shadow:0 24px 54px #11302a14;overflow:hidden;padding:40px;position:relative}.staffs-section:before{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#c69214,#f0c766,#1e6f5c,#123c36);background-size:300% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}.staffs-grid{margin-top:24px}.staff-card.dragging{transform:rotate(3deg) scale(1.05)}.staff-card:before{left:0;right:0;top:0}.staff-card-header{gap:16px;margin-bottom:18px}.staff-identity{align-items:flex-start;display:flex;flex:1 1;gap:16px;min-width:0}.staff-avatar{border:3px solid #ffffffe6;height:74px;width:74px}.staff-title-block{display:flex;flex-direction:column;gap:8px;justify-content:center;min-width:0;padding-top:2px}.staff-avatar .avatar-text{color:#fff;font-size:28px;font-weight:700;text-transform:uppercase}.staff-avatar .avatar-image{height:100%;object-fit:cover;width:100%}.staff-phone{align-items:center;background:#123c360f;border-radius:999px;color:#1d5d50;display:inline-flex;font-size:13px;font-weight:700;gap:6px;letter-spacing:.01em;margin:0;padding:8px 12px}.drag-icon-container:hover{box-shadow:0 10px 24px #c6921447}.staff-card-body{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.staff-name{line-height:1.3}.staff-designation,.staff-email,.staff-name{margin:0;word-break:break-word}.staff-email{color:#5d756f;font-size:14px}@media (max-width:640px){.staff-card-header{align-items:flex-start}.staff-identity{gap:14px}.staff-avatar{height:64px;width:64px}.staff-name{font-size:18px}}.staff-card-actions{border-top:1px solid #123c3614;padding-top:16px}.delete-staff-btn,.edit-staff-btn{border-radius:8px;font-size:13px;font-weight:600;letter-spacing:.5px;padding:10px 16px;transition:all .3s ease}.edit-staff-btn:hover{background:linear-gradient(135deg,#18594b,#0e312c);box-shadow:0 8px 22px #1e6f5c3d}.delete-staff-btn:hover{background:linear-gradient(135deg,#b83030,#9c2626);box-shadow:0 4px 15px #e53e3e66}.add-staff-btn,.add-staff-button{align-items:center;background:linear-gradient(135deg,#c69214,#ab7a09);border:none;border-radius:16px;box-shadow:0 12px 30px #c6921442;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-staff-btn:before,.add-staff-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.add-staff-btn:hover:before,.add-staff-button:hover:before{left:100%}.add-staff-btn:hover,.add-staff-button:hover{background:linear-gradient(135deg,#ab7a09,#c69214);box-shadow:0 14px 36px #c692144d;transform:translateY(-3px) scale(1.05)}.no-staffs{padding:80px 20px;position:relative}.reorder-status-staff{align-items:center;animation:pulse 2s infinite;background:linear-gradient(135deg,#fef5e7,#fef3c7);border:2px solid #f59e0b;border-radius:16px;box-shadow:0 8px 32px #f59e0b33;color:#d97706;display:flex;font-size:15px;font-weight:600;gap:12px;grid-column:1/-1;margin-top:24px;overflow:hidden;padding:16px 24px;position:relative}.reorder-status-staff:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@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,#123c36,#1e6f5c);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:800;letter-spacing:-.5px;margin:0 0 12px}.header-text p{color:#5d756f}.reorder-hint{margin:4px 0 0}.add-department-button{align-items:center;background:linear-gradient(135deg,#1e6f5c,#145248);border:none;border-radius:16px;box-shadow:0 8px 32px #1e6f5c4d;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,#145248,#1e6f5c);box-shadow:0 12px 40px #1e6f5c66;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 #1e6f5c1a;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,#1e6f5c0d,#1452480d);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:#1e6f5c4d;box-shadow:0 20px 40px #1e6f5c26;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:#102a26;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:#1e6f5c;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,#b83030,#b83030);color:#fff}.delete-department-btn:hover{background:linear-gradient(135deg,#b83030,#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 #1e6f5c1a;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,#1e6f5c,#145248,#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,#1e6f5c,#145248);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin:0 0 16px}.empty-state p{color:#2d4e48;font-size:18px;font-weight:500;line-height:1.6;margin:0 0 32px}.add-department-btn{background:linear-gradient(135deg,#1e6f5c,#145248);border:none;border-radius:16px;box-shadow:0 8px 32px #1e6f5c4d;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,#145248,#1e6f5c);box-shadow:0 12px 40px #1e6f5c66;transform:translateY(-3px) scale(1.05)}.faculty-details-error,.faculty-details-loading{align-items:center;background:#f6faf8;display:flex;justify-content:center;min-height:100vh;padding:20px}.faculty-details-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #dce8e4;border-radius:50%;border-top-color:#1e6f5c;height:40px;margin:0 auto 16px;width:40px}.faculty-details-error p,.faculty-details-loading p{color:#617e78;font-size:16px;margin:0}.drag-icon-container{background:linear-gradient(135deg,#1e6f5c,#145248);box-shadow:0 4px 15px #1e6f5c4d;position:relative;z-index:1}.drag-icon-container:hover{background:linear-gradient(135deg,#145248,#1e6f5c);border-color:#fff6;box-shadow:0 8px 25px #1e6f5c66;transform:scale(1.15) rotate(5deg)}.drag-icon{text-shadow:0 1px 2px #0003}.department-item.dragging{box-shadow:0 25px 80px #1e6f5c66;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:#1e6f5c}.department-item.drag-over{box-shadow:0 15px 40px #1e6f5c33;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%}.status-indicator{animation:spin 1s linear infinite;font-size:20px}@media (max-width:768px){.tab-navigation{flex-direction:column;gap:8px}.tab-button{padding:12px 20px}.tab-icon{font-size:20px}.tab-label{font-size:14px}.tab-count{font-size:11px}.staffs-grid{gap:16px;grid-template-columns:1fr}.staff-card{padding:20px}.add-staff-btn,.add-staff-button{justify-content:center;width:100%}.departments-section,.staffs-section{padding:24px}.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}.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){.tab-navigation{gap:6px;padding:6px}.tab-button{gap:8px;padding:10px 16px}.tab-text{gap:0}.tab-label{font-size:13px}.tab-icon{font-size:18px}.departments-section,.staffs-section{padding:20px}.staff-card{padding:16px}.staff-avatar{height:50px;width:50px}.staff-avatar .avatar-text{font-size:20px}.staff-name{font-size:16px}.staff-designation{font-size:13px}.staff-email{font-size:12px}.delete-staff-btn,.edit-staff-btn{font-size:12px;padding:8px 12px}.details-header{padding:16px}.faculty-title h1{font-size:24px}.faculty-subtitle{font-size:16px}.details-main{padding:16px 12px}.department-item{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 #dce8e4;margin-bottom:24px;padding:24px 24px 0}.dialog-header h2{color:#102a26;font-size:24px;font-weight:700;margin:0 0 12px}.context-info{flex:1 1;margin-right:20px}.department-info,.faculty-info{color:#617e78;font-size:14px;font-style:italic;margin:0 0 4px}.close-button{border-radius:6px;color:#9ab5ae;font-size:28px;height:32px;padding:0;width:32px}.close-button:hover{background:#f6faf8;color:#2d4e48}.dialog-form{padding:0 24px 24px}.form-group label{color:#2d4e48;font-weight:600}.form-group input,.form-group select{background:#f6faf8;border:2px solid #dce8e4;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:#1e6f5c;box-shadow:0 0 0 3px #1e6f5c1a;outline:none}.form-group input:disabled,.form-group select:disabled{background:#edf6f2;color:#9ab5ae;cursor:not-allowed}.form-group input::placeholder{color:#9ab5ae}.form-group select{cursor:pointer}.error-message{background:#fde8e8;border:1px solid #f5c4c4;color:#b83030}.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:#f6faf8;border:2px solid #dce8e4;color:#2d4e48}.cancel-button:hover:not(:disabled){background:#edf6f2;border-color:#c4d8d2}.cancel-button:disabled{cursor:not-allowed;opacity:.5}.save-button{background:linear-gradient(135deg,#1e6f5c,#145248);box-shadow:0 4px 15px #1e6f5c4d;color:#fff}.save-button:hover:not(:disabled){background:linear-gradient(135deg,#145248,#123c36);box-shadow:0 8px 25px #1e6f5c66;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:#f6faf8;min-height:100vh}.teachers-header{background:#fff;border-bottom:1px solid #dce8e4;box-shadow:0 2px 4px #0000000d;padding:24px}.back-button{background:none;border:none;color:#1e6f5c;display:flex;font-size:16px;gap:8px;margin-bottom:20px;padding:8px 0}.back-button:hover{color:#145248;transform:translateX(-4px)}.header-info{display:flex;flex-direction:column;gap:16px}.faculty-info{text-align:center}.faculty-info h3{color:#617e78;font-size:18px;font-weight:600;margin:0 0 4px}.faculty-info p{color:#9ab5ae;font-size:14px;font-style:italic;margin:0}.department-info{text-align:center}.department-info h1{color:#102a26;font-size:32px;font-weight:700;line-height:1.2;margin:0 0 8px}.department-info p{color:#617e78;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 #dce8e4;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:#102a26;font-size:28px;font-weight:700;margin:0 0 8px}.header-text p{color:#617e78;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 #dce8e4;border-radius:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.teacher-card:before{background:linear-gradient(90deg,#1e6f5c,#145248);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.teacher-card:hover{background:#fff;border-color:#c4d8d2;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{align-items:center;background:linear-gradient(135deg,#1e6f5c,#145248);box-shadow:0 4px 15px #1e6f5c4d;display:flex;height:60px;justify-content:center;width:60px}.avatar-image,.teacher-avatar{border-radius:50%}.teacher-content{margin-bottom:24px}.teacher-name{color:#102a26;font-size:20px;font-weight:700;line-height:1.3;margin:0 0 8px}.teacher-name-en{color:#2d4e48;font-size:14px;font-style:italic;font-weight:500;margin:0 0 8px}.teacher-designation{color:#2d4e48;font-size:16px;font-weight:600;margin:0 0 12px}.teacher-email{color:#617e78;font-size:14px;margin:0 0 8px;word-break:break-all}.teacher-phone{color:#617e78;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:#b83030;color:#fff}.delete-teacher-btn:hover{background:#b83030;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:#102a26;font-size:24px;font-weight:600;margin:0 0 12px}.empty-state p{color:#617e78;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:#f6faf8;display:flex;justify-content:center;min-height:100vh;padding:20px}.teachers-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #dce8e4;border-radius:50%;border-top-color:#1e6f5c;height:40px;margin:0 auto 16px;width:40px}.teachers-error p,.teachers-loading p{color:#617e78;font-size:16px;margin:0}.error-content{max-width:400px;text-align:center}.error-content h2{color:#b83030;font-size:24px;font-weight:600;margin:0 0 16px}.error-content .back-button{background:#1e6f5c;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:#145248;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{background:#f6faf8;border:1px solid #dce8e4;height:32px;transition:all .2s ease;width:32px}.drag-icon-container:hover{background:#edf6f2;border-color:#c4d8d2;transform:scale(1.1)}.drag-icon{color:#9ab5ae;font-size:16px}.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:#1e6f5c;transform:scale(1.02)}.teacher-info{margin-bottom:16px}.reorder-hint{font-size:13px;font-style:italic;margin:8px 0 0}.reorder-status{background:#fef5e7;border:1px solid #fed7aa;box-shadow:0 2px 8px #fed7aa4d;color:#c05621;font-weight:500;gap:8px;padding:8px 16px}.api-response,.reorder-status{border-radius:8px;margin-top:16px}.api-response{background:#f8fafc;border:1px solid #dce8e4;padding:16px}.api-response.sending{background:#fef5e7;border-color:#fed7aa}.api-response.success{background:#f0fff4;border-color:#9ae6b4}.response-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.response-icon{font-size:16px}.response-message{color:#102a26;font-weight:600}.clear-response-btn{background:#dce8e4;border:none;border-radius:4px;color:#2d4e48;cursor:pointer;transition:all .2s ease}.clear-response-btn:hover{background:#c4d8d2}.response-data{background:#fff;border:1px solid #dce8e4;border-radius:4px;margin-bottom:8px;overflow-x:auto;padding:12px}.response-data pre{color:#102a26;font-size:12px;margin:0;white-space:pre-wrap;word-break:break-word}.response-timestamp{color:#617e78;font-size:11px;text-align:right}.api-error{background:#fde8e8;border:1px solid #fde8e8;border-radius:8px;margin-top:16px;padding:16px}.error-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.error-icon{font-size:16px}.error-message{color:#742a2a;font-weight:600}.clear-error-btn{background:#f5c4c4;border:none;border-radius:4px;color:#742a2a;cursor:pointer;transition:all .2s ease}.clear-error-btn:hover{background:#fc8181}.error-details{background:#fff;border:1px solid #f5c4c4;border-radius:4px;color:#742a2a;font-size:12px;margin-bottom:8px;padding:12px}.error-details pre{font-size:11px;margin:8px 0 0;white-space:pre-wrap;word-break:break-word}.error-timestamp{color:#742a2a;font-size:11px;text-align:right}.subunits-container{padding:20px}.subunits-header{align-items:center;border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px}.header-left{align-items:center;gap:20px}.back-button{align-items:center;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}.subunits-header h2{color:#333;font-size:28px;font-weight:600}.add-button{background:linear-gradient(135deg,#1e6f5c,#145248);border-radius:8px;box-shadow:0 4px 15px #1e6f5c4d;font-size:16px;font-weight:500;padding:12px 24px}.add-button:hover{box-shadow:0 6px 20px #1e6f5c66}.add-button:active{transform:translateY(0)}.error-message{padding:15px}.close-error{color:#c33}.close-error:hover{background:#c333331a}.search-container{margin-bottom:25px}.search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;max-width:400px;padding:12px 16px;transition:border-color .3s ease}.search-input:focus{box-shadow:0 0 0 3px #1e6f5c1a}.subunits-grid{margin-top:20px}.subunit-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #00000012;cursor:pointer;padding:20px}.drag-icon-container{color:#999;font-size:20px;padding:8px 12px}.subunit-card.dragging{cursor:grabbing;opacity:.5}.subunit-card.drag-over{background:#48bb780d;border:2px dashed #48bb78}.subunit-card:before{background:linear-gradient(135deg,#48bb78,#38a169)}.subunit-card:hover{border-color:#48bb78;box-shadow:0 8px 25px #00000026}.subunit-name{color:#333;font-weight:600}.subunit-name-en{color:#666}.delete-button,.edit-button{border-radius:6px;min-width:60px;padding:8px 16px;transition:all .2s ease}.edit-button{background:#1e6f5c;border:1px solid #1e6f5c}.edit-button:hover{background:#145248;border-color:#145248;box-shadow:0 4px 12px #1e6f5c4d;transform:translateY(-1px)}.delete-button{background:#b83030;border:1px solid #b83030}.delete-button:hover{background:#b83030;border-color:#b83030;box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-1px)}.delete-button:active,.edit-button:active{transform:translateY(0)}.no-subunits{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px}.loading-spinner,.no-subunits{color:#6c757d}@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{align-items:center;border-radius:8px;display:flex;font-size:16px;font-weight:500;height:40px;justify-content:center;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}.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}.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}.subunit-footer{border-top:1px solid #f0f0f0;margin-top:15px;padding-top:15px}.view-staff-hint{font-weight:500;opacity:.8}.dialog-content{max-width:600px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-input:focus{border-color:#1e6f5c;box-shadow:0 0 0 3px #1e6f5c1a}.submit-button{background:linear-gradient(135deg,#1e6f5c,#145248);box-shadow:0 4px 15px #1e6f5c4d}.submit-button:hover:not(:disabled){box-shadow:0 6px 20px #1e6f5c66}.submit-button:disabled{box-shadow:0 4px 15px #1e6f5c4d}@media (max-width:768px){.form-row{gap:0;grid-template-columns:1fr}}.subunits-container{margin:0 auto;max-width:1200px;padding:32px 24px}.subunits-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:28px}.subunits-header h2{color:#102a26;font-size:30px;font-weight:800;line-height:1.2;margin:0}.subunits-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.subunit-card{background:linear-gradient(180deg,#fff,#f7fbf8);border:1px solid #123c3614;border-radius:20px;box-shadow:0 18px 42px #11302a0f;cursor:grab;overflow:hidden;padding:22px;position:relative;transition:all .3s ease}.subunit-card:before{background:linear-gradient(90deg,#c69214,#1e6f5c);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.subunit-card:hover{background:#fff;border-color:#1e6f5c3d;box-shadow:0 22px 44px #11302a1f;transform:translateY(-4px)}.subunit-card:hover:before{opacity:1}.subunit-card:active{cursor:grabbing}.subunit-card.dragging{box-shadow:0 20px 60px #1e6f5c3d;opacity:.7;transform:rotate(3deg) scale(1.04);z-index:1000}.subunit-card.drag-over,.subunit-card.dragging{background:linear-gradient(135deg,#fff9eb,#edf7f3);border-color:#c69214}.subunit-card.drag-over{box-shadow:0 12px 30px #c6921429;transform:scale(1.03)}.subunit-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between}.subunit-names{flex:1 1;min-width:0}.subunit-name{color:#102a26;font-size:20px;font-weight:700;line-height:1.3;margin:0 0 8px;overflow-wrap:anywhere}.subunit-name-en{color:#5d756f;font-size:16px;font-weight:500;line-height:1.4;margin:0;overflow-wrap:anywhere}.subunit-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.drag-icon-container{color:#fff;font-size:18px;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none}.drag-icon-container:active{cursor:grabbing}.delete-button,.edit-button{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;min-width:58px;padding:9px 14px;transition:all .25s ease}.edit-button{background:linear-gradient(135deg,#1e6f5c,#123c36);color:#fff}.edit-button:hover{box-shadow:0 10px 24px #1e6f5c38;transform:translateY(-2px)}.delete-button{background:linear-gradient(135deg,#b83030,#b83030);color:#fff}.delete-button:hover{box-shadow:0 10px 24px #e53e3e38;transform:translateY(-2px)}.subunit-footer{border-top:1px solid #123c3614;margin-top:18px;padding-top:16px;text-align:center}.view-staff-hint{color:#1e6f5c;font-size:14px;font-weight:600;opacity:.9}.no-subunits{background:#ffffffc7;border:1px dashed #123c362e;border-radius:18px;color:#5d756f;font-size:18px;grid-column:1/-1;padding:60px 20px;text-align:center}@media (max-width:768px){.subunits-container{padding:22px 16px}.subunits-header{align-items:stretch;flex-direction:column}.add-button{width:100%}.subunits-grid{gap:18px;grid-template-columns:1fr}.subunit-card{padding:20px}.subunit-header{flex-direction:column}.subunit-actions{align-self:flex-end}}@media (max-width:480px){.subunits-container{padding:18px 12px}.subunits-header h2{font-size:24px}.subunit-card{padding:18px}.subunit-name{font-size:18px}.subunit-name-en{font-size:14px}.drag-icon-container{font-size:15px;height:34px;width:34px}}.avatar-upload-section{align-items:center;display:flex;flex-direction:column;gap:12px}.avatar-preview{align-items:center;border:3px dashed #c4d8d2;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:#f6faf8;border-color:#1e6f5c}.avatar-preview-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;color:#9ab5ae;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:#b83030;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{background:#fee;border-left:4px solid #c33;border-radius:8px;color:#c33;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 #c4d8d2;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:#617e78;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:#b83030;transform:translateY(-1px)}.avatar-actions button:disabled{cursor:not-allowed;opacity:.6;transform:none}.upload-info{color:#617e78;font-size:12px;font-style:italic;text-align:center}.staffs-container{margin:0 auto;max-width:1200px;min-height:100vh;padding:32px 24px}.staffs-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:28px}.header-left{display:flex;flex-direction:column;gap:8px;min-width:0}.staffs-header h2{color:#102a26;font-size:30px;font-weight:800;line-height:1.2;margin:0}.subtitle{color:#5d756f;font-size:17px;font-weight:500;margin:0}.reorder-hint,.search-hint{font-size:14px;font-weight:600;margin:0}.reorder-hint{color:#1e6f5c}.search-hint{color:#c69214}.add-button{background:linear-gradient(135deg,#c69214,#ab7a09);border:none;border-radius:14px;box-shadow:0 12px 30px #c692143d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.05em;padding:14px 24px;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.add-button:hover{box-shadow:0 16px 34px #c6921447;transform:translateY(-2px)}.error-message{background:#fff1f0;border:1px solid #f5c2be;border-radius:12px;gap:12px;justify-content:space-between;margin-bottom:20px;padding:15px 18px}.close-error,.error-message{align-items:center;color:#b53a31;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:#b53a3114}.search-container{margin-bottom:24px}.search-input{background:#ffffffd6;border:1px solid #123c3624;border-radius:14px;box-shadow:0 10px 24px #11302a0d;color:#102a26;font-size:15px;max-width:520px;padding:14px 16px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.search-input:focus{border-color:#1e6f5c;box-shadow:0 0 0 4px #1e6f5c1a;outline:none}.staffs-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.staff-card{background:linear-gradient(180deg,#fff,#f7fbf8);border:1px solid #123c3614;border-radius:22px;box-shadow:0 18px 42px #11302a0f;cursor:grab;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.staff-card:before{background:linear-gradient(90deg,#c69214,#1e6f5c);content:"";height:4px;inset:0 auto auto 0;opacity:0;position:absolute;transition:opacity .3s ease;width:100%}.staff-card:hover{background:#fff;border-color:#1e6f5c3d;box-shadow:0 22px 44px #11302a1f;transform:translateY(-4px)}.staff-card:hover:before{opacity:1}.staff-card:active{cursor:grabbing}.staff-card.dragging{box-shadow:0 20px 60px #1e6f5c3d;opacity:.7;transform:rotate(3deg) scale(1.04);z-index:1000}.staff-card.drag-over,.staff-card.dragging{background:linear-gradient(135deg,#fff9eb,#edf7f3);border-color:#c69214}.staff-card.drag-over{box-shadow:0 12px 30px #c6921429;transform:scale(1.03)}.staff-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.staff-avatar{background:linear-gradient(135deg,#1e6f5c,#123c36);border:3px solid #ffffffeb;border-radius:50%;box-shadow:0 10px 26px #123c3633;flex-shrink:0;height:64px;overflow:hidden;width:64px}.avatar-text,.staff-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{display:block;height:100%;object-fit:cover;width:100%}.drag-icon-container{align-items:center;background:linear-gradient(135deg,#c69214,#e0b247);border:2px solid #fff3;border-radius:50%;box-shadow:0 8px 20px #c692143d;cursor:grab;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);width:40px}.drag-icon-container:hover{background:linear-gradient(135deg,#e0b247,#c69214);transform:scale(1.12) rotate(4deg)}.drag-icon{color:#fff;cursor:grab;font-size:18px;font-weight:700;line-height:1}.drag-icon:active{cursor:grabbing}.staff-content{margin-bottom:24px}.staff-info{margin-bottom:0}.staff-name{color:#102a26;font-size:20px;font-weight:800;line-height:1.35}.staff-name,.staff-name-en{margin:0 0 8px;overflow-wrap:anywhere}.staff-name-en{color:#5d756f;font-size:14px;font-style:italic;font-weight:500}.staff-designation{color:#31574f;font-size:16px;font-weight:700;line-height:1.4;margin:0 0 12px;overflow-wrap:anywhere}.staff-email,.staff-phone{color:#5d756f;font-size:14px;line-height:1.45;margin:0 0 8px;word-break:break-word}.staff-priority{background:#123c360f;border-radius:999px;color:#1d5d50;display:inline-flex;font-size:13px;font-weight:700;margin:6px 0 0;padding:7px 12px}.staff-card-actions{display:flex;gap:12px}.delete-staff-btn,.edit-staff-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;letter-spacing:.05em;padding:11px 20px;text-transform:uppercase;transition:all .25s ease}.edit-staff-btn{background:linear-gradient(135deg,#1e6f5c,#123c36);color:#fff}.edit-staff-btn:hover{box-shadow:0 10px 24px #1e6f5c38;transform:translateY(-2px)}.delete-staff-btn{background:linear-gradient(135deg,#b83030,#b83030);color:#fff}.delete-staff-btn:hover{box-shadow:0 10px 24px #e53e3e38;transform:translateY(-2px)}.reorder-status{align-items:center;animation:pulse 2s infinite;background:#fff6e4;border:1px solid #f3d39b;border-radius:14px;box-shadow:0 10px 24px #c692141f;color:#9b6a05;display:flex;font-size:14px;font-weight:700;gap:10px;grid-column:1/-1;padding:14px 18px}.status-indicator{font-size:16px}.no-staffs{background:#ffffffc7;border:1px dashed #123c362e;border-radius:18px;grid-column:1/-1}.loading-spinner,.no-staffs{color:#5d756f;font-size:18px;padding:60px 20px;text-align:center}@media (max-width:768px){.staffs-container{padding:22px 16px}.staffs-header{align-items:stretch;flex-direction:column}.add-button{width:100%}.staffs-grid{gap:18px;grid-template-columns:1fr}.staff-card{padding:20px}.staff-card-actions{flex-direction:column}}@media (max-width:480px){.staffs-container{padding:18px 12px}.staffs-header h2{font-size:24px}.subtitle{font-size:15px}.staff-card{padding:18px}.staff-name{font-size:18px}.staff-designation,.staff-email,.staff-phone{font-size:13px}.drag-icon-container{height:34px;width:34px}.drag-icon{font-size:15px}}.App{min-height:100vh;text-align:left}.loading-container{align-items:center;background:radial-gradient(circle at top left,#c6921429,#0000 25%),radial-gradient(circle at top,#1e6f5c24,#0000 30%),linear-gradient(180deg,#f7fbf8,#edf4f1 48%,#e8f0ec);display:flex;justify-content:center;min-height:100vh;padding:24px}.loading-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;border:1px solid #102a2614;border-radius:28px;box-shadow:0 28px 60px #11302a1f;padding:28px;width:min(100%,520px)}.loading-brand{gap:16px}.loading-brand,.loading-mark{align-items:center;display:flex}.loading-mark{background:linear-gradient(135deg,#c69214,#f0c766);border-radius:18px;box-shadow:0 16px 30px #c692143d;color:#123c36;font-weight:800;height:56px;justify-content:center;letter-spacing:.08em;width:56px}.loading-copy{display:flex;flex-direction:column;gap:6px}.loading-copy strong{color:#102a26;font-size:24px;letter-spacing:-.03em}.loading-copy span{color:#5d756f;font-size:15px;line-height:1.5}.loading-visual{align-items:center;display:flex;height:72px;justify-content:center;margin:28px 0 22px;position:relative}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #123c361f;border-radius:50%;border-top-color:#1e6f5c;box-shadow:0 10px 30px #1e6f5c1f;height:48px;position:relative;width:48px;z-index:2}.loading-pulse{animation:pulse 1.8s ease-in-out infinite;background:#1e6f5c14;border-radius:50%;height:72px;position:absolute;width:72px}.loading-lines{grid-gap:10px;display:grid;gap:10px}.loading-lines span{animation:shimmer 1.6s linear infinite;background:linear-gradient(90deg,#1e6f5c14,#c692142e,#1e6f5c14);background-size:200% 100%;border-radius:999px;display:block;height:11px}.loading-lines span:first-child{width:92%}.loading-lines span:nth-child(2){width:100%}.loading-lines span:nth-child(3){width:74%}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:640px){.loading-shell{border-radius:22px;padding:22px 18px}.loading-brand{align-items:flex-start}.loading-copy strong{font-size:21px}.loading-copy span{font-size:14px}}
/*# sourceMappingURL=main.8508c9ab.css.map*/