@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;700&display=swap";
:root{--bg-dark:#0f172a;--card-bg:#1e293b;--card-border:#334155;--text-main:#f8fafc;--text-muted:#94a3b8;--primary:#38bdf8;--primary-hover:#0284c7;--error:#ef4444;--success:#34d399;--warning:#fbbf24}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);justify-content:center;align-items:center;min-height:100vh;font-family:Inter,sans-serif;display:flex}.auth-container,.dashboard-container,.admin-container{background:var(--card-bg);border:1px solid var(--card-border);opacity:0;border-radius:12px;width:100%;max-width:440px;padding:40px;animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUp;transform:translateY(20px);box-shadow:0 20px 25px -5px #00000080,0 8px 10px -6px #00000080}.dashboard-container,.admin-container{max-width:800px;padding:32px}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.auth-header{text-align:center;border-bottom:1px solid var(--card-border);margin-bottom:32px;padding-bottom:24px}.auth-header h1{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;justify-content:center;align-items:center;gap:12px;margin-bottom:8px;font-size:24px;font-weight:600;display:flex}.auth-header p{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:14px}.form-group{text-align:left;margin-bottom:24px;position:relative}.form-group label,.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.form-input{border:1px solid var(--card-border);width:100%;color:var(--text-main);background:#0f172acc;border-radius:8px;outline:none;padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:15px;transition:all .3s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #38bdf833}.form-input::placeholder{color:#475569}.btn-submit{background:var(--primary);width:100%;color:var(--bg-dark);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:all .3s;display:flex}.btn-submit:hover{background:var(--primary-hover);color:#fff;box-shadow:0 10px 20px -10px var(--primary);transform:translateY(-2px)}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.action-btn{border:1px solid var(--card-border);color:var(--primary);cursor:pointer;text-transform:uppercase;background:#0f172a80;border-radius:6px;margin-right:8px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s}.action-btn:hover{background:var(--card-border);color:var(--text-main)}.error-message{color:var(--error);text-align:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;margin-top:16px;padding:12px;font-family:JetBrains Mono,monospace;font-size:14px}.qr-container{border:1px solid var(--card-border);background:#0f172a66;border-radius:12px;flex-direction:column;align-items:center;margin-bottom:24px;padding:24px;display:flex}.qr-image{background:#fff;border-radius:8px;width:180px;height:180px;margin-bottom:16px;padding:12px}.totp-input-container{justify-content:space-between;gap:12px;margin-bottom:24px;display:flex}.totp-digit{text-align:center;border:1px solid var(--card-border);width:48px;height:56px;color:var(--primary);background:#0f172acc;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:24px;font-weight:600;transition:all .2s}.totp-digit:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #38bdf833}.admin-table{border-collapse:collapse;text-align:left;width:100%;margin-top:24px;font-family:JetBrains Mono,monospace;font-size:13px}.admin-table th{border-bottom:1px solid var(--card-border);color:var(--primary);text-transform:uppercase;padding:16px;font-weight:600}.admin-table td{color:var(--text-main);border-bottom:1px solid #ffffff0d;padding:16px}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700}.badge-success{color:var(--success);background:#34d3991a;border:1px solid #34d3994d}.badge-error{color:var(--error);background:#ef44441a;border:1px solid #ef44444d}.spinner{border:2px solid #0f172a4d;border-top-color:var(--bg-dark);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}
