.login-page{align-items:center;background:linear-gradient(135deg,#2c3e50,#4a6491);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;padding:2.5rem;width:100%}.login-title{color:#2c3e50;font-size:1.75rem;margin-bottom:.25rem;text-align:center}.login-subtitle{color:#7f8c8d;font-size:.95rem;margin-bottom:1.5rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-error{background:#fde8e8;border-radius:6px;color:#c0392b;font-size:.9rem;padding:.75rem 1rem}.login-submit{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.9rem 1.5rem;transition:background-color .2s}.login-submit:hover:not(:disabled){background:#2980b9}.login-submit:disabled{cursor:not-allowed;opacity:.7}*{box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0}body{background-color:#f5f7fa;color:#333;line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.header{background:linear-gradient(135deg,#2c3e50,#4a6491);box-shadow:0 4px 12px #0000001a;color:#fff;padding:1.5rem 2rem}.header-content{justify-content:space-between;margin:0 auto;max-width:1200px}.header-content,.logo{align-items:center;display:flex}.logo{gap:1rem}.logo h1{font-size:1.8rem;font-weight:600}.logo-icon{font-size:2rem}.nav-menu{display:flex;gap:1.5rem}.nav-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.nav-btn:hover{background-color:#ffffff1a}.nav-btn.active{background-color:#fff3;font-weight:600}.main-content{flex:1 1;margin:2rem auto;max-width:1200px;padding:0 2rem;width:100%}.dashboard{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.dashboard-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000000d;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.dashboard-card:hover{box-shadow:0 6px 16px #0000001a;transform:translateY(-5px)}.dashboard-card h3{align-items:center;color:#2c3e50;display:flex;font-size:1.2rem;gap:.5rem;margin-bottom:1rem}.stat-number{color:#3498db;font-size:2.5rem;font-weight:700;margin:.5rem 0}.recent-list{list-style:none;margin-top:1rem}.recent-list li{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:.7rem 0}.recent-list li:last-child{border-bottom:none}.action-buttons{display:flex;gap:1rem;margin-top:2rem}.action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.8rem 1.5rem;transition:all .3s ease}.action-btn.primary,.action-btn.secondary{color:#fff}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.list-header h2{color:#2c3e50;font-size:1.8rem}.add-btn{align-items:center;background-color:#2ecc71;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.8rem 1.5rem;transition:background-color .3s ease}.add-btn:hover{background-color:#27ae60}.table-container{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000000d;overflow:hidden}table{border-collapse:collapse;width:100%}thead{background-color:#2c3e50;color:#fff}th{font-weight:600;padding:1rem;text-align:left}tbody tr{border-bottom:1px solid #eee;transition:background-color .2s ease}tbody tr:hover{background-color:#f9f9f9}td{padding:1rem}.action-cell{display:flex;gap:.5rem}.icon-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;padding:.3rem;transition:all .2s ease}.edit-btn{color:#3498db}.edit-btn:hover{background-color:#3498db1a}.delete-btn{color:#e74c3c}.delete-btn:hover{background-color:#e74c3c1a}.empty-message{color:#7f8c8d;font-size:1.1rem;padding:3rem;text-align:center}.form-container{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000000d;margin:0 auto;max-width:800px;padding:2rem}.form-container h2{align-items:center;color:#2c3e50;font-size:1.8rem;gap:.5rem}.form-container h2,.form-row{display:flex;margin-bottom:1.5rem}.form-row{gap:1.5rem}.form-group{display:flex;flex:1 1;flex-direction:column}.form-group label{color:#2c3e50;font-weight:600;margin-bottom:.5rem}.form-input{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.8rem;transition:border-color .3s ease}.form-input:focus{border-color:#3498db;outline:none}.form-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.cancel-btn{background-color:#95a5a6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:background-color .3s ease}.cancel-btn:hover{background-color:#7f8c8d}.submit-btn{background-color:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:background-color .3s ease}.submit-btn:hover{background-color:#2980b9}.footer{background-color:#2c3e50;color:#fff;margin-top:2rem;padding:1.5rem;text-align:center}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem}.nav-menu{flex-wrap:wrap;justify-content:center;width:100%}.form-row{flex-direction:column;gap:1rem}.dashboard{grid-template-columns:1fr}.table-container{overflow-x:auto}table{min-width:700px}.action-buttons,.list-header{flex-direction:column}.list-header{align-items:flex-start;gap:1rem}}.role-preview{transition:all .3s ease}.department-badge,.level-badge{display:inline-block;font-size:.9rem;font-weight:600;min-width:80px;text-align:center}.action-btn{background-color:#95a5a6;color:#fff}.action-btn:hover{background-color:#7f8c8d}.action-btn.primary{background-color:#3498db}.action-btn.primary:hover{background-color:#2980b9}.action-btn.secondary{background-color:#2ecc71}.action-btn.secondary:hover{background-color:#27ae60}.form-input[type=textarea]{min-height:100px;resize:vertical}@media (max-width:768px){.nav-menu{flex-wrap:wrap;gap:.5rem}.nav-btn{font-size:.9rem;padding:.5rem}.role-preview{padding:1rem}.department-badge,.level-badge{font-size:.8rem;padding:.2rem .5rem}}.logo{height:40px;width:40px}
/*# sourceMappingURL=main.54fcb7aa.css.map*/