:root{--sovra-blue: #0099ff;--sovra-blue-dark: #2060df;--sovra-dark-bg: #0a0915;--sovra-dark-surface: #0f0d1a;--sovra-gray: #888888;--sovra-white: #ffffff;--sovra-purple: #8b5cf6;--sovra-orange: #f97316;--sovra-green: #10b981;--sovra-gradient: linear-gradient(135deg, #0099ff 0%, #2060df 100%);--sovra-gradient-wide: linear-gradient(135deg, #0099ff 0%, #8b5cf6 50%, #f97316 100%);--blue-50: #e6f5ff;--blue-100: #b8e1ff;--blue-200: #7dc8ff;--blue-300: #3aa9ff;--blue-400: #0099ff;--blue-500: #007ae0;--blue-600: #2060df;--blue-700: #1a4cb3;--blue-800: #15397f;--blue-900: #0f2753;--ink-950: #0a0915;--ink-900: #0f0d1a;--ink-800: #1a1826;--ink-700: #272433;--ink-600: #3a3648;--ink-500: #555062;--ink-400: #767085;--ink-300: #9a94a8;--ink-200: #c2bccf;--ink-100: #e4e0ef;--ink-50: #f5f3fb;--ink-0: #ffffff;--bg-0: var(--ink-950);--bg-1: var(--ink-900);--bg-2: var(--ink-800);--bg-3: var(--ink-700);--fg-1: var(--ink-0);--fg-2: var(--ink-200);--fg-3: var(--sovra-gray);--fg-4: var(--ink-500);--border-1: rgba(255, 255, 255, .08);--border-2: rgba(255, 255, 255, .14);--border-3: rgba(255, 255, 255, .22);--accent: var(--sovra-blue);--accent-hover: var(--sovra-blue-dark);--accent-contrast: #ffffff;--success: var(--sovra-green);--warning: var(--sovra-orange);--danger: #ef4444;--info: var(--sovra-purple);--font-display: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-body: "Figtree", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 18px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: 36px;--text-4xl: 48px;--lh-tight: 1.1;--lh-snug: 1.25;--lh-normal: 1.5;--lh-relaxed: 1.65;--tracking-tight: -.03em;--tracking-snug: -.015em;--tracking-normal: 0em;--tracking-wide: .04em;--tracking-widest: .14em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-pill: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.35);--shadow-md: 0 4px 12px rgba(0,0,0,.35);--shadow-lg: 0 12px 32px rgba(0,0,0,.45);--shadow-xl: 0 24px 64px rgba(0,0,0,.55);--glow-focus: 0 0 0 3px rgba(0, 153, 255, .35);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--sidebar-w: 260px;--section-gap: 28px}[data-theme=light]{--bg-0: var(--ink-0);--bg-1: #fafafa;--bg-2: var(--ink-50);--bg-3: var(--ink-100);--fg-1: var(--ink-950);--fg-2: var(--ink-700);--fg-3: var(--ink-500);--fg-4: var(--ink-300);--border-1: rgba(10, 9, 21, .08);--border-2: rgba(10, 9, 21, .14);--border-3: rgba(10, 9, 21, .22);--shadow-sm: 0 1px 2px rgba(10, 9, 21, .06);--shadow-md: 0 4px 12px rgba(10, 9, 21, .08);--shadow-lg: 0 12px 32px rgba(10, 9, 21, .1);--shadow-xl: 0 24px 64px rgba(10, 9, 21, .14)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-0);color:var(--fg-1);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) 1fr;background:var(--bg-0)}.sidebar{border-right:1px solid var(--border-1);background:var(--bg-1);padding:20px 14px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-head{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.sidebar-head img{height:22px}.tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);background:var(--bg-2);border:1px solid var(--border-1);border-radius:9999px;padding:3px 8px}.sidebar-section-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-4);font-weight:600;margin:18px 10px 6px}.nav-item{all:unset;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--fg-2);font-weight:500;font-size:14px;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.nav-item:hover{background:#ffffff0a;color:var(--fg-1)}.nav-item.active{background:linear-gradient(90deg,#0099ff24,#0099ff05);color:var(--fg-1);box-shadow:inset 0 0 0 1px #0099ff2e}[data-theme=light] .nav-item:hover{background:#0a09150a}[data-theme=light] .nav-item.active{background:linear-gradient(90deg,#0099ff14,#0099ff03);box-shadow:inset 0 0 0 1px #0099ff38}.nav-item .count{margin-left:auto;font-size:11px;font-family:var(--font-mono);color:var(--fg-3);background:var(--bg-2);border-radius:9999px;padding:2px 8px}.nav-item.active .count{color:var(--accent)}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-1);position:relative}.user-trigger{all:unset;display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--fg-3);transition:background .12s ease,color .12s ease}.user-trigger:hover,.user-trigger.open{background:var(--bg-1);color:var(--fg-1);box-shadow:inset 0 0 0 1px var(--border-2)}.avatar{width:32px;height:32px;border-radius:9999px;background:var(--sovra-gradient);display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--font-display);font-size:12px;flex:0 0 32px}.avatar-lg{width:38px;height:38px;flex:0 0 38px;font-size:13px}.user-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--bg-1);border:1px solid var(--border-2);border-radius:14px;box-shadow:0 18px 44px #0000006b,0 2px 6px #0003;padding:8px;z-index:50;animation:userMenuIn .14s ease-out}@keyframes userMenuIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.user-menu-head{display:flex;align-items:center;gap:10px;padding:8px 10px 10px}.user-menu-sep{height:1px;background:var(--border-1);margin:4px 2px}.user-menu-item{all:unset;display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:500;color:var(--fg-2);cursor:pointer;white-space:nowrap}.user-menu-item>span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.user-menu-item:hover{background:var(--bg-2);color:var(--fg-1)}.user-menu-item.danger{color:#f87171}.user-menu-item.danger:hover{background:#f871711a;color:#fca5a5}.sidebar-toast{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--fg-1);color:var(--bg-0);font-size:12px;font-weight:500;padding:8px 12px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 18px #0000004d;z-index:51;animation:userMenuIn .18s ease-out}.main{min-width:0;display:flex;flex-direction:column;overflow-x:auto}.page-header{position:sticky;top:0;z-index:10;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border-1);background:color-mix(in oklab,var(--bg-0) 80%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.page-title{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:-.02em;margin:0;color:var(--fg-1)}.page-sub{font-size:13px;color:var(--fg-3);margin:2px 0 0}.page-actions{display:flex;gap:10px;align-items:center}.page-body{padding:28px 32px 64px;max-width:1440px;width:100%;margin:0 auto;flex:1;min-width:0}.card{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);padding:24px}.card-title{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.01em;margin:0 0 4px;color:var(--fg-1)}.card-sub{font-size:12.5px;color:var(--fg-3);margin:0 0 14px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:14px}.btn{font-family:var(--font-body);font-weight:600;font-size:13.5px;padding:10px 16px;border-radius:9999px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;letter-spacing:-.005em;transition:all var(--dur-fast) var(--ease-out);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--sovra-gradient);color:#fff;box-shadow:0 6px 20px #0099ff38}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary{background:var(--bg-2);border-color:var(--border-1);color:var(--fg-1)}.btn-secondary:hover:not(:disabled){background:var(--bg-3);border-color:var(--border-2)}.btn-ghost{background:transparent;color:var(--fg-2)}.btn-ghost:hover:not(:disabled){background:#ffffff0d;color:var(--fg-1)}[data-theme=light] .btn-ghost:hover:not(:disabled){background:#0a09150a}.btn-danger{background:transparent;color:var(--danger);border-color:#ef44444d}.btn-danger:hover:not(:disabled){background:#ef44441a;border-color:#ef444480}.btn-sm{font-size:12.5px;padding:7px 12px}.btn-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}.input,.select,.textarea{width:100%;box-sizing:border-box;background:var(--bg-1);border:1px solid var(--border-1);color:var(--fg-1);font-family:var(--font-body);font-size:14px;padding:11px 14px;border-radius:10px;outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0099ff2e}.input::placeholder,.textarea::placeholder{color:var(--fg-4)}.input:disabled{color:var(--fg-3);cursor:not-allowed}.input-mono{font-family:var(--font-mono);font-size:12.5px}.label{display:block;font-size:12px;font-weight:600;color:var(--fg-2);margin-bottom:6px;letter-spacing:-.005em}.hint{font-size:11.5px;color:var(--fg-3);margin-top:6px}.search{position:relative;display:inline-flex;align-items:center;flex:1;max-width:360px}.search svg{position:absolute;left:12px;color:var(--fg-3);pointer-events:none}.search .input{padding-left:36px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:9999px;font-family:var(--font-body);letter-spacing:.01em;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%}.badge-active{background:#10b98124;color:#34d99b}.badge-suspend{background:#f9731624;color:#fb923c}.badge-revoked{background:#ef444424;color:#f87171}.badge-pending{background:#8b5cf624;color:#a78bfa}.badge-issued{background:#0099ff24;color:#4bb8ff}.badge-muted{background:var(--bg-2);color:var(--fg-3);border:1px solid var(--border-1)}[data-theme=light] .badge-active{background:#10b9811f;color:#047857}[data-theme=light] .badge-suspend{background:#f973161f;color:#c2410c}[data-theme=light] .badge-revoked{background:#ef44441a;color:#b91c1c}[data-theme=light] .badge-pending{background:#8b5cf61f;color:#6d28d9}[data-theme=light] .badge-issued{background:#0099ff1f;color:#1a4cb3}.table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--font-body)}.table thead th{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);text-align:left;padding:10px 14px;border-bottom:1px solid var(--border-1);background:var(--bg-1);position:sticky;top:0}.table tbody td{padding:14px;border-bottom:1px solid var(--border-1);color:var(--fg-2);vertical-align:middle}.table tbody tr{transition:background var(--dur-fast) var(--ease-out)}.table tbody tr:hover{background:var(--bg-2)}.table tbody tr:last-child td{border-bottom:none}.table .mono{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-2)}.table .primary-cell{color:var(--fg-1);font-weight:500}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:10px;border:1px solid var(--bg-0)}::-webkit-scrollbar-thumb:hover{background:var(--ink-600)}.modal-overlay{position:fixed;inset:0;background:#04030aa6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;z-index:200;padding:20px;animation:fadein var(--dur-base) var(--ease-out)}.modal{background:var(--bg-1);border:1px solid var(--border-2);border-radius:20px;max-width:720px;width:100%;max-height:90vh;overflow:auto;display:flex;flex-direction:column;animation:riseup var(--dur-base) var(--ease-out)}.modal-lg{max-width:980px}.modal-head{padding:22px 28px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.modal-body{padding:0 28px 8px;flex:1}.modal-foot{padding:16px 28px 22px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--border-1);margin-top:20px}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes riseup{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.row{display:flex;align-items:center;gap:10px}.stack{display:flex;flex-direction:column}.spacer{flex:1}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--fg-3)}.text-fg1{color:var(--fg-1)}.text-sm{font-size:12.5px}.text-xs{font-size:11px}.hr{height:1px;background:var(--border-1);border:none;margin:20px 0}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent)}.stat{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);padding:18px 20px 20px;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden;min-height:132px}.stat .k{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);font-weight:600;white-space:nowrap}.stat .v{font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.02em;color:var(--fg-1);line-height:1.05;margin-top:4px;white-space:nowrap}.stat .delta{display:inline-flex;gap:4px;align-items:center;font-size:11px;color:var(--success);font-weight:600;margin-top:6px;white-space:nowrap}.stat .delta.down{color:var(--danger)}.stat .spark{position:absolute;right:14px;bottom:14px;width:72px;height:30px;opacity:.85;pointer-events:none}.steps{display:flex;gap:0;padding:6px 0 18px;border-bottom:1px solid var(--border-1)}.step{flex:1;display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--fg-3);font-size:13px;font-weight:500;position:relative}.step+.step:before{content:"";position:absolute;left:-10px;top:50%;width:8px;height:1px;background:var(--border-1)}.step .num{width:24px;height:24px;border-radius:9999px;background:var(--bg-2);border:1px solid var(--border-1);display:grid;place-items:center;font-size:11px;font-weight:700;font-family:var(--font-mono);color:var(--fg-3)}.step.active{color:var(--fg-1)}.step.active .num{background:var(--sovra-gradient);color:#fff;border-color:transparent}.step.done .num{background:#10b9812e;color:#34d99b;border-color:#10b9814d}.step.done{color:var(--fg-2)}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:9999px;border:1px solid var(--border-1);background:var(--bg-1);color:var(--fg-2);font-size:12.5px;font-weight:500;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.filter-chip:hover{border-color:var(--border-2);color:var(--fg-1)}.filter-chip.active{background:#0099ff1f;border-color:#09f6;color:var(--fg-1)}[data-theme=light] .filter-chip.active{background:#0099ff14}.vc-card{color:#fff;padding:20px;border-radius:18px;position:relative;overflow:hidden;min-height:186px;display:flex;flex-direction:column;box-shadow:0 20px 50px #00000059}.vc-watermark{position:absolute;right:-24px;bottom:-28px;width:140px;height:140px;opacity:.1;pointer-events:none}.vc-brand-mark{position:absolute;right:16px;top:16px;width:28px;height:28px;opacity:.95}.vc-issuer{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.82;font-weight:600}.vc-title{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.015em;line-height:1.15;margin:6px 0 14px;max-width:85%}.vc-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.vc-chip{display:inline-flex;align-items:center;gap:6px;background:#fff3;border-radius:9999px;padding:3px 10px;font-size:11px;font-weight:600}.vc-sig{font-family:var(--font-mono);font-size:10px;opacity:.8}.activity-row{display:grid;grid-template-columns:32px 1fr auto;gap:12px;padding:12px 0;align-items:center;border-bottom:1px solid var(--border-1)}.activity-row:last-child{border-bottom:none}.activity-icon{width:32px;height:32px;border-radius:9999px;background:var(--bg-2);display:grid;place-items:center;color:var(--fg-2);flex:0 0 32px}.activity-text .who{color:var(--fg-1);font-weight:600;font-size:13px}.activity-text .what{font-size:12.5px;color:var(--fg-3);margin-top:1px}.activity-time{font-size:11.5px;color:var(--fg-4);font-family:var(--font-mono);white-space:nowrap}.empty{text-align:center;padding:60px 20px;color:var(--fg-3)}.empty .ico{width:48px;height:48px;border-radius:14px;background:var(--bg-2);display:grid;place-items:center;margin:0 auto 14px;color:var(--fg-2)}.qr-wrap{background:#fff;padding:18px;border-radius:16px;box-shadow:0 20px 50px #09f3;display:grid;place-items:center}.qr-wrap svg{display:block}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 #10b98199;animation:pulse 2s ease-out infinite;flex:0 0 8px}@keyframes pulse{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.spin{animation:spin .8s linear infinite;transform-origin:center}@keyframes spin{to{transform:rotate(360deg)}}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:28px}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-nav button{all:unset;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:500;color:var(--fg-2);cursor:pointer}.settings-nav button:hover{background:var(--bg-1);color:var(--fg-1)}.settings-nav button.active{background:var(--bg-1);color:var(--fg-1);box-shadow:inset 0 0 0 1px var(--border-2)}.field-row{display:grid;grid-template-columns:minmax(160px,200px) minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--border-1);align-items:start}.field-row:last-child{border-bottom:none}.field-row>*{min-width:0}.field-row .fr-label{font-size:13px;font-weight:600;color:var(--fg-1)}.field-row .fr-sub{font-size:12px;color:var(--fg-3);margin-top:3px;line-height:1.5}@media(max-width:1100px){.settings-layout{grid-template-columns:1fr;gap:18px}.settings-nav{flex-direction:row;flex-wrap:wrap}.field-row{grid-template-columns:1fr;gap:10px;padding:16px 0}}.checkbox{width:18px;height:18px;border-radius:4px;cursor:pointer;accent-color:var(--accent)}.copy-inline{all:unset;cursor:pointer;color:var(--fg-3);padding:2px 6px;border-radius:6px;font-size:11px}.copy-inline:hover{color:var(--accent);background:var(--bg-2)}.skeleton{background:linear-gradient(90deg,var(--bg-2) 0%,var(--bg-3) 50%,var(--bg-2) 100%);background-size:200% 100%;animation:skeletonShimmer 1.6s linear infinite;border-radius:8px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-tag{position:absolute;top:10px;right:10px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--fg-4);background:var(--bg-0);border:1px solid var(--border-1);border-radius:9999px;padding:2px 8px}.login-page{position:relative;min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--bg-0);overflow:hidden}.login-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse 700px 500px at 18% 30%,rgba(0,153,255,.1),transparent 70%),radial-gradient(ellipse 600px 420px at 85% 85%,rgba(139,92,246,.08),transparent 70%);pointer-events:none;z-index:0}html[data-theme=light] .login-backdrop{background:radial-gradient(ellipse 700px 500px at 18% 30%,rgba(0,153,255,.18),transparent 70%),radial-gradient(ellipse 600px 420px at 85% 85%,rgba(139,92,246,.14),transparent 70%)}.login-brand{position:relative;z-index:1;padding:48px 64px;display:flex;border-right:1px solid var(--border-1);background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-0) 100%)}.login-brand-inner{display:flex;flex-direction:column;flex:1;gap:20px}.login-form-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px}.login-card{width:100%;max-width:420px;background:var(--bg-1);border:1px solid var(--border-1);border-radius:20px;padding:36px 32px 32px;box-shadow:0 1px #ffffff08 inset,0 40px 80px -20px #0006}html[data-theme=light] .login-card{box-shadow:0 1px #fff9 inset,0 30px 60px -20px #0f1e3c26}.login-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.login-card-logo{opacity:.9}.login-title{font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.025em;line-height:1.15;color:var(--fg-1);margin:0 0 6px}.login-subtitle{font-size:13.5px;color:var(--fg-3);margin:0 0 22px;line-height:1.55}.login-form{display:flex;flex-direction:column;gap:14px}.login-brand-headline{font-family:var(--font-display);font-size:36px;font-weight:700;letter-spacing:-.025em;line-height:1.05;color:var(--fg-1)}.login-brand-lede{font-size:14.5px;color:var(--fg-2);line-height:1.6;margin-top:18px;max-width:420px}.login-brand-badges{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.login-brand-footer{font-size:11.5px;color:var(--fg-3);display:flex;gap:18px}.login-card-footer{margin-top:18px;font-size:11.5px;color:var(--fg-3);text-align:center;max-width:400px}.login-card-footer a{color:var(--fg-2);text-decoration:none}.login-error{font-size:13px;color:var(--danger);padding:10px 12px;background:#ef44441a;border-radius:10px;border:1px solid rgba(239,68,68,.2)}.login-success{font-size:13px;color:var(--fg-2);padding:10px 12px;background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:10px;margin-bottom:16px}.login-link{color:var(--blue-500);text-decoration:none}.login-link:hover{text-decoration:underline}.login-register-row{text-align:center;font-size:12px;color:var(--fg-3);margin-top:6px}.password-hint-row{display:flex;justify-content:space-between;align-items:baseline}@media(max-width:960px){.login-page{grid-template-columns:1fr}.login-brand{display:none}}.auth-tabs-card{width:100%;max-width:440px}.auth-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--bg-2);border:1px solid var(--border-1);border-radius:10px;padding:4px;margin-bottom:22px}.auth-tabs>button{position:relative;z-index:1;background:transparent;border:0;padding:9px 12px;font:inherit;font-size:13px;font-weight:500;color:var(--fg-3);border-radius:7px;cursor:pointer;transition:color var(--dur-fast)}.auth-tabs>button.active{color:var(--fg-1)}.auth-tabs-rail{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);background:var(--bg-0);border:1px solid var(--border-1);border-radius:7px;box-shadow:0 1px 2px #0003;transition:transform .32s cubic-bezier(.65,0,.2,1)}.auth-tabs-rail[data-on=register]{transform:translate(100%)}html[data-theme=light] .auth-tabs-rail{background:#fff;box-shadow:0 1px 2px #0f1e3c14}.auth-tabs-body{position:relative}.auth-fade{animation:authFade .32s cubic-bezier(.4,0,.2,1) both}@keyframes authFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.strength{margin-top:8px;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:4px;align-items:center}.strength>span{height:4px;border-radius:2px;background:var(--bg-3);transition:background var(--dur-fast)}.strength>em{grid-column:5;font-style:normal;font-family:var(--font-mono);font-size:10.5px;color:var(--fg-3);margin-left:6px}.strength[data-strength="1"]>span:nth-child(-n+1){background:#ef4444}.strength[data-strength="2"]>span:nth-child(-n+2){background:#f59e0b}.strength[data-strength="3"]>span:nth-child(-n+3){background:#10b981}.strength[data-strength="4"]>span:nth-child(-n+4){background:#10b981}@media(max-width:960px){.reg-grid{grid-template-columns:1fr}}:root{color-scheme:dark;color:var(--fg-1);background-color:var(--bg-0);font-family:var(--font-body);font-weight:400;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility}[data-theme=light]{color-scheme:light}body{min-width:320px;min-height:100vh}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}
