*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;background:none;border:none;padding:0}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}.main-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#1e1e2e,#2a2d47);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.form{width:100%;max-width:450px;padding:40px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#1e1e2ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff0d;position:relative;overflow:hidden}.form:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.form-title{text-align:center;margin-bottom:32px;color:#fff;font-size:24px;font-weight:600;letter-spacing:-.5px}.input-group{margin-bottom:28px;position:relative}.input-group label{display:block;margin-bottom:10px;font-weight:500;color:#e2e8f0;font-size:14px;letter-spacing:.025em}.input-group input{width:100%;padding:16px 20px;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:16px;box-sizing:border-box;background:#ffffff0d;color:#fff;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input-group input::placeholder{color:#fff6}.input-group input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a,0 0 20px #6366f133;background:#ffffff14;transform:translateY(-1px)}.input-group input:hover:not(:focus){border-color:#fff3;background:#ffffff12}.submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;margin-top:8px}.submit-btn: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 ease}.submit-btn:hover{background:linear-gradient(135deg,#5856eb,#7c3aed);transform:translateY(-2px);box-shadow:0 10px 25px #6366f14d,0 0 0 1px #ffffff1a}.submit-btn:hover:before{left:100%}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{background:#ffffff1a;cursor:not-allowed;transform:none;box-shadow:none}.submit-btn:disabled:before{display:none}.status-indicator{margin-top:8px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-indicator.loading{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.status-indicator.error{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.2)}.status-indicator.success{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:modal-overlay-fade-in .3s ease-out}.modal-content{background:#1e1e2ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px;min-width:320px;max-width:500px;box-shadow:0 20px 40px #0006,0 0 0 1px #ffffff0d;animation:modal-slide-in .3s ease-out;position:relative;overflow:hidden}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.modal-title{font-size:18px;font-weight:600;margin-bottom:16px;color:#fff;text-align:center}.modal-message{color:#e2e8f0;margin-bottom:28px;line-height:1.6;text-align:center;font-size:15px}.modal-buttons{display:flex;justify-content:center;gap:12px}.modal-button{padding:12px 24px;border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;position:relative;overflow:hidden;min-width:100px}.modal-button.confirm{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.modal-button.confirm: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 ease}.modal-button.confirm:hover{background:linear-gradient(135deg,#5856eb,#7c3aed);transform:translateY(-1px);box-shadow:0 8px 20px #6366f14d,0 0 0 1px #ffffff1a}.modal-button.confirm:hover:before{left:100%}.modal-button.confirm:active{transform:translateY(0)}@keyframes modal-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.auth-form{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px;position:relative}.auth-form:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:16px 16px 0 0}.auth-form h2{text-align:center;margin-bottom:.5rem;color:#2c3e50;font-size:1.8rem;font-weight:600}.auth-subtitle{text-align:center;margin-bottom:2rem;color:#6c757d;font-size:.9rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#495057;font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:.875rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .3s ease;background-color:#f8f9fa}.form-group input:focus{outline:none;border-color:#667eea;background-color:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#adb5bd}.auth-btn{width:100%;padding:.875rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:none}.auth-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.auth-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.auth-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none}.auth-links{margin-top:1.5rem;text-align:center}.auth-link{color:#667eea;text-decoration:none;font-size:.9rem;transition:color .3s ease}.auth-link:hover{color:#764ba2;text-decoration:underline}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:#adb5bd;font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e9ecef}.auth-divider:before{margin-right:1rem}.auth-divider:after{margin-left:1rem}.auth-toggle{display:flex;background:#f8f9fa;border-radius:8px;padding:4px;margin-bottom:1.5rem}.auth-toggle-btn{flex:1;padding:.5rem;border:none;background:transparent;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;color:#6c757d}.auth-toggle-btn.active{background:#fff;color:#667eea;box-shadow:0 2px 4px #0000001a}@media (max-width: 480px){.auth-container{padding:.5rem}.auth-form{padding:2rem 1.5rem}.auth-form h2{font-size:1.5rem}}.admin-layout{display:flex;min-height:100vh}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-top:1px solid #e0e0e0;margin-top:1rem}.pagination-info{color:#666;font-size:.9rem}.pagination-controls{display:flex;gap:.5rem}.pagination-btn{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s;font-size:.9rem}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#999}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.table-controls{display:flex;gap:1rem;align-items:center}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{font-size:.9rem;color:#666;white-space:nowrap}.control-select{padding:.25rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background:#fff}.admin-sidebar{width:250px;background:#2c3e50;color:#fff;transition:width .3s ease;display:flex;flex-direction:column;position:relative}.admin-sidebar.collapsed{width:60px}.sidebar-header{padding:1rem;border-bottom:1px solid #34495e;display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{margin:0;font-size:1.2rem}.sidebar-toggle{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem}.sidebar-nav{padding:1rem 0;flex:1;overflow-y:auto}.nav-item{display:flex;align-items:center;padding:.75rem 1rem;color:#fff;text-decoration:none;transition:background-color .2s}.nav-item:hover{background-color:#34495e}.nav-item.active{background-color:#3498db}.nav-icon{margin-right:.5rem;font-size:1.2rem}.collapsed .nav-label{display:none}.sidebar-footer{margin-top:auto;padding:1rem;border-top:1px solid #34495e;flex-shrink:0}.logout-btn{display:flex;align-items:center;width:100%;padding:.75rem;background:none;border:none;color:#fff;cursor:pointer;border-radius:4px;transition:background-color .2s;text-align:left;justify-content:flex-start}.collapsed .logout-btn{justify-content:center;padding:.75rem .5rem}.collapsed .logout-btn .nav-icon{margin-right:0}.logout-btn:hover{background-color:#e74c3c}.admin-main{flex:1;background:#f8f9fa}.admin-header{background:#fff;padding:1rem 2rem;border-bottom:1px solid #dee2e6;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.admin-header h1{margin:0;color:#2c3e50}.user-info{display:flex;align-items:center;gap:1rem;color:#6c757d;font-size:.9rem}.role-badge{background:#3498db;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;margin-left:.5rem}.role-badge.super-admin{background:#e74c3c}.admin-content{padding:2rem}.admin-login{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f8f9fa}.login-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-form h2{text-align:center;margin-bottom:1.5rem;color:#2c3e50}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.login-btn{width:100%;padding:.75rem;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.login-btn:hover{background:#2980b9}.login-btn:disabled{background:#bdc3c7;cursor:not-allowed}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.dashboard-card h3{margin:0 0 1rem;color:#2c3e50}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #dee2e6}.table-header h3{margin:0;color:#2c3e50}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#219a52}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid #dee2e6}.data-table th{background:#f8f9fa;font-weight:600;color:#495057}.data-table tbody tr:hover{background:#f8f9fa}.loading{text-align:center;padding:2rem;color:#6c757d}.error{background:#f8d7da;color:#721c24;padding:.75rem;border-radius:4px;margin-bottom:1rem}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;max-height:80%;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}
