:root{--font-family: "Inter", system-ui, -apple-system, sans-serif;--color-white: #FFFFFF;--color-surface: #F8FAFC;--color-surface-alt: #F1F5F9;--color-border: #E2E8F0;--color-border-dark: #CBD5E1;--color-emerald: #10B981;--color-emerald-dim: #059669;--color-emerald-soft: #D1FAE5;--color-midnight: #0F172A;--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-link: #10B981;--color-finance: #3B82F6;--color-finance-soft: #DBEAFE;--font-display: 32px;--font-h1: 24px;--font-h2: 18px;--font-h3: 14px;--font-body: 13px;--font-small: 11px;--font-label: 10px}@media (prefers-color-scheme: dark){:root{--color-white: #0F172A;--color-surface: #1E293B;--color-surface-alt: #334155;--color-border: #334155;--color-border-dark: #475569;--color-text-primary: #F8FAFC;--color-text-secondary: #CBD5E1;--color-text-muted: #64748B;--color-midnight: #F8FAFC;--color-emerald-soft: rgba(16, 185, 129, .15)}}:root{font-family:var(--font-family);line-height:1.5;font-weight:400;color:var(--color-text-primary);background-color:var(--color-white);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-emerald);text-decoration:inherit}a:hover{color:var(--color-emerald-dim)}a.home-button:hover{color:inherit}html,body{margin:0;padding:0;width:100%;height:100%;min-width:320px;overflow-x:hidden}#root{width:100%;min-height:100vh}h1{font-size:var(--font-h1);font-weight:800;line-height:1.2}button{border-radius:6px;border:1px solid transparent;padding:.6em 1.2em;font-size:var(--font-body);font-weight:700;font-family:inherit;background-color:var(--color-surface);cursor:pointer;transition:all .2s ease-in-out}button:hover:not(:disabled){border-color:var(--color-emerald)}button:focus,button:focus-visible{outline:2px solid var(--color-emerald);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.home-screen{position:absolute;top:0;left:0;width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:1rem;background:var(--color-white);box-sizing:border-box}.home-content{display:flex;flex-direction:column;align-items:center;max-width:480px;width:100%;background:var(--color-white);border-radius:14px;padding:3rem 2rem;box-sizing:border-box;margin:0 auto}@media (max-width: 480px){.home-screen{padding:.75rem}.home-content{padding:2rem 1.5rem;border-radius:12px}}.home-content .logo-container{margin-bottom:2.5rem}.home-content .logo-placeholder{display:flex;justify-content:center;align-items:center;width:100px;height:100px}.home-buttons{display:flex;flex-direction:column;gap:1rem;width:100%}.home-button{width:100%;padding:.875rem 1.5rem;font-size:var(--font-body);font-weight:700;text-align:center;text-decoration:none;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;border:1.5px solid var(--color-border);background-color:var(--color-white);color:var(--color-text-primary);box-sizing:border-box}.home-button:hover:not(:disabled){border-color:var(--color-emerald);transform:translateY(-1px);box-shadow:0 4px 6px -1px #00000014}.home-button:active:not(:disabled){transform:translateY(0)}.home-button:focus{outline:2px solid var(--color-emerald);outline-offset:2px}.home-button:disabled{background-color:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;border-color:var(--color-border)}.home-button-primary{background-color:var(--color-midnight);color:var(--color-white);border-color:var(--color-midnight);box-shadow:0 4px 6px -1px #0f172a33,0 2px 4px -1px #0f172a1a}.home-button-primary:hover:not(:disabled){background-color:var(--color-emerald-dim);border-color:var(--color-emerald-dim);color:var(--color-white);box-shadow:0 10px 15px -3px #0596694d,0 4px 6px -2px #05966933}.home-button-primary:active:not(:disabled){transform:translateY(0)}.home-button-primary:disabled{background-color:var(--color-surface-alt);color:var(--color-text-muted);border-color:var(--color-surface-alt);cursor:not-allowed;box-shadow:none}.token-input-container{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px}.token-input{padding:10px 12px;border:1.5px solid var(--color-border-dark);border-radius:6px;font-size:var(--font-h3);font-family:var(--font-family);width:250px;outline:none;transition:border-color .2s ease;background:var(--color-white);color:var(--color-text-primary)}.token-input:focus{border-color:var(--color-emerald)}.token-input-container .home-button{padding:10px 16px;font-size:var(--font-h3);border-radius:6px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.token-input-container .home-button-primary{background-color:var(--color-midnight);color:var(--color-white);border:none}.token-input-container .home-button-primary:hover:not(:disabled){background-color:var(--color-emerald-dim);color:var(--color-white);transform:translateY(-1px)}.connect-flow-container{position:relative;min-height:100vh;width:100%;background:var(--color-white)}.welcome-screen{position:absolute;top:0;left:0;width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:1rem;background:var(--color-white);box-sizing:border-box}.welcome-content{display:flex;flex-direction:column;align-items:center;max-width:480px;width:100%;background:var(--color-white);border-radius:14px;padding:3rem 2rem;box-sizing:border-box;margin:0 auto}@media (max-width: 480px){.welcome-screen{padding:.75rem}.welcome-content{padding:2rem 1.5rem;border-radius:12px}}.logo-container{margin-bottom:2rem}.logo-image{width:80px;height:80px;object-fit:contain;border-radius:8px}.logo-placeholder{display:flex;justify-content:center;align-items:center;width:80px;height:80px}.welcome-title{font-size:var(--font-h1);font-weight:800;color:var(--color-text-primary);margin:0 0 .5rem;text-align:center}.welcome-subtitle{font-size:var(--font-body);color:var(--color-text-secondary);margin:0 0 2rem;text-align:center;line-height:1.5}.continue-button{width:100%;padding:.875rem 1.5rem;font-size:var(--font-body);font-weight:700;color:var(--color-white);background-color:var(--color-midnight);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 4px 6px -1px #0f172a33,0 2px 4px -1px #0f172a1a}.continue-button:hover:not(:disabled){background-color:var(--color-emerald-dim);transform:translateY(-1px);box-shadow:0 10px 15px -3px #0596694d,0 4px 6px -2px #05966933}.continue-button:active:not(:disabled){transform:translateY(0)}.continue-button:focus{outline:2px solid var(--color-emerald);outline-offset:2px}.continue-button:disabled{background-color:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none}.connection-selection-screen{position:absolute;top:0;left:0;width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:1rem;background:var(--color-white);box-sizing:border-box}.connection-selection-content{display:flex;flex-direction:column;align-items:center;max-width:600px;width:100%;background:var(--color-white);border-radius:14px;padding:3rem 2rem;box-sizing:border-box;margin:0 auto}.selection-title{font-size:var(--font-h1);font-weight:800;color:var(--color-text-primary);margin:0 0 .5rem;text-align:center}.selection-subtitle{font-size:var(--font-body);color:var(--color-text-secondary);margin:0 0 2rem;text-align:center;line-height:1.5}.connection-options{display:flex;flex-direction:column;gap:1rem;width:100%;margin-bottom:2rem}.connection-option{border:1.5px solid var(--color-border);border-radius:10px;padding:1.25rem;cursor:pointer;transition:all .2s ease-in-out;background:var(--color-white)}.connection-option:hover{border-color:var(--color-emerald);transform:translateY(-1px);box-shadow:0 4px 6px -1px #10b98126}.connection-option.selected{border-color:var(--color-emerald);background:var(--color-emerald-soft);box-shadow:0 4px 6px -1px #10b98126}.option-content{display:flex;align-items:center;gap:1rem}.option-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.option-icon img{width:48px;height:48px;border-radius:8px;object-fit:contain}.icon-placeholder{display:flex;align-items:center;justify-content:center;width:48px;height:48px}.option-text{flex:1;min-width:0}.option-name{font-size:var(--font-h3);font-weight:700;color:var(--color-text-primary);margin:0 0 .25rem}.option-description{font-size:var(--font-body);color:var(--color-text-secondary);margin:0;line-height:1.4}.option-check{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}@media (max-width: 480px){.connection-selection-screen{padding:.75rem}.connection-selection-content{padding:2rem 1.5rem;border-radius:12px}.selection-title{font-size:var(--font-h2)}.connection-option{padding:1rem}}.connection-confirmation-screen{position:absolute;top:0;left:0;width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:1rem;background:var(--color-white);box-sizing:border-box}.connection-confirmation-content{display:flex;flex-direction:column;align-items:center;max-width:480px;width:100%;background:var(--color-white);border-radius:14px;padding:3rem 2rem;box-sizing:border-box;margin:0 auto}.bank-logo-container{margin-bottom:2rem}.bank-logo{width:120px;height:120px;object-fit:contain;border-radius:14px}.bank-logo-placeholder{display:flex;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto}.bank-name{font-size:var(--font-h1);font-weight:800;color:var(--color-text-primary);margin:0 0 1rem;text-align:center}.confirmation-description{font-size:var(--font-body);color:var(--color-text-secondary);margin:0 0 2rem;text-align:center;line-height:1.6}.confirmation-checkbox-container{width:100%;margin-bottom:2rem}.confirmation-checkbox-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;gap:.75rem}.confirmation-checkbox{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{flex-shrink:0;width:20px;height:20px;border:2px solid var(--color-border-dark);border-radius:4px;background:var(--color-white);transition:all .2s ease-in-out;position:relative;display:flex;align-items:center;justify-content:center}.confirmation-checkbox:checked+.checkbox-custom{background-color:var(--color-emerald);border-color:var(--color-emerald)}.confirmation-checkbox:checked+.checkbox-custom:after{content:"";position:absolute;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);top:2px}.confirmation-checkbox:focus+.checkbox-custom{outline:2px solid var(--color-emerald);outline-offset:2px}.checkbox-text{font-size:var(--font-body);color:var(--color-text-primary);line-height:1.5}@media (max-width: 480px){.connection-confirmation-screen{padding:.75rem}.connection-confirmation-content{padding:2rem 1.5rem;border-radius:12px}.bank-name{font-size:var(--font-h2)}.bank-logo,.bank-logo-placeholder{width:100px;height:100px}.bank-logo-placeholder svg{width:100px;height:100px}}.loading-screen{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:100vh;text-align:center;background-color:var(--color-surface)}.loading-content{display:flex;flex-direction:column;align-items:center}.spinner{width:60px;height:60px;border:5px solid var(--color-border);border-top-color:var(--color-emerald);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}@keyframes spin{to{transform:rotate(360deg)}}.loading-content h2{margin-bottom:8px;color:var(--color-text-primary);font-size:var(--font-h2);font-weight:700}.loading-content p{color:var(--color-text-secondary);max-width:360px;font-size:var(--font-body)}
