:root{--bg-color: #0f172a;--card-bg: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-color: #38bdf8;--accent-hover: #0ea5e9;--danger-color: #ef4444;--success-color: #22c55e;--warning-color: #eab308;--border-color: #334155;--font-family: "Inter", sans-serif}body{margin:0;font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased}a{color:var(--accent-color);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:.375rem;outline:none;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent-color)}.container{max-width:1200px;margin:0 auto;padding:2rem}.card{background-color:var(--card-bg);border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid var(--border-color)}.btn{padding:.5rem 1rem;border-radius:.375rem;border:none;font-weight:500;transition:background-color .2s}.btn-primary{background-color:var(--accent-color);color:#0f172a}.btn-primary:hover{background-color:var(--accent-hover)}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;color:var(--text-secondary)}.form-input{width:100%;box-sizing:border-box}.navbar{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);padding:1rem 0}.navbar-content{display:flex;justify-content:space-between;align-items:center}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{display:flex;align-items:center}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.stat-card{display:flex;flex-direction:column;gap:.5rem}.stat-value{font-size:2.5rem;font-weight:700;color:var(--accent-color)}.stat-label{color:var(--text-secondary)}.data-table{width:100%;border-collapse:collapse;margin-top:1rem}.data-table th,.data-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{color:var(--text-secondary);font-weight:500}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.status-valid{background-color:#22c55e1a;color:var(--success-color)}.status-expired,.status-invalid{background-color:#ef44441a;color:var(--danger-color)}
