:root{--bg-primary: #090d16;--bg-secondary: #101726;--bg-card: #151e32;--border: #222f4b;--border-focus: #3b82f6;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .1);--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--code-bg: #070a10;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-card: #ffffff;--border: #e2e8f0;--border-focus: #2563eb;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #2563eb;--accent-hover: #1d4ed8;--danger: #dc2626;--danger-bg: #fee2e2;--success: #059669;--success-bg: #d1fae5;--warning: #d97706;--warning-bg: #fef3c7;--code-bg: #f1f5f9}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4{font-weight:700;color:var(--text-primary);letter-spacing:-.02em}p{color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:.5rem;cursor:pointer;transition:all .15s ease-in-out;border:1px solid transparent;font-family:inherit;text-decoration:none}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{border-color:var(--text-secondary)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-active{background-color:var(--success-bg);color:var(--success);border:1px solid rgba(16,185,129,.2)}.badge-revoked,.badge-banned{background-color:var(--danger-bg);color:var(--danger);border:1px solid rgba(239,68,68,.2)}.badge-expired{background-color:var(--warning-bg);color:var(--warning);border:1px solid rgba(245,158,11,.2)}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;border-radius:.5rem;border:1px solid var(--border);background-color:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:border-color .15s ease-in-out}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f633}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-content{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:.75rem;width:100%;max-width:540px;padding:1.75rem;box-shadow:0 20px 25px -5px #0000004d}.table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:.75rem}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{background-color:var(--bg-secondary);padding:.75rem 1rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border)}td{padding:.875rem 1rem;border-bottom:1px solid var(--border);color:var(--text-primary)}tr:last-child td{border-bottom:none}tr:hover td{background-color:#ffffff05}code{font-family:var(--font-mono);background-color:var(--code-bg);padding:.125rem .375rem;border-radius:.25rem;font-size:.8125rem;color:var(--accent)}.toast-container{position:fixed;top:1.25rem;right:1.25rem;z-index:1000;display:flex;flex-direction:column;gap:.75rem;max-width:420px;width:calc(100% - 2.5rem);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1.125rem;border-radius:.625rem;background-color:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 10px 25px -5px #0006;font-size:.875rem;font-weight:500;animation:toastSlideIn .25s cubic-bezier(.16,1,.3,1)}.toast-success{border-color:#10b98166;background-color:var(--bg-card);color:var(--text-primary)}.toast-error{border-color:#ef444466;background-color:var(--bg-card);color:var(--text-primary)}.toast-info{border-color:#3b82f666;background-color:var(--bg-card);color:var(--text-primary)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
