:root{--primary:#1F3C7E;--secondary:#E20711;--white:#fff;--black:#000}.card{border:none;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin-bottom:20px}.card-header{background:var(--white);border-bottom:3px solid var(--secondary);font-weight:700;color:var(--primary)}.stat-card{background:linear-gradient(135deg,var(--primary) 0,#2a4b9c 100%);color:var(--white);padding:20px;border-radius:10px;margin-bottom:20px}.stat-card i{font-size:2.5rem;opacity:.8}.stat-card .stat-number{font-size:2rem;font-weight:700}.table thead th{background:var(--primary);color:var(--white);border-bottom:none}.table-striped tbody tr:nth-of-type(odd){background:rgba(31,60,126,.05)}.form-control:focus,.form-select:focus{border-color:var(--secondary);box-shadow:0 0 0 .2rem rgba(226,7,17,.25)}.login-container{max-width:400px;margin:100px auto;padding:20px}.sidebar{min-height:calc(100vh - 70px);background:var(--white);box-shadow:2px 0 10px rgba(0,0,0,.1)}.sidebar .nav-link{color:var(--black);padding:12px 20px;border-left:3px solid transparent}.sidebar .nav-link:hover{background:rgba(226,7,17,.1);border-left-color:var(--secondary)}.sidebar .nav-link.active{background:rgba(31,60,126,.1);border-left-color:var(--primary);color:var(--primary);font-weight:700}.code-display{font-family:'Courier New',monospace;font-size:2rem;letter-spacing:5px;background:#f8f9fa;padding:15px;border-radius:5px;border:2px dashed var(--secondary);text-align:center;margin:20px 0}.badge-active{background:#28a745;color:white;padding:5px 10px;border-radius:20px}.badge-used{background:#6c757d;color:white;padding:5px 10px;border-radius:20px}.badge-expired{background:#dc3545;color:white;padding:5px 10px;border-radius:20px}.progress{height:30px;margin-bottom:30px}.progress-bar{line-height:30px;font-weight:700}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:#152b5a;border-color:#152b5a}.btn-secondary{background:var(--secondary);border-color:var(--secondary)}.btn-secondary:hover{background:#b0050e;border-color:#b0050e}.text-primary{color:var(--primary)!important}.text-secondary{color:var(--secondary)!important}.bg-primary{background:var(--primary)!important}.bg-secondary{background:var(--secondary)!important}@media (max-width:768px){.stat-card{margin-bottom:15px}.code-display{font-size:1.5rem;letter-spacing:3px}}