*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#f5f5f5;color:#333}.container{max-width:1200px;margin:0 auto;padding:20px}.navbar{background-color:#2c3e50;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.navbar h1{font-size:1.5rem}.navbar button{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:1rem}.navbar button:hover{background-color:#c0392b}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.login-box{background:white;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.login-box h2{margin-bottom:1.5rem;text-align:center;color:#2c3e50}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 5px #3498db4d}.btn{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.btn:hover{background-color:#2980b9}.btn-danger{background-color:#e74c3c}.btn-danger:hover{background-color:#c0392b}.btn-success{background-color:#27ae60}.btn-success:hover{background-color:#229954}.btn-small{padding:.5rem .75rem;font-size:.9rem;margin:0 .25rem}.dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.card{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px #0000001a}.card h3{color:#2c3e50;margin-bottom:.5rem}.card .number{font-size:2.5rem;font-weight:700;color:#3498db;margin:.5rem 0}.card.active .number{color:#27ae60}.card.expired .number{color:#e74c3c}.table-container{background:white;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden;margin-bottom:2rem}.table-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.table-header h2{color:#2c3e50}table{width:100%;border-collapse:collapse}th{background-color:#f5f5f5;padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}td{padding:1rem;border-bottom:1px solid #eee}tr:hover{background-color:#f9f9f9}.status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:500}.status.active{background-color:#d4edda;color:#155724}.status.expired{background-color:#f8d7da;color:#721c24}.actions{display:flex;gap:.5rem}.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{background:white;padding:2rem;border-radius:8px;width:90%;max-width:500px;box-shadow:0 5px 20px #0000004d}.modal h2{margin-bottom:1.5rem;color:#2c3e50}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{flex:1}.alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.alert.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.nav-tabs{display:flex;gap:0;background:white;border-bottom:2px solid #ddd;margin-bottom:2rem}.nav-tab{padding:1rem 1.5rem;cursor:pointer;border:none;background:none;font-size:1rem;color:#666;transition:all .3s}.nav-tab.active{color:#3498db;border-bottom:3px solid #3498db;margin-bottom:-2px}.nav-tab:hover{color:#333}@media (max-width: 768px){.navbar{flex-direction:column;gap:1rem}.dashboard{grid-template-columns:1fr}.modal{width:95%}table{font-size:.9rem}th,td{padding:.75rem}.actions{flex-direction:column}.btn-small{width:100%}}.text-center{text-align:center}.mt{margin-top:1rem}.mb{margin-bottom:1rem}.text-muted{color:#999;font-size:.9rem}
