.error-boundary-fallback{padding:var(--space-6);text-align:center}.loading-state{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5)}.loading-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:dashboard-spin .8s linear infinite}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5);text-align:center}.error-state-message{margin:0;font-weight:600}.error-state-code{margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center}.empty-state-icon{font-size:var(--text-2xl)}.empty-state-title,.empty-state-description{margin:0}:root{--accent: #f5a623;--accent-dark: #d98e12;--accent-bright: #ffbb3d;--accent-contrast: #05122e;--accent-2: #6ea8ff;--accent-2-strong: #2f6fd6;--accent-cyan: #38bdf8;--bg: #010822;--bg-panel: #071633;--bg-raised: #0e2a5e;--border: #16224a;--border-soft: #101c3c;--border-input: #5b6a8c;--text: #eef2fb;--text-muted: #9fb0d0;--glow-blue: rgba(47, 111, 214, .35);--ok: #10b981;--ok-fg: #34d399;--warn: #f59e0b;--warn-fg: #f59e0b;--danger: #ef4444;--danger-fg: #f87171;--info: #38bdf8;--info-fg: #7dd3fc;--live: #10b981;--live-fg: #34d399;--live-bg: rgba(16, 185, 129, .15);--synced: #94a3b8;--synced-fg: #cbd5e1;--synced-bg: rgba(148, 163, 184, .15);--stale: #f59e0b;--stale-fg: #f59e0b;--stale-bg: rgba(245, 158, 11, .15);--locked-fg: #f87171;--locked-bg: rgba(239, 68, 68, .15);--unlocked-fg: #34d399;--unlocked-bg: rgba(16, 185, 129, .15);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 32px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--card-glow: 0 20px 60px -20px rgba(47, 111, 214, .28);--sidebar-width: 220px;--topbar-height: 56px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0 0 var(--space-3)}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit}code{font-family:var(--font-mono);background:#6ea8ff1f;padding:1px 4px;border-radius:3px}input,button,select,textarea{font:inherit}.muted{color:var(--text-muted);font-size:var(--text-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:200;transform:translateY(-200%);background:var(--bg-raised);color:var(--text);border:1px solid var(--border-input);border-radius:var(--radius);padding:var(--space-2) var(--space-4);text-decoration:none;font-weight:600}.skip-link:focus{transform:translateY(0)}.content:focus{outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;padding:10px 16px;border-radius:var(--radius);cursor:pointer;font-weight:600;font-size:var(--text-base);line-height:1.2}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-contrast);font-weight:600;border-radius:var(--radius-pill);box-shadow:0 0 0 1px #f5a62373,0 12px 30px -8px #f5a62380;transition:box-shadow .25s ease,transform .25s ease,background .25s ease}.btn-primary:hover:not(:disabled){background:var(--accent-bright);box-shadow:0 0 0 1px #f5a623bf,0 18px 40px -6px #f5a623a6;transform:translateY(-1px)}.btn-secondary{background:var(--bg-raised);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-panel)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--bg-panel)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{background:var(--bg-panel);border-right:1px solid var(--border);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sidebar-brand{font-size:var(--text-lg);font-weight:700;color:var(--accent)}.primary-nav{display:flex;flex-direction:column;gap:var(--space-1)}.nav-toggle{display:none;align-items:center;gap:var(--space-2);background:transparent;color:var(--text);border:1px solid var(--border-input);border-radius:var(--radius);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-sm);font-weight:600;min-height:44px}.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{display:block;width:16px;height:2px;background:currentColor;border-radius:2px}.nav-toggle-bars{position:relative}.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";position:absolute;left:0}.nav-toggle-bars:before{top:-5px}.nav-toggle-bars:after{top:5px}.nav-link{display:block;color:var(--text-muted);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--text-base)}.nav-link{transition:color .2s ease,background .2s ease}.nav-link:hover{background:#ffffff08;color:var(--text)}.nav-link.active{background:#6ea8ff1a;color:var(--accent-2);font-weight:600;box-shadow:inset 2px 0 0 var(--accent-2)}.app-main{display:flex;flex-direction:column;min-width:0}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-5);flex-shrink:0}.topbar-title{font-size:var(--text-base);font-weight:600}.topbar-account{display:flex;align-items:center;gap:var(--space-3)}.topbar-identity{font-size:var(--text-sm);color:var(--text-muted)}.content{padding:var(--space-6);overflow:auto;flex:1}.content h1{font-size:var(--text-xl);margin-top:0}.placeholder-screen p{color:var(--text-muted)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.tile{background:linear-gradient(180deg,var(--bg-raised),var(--bg-panel));border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.tile:hover{transform:translateY(-4px);border-color:#2f6fd680;box-shadow:var(--card-glow)}.tile-label{margin:0 0 var(--space-2);color:var(--text-muted);font-weight:500;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.4px}.tile-value{margin:0;font-size:var(--text-2xl);font-weight:700}.tile-hint{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.tile-warn .tile-value{color:var(--warn)}.tile-danger .tile-value{color:var(--danger)}.table-scroll{overflow-x:auto;max-width:100%;min-width:0;border-radius:var(--radius-lg);background:var(--bg-panel);-webkit-overflow-scrolling:touch}.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table{width:100%;border-collapse:collapse;background:var(--bg-panel)}.table th,.table td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border)}.table th{background:var(--bg);font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.table tbody tr:last-child td{border-bottom:0}.table-empty{padding:var(--space-5);text-align:center}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.badge-ok{background:#10b98126;color:var(--ok-fg)}.badge-warn{background:#f59e0b26;color:var(--warn-fg)}.badge-danger{background:#ef444426;color:var(--danger-fg)}.badge-neutral{background:#94a3b826;color:var(--synced-fg)}.badge-live{background:var(--live-bg);color:var(--live-fg)}.badge-live:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-synced{background:var(--synced-bg);color:var(--synced-fg)}.badge-stale{background:var(--stale-bg);color:var(--stale-fg)}.badge-locked{background:var(--locked-bg);color:var(--locked-fg)}.badge-unlocked{background:var(--unlocked-bg);color:var(--unlocked-fg)}.staleness-banner{display:flex;align-items:center;gap:var(--space-2);background:var(--stale-bg);color:var(--stale-fg);border:1px solid rgba(245,158,11,.4);border-radius:var(--radius);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-4)}.node-health-panel{margin:var(--space-6) 0}.node-health-reachability{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0}.node-health-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin:0}.node-health-facts dt{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-1)}.node-health-facts dd{display:flex;align-items:center;gap:var(--space-2);margin:0}.vault-node-divergence{display:flex;flex-direction:column;gap:var(--space-1);background:#38bdf81f;color:var(--text);border:1px solid rgba(56,189,248,.4);border-radius:var(--radius);padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.vault-gate{border-radius:var(--radius-lg);padding:var(--space-4)}.vault-gate-locked{border:1px solid rgba(239,68,68,.35);background:#ef44440f;position:relative}.vault-gate-locked:after{content:"Locked";position:absolute;top:var(--space-2);right:var(--space-2);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;color:var(--locked-fg)}.vault-gate-unlocked{border:1px solid var(--border)}.vault-bar{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);font-size:var(--text-sm)}.vault-bar-locked{background:var(--locked-bg);border-bottom-color:#ef444459}.vault-bar-unlocked{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--unlocked-bg);border-bottom-color:#10b9814d}.vault-bar-message{display:flex;align-items:baseline;gap:var(--space-1);flex-wrap:wrap}.vault-bar-locked .vault-bar-message strong{color:var(--locked-fg)}.vault-unlock-form{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.vault-unlock-form .form-field{margin-bottom:0;min-width:200px}.form-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-field label{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.form-field input,.form-field select,.form-field textarea{background:var(--bg-panel);color:var(--text);border:1px solid var(--border-input);padding:8px 10px;border-radius:var(--radius);width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.form-field[data-invalid=true] input{border-color:var(--danger)}.form-hint{margin:0}.form-error{margin:0;color:var(--danger-fg);font-size:var(--text-xs)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617a6;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:100}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);width:100%;max-width:420px;max-height:calc(100vh - var(--space-7));overflow:auto}.modal:focus{outline:none}.modal-title{font-size:var(--text-lg);margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.auth-screen,.auth-step{max-width:420px;margin:var(--space-7) auto;background:linear-gradient(180deg,var(--bg-raised),var(--bg-panel));border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:0 24px 70px -30px #000000b3}.auth-screen h1{font-size:var(--text-xl);margin:0 0 var(--space-5)}.auth-step h2{font-size:var(--text-lg);margin-top:0}.auth-screen form,.auth-step form{display:flex;flex-direction:column;gap:var(--space-4)}.recovery-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer}.recovery-codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2);margin:var(--space-4) 0}.recovery-codes code{display:block;padding:var(--space-2);text-align:center;font-size:var(--text-base);word-break:break-all}.recovery-ack{display:flex;align-items:center;gap:var(--space-2);min-height:44px;margin-bottom:var(--space-3)}.settings-tabs{display:flex;gap:var(--space-2, .5rem);margin:var(--space-4, 1rem) 0;border-bottom:1px solid var(--border);padding-bottom:var(--space-2, .5rem);overflow-x:auto;flex-wrap:nowrap}.settings-tabs .nav-link{white-space:nowrap}@media(max-width:1023px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-4);gap:var(--space-3)}.nav-toggle{display:inline-flex}.primary-nav{display:none}.primary-nav.open{display:flex}.nav-link{min-height:44px;display:flex;align-items:center}.content{padding:var(--space-4)}}@media(max-width:639px){.topbar{padding:0 var(--space-4)}.vault-bar{padding:var(--space-3) var(--space-4)}.auth-step{max-width:100%;margin:var(--space-4) var(--space-3)}.content{padding:var(--space-3)}.tiles{grid-template-columns:1fr}.table-scroll{overflow-x:visible}.table,.table thead,.table tbody,.table tr,.table td{display:block}.table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.table tr{border-bottom:1px solid var(--border);padding:var(--space-2) 0}.table tbody tr:last-child{border-bottom:0}.table td{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);border-bottom:0;padding:var(--space-2) var(--space-3);text-align:right}.table td:before{content:attr(data-label);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:left;flex-shrink:0}.modal{max-width:100%;max-height:calc(100vh - var(--space-4))}.overlay{padding:var(--space-2);align-items:flex-start}.btn{min-height:44px}.form-field input,.form-field select,.form-field textarea{font-size:16px}}.wallets-screen section{margin-top:var(--space-6)}.wallets-total{margin:0 0 var(--space-3)}.pool-counts{list-style:none;padding:0;margin:0 0 var(--space-3);display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.pool-counts li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius)}.wallets-degraded{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.wallets-error{margin-top:var(--space-5);padding:var(--space-3) var(--space-4);border:1px solid rgba(245,158,11,.4);border-radius:var(--radius)}.totp-qr{display:inline-block;background:#fff;padding:var(--space-3, .75rem);border-radius:var(--radius, 8px);line-height:0}.totp-otpauth-details{margin:var(--space-2, .5rem) 0}.totp-otpauth-details summary{cursor:pointer;color:var(--text-muted);font-size:var(--text-sm, .875rem)}.totp-otpauth-uri code{word-break:break-all}.sidebar-brand{display:flex;align-items:center}.sidebar-logo{height:26px;width:auto;display:block}.app-shell{position:relative;background:radial-gradient(900px 520px at 78% -8%,rgba(47,111,214,.22),transparent 60%),radial-gradient(700px 480px at 8% 108%,rgba(14,42,94,.35),transparent 60%),var(--bg)}.content{position:relative;z-index:1}.auth-screen,.auth-step{position:relative}body:has(.auth-screen),body:has(.auth-step){background:radial-gradient(1000px 640px at 50% -10%,rgba(47,111,214,.28),transparent 62%),radial-gradient(760px 560px at 12% 112%,rgba(14,42,94,.4),transparent 60%),var(--bg)}.auth-logo{display:block;height:30px;width:auto;margin:0 0 var(--space-5)}.content h1{letter-spacing:-.01em}
