.error-boundary[data-v-f7b68079]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg)}.error-card[data-v-f7b68079]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;max-width:440px;width:100%;text-align:center}.error-icon[data-v-f7b68079]{width:3rem;height:3rem;border-radius:50%;background:var(--red-dim);border:1px solid var(--red);color:var(--red);font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.error-title[data-v-f7b68079]{font-family:var(--font-heading);font-weight:700;font-size:1.375rem;color:var(--white);margin:0 0 .75rem}.error-message[data-v-f7b68079]{color:var(--text);font-size:.9rem;line-height:1.5;margin:0 0 .5rem}.error-hint[data-v-f7b68079]{color:var(--muted);font-size:.8125rem;line-height:1.5;margin:0 0 1.5rem}.error-hint a[data-v-f7b68079]{color:var(--accent);text-decoration:underline}.error-actions[data-v-f7b68079]{display:flex;justify-content:center}.btn-primary[data-v-f7b68079]{background:var(--accent);color:#000;border:none;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;cursor:pointer;transition:opacity .15s}.btn-primary[data-v-f7b68079]:hover{opacity:.9}.offline-banner[data-v-86a9f3c0]{position:fixed;top:0;left:0;right:0;z-index:300;background:var(--amber);color:#000;font-size:.875rem;font-weight:500;text-align:center;padding:.625rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.offline-icon[data-v-86a9f3c0]{font-size:1rem}.banner-enter-active[data-v-86a9f3c0],.banner-leave-active[data-v-86a9f3c0]{transition:transform .2s ease,opacity .2s ease}.banner-enter-from[data-v-86a9f3c0],.banner-leave-to[data-v-86a9f3c0]{transform:translateY(-100%);opacity:0}:root{--bg: #04080f;--surface: #0c1220;--surface2: #111827;--surface3: #161f30;--border: rgba(255, 255, 255, .07);--border2: rgba(255, 255, 255, .12);--white: #ffffff;--text: rgba(255, 255, 255, .88);--muted: rgba(255, 255, 255, .42);--muted2: rgba(255, 255, 255, .25);--accent: #4ade80;--accent-dim: rgba(74, 222, 128, .1);--accent-border: rgba(74, 222, 128, .22);--blue: #60a5fa;--blue-dim: rgba(96, 165, 250, .1);--amber: #fbbf24;--amber-dim: rgba(251, 191, 36, .1);--red: #f87171;--red-dim: rgba(248, 113, 113, .1);--purple: #a78bfa;--purple-dim: rgba(167, 139, 250, .1);--font-heading: "Syne", sans-serif;--font-body: "Inter", sans-serif;--sidebar-width: 220px;--nav-height: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--class-equities: var(--blue);--class-savings: var(--accent);--class-property: var(--purple);--class-gold: var(--amber);--class-silver: #94a3b8;--class-sukuk: #34d399;--class-pension: #38bdf8;--class-privateEquity: #c084fc;--class-other: var(--muted);--compare-primary: #2b2350;--compare-primary-hover: #3a3070;--compare-accent: #6b5fd6;--compare-green: #1c8a52;--compare-green-light: #e7f6ee;--compare-bg: #f1f3f8;--compare-surface: #ffffff;--compare-border: #e7e9f1;--compare-outline: #e0e3ee;--compare-input-bg: #f3f4f9;--compare-divider: #eef0f6;--compare-checkbox: #cfd3e3;--compare-focus: #b9bce0;--compare-row-hover: #f8f9fb;--compare-header-bg: #eef0fb;--compare-text: #2b2350;--compare-body: #5b6172;--compare-label: #8b90a0;--compare-fine: #9499a8;--compare-muted: #8b90a0;--compare-shadow: 0 1px 2px rgba(43, 35, 80, .04);--compare-radius: 18px;--brand-purple: #3d1f6e;--brand-purple-hover: #2e1754;--brand-purple-dim: rgba(61, 31, 110, .08);--brand-purple-border: rgba(61, 31, 110, .15);--nav-bg: #ffffff;--nav-border: #d8dee8;--nav-text: #1a2030;--nav-muted: #5c6678;--nav-hover-bg: #eef1f6;--nav-active-text: var(--brand-purple);--nav-active-bg: rgba(61, 31, 110, .06);--nav-active-accent: #4ade80;--nav-shadow: 0 1px 3px rgba(26, 32, 48, .06);--cat-nav-bg: #ffffff;--cat-nav-border: #e7e9f1;--cat-nav-active-text: #2b2350;--cat-nav-active-line: #2b2350;--cat-nav-inactive: #8b90a0;--result-badge-halal-bg: var(--compare-header-bg);--result-badge-halal-text: var(--compare-accent);--result-badge-fscs-bg: var(--compare-green-light);--result-badge-fscs-text: var(--compare-green);--result-badge-risk-low: #e8f5ec;--result-badge-risk-med: #fef9c3;--result-badge-risk-high: #fee2e2;--result-cta-bg: var(--compare-primary);--result-cta-text: #ffffff;--result-cta-hover-bg: var(--compare-primary-hover);--result-sponsored-border: var(--compare-green);--result-sponsored-label: #ffffff;--result-top-pick-bg: var(--compare-green);--result-top-pick-text: #ffffff;--chart-grid: rgba(255, 255, 255, .05);--chart-tick: rgba(255, 255, 255, .42);--chart-legend: rgba(255, 255, 255, .7);--chart-border: #04080f}.app-shell{--bg: var(--compare-bg);--surface: var(--compare-surface);--surface2: #eef1f6;--surface3: #e8ecf2;--border: var(--compare-border);--border2: #c4ccd8;--white: var(--compare-text);--text: var(--compare-text);--muted: var(--compare-muted);--muted2: #8892a4;--chart-grid: rgba(26, 32, 48, .08);--chart-tick: var(--compare-muted);--chart-legend: rgba(26, 32, 48, .75);--chart-border: var(--compare-surface)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}#app{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.public-surface{--bg: #f4f6f9;--surface: #ffffff;--surface2: #eef1f6;--surface3: #e4e9f0;--border: #d8dee8;--border2: #c5cdd8;--text: #1a2030;--white: #1a2030;--muted: #5c6678;--muted2: #8a94a6;--accent-dim: rgba(74, 222, 128, .12);--accent-border: rgba(74, 222, 128, .35);--amber-dim: rgba(251, 191, 36, .12);background:var(--bg);color:var(--text)}.brand-logo{display:inline-flex;align-items:center;font-family:var(--font-heading);font-weight:800;font-size:1.125rem;color:var(--brand-purple);text-decoration:none;margin-bottom:1.5rem}.brand-logo span{color:var(--accent)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2.5rem;width:100%;max-width:480px;color:var(--text);box-shadow:0 2px 8px #2d28520f}.auth-card h1{font-family:var(--font-heading);font-weight:700;font-size:1.75rem;color:var(--text);margin:0 0 .5rem}.auth-card h2{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;color:var(--text);margin:1.5rem 0 .75rem}.auth-subtitle{color:var(--muted);margin:0 0 2rem;line-height:1.6}.auth-page form{display:flex;flex-direction:column;gap:1.25rem}.auth-page label{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;color:var(--muted)}.auth-page input[type=email],.auth-page input[type=password],.auth-page input[type=text],.auth-page select{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;color:var(--text);font-size:1rem;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}.auth-page input:focus,.auth-page select:focus{border-color:var(--brand-purple)}.auth-page .secret-key-field{display:flex;gap:.5rem}.auth-page .secret-key-input{flex:1;font-family:monospace;letter-spacing:.05em}.auth-links{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:1.5rem;font-size:.875rem}.auth-footer{margin-top:2rem;text-align:center;color:var(--muted);font-size:.875rem}.auth-footer a,.register-link{color:var(--brand-purple);text-decoration:none;font-weight:600}.auth-footer a:hover,.register-link:hover{text-decoration:underline}.lost-key-link{color:var(--muted);text-decoration:none}.lost-key-link:hover{color:var(--brand-purple);text-decoration:underline}.auth-links .separator{color:var(--border2)}.public-surface .btn-primary,.public-surface .submit-btn{background:var(--brand-purple);color:#fff;border:none;border-radius:8px;padding:.875rem 1.5rem;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s;margin-top:.25rem}.public-surface .btn-primary:hover:not(:disabled),.public-surface .submit-btn:hover:not(:disabled){background:var(--brand-purple-hover)}.public-surface .btn-primary:disabled,.public-surface .submit-btn:disabled{opacity:.6;cursor:not-allowed}.public-surface .btn-secondary{background:var(--surface);color:var(--brand-purple);border:1px solid var(--border);border-radius:8px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.public-surface .btn-secondary:hover{border-color:var(--brand-purple);background:var(--surface2)}.public-surface .paste-btn{background:var(--surface);color:var(--brand-purple);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}.public-surface .paste-btn:hover{border-color:var(--brand-purple);background:var(--surface2)}.public-surface .btn-link{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.875rem;margin-top:1rem;text-decoration:underline;display:block}.public-surface .btn-link:hover{color:var(--brand-purple)}.public-surface .btn-danger-outline{background:transparent;color:var(--red);border:1px solid rgba(248,113,113,.4);border-radius:8px;padding:.75rem 1.5rem;font-size:.9375rem;cursor:pointer;transition:background .2s}.public-surface .btn-danger-outline:hover{background:#f8717114}.public-surface .btn-danger{background:var(--red);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:opacity .2s}.public-surface .btn-danger:disabled{opacity:.4;cursor:not-allowed}.public-surface .error-text{color:var(--red);font-size:.875rem;margin:0}.public-surface .success-text{color:var(--compare-green);font-size:.875rem;background:var(--compare-green-light);border:1px solid rgba(26,122,62,.2);border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem}.public-surface .info-text{color:#92400e;font-size:.875rem;background:var(--amber-dim);border:1px solid rgba(251,191,36,.3);border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem}.public-surface .success-banner{background:var(--compare-green-light);border:1px solid rgba(26,122,62,.2);border-radius:8px;padding:1rem;color:var(--compare-green);text-align:center;margin-bottom:1rem}.public-surface .key-reveal{max-width:560px}.public-surface .secret-key-display{font-family:monospace;font-size:1.1rem;letter-spacing:.1em;background:var(--compare-green-light);border:1px solid rgba(26,122,62,.25);border-radius:8px;padding:1.25rem;color:var(--compare-green);word-break:break-all;text-align:center;margin-bottom:1rem}.public-surface .key-actions{display:flex;gap:.75rem;margin-bottom:1.5rem}.public-surface .key-steps{background:var(--surface2);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--text)}.public-surface .key-steps p{margin:0 0 .5rem}.public-surface .key-steps ol{margin:0;padding-left:1.25rem}.public-surface .key-steps li{margin-bottom:.4rem;color:var(--muted)}.public-surface .checkbox-label{display:flex;flex-direction:row;align-items:flex-start;gap:.75rem;font-size:.875rem;color:var(--text);cursor:pointer;margin-bottom:1.5rem}.public-surface .checkbox-label input[type=checkbox]{flex-shrink:0;margin-top:2px;accent-color:var(--brand-purple);width:16px;height:16px}.public-surface .passkey-benefits{background:var(--surface2);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--muted);line-height:1.6}.public-surface .passkey-benefits p{margin:0}.public-surface .passkey-unlock{margin-bottom:1.5rem}.public-surface .passkey-or{text-align:center;font-size:.8125rem;color:var(--muted);margin:1rem 0 0}.public-surface .creating{text-align:center;padding:4rem 2.5rem}.public-surface .spinner{width:48px;height:48px;border:3px solid var(--surface3);border-top-color:var(--brand-purple);border-radius:50%;animation:public-spin .8s linear infinite;margin:0 auto 2rem}@keyframes public-spin{to{transform:rotate(360deg)}}.public-surface .verify-input{letter-spacing:.2em;text-transform:uppercase;font-family:monospace;font-size:1.25rem}.public-surface .readonly-input{opacity:.7;cursor:not-allowed}.public-surface .optional{font-weight:400;color:var(--muted);font-size:.875rem}.public-surface .info-section p{color:var(--text);line-height:1.7;margin:0 0 1rem}.public-surface .info-section ul{color:var(--muted);padding-left:1.5rem;margin:0 0 1.5rem}.public-surface .info-section li{margin-bottom:.5rem}.public-surface code{background:var(--surface2);padding:.15em .4em;border-radius:4px;font-family:monospace;font-size:.9em;color:var(--brand-purple)}.public-surface .warning-box{background:var(--amber-dim);border:1px solid rgba(251,191,36,.3);border-radius:8px;padding:1.25rem;margin:1.5rem 0}.public-surface .warning-box p{color:#92400e;margin:0 0 .75rem}.public-surface .warning-box p:last-child{margin:0}.public-surface .action-section{display:flex;gap:1rem;margin-top:.5rem;flex-wrap:wrap}.public-surface .delete-confirm-section{border-top:1px solid var(--border);padding-top:1.5rem}.public-surface .delete-warning h2{color:var(--red);margin-top:0}.public-surface .delete-warning p{color:var(--text);line-height:1.6;margin:0 0 .75rem}.public-surface .delete-actions{display:flex;gap:1rem;margin-top:1rem}.public-surface .login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.public-surface .login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:0 2px 8px #2d28520f}.public-surface .login-card .title{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;color:var(--brand-purple);margin-bottom:.25rem;text-align:center}.public-surface .login-card .subtitle{color:var(--muted);font-size:.875rem;text-align:center;margin-bottom:1.75rem}.public-surface .login-card .form{display:flex;flex-direction:column;gap:1rem}.public-surface .login-card .field{display:flex;flex-direction:column;gap:.375rem}.public-surface .login-card .label{font-size:.875rem;color:var(--muted);font-weight:500}.public-surface .login-card .input{padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9375rem;outline:none;transition:border-color .15s}.public-surface .login-card .input:focus{border-color:var(--brand-purple)}.public-surface .login-card .input:disabled{opacity:.6;cursor:not-allowed}.public-surface .login-card .error{background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:8px;padding:.625rem .75rem;color:var(--red);font-size:.85rem}.public-surface .forgot-link{background:none;border:none;color:var(--muted);font-size:.8rem;cursor:pointer;text-decoration:underline;padding:0}.public-surface .forgot-link:hover{color:var(--brand-purple)}.public-surface .contact-link,.public-surface .login-card .register-link a,.public-surface .sign-in-link a{color:var(--brand-purple);font-weight:600}.public-surface .forgot-password{margin-top:1rem;text-align:center}.public-surface .forgot-message{margin-top:.5rem;font-size:.8rem;color:var(--muted);line-height:1.5}.public-surface .provider-badge{display:inline-block;background:var(--brand-purple-dim);border:1px solid var(--brand-purple-border);color:var(--brand-purple);font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:999px;margin-bottom:.75rem}.public-surface .sign-in-link,.public-surface .login-card .register-link{margin-top:1.25rem;text-align:center;font-size:.85rem;color:var(--muted)}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.not-found-card{text-align:center;max-width:420px}.not-found-code{font-family:var(--font-heading);font-weight:800;font-size:6rem;line-height:1;border:1px solid var(--brand-purple-border);border-radius:var(--radius-lg);padding:1rem 2rem;margin-bottom:1.5rem;display:inline-block;background:var(--brand-purple-dim);color:var(--brand-purple)}.not-found-title{font-family:var(--font-heading);font-weight:700;font-size:1.75rem;color:var(--text);margin:0 0 .75rem}.not-found-message{color:var(--muted);font-size:1rem;line-height:1.6;margin:0 0 2rem}.not-found-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
