*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f172a;--card: #1e293b;--card-border: #334155;--nav-bg: #0a0f1e;--text: #f1f5f9;--text-muted: #94a3b8;--text-faint: #64748b;--accent: #8b3dff;--accent-dark: #1e3a5f;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b;--input-bg: #0f172a;--input-border: #334155;--radius: 10px;--radius-sm: 6px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .3)}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;text-decoration:none;transition:transform .1s,box-shadow .15s,opacity .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--accent-dark) 0%,var(--accent) 100%);color:#fff;box-shadow:0 4px 12px #8b3dff40}.btn-primary:not(:disabled):hover{box-shadow:0 6px 18px #8b3dff66}.btn-secondary{background:#ffffff0d;color:var(--text-muted);border:1px solid var(--card-border)}.btn-secondary:not(:disabled):hover{background:#ffffff1a;color:var(--text)}.btn-danger{background:#ef44441f;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.btn-danger:not(:disabled):hover{background:#ef444438}.btn-success{background:#22c55e1f;color:#86efac;border:1px solid rgba(34,197,94,.3)}.btn-success:not(:disabled):hover{background:#22c55e38}.btn-warning{background:#f59e0b1f;color:#fcd34d;border:1px solid rgba(245,158,11,.3)}.btn-warning:not(:disabled):hover{background:#f59e0b38}.btn-sm{padding:4px 12px;font-size:12px;border-radius:6px}.card{background:var(--card);border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--shadow-card)}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.status-badge.active{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.3)}.status-badge.draft{background:#94a3b81a;color:#94a3b8;border:1px solid var(--card-border)}.status-badge.suspended{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.status-badge.archived{background:#6b72801a;color:#9ca3af;border:1px solid rgba(107,114,128,.3)}.status-badge.expired{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:600;font-size:13px;color:var(--text-muted);margin-bottom:6px}.form-group label .required{color:#ef4444;margin-left:2px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:8px;font-size:14px;color:var(--text);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--text-faint)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b3dff26}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:38px;cursor:pointer}.form-group select option{background:var(--card);color:var(--text)}.form-group textarea{min-height:96px;resize:vertical}.field-error{color:#fca5a5;font-size:12px;margin-top:4px}.error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:12px 16px;color:#fca5a5;margin-bottom:16px;font-size:13px;display:flex;align-items:center;gap:10px}.success-banner{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:var(--radius);padding:12px 16px;color:#86efac;margin-bottom:16px;font-size:13px}.loading{text-align:center;padding:3rem;color:var(--text-muted)}@keyframes spin{to{transform:rotate(360deg)}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media(max-width:600px){.grid-2,.grid-3{grid-template-columns:1fr}}
