*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--primary-hover: #4f46e5;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--bg-dark: #0f172a;--bg-card: #1e293b;--bg-input: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--border: #475569}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-dark);color:var(--text-primary);min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e1b4b,#0f172a)}.login-card{background:var(--bg-card);border-radius:16px;padding:48px;width:100%;max-width:400px;box-shadow:0 25px 50px -12px #00000080}.login-card h1{text-align:center;margin-bottom:8px;font-size:24px}.login-card .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;color:var(--text-secondary)}.form-group input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:16px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--primary)}.btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-primary:hover{background:var(--primary-hover)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.error-message{color:var(--danger);text-align:center;margin-top:16px;font-size:14px}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-card);padding:24px;display:flex;flex-direction:column;border-right:1px solid var(--border)}.sidebar-header{display:flex;align-items:center;gap:12px;margin-bottom:32px}.sidebar-logo{width:40px;height:40px;border-radius:8px}.sidebar-header h2{font-size:16px;font-weight:600}.nav-links{list-style:none;flex:1}.nav-links li{margin-bottom:8px}.nav-links a{display:block;padding:12px 16px;border-radius:8px;color:var(--text-secondary);text-decoration:none;transition:all .2s}.nav-links a:hover{background:var(--bg-input);color:var(--text-primary)}.logout-btn{padding:12px 16px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.logout-btn:hover{background:var(--danger);border-color:var(--danger);color:#fff}.main-content{flex:1;padding:32px;overflow-y:auto}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:28px;margin-bottom:8px}.dashboard-header p{color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--bg-card);border-radius:12px;padding:24px;border:1px solid var(--border)}.stat-card .label{color:var(--text-secondary);font-size:14px;margin-bottom:8px}.stat-card .value{font-size:32px;font-weight:700}.stat-card.unused .value{color:var(--success)}.stat-card.activated .value{color:var(--primary)}.stat-card.disabled .value{color:var(--danger)}.generate-section{background:var(--bg-card);border-radius:12px;padding:24px;border:1px solid var(--border);margin-bottom:32px}.generate-section h2{margin-bottom:20px;font-size:18px}.generate-form{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.generate-form .form-group{margin-bottom:0}.generate-form input{width:120px}.generated-keys{margin-top:20px;padding:16px;background:var(--bg-input);border-radius:8px}.generated-keys h3{margin-bottom:12px;font-size:14px;color:var(--text-secondary)}.key-list{display:flex;flex-wrap:wrap;gap:8px}.key-item{background:var(--bg-dark);padding:8px 12px;border-radius:4px;font-family:monospace;font-size:14px;cursor:pointer;transition:background .2s}.key-item:hover{background:var(--primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:24px}.filters{display:flex;gap:12px;margin-bottom:24px}.filters select,.filters input{padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px}.table-container{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);overflow:hidden}table{width:100%;border-collapse:collapse}th,td{padding:16px;text-align:left;border-bottom:1px solid var(--border)}th{background:var(--bg-input);font-weight:600;font-size:14px;color:var(--text-secondary)}td{font-size:14px}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-unused{background:#22c55e33;color:var(--success)}.status-activated{background:#6366f133;color:var(--primary)}.status-disabled{background:#ef444433;color:var(--danger)}.status-expired{background:#f59e0b33;color:var(--warning)}.action-btn{padding:6px 12px;font-size:12px;border-radius:4px}.pagination{display:flex;justify-content:center;gap:8px;margin-top:24px}.pagination button{padding:8px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button.active{background:var(--primary);border-color:var(--primary)}.admin-form{display:flex;gap:12px;margin-bottom:24px;align-items:flex-end}.admin-form .form-group{margin-bottom:0}@media (max-width: 768px){.app-container{flex-direction:column}.sidebar{width:100%;padding:16px}.main-content{padding:16px}.generate-form{flex-direction:column}.generate-form input{width:100%}}.version-manager{max-width:900px}.version-manager .page-title{font-size:28px;margin-bottom:8px}.version-manager .page-desc{color:var(--text-secondary);margin-bottom:32px}.version-manager .card{background:var(--bg-card);border-radius:12px;padding:24px;border:1px solid var(--border);margin-bottom:24px}.version-manager .card h2{font-size:18px;margin-bottom:20px}.version-manager .form-row{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin-bottom:16px}.version-manager textarea{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical}.version-manager textarea:focus{outline:none;border-color:var(--primary)}.checkbox-group{margin:16px 0}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text-secondary);font-size:14px}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.publish-btn{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.publish-btn:hover{background:var(--primary-hover)}.publish-btn:disabled{opacity:.6;cursor:not-allowed}.revoke-btn{width:100%;padding:12px;margin-top:12px;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.revoke-btn:hover{background:var(--danger);color:#fff}.revoke-btn:disabled{opacity:.6;cursor:not-allowed}.message{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.message.success{background:#22c55e26;color:var(--success);border:1px solid rgba(34,197,94,.3)}.message.error{background:#ef444426;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.versions-table{width:100%;border-collapse:collapse}.versions-table th,.versions-table td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--border)}.versions-table th{background:var(--bg-input);font-weight:600;font-size:13px;color:var(--text-secondary)}.versions-table td{font-size:14px}.versions-table tr.active-version{background:#6366f114}.badge.current{display:inline-block;margin-left:8px;padding:2px 8px;background:var(--primary);color:#fff;font-size:11px;border-radius:10px;font-weight:500}.status-badge.active{background:#22c55e33;color:var(--success)}.status-badge.inactive{background:#94a3b833;color:var(--text-secondary)}.notes-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading,.empty{text-align:center;color:var(--text-secondary);padding:40px}
