@charset "UTF-8";:root{--primary-bg: #1a3c34;--accent-color: #f4a261;--hover-color: #e76f51;--secondary-bg: #f8edeb;--shadow-color: rgba(26, 60, 52, .2);--spacing-unit: 1rem;--header-height: 60px;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--transition-base: .3s ease;--spacing-lg: 1.5rem;--spacing-md: 1rem;--spacing-xs: .5rem;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-primary: #111827;--font-size-xs: .75rem;--hover-bg: rgba(248, 237, 235, .2);--danger-color: #dc2626}.header{position:fixed;top:0;right:0;left:var(--sidebar-width);height:var(--header-height);background:var(--primary-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:100;transition:left var(--transition-speed)}.header.sidebar-closed{left:var(--sidebar-collapsed-width)}.header-left{display:flex;align-items:center;gap:1rem}.sidebar-toggle{background:none;border:none;color:var(--text-color);font-size:1.5rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color var(--transition-speed)}.sidebar-toggle:hover{color:var(--accent-color)}.header-right{display:flex;align-items:center;gap:1.5rem}.header-actions{display:flex;gap:.5rem}.action-btn{background:none;border:none;color:var(--text-color);font-size:1.25rem;padding:.5rem;cursor:pointer;position:relative;transition:color var(--transition-speed)}.action-btn:hover{color:var(--accent-color)}.action-btn .badge{position:absolute;top:-5px;right:-5px;font-size:.75rem;font-weight:600;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px}.user-menu{position:relative}.user-menu-btn{display:flex;align-items:center;gap:.75rem;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--text-color)}.user-avatar{width:2.5rem!important;height:2.5rem!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1rem!important;font-weight:600!important;padding:0!important;background-color:var(--accent-color)!important;border:2px solid var(--primary-bg)!important}.user-info{text-align:left}.user-name{display:block;font-weight:600;color:var(--text-color)}.user-role{display:block;font-size:.875rem;color:var(--text-muted)}.user-dropdown{position:absolute;top:100%;right:0;background:var(--primary-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-md);min-width:200px;margin-top:.5rem;display:none}.user-menu:hover .user-dropdown{display:block}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-color);text-decoration:none;transition:background var(--transition-speed)}.dropdown-item:hover{background:var(--secondary-bg)}.dropdown-item.text-danger{color:var(--danger-color)}.dropdown-item.text-danger:hover{background:var(--danger-color-light)}.dropdown-divider{height:1px;background:var(--border-color);margin:.5rem 0}@media (max-width: 1024px){.header-search{width:200px}}@media (max-width: 768px){.header{left:0}.header-search,.user-info{display:none}}:root{--primary-bg: #1a3c34;--accent-color: #f4a261;--hover-color: #e76f51;--secondary-bg: #f8edeb;--shadow-color: rgba(26, 60, 52, .2);--spacing-unit: 1rem;--border-color: #444;--text-muted: #666;--text-secondary: #999;--icon-primary: #f4a261;--icon-secondary: #999;--transition-smooth: all .3s ease;--transition-base: all .2s ease;--sidebar-width: 250px;--sidebar-collapsed-width: 80px;--shadow-md: 0 4px 6px rgba(0, 0, 0, .1)}.sidebar{height:100%;background-color:var(--primary-bg);color:var(--text-primary);display:flex;flex-direction:column;padding:1.5rem 0;overflow-y:auto;border-right:1px solid var(--border-color)}.sidebar-title{padding:0 1.5rem;margin-bottom:2rem}.sidebar-title h2{font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.75rem;color:var(--text-primary)}.sidebar-title h2 i{font-size:1.5rem;color:var(--icon-color)}.sidebar-nav{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.nav-item{padding:0 1rem}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-secondary);text-decoration:none;border-radius:6px;transition:var(--transition-base);font-weight:500}.nav-link i{font-size:1.1rem;width:24px;text-align:center;color:var(--text-secondary);transition:transform var(--transition-base)}.nav-link:hover{color:var(--accent-color);background-color:var(--secondary-bg)}.nav-link:hover i{color:var(--accent-color);transform:translate(3px)}.nav-link.active{color:var(--accent-color);background-color:#0f172a1a}.nav-link.active i{color:var(--accent-color);transform:translate(3px)}.nav-badge{background-color:var(--accent-color);color:#fff;padding:.25rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:500;margin-left:auto}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-title h2 span,.sidebar.collapsed .nav-group-title,.sidebar.collapsed .nav-link span,.sidebar.collapsed .nav-badge{display:none}.sidebar.collapsed .nav-link{justify-content:center;padding:.75rem}.sidebar.collapsed .nav-link i{margin:0;font-size:1.25rem}.sidebar.collapsed .nav-link:hover:after{content:attr(data-title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:var(--accent-color);color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;white-space:nowrap;z-index:1000;box-shadow:var(--shadow-md)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:var(--secondary-bg)}.sidebar::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}@media (max-width: 992px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1000;transform:translate(-100%)}.sidebar.show{transform:translate(0)}.sidebar.collapsed{transform:translate(-100%)}}.sidebar-footer{margin-top:auto;padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar-footer .nav-link{color:#fff9;font-size:.875rem}.sidebar-footer .nav-link:hover{color:#fff}.sidebar.collapsed .nav-link{position:relative}.sidebar.collapsed .nav-link:after{content:attr(data-title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:var(--primary-light);color:#fff;padding:.5rem .75rem;border-radius:var(--border-radius);font-size:.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-speed) ease;z-index:1000;margin-left:.5rem}.sidebar.collapsed .nav-link:hover:after{opacity:1;visibility:visible}:root{--primary-bg: #1a3c34;--accent-color: #f4a261;--hover-color: #e76f51;--secondary-bg: #f8edeb;--shadow-color: rgba(26, 60, 52, .2);--spacing-unit: 1rem;--footer-height: 60px;--border-color: rgba(244, 162, 97, .2);--spacing-lg: 2rem;--spacing-md: 1.5rem;--spacing-sm: .75rem;--content-max-width: 1200px;--text-secondary: #6b7280;--font-size-sm: .875rem;--transition-base: .25s ease}.footer{height:var(--footer-height);background-color:var(--primary-bg);border-top:1px solid var(--border-color);padding:0 var(--spacing-lg)}.footer-content{height:100%;display:flex;align-items:center;justify-content:space-between;max-width:var(--content-max-width);margin:0 auto}.footer-left{display:flex;align-items:center}.copyright{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.footer-right{display:flex;align-items:center;gap:var(--spacing-lg)}.footer-link{color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);transition:var(--transition-base)}.footer-link:hover{color:var(--accent-color)}.footer-social a{color:var(--accent-color);font-size:1.2rem;margin:0 calc(var(--spacing-unit) / 2);text-decoration:none}.footer-social a:hover{color:var(--hover-color)}@media (max-width: 576px){.footer{padding:calc(var(--spacing-unit) / 2)}.footer-link{margin:0 calc(var(--spacing-unit) / 4);font-size:.9rem}.footer-social a{font-size:1rem}}:root{--primary-bg: #ffffff;--secondary-bg: #f8fafc;--accent-color: #3b82f6;--accent-hover: #2563eb;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--hover-bg: #f1f5f9;--success-color: #22c55e;--warning-color: #f59e0b;--danger-color: #ef4444;--icon-color: #64748b;--header-height: 64px;--footer-height: 60px;--sidebar-width: 280px;--sidebar-collapsed-width: 80px;--content-max-width: 1280px;--border-radius: 8px;--border-radius-sm: 4px;--border-radius-lg: 12px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--transition-base: all .2s ease-in-out;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--secondary-bg);color:var(--text-primary);line-height:1.5;min-height:100vh;overflow-x:hidden}.layout-container{display:flex;min-height:100vh;background:linear-gradient(120deg,#232946 60%,#393e46);position:relative}.sidebar-container{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:#2c2c54fa;border-right:1px solid #232946;z-index:1000;transition:var(--transition-smooth);overflow-y:auto;box-shadow:2px 0 12px #23294614;border-radius:0 1rem 1rem 0}.sidebar-container.closed{width:var(--sidebar-collapsed-width)}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;transition:var(--transition-smooth);position:relative;background:transparent}.main-content.expanded{margin-left:var(--sidebar-collapsed-width)}.content-wrapper{flex:1;padding:var(--spacing-lg);max-width:var(--content-max-width);margin:0 auto;width:100%;position:relative}.header{position:fixed;top:0;right:0;left:var(--sidebar-width);height:var(--header-height);background:#2c2c54fa;border-bottom:1px solid #232946;z-index:900;transition:var(--transition-smooth);box-shadow:0 2px 12px #23294614;border-radius:0 0 1rem 1rem;color:#fff}.main-content.expanded .header{left:var(--sidebar-collapsed-width)}.footer{position:fixed;bottom:0;right:0;left:var(--sidebar-width);height:var(--footer-height);background:#2c2c54fa;border-top:1px solid #232946;z-index:900;transition:var(--transition-smooth);box-shadow:0 -2px 12px #23294614;border-radius:1rem 1rem 0 0;color:#fff}.main-content.expanded .footer{left:var(--sidebar-collapsed-width)}.content-area{margin-top:var(--header-height);margin-bottom:var(--footer-height);padding:var(--spacing-lg);min-height:calc(100vh - var(--header-height) - var(--footer-height));background:transparent}.card{background-color:var(--primary-bg);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:var(--transition-base);margin-bottom:var(--spacing-lg)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.5rem 1rem;border-radius:var(--border-radius);font-weight:500;transition:var(--transition-base);cursor:pointer;border:none;outline:none}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--secondary-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--hover-bg)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:#dc2626}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary)}.form-control{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--primary-bg);color:var(--text-primary);transition:var(--transition-base)}.form-control:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #3b82f61a}.form-control::-moz-placeholder{color:var(--text-muted)}.form-control::placeholder{color:var(--text-muted)}.table-container{overflow-x:auto;border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:var(--primary-bg)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.table th{background-color:var(--secondary-bg);font-weight:600;color:var(--text-primary)}.table tr:last-child td{border-bottom:none}.table tr:hover{background-color:var(--hover-bg)}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:9999px;font-size:var(--font-size-xs);font-weight:500}.badge-success{background-color:#dcfce7;color:#166534}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-danger{background-color:#fee2e2;color:#991b1b}.alert{padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md)}.alert-success{background-color:#dcfce7;color:#166534;border:1px solid #86efac}.alert-warning{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.alert-danger{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}@media (max-width: 1024px){.content-wrapper{padding:var(--spacing-md)}}@media (max-width: 768px){.sidebar-container{left:-100vw;width:var(--sidebar-width);border-radius:0 1rem 1rem 0;box-shadow:2px 0 12px #2329462e}.sidebar-container.open{left:0;background:#2c2c54fa}.main-content,.main-content.expanded{margin-left:0}.header,.footer{left:0;border-radius:0;font-size:1rem;padding-left:.5rem;padding-right:.5rem}.footer{font-size:.95rem}.content-area{padding:var(--spacing-sm)}}.loading{position:relative;pointer-events:none;opacity:.7}.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#ffffffb3;display:flex;align-items:center;justify-content:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes slideIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in{animation:slideIn .3s ease-in-out}.sidebar,.sidebar-title,.sidebar-nav,.sidebar .nav-link,.sidebar .nav-link.active{background:transparent!important;color:#fff!important}.sidebar .nav-link.active{background:#393e46!important;color:#6c63ff!important;border-radius:.5rem}.sidebar .nav-link:hover{background:#393e46!important;color:#fff!important}.auth-glass-card{background:#232946eb;box-shadow:0 8px 32px #23294640;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.5rem;border:1.5px solid #6c63ff33;overflow:hidden;width:100%;max-width:900px;margin:0 auto;display:flex;flex-direction:row}@media (max-width: 900px){.auth-glass-card{flex-direction:column;max-width:98vw}}.auth-title-gradient{font-weight:800;font-size:1.5rem;background:linear-gradient(90deg,#6c63ff,#a4508b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;letter-spacing:1px}.auth-toggle-btn{font-weight:600;border-radius:2rem;padding:.4rem 1.2rem;border:2px solid #6c63ff;background:transparent;color:#fff;margin-right:.5rem;transition:background .2s,color .2s}.auth-toggle-btn.btn-primary,.auth-toggle-btn.active{background:linear-gradient(90deg,#6c63ff,#a4508b);color:#fff;border:none;box-shadow:0 2px 8px #6c63ff33}.auth-toggle-btn:hover{background:#6c63ff;color:#fff}.auth-input,.auth-input:focus,.auth-input:active,.auth-input:visited{background:#2c2c54fa!important;color:#fff!important;border:1.5px solid #6c63ff55!important;border-radius:.8rem!important;font-size:1.08rem;font-weight:500;padding:.85rem 1.1rem;margin-bottom:.2rem;box-shadow:none;outline:none;transition:border .2s,box-shadow .2s}.auth-input:focus{border:2px solid #a4508b!important;box-shadow:0 0 0 2px #a4508b33}.auth-error{color:#ff4d6d;font-size:.97rem;font-weight:600;margin-top:2px;margin-bottom:4px;padding-left:2px}.auth-action-btn{background:linear-gradient(90deg,#6c63ff,#a4508b);color:#fff;font-weight:700;font-size:1.15rem;border:none;border-radius:1.2rem;padding:.9rem 0;box-shadow:0 2px 12px #6c63ff33;transition:background .2s,box-shadow .2s,transform .1s}.auth-action-btn:hover,.auth-action-btn:focus{background:linear-gradient(90deg,#a4508b,#6c63ff);box-shadow:0 4px 24px #a4508b33;transform:translateY(-2px) scale(1.02)}.auth-divider{display:flex;align-items:center;margin:1.5rem 0 1.2rem}.auth-divider .border-top{border-top:1.5px solid #6c63ff33!important}.auth-divider span{color:#bfc9e0;font-weight:600;font-size:1rem}.auth-social-btn{border-radius:2rem;border:1.5px solid #6c63ff55;background:#2c2c54fa;color:#fff;font-weight:600;font-size:1.05rem;padding:.6rem 1.5rem;transition:background .2s,color .2s,box-shadow .2s;box-shadow:0 1px 6px #6c63ff22}.auth-social-btn:disabled{opacity:.7}.auth-social-btn:hover{background:#6c63ff;color:#fff}@media (max-width: 600px){.auth-glass-card{padding:.5rem;border-radius:1rem}.auth-title-gradient{font-size:1.15rem}.auth-action-btn{font-size:1rem;padding:.7rem 0}}.auth-forgot-link{display:inline-flex;align-items:center;font-size:1.08rem;font-weight:700;background:linear-gradient(90deg,#6c63ff,#a4508b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;text-decoration:none;transition:text-shadow .2s,border-bottom .2s;border-bottom:2px solid transparent;letter-spacing:.2px}.auth-forgot-link:hover,.auth-forgot-link:focus{text-shadow:0 2px 12px #6c63ff55;border-bottom:2px solid #a4508b;-webkit-text-fill-color:#fff;color:#fff}.auth-success{color:#22c55e;background:#22c55e14;border-left:4px solid #22c55e;padding:.7rem 1rem;border-radius:.7rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}.auth-back-link{display:inline-flex;align-items:center;font-size:1.08rem;font-weight:700;background:linear-gradient(90deg,#6c63ff,#a4508b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;text-decoration:none;transition:text-shadow .2s,border-bottom .2s;border-bottom:2px solid transparent;letter-spacing:.2px}.auth-back-link:hover,.auth-back-link:focus{text-shadow:0 2px 12px #6c63ff55;border-bottom:2px solid #a4508b;-webkit-text-fill-color:#fff;color:#fff}.dashboard-header{padding:var(--spacing-unit);background-color:var(--secondary-bg);border-bottom:1px solid rgba(244,162,97,.2);box-shadow:0 2px 6px var(--shadow-color)}.dashboard-header h3{font-size:1.75rem;margin-bottom:calc(var(--spacing-unit) / 2);color:var(--primary-bg);font-weight:700;transition:color .3s ease}.dashboard-header h3:hover{color:var(--hover-color)}.dashboard-header p{font-size:1.1rem;color:#555;margin-bottom:0}.card{border:none;border-radius:8px;background-color:#fff;box-shadow:0 4px 8px var(--shadow-color);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-5px);box-shadow:0 6px 12px var(--shadow-color)}.card-img-top{-o-object-fit:contain;object-fit:contain;height:150px;border-bottom:1px solid rgba(244,162,97,.1)}.btn{padding:calc(var(--spacing-unit) / 2) var(--spacing-unit);font-weight:500;border-radius:4px;transition:background-color .3s ease,transform .2s ease}.btn-info{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff}.btn-info:hover{background-color:var(--hover-color);border-color:var(--hover-color);transform:translateY(-2px)}.btn-primary{background-color:var(--primary-bg);border-color:var(--primary-bg);color:#fff}.btn-primary:hover{background-color:darken(var(--primary-bg),10%);border-color:darken(var(--primary-bg),10%);transform:translateY(-2px)}.btn-primary:hover{background-color:#16332b;border-color:#16332b}@media (max-width: 1024px){.dashboard-header h3{font-size:1.6rem}.card-img-top{height:140px}.btn{padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * .9);font-size:.9rem}}@media (max-width: 768px){.dashboard-header{padding:calc(var(--spacing-unit) * .75)}.dashboard-header h3{font-size:1.5rem}.card-img-top{height:120px}.card{margin-bottom:var(--spacing-unit)}}@media (max-width: 480px){.dashboard-header h3{font-size:1.3rem}.dashboard-header p{font-size:1rem}.card-img-top{height:100px}.btn{padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * .75);font-size:.85rem;width:100%}}.dashboard-header h3:focus,.card:focus,.btn:focus{outline:2px solid var(--accent-color);outline-offset:2px;box-shadow:0 0 0 3px #f4a2614d}.card-img-top:focus{outline:none}.navbar{background-color:#2f4f4f;color:#ff8c00}.navbar-brand{font-size:1.5rem;font-weight:700;color:#ff8c00!important}.nav-link{padding:.5rem 1rem!important;color:#ff8c00!important;transition:background-color .3s ease}.nav-link:hover,.navbar-brand:hover{text-decoration:none;color:#ffa733!important}.hover-bg:hover{background-color:#ff8c0033}.card{border-radius:12px;overflow:hidden;box-shadow:0 4px 10px #0000000d;background-color:#fff}.card-header{background-color:#2f4f4f;border-bottom:none;padding:1rem 1.25rem;color:#fff}.card-header h4{font-size:1.5rem;font-weight:600;margin:0}.form-label{color:#2f4f4f;font-weight:500;margin-bottom:.5rem}.form-control,.form-select{border-radius:6px;padding:.5rem 1rem;border:1px solid #ced4da;transition:border-color .3s ease,box-shadow .3s ease}.form-control:focus,.form-select:focus{border-color:#2f4f4f;box-shadow:0 0 0 .15rem #2f4f4f40}.form-control:disabled,.form-select:disabled{background-color:#e9ecef;opacity:.8;cursor:not-allowed}.is-invalid{border-color:#dc3545}.invalid-feedback{font-size:.875rem;color:#dc3545;margin-top:.25rem}.img-fluid{transition:opacity .3s ease,transform .3s ease;max-width:100%;height:auto}.img-fluid:hover{opacity:.9;transform:scale(1.02)}.btn-primary{background-color:#2f4f4f;border-color:#2f4f4f;color:#fff;padding:.75rem 1.5rem;font-weight:500;transition:background-color .3s ease,border-color .3s ease}.btn-primary:disabled{background-color:#6c757d;border-color:#6c757d;cursor:not-allowed}.btn-outline-custom{border-color:#ff8c00;color:#ff8c00;padding:.5rem 1.25rem;transition:background-color .3s ease,color .3s ease}.btn-outline-custom:hover{background-color:#ff8c00;color:#2f4f4f}@media (max-width: 767px){.card-header h4{font-size:1.25rem}.btn-primary,.btn-outline-custom{padding:.5rem 1rem}}.card{border-radius:10px;overflow:hidden}.card-header{background-color:#2f4f4f;border-bottom:none}.card-header h5{font-size:1.25rem;font-weight:600}.form-label{color:#2f4f4f}.form-control{border-radius:6px 0 0 6px;padding:.5rem 1rem}.input-group-text{border-radius:0 6px 6px 0;background-color:#ff8c00;color:#fff;border-color:#ff8c00}.input-group-text:hover{background-color:#e07b00;border-color:#e07b00}.btn-primary{background-color:#2f4f4f;border-color:#2f4f4f;padding:.75rem 1.5rem;font-weight:500}.btn-primary:hover{background-color:#1f3535;border-color:#1f3535}.btn-primary:disabled{background-color:#6c757d;border-color:#6c757d}.btn-secondary{padding:.75rem 1.5rem}.btn-outline-custom{border-color:#ff8c00;color:#ff8c00}.list-group-item{border:none;padding:.5rem 0}@media (max-width: 767px){.card-header h5{font-size:1.1rem}.btn-primary,.btn-secondary{padding:.5rem 1rem}}.edit-student-container{max-width:900px;margin:var(--spacing-unit) auto;padding:var(--spacing-unit);background-color:#fff;border-radius:8px;box-shadow:0 2px 5px var(--shadow-color)}.edit-student-title{color:var(--primary-bg);margin-bottom:var(--spacing-unit);font-size:1.5rem;text-align:center}.edit-student-form{margin-bottom:var(--spacing-unit)}.form-label{color:var(--primary-bg);font-weight:500}.form-control{border-radius:4px;padding:.5rem;border:1px solid var(--shadow-color)}.form-control:focus{border-color:var(--hover-color);box-shadow:0 0 5px #f4a26180}.error{text-align:left;color:#e63946;font-size:.875rem;margin-top:.25rem}.btn{padding:.5rem 1rem;border-radius:4px;transition:background-color .3s ease}.btn-primary{background-color:var(--primary-bg);color:var(--accent-color);border:none}.btn-primary:hover:not(:disabled){background-color:#1f3535}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:#6c757d;color:#fff;border:none}.class-list-container{padding:20px}.class-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.class-list-title{margin:0}.class-controls{display:flex;gap:10px}.search-input{padding:6px 12px;border:1px solid #ced4da;border-radius:4px}.class-table-wrapper{overflow-x:auto}.class-table{width:100%;border-collapse:collapse}.class-table th,.class-table td{padding:8px;border:1px solid #ddd;text-align:left}.class-table th{background-color:var(--primary-bg)}.class-link{text-decoration:none;color:#007bff}.class-link:hover{text-decoration:underline}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:20px}.pagination-btn{padding:6px 12px}.pagination-btn:disabled{opacity:.65;cursor:not-allowed}.loading{text-align:center}.error{color:red;text-align:center}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.alert{margin-top:calc(var(--spacing-unit) / 2);padding:var(--spacing-unit);border-radius:4px;border:1px solid transparent}.alert-danger{background-color:#f8d7da;color:#721c24;border-color:#f5c6cb}:root{--primary-bg: #2f4f4f;--accent-color: #fff;--hover-color: #ff8c00;--secondary-bg: #f8f9fa;--shadow-color: #ddd;--spacing-unit: 20px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:var(--spacing-unit);border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 10px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-unit)}.modal-header h3{margin:0;font-size:20px;color:#333}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;transition:color .3s ease}.close-btn:hover{color:#333}.error{color:#e63946;font-size:14px;margin-top:5px;text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:var(--spacing-unit)}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:14px;color:#333}.required{color:#e63946}.form-control{padding:8px;border:1px solid var(--shadow-color);border-radius:4px;font-size:14px;width:100%}.form-control:focus{outline:none;border-color:var(--primary-bg);box-shadow:0 0 5px #2f4f4f4d}.profile-picture-section{text-align:center;margin-bottom:var(--spacing-unit)}.profile-picture-container{display:flex;flex-direction:column;align-items:center;gap:10px}.profile-preview{width:100px;height:100px;-o-object-fit:cover;object-fit:cover;border-radius:50%;border:2px solid var(--shadow-color)}.profile-placeholder{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;border-radius:50%;border:2px solid var(--shadow-color);color:#666;font-size:14px}.profile-input{margin-top:10px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn-primary{background-color:var(--primary-bg);color:var(--accent-color)}.btn-primary:hover{background-color:#1e3c3c}.btn-secondary{background-color:#6c757d;color:var(--accent-color)}.btn-secondary:hover{background-color:#5a6268}.academic-session-list-container{margin:var(--spacing-unit) auto;padding:var(--spacing-unit);background-color:#fff;border-radius:8px;box-shadow:0 2px 5px var(--shadow-color)}.student-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-unit)}.student-list-title{color:var(--primary-bg);font-size:1.5rem;font-weight:600}.student-table-wrapper{overflow-x:auto;margin-bottom:var(--spacing-unit)}.student-table{width:100%;border-collapse:collapse}.student-table th,.student-table td{padding:calc(var(--spacing-unit) * .75);text-align:left;border-bottom:1px solid var(--shadow-color);white-space:nowrap}.student-table th{background-color:var(--primary-bg);color:var(--accent-color);font-weight:600}.student-table tr:nth-child(2n){background-color:var(--secondary-bg)}.student-table tr:hover{background-color:#f4a2611a}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.student-header{flex-direction:column;gap:15px}.student-table th,.student-table td{font-size:12px;padding:10px}}.admission-list-container{padding:20px;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:0 auto}.admission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admission-list-title{font-size:24px;font-weight:700;color:#333}.admission-controls{display:flex;align-items:center}.search-input{padding:8px 12px;margin-right:10px;border:1px solid #ccc;border-radius:4px;width:250px}.create-btn{display:flex;align-items:center;padding:8px 16px;background-color:#2f4f4f;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.create-btn:hover{background-color:#0056b3}.create-btn i{margin-right:5px}.admission-table{width:100%;min-width:1600px;border-collapse:collapse}.admission-table th,.admission-table td{padding:calc(var(--spacing-unit) * .75);text-align:left;border-bottom:1px solid var(--shadow-color);white-space:nowrap}.admission-table th{background-color:var(--primary-bg);color:var(--accent-color);font-weight:600}.admission-table tr:nth-child(2n){background-color:var(--secondary-bg)}.admission-table tr:hover{background-color:#f4a2611a}.admission-table-wrapper{margin-top:20px;overflow-x:auto}.admission-table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.admission-table th,.admission-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #ddd}.admission-table th{background-color:#f1f1f1;font-weight:700}.admission-table tr:hover{background-color:#f1f1f1}.admission-table td a{color:#2f4f4f;text-decoration:none}.admission-table td a:hover{text-decoration:underline}.loading{text-align:center;font-size:18px;color:#2f4f4f}.error{color:red;text-align:center;margin-top:20px}.pagination{display:flex;justify-content:center;margin-top:20px}.pagination-btn{padding:8px 16px;margin:0 5px;background-color:#2f4f4f;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.pagination-btn:hover{background-color:#0056b3}.pagination-info{display:flex;align-items:center;justify-content:center;margin:0 10px}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:20px;width:500px;max-width:100%;border-radius:8px;box-shadow:0 2px 10px #0003;position:relative}.close-btn{position:absolute;top:10px;right:10px;font-size:24px;cursor:pointer;color:#333}h3{margin-bottom:20px;font-size:22px;font-weight:700;color:#333}.form-control{width:100%;padding:10px;margin-bottom:15px;border-radius:4px;border:1px solid #ccc}.form-control:focus{outline:none;border-color:#2f4f4f}button[type=submit]{padding:10px 20px;background-color:#2f4f4f;color:#fff;border:none;border-radius:4px;cursor:pointer;width:100%;font-size:16px;transition:background-color .3s ease}button[type=submit]:hover{background-color:#0056b3}small.text-danger{color:red;font-size:12px}@media (max-width: 768px){.admission-header,.admission-controls{flex-direction:column;align-items:flex-start}.search-input{width:100%;margin-bottom:10px}.create-btn{width:100%}.admission-table th,.admission-table td{font-size:14px;padding:8px}.pagination-btn{padding:8px 12px}}:root{--primary-bg: #2f4f4f;--accent-color: #ffffff;--hover-color: #ff8c00;--secondary-bg: #f8f9fa;--shadow-color: #ddd;--spacing-unit: 20px}.teacher-list-container{margin:var(--spacing-unit) auto;padding:var(--spacing-unit);background-color:#fff;border-radius:8px;box-shadow:0 2px 5px var(--shadow-color)}.teacher-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-unit)}.teacher-list-title{color:var(--primary-bg);font-size:1.5rem;text-align:center}.teacher-controls{display:flex;gap:15px;align-items:center}.search-input{padding:8px 12px;border:1px solid #dee2e6;border-radius:4px;font-size:14px;width:200px;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 5px #0d6efd4d}.teacher-table-wrapper{overflow-x:auto;margin-bottom:var(--spacing-unit)}.teacher-table{width:100%;min-width:1200px;border-collapse:collapse}.teacher-table th,.teacher-table td{padding:calc(var(--spacing-unit) * .5);border-bottom:1px solid var(--shadow-color);white-space:nowrap;text-align:left}.teacher-table th{background-color:var(--primary-bg);color:var(--accent-color);font-weight:600}.teacher-table tr:nth-child(2n){background-color:var(--secondary-bg)}.teacher-table tr:hover{background-color:#ff8c001a}.action-buttons .btn{padding:6px 12px;font-size:.875rem;width:100%}.teacher-link{color:var(--hover-color);text-decoration:none;transition:color .3s ease}.teacher-link:hover{color:#e67e00}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-unit)}.pagination-btn{background-color:var(--primary-bg);color:var(--accent-color);border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.pagination-btn:hover:not(:disabled){background-color:var(--hover-color)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--primary-bg);font-weight:500}.loading{text-align:center;color:var(--hover-color)}.error{text-align:center;color:#dc3545;margin-bottom:var(--spacing-unit)}@media (max-width: 768px){.teacher-header{flex-direction:column;gap:15px}.search-input{width:100%}}:root{--primary-bg: #1a3c34;--accent-color: #f4a261;--hover-color: #e76f51;--secondary-bg: #f8edeb;--shadow-color: rgba(26, 60, 52, .2);--spacing-unit: 1rem}.academic-details-container{padding:var(--spacing-unit);background-color:var(--secondary-bg);min-height:calc(100vh - 60px);display:flex;flex-direction:column;gap:var(--spacing-unit);overflow-x:hidden}.student-header{display:flex;justify-content:space-between;align-items:center;background-color:#fff;padding:var(--spacing-unit);border-radius:5px;box-shadow:0 2px 6px var(--shadow-color);transition:transform .3s ease}.student-header:hover{transform:translateY(-2px)}.student-list-title{margin:0;font-size:1.5rem;color:var(--primary-bg);font-weight:600;transition:color .3s ease}.student-list-title:hover{color:var(--hover-color)}.student-controls .btn{padding:calc(var(--spacing-unit) / 2) var(--spacing-unit);font-size:.9rem;background-color:var(--primary-bg);border:none;border-radius:4px;color:#fff;transition:background-color .3s ease,transform .2s ease;display:flex;align-items:center}.student-controls .btn:hover{background-color:#16332b;transform:translateY(-2px)}.student-controls .btn i{margin-right:calc(var(--spacing-unit) / 2);font-size:1rem}.student-controls .btn-warning{background-color:var(--accent-color);border-color:var(--accent-color);color:#212529}.student-controls .btn-warning:hover{background-color:var(--hover-color);border-color:var(--hover-color)}.student-info{background-color:#fff;padding:var(--spacing-unit);border-radius:5px;box-shadow:0 2px 6px var(--shadow-color);margin-bottom:0}.student-info h6{margin:0 0 calc(var(--spacing-unit) / 2);font-size:1.1rem;color:#555;font-weight:500}.student-info p{margin:calc(var(--spacing-unit) / 4) 0;font-size:.95rem;color:#333}.student-info strong{color:var(--primary-bg);font-weight:500}.academic-info{background-color:#fff;padding:var(--spacing-unit);border-radius:5px;box-shadow:0 2px 6px var(--shadow-color);flex-grow:1}.academic-info table{width:100%;border-collapse:collapse;margin-top:calc(var(--spacing-unit) / 2)}.academic-info th,.academic-info td{padding:var(--spacing-unit);text-align:left;border-bottom:1px solid rgba(244,162,97,.1)}.academic-info th{background-color:var(--primary-bg);color:#fff;font-size:1rem;font-weight:600;text-transform:uppercase}.academic-info td{font-size:.95rem;color:#333}.academic-info tr:nth-child(2n){background-color:#f4a2610d}.academic-info tr:hover{background-color:#f4a26126}.text-muted{padding:var(--spacing-unit);color:#6c757d;text-align:center}.alert{margin-top:calc(var(--spacing-unit) / 2);padding:var(--spacing-unit);border-radius:4px}.alert-danger{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:var(--spacing-unit);border-radius:5px;width:90%;max-width:500px;box-shadow:0 5px 15px var(--shadow-color);position:relative;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) / 2);border-bottom:1px solid rgba(244,162,97,.1)}.modal-header h3{margin:0;font-size:1.25rem;color:var(--primary-bg);font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;transition:color .3s ease,transform .2s ease}.close-btn:hover{color:var(--hover-color);transform:rotate(90deg)}.modal-body{margin-bottom:var(--spacing-unit)}.modal-actions{text-align:right}.btn-secondary{padding:calc(var(--spacing-unit) / 2) var(--spacing-unit);font-size:.9rem;background-color:#6c757d;border:none;border-radius:4px;color:#fff;transition:background-color .3s ease,transform .2s ease}.btn-secondary:hover{background-color:#5a6268;transform:translateY(-2px)}@media (max-width: 1024px){.student-header,.academic-info th,.academic-info td{padding:calc(var(--spacing-unit) * .9)}.modal-content{max-width:450px}}@media (max-width: 768px){.student-header{flex-direction:column;gap:calc(var(--spacing-unit) / 2)}.student-controls .btn{width:100%;font-size:.85rem}.academic-info table{font-size:.9rem}.academic-info th,.academic-info td{padding:calc(var(--spacing-unit) * .75)}.modal-content{width:95%;max-width:400px}}@media (max-width: 480px){.academic-details-container{padding:calc(var(--spacing-unit) * .5);gap:calc(var(--spacing-unit) * .5)}.student-list-title{font-size:1.2rem}.student-info p{font-size:.9rem}.academic-info table{font-size:.85rem}.modal-header h3{font-size:1.1rem}.student-controls .btn{padding:calc(var(--spacing-unit) * .5) var(--spacing-unit)}.modal-content{padding:calc(var(--spacing-unit) * .75)}}.student-header:focus-within,.student-info:focus-within,.academic-info:focus-within,.modal-content:focus-within{outline:none}.btn:focus{outline:2px solid var(--accent-color);outline-offset:2px;box-shadow:0 0 0 3px #f4a2614d}.close-btn:focus{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:50%}.vehicle-list{padding:20px}.vehicle-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.vehicle-list-header h2{margin:0;color:#333;font-size:1.8rem;font-weight:600}.vehicle-form-container{background:#00000080;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.vehicle-form{background:#fff;border-radius:12px;padding:30px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.vehicle-form h3{margin:0 0 25px;color:#333;font-size:1.5rem;font-weight:600}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.vehicle-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e1e5e9;transition:transform .3s ease,box-shadow .3s ease}.vehicle-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.vehicle-card-header{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.vehicle-icon{font-size:2.5rem;opacity:.8}.vehicle-title{flex:1}.vehicle-title h4{margin:0 0 5px;color:#333;font-size:1.2rem;font-weight:600}.vehicle-title p{margin:0;color:#666;font-size:.9rem}.status-badge.maintenance{background:#fff3e0;color:#f57c00}.status-badge.retired{background:#f5f5f5;color:#757575}.vehicle-details{margin-bottom:20px}.expiry-section{margin-top:20px;padding-top:15px;border-top:1px solid #f0f0f0}.expiry-section h5{margin:0 0 10px;color:#333;font-size:14px;font-weight:600}.expiry-items{display:flex;flex-direction:column;gap:8px}.expiry-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500}.expiry-item.valid{background:#e8f5e8;color:#388e3c}.expiry-item.warning{background:#fff3e0;color:#f57c00}.expiry-item.expired{background:#ffebee;color:#d32f2f}.expiry-item.not-set{background:#f5f5f5;color:#757575}.expiry-label{font-weight:600}.expiry-date{font-weight:500}.vehicle-description{padding:10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #667eea;margin-top:15px}.vehicle-description p{margin:0;color:#666;font-size:13px;line-height:1.4}.vehicle-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:15px;border-top:1px solid #f0f0f0}@media (max-width: 768px){.vehicle-list-header{flex-direction:column;gap:15px;align-items:stretch}.vehicle-list-header h2{text-align:center}.form-row,.vehicle-grid{grid-template-columns:1fr}.form-actions,.vehicle-actions{flex-direction:column}.detail-row{grid-template-columns:1fr}.vehicle-card-header{flex-direction:column;text-align:center}.vehicle-icon{font-size:3rem}}@media (max-width: 480px){.vehicle-form{padding:20px;margin:10px}.vehicle-card{padding:15px}}.driver-list{padding:20px}.driver-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.driver-list-header h2{margin:0;color:#333;font-size:1.8rem;font-weight:600}.driver-form-container{background:#00000080;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.driver-form{background:#fff;border-radius:12px;padding:30px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.driver-form h3{margin:0 0 25px;color:#333;font-size:1.5rem;font-weight:600}.driver-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.driver-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e1e5e9;transition:transform .3s ease,box-shadow .3s ease}.driver-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.driver-card-header{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.driver-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;flex-shrink:0}.driver-title{flex:1}.driver-title h4{margin:0 0 5px;color:#333;font-size:1.2rem;font-weight:600}.driver-title p{margin:0;color:#666;font-size:.9rem;font-weight:500}.status-badge.inactive{background:#ffebee;color:#d32f2f}.status-badge.on_leave{background:#fff3e0;color:#f57c00}.status-badge.suspended{background:#fce4ec;color:#c2185b}.driver-details{margin-bottom:20px}.detail-value.salary{color:#28a745;font-weight:700}.license-section{margin-top:20px;padding-top:15px;border-top:1px solid #f0f0f0}.license-section h5{margin:0 0 10px;color:#333;font-size:14px;font-weight:600}.license-status{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500}.license-status.valid{background:#e8f5e8;color:#388e3c}.license-status.warning{background:#fff3e0;color:#f57c00}.license-status.expired{background:#ffebee;color:#d32f2f}.license-status.not-set{background:#f5f5f5;color:#757575}.license-label{font-weight:600}.license-date{font-weight:500}.emergency-section{margin-top:20px;padding-top:15px;border-top:1px solid #f0f0f0}.emergency-section h5{margin:0 0 10px;color:#333;font-size:14px;font-weight:600}.emergency-info{padding:10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #ffc107}.driver-address{padding:10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #667eea;margin-top:15px}.driver-address p{margin:0;color:#666;font-size:13px;line-height:1.4}.driver-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:15px;border-top:1px solid #f0f0f0}@media (max-width: 768px){.driver-list-header{flex-direction:column;gap:15px;align-items:stretch}.driver-list-header h2{text-align:center}.form-row,.driver-grid{grid-template-columns:1fr}.form-actions,.driver-actions{flex-direction:column}.detail-row{grid-template-columns:1fr}.driver-card-header{flex-direction:column;text-align:center}.driver-avatar{width:80px;height:80px;font-size:2rem}}@media (max-width: 480px){.driver-form{padding:20px;margin:10px}.driver-card{padding:15px}}.route-list{padding:20px}.route-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.route-list-header h2{margin:0;color:#333;font-size:1.8rem;font-weight:600}.route-form-container{background:#00000080;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.route-form{background:#fff;border-radius:12px;padding:30px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.route-form h3{margin:0 0 25px;color:#333;font-size:1.5rem;font-weight:600}.route-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.route-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e1e5e9;transition:transform .3s ease,box-shadow .3s ease}.route-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.route-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.route-card-header h4{margin:0;color:#333;font-size:1.2rem;font-weight:600}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.status-badge.maintenance{background:#fff3cd;color:#856404}.route-details{margin-bottom:20px}.route-location{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:15px;background:#f8f9fa;border-radius:8px}.location-item{display:flex;align-items:center;gap:8px;flex:1}.location-icon{font-size:16px}.location-text{font-weight:500;color:#333;font-size:14px}.location-arrow{color:#667eea;font-weight:700;font-size:18px}.route-info{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.info-label{font-weight:500;color:#666;font-size:13px}.info-value{font-weight:600;color:#333;font-size:13px}.route-description{padding:10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #667eea}.route-description p{margin:0;color:#666;font-size:13px;line-height:1.4}.route-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:15px;border-top:1px solid #f0f0f0}@media (max-width: 768px){.route-list-header{flex-direction:column;gap:15px;align-items:stretch}.route-list-header h2{text-align:center}.form-row,.route-grid{grid-template-columns:1fr}.route-location{flex-direction:column;gap:10px}.location-arrow{transform:rotate(90deg)}.route-info{grid-template-columns:1fr}.form-actions,.route-actions{flex-direction:column}}@media (max-width: 480px){.route-form{padding:20px;margin:10px}.route-card{padding:15px}}.vehicle-assignment-list{padding:20px}.vehicle-assignment-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.vehicle-assignment-list-header h2{margin:0;color:#333;font-size:1.8rem;font-weight:600}.assignment-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e1e5e9;display:flex;align-items:center;gap:15px;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.stat-card.total{border-left:4px solid #667eea}.stat-card.active{border-left:4px solid #28a745}.stat-card.completed{border-left:4px solid #17a2b8}.stat-card.suspended{border-left:4px solid #ffc107}.stat-icon{font-size:2rem;opacity:.8}.stat-content h3{margin:0 0 5px;font-size:.9rem;font-weight:600;color:#666;text-transform:uppercase}.stat-number{margin:0;font-size:2rem;font-weight:700;color:#333}.assignment-form-container{background:#00000080;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.assignment-form{background:#fff;border-radius:12px;padding:30px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.assignment-form h3{margin:0 0 25px;color:#333;font-size:1.5rem;font-weight:600}.assignment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.assignment-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e1e5e9;transition:transform .3s ease,box-shadow .3s ease}.assignment-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.assignment-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.assignment-info h4{margin:0 0 5px;color:#333;font-size:1.2rem;font-weight:600}.assignment-info p{margin:0;color:#666;font-size:.9rem;font-weight:500}.status-badge.active{background:#e8f5e8;color:#388e3c}.status-badge.completed{background:#e3f2fd;color:#1976d2}.status-badge.suspended{background:#fff3e0;color:#f57c00}.assignment-details{margin-bottom:20px}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.assignment-notes{padding:10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #667eea;margin-top:15px}.assignment-notes p{margin:0;color:#666;font-size:13px;line-height:1.4}.assignment-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:15px;border-top:1px solid #f0f0f0}@media (max-width: 768px){.vehicle-assignment-list-header{flex-direction:column;gap:15px;align-items:stretch}.vehicle-assignment-list-header h2{text-align:center}.assignment-stats{grid-template-columns:repeat(2,1fr)}.form-row,.assignment-grid{grid-template-columns:1fr}.form-actions,.assignment-actions{flex-direction:column}.detail-row{grid-template-columns:1fr}.assignment-card-header{flex-direction:column;gap:10px}}@media (max-width: 480px){.assignment-stats{grid-template-columns:1fr}.assignment-form{padding:20px;margin:10px}.assignment-card,.stat-card{padding:15px}}.maintenance-list{padding:20px}.maintenance-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.maintenance-list-header h2{margin:0;color:#333;font-size:1.8rem;font-weight:600}.maintenance-form-container{background:#00000080;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.maintenance-form{background:#fff;border-radius:12px;padding:30px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.maintenance-form h3{margin:0 0 25px;color:#333;font-size:1.5rem;font-weight:600}.maintenance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.maintenance-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e1e5e9;transition:transform .3s ease,box-shadow .3s ease}.maintenance-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.maintenance-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.maintenance-card-header h4{margin:0;color:#333;font-size:1.1rem;font-weight:600;text-transform:capitalize}.status-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge.scheduled{background:#e3f2fd;color:#1976d2}.status-badge.in_progress{background:#fff3e0;color:#f57c00}.status-badge.completed{background:#e8f5e8;color:#388e3c}.status-badge.cancelled{background:#ffebee;color:#d32f2f}.maintenance-details{margin-bottom:20px}.detail-value.cost{color:#28a745;font-weight:700}.maintenance-description{padding:10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #ffc107;margin-top:10px}.maintenance-description p{margin:0;color:#666;font-size:13px;line-height:1.4}.maintenance-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:15px;border-top:1px solid #f0f0f0}@media (max-width: 768px){.maintenance-list-header{flex-direction:column;gap:15px;align-items:stretch}.maintenance-list-header h2{text-align:center}.form-row,.maintenance-grid{grid-template-columns:1fr}.form-actions,.maintenance-actions{flex-direction:column}}@media (max-width: 480px){.maintenance-form{padding:20px;margin:10px}.maintenance-card{padding:15px}}.transport-expense-list{padding:20px}.transport-expense-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.transport-expense-list-header h2{margin:0;color:#333;font-size:1.8rem;font-weight:600}.expense-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e1e5e9;display:flex;align-items:center;gap:15px;transition:transform .3s ease,box-shadow .3s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.summary-card.total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.summary-card.category{border-left:4px solid #28a745}.summary-icon{font-size:2rem;opacity:.8}.summary-content h3{margin:0 0 5px;font-size:1rem;font-weight:600;opacity:.9}.summary-amount{margin:0;font-size:1.5rem;font-weight:700}.summary-card.total .summary-amount{color:#fff}.expense-form-container{background:#00000080;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.expense-form{background:#fff;border-radius:12px;padding:30px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.expense-form h3{margin:0 0 25px;color:#333;font-size:1.5rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:500;color:#555;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;transition:border-color .3s ease}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e1e5e9}.expense-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.expense-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e1e5e9;transition:transform .3s ease,box-shadow .3s ease}.expense-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.expense-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.expense-card-header h4{margin:0;color:#333;font-size:1.1rem;font-weight:600;text-transform:capitalize}.expense-amount{font-size:1.3rem;font-weight:700;color:#28a745}.expense-details{margin-bottom:20px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f8f9fa}.detail-item:last-child{border-bottom:none}.detail-label{font-weight:500;color:#666;font-size:13px}.detail-value{font-weight:600;color:#333;font-size:13px}.category-badge{background:#e3f2fd;color:#1976d2;padding:2px 8px;border-radius:12px;font-size:11px;text-transform:capitalize}.expense-description{padding:10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #28a745;margin-top:10px}.expense-description p{margin:0;color:#666;font-size:13px;line-height:1.4}.expense-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:15px;border-top:1px solid #f0f0f0}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary:hover{background:#5a6268}.btn-sm{padding:6px 12px;font-size:12px}.alert{padding:15px;border-radius:8px;margin-bottom:20px;font-weight:500}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.empty-state h3{margin:0 0 10px;color:#333;font-size:1.5rem}.empty-state p{margin:0 0 30px;font-size:1rem}@media (max-width: 768px){.transport-expense-list-header{flex-direction:column;gap:15px;align-items:stretch}.transport-expense-list-header h2{text-align:center}.expense-summary,.form-row,.expense-grid{grid-template-columns:1fr}.form-actions,.expense-actions{flex-direction:column}.summary-card{flex-direction:column;text-align:center}}@media (max-width: 480px){.expense-form{padding:20px;margin:10px}.expense-card,.summary-card{padding:15px}}.vehicle-management{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.vehicle-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;color:#fff;flex-wrap:wrap;gap:20px}.header-content{flex:1}.vehicle-management-header h1{font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.vehicle-management-header p{font-size:1.1rem;opacity:.9;margin:0}.header-actions{display:flex;gap:10px}.refresh-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:8px}.refresh-btn:hover:not(:disabled){background:#ffffff4d;transform:translateY(-1px)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.alert{padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .3s ease;position:relative}.alert-danger{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.error-icon,.success-icon{font-size:1.2rem}.error-message,.success-message{flex:1;font-weight:500}.error-close,.success-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.error-close:hover,.success-close:hover{background:#0000001a}.vehicle-management-tabs{display:flex;background:#fff;border-radius:12px;padding:8px;margin-bottom:30px;box-shadow:0 4px 15px #0000001a;overflow-x:auto;gap:4px}.tab-button{background:none;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;color:#6c757d;transition:all .3s ease;display:flex;align-items:center;gap:8px;white-space:nowrap;position:relative}.tab-button:hover{background:#f8f9fa;color:#495057}.tab-button.active{background:#667eea;color:#fff;box-shadow:0 2px 8px #667eea4d}.tab-icon{font-size:1.1rem}.tab-label{font-weight:600}.tab-count{background:#fff3;color:inherit;padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:700;min-width:20px;text-align:center}.tab-button.active .tab-count{background:#ffffff4d}.vehicle-management-content{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;overflow:hidden;min-height:500px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6c757d}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{font-size:1.1rem;font-weight:500;margin:0}.vehicle-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px 30px;border-bottom:1px solid #e9ecef}.header-info{display:flex;align-items:center;gap:15px}.header-info h2{margin:0;color:#2c3e50;font-size:1.8rem}.vehicle-count{background:#e9ecef;color:#6c757d;padding:4px 12px;border-radius:20px;font-size:.9rem;font-weight:600}.vehicle-form-container{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.vehicle-form{background:#fff;border-radius:15px;padding:30px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e9ecef}.form-header h3{margin:0;color:#2c3e50;font-size:1.5rem}.close-btn{background:none;border:none;font-size:1.8rem;cursor:pointer;color:#6c757d;padding:5px;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.close-btn:hover{background:#f8f9fa;color:#495057}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-text{color:#dc3545;font-size:.85rem;margin-top:5px;display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.btn-sm{padding:8px 16px;font-size:.9rem}.btn-outline-primary{background:transparent;color:#667eea;border:2px solid #667eea}.btn-outline-primary:hover{background:#667eea;color:#fff}.btn-outline-danger{background:transparent;color:#dc3545;border:2px solid #dc3545}.btn-outline-danger:hover{background:#dc3545;color:#fff}@media (max-width: 768px){.vehicle-management{padding:10px}.vehicle-management-header{flex-direction:column;text-align:center}.vehicle-management-header h1{font-size:2rem}.vehicle-management-tabs{flex-wrap:wrap}.tab-button{flex:1;min-width:120px}.form-row{grid-template-columns:1fr}.vehicle-form{margin:10px;padding:20px}.form-actions{flex-direction:column}.btn{width:100%;justify-content:center}}@media (max-width: 480px){.vehicle-management-header h1{font-size:1.8rem}.tab-button{padding:10px 15px;font-size:.9rem}.tab-icon{font-size:1rem}}.profile-container{min-height:100vh;background:linear-gradient(120deg,#232946 60%,#393e46);padding:2rem 0}.profile-wrapper{max-width:1200px;margin:0 auto;padding:0 1rem}.profile-card{border:none;border-radius:1.5rem;background:#2c2c54fa;box-shadow:0 .5rem 2rem #00000040}.profile-header{background:linear-gradient(135deg,#6c63ff,#393e46);color:#fff;padding:2.5rem;border-bottom:2px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 24px #6c63ff26;position:relative;border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.profile-title{margin:0;font-weight:800;font-size:2.2rem;letter-spacing:.5px;text-shadow:0 2px 8px rgba(35,41,70,.33);display:flex;align-items:center;gap:.7rem}.profile-title i{font-size:2.2rem}.profile-tabs{background:#232946;padding:0 2.5rem;border-bottom:1px solid #393e46;display:flex;overflow-x:auto;position:sticky;top:0;z-index:10;scrollbar-width:thin;scrollbar-color:#6c63ff #232946}.profile-tabs::-webkit-scrollbar{height:4px}.profile-tabs::-webkit-scrollbar-track{background:#232946}.profile-tabs::-webkit-scrollbar-thumb{background:#6c63ff;border-radius:2px}.profile-tab{flex-shrink:0;background:transparent;color:#6c63ff;border:none;border-bottom:3px solid transparent;font-weight:700;font-size:1rem;padding:.7rem 1.5rem;border-radius:1rem 1rem 0 0;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap;position:relative}.profile-tab:hover{background:#6c63ff1a;color:#fff}.profile-tab:focus{outline:2px solid #6c63ff;outline-offset:2px}.profile-tab--active{background:linear-gradient(135deg,#6c63ff,#393e46);color:#fff;border-bottom:3px solid #ff6b6b}.profile-tab__label{display:inline-block}.profile-content{padding:2rem 2.5rem}@media (max-width: 768px){.profile-wrapper{padding:0 .5rem}.profile-header{padding:1.5rem;flex-direction:row;justify-content:center;gap:1rem;text-align:center}.profile-title,.profile-title i{font-size:1.8rem}.profile-tabs{padding:0 1rem;justify-content:flex-start}.profile-tab{padding:.5rem 1rem;font-size:.9rem}.profile-tab__label{display:inline-block}.profile-tab i{font-size:1.2rem}.profile-content{padding:1rem}}@media (max-width: 480px){.profile-container{padding:1rem 0}.profile-header{padding:1rem}.profile-title,.profile-title i{font-size:1.5rem}.profile-tabs{padding:0 .5rem}.profile-tab{padding:.4rem .8rem;font-size:.8rem}.profile-content{padding:.5rem}}@media (prefers-reduced-motion: reduce){.profile-tab{transition:none}}@media (prefers-contrast: high){.profile-tab{border:2px solid currentColor}.profile-tab--active{border:2px solid #fff}}.profile-tab:focus-visible{outline:3px solid #6c63ff;outline-offset:2px}.profile-loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:#fff}.profile-loading .spinner-border{color:#6c63ff}.profile-section{background:#232946;border-radius:1rem;box-shadow:0 2px 12px #6c63ff12;border:1px solid rgba(108,99,255,.1);margin-bottom:2rem;overflow:hidden}.profile-section__title{background:linear-gradient(135deg,#393e46 60%,#232946);color:#fff;padding:1rem 1.5rem;font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:.5rem;margin:0;border-bottom:1px solid rgba(108,99,255,.1)}.profile-section .row{padding:1.5rem}.form-label{color:#fff;font-weight:700;margin-bottom:.5rem;display:block}.form-control,.form-select{background:#232946;color:#fff;border:2px solid #6c63ff;border-radius:.7rem;padding:.7rem 1rem;font-weight:600;font-size:1rem;width:100%;transition:all .2s ease}.form-control:focus,.form-select:focus{background:#2e3559;border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b4d;outline:none}.form-control.is-invalid,.form-select.is-invalid{border-color:#ff6b6b}.invalid-feedback{color:#ff6b6b;font-weight:600;margin-top:.25rem;font-size:.875em}.btn-submit{background:linear-gradient(135deg,#ff6b6b,#6c63ff);color:#fff;border:none;border-radius:2rem;font-weight:700;font-size:1rem;padding:.7rem 2rem;box-shadow:0 2px 12px #6c63ff40;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.7rem}.btn-submit:hover{background:linear-gradient(135deg,#6c63ff,#ff6b6b);transform:translateY(-2px);box-shadow:0 4px 16px #6c63ff4d}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-submit .spinner-border{width:1rem;height:1rem}@media (max-width: 768px){.profile-section__title{font-size:1rem;padding:.8rem 1rem}.profile-section .row{padding:1rem}.form-control,.form-select{font-size:.9rem;padding:.6rem .8rem}}.employee-list-container{padding:20px 0}.employee-photo{width:50px;height:50px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 8px #0000001a}.employee-photo-placeholder{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;border:3px solid #fff;box-shadow:0 2px 8px #0000001a}.employee-list-container .card{border:none;box-shadow:0 0 20px #0000001a;border-radius:10px}.employee-list-container .card-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:10px 10px 0 0!important;padding:20px}.employee-list-container .card-body{padding:30px}.employee-list-container .table th{background-color:#f8f9fa;border-top:none;font-weight:600;color:#495057}.employee-list-container .table td{vertical-align:middle}.employee-list-container .badge{font-size:11px;padding:6px 10px;border-radius:20px;font-weight:600}.employee-list-container .btn{border-radius:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .3s ease}.employee-list-container .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.employee-list-container .btn-outline-info:hover{background-color:#17a2b8;border-color:#17a2b8}.employee-list-container .btn-outline-warning:hover{background-color:#ffc107;border-color:#ffc107;color:#212529}.employee-list-container .btn-outline-danger:hover{background-color:#dc3545;border-color:#dc3545}.employee-list-container .form-control:focus,.employee-list-container .form-select:focus{border-color:#667eea;box-shadow:none}.employee-list-container .input-group .btn{border-left:none}.employee-list-container .input-group .form-control{border-right:none}.employee-list-container .input-group .form-control:focus{border-right:none}.employee-list-container .statistics-card{transition:transform .2s ease-in-out}.employee-list-container .statistics-card:hover{transform:translateY(-2px)}.employee-list-container .pagination{margin-top:20px}.employee-list-container .pagination .page-item .page-link{border:2px solid #e9ecef;color:#495057;padding:10px 15px;margin:0 2px;border-radius:6px;font-weight:600;transition:all .3s ease}.employee-list-container .pagination .page-item .page-link:hover{background-color:#667eea;border-color:#667eea;color:#fff;transform:translateY(-2px)}.employee-list-container .pagination .page-item.active .page-link{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.employee-list-container .pagination .page-item.disabled .page-link{background-color:#f8f9fa;border-color:#e9ecef;color:#6c757d;cursor:not-allowed}.employee-list-container .modal-content{border:none;border-radius:10px;box-shadow:0 10px 30px #0003}.employee-list-container .modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:10px 10px 0 0;border-bottom:none}.employee-list-container .modal-footer{border-top:1px solid #dee2e6;padding:20px}@media (max-width: 768px){.employee-list-container .card-body{padding:20px}.employee-list-container .table-responsive{font-size:14px}.employee-list-container .btn{padding:6px 10px;font-size:11px}.employee-list-container .badge{font-size:10px;padding:4px 8px}.employee-photo,.employee-photo-placeholder{width:40px;height:40px;font-size:14px}.employee-list-container .card.bg-primary h3,.employee-list-container .card.bg-success h3,.employee-list-container .card.bg-warning h3,.employee-list-container .card.bg-danger h3{font-size:24px}}@media (max-width: 576px){.employee-list-container .table thead th,.employee-list-container .table tbody td{padding:10px 8px}.employee-list-container .pagination .page-item .page-link{padding:8px 12px;font-size:12px}}.employee-list-container .spinner-border{color:#667eea}.employee-list-container .table tbody tr:hover{background-color:#f8f9fa;transition:background-color .3s ease}.employee-list-container .table-responsive::-webkit-scrollbar{height:8px}.employee-list-container .table-responsive::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.employee-list-container .table-responsive::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.employee-list-container .table-responsive::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.employee-list-container .table tbody tr{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.employee-list-container .btn-outline-info,.employee-list-container .btn-outline-warning,.employee-list-container .btn-outline-danger{position:relative;overflow:hidden}.employee-list-container .btn-outline-info:before,.employee-list-container .btn-outline-warning:before,.employee-list-container .btn-outline-danger:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.employee-list-container .btn-outline-info:hover:before,.employee-list-container .btn-outline-warning:hover:before,.employee-list-container .btn-outline-danger:hover:before{left:100%}.create-employee-container{padding:20px 0}.create-employee-container .card{border:none;box-shadow:0 0 20px #0000001a;border-radius:10px}.create-employee-container .card-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:10px 10px 0 0!important;padding:20px}.create-employee-container .card-body{padding:30px}.create-employee-container .nav-tabs{border-bottom:2px solid #e9ecef;margin-bottom:30px}.create-employee-container .nav-tabs .nav-link{border:none;color:#6c757d;font-weight:500;padding:12px 20px;margin-right:5px;border-radius:8px 8px 0 0;transition:all .3s ease}.create-employee-container .nav-tabs .nav-link:hover{background-color:#f8f9fa;color:#495057}.create-employee-container .nav-tabs .nav-link.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.create-employee-container .form-label{font-weight:600;color:#495057;margin-bottom:8px}.create-employee-container .form-control,.create-employee-container .form-select{border:2px solid #e9ecef;border-radius:8px;padding:12px 15px;transition:all .3s ease}.create-employee-container .form-control:focus,.create-employee-container .form-select:focus{border-color:#667eea;box-shadow:0 0 0 .2rem #667eea40}.create-employee-container .form-control.is-invalid{border-color:#dc3545}.create-employee-container .form-control.is-valid{border-color:#198754}.create-employee-container .btn{border-radius:8px;padding:12px 24px;font-weight:600;transition:all .3s ease}.create-employee-container .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.create-employee-container .btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.create-employee-container .btn-secondary{background:#6c757d;border:none}.create-employee-container .btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}.file-upload-container{border:2px dashed #dee2e6;border-radius:10px;padding:30px;text-align:center;transition:all .3s ease;background-color:#f8f9fa}.file-upload-container:hover{border-color:#667eea;background-color:#f0f2ff}.file-upload-container input[type=file]{display:none}.file-upload-label{cursor:pointer;color:#667eea;font-weight:600}.file-upload-label:hover{color:#5a67d8}.preview-container{margin-top:15px}.preview-image{max-width:200px;max-height:200px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.preview-placeholder{width:200px;height:200px;border:2px dashed #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;color:#6c757d}.address-section{background-color:#f8f9fa;border-radius:10px;padding:20px;margin-bottom:20px}.address-section h5{color:#495057;margin-bottom:20px;border-bottom:2px solid #dee2e6;padding-bottom:10px}.same-as-permanent{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;padding:15px;margin-bottom:20px}.same-as-permanent .form-check-input:checked{background-color:#667eea;border-color:#667eea}.form-section{margin-bottom:30px}.form-section h6{color:#495057;font-weight:600;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #dee2e6}@media (max-width: 768px){.create-employee-container .card-body{padding:20px}.create-employee-container .nav-tabs .nav-link{padding:10px 15px;font-size:14px}.file-upload-container{padding:20px}.preview-image{max-width:150px;max-height:150px}.preview-placeholder{width:150px;height:150px}}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:1000;border-radius:10px}.alert{border-radius:8px;border:none;padding:15px 20px}.alert-success{background-color:#d1e7dd;color:#0f5132}.alert-danger{background-color:#f8d7da;color:#721c24}.tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hover-card{transition:all .3s ease;border:1px solid rgba(0,0,0,.125)}.hover-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026!important;border-color:var(--bs-primary)}.hostel-stats-card{transition:all .3s ease;border:none;border-radius:12px}.hostel-stats-card:hover{transform:scale(1.05);box-shadow:0 8px 25px #0003!important}.hostel-modal-header{background:linear-gradient(135deg,var(--bs-primary) 0%,var(--bs-info) 100%);border-bottom:none}.hostel-modal-title{font-weight:600}.hostel-form-section{border-left:3px solid var(--bs-primary);padding-left:1rem;margin-bottom:1.5rem}.hostel-form-section h6{color:var(--bs-primary);font-weight:600;margin-bottom:1rem}.hostel-badge{font-size:.75rem;padding:.375rem .75rem;border-radius:20px;font-weight:500}.hostel-action-btn{border-radius:20px;padding:.375rem .75rem;font-size:.875rem;transition:all .2s ease}.hostel-action-btn:hover{transform:translateY(-1px)}.hostel-table th{background-color:var(--bs-dark);color:#fff;border:none;font-weight:600}.hostel-table tbody tr:hover{background-color:rgba(var(--bs-primary-rgb),.05)}.hostel-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.hostel-loading-spinner{color:var(--bs-primary)}.hostel-empty-state{text-align:center;padding:3rem 1rem;color:var(--bs-secondary)}.hostel-empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.5}.hostel-empty-state h5{margin-bottom:.5rem;font-weight:600}.hostel-empty-state p{margin-bottom:1.5rem;opacity:.8}.hostel-filter-section{background-color:var(--bs-light);border-radius:8px;padding:1rem;margin-bottom:1rem}.hostel-search-input{border-radius:20px;border:1px solid var(--bs-border-color);padding:.5rem 1rem}.hostel-search-input:focus{border-color:var(--bs-primary);box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.25)}.hostel-facility-checkbox{margin-bottom:.5rem}.hostel-facility-checkbox .form-check-input:checked{background-color:var(--bs-primary);border-color:var(--bs-primary)}.hostel-preview-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;padding:1rem}@media (max-width: 768px){.hostel-stats-card{margin-bottom:1rem}.hostel-action-buttons{flex-direction:column}.hostel-action-btn{width:100%;margin-bottom:.5rem}.hostel-modal-body{padding:1rem}.hostel-card-footer{flex-direction:column;gap:.5rem}}@media (max-width: 576px){.hostel-card{margin-bottom:1rem}.hostel-stats-card{margin-bottom:.5rem}.hostel-filter-section{padding:.75rem}.hostel-modal{margin:.5rem}}.hostel-fade-in{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hostel-slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.hostel-modal-body::-webkit-scrollbar{width:6px}.hostel-modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.hostel-modal-body::-webkit-scrollbar-thumb{background:var(--bs-primary);border-radius:3px}.hostel-modal-body::-webkit-scrollbar-thumb:hover{background:var(--bs-primary-dark)}.hostel-status-indicator{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.5rem}.hostel-status-active{background-color:var(--bs-success)}.hostel-status-inactive{background-color:var(--bs-danger)}.hostel-status-maintenance{background-color:var(--bs-warning)}.hostel-occupancy-progress{height:8px;border-radius:4px;background-color:var(--bs-light);overflow:hidden}.hostel-occupancy-fill{height:100%;background:linear-gradient(90deg,var(--bs-success) 0%,var(--bs-info) 100%);transition:width .3s ease}.hostel-tooltip{position:relative;cursor:help}.hostel-tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:var(--bs-dark);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:1000}@media print{.hostel-action-buttons,.hostel-filter-section,.btn{display:none!important}.hostel-card{-moz-column-break-inside:avoid;break-inside:avoid;box-shadow:none!important;border:1px solid #000!important}}
