:root{--bg-color:#0f172a;--panel-bg:rgba(30,41,59,0.7);--panel-border:rgba(255,255,255,0.1);--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--danger:#ef4444;--success:#10b981}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);background-image:radial-gradient(at 0 0,hsla(253,16%,7%,1) 0,transparent 50%),radial-gradient(at 50% 0,hsla(225,39%,30%,.2) 0,transparent 50%),radial-gradient(at 100% 0,hsla(339,49%,30%,.2) 0,transparent 50%);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column}.glass-panel{background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:16px;padding:24px;box-shadow:0 4px 30px rgba(0,0,0,.1)}.btn{background:var(--accent);color:white;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#dc2626}.input-group{margin-bottom:16px}.input-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:.9rem}.input-group input,.input-group select{width:100%;padding:12px;background:rgba(15,23,42,.6);border:1px solid var(--panel-border);border-radius:8px;color:white;font-size:1rem;transition:border-color .2s ease}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--accent)}table{width:100%;border-collapse:collapse;margin-top:20px}td,th{padding:16px;text-align:left;border-bottom:1px solid var(--panel-border)}th{color:var(--text-secondary);font-weight:500;font-size:.9rem}tr:hover{background:rgba(255,255,255,.02)}.badge{padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.badge.active{background:rgba(16,185,129,.2);color:var(--success)}.badge.expired{background:rgba(239,68,68,.2);color:var(--danger)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease forwards}.header{padding:20px 40px;border-bottom:1px solid var(--panel-border);display:flex;justify-content:space-between;align-items:center;background:rgba(15,23,42,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.container{max-width:1200px;margin:0 auto;padding:40px 20px;width:100%}