body{margin:0;text-rendering:optimizeLegibility}code,kbd,samp{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--sw-bg:#000;--sw-bg-elevated:#09090b;--sw-surface:#18181b99;--sw-surface-2:#27272a8c;--sw-surface-3:#1b1b1f;--sw-surface-hover-solid:#232329;--sw-glass:#09090bb8;--sw-glass-strong:#000000e0;--sw-glass-blur:20px;--sw-surface-hover:#27272aad;--sw-border:#ffffff14;--sw-border-strong:#ffffff24;--sw-border-hover:#ffffff29;--sw-text:#f1f5f9;--sw-text-secondary:#94a3b8;--sw-text-muted:#64748b;--sw-accent:#6366f1;--sw-accent-strong:#4f46e5;--sw-accent-2:#3b82f6;--sw-accent-soft:#6366f129;--sw-accent-glow:#6366f159;--brand-google-bg:#fff;--brand-google-text:#1f1f1f;--brand-google-border:#747775;--brand-facebook:#1877f2;--sw-crop-bg:#111;--sw-cyan:#22d3ee;--sw-green:#10b981;--sw-green-soft:#10b98129;--sw-green-border:#10b98152;--sw-red:#ef4444;--sw-red-soft:#ef444429;--sw-red-border:#ef444452;--sw-amber:#f59e0b;--sw-amber-soft:#f59e0b29;--sw-on-amber:#1a1206;--sw-shadow-sm:0 1px 2px #0006;--sw-shadow:0 4px 24px #00000073;--sw-shadow-lg:0 18px 48px #0000008c;--sw-ring:0 0 0 3px #6366f159;--sw-radius-sm:12px;--sw-radius:16px;--sw-radius-lg:24px;--sw-radius-xl:28px;--sw-radius-pill:999px;--sw-transition:180ms cubic-bezier(0.4,0,0.2,1);--sw-font:"Heebo","Inter","Segoe UI",Tahoma,system-ui,sans-serif;--sw-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color-scheme:dark}:root[data-theme=light]{--sw-bg:#f1f5f9;--sw-bg-elevated:#f8fafc;--sw-surface:#fff;--sw-surface-2:#f8fafc;--sw-surface-3:#f1f5f9;--sw-surface-hover-solid:#e6edf5;--sw-glass:#ffffffc7;--sw-glass-strong:#ffffffeb;--sw-border:#e2e8f0;--sw-border-strong:#cbd5e1;--sw-border-hover:#94a3b8;--sw-text:#0f172a;--sw-text-secondary:#475569;--sw-text-muted:#64748b;--sw-accent:#4f46e5;--sw-accent-strong:#4338ca;--sw-accent-2:#2563eb;--sw-accent-soft:#4f46e51a;--sw-accent-glow:#4f46e540;--sw-cyan:#0891b2;--sw-green:#047857;--sw-green-soft:#0478571a;--sw-green-border:#04785742;--sw-red:#dc2626;--sw-red-soft:#dc26261a;--sw-red-border:#dc26263d;--sw-amber:#d97706;--sw-amber-soft:#d977061f;--sw-shadow-sm:0 1px 2px #0f172a0a;--sw-shadow:0 4px 20px #0f172a0d;--sw-shadow-lg:0 18px 44px #0f172a17;--sw-ring:0 0 0 3px #4f46e52e;color-scheme:light}.analysis-section,.btn,.distribution-card,.feature-card,.form-container,.monthly-history-card,.portfolio-summary,.stocks-table,.stocks-table td,.stocks-table th,.table-container,.top-nav,body,input,select,textarea{transition:background-color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),border-color var(--sw-transition),color var(--sw-transition),box-shadow var(--sw-transition)}.sw-theme-booting,.sw-theme-booting *{transition:none!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{scrollbar-color:#ffffff29 #0000;scrollbar-color:var(--sw-border-hover) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#ffffff29;background-color:var(--sw-border-hover);border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-clip:padding-box;background-color:#6366f1;background-color:var(--sw-accent)}::-webkit-scrollbar-button{display:none;height:0;width:0}::-webkit-scrollbar-corner{background:#0000}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" 1,"tnum";background:#000;background:var(--sw-bg);color:#f1f5f9;color:var(--sw-text);direction:rtl;font-family:Heebo,Inter,Segoe UI,Tahoma,system-ui,sans-serif;font-family:var(--sw-font);font-variant-numeric:tabular-nums;min-height:100vh}[data-theme=dark] body{background:radial-gradient(circle at 15% 0,#27272a8c,#0000 32%),radial-gradient(circle at 85% 100%,#18181bbf,#0000 42%),#000;background:radial-gradient(circle at 15% 0,#27272a8c,#0000 32%),radial-gradient(circle at 85% 100%,#18181bbf,#0000 42%),var(--sw-bg);background-attachment:fixed}[data-theme=light] body{background:radial-gradient(1100px 580px at 12% -10%,#6366f117,#0000 60%),radial-gradient(900px 520px at 100% 0,#3b82f60f,#0000 58%),#000;background:radial-gradient(1100px 580px at 12% -10%,#6366f117,#0000 60%),radial-gradient(900px 520px at 100% 0,#3b82f60f,#0000 58%),var(--sw-bg);background-attachment:fixed}h1,h2,h3,h4{color:#f1f5f9;color:var(--sw-text);font-family:Heebo,Inter,Segoe UI,Tahoma,system-ui,sans-serif;font-family:var(--sw-font);letter-spacing:-.015em;line-height:1.25}h1{font-weight:700;letter-spacing:-.025em}h2,h3{font-weight:600}.sw-numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.sw-mono{color:#64748b;color:var(--sw-text-muted);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--sw-font-mono);font-size:.8em;letter-spacing:-.01em}:focus-visible{border-radius:12px;border-radius:var(--sw-radius-sm);box-shadow:0 0 0 3px #6366f159;box-shadow:var(--sw-ring);outline:none}.top-nav{background:#18181b99;background:var(--sw-surface);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);position:-webkit-sticky;position:sticky;top:0;z-index:30}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.top-nav{-webkit-backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(var(--sw-glass-blur)) saturate(180%);backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(var(--sw-glass-blur)) saturate(180%);background:#09090bb8;background:var(--sw-glass)}}.top-nav-inner{align-items:center;display:flex;gap:24px;margin:0 auto;max-width:1800px;padding:12px 24px}.top-nav-brand{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f1f5f9,#6366f1 130%);background:linear-gradient(90deg,var(--sw-text),var(--sw-accent) 130%);-webkit-background-clip:text;background-clip:text;flex-shrink:0;font-size:1.15rem;font-weight:800}.top-nav-links{display:flex;flex:1 1;gap:4px}.top-nav-link{background:none;border:none;border-radius:12px;border-radius:var(--sw-radius-sm);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:600;padding:9px 16px;position:relative;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),color var(--sw-transition)}.top-nav-link:hover{color:#f1f5f9;color:var(--sw-text)}.top-nav-link.active,.top-nav-link:hover{background:#6366f129;background:var(--sw-accent-soft)}.top-nav-link.active{color:#6366f1;color:var(--sw-accent)}.top-nav-link.active:after{background:linear-gradient(90deg,#6366f1,#3b82f6);background:linear-gradient(90deg,var(--sw-accent),var(--sw-accent-2));border-radius:999px;border-radius:var(--sw-radius-pill);content:"";inset-inline:16px;bottom:2px;box-shadow:0 0 10px #6366f159;box-shadow:0 0 10px var(--sw-accent-glow);height:2px;position:absolute}.top-nav-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.top-nav-user{direction:ltr}.top-nav-logout,.top-nav-user{color:#94a3b8;color:var(--sw-text-secondary);font-size:.85rem;font-weight:600}.top-nav-logout{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:8px;cursor:pointer;font-family:inherit;padding:7px 14px;transition:background-color .15s ease,border-color .15s ease}.top-nav-logout:hover{border-color:#ffffff29;border-color:var(--sw-border-hover)}.theme-toggle-button,.top-nav-logout:hover{background:#1b1b1f;background:var(--sw-surface-3)}.theme-toggle-button{align-items:center;border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:999px;border-radius:var(--sw-radius-pill);cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;padding:0;position:relative;transition:border-color .18s cubic-bezier(.4,0,.2,1),background-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1);transition:border-color var(--sw-transition),background-color var(--sw-transition),box-shadow var(--sw-transition);width:62px}.theme-toggle-button:hover{border-color:#ffffff29;border-color:var(--sw-border-hover);box-shadow:0 0 0 4px #6366f129;box-shadow:0 0 0 4px var(--sw-accent-soft)}.theme-toggle-button:active{transform:scale(.95)}.theme-toggle-thumb{background:linear-gradient(135deg,#6366f1,#3b82f6);background:linear-gradient(135deg,var(--sw-accent),var(--sw-accent-2));border-radius:50%;box-shadow:0 2px 8px #6366f159;box-shadow:0 2px 8px var(--sw-accent-glow);height:24px;inset-inline-start:3px;position:absolute;transition:transform .18s cubic-bezier(.4,0,.2,1);transition:transform var(--sw-transition);width:24px}.theme-toggle-button[data-state=light] .theme-toggle-thumb{transform:translateX(30px);transform:translateX(var(--sw-toggle-travel,30px))}:root:not([dir=ltr]) .theme-toggle-button[data-state=light] .theme-toggle-thumb,[dir=rtl] .theme-toggle-button[data-state=light] .theme-toggle-thumb{transform:translateX(-30px);transform:translateX(calc(var(--sw-toggle-travel, 30px)*-1))}.theme-toggle-icons{align-items:center;display:flex;font-size:.72rem;justify-content:space-between;line-height:1;padding:0 7px;pointer-events:none;width:100%}.theme-toggle-icon{opacity:.55;transition:opacity .18s cubic-bezier(.4,0,.2,1);transition:opacity var(--sw-transition)}.theme-toggle-icon.is-active{opacity:1}.auth-theme-toggle-wrap{left:16px;position:fixed;top:16px;z-index:30}@media (max-width:700px){.top-nav-inner{flex-wrap:wrap;gap:10px;padding:10px 14px}.top-nav-links{justify-content:center;order:3;width:100%}}.App{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:40px 20px 20px}.welcome-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:1800px;padding:40px 20px;text-align:center;width:100%}.welcome-content{margin:0 auto;max-width:100%}.welcome-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f1f5f9,#6366f1 130%);background:linear-gradient(90deg,var(--sw-text),var(--sw-accent) 130%);-webkit-background-clip:text;background-clip:text;color:#f1f5f9;color:var(--sw-text);font-size:2.5rem;font-weight:700;line-height:1.3;margin-bottom:20px}.welcome-subtitle{color:#94a3b8;color:var(--sw-text-secondary);font-size:1.2rem;font-weight:400;margin-bottom:40px}.buttons-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:60px}.edit-mode-notice{animation:pulse 2s infinite;background:#ef444429;background:var(--sw-red-soft);border:1px solid #ef444452;border:1px solid var(--sw-red-border);border-radius:12px;box-shadow:0 4px 15px #ff6b6b4d;margin:20px auto;max-width:500px;padding:15px 25px}.notice-content{align-items:center;color:#fff;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center}.notice-icon{animation:bounce 1s infinite;font-size:20px}.notice-text{text-shadow:0 1px 3px #0000004d}@keyframes pulse{0%{box-shadow:0 4px 15px #ff6b6b4d}50%{box-shadow:0 6px 20px #ff6b6b80}to{box-shadow:0 4px 15px #ff6b6b4d}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-2px)}}.expand-button{border-radius:3px;color:#6366f1;color:var(--sw-accent);font-size:14px;padding:2px 4px;transition:all .2s ease}.expand-button:hover{background-color:#1b1b1f;background-color:var(--sw-surface-3);color:#3b82f6;color:var(--sw-accent-2)}.detail-row{background-color:#27272a8c;background-color:var(--sw-surface-2);opacity:.9}.detail-row:hover{opacity:1}.summary-row-expanded{background-color:#f59e0b29!important;background-color:var(--sw-amber-soft)!important;border:1px solid #f59e0b!important;border:1px solid var(--sw-amber)!important}.summary-row-expanded td{font-weight:600}.portfolio-summary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 10px 30px #0000001a;margin:30px 0;padding:25px}.portfolio-summary-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f1f5f9,#6366f1 130%);background:linear-gradient(90deg,var(--sw-text),var(--sw-accent) 130%);-webkit-background-clip:text;background-clip:text;color:#f1f5f9;color:var(--sw-text);font-size:1.8rem;font-weight:700;margin-bottom:20px;text-align:center}.summary-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));margin-top:20px}.summary-section{background:#fffc;border:1px solid #a9822f1a;border-radius:12px;box-shadow:0 5px 15px #00000014;height:100%;padding:20px}.summary-section-title{align-items:center;border-bottom:2px solid #6366f1;border-bottom:2px solid var(--sw-accent);color:#f1f5f9;color:var(--sw-text);display:flex;font-size:1.05rem;font-weight:600;justify-content:center;line-height:1.35;margin:0 0 14px;min-height:3.1em;padding-bottom:10px;text-align:center}.summary-item{grid-gap:10px;align-items:center;border-bottom:1px solid #0000000d;gap:10px;min-height:38px;padding:7px 0}.summary-label{font-size:.9rem;line-height:1.35}.summary-value{font-size:.98rem}.summary-grid-custom{display:flex;flex-direction:column;gap:12px}.summary-row{align-items:stretch;display:flex;gap:12px}.summary-row-single .summary-col{width:100%}.summary-card-link,.summary-col{flex:1 1;min-width:0}.summary-card-link{background:none;border:none;border-radius:12px;color:inherit;cursor:pointer;display:flex;font:inherit;padding:0;position:relative;text-align:inherit;transition:transform .16s ease,box-shadow .16s ease}.summary-card-link:focus-visible,.summary-card-link:hover{transform:translateY(-2px)}.summary-card-link:focus-visible .summary-section,.summary-card-link:hover .summary-section{border-color:#6366f1;border-color:var(--sw-accent);box-shadow:0 10px 24px #00000024}.summary-card-link-hint{background:#4f46e5;background:var(--sw-accent-strong);border-radius:999px;box-shadow:0 4px 12px #0003;color:#fff;font-size:.75rem;font-weight:600;left:12px;line-height:1.4;opacity:0;padding:4px 10px;pointer-events:none;position:absolute;top:12px;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease;white-space:nowrap;z-index:2}.summary-card-link:focus-visible .summary-card-link-hint,.summary-card-link:hover .summary-card-link-hint{opacity:1;transform:translateY(0)}@media (hover:none){.summary-card-link-hint{opacity:1;transform:translateY(0)}}@media (max-width:768px){.summary-grid{gap:15px;grid-template-columns:1fr}.portfolio-summary{margin:20px 0;padding:20px 15px}.portfolio-summary-title{font-size:1.5rem}.summary-row{flex-direction:column;gap:10px}.summary-section{padding:14px}.summary-section-title{font-size:1rem;margin-bottom:10px;padding-bottom:8px}.summary-item{align-items:flex-start;gap:8px;padding:6px 0}.summary-label,.summary-value{font-size:.9rem}}.page-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.page-header-row .welcome-title{margin-bottom:0;text-align:right}.page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.export-actions{display:flex;gap:8px}.export-button{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:999px;color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;padding:10px 18px;transition:border-color .2s ease,color .2s ease,background-color .2s ease;white-space:nowrap}.export-button:hover{background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f1;border-color:var(--sw-accent);color:#6366f1;color:var(--sw-accent)}.export-error{color:#ef4444;color:var(--sw-red);font-size:.85rem;margin:-12px 0 12px;text-align:left}@media (max-width:640px){.page-header-row{align-items:stretch;flex-direction:column}.page-header-row .welcome-title{text-align:center}.page-header-actions{justify-content:center}}.main-buttons-container{align-items:center;gap:30px;margin-bottom:40px}.control-buttons,.main-buttons-container{display:flex;flex-wrap:wrap;justify-content:center}.control-buttons{gap:15px}.snapshot-status-row{display:flex;gap:12px;justify-content:center;margin-top:8px;width:100%}.btn{border:none;border-radius:16px;border-radius:var(--sw-radius);color:#fff;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;letter-spacing:0;padding:13px 28px;transition:background-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),opacity .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),box-shadow var(--sw-transition),transform var(--sw-transition),border-color var(--sw-transition),opacity var(--sw-transition)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.97)}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.btn-warning{background:linear-gradient(135deg,#f59e0b,#f59e0b);background:linear-gradient(135deg,var(--sw-amber) 0,var(--sw-amber) 100%);box-shadow:0 8px 25px #f39c124d}.btn-warning:hover{background:linear-gradient(135deg,#f59e0b,#f59e0b);background:linear-gradient(135deg,var(--sw-amber),var(--sw-amber));box-shadow:0 12px 35px #f39c1266}.ambiguous-period-warning{cursor:help;font-size:.9em}.btn-danger{background:linear-gradient(135deg,#ef4444,#ef4444);background:linear-gradient(135deg,var(--sw-red) 0,var(--sw-red) 100%);box-shadow:0 8px 25px #e74c3c4d}.btn-danger:hover{background:linear-gradient(135deg,#ef4444,#ef4444);background:linear-gradient(135deg,var(--sw-red),var(--sw-red));box-shadow:0 12px 35px #e74c3c66}.btn-info{background:linear-gradient(135deg,#3b82f6,#6366f1);background:linear-gradient(135deg,var(--sw-accent-2),var(--sw-accent));box-shadow:0 4px 14px #6366f159;box-shadow:0 4px 14px var(--sw-accent-glow)}.btn-info:hover{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--sw-accent),var(--sw-accent-strong));box-shadow:0 12px 35px #3498db66}.portfolio-save-btn{background:linear-gradient(135deg,#4f46e5,#6366f1);background:linear-gradient(135deg,var(--sw-accent-strong),var(--sw-accent));border:1px solid #6366f1;border:1px solid var(--sw-accent);box-shadow:0 6px 18px #38bdf859;color:#fff}.portfolio-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#6366f1,#3b82f6);background:linear-gradient(135deg,var(--sw-accent),var(--sw-accent-2));box-shadow:0 10px 26px #38bdf873;color:#fff}.portfolio-save-btn:disabled{background:#ffffff14;background:var(--sw-border);border-color:#94a3b8;border-color:var(--sw-text-secondary);box-shadow:none;color:#64748b;color:var(--sw-text-muted);cursor:not-allowed;opacity:.55;transform:none}.portfolio-save-btn:disabled:active,.portfolio-save-btn:disabled:hover{transform:none}.add-info-button{background:linear-gradient(135deg,#4f46e5,#6366f1);background:linear-gradient(135deg,var(--sw-accent-strong),var(--sw-accent));border:none;border-radius:999px;box-shadow:0 8px 20px -6px #d4af6a8c;color:#fff;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:700;letter-spacing:.2px;padding:12px 26px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.add-info-button:hover{box-shadow:0 12px 26px -6px #d4af6aa6;transform:translateY(-2px)}.add-info-button:active{transform:translateY(0)}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));margin-top:40px}.feature-card{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f1a;border-radius:15px;box-shadow:0 10px 30px #00000014;padding:30px 20px;transition:all .3s ease}.feature-card:hover{box-shadow:0 20px 40px #0000001f;transform:translateY(-5px)}.feature-icon{display:block;font-size:3rem;margin-bottom:20px}.feature-card h3{color:#f1f5f9;color:var(--sw-text);font-size:1.3rem;font-weight:600;margin-bottom:15px}.feature-card p{color:#94a3b8;color:var(--sw-text-secondary);font-size:.95rem;line-height:1.6}@media (max-width:768px){.welcome-container{margin:10px;padding:40px 20px}.welcome-title{font-size:2rem}.welcome-subtitle{font-size:1rem}.buttons-container{gap:15px;margin-bottom:40px}.add-info-button{font-size:1rem;padding:15px 30px}.main-buttons-container{gap:20px;margin-bottom:30px}.control-buttons{gap:10px;padding:12px 15px}.btn{font-size:1rem;padding:15px 30px}.features-grid{gap:20px;grid-template-columns:1fr}.feature-card{padding:25px 15px}}@media (max-width:480px){.App{padding:16px 10px 10px}.welcome-container{border-radius:14px;padding:20px 10px}.user-bar{gap:8px;justify-content:space-between;padding:0 0 12px}.user-email{font-size:.8rem}.user-legacy-import,.user-logout{font-size:.8rem;padding:7px 10px}.welcome-title{font-size:1.7rem}.welcome-subtitle{font-size:.9rem}.main-buttons-container{align-items:center;flex-direction:column;gap:15px}.add-info-button{font-size:.95rem;max-width:280px;padding:12px 25px;width:100%}.control-buttons{align-items:center;flex-direction:column;gap:8px;padding:10px 15px}.btn{font-size:.95rem;max-width:280px;padding:12px 25px;width:100%}.portfolio-summary{border-radius:12px;padding:14px 10px}.portfolio-summary-title{font-size:1.2rem;margin-bottom:10px}.summary-section{border-radius:10px;padding:12px 10px}.summary-item{align-items:flex-start;flex-direction:column;gap:2px}}.form-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:20px;max-width:600px;padding:40px;width:100%}.form-help{color:#94a3b8;color:var(--sw-text-secondary);display:block;font-size:.85rem;font-style:italic;margin-top:5px}.form-content{margin:0 auto;max-width:500px}.form-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f1f5f9,#6366f1 130%);background:linear-gradient(90deg,var(--sw-text),var(--sw-accent) 130%);-webkit-background-clip:text;background-clip:text;color:#f1f5f9;color:var(--sw-text);font-size:2rem;font-weight:700;margin-bottom:30px;text-align:center}.stock-form{gap:25px}.form-group,.stock-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#f1f5f9;color:var(--sw-text);font-size:1rem;font-weight:600;margin-bottom:5px}.form-group input,.form-group select{background:#18181b99;background:var(--sw-surface);border:2px solid #ffffff14;border:2px solid var(--sw-border);border-radius:10px;color:#f1f5f9;color:var(--sw-text);font-family:inherit;font-size:1rem;padding:15px;transition:all .3s ease}.exchange-rate-display{background:#a9822f14;border:2px solid #a9822f40;border-radius:10px;color:#f1f5f9;color:var(--sw-text);font-size:.95rem;margin:0;padding:12px 15px}.exchange-rate-warning{color:#f59e0b;color:var(--sw-amber);font-size:.9rem;margin:0 0 8px}.link-button{background:none;border:none;color:#6366f1;color:var(--sw-accent);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline}.form-group input:focus,.form-group select:focus{border-color:#6366f1;border-color:var(--sw-accent);box-shadow:0 0 0 3px #a9822f1a;outline:none}.form-group input::placeholder{color:#64748b;color:var(--sw-text-muted)}.form-group-checkbox label{align-items:center;display:flex;font-weight:500;gap:8px}.form-group-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.form-hint{color:#94a3b8;color:var(--sw-text-secondary);font-size:.85rem;margin:4px 0 0}.form-group select{cursor:pointer}.form-buttons{display:flex;gap:15px;justify-content:center;margin-top:20px}.back-button{border:none;border-radius:10px;color:#f1f5f9;color:var(--sw-text);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:15px 30px;transition:all .3s ease}.back-button,.back-button:hover{background:#1b1b1f;background:var(--sw-surface-3)}.back-button:hover{transform:translateY(-2px)}.submit-button{background:linear-gradient(135deg,#4f46e5,#6366f1);background:linear-gradient(135deg,var(--sw-accent-strong),var(--sw-accent));border:none;border-radius:10px;box-shadow:0 4px 15px -4px #d4af6a80;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:700;padding:15px 30px;transition:transform .2s ease,box-shadow .2s ease}.submit-button:hover{box-shadow:0 6px 20px -4px #d4af6a99;transform:translateY(-2px)}.submit-button:active{transform:translateY(0)}@media (max-width:768px){.form-container{margin:10px;padding:30px 20px}.form-title{font-size:1.7rem}.form-buttons{flex-direction:column}.back-button,.submit-button{width:100%}}@media (max-width:480px){.form-title{font-size:1.5rem}.form-group input,.form-group select{padding:12px}}.stocks-section{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f1a;border-radius:15px;box-shadow:0 10px 30px #00000014;margin-top:30px;max-width:100%;overflow:hidden;overflow:clip;padding:20px;width:100%}.section-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f1f5f9,#6366f1 130%);background:linear-gradient(90deg,var(--sw-text),var(--sw-accent) 130%);-webkit-background-clip:text;background-clip:text;color:#f1f5f9;color:var(--sw-text);font-size:1.5rem;font-weight:700;margin-bottom:20px;text-align:center}.table-container{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:24px;border-radius:var(--sw-radius-lg);box-shadow:0 4px 24px #00000073;box-shadow:var(--sw-shadow);isolation:isolate;max-width:100%;overflow-x:auto;position:relative;width:100%}.stocks-table{background:#0000;border-collapse:initial;border-spacing:0;color:#f1f5f9;color:var(--sw-text);font-size:.9rem;width:100%}.stocks-table thead th{background:#1b1b1f;background:var(--sw-surface-3);border-bottom:1px solid #ffffff24;border-bottom:1px solid var(--sw-border-strong);color:#94a3b8;color:var(--sw-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:14px 16px;position:-webkit-sticky;position:sticky;text-align:center;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.stocks-table thead th{-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(var(--sw-glass-blur));backdrop-filter:blur(20px);backdrop-filter:blur(var(--sw-glass-blur));background:#000000e0;background:var(--sw-glass-strong)}}.stocks-table td{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);color:#f1f5f9;color:var(--sw-text);padding:14px 16px;text-align:center;white-space:nowrap}.stocks-table tbody tr{transition:background-color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition)}.stocks-table tbody tr:hover{background-color:#27272a8c;background-color:var(--sw-surface-2)}.stocks-table tbody tr:last-child td{border-bottom:none}.stocks-table td:first-child,.stocks-table th:first-child{background-color:#18181b99;background-color:var(--sw-surface);box-shadow:-1px 0 0 #ffffff14;box-shadow:-1px 0 0 var(--sw-border);font-weight:500;text-align:right;z-index:1}.stocks-table thead th:first-child{background-color:#1b1b1f;background-color:var(--sw-surface-3)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.stocks-table thead th:first-child{background-color:#000000e0;background-color:var(--sw-glass-strong)}}.detail-row,.detail-row td:first-child,.stocks-table tbody tr:hover td:first-child{background-color:#27272a8c;background-color:var(--sw-surface-2)}.summary-row-expanded td:first-child{background-color:#f59e0b29;background-color:var(--sw-amber-soft)}.asset-cell{align-items:flex-start;display:flex;flex-direction:column;gap:2px;text-align:right}.asset-cell-name{color:#f1f5f9;color:var(--sw-text);font-weight:600;line-height:1.3}.asset-cell-id{color:#64748b;color:var(--sw-text-muted);direction:ltr;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--sw-font-mono);font-size:.72rem;letter-spacing:.02em}.value-pill{font-feature-settings:"tnum";align-items:center;border:1px solid #0000;border-radius:999px;border-radius:var(--sw-radius-pill);display:inline-flex;font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:600;gap:4px;line-height:1.4;padding:4px 10px;white-space:nowrap}.value-pill.is-positive{background:#10b98129;background:var(--sw-green-soft);border-color:#10b98152;border-color:var(--sw-green-border);color:#10b981;color:var(--sw-green)}.value-pill.is-negative{background:#ef444429;background:var(--sw-red-soft);border-color:#ef444452;border-color:var(--sw-red-border);color:#ef4444;color:var(--sw-red)}.value-pill.is-neutral{background:#1b1b1f;background:var(--sw-surface-3);border-color:#ffffff14;border-color:var(--sw-border);color:#94a3b8;color:var(--sw-text-secondary)}@media (max-width:768px){.stocks-table{font-size:.82rem}.stocks-table td,.stocks-table th{padding:10px 12px}.table-container{border-radius:16px;border-radius:var(--sw-radius)}}.no-data-message{background:#ffffffb3;border:2px dashed #ffffff24;border:2px dashed var(--sw-border-strong);border-radius:15px;margin-top:40px;padding:40px;text-align:center}.no-data-message p{color:#94a3b8;color:var(--sw-text-secondary);font-size:1.1rem;margin:10px 0}.no-data-message p:first-child{color:#64748b;color:var(--sw-text-muted);font-weight:600}.sample-portfolio-cta{border-top:1px solid #ffffff14;border-top:1px solid var(--sw-border);margin-top:24px;padding-top:20px}.sample-portfolio-cta button{margin-top:8px}.sample-portfolio-note{background:#18181b99;background:var(--sw-surface);border:1px dashed #ffffff14;border:1px dashed var(--sw-border);border-radius:10px;color:#94a3b8;color:var(--sw-text-secondary);font-size:.9rem;margin:12px 0;padding:10px 14px}.stocks-table:not(.american-stocks-table){min-width:1200px}.stocks-table.compact-table{min-width:0}.american-stocks-table{min-width:1500px}@media (max-width:768px){.stocks-section{margin-top:30px;padding:20px 15px}.section-title{font-size:1.3rem}.stocks-table{font-size:.8rem}.stocks-table td,.stocks-table th{padding:10px 5px}.no-data-message{margin-top:30px;padding:30px 20px}.no-data-message p{font-size:1rem}}@media (max-width:480px){.stocks-table{font-size:.75rem}.stocks-table td,.stocks-table th{padding:8px 3px}.section-title{font-size:1.2rem}}.profit-positive{color:#10b981!important;color:var(--sw-green)!important;font-weight:600}.profit-negative{color:#ef4444!important;color:var(--sw-red)!important;font-weight:600}.volatility-indicator{border-radius:12px;font-size:.85rem;font-weight:600;padding:4px 8px}.volatility-indicator.low{background-color:#10b98129;background-color:var(--sw-green-soft);color:#10b981;color:var(--sw-green)}.volatility-indicator.medium{background-color:#f59e0b29;background-color:var(--sw-amber-soft);color:#f59e0b;color:var(--sw-amber)}.volatility-indicator.high{background-color:#ef444429;background-color:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}.editable-row{cursor:pointer;transition:background-color .2s ease}.editable-row:hover{background-color:#6366f129!important;background-color:var(--sw-accent-soft)!important}.editable-cell{cursor:pointer;transition:background-color .2s ease}.editable-cell:hover{background-color:#6366f129!important;background-color:var(--sw-accent-soft)!important}.editable-cell input{background:#18181b99;background:var(--sw-surface);border:1px solid #6366f1;border:1px solid var(--sw-accent);border-radius:4px;box-sizing:border-box;font-size:.85rem;margin:0;padding:4px 6px;text-align:center;width:100%}.editable-cell input:focus{border-color:#6366f1;border-color:var(--sw-accent);box-shadow:0 0 0 2px #a9822f33;outline:none}.edit-row{background-color:#27272a8c;background-color:var(--sw-surface-2);border:1px solid #6366f1;border:1px solid var(--sw-accent)}.pension-value-edit-group{display:flex;flex-direction:column;gap:4px}.edit-row td{padding:6px 8px;vertical-align:middle}.edit-input{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:3px;box-sizing:border-box;font-size:.85rem;margin:0;padding:4px 6px;text-align:center;width:100%}.edit-input:focus{border-color:#6366f1;border-color:var(--sw-accent);box-shadow:0 0 0 2px #a9822f33;outline:none}.edit-instruction{color:#6366f1;color:var(--sw-accent);font-size:.9rem;font-weight:600}.edit-display{color:#f1f5f9;color:var(--sw-text);display:block;font-size:.85rem;font-weight:500;padding:2px 4px}.edit-actions{align-items:center;display:flex;flex-direction:column;gap:4px;padding:2px}.delete-button{background:linear-gradient(135deg,#ef4444,#ef4444);background:linear-gradient(135deg,var(--sw-red) 0,var(--sw-red) 100%);border:none;border-radius:4px;box-shadow:0 1px 4px #e74c3c4d;color:#fff;font-family:inherit;font-size:.75rem;padding:4px 8px;transition:all .3s ease}.delete-button:hover{background:linear-gradient(135deg,#ef4444,#ef4444);background:linear-gradient(135deg,var(--sw-red),var(--sw-red));box-shadow:0 4px 12px #e74c3c66;transform:translateY(-1px)}.delete-button:active{transform:translateY(0)}.analysis-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:20px;max-width:1800px;padding:40px;width:100%}.analysis-content{margin:0 auto;max-width:100%}.analysis-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f1f5f9,#6366f1 130%);background:linear-gradient(90deg,var(--sw-text),var(--sw-accent) 130%);-webkit-background-clip:text;background-clip:text;color:#f1f5f9;color:var(--sw-text);font-size:2.5rem;font-weight:700;margin-bottom:30px;text-align:center}.analysis-section{background:#fffc;border:1px solid #a9822f1a;border-radius:12px;box-shadow:0 6px 18px #00000012;margin-bottom:24px;padding:18px}.distribution-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));margin-top:12px}.distribution-card{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f1a;border-radius:10px;box-shadow:0 3px 10px #0000000f;padding:14px;text-align:center}.distribution-card h3{color:#f1f5f9;color:var(--sw-text);font-size:1rem;margin-bottom:8px}.distribution-value{font-size:1.35rem;margin-bottom:4px}.distribution-percentage{color:#6366f1;color:var(--sw-accent);font-size:.95rem;font-weight:600}.section-subtitle{font-size:.85rem;margin-bottom:4px;margin-top:-4px}.history-empty-note,.section-subtitle{color:#94a3b8;color:var(--sw-text-secondary)}.history-empty-note{border:1px dashed #a9822f4d;border-radius:10px;font-size:.95rem;line-height:1.6;margin-top:12px;padding:20px;text-align:center}.equity-chart-container,.history-empty-note{background:#18181b99;background:var(--sw-surface)}.equity-chart-container{border:1px solid #a9822f1a;border-radius:12px;box-shadow:0 5px 15px #00000014;padding:20px 12px}.benchmark-toggle-row{display:flex;gap:8px;margin-bottom:4px;margin-top:8px}.benchmark-toggle-button{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f4d;border-radius:999px;color:#6366f1;color:var(--sw-accent);cursor:pointer;font-size:.9rem;font-weight:600;padding:6px 16px;transition:background .15s ease,color .15s ease}.benchmark-toggle-button:hover{background:#a9822f14}.benchmark-toggle-button.active{background:#6366f1;background:var(--sw-accent);color:#fff}.rebalance-inputs-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));margin-top:12px}.rebalance-input-item{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f26;border-radius:10px;padding:10px 14px}.rebalance-input-item label{color:#6366f1;color:var(--sw-accent);display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}.rebalance-input-wrap{align-items:center;display:flex;gap:6px}.rebalance-input-wrap input{border:1px solid #a9822f40;border-radius:6px;font-size:1rem;padding:6px 8px;text-align:center;width:100%}.monthly-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.monthly-status-text{color:#94a3b8;color:var(--sw-text-secondary);font-size:.85rem}.monthly-toolbar-buttons{display:flex;flex-wrap:wrap;gap:8px}.monthly-toolbar-btn{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f4d;border-radius:999px;color:#6366f1;color:var(--sw-accent);cursor:pointer;font-size:.8rem;font-weight:600;padding:5px 14px;transition:background .15s ease,color .15s ease}.monthly-toolbar-btn:hover{background:#a9822f14}.monthly-toolbar-btn:disabled{cursor:default;opacity:.6}.monthly-toolbar-btn.danger{border-color:#dc262659}.monthly-toolbar-btn.danger:hover{background:#dc262614}.monthly-manual-form{background:#18181b99;background:var(--sw-surface);border:1px dashed #a9822f59;border-radius:10px;margin-bottom:16px;padding:14px}.monthly-manual-category{margin-top:12px}.monthly-manual-category-header{align-items:center;color:#f1f5f9;color:var(--sw-text);display:flex;font-weight:600;justify-content:space-between;padding:4px 2px}.monthly-manual-item-row{align-items:center;display:flex;gap:8px;margin-top:6px}.monthly-manual-item-row input[type=text]{flex:2 1}.monthly-manual-item-row input[type=number]{flex:1 1}.monthly-cashflow-inputs{margin-top:12px}.monthly-cashflow-hint{color:#94a3b8;color:var(--sw-text-secondary);font-size:.8rem;margin:0 0 8px}.monthly-cashflow-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}.monthly-cashflow-item{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f26;border-radius:8px;padding:6px 10px}.monthly-cashflow-item label{color:#6366f1;color:var(--sw-accent);display:block;font-size:.78rem;font-weight:600;margin-bottom:2px}.monthly-cashflow-item input{padding:4px 6px}.monthly-cashflow-item input,.monthly-select{border:1px solid #a9822f40;border-radius:6px;width:100%}.monthly-select{background:#18181b99;background:var(--sw-surface);color:#f1f5f9;color:var(--sw-text);font-size:.95rem;padding:6px 8px}.monthly-category-row{font-weight:600}.monthly-total-row{background:#a9822f0f;font-weight:700}.monthly-item-row td{font-size:.9rem}.monthly-cashflow-note,.monthly-item-row td{color:#94a3b8;color:var(--sw-text-secondary);font-weight:400}.monthly-cashflow-note{font-size:.78rem;margin-top:2px}.monthly-item-label{padding-right:20px!important}.monthly-history-list{display:flex;flex-direction:column;gap:14px;margin-top:12px}.monthly-history-card{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f26;border-radius:10px;padding:14px}.monthly-history-category{margin-top:8px}.monthly-history-category-header{background:#27272a8c;background:var(--sw-surface-2);border-radius:6px;color:#f1f5f9;color:var(--sw-text);display:flex;font-weight:600;justify-content:space-between;padding:6px 10px}.monthly-history-item-row{color:#94a3b8;color:var(--sw-text-secondary);display:flex;font-size:.9rem;justify-content:space-between;padding:6px 10px 6px 20px}.monthly-item-placeholder{font-style:italic;justify-content:flex-start}.rebalance-sum-row{align-items:center;display:flex;flex-wrap:wrap;font-weight:600;gap:12px;margin-top:14px}.rebalance-sum-hint{color:#94a3b8;color:var(--sw-text-secondary);font-size:.9rem;font-weight:500}.rebalance-status-msg{font-size:.9rem}.pie-chart-container{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f1a;border-radius:12px;box-shadow:0 5px 15px #00000014;margin-top:20px;min-height:500px;overflow:visible;padding:30px}.pie-chart-wrapper{align-items:center;display:flex;gap:40px;height:100%}.pie-labels-side{display:flex;flex:1 1;flex-direction:column;gap:20px}.pie-label-item{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f1a;box-shadow:0 3px 10px #0000001a;gap:15px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.pie-label-item:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.pie-label-item .label-color{border-radius:50%;flex-shrink:0;height:24px;width:24px}.pie-label-item .label-content{display:flex;flex-direction:column;gap:4px}.pie-label-item .label-name{font-size:1.1rem}.pie-label-item .label-value{color:#f1f5f9;color:var(--sw-text);font-size:1.2rem;font-weight:700}.pie-label-item .label-percentage{color:#6366f1;color:var(--sw-accent);font-size:1rem;font-weight:600}.recharts-surface,.recharts-wrapper{outline:none!important;overflow:visible!important}.recharts-pie,.recharts-pie-sector,.recharts-pie-sector:active,.recharts-pie-sector:focus,.recharts-wrapper *,.recharts-wrapper :active,.recharts-wrapper :focus{outline:none!important}.recharts-pie-label-text{fill:#f1f5f9!important;fill:var(--sw-text)!important;stroke:#000!important;stroke:var(--sw-bg)!important;stroke-width:3px!important;stroke-linejoin:round!important;border:1px solid #a9822f33!important;border-radius:6px!important;box-shadow:0 2px 8px #0000001a!important;font-size:14px!important;font-weight:600!important;padding:4px 8px!important;paint-order:stroke fill!important}.recharts-legend-wrapper{overflow:visible!important}.analysis-table{background:#18181b99;background:var(--sw-surface);border-collapse:collapse;border-radius:10px;box-shadow:0 4px 15px #0000000d;overflow:hidden;width:100%}.analysis-table thead{background:#1b1b1f;background:var(--sw-surface-3);border-bottom:2px solid #6366f1;border-bottom:2px solid var(--sw-accent);color:#f1f5f9;color:var(--sw-text)}.analysis-table th{font-size:.9rem;font-weight:600;padding:15px 10px;text-align:center}.analysis-table td{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);color:#f1f5f9;color:var(--sw-text);padding:12px 10px;text-align:center}.analysis-table tbody tr:hover{background-color:#27272a8c;background-color:var(--sw-surface-2);transition:background-color .2s ease}.date-distribution-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));margin-top:12px}.date-distribution-card{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f1a;border-radius:10px;box-shadow:0 3px 10px #0000000f;padding:14px}.date-distribution-card h3{color:#f1f5f9;color:var(--sw-text);font-size:1.2rem;font-weight:600;margin-bottom:15px;text-align:center}.date-list{display:flex;flex-direction:column;gap:10px}.date-item{align-items:center;background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:8px;display:flex;justify-content:space-between;padding:10px}.date-label{color:#f1f5f9;color:var(--sw-text);font-weight:600}.segment-controls{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0}.segment-group{align-items:center;display:flex;gap:10px}.segment-group-label{color:var(--sw-text-dim);font-size:.78rem;font-weight:700;letter-spacing:.04em}.segment-buttons{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;border-radius:var(--sw-radius-sm);display:inline-flex;padding:3px}.segment-button{background:none;border:none;border-radius:10px;border-radius:calc(var(--sw-radius-sm) - 2px);color:var(--sw-text-dim);cursor:pointer;font:inherit;font-size:.85rem;padding:7px 14px;transition:background .15s ease,color .15s ease;white-space:nowrap}.segment-button:hover{color:#f1f5f9;color:var(--sw-text)}.segment-button.active{background:#6366f1;background:var(--sw-accent);color:#fff;font-weight:600}.segment-summary{margin-bottom:12px}@media (max-width:640px){.segment-controls{gap:12px}.segment-group{align-items:stretch;flex-direction:column;gap:6px}.segment-buttons{overflow-x:auto}}.year-accordion{display:flex;flex-direction:column;gap:8px;margin-top:12px}.year-accordion-item{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:10px;overflow:hidden}.year-accordion-item.is-open{border-color:#4f46e5;border-color:var(--sw-accent-strong)}.year-accordion-header{align-items:center;background:none;border:none;color:#f1f5f9;color:var(--sw-text);cursor:pointer;display:flex;font:inherit;gap:12px;padding:14px 16px;text-align:start;transition:background .15s ease;width:100%}.year-accordion-header:hover{background:#27272a8c;background:var(--sw-surface-2)}.year-accordion-chevron{color:var(--sw-text-dim);flex-shrink:0;font-size:.8rem;transform:rotate(90deg);transition:transform .18s ease}.year-accordion-item.is-open .year-accordion-chevron{transform:rotate(0deg)}.year-accordion-year{font-feature-settings:"tnum";font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:700}.year-accordion-value{-webkit-margin-start:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;margin-inline-start:auto}.year-accordion-count{color:var(--sw-text-dim);flex-shrink:0;font-size:.82rem}.year-accordion-body{border-top:1px solid #ffffff14;border-top:1px solid var(--sw-border);padding:0 16px 14px}.year-accordion-body .date-list{margin-top:12px}@media (max-width:640px){.year-accordion-header{flex-wrap:wrap;gap:8px;padding:12px 14px}.year-accordion-value{-webkit-margin-start:0;margin-inline-start:0;width:100%}}.date-item-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.date-value{color:#6366f1;color:var(--sw-accent);font-weight:600}.date-count{color:#94a3b8;color:var(--sw-text-secondary);font-size:.9rem}.reports-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));margin-top:12px}.report-card{background:#18181b99;background:var(--sw-surface);border:1px solid #a9822f1a;border-radius:10px;box-shadow:0 3px 10px #0000000f;padding:14px}.report-card h3{color:#f1f5f9;color:var(--sw-text);font-size:1.2rem;font-weight:600;margin-bottom:15px;text-align:center}.report-list{display:flex;flex-direction:column;gap:10px}.report-item{align-items:center;background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:8px;display:flex;justify-content:space-between;padding:10px}.report-name{color:#f1f5f9;color:var(--sw-text)}.report-name,.report-profit,.report-value{font-weight:600}@media (max-width:768px){.analysis-container{margin:10px;padding:30px 20px}.analysis-title{font-size:2rem}.date-distribution-grid,.distribution-grid,.reports-grid{gap:15px;grid-template-columns:1fr}.analysis-section{padding:14px 12px}.distribution-card{padding:12px}.distribution-value{font-size:1.15rem}.distribution-percentage{font-size:.88rem}.analysis-table{font-size:.8rem}.analysis-table td,.analysis-table th{padding:10px 5px}.pie-chart-container{min-height:0;padding:16px 12px}.pie-chart-wrapper{flex-direction:column;gap:20px}.pie-labels-side{gap:15px}.pie-label-item{padding:15px}.pie-label-item .label-name{font-size:1rem}.pie-label-item .label-value{font-size:1.1rem}.pie-label-item .label-percentage{font-size:.9rem}}.auth-loading-wrap{align-items:center;display:flex;justify-content:center;min-height:40vh}.auth-loading-text{color:#fff;font-size:1.25rem;font-weight:500}.auth-screen{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 40px);width:100%}.auth-card{background:#fffffff5;border:1px solid #ffffff40;border-radius:20px;box-shadow:0 20px 40px #0000001f;max-width:420px;padding:36px 32px;text-align:center;width:100%}.auth-brand{align-items:center;color:#f1f5f9;color:var(--sw-text);display:flex;font-size:1.05rem;font-weight:700;gap:10px;justify-content:center;letter-spacing:-.02em;margin-bottom:14px}.auth-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f1f5f9,#6366f1 130%);background:linear-gradient(90deg,var(--sw-text),var(--sw-accent) 130%);-webkit-background-clip:text;background-clip:text;font-size:1.85rem;font-weight:700;margin-bottom:8px}.auth-subtitle{color:#94a3b8;color:var(--sw-text-secondary);font-size:.95rem;margin-bottom:24px}.auth-tabs{background:#27272a8c;background:var(--sw-surface-2);border-radius:12px;display:flex;gap:8px;margin-bottom:24px;padding:6px}.auth-tab{background:#0000;border:none;border-radius:10px;color:#64748b;color:var(--sw-text-muted);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:10px 12px;transition:background .2s,color .2s}.auth-tab.active{background:#18181b99;background:var(--sw-surface);box-shadow:0 2px 8px #0000000f;color:#f1f5f9;color:var(--sw-text)}.auth-form{gap:16px;text-align:right}.auth-form,.auth-label{display:flex;flex-direction:column}.auth-label{color:#f1f5f9;color:var(--sw-text);font-size:.9rem;font-weight:600;gap:8px}.auth-hint{color:#94a3b8;color:var(--sw-text-secondary);font-size:.8rem;font-weight:400}.auth-input{border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:10px;direction:ltr;font-size:1rem;padding:12px 14px;text-align:left;width:100%}.auth-input:focus{border-color:#6366f1;border-color:var(--sw-accent);box-shadow:0 0 0 3px #a9822f33;outline:none}.auth-error{background:#ef444429;background:var(--sw-red-soft);border-radius:10px;color:#ef4444;color:var(--sw-red);font-size:.9rem;padding:10px 12px;text-align:center}.auth-submit{background:linear-gradient(135deg,#4f46e5,#6366f1);background:linear-gradient(135deg,var(--sw-accent-strong),var(--sw-accent));border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:700;margin-top:4px;padding:14px;transition:opacity .2s;width:100%}.auth-submit:disabled{cursor:not-allowed;opacity:.65}.auth-submit-danger{background:#ef4444;background:var(--sw-red)}.auth-link{align-self:center;background:none;border:none;color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-family:inherit;font-size:.9rem;padding:4px 8px;text-decoration:underline}.auth-link:hover{color:#f1f5f9;color:var(--sw-text)}.auth-notice{background:#10b98129;background:var(--sw-green-soft);border-radius:10px;color:#10b981;color:var(--sw-green);font-size:.9rem;padding:10px 12px;text-align:center}.auth-step-text{color:#94a3b8;color:var(--sw-text-secondary);font-size:.92rem;line-height:1.55;margin:0;text-align:right}.auth-code-input{font-feature-settings:"tnum";font-size:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:.4em;text-align:center}.security-page{gap:20px}.security-card,.security-page{display:flex;flex-direction:column}.security-card{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:16px;border-radius:var(--sw-radius,16px);gap:16px;max-width:520px;padding:24px;width:100%}.security-card-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.security-card-title{color:#f1f5f9;color:var(--sw-text);font-size:1.1rem;margin:0}.security-badge{border-radius:999px;font-size:.8rem;font-weight:700;padding:4px 10px}.security-badge.is-on{background:#10b98129;background:var(--sw-green-soft);color:#10b981;color:var(--sw-green)}.security-badge.is-off{background:#27272a8c;background:var(--sw-surface-2);color:#64748b;color:var(--sw-text-muted)}.security-steps{-webkit-padding-start:20px;color:#94a3b8;color:var(--sw-text-secondary);font-size:.92rem;line-height:1.6;margin:0;padding-inline-start:20px}.security-qr{align-self:center;background:#fff;border-radius:12px;height:auto;max-width:100%;padding:8px}.security-secret{align-items:center;display:flex;flex-direction:column;gap:4px}.security-secret code{color:#f1f5f9;color:var(--sw-text);font-size:.95rem;letter-spacing:.05em;word-break:break-all}.side-nav-logout.is-active{border-color:#6366f1;border-color:var(--sw-accent);color:#f1f5f9;color:var(--sw-text)}.user-bar{align-items:center;border-bottom:1px solid #a9822f33;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-bottom:8px;padding:0 8px 16px}.user-email{direction:ltr}.user-email,.user-logout{color:#94a3b8;color:var(--sw-text-secondary);font-size:.9rem;font-weight:600}.user-logout{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:10px;cursor:pointer;margin-right:auto;padding:8px 16px}.user-logout:hover{border-color:#94a3b8;border-color:var(--sw-text-secondary)}.user-legacy-import,.user-logout:hover{background:#27272a8c;background:var(--sw-surface-2)}.user-legacy-import{border:1px dashed #ffffff24;border:1px dashed var(--sw-border-strong);border-radius:10px;color:#f1f5f9;color:var(--sw-text);cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px}.user-legacy-import:disabled{cursor:not-allowed;opacity:.6}.user-legacy-import:hover:not(:disabled){background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f1;border-color:var(--sw-accent);color:#4f46e5;color:var(--sw-accent-strong)}.user-import-banner{background:#10b98129;background:var(--sw-green-soft);border:1px solid #10b98152;border:1px solid var(--sw-green-border);border-radius:10px;color:#10b981;color:var(--sw-green);font-size:.9rem;font-weight:600;margin:-8px 8px 12px;padding:10px;text-align:center}[data-theme=dark] .analysis-container,[data-theme=dark] .welcome-container{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none}[data-theme=dark] .auth-card,[data-theme=dark] .form-container{-webkit-backdrop-filter:none;backdrop-filter:none;background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);box-shadow:inset 0 1px 0 #ffffff08,0 24px 48px -28px #000000b3}[data-theme=dark] .analysis-section,[data-theme=dark] .date-distribution-card,[data-theme=dark] .distribution-card,[data-theme=dark] .equity-chart-container,[data-theme=dark] .feature-card,[data-theme=dark] .history-empty-note,[data-theme=dark] .monthly-history-card,[data-theme=dark] .no-data-message,[data-theme=dark] .pie-chart-container,[data-theme=dark] .pie-label-item,[data-theme=dark] .portfolio-summary,[data-theme=dark] .rebalance-input-item,[data-theme=dark] .report-card,[data-theme=dark] .stocks-section,[data-theme=dark] .summary-section{background:#18181b99;background:var(--sw-surface);border-color:#ffffff14;border-color:var(--sw-border);box-shadow:none}[data-theme=dark] .auth-tabs,[data-theme=dark] .date-item,[data-theme=dark] .edit-row,[data-theme=dark] .monthly-history-category-header,[data-theme=dark] .report-item{background:#27272a8c;background:var(--sw-surface-2);border-color:#ffffff14;border-color:var(--sw-border)}[data-theme=dark] .auth-tab{color:#94a3b8;color:var(--sw-text-secondary)}[data-theme=dark] .benchmark-toggle-button{background:#27272a8c;background:var(--sw-surface-2);border-color:#ffffff14;border-color:var(--sw-border);color:#6366f1;color:var(--sw-accent)}[data-theme=dark] .benchmark-toggle-button:hover{background:#6366f129;background:var(--sw-accent-soft)}[data-theme=dark] .auth-tab.active{background:#1b1b1f;background:var(--sw-surface-3);color:#f1f5f9;color:var(--sw-text)}[data-theme=dark] .analysis-table td,[data-theme=dark] .auth-label,[data-theme=dark] .date-distribution-card h3,[data-theme=dark] .date-label,[data-theme=dark] .distribution-card h3,[data-theme=dark] .distribution-value,[data-theme=dark] .edit-display,[data-theme=dark] .feature-card h3,[data-theme=dark] .form-group input,[data-theme=dark] .form-group label,[data-theme=dark] .form-group select,[data-theme=dark] .monthly-history-category-header,[data-theme=dark] .pie-label-item .label-name,[data-theme=dark] .pie-label-item .label-value,[data-theme=dark] .report-card h3,[data-theme=dark] .report-name,[data-theme=dark] .stocks-table td,[data-theme=dark] .summary-section-title,[data-theme=dark] .summary-value{color:#f1f5f9;color:var(--sw-text)}[data-theme=dark] .monthly-select{color:#f1f5f9;color:var(--sw-text)}[data-theme=dark] .monthly-select,[data-theme=dark] .monthly-toolbar-btn{background:#27272a8c;background:var(--sw-surface-2);border-color:#ffffff14;border-color:var(--sw-border)}[data-theme=dark] .monthly-toolbar-btn{color:#6366f1;color:var(--sw-accent)}[data-theme=dark] .monthly-toolbar-btn:hover{background:#6366f129;background:var(--sw-accent-soft)}[data-theme=dark] .monthly-toolbar-btn.danger{border-color:#f8717166;color:#f87171}[data-theme=dark] .monthly-manual-form{background:#18181b99;background:var(--sw-surface);border-color:#ffffff14;border-color:var(--sw-border)}[data-theme=dark] .monthly-cashflow-item{background:#27272a8c;background:var(--sw-surface-2);border-color:#ffffff14;border-color:var(--sw-border)}[data-theme=dark] .monthly-cashflow-item input{background:#18181b99;background:var(--sw-surface);border-color:#ffffff14;border-color:var(--sw-border);color:#f1f5f9;color:var(--sw-text)}[data-theme=dark] .monthly-cashflow-hint{color:#94a3b8;color:var(--sw-text-secondary)}[data-theme=dark] .monthly-manual-category-header{color:#f1f5f9;color:var(--sw-text)}[data-theme=dark] .auth-hint,[data-theme=dark] .auth-subtitle,[data-theme=dark] .date-count,[data-theme=dark] .feature-card p,[data-theme=dark] .form-help,[data-theme=dark] .form-hint,[data-theme=dark] .history-empty-note,[data-theme=dark] .monthly-cashflow-note,[data-theme=dark] .monthly-history-item-row,[data-theme=dark] .monthly-item-row td,[data-theme=dark] .monthly-status-text,[data-theme=dark] .no-data-message p,[data-theme=dark] .rebalance-sum-hint,[data-theme=dark] .section-subtitle,[data-theme=dark] .summary-label,[data-theme=dark] .user-email,[data-theme=dark] .welcome-subtitle{color:#94a3b8;color:var(--sw-text-secondary)}[data-theme=dark] .no-data-message p:first-child{color:#64748b;color:var(--sw-text-muted)}[data-theme=dark] .analysis-table,[data-theme=dark] .stocks-table{background:#18181b99;background:var(--sw-surface)}[data-theme=dark] .analysis-table td,[data-theme=dark] .stocks-table td{border-bottom-color:#ffffff14;border-bottom-color:var(--sw-border)}[data-theme=dark] .analysis-table tbody tr:hover,[data-theme=dark] .stocks-table tbody tr:hover{background-color:#27272a8c;background-color:var(--sw-surface-2)}[data-theme=dark] .editable-cell:hover,[data-theme=dark] .editable-row:hover{background-color:#6366f129!important;background-color:var(--sw-accent-soft)!important}[data-theme=dark] .summary-row-expanded{background-color:#f59e0b1f!important;border-color:#f59e0b!important;border-color:var(--sw-amber)!important}[data-theme=dark] .auth-input,[data-theme=dark] .edit-input,[data-theme=dark] .editable-cell input,[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .rebalance-input-wrap input{background:#27272a8c;background:var(--sw-surface-2);border-color:#ffffff14;border-color:var(--sw-border);color:#f1f5f9;color:var(--sw-text)}[data-theme=dark] .auth-input::placeholder,[data-theme=dark] .form-group input::placeholder{color:#64748b;color:var(--sw-text-muted)}[data-theme=dark] .user-legacy-import,[data-theme=dark] .user-logout{background:#27272a8c;background:var(--sw-surface-2);border-color:#ffffff14;border-color:var(--sw-border);color:#94a3b8;color:var(--sw-text-secondary)}[data-theme=dark] .user-logout:hover{background:#1b1b1f;background:var(--sw-surface-3)}[data-theme=dark] .auth-error{background:#ef444429;background:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}[data-theme=dark] .user-import-banner{background:#10b98129;background:var(--sw-green-soft);border-color:#10b981;border-color:var(--sw-green);color:#10b981;color:var(--sw-green)}[data-theme=dark] .volatility-indicator.low{background-color:#10b98129;background-color:var(--sw-green-soft);color:#10b981;color:var(--sw-green)}[data-theme=dark] .volatility-indicator.medium{background-color:#f59e0b29;color:#f59e0b;color:var(--sw-amber)}[data-theme=dark] .volatility-indicator.high{background-color:#ef444429;background-color:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}[data-theme=dark] .recharts-pie-label-text{fill:#f1f5f9!important;fill:var(--sw-text)!important;background:#27272a8c!important;background:var(--sw-surface-2)!important;border-color:#ffffff14!important;border-color:var(--sw-border)!important;text-shadow:none!important}[data-theme=dark] .back-button{background:#1b1b1f;background:var(--sw-surface-3);color:#f1f5f9;color:var(--sw-text)}[data-theme=dark] .back-button:hover{background:#ffffff29;background:var(--sw-border-hover)}[data-theme=dark] .portfolio-save-btn:disabled{background:#27272a8c;background:var(--sw-surface-2);border-color:#ffffff14;border-color:var(--sw-border);color:#64748b;color:var(--sw-text-muted)}.sw-page{min-height:100vh;padding-bottom:40px}.sw-page .analysis-title{letter-spacing:-.01em}.sw-page .analysis-container{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none}.sw-page .back-button{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:10px;color:#f1f5f9;color:var(--sw-text);transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.sw-page .back-button:hover{background:#27272a8c;background:var(--sw-surface-2);border-color:#ffffff29;border-color:var(--sw-border-hover);transform:translateY(-1px)}.sw-search-box{margin:16px 0 20px;max-width:480px;position:relative}.sw-search-input{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:10px;box-sizing:border-box;color:#f1f5f9;color:var(--sw-text);font-size:1rem;padding:12px 16px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.sw-search-input::placeholder{color:#64748b;color:var(--sw-text-muted)}.sw-search-input:focus{border-color:#6366f1;border-color:var(--sw-accent);box-shadow:0 0 0 3px #6366f129;box-shadow:0 0 0 3px var(--sw-accent-soft);outline:none}.sw-search-suggestions{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:10px;box-shadow:0 20px 40px -12px #0009;left:0;max-height:320px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.sw-search-suggestion{background:none;border:none;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);color:#f1f5f9;color:var(--sw-text);cursor:pointer;display:block;font-size:.9rem;padding:10px 14px;text-align:right;transition:background-color .15s ease;width:100%}.sw-search-suggestion:last-child{border-bottom:none}.sw-search-suggestion:hover{background:#1b1b1f;background:var(--sw-surface-3)}.sw-search-exchange{color:#64748b;color:var(--sw-text-muted);font-size:.8rem;margin-right:6px}.sw-search-suggestion-empty{color:#64748b;color:var(--sw-text-muted);font-size:.9rem;padding:10px 14px}.sw-empty-note{color:#94a3b8;color:var(--sw-text-secondary);padding:12px 0}.sw-layout{align-items:flex-start;display:flex;gap:24px}.sw-sidebar{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:14px;box-shadow:0 20px 40px -24px #000000b3;display:flex;flex:0 0 208px;flex-direction:column;gap:2px;max-height:calc(100vh - 92px);overflow-y:auto;padding:10px;position:-webkit-sticky;position:sticky;top:76px}.sw-sidebar-item{background:none;border:none;border-radius:8px;color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-size:.85rem;padding:9px 12px;text-align:right;transition:background-color .15s ease,color .15s ease,padding-right .15s ease}.sw-sidebar-item:hover{background:#6366f129;background:var(--sw-accent-soft);color:#f1f5f9;color:var(--sw-text);padding-right:16px}.sw-sidebar-group-label{color:#64748b;color:var(--sw-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:12px 12px 4px;text-transform:uppercase}.sw-sidebar-group-label:first-child{padding-top:4px}.sw-main{display:flex;flex:1 1;flex-direction:column;gap:20px;min-width:0}.sw-card{background:linear-gradient(180deg,hsla(0,0%,100%,.025),#fff0 40%),#18181b99;background:linear-gradient(180deg,hsla(0,0%,100%,.025),#fff0 40%),var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:18px;box-shadow:inset 0 1px 0 #ffffff08,0 24px 48px -28px #000000b3;padding:22px 26px;transition:border-color .2s ease}.sw-card:hover{border-color:#ffffff29;border-color:var(--sw-border-hover)}.sw-overview-card{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}.sw-overview-card:before{background:linear-gradient(90deg,#4f46e5,#3b82f6,#22d3ee);background:linear-gradient(90deg,var(--sw-accent-strong),var(--sw-accent-2),var(--sw-cyan));content:"";height:3px;inset:0;position:absolute}.sw-overview-title{color:#f1f5f9;color:var(--sw-text);font-size:1.35rem;font-weight:700;margin:0 0 8px}.sw-overview-desc{color:#94a3b8;color:var(--sw-text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 8px}.sw-overview-sector{color:#64748b;color:var(--sw-text-muted);font-size:.85rem;margin:0 0 8px}.sw-more-details-link{background:none;border:none;color:#6366f1;color:var(--sw-accent);cursor:pointer;display:block;font-size:.85rem;margin-bottom:16px;padding:0;transition:color .15s ease}.sw-more-details-link:hover{color:#3b82f6;color:var(--sw-accent-2)}.sw-list-title{color:#64748b;color:var(--sw-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:14px 0 6px;text-transform:uppercase}.sw-bullet-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.sw-bullet-reward,.sw-bullet-risk{align-items:flex-start;color:#f1f5f9;color:var(--sw-text);display:flex;font-size:.88rem;gap:8px}.sw-bullet-reward .sw-bullet-icon{color:#10b981;color:var(--sw-green)}.sw-bullet-risk .sw-bullet-icon{color:#ef4444;color:var(--sw-red)}.sw-bullet-icon{flex-shrink:0}.sw-overview-right{align-items:center;display:flex;flex-direction:column}.sw-snowflake-caption{margin-top:8px;text-align:center}.sw-snowflake-caption strong{color:#f1f5f9;color:var(--sw-text);font-size:.9rem}.sw-snowflake-caption p{color:#94a3b8;color:var(--sw-text-secondary);font-size:.85rem;margin:4px 0 0}.sw-disclaimer{color:#64748b;color:var(--sw-text-muted);font-size:.78rem;line-height:1.5;margin:-8px 0 0}.dcf-spectrum-widget{margin:12px 0 4px}.dcf-spectrum-callout-row{height:44px;position:relative}.dcf-spectrum-connector-row{height:14px;position:relative}.dcf-spectrum-connector{background:#ffffff14;background:var(--sw-border);bottom:0;width:1px}.dcf-spectrum-connector,.dcf-spectrum-marker{position:absolute;top:0;transform:translateX(-50%)}.dcf-spectrum-marker{align-items:center;display:flex;flex-direction:column;text-align:center;white-space:nowrap}.dcf-spectrum-badge{border-radius:999px;color:#fff;font-size:.72rem;font-weight:700;margin-bottom:4px;padding:3px 9px}.dcf-spectrum-label{color:#94a3b8;color:var(--sw-text-secondary);font-size:.75rem;line-height:1.3}.dcf-spectrum-bar{border-radius:7px;display:flex;height:14px;overflow:hidden}.dcf-spectrum-zone{height:100%}.dcf-spectrum-zone-labels{height:44px;position:relative}.dcf-spectrum-zone-label{color:#64748b;color:var(--sw-text-muted);font-size:.68rem;position:absolute;top:0;transform:translateX(-50%) rotate(-18deg);transform-origin:top center;white-space:nowrap}.dcf-low-confidence-note{background:#b453091f;border:1px solid #b4530959;border-radius:8px;color:#94a3b8;color:var(--sw-text-secondary);font-size:.78rem;line-height:1.5;margin:4px 0 0;padding:8px 12px}.dcf-history-chart{margin-top:20px}.dcf-history-chart-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:4px}.dcf-history-chart-title{color:#f1f5f9;color:var(--sw-text);font-size:.85rem;font-weight:600;margin:0}.dcf-history-chart-controls{align-items:center;display:flex;font-size:.85rem;font-weight:700;gap:10px}.dcf-history-period-toggle{display:flex;gap:4px}.dcf-history-period-btn{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:6px;color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-size:.72rem;font-weight:600;padding:2px 9px}.dcf-history-period-btn.active{background:#6366f1;background:var(--sw-accent);border-color:#0000;color:#fff}.sw-section-header{align-items:flex-start;display:flex;gap:14px;margin-bottom:14px}.sw-section-number{align-items:center;background:linear-gradient(135deg,#4f46e5,#3b82f6);background:linear-gradient(135deg,var(--sw-accent-strong),var(--sw-accent-2));border-radius:50%;box-shadow:0 4px 14px -2px #d4af6a73;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:34px;justify-content:center;width:34px}.sw-section-title{color:#f1f5f9;color:var(--sw-text);font-size:1.1rem;font-weight:700;margin:0 0 4px}.sw-section-question{font-size:.85rem;margin:0}.sw-section-question,.sw-subsection-title{color:#94a3b8;color:var(--sw-text-secondary)}.sw-subsection-title{font-size:.95rem;font-weight:600;margin:18px 0 8px}.sw-checks-badge-row{align-items:center;background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:10px 14px}.sw-checks-badge-label{color:#94a3b8;color:var(--sw-text-secondary);font-size:.85rem;margin-left:6px}.sw-check-circle{align-items:center;border-radius:50%;display:inline-flex;font-size:.75rem;font-weight:700;height:22px;justify-content:center;transition:transform .15s ease;width:22px}.sw-check-circle:hover{transform:scale(1.15)}.sw-check-circle.sw-check-pass{background:#10b98129;background:var(--sw-green-soft);color:#10b981;color:var(--sw-green)}.sw-check-circle.sw-check-fail{background:#ef444429;background:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}.sw-check-circle.sw-check-na{background:#676c852e;color:#64748b;color:var(--sw-text-muted)}.sw-checks-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.sw-check-row{align-items:center;background:#27272a8c;background:var(--sw-surface-2);border-radius:8px;display:flex;font-size:.88rem;gap:10px;padding:9px 12px;transition:background-color .15s ease}.sw-check-row:hover{background:#1b1b1f;background:var(--sw-surface-3)}.sw-check-icon{font-weight:700;text-align:center;width:18px}.sw-check-icon.sw-check-pass{color:#10b981;color:var(--sw-green)}.sw-check-icon.sw-check-fail{color:#ef4444;color:var(--sw-red)}.sw-check-icon.sw-check-na,.sw-check-index{color:#64748b;color:var(--sw-text-muted)}.sw-check-index{font-size:.75rem;min-width:30px}.sw-check-label{color:#f1f5f9;color:var(--sw-text);flex:1 1}.sw-check-detail{color:#94a3b8;color:var(--sw-text-secondary);font-size:.82rem}.sw-card-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));margin-bottom:14px}.sw-mini-card{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;padding:12px 14px;transition:border-color .15s ease,transform .15s ease}.sw-mini-card:hover{border-color:#ffffff29;border-color:var(--sw-border-hover);transform:translateY(-2px)}.sw-mini-card h4{color:#64748b;color:var(--sw-text-muted);font-size:.78rem;font-weight:600;margin:0 0 6px}.sw-mini-value{color:#f1f5f9;color:var(--sw-text);font-size:1.15rem;font-weight:700}.sw-mini-value-small{font-size:.95rem}.sw-mini-sub{color:#94a3b8;color:var(--sw-text-secondary);font-size:.8rem;margin-top:2px}.sw-sentiment-positive{color:#10b981;color:var(--sw-green)}.sw-sentiment-negative{color:#ef4444;color:var(--sw-red)}.sw-link{color:#6366f1;color:var(--sw-accent);text-decoration:none;transition:color .15s ease}.sw-link:hover{color:#3b82f6;color:var(--sw-accent-2);text-decoration:underline}.sw-table-wrap{overflow-x:auto}.sw-table{border-collapse:collapse;font-size:.85rem;width:100%}.sw-table th{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);color:#64748b;color:var(--sw-text-muted);font-weight:600;padding:8px 10px;text-align:right}.sw-table td{border-bottom:1px solid #26283899;color:#f1f5f9;color:var(--sw-text);padding:8px 10px}.sw-table tbody tr{transition:background-color .15s ease}.sw-table tbody tr:hover{background:#27272a8c;background:var(--sw-surface-2)}.sw-chip-list{display:flex;flex-wrap:wrap;gap:8px}.sw-chip{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:999px;color:#f1f5f9;color:var(--sw-text);cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:border-color .15s ease,color .15s ease,transform .15s ease,background-color .15s ease}.sw-chip:hover{background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f1;border-color:var(--sw-accent);color:#6366f1;color:var(--sw-accent);transform:translateY(-1px)}.sw-fundamentals-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.sw-financial-health-extra,.sw-ownership-extra,.sw-value-extra{border-top:1px solid #ffffff14;border-top:1px solid var(--sw-border);display:flex;flex-direction:column;gap:18px;margin-top:18px;padding-top:18px}.sw-gauge-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}.sw-gauge{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;padding:10px;text-align:center;transition:border-color .15s ease}.sw-gauge:hover{border-color:#ffffff29;border-color:var(--sw-border-hover)}.sw-gauge-label{color:#94a3b8;color:var(--sw-text-secondary);font-size:.78rem;font-weight:600;margin:0 0 4px}.sw-gauge-value{color:#f1f5f9;color:var(--sw-text);font-size:1rem;font-weight:700;margin-top:-6px}.sw-chart-ltr{direction:ltr;width:100%}.sw-treemap-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.sw-treemap-group-title{color:#94a3b8;color:var(--sw-text-secondary);font-size:.85rem;font-weight:600;margin:0 0 6px;text-align:center}.sw-treemap-legend{display:flex;flex-direction:column;gap:4px;list-style:none;margin:10px 0 0;padding:0}.sw-treemap-legend li{align-items:center;display:flex;font-size:.8rem;gap:8px;padding:3px 0}.sw-treemap-swatch{border-radius:3px;flex-shrink:0;height:10px;width:10px}.sw-treemap-legend-name{color:#94a3b8;color:var(--sw-text-secondary);flex:1 1}.sw-treemap-legend-value{color:#f1f5f9;color:var(--sw-text);font-weight:600}@media (max-width:800px){.sw-overview-card{grid-template-columns:1fr}}.israeli-foreign-badge{color:#94a3b8;color:var(--sw-text-secondary);font-size:.85em;white-space:nowrap}.price-refresh-status{align-items:center;color:#94a3b8;color:var(--sw-text-secondary);display:inline-flex;font-size:.85rem;gap:6px}.price-refresh-status .price-refresh-dot{background:#10b981;background:var(--sw-green);border-radius:50%;display:inline-block;height:8px;width:8px}.price-refresh-status.is-refreshing .price-refresh-dot{animation:price-refresh-pulse 1.2s ease-in-out infinite;background:#f59e0b;background:var(--sw-amber)}@keyframes price-refresh-pulse{0%,to{opacity:1}50%{opacity:.25}}.value-skeleton{animation:value-skeleton-shimmer 1.4s ease infinite;background:linear-gradient(90deg,#ffffff14 25%,#7f7f7f52 37%,#ffffff14 63%);background:linear-gradient(90deg,var(--sw-border,#7f7f7f2e) 25%,#7f7f7f52 37%,var(--sw-border,#7f7f7f2e) 63%);background-size:400% 100%;border-radius:4px;display:inline-block;height:.9em;min-width:56px;vertical-align:middle}@keyframes value-skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.monthly-history-category-actions{align-items:center;display:inline-flex;gap:10px}.monthly-item-label-input{flex:1 1 auto;min-width:120px}.monthly-auto-derived-badge{color:#94a3b8;color:var(--sw-text-secondary);font-size:.8em;font-weight:400;white-space:nowrap}.monthly-manual-auto-title{color:#94a3b8;color:var(--sw-text-secondary);font-size:.95rem;margin:12px 0 6px}.monthly-manual-auto-section,.monthly-manual-entry-section{border-top:1px solid #ffffff14;border-top:1px solid var(--sw-border,#7f7f7f2e);margin-top:8px;padding-top:8px}.add-info-button,.btn-primary,.portfolio-save-btn:not(:disabled),.submit-button{background:linear-gradient(135deg,#4f46e5,#6366f1);background:linear-gradient(135deg,var(--sw-accent-strong),var(--sw-accent));border:none;box-shadow:0 4px 14px #6366f159;box-shadow:0 4px 14px var(--sw-accent-glow);color:#fff}.add-info-button:hover,.btn-primary:hover,.portfolio-save-btn:not(:disabled):hover,.submit-button:hover{box-shadow:0 8px 26px #6366f159;box-shadow:0 8px 26px var(--sw-accent-glow);transform:translateY(-1px)}.add-info-button:active,.btn-primary:active,.portfolio-save-btn:not(:disabled):active,.submit-button:active{transform:scale(.97)}.back-button,.benchmark-toggle-button,.btn-outline,.export-button,.monthly-toolbar-btn,.top-nav-logout{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;border-radius:var(--sw-radius-sm);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-family:inherit;font-weight:600;transition:background-color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),border-color var(--sw-transition),color var(--sw-transition),transform var(--sw-transition),box-shadow var(--sw-transition)}.back-button:hover,.benchmark-toggle-button:hover,.btn-outline:hover,.export-button:hover,.monthly-toolbar-btn:hover,.top-nav-logout:hover{background:#1b1b1f;background:var(--sw-surface-3);border-color:#ffffff29;border-color:var(--sw-border-hover);color:#f1f5f9;color:var(--sw-text)}.back-button:active,.benchmark-toggle-button:active,.btn-outline:active,.export-button:active,.monthly-toolbar-btn:active,.top-nav-logout:active{transform:scale(.96)}.monthly-toolbar-btn.danger{border-color:#ef444452;border-color:var(--sw-red-border)}.monthly-toolbar-btn.danger,.monthly-toolbar-btn.danger:hover{background:#ef444429;background:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}.monthly-toolbar-btn.danger:hover{border-color:#ef4444;border-color:var(--sw-red)}.benchmark-toggle-button.active{background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f1;border-color:var(--sw-accent);color:#6366f1;color:var(--sw-accent)}.delete-button{background:#ef444429;background:var(--sw-red-soft);border:1px solid #ef444452;border:1px solid var(--sw-red-border);border-radius:12px;border-radius:var(--sw-radius-sm);color:#ef4444;color:var(--sw-red);cursor:pointer;font-weight:600;transition:background-color .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),transform var(--sw-transition)}.delete-button:hover{background:#ef4444;background:var(--sw-red);color:#fff}.delete-button:active{transform:scale(.95)}input[type=date],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;border-radius:var(--sw-radius-sm);color:#f1f5f9;color:var(--sw-text);font-family:inherit;font-size:.92rem;padding:10px 12px;transition:border-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background-color .18s cubic-bezier(.4,0,.2,1);transition:border-color var(--sw-transition),box-shadow var(--sw-transition),background-color var(--sw-transition)}@media (max-width:768px){input[type=date],input[type=month]{-webkit-appearance:none;appearance:none;display:block;max-width:100%;min-width:0;width:100%}input[type=date]::-webkit-date-and-time-value,input[type=month]::-webkit-date-and-time-value{text-align:start}}input[type=date]:hover,input[type=email]:hover,input[type=month]:hover,input[type=number]:hover,input[type=password]:hover,input[type=text]:hover,select:hover,textarea:hover{border-color:#ffffff29;border-color:var(--sw-border-hover)}input:focus,select:focus,textarea:focus{background:#18181b99;background:var(--sw-surface);border-color:#6366f1;border-color:var(--sw-accent);box-shadow:0 0 0 3px #6366f159;box-shadow:var(--sw-ring);outline:none}input::placeholder,textarea::placeholder{color:#64748b;color:var(--sw-text-muted)}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.75)}select{-webkit-padding-end:32px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,#0000 0);background-position:12px calc(50% + 1px),17px calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;color:#f1f5f9;color:var(--sw-text);padding-inline-end:32px}.analysis-section,.distribution-card,.equity-chart-container,.feature-card,.form-container,.kpi-tile,.monthly-history-card,.pie-chart-container,.portfolio-summary,.report-card,.stocks-section,.summary-section,.table-container{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:24px;border-radius:var(--sw-radius-lg);box-shadow:0 4px 24px #00000073;box-shadow:var(--sw-shadow)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){[data-theme=dark] .analysis-section,[data-theme=dark] .analysis-tabs,[data-theme=dark] .distribution-card,[data-theme=dark] .equity-chart-container,[data-theme=dark] .feature-card,[data-theme=dark] .form-container,[data-theme=dark] .kpi-tile,[data-theme=dark] .monthly-history-card,[data-theme=dark] .pie-chart-container,[data-theme=dark] .portfolio-summary,[data-theme=dark] .report-card,[data-theme=dark] .stocks-section,[data-theme=dark] .summary-section,[data-theme=dark] .table-container{-webkit-backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(var(--sw-glass-blur)) saturate(150%);backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(var(--sw-glass-blur)) saturate(150%)}}[data-theme=dark] .analysis-section,[data-theme=dark] .distribution-card,[data-theme=dark] .feature-card,[data-theme=dark] .kpi-tile,[data-theme=dark] .portfolio-summary,[data-theme=dark] .summary-section{background-image:linear-gradient(180deg,#ffffff0d,#0000 120px)}.distribution-card{overflow:hidden;padding:20px;position:relative;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1);transition:transform var(--sw-transition),box-shadow var(--sw-transition),border-color var(--sw-transition)}.distribution-card:before{background:linear-gradient(90deg,#0000,#6366f1,#0000);background:linear-gradient(90deg,#0000,var(--sw-accent),#0000);content:"";height:2px;position:absolute;top:0;inset-inline:0;opacity:.7}.distribution-card:hover{border-color:#ffffff29;border-color:var(--sw-border-hover);box-shadow:0 18px 48px #0000008c;box-shadow:var(--sw-shadow-lg);transform:translateY(-2px)}.distribution-card h3{color:#94a3b8;color:var(--sw-text-secondary);font-size:.78rem;font-weight:600;letter-spacing:.04em;margin-bottom:10px;text-transform:uppercase}.distribution-value{font-feature-settings:"tnum";color:#f1f5f9;color:var(--sw-text);font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;line-height:1.15}.distribution-percentage{color:#94a3b8;color:var(--sw-text-secondary);font-size:.82rem;line-height:1.5;margin-top:6px}@media (max-width:768px){.top-nav-inner{flex-wrap:wrap;gap:10px;padding:10px 14px}.top-nav-user{display:none}.top-nav-links{order:3;overflow-x:auto;padding-bottom:2px;width:100%}.distribution-grid{grid-template-columns:1fr!important}.distribution-value{font-size:1.5rem}.analysis-section,.form-container,.portfolio-summary{border-radius:16px;border-radius:var(--sw-radius);padding:16px}.btn{width:100%}.control-buttons,.monthly-toolbar,.monthly-toolbar-buttons,.page-header-row{flex-wrap:wrap}}.app-shell{align-items:flex-start;display:flex;min-height:100vh}.side-nav{-webkit-border-end:1px solid #ffffff14;-webkit-border-end:1px solid var(--sw-border);background:#18181b99;background:var(--sw-surface);border-inline-end:1px solid #ffffff14;border-inline-end:1px solid var(--sw-border);display:flex;flex-direction:column;flex-shrink:0;gap:8px;height:100vh;padding:20px 14px;position:-webkit-sticky;position:sticky;top:0;width:232px;z-index:20}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.side-nav{-webkit-backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(var(--sw-glass-blur)) saturate(180%);backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(var(--sw-glass-blur)) saturate(180%);background:#09090bb8;background:var(--sw-glass)}}.side-nav-brand{align-items:center;display:flex;gap:10px;padding:6px 10px 18px}.brand-logo{display:inline-flex;flex-shrink:0}.brand-logo img{display:block;height:100%;width:auto}.brand-logo .brand-logo-dark,[data-theme=dark] .brand-logo .brand-logo-light{display:none}[data-theme=dark] .brand-logo .brand-logo-dark{display:block}.side-nav-logo{height:34px}.auth-brand .brand-logo-full{height:92px}.side-nav-brand-text{color:#f1f5f9;color:var(--sw-text);font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.side-nav-scroll{flex:1 1;gap:14px;min-height:0;overflow-y:auto;scrollbar-width:thin}.side-nav-group,.side-nav-scroll{display:flex;flex-direction:column}.side-nav-group{gap:4px}.side-nav-group-label{color:var(--sw-text-dim);font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:0 12px}.side-nav-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.side-nav-link{align-items:center;background:none;border:none;border-radius:12px;border-radius:var(--sw-radius-sm);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:.94rem;font-weight:600;gap:12px;padding:11px 12px;position:relative;text-align:start;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),color var(--sw-transition);width:100%}.side-nav-link:hover{background:#27272a8c;background:var(--sw-surface-2);color:#f1f5f9;color:var(--sw-text)}.side-nav-link.active{background:#6366f129;background:var(--sw-accent-soft);color:#6366f1;color:var(--sw-accent)}.side-nav-link.active:before{background:linear-gradient(180deg,#6366f1,#3b82f6);background:linear-gradient(180deg,var(--sw-accent),var(--sw-accent-2));border-radius:999px;border-radius:var(--sw-radius-pill);bottom:20%;box-shadow:0 0 10px #6366f159;box-shadow:0 0 10px var(--sw-accent-glow);content:"";inset-inline-start:0;position:absolute;top:20%;width:3px}.side-nav-icon{flex-shrink:0;height:19px;width:19px}.side-nav-footer{border-top:1px solid #ffffff14;border-top:1px solid var(--sw-border);gap:12px;padding-top:14px}.side-nav-footer,.side-nav-user{display:flex;flex-direction:column}.side-nav-user{gap:8px}.side-nav-user-email{color:#64748b;color:var(--sw-text-muted);direction:ltr;font-size:.78rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap}.side-nav-logout{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;border-radius:var(--sw-radius-sm);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:8px 12px;transition:background-color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),border-color var(--sw-transition),color var(--sw-transition),transform var(--sw-transition)}.side-nav-logout:hover{background:#1b1b1f;background:var(--sw-surface-3);border-color:#ffffff29;border-color:var(--sw-border-hover);color:#f1f5f9;color:var(--sw-text)}.side-nav-logout:active{transform:scale(.96)}.app-main{flex:1 1;min-width:0}.app-main-inner{margin:0 auto;max-width:1600px;padding:0 24px 64px}.page-toolbar{background:#000;background:var(--sw-bg);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);margin-bottom:18px;padding:18px 0 14px;position:static}.page-toolbar.is-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:15}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.page-toolbar.is-sticky{-webkit-backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(var(--sw-glass-blur)) saturate(180%);backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(var(--sw-glass-blur)) saturate(180%);background:#09090bb8;background:var(--sw-glass)}}.page-toolbar-main{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.page-toolbar-title{font-size:1.6rem;font-weight:700;letter-spacing:-.025em;margin:0}.page-toolbar-subtitle{color:#94a3b8;color:var(--sw-text-secondary);font-size:.86rem;margin:4px 0 0}.page-toolbar-actions{gap:16px}.page-toolbar-actions,.page-toolbar-secondary{align-items:center;display:flex;flex-wrap:wrap}.page-toolbar-secondary{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:16px;border-radius:var(--sw-radius);gap:6px;padding:4px}.page-toolbar-primary{display:flex;gap:8px}.toolbar-btn{background:#0000;border:1px solid #0000;border-radius:12px;border-radius:var(--sw-radius-sm);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-family:inherit;font-size:.86rem;font-weight:600;padding:8px 14px;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),color var(--sw-transition),border-color var(--sw-transition),transform var(--sw-transition);white-space:nowrap}.toolbar-btn:hover:not(:disabled){background:#1b1b1f;background:var(--sw-surface-3);color:#f1f5f9;color:var(--sw-text)}.toolbar-btn:active:not(:disabled){transform:scale(.96)}.toolbar-btn.is-pressed{background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f1;border-color:var(--sw-accent);color:#6366f1;color:var(--sw-accent)}.toolbar-btn:disabled{cursor:not-allowed;opacity:.45}.toolbar-btn-primary{background:linear-gradient(135deg,#4f46e5,#6366f1);background:linear-gradient(135deg,var(--sw-accent-strong),var(--sw-accent));border:none;border-radius:16px;border-radius:var(--sw-radius);box-shadow:0 4px 14px #6366f159;box-shadow:0 4px 14px var(--sw-accent-glow);color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:10px 20px;transition:box-shadow .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),opacity .18s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--sw-transition),transform var(--sw-transition),opacity var(--sw-transition);white-space:nowrap}.toolbar-btn-primary:hover:not(:disabled){box-shadow:0 8px 26px #6366f159;box-shadow:0 8px 26px var(--sw-accent-glow);transform:translateY(-1px)}.toolbar-btn-primary:active:not(:disabled){transform:scale(.97)}.toolbar-btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.page-toolbar-status{align-items:center;display:flex;flex-wrap:wrap;font-size:.8rem;gap:14px;margin-top:10px}.toolbar-status{align-items:center;display:inline-flex;gap:6px}.toolbar-status-muted{color:#64748b;color:var(--sw-text-muted)}.toolbar-status-positive{color:#10b981;color:var(--sw-green)}.toolbar-status-negative{color:#ef4444;color:var(--sw-red)}.kpi-row{grid-gap:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));margin-bottom:22px}.kpi-tile{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:24px;border-radius:var(--sw-radius-lg);box-shadow:0 4px 24px #00000073;box-shadow:var(--sw-shadow);display:flex;flex-direction:column;font-family:inherit;gap:8px;overflow:hidden;padding:18px 20px;position:relative;text-align:start;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1);transition:transform var(--sw-transition),box-shadow var(--sw-transition),border-color var(--sw-transition)}[data-theme=dark] .kpi-tile{background:linear-gradient(180deg,#ffffff0a,#0000 140px),#18181b99;background:linear-gradient(180deg,#ffffff0a,#0000 140px),var(--sw-surface)}.kpi-tile-glow{background:radial-gradient(closest-side,#6366f159,#0000);background:radial-gradient(closest-side,var(--sw-accent-glow),#0000);border-radius:50%;height:160%;inset-inline-start:-30%;opacity:.5;pointer-events:none;position:absolute;top:-60%;transition:opacity .18s cubic-bezier(.4,0,.2,1);transition:opacity var(--sw-transition);width:160%;z-index:0}.kpi-tone-positive .kpi-tile-glow{background:radial-gradient(closest-side,#10b98129,#0000);background:radial-gradient(closest-side,var(--sw-green-soft),#0000)}.kpi-tone-negative .kpi-tile-glow{background:radial-gradient(closest-side,#ef444429,#0000);background:radial-gradient(closest-side,var(--sw-red-soft),#0000)}.kpi-tile-head,.kpi-tile-sub,.kpi-tile-value{position:relative;z-index:1}.kpi-tile-head{align-items:center;display:flex;gap:8px}.kpi-tile-icon{background:#6366f129;background:var(--sw-accent-soft);border-radius:12px;border-radius:var(--sw-radius-sm);color:#6366f1;color:var(--sw-accent);display:grid;flex-shrink:0;font-size:.85rem;height:26px;place-items:center;width:26px}.kpi-tone-positive .kpi-tile-icon{background:#10b98129;background:var(--sw-green-soft);color:#10b981;color:var(--sw-green)}.kpi-tone-negative .kpi-tile-icon{background:#ef444429;background:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}.kpi-tile-label{color:#94a3b8;color:var(--sw-text-secondary);font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.kpi-tile-value{font-feature-settings:"tnum";color:#f1f5f9;color:var(--sw-text);font-size:1.7rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.025em;line-height:1.1}.kpi-tone-positive .kpi-tile-value{color:#10b981;color:var(--sw-green)}.kpi-tone-negative .kpi-tile-value{color:#ef4444;color:var(--sw-red)}.kpi-tile-sub{color:#94a3b8;color:var(--sw-text-secondary);font-size:.8rem}.kpi-tile.is-interactive{border-width:1px;cursor:pointer}.kpi-tile.is-interactive:hover{border-color:#ffffff29;border-color:var(--sw-border-hover);box-shadow:0 18px 48px #0000008c;box-shadow:var(--sw-shadow-lg);transform:translateY(-2px)}.kpi-tile.is-interactive:hover .kpi-tile-glow{opacity:.85}.kpi-tile.is-interactive:active{transform:scale(.985)}@media (max-width:960px){.app-shell{flex-direction:column;padding-bottom:68px}.side-nav{-webkit-border-end:none;align-items:center;border-inline-end:none;border-top:1px solid #ffffff14;border-top:1px solid var(--sw-border);inset-inline:0;bottom:0;box-shadow:0 -4px 20px #0000002e;flex-direction:row;gap:4px;height:auto;padding:8px 10px;position:fixed;top:auto;width:100%}.side-nav-brand,.side-nav-user-email{display:none}.side-nav-scroll{-webkit-overflow-scrolling:touch;align-items:center;overflow-x:auto;overflow-y:hidden}.side-nav-group,.side-nav-scroll{flex-direction:row;gap:4px}.side-nav-group-label{display:none}.side-nav-list{flex-direction:row;gap:2px}.side-nav-link{flex-direction:column;font-size:.7rem;gap:3px;padding:6px 10px;white-space:nowrap}.side-nav-link.active:before{inset-inline:22%;bottom:auto;height:3px;inset-inline-start:22%;top:0;width:auto}.side-nav-footer{-webkit-margin-start:auto;align-items:center;border-top:none;gap:8px;margin-inline-start:auto;padding-top:0}.side-nav-footer,.side-nav-user{flex-direction:row}.side-nav .side-nav-identity-text{display:none}.app-main-inner{padding:0 14px 32px}.page-toolbar{padding:14px 0 12px}.page-toolbar-title{font-size:1.3rem}.page-toolbar-main{align-items:flex-start}.page-toolbar-actions{gap:10px;width:100%}.page-toolbar-secondary{flex-wrap:wrap}.page-toolbar-secondary .toolbar-btn{flex:1 1 auto}.page-toolbar-primary{flex:1 1}.toolbar-btn-primary{width:100%}.kpi-row{gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.kpi-tile{padding:14px}.kpi-tile-value{font-size:1.35rem}}.table-container{direction:ltr}.table-container>.stocks-table{direction:rtl}.stocks-table td:first-child,.stocks-table th:first-child{background:#1b1b1f;background:var(--sw-surface-3);box-shadow:inset 1px 0 0 #ffffff14;box-shadow:1px 0 0 var(--sw-border) inset;position:-webkit-sticky;position:sticky;right:0;z-index:2}.stocks-table thead th:first-child{z-index:3}.stocks-table tbody tr:hover td:first-child{background:#232329;background:var(--sw-surface-hover-solid)}.analysis-table td,.stocks-table td{white-space:nowrap}.stocks-table td:first-child{max-width:13rem;min-width:9rem;white-space:normal}@media (max-width:720px){.analysis-table,.stocks-table{font-size:.78rem}.analysis-table td,.analysis-table th,.stocks-table td,.stocks-table th{padding:6px 8px}.american-stocks-table,.analysis-table,.stocks-table,.stocks-table:not(.american-stocks-table){min-width:-webkit-max-content;min-width:max-content}.stocks-table td:first-child{max-width:10rem;min-width:7.5rem}.detail-row td:first-child{-webkit-padding-start:18px;padding-inline-start:18px}}@media (max-width:480px){.analysis-table,.stocks-table{font-size:.72rem}.analysis-table td,.analysis-table th,.stocks-table td,.stocks-table th{padding:5px 6px}.stocks-table td:first-child{max-width:8.5rem;min-width:6.5rem}}@keyframes sw-row-unfold{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.stocks-table .detail-row{animation:sw-row-unfold .22s cubic-bezier(.4,0,.2,1) both}.expand-button{transition:transform .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);transition:transform var(--sw-transition),color var(--sw-transition)}.expand-button:hover{color:#6366f1;color:var(--sw-accent)}.expand-button:active{transform:scale(.88)}@keyframes sw-tile-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.kpi-tile{animation:sw-tile-rise .32s cubic-bezier(.4,0,.2,1) both}.kpi-row>.kpi-tile:first-child{animation-delay:0ms}.kpi-row>.kpi-tile:nth-child(2){animation-delay:45ms}.kpi-row>.kpi-tile:nth-child(3){animation-delay:90ms}.kpi-row>.kpi-tile:nth-child(n+4){animation-delay:135ms}.fx-toggle{align-items:center;background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;border-radius:var(--sw-radius-sm);color:#f1f5f9;color:var(--sw-text);cursor:pointer;display:inline-flex;font-size:.85rem;gap:8px;padding:8px 12px;-webkit-user-select:none;user-select:none}.fx-toggle:hover{border-color:#6366f1;border-color:var(--sw-accent)}.fx-toggle input{accent-color:#6366f1;accent-color:var(--sw-accent);cursor:pointer;height:16px;margin:0;width:16px}.analysis-container{-webkit-backdrop-filter:none;backdrop-filter:none;background:none;border:none;border-radius:0;box-shadow:none;margin:0;max-width:100%;padding:0}.analysis-section{margin-bottom:20px;padding:24px 26px}.analysis-section:last-child{margin-bottom:0}.analysis-section>.section-title{-webkit-text-fill-color:currentColor;background:none;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);color:#f1f5f9;color:var(--sw-text);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0 0 4px;padding-bottom:12px;position:relative;text-align:start}.analysis-section>.section-title:after{background:#6366f1;background:var(--sw-accent);bottom:-1px;content:"";height:2px;inset-inline-start:0;position:absolute;width:44px}.analysis-section>.section-subtitle{font-size:.85rem;line-height:1.65;margin:14px 0 0;max-width:78ch}.analysis-section>.distribution-grid:first-of-type{margin-top:18px}.chart-overlay-controls,.date-range-controls,.segment-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.date-range-controls{align-items:flex-end;margin-bottom:12px}.date-range-controls .form-group{margin:0}.chart-overlay-controls{border-top:1px dashed #ffffff14;border-top:1px dashed var(--sw-border);margin-top:14px;padding-top:14px}.overlay-toggle{align-items:center;background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;border-radius:var(--sw-radius-sm);color:#f1f5f9;color:var(--sw-text);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:8px;padding:8px 12px;-webkit-user-select:none;user-select:none}.overlay-toggle:hover{border-color:#6366f1;border-color:var(--sw-accent)}.overlay-toggle input{accent-color:#6366f1;accent-color:var(--sw-accent);cursor:pointer;height:16px;margin:0;width:16px}.overlay-hint{color:#94a3b8;color:var(--sw-text-secondary);flex-basis:100%;font-size:.8rem;line-height:1.6;margin:0;max-width:78ch}.benchmark-toggle-row{flex-wrap:wrap;margin:0}.chart-result-callout{-webkit-border-start:3px solid #6366f1;-webkit-border-start:3px solid var(--sw-accent);background:#27272a8c;background:var(--sw-surface-2);border-inline-start:3px solid #6366f1;border-inline-start:3px solid var(--sw-accent);border-radius:12px;border-radius:var(--sw-radius-sm);color:#f1f5f9;color:var(--sw-text);font-size:.88rem;line-height:1.7;margin:12px 0 0;padding:12px 16px}.equity-chart-container{margin-top:14px;padding:18px 8px 10px}.page-loading-wrap{align-items:center;display:flex;justify-content:center;min-height:55vh}.stocks-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto;overscroll-behavior-x:contain}@media (max-width:1024px){.sw-layout{display:block}.sw-sidebar{-webkit-overflow-scrolling:touch;align-items:center;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;margin-bottom:16px;max-height:none;overflow-x:auto;padding-bottom:8px;position:static;width:100%}.sw-sidebar-group-label,.sw-sidebar-item{flex:0 0 auto;margin:0;white-space:nowrap}.pie-chart-wrapper{align-items:stretch;flex-direction:column}.pie-chart-wrapper .recharts-responsive-container{width:100%!important}}@media (max-width:768px){.analysis-section{margin-bottom:14px;padding:18px 16px}.analysis-section>.section-title{font-size:1.05rem}.distribution-grid,.kpi-row,.reports-grid{grid-template-columns:1fr}.equity-chart-container{padding:12px 2px 6px}.chart-overlay-controls,.date-range-controls,.segment-controls{align-items:stretch;flex-direction:column}.benchmark-toggle-row,.segment-buttons{-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:4px;width:100%}.date-range-controls .form-group,.date-range-controls input{width:100%}.benchmark-toggle-button,.monthly-toolbar-btn,.segment-button,.sw-sidebar-item,.toolbar-btn{min-height:44px}.fx-toggle,.overlay-toggle{justify-content:flex-start;min-height:44px}}@media (max-width:480px){.analysis-section{border-radius:12px;border-radius:var(--sw-radius-sm);padding:16px 12px}.summary-section{padding:14px 12px}.summary-item{gap:2px;grid-template-columns:1fr;min-height:0}.summary-value{font-size:1.02rem;text-align:start}.summary-section-title{min-height:0}.distribution-value{font-size:1.45rem}}@media (max-width:900px){.app-main .App{display:block;min-height:0;padding:0}.app-main .form-container,.app-main .welcome-container{-webkit-backdrop-filter:none;backdrop-filter:none;background:none;border:none;border-radius:0;box-shadow:none;margin:0;max-width:100%;padding:0}.app-main .welcome-container{text-align:start}.portfolio-summary{margin:16px 0;padding:16px 14px}.stocks-section{padding:16px 12px}}@media (max-width:600px){.portfolio-summary{background:none;border:none;box-shadow:none;padding:0}[data-theme=dark] .portfolio-summary{background:none}.portfolio-summary-title{font-size:1.25rem;text-align:start}}@media (max-width:768px){.form-group input,.form-group select,.form-group textarea,.monthly-item-label-input,.monthly-select,.rebalance-input-item input{box-sizing:border-box;font-size:16px;width:100%}.form-buttons{flex-direction:column;gap:10px}.form-buttons button{min-height:44px;width:100%}.monthly-toolbar-buttons{width:100%}.monthly-toolbar-btn{flex:1 1 auto}.monthly-manual-item-row{flex-wrap:wrap}.monthly-manual-item-row input[type=text]{flex:1 1 100%}.monthly-history-category-header,.monthly-history-item-row,.monthly-manual-category-header{flex-wrap:wrap;gap:4px}.monthly-history-item-row{-webkit-padding-start:12px;padding-inline-start:12px}.monthly-history-category-actions{justify-content:flex-start;width:100%}}.equity-chart-container,.pie-chart-container,.pie-chart-wrapper,.sw-chart-ltr{max-width:100%;min-width:0}@media (max-width:768px){.recharts-cartesian-axis-tick-value,.recharts-legend-item-text{font-size:11px}.pie-labels-side{width:100%}.date-label,.monthly-item-label,.report-name,.side-nav-user-email,.summary-label,.sw-overview-title{overflow-wrap:anywhere}.year-accordion-header{flex-wrap:wrap;gap:4px;min-height:44px}.date-distribution-grid,.monthly-cashflow-grid,.rebalance-inputs-grid,.reports-grid,.sw-card-grid,.sw-fundamentals-grid{grid-template-columns:1fr}}.app-main,.app-main-inner,.app-shell{max-width:100%;overflow-x:clip}@media (max-width:768px){.analysis-table{min-width:620px}.stocks-table-container,.table-container{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:2px;scrollbar-width:thin}.stocks-table-container::-webkit-scrollbar,.table-container::-webkit-scrollbar{-webkit-appearance:none;height:6px}.stocks-table-container::-webkit-scrollbar-thumb,.table-container::-webkit-scrollbar-thumb{background:#ffffff24;background:var(--sw-border-strong);border-radius:3px}}@media (max-width:520px){.app-main-inner{padding-inline:10px}.stocks-section{border-radius:16px;border-radius:var(--sw-radius);margin-top:18px;padding:12px 8px}.analysis-section{padding:14px 10px}.analysis-table th{white-space:nowrap}.stocks-table-container{margin-inline:-4px;max-width:calc(100% + 8px);width:calc(100% + 8px)}}@media (max-width:960px){.side-nav{-webkit-padding-start:calc(10px + env(safe-area-inset-left));-webkit-padding-end:calc(10px + env(safe-area-inset-right));padding-bottom:calc(8px + env(safe-area-inset-bottom));padding-inline-end:calc(10px + env(safe-area-inset-right));padding-inline-start:calc(10px + env(safe-area-inset-left))}.app-shell{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.app-main-inner{-webkit-padding-start:calc(14px + env(safe-area-inset-left));-webkit-padding-end:calc(14px + env(safe-area-inset-right));padding-inline-end:calc(14px + env(safe-area-inset-right));padding-inline-start:calc(14px + env(safe-area-inset-left))}.app-shell.has-account-rail{--account-rail-w:calc(52px + env(safe-area-inset-left));padding-left:var(--account-rail-w)}.app-shell.has-account-rail .side-nav{left:var(--account-rail-w);padding-left:8px;padding-right:calc(8px + env(safe-area-inset-right));right:0;width:auto}.app-shell.has-account-rail .app-main-inner{padding-left:10px;padding-right:calc(10px + env(safe-area-inset-right))}.account-rail{align-items:center;background:#18181b99;background:var(--sw-surface);border-right:1px solid #ffffff14;border-right:1px solid var(--sw-border);bottom:0;display:flex;flex-direction:column;gap:10px;left:0;padding:calc(10px + env(safe-area-inset-top)) 0 calc(10px + env(safe-area-inset-bottom)) env(safe-area-inset-left);position:fixed;top:0;width:var(--account-rail-w);z-index:21}}@media (max-width:960px){@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.account-rail{-webkit-backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(var(--sw-glass-blur)) saturate(180%);backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(var(--sw-glass-blur)) saturate(180%);background:#09090bb8;background:var(--sw-glass)}}}@media (max-width:520px){.app-shell.has-account-rail .app-main-inner{padding-left:8px;padding-right:calc(8px + env(safe-area-inset-right))}}@media (min-width:961px){.account-rail{display:none}}.account-rail-button{-webkit-tap-highlight-color:transparent;background:none;border:1px solid #0000;border-radius:12px;border-radius:var(--sw-radius-sm);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;display:grid;flex-shrink:0;height:44px;padding:0;place-items:center;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),color var(--sw-transition),border-color var(--sw-transition);width:44px}.account-rail-button:focus-visible,.account-rail-button:hover{background:#27272a8c;background:var(--sw-surface-2);color:#f1f5f9;color:var(--sw-text)}.account-rail-button:focus-visible,.account-rail-theme:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--sw-accent);outline-offset:2px}.account-rail-button.is-active{background:#6366f129;background:var(--sw-accent-soft);color:#6366f1;color:var(--sw-accent)}.account-rail-icon{height:22px;width:22px}.account-rail-logout{color:#ef4444;color:var(--sw-red);margin-top:auto}.account-rail-logout:focus-visible,.account-rail-logout:hover{background:#ef444429;background:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}.account-rail-profile{position:relative}.account-rail-avatar[aria-expanded=true]{border-color:#6366f1;border-color:var(--sw-accent)}.account-rail-card{background:#1b1b1f;background:var(--sw-surface-3);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:12px;border-radius:var(--sw-radius-sm);box-shadow:0 10px 30px #00000047;display:flex;flex-direction:column;gap:2px;left:calc(100% + 10px);max-width:calc(100vw - 80px - env(safe-area-inset-left));min-width:170px;padding:10px 12px;position:absolute;text-align:start;top:0;z-index:40}.account-rail-card-name{color:#f1f5f9;color:var(--sw-text);font-size:.92rem;font-weight:600;overflow-wrap:anywhere}.account-rail-card-email{color:#64748b;color:var(--sw-text-muted);direction:ltr;font-size:.8rem;overflow-wrap:anywhere;text-align:start}.account-rail-theme{-webkit-tap-highlight-color:transparent;align-items:center;background:#1b1b1f;background:var(--sw-surface-3);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:999px;border-radius:var(--sw-radius-pill);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;height:76px;justify-content:space-between;padding:5px 0;position:relative;width:44px}.account-rail-theme-thumb{background:linear-gradient(135deg,#6366f1,#3b82f6);background:linear-gradient(135deg,var(--sw-accent),var(--sw-accent-2));border-radius:50%;box-shadow:0 2px 8px #6366f159;box-shadow:0 2px 8px var(--sw-accent-glow);height:32px;left:5px;position:absolute;top:5px;transition:transform .18s cubic-bezier(.4,0,.2,1);transition:transform var(--sw-transition);width:32px}.account-rail-theme[data-state=light] .account-rail-theme-thumb{transform:translateY(32px)}.account-rail-theme-icon{height:32px;padding:7px;position:relative;transition:color .18s cubic-bezier(.4,0,.2,1);transition:color var(--sw-transition);width:32px}.account-rail-theme[data-state=dark] .account-rail-theme-icon:first-of-type,.account-rail-theme[data-state=light] .account-rail-theme-icon:last-of-type{color:#fff}@media (prefers-reduced-motion:reduce){.account-rail-button,.account-rail-theme-thumb{transition:none}}.analysis-grid{grid-gap:14px;align-content:start;display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr))}.analysis-grid>.analysis-section{grid-column:span 12;margin-bottom:0;min-width:0}.analysis-grid>.analysis-section-half{grid-column:span 6}@media (max-width:1100px){.analysis-grid>.analysis-section-half{grid-column:span 12}}.pie-chart-container{margin-top:12px;min-height:0;padding:12px}.pie-chart-wrapper{display:block;height:auto}.pie-labels-side{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));margin-top:10px}.pie-label-item{align-items:center;background:#27272a8c;background:var(--sw-surface-2);border:none;border-radius:12px;border-radius:var(--sw-radius-sm);box-shadow:none;display:flex;gap:8px;padding:6px 8px}.pie-label-item .label-color{border-radius:3px;flex:0 0 auto;height:10px;width:10px}.pie-label-item .label-content{min-width:0}.pie-label-item .label-name{color:#f1f5f9;color:var(--sw-text);font-size:.78rem;font-weight:600;line-height:1.3}.pie-label-item .label-percentage,.pie-label-item .label-value{font-feature-settings:"tnum";color:#94a3b8;color:var(--sw-text-secondary);display:inline;font-size:.72rem;font-variant-numeric:tabular-nums}.pie-label-item .label-percentage:before{content:" · "}.analysis-section{padding:16px 18px}.analysis-section>.section-title{font-size:1rem;margin-bottom:0;padding-bottom:9px}.analysis-section>.section-subtitle{font-size:.8rem;line-height:1.55;margin-top:10px}.analysis-section>.distribution-grid:first-of-type{margin-top:12px}.distribution-grid{gap:10px;margin-top:10px}.distribution-card{padding:12px 14px}.distribution-card h3{font-size:.72rem;margin-bottom:6px}.distribution-value{font-size:1.3rem}.distribution-percentage{font-size:.75rem;line-height:1.45;margin-top:4px}.kpi-row{gap:10px}.kpi-tile{gap:5px;padding:12px 14px}.kpi-tile-label{font-size:.72rem}.kpi-tile-value{font-size:1.35rem}.kpi-tile-sub{font-size:.74rem}.summary-section{padding:14px 16px}.summary-section-title{font-size:.95rem;margin-bottom:10px;min-height:2.8em;padding-bottom:8px}.summary-item{min-height:30px;padding:4px 0}.summary-value{font-size:.88rem}.summary-grid-custom,.summary-row{gap:10px}.portfolio-summary{margin:16px 0;padding:16px 18px}.portfolio-summary-title{font-size:1.25rem;margin-bottom:14px}.equity-chart-container{margin-top:12px;padding:12px 6px 6px}.reports-grid{gap:10px;margin-top:10px}.report-card{padding:10px 12px}.sw-layout{gap:16px}.sw-main{gap:14px}.stocks-section{margin-top:16px;padding:16px}.pie-label-item:hover{box-shadow:none;transform:none}[data-theme=dark] .pie-label-item{background:#27272a8c;background:var(--sw-surface-2);border-color:#0000;box-shadow:none}@media (max-width:900px){.portfolio-summary{margin:14px 0;padding:14px 12px}.stocks-section{margin-top:14px;padding:14px 12px}}@media (max-width:768px){.analysis-section{padding:14px 12px}.equity-chart-container{padding:10px 2px 4px}.analysis-grid{gap:10px}}@media (max-width:600px){.portfolio-summary{background:none;border:none;box-shadow:none;padding:0}}@media (max-width:480px){.analysis-section{border-radius:12px;border-radius:var(--sw-radius-sm);padding:12px 10px}.summary-section{padding:12px 10px}.pie-chart-container{padding:8px 4px}}.analysis-tabs{-webkit-overflow-scrolling:touch;align-items:center;background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:16px;border-radius:var(--sw-radius);box-shadow:0 4px 24px #00000073;box-shadow:var(--sw-shadow);display:flex;gap:2px;margin-bottom:14px;overflow-x:auto;overscroll-behavior-x:contain;padding:5px;position:-webkit-sticky;position:sticky;scrollbar-width:thin;top:58px;z-index:12}.analysis-tab{align-items:center;background:none;border:none;border-radius:12px;border-radius:var(--sw-radius-sm);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:.82rem;font-weight:600;gap:6px;padding:7px 12px;transition:background .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);transition:background var(--sw-transition),color var(--sw-transition);white-space:nowrap}.analysis-tab:hover{background:#27272a8c;background:var(--sw-surface-2);color:#f1f5f9;color:var(--sw-text)}.analysis-tab.active{background:#6366f129;background:var(--sw-accent-soft);color:#4f46e5;color:var(--sw-accent-strong)}.analysis-tab-icon{font-size:.9em;opacity:.85}.analysis-tabs-divider{align-self:stretch;background:#ffffff14;background:var(--sw-border);flex:0 0 auto;margin:3px 5px;width:1px}.stocks-table{font-size:.82rem}.stocks-table thead th{font-size:.7rem;padding:8px 10px}.stocks-table td{padding:7px 10px}.analysis-table{font-size:.82rem}.analysis-table th{font-size:.75rem;padding:8px}.analysis-table td{padding:6px 8px}.detail-row td,.summary-row-expanded td{padding:5px 8px}@media (max-width:960px){.analysis-tabs{top:46px}}@media (max-width:768px){.analysis-tabs{margin-bottom:10px;padding:4px;position:static}.analysis-tab{font-size:.78rem;min-height:40px;padding:8px 10px}.stocks-table td,.stocks-table thead th{padding:7px 6px}.analysis-table td,.analysis-table th{padding:6px 5px}}.summary-section{display:flex;flex-direction:column;gap:0}.summary-item{grid-gap:14px;align-items:baseline;background:none;border:none;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);border-radius:12px;border-radius:var(--sw-radius-sm);display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;max-width:620px;min-height:0;padding:7px 4px}[data-theme=dark] .summary-item:hover{background:hsla(0,0%,100%,.035)}[data-theme=light] .summary-item:hover{background:#0f172a08}.summary-label{color:#94a3b8;color:var(--sw-text-secondary);font-size:.82rem;font-weight:500;letter-spacing:0;line-height:1.4;overflow-wrap:anywhere}.summary-value{font-feature-settings:"tnum";color:#f1f5f9;color:var(--sw-text);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:0;text-align:end;white-space:nowrap}.summary-value.profit-negative,.summary-value.profit-positive{background:none;border:none;border-radius:0;display:inline;font-size:.9rem;padding:0}.summary-value.profit-positive{color:#10b981;color:var(--sw-green)}.summary-value.profit-negative{color:#ef4444;color:var(--sw-red)}.summary-section-title{justify-content:flex-start;text-align:start}@media (max-width:480px){.summary-item{gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:6px 2px}.summary-label{font-size:.78rem}.summary-value{font-size:.85rem}}.analysis-section,.distribution-card,.equity-chart-container,.feature-card,.kpi-tile,.monthly-history-card,.pie-chart-container,.portfolio-summary,.report-card,.summary-section,.table-container{transition:background-color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),border-color var(--sw-transition)}[data-theme=dark] .distribution-card:hover,[data-theme=dark] .feature-card:hover,[data-theme=dark] .kpi-tile:hover,[data-theme=dark] .monthly-history-card:hover,[data-theme=dark] .report-card:hover,[data-theme=dark] .summary-section:hover{background-color:#27272aad;background-color:var(--sw-surface-hover);border-color:#ffffff29;border-color:var(--sw-border-hover)}.distribution-card:hover,.kpi-tile.is-interactive:hover,.summary-card-link:focus-visible,.summary-card-link:hover{transform:none}[data-theme=dark] .distribution-card:hover,[data-theme=dark] .kpi-tile.is-interactive:hover{box-shadow:0 4px 24px #00000073;box-shadow:var(--sw-shadow)}*{scrollbar-color:#fff3 #0000;scrollbar-width:thin}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px;border-radius:var(--sw-radius-pill)}::-webkit-scrollbar-thumb:hover{background:#ffffff52}[data-theme=light] *{scrollbar-color:#0f172a38 #0000}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0f172a38}.kpi-row{gap:12px;grid-auto-rows:minmax(104px,auto);grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-tile.is-featured{grid-column:span 2;grid-row:span 2;justify-content:center;padding:22px 24px}.kpi-tile.is-wide{grid-column:span 2}.kpi-tile.is-featured .kpi-tile-value{font-size:clamp(2.1rem,4.4vw,3.1rem);letter-spacing:-.035em;line-height:1.02}.kpi-tile.is-featured .kpi-tile-label{font-size:.78rem}.kpi-tile.is-featured .kpi-tile-sub{font-size:.82rem}@media (max-width:900px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-tile.is-featured{grid-row:span 1}}@media (max-width:560px){.kpi-row{grid-template-columns:minmax(0,1fr)}.kpi-tile.is-featured,.kpi-tile.is-wide{grid-column:span 1}}[data-theme=dark] .toolbar-btn-primary{background:#fff;border-radius:999px;border-radius:var(--sw-radius-pill);box-shadow:none;color:#09090b}[data-theme=dark] .toolbar-btn-primary:hover:not(:disabled){background:#e4e4e7;box-shadow:none}[data-theme=dark] .toolbar-btn-primary:disabled{background:#ffffff47;color:#09090b99}.summary-grid-custom{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-row{display:contents}.summary-grid-custom>.summary-row>*{grid-column:span 2;min-width:0}.summary-grid-custom>.summary-row-single>*{grid-column:span 2}.portfolio-summary{backdrop-filter:none;-webkit-backdrop-filter:none;background:none;border:none;box-shadow:none;margin:18px 0 0;padding:0}[data-theme=dark] .portfolio-summary{background:none;background-image:none}.portfolio-summary-title{-webkit-text-fill-color:currentColor;background:none;color:#94a3b8;color:var(--sw-text-secondary);font-size:.82rem;font-weight:600;letter-spacing:.06em;margin:0 0 12px;text-align:start;text-transform:uppercase}.kpi-row{gap:14px;margin-bottom:14px}@media (max-width:900px){.summary-grid-custom{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid-custom>.summary-row-single>*,.summary-grid-custom>.summary-row>*{grid-column:span 2}}@media (max-width:560px){.summary-grid-custom{gap:10px;grid-template-columns:minmax(0,1fr)}.summary-grid-custom>.summary-row-single>*,.summary-grid-custom>.summary-row>*{grid-column:span 1}}.kpi-tile-mark{color:#f1f5f9;color:var(--sw-text);font-size:1.15rem;inset-inline-end:16px;line-height:1;opacity:.16;pointer-events:none;position:absolute;top:14px;z-index:1}.kpi-tile-figure,.kpi-tile-label{position:relative;z-index:1}.kpi-tile-figure{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}.kpi-tile-badge{font-feature-settings:"tnum";align-items:center;align-self:center;border:1px solid #0000;border-radius:12px;border-radius:var(--sw-radius-sm);display:inline-flex;font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:600;padding:3px 9px;white-space:nowrap}.kpi-tile-badge.is-positive{background:#10b98129;background:var(--sw-green-soft);border-color:#10b98152;border-color:var(--sw-green-border);color:#10b981;color:var(--sw-green)}.kpi-tile-badge.is-negative{background:#ef444429;background:var(--sw-red-soft);border-color:#ef444452;border-color:var(--sw-red-border);color:#ef4444;color:var(--sw-red)}.kpi-tile-badge.is-neutral{background:#27272a8c;background:var(--sw-surface-2);border-color:#ffffff14;border-color:var(--sw-border);color:#94a3b8;color:var(--sw-text-secondary)}.beta-modal-overlay{align-items:center;background:#000000b8;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:24px 16px;position:fixed;z-index:200}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.beta-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.beta-modal{background:#09090b;background:var(--sw-bg-elevated);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:24px;border-radius:var(--sw-radius-lg);box-shadow:0 30px 80px #0009;margin:auto;overflow:hidden;width:min(680px,100%)}.beta-modal-header{align-items:center;background:#f59e0b29;background:var(--sw-amber-soft);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);display:flex;gap:12px;padding:20px 24px}.beta-banner-tag,.beta-modal-tag{background:#f59e0b;background:var(--sw-amber);border-radius:999px;border-radius:var(--sw-radius-pill);color:#1a1206;color:var(--sw-on-amber);flex:0 0 auto;font-size:.7rem;font-weight:800;letter-spacing:.08em;padding:3px 10px}.beta-modal-title{color:#f1f5f9;color:var(--sw-text);font-size:1.25rem;font-weight:700;margin:0}.beta-modal-body{color:#94a3b8;color:var(--sw-text-secondary);font-size:.92rem;line-height:1.6;padding:20px 24px 8px}.beta-modal-lead{color:#f1f5f9;color:var(--sw-text);margin:0 0 14px}.beta-modal-list{-webkit-padding-start:20px;grid-gap:10px;display:grid;gap:10px;margin:0 0 14px;padding-inline-start:20px}.beta-modal-list strong{color:#f1f5f9;color:var(--sw-text)}.beta-modal-note{color:#64748b;color:var(--sw-text-muted);font-size:.84rem;margin:0}.beta-modal-note a{color:#6366f1;color:var(--sw-accent);font-weight:600}.beta-modal-actions{padding:16px 24px 22px}.beta-modal-button{background:#6366f1;background:var(--sw-accent);border:none;border-radius:16px;border-radius:var(--sw-radius);color:#fff;cursor:pointer;font:inherit;font-size:.95rem;font-weight:600;padding:13px 20px;transition:background .15s ease;width:100%}.beta-modal-button:hover{background:#4f46e5;background:var(--sw-accent-strong)}.beta-modal-button:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--sw-accent-2);outline-offset:2px}.asset-entry-modal{width:min(560px,100%)}.asset-entry-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);display:flex;gap:12px;justify-content:space-between;padding:18px 24px 10px}.asset-entry-close{background:#0000;border:none;border-radius:16px;border-radius:var(--sw-radius);color:#64748b;color:var(--sw-text-muted);cursor:pointer;font-size:1.6rem;line-height:1;padding:4px 8px}.asset-entry-close:focus-visible,.asset-entry-close:hover{background:#27272a8c;background:var(--sw-surface-2);color:#f1f5f9;color:var(--sw-text)}.asset-entry-body{max-height:min(78vh,900px);overflow-y:auto;padding:16px 24px 22px}@media (max-width:720px){.asset-entry-body,.asset-entry-header{padding-left:16px;padding-right:16px}}.beta-banner{align-items:flex-start;background:#f59e0b29;background:var(--sw-amber-soft);border:1px solid #f59e0b;border:1px solid var(--sw-amber);border-radius:16px;border-radius:var(--sw-radius);display:flex;gap:12px;margin:0 0 18px;padding:12px 14px}.beta-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0}.beta-banner-title{color:#f1f5f9;color:var(--sw-text);font-size:.88rem;font-weight:700}.beta-banner-body{color:#94a3b8;color:var(--sw-text-secondary);font-size:.82rem;line-height:1.5}@media (max-width:600px){.beta-modal-actions,.beta-modal-body,.beta-modal-header{padding-inline:16px}.beta-modal-title{font-size:1.05rem}}.calc-guide{grid-gap:10px;counter-reset:calc-step;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));list-style:none;margin:0 0 18px;padding:0}.calc-guide-step{-webkit-padding-start:44px;background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:16px;border-radius:var(--sw-radius);counter-increment:calc-step;display:flex;flex-direction:column;gap:4px;padding:12px 14px;padding-inline-start:44px;position:relative}.calc-guide-step:before{align-items:center;background:#6366f1;background:var(--sw-accent);border-radius:999px;border-radius:var(--sw-radius-pill);color:#fff;content:counter(calc-step);display:flex;font-size:.75rem;font-weight:700;height:22px;inset-inline-start:12px;justify-content:center;position:absolute;top:12px;width:22px}.calc-guide-title{color:#f1f5f9;color:var(--sw-text);font-size:.88rem;font-weight:700}.calc-guide-text{color:#94a3b8;color:var(--sw-text-secondary);font-size:.8rem;line-height:1.55}.period-toggles{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.period-toggle{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:999px;border-radius:var(--sw-radius-pill);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font:inherit;font-size:.82rem;padding:7px 14px;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.period-toggle:hover{border-color:#ffffff29;border-color:var(--sw-border-hover);color:#f1f5f9;color:var(--sw-text)}.period-toggle.active{background:#6366f1;background:var(--sw-accent);border-color:#6366f1;border-color:var(--sw-accent);color:#fff;font-weight:600}.period-toggle:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--sw-accent-2);outline-offset:2px}@media (max-width:640px){.period-toggle{flex:1 1 auto;padding:6px 10px}}.side-nav-badge{-webkit-margin-start:auto;background:#ef4444;background:var(--sw-red);border-radius:999px;border-radius:var(--sw-radius-pill);color:#fff;font-size:11px;font-weight:700;line-height:20px;margin-inline-start:auto;min-width:20px;padding:0 6px;text-align:center}.alerts-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.alert-list{grid-gap:12px;display:grid;gap:12px;list-style:none;margin:12px 0 0;padding:0}.alert-card{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-inline-start-width:4px;border-radius:16px;border-radius:var(--sw-radius);padding:12px 16px}.alert-card.severity-critical{border-inline-start-color:#ef4444;border-inline-start-color:var(--sw-red)}.alert-card.severity-warning{border-inline-start-color:#f59e0b;border-inline-start-color:var(--sw-amber)}.alert-card.severity-info{border-inline-start-color:#22d3ee;border-inline-start-color:var(--sw-cyan)}.alert-card.is-unread{background:#27272a8c;background:var(--sw-surface-2)}.alert-card-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.alert-card-title{color:#f1f5f9;color:var(--sw-text);font-size:15px;margin:0}.alert-card-time{-webkit-margin-start:auto;color:#64748b;color:var(--sw-text-muted);font-size:12px;margin-inline-start:auto}.alert-card-message,.alert-card-recommendation{color:#94a3b8;color:var(--sw-text-secondary);line-height:1.5;margin:8px 0 0}.alert-severity-badge{border-radius:999px;border-radius:var(--sw-radius-pill);font-size:12px;font-weight:600;padding:2px 8px}.alert-severity-badge.severity-critical{background:#ef444429;background:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}.alert-severity-badge.severity-warning{background:#f59e0b29;background:var(--sw-amber-soft);color:#f59e0b;color:var(--sw-amber)}.alert-severity-badge.severity-info{background:#6366f129;background:var(--sw-accent-soft);color:#6366f1;color:var(--sw-accent)}.recommendation-why{grid-gap:4px 12px;color:#94a3b8;color:var(--sw-text-secondary);display:grid;font-size:13px;gap:4px 12px;grid-template-columns:-webkit-max-content 1fr;grid-template-columns:max-content 1fr;margin:8px 0 0}.recommendation-why dt{color:#f1f5f9;color:var(--sw-text);font-weight:600}.recommendation-why dd{margin:0}.muted-note{color:#64748b;color:var(--sw-text-muted);font-size:12px}.range-bar .range-track{stroke:#ffffff24;stroke:var(--sw-border-strong);stroke-width:4;stroke-linecap:round}.range-bar .range-avg{stroke:#94a3b8;stroke:var(--sw-text-secondary);stroke-width:2}.range-bar .range-peer{fill:#f59e0b;fill:var(--sw-amber)}.range-bar .range-now{fill:#6366f1;fill:var(--sw-accent)}.dcf-errors,.dcf-warnings{-webkit-padding-start:20px;color:#f59e0b;color:var(--sw-amber);margin:12px 0;padding-inline-start:20px}.dcf-errors{color:#ef4444;color:var(--sw-red)}.dcf-grid td,.dcf-grid th{text-align:center}.dcf-grid .cell-under{background:#10b98129;background:var(--sw-green-soft);color:#10b981;color:var(--sw-green)}.dcf-grid .cell-over{background:#ef444429;background:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}.dcf-grid .cell-current{font-weight:700;outline:2px solid #6366f1;outline:2px solid var(--sw-accent);outline-offset:-2px}.inline-input{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:12px;border-radius:var(--sw-radius-sm);color:#f1f5f9;color:var(--sw-text);font:inherit;padding:8px 12px;width:120px}.val-intro{font-size:14px;line-height:1.7;margin:0 0 16px;max-width:72ch}.val-badge,.val-intro{color:#94a3b8;color:var(--sw-text-secondary)}.val-badge{background:#1b1b1f;background:var(--sw-surface-3);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:999px;border-radius:var(--sw-radius-pill);display:inline-block;font-size:13px;font-weight:700;padding:3px 10px;white-space:nowrap}.val-badge-cheap{background:#10b98129;background:var(--sw-green-soft);border-color:#10b98152;border-color:var(--sw-green-border);color:#10b981;color:var(--sw-green)}.val-badge-expensive{background:#ef444429;background:var(--sw-red-soft);border-color:#ef444452;border-color:var(--sw-red-border);color:#ef4444;color:var(--sw-red)}.val-badge-mixed{background:#f59e0b29;background:var(--sw-amber-soft);border-color:#f59e0b29;border-color:var(--sw-amber-soft);color:#f59e0b;color:var(--sw-amber)}.val-badge-normal{background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f129;border-color:var(--sw-accent-soft);color:#6366f1;color:var(--sw-accent)}.val-summary-list{grid-gap:10px;display:grid;gap:10px;list-style:none;margin:0 0 16px;padding:0}.val-summary-list li{grid-gap:8px 12px;align-items:center;background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;border-radius:var(--sw-radius-sm);display:grid;gap:8px 12px;grid-template-columns:minmax(150px,220px) auto 1fr;padding:12px 14px}.val-summary-q{color:#f1f5f9;color:var(--sw-text);font-weight:600}.val-summary-why{color:#64748b;color:var(--sw-text-muted);font-size:13px}.val-implied,.val-result{-webkit-border-start:4px solid #6366f1;-webkit-border-start:4px solid var(--sw-accent);background:#6366f129;background:var(--sw-accent-soft);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-inline-start:4px solid #6366f1;border-inline-start:4px solid var(--sw-accent);border-radius:12px;border-radius:var(--sw-radius-sm);margin-bottom:12px;padding:14px 16px}.val-implied h3{color:#f1f5f9;color:var(--sw-text);font-size:15px;margin:0 0 6px}.val-implied p,.val-result p{color:#f1f5f9;color:var(--sw-text);line-height:1.7;margin:0}.val-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.val-card{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:16px;border-radius:var(--sw-radius);display:flex;flex-direction:column;gap:8px;padding:16px}.val-card-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.val-card-head h3{font-size:15px}.val-card-big,.val-card-head h3{color:#f1f5f9;color:var(--sw-text);margin:0}.val-card-big{font-size:28px;font-weight:700;line-height:1.1}.val-card-explain{color:#94a3b8;color:var(--sw-text-secondary);font-size:13px;line-height:1.6;margin:0}.val-card-na{background:#1b1b1f;background:var(--sw-surface-3);border-radius:12px;border-radius:var(--sw-radius-sm);padding:10px 12px}.val-compare{font-size:13px;list-style:none;margin:0;padding:0}.val-compare li{border-top:1px solid #ffffff14;border-top:1px solid var(--sw-border);color:#94a3b8;color:var(--sw-text-secondary);display:flex;gap:8px;justify-content:space-between;padding:6px 0}.val-compare strong{color:#f1f5f9;color:var(--sw-text)}.val-range{display:flex;justify-content:center}.val-range .range-bar{max-width:100%}.val-legend{margin:10px 0 0}.val-legend-now{color:#6366f1;color:var(--sw-accent)}.val-legend-peer{color:#f59e0b;color:var(--sw-amber)}.val-legend-avg{color:#94a3b8;color:var(--sw-text-secondary);font-weight:700}.val-details{margin-top:12px}.val-details>summary{color:#6366f1;color:var(--sw-accent);cursor:pointer;font-weight:600;padding:6px 0}.val-details>summary:focus-visible{border-radius:6px;box-shadow:0 0 0 3px #6366f159;box-shadow:var(--sw-ring);outline:none}.val-steps{-webkit-padding-start:22px;color:#94a3b8;color:var(--sw-text-secondary);font-size:14px;line-height:1.8;margin:8px 0;padding-inline-start:22px}.dcf-scenario{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:999px;border-radius:var(--sw-radius-pill);color:#f1f5f9;color:var(--sw-text);cursor:pointer;font:inherit;font-size:14px;padding:8px 14px;transition:background .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1);transition:background var(--sw-transition),border-color var(--sw-transition)}.dcf-scenario:hover{background:#232329;background:var(--sw-surface-hover-solid)}.dcf-scenario:focus-visible{box-shadow:0 0 0 3px #6366f159;box-shadow:var(--sw-ring);outline:none}.dcf-scenario.is-active{background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f1;border-color:var(--sw-accent);color:#6366f1;color:var(--sw-accent);font-weight:700}.val-result-sentence{font-weight:600}.val-result .val-result-implied{color:#94a3b8;color:var(--sw-text-secondary);font-size:14px;margin-top:8px}@media (max-width:640px){.val-summary-list li{grid-template-columns:1fr auto}.val-summary-why{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.dcf-scenario,.dcf-scenario-card{transition:none}}.dcf-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:16px}.dcf-mode{display:inline-flex;flex-wrap:wrap;gap:6px}.dcf-scenario:disabled{cursor:not-allowed;opacity:.5}.dcf-scenario-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:14px}.dcf-scenario-card{align-items:flex-start;background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:16px;border-radius:var(--sw-radius);color:#f1f5f9;color:var(--sw-text);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:6px;padding:14px;text-align:start;transition:border-color .18s cubic-bezier(.4,0,.2,1),background .18s cubic-bezier(.4,0,.2,1);transition:border-color var(--sw-transition),background var(--sw-transition)}button.dcf-scenario-card:hover{background:#232329;background:var(--sw-surface-hover-solid)}.dcf-scenario-card:focus-visible{box-shadow:0 0 0 3px #6366f159;box-shadow:var(--sw-ring);outline:none}.dcf-scenario-card.is-active{border-color:#6366f1;border-color:var(--sw-accent);box-shadow:inset 0 0 0 1px #6366f1;box-shadow:inset 0 0 0 1px var(--sw-accent)}.dcf-scenario-weighted{background:#27272a8c;background:var(--sw-surface-2);cursor:default}.dcf-scenario-name{color:#94a3b8;color:var(--sw-text-secondary);font-size:13px;font-weight:600}.dcf-scenario-value{color:#f1f5f9;color:var(--sw-text);font-size:22px;font-weight:700}.dcf-scenario-upside{color:#64748b;color:var(--sw-text-muted);font-size:12px}.dcf-scenario-error{color:#ef4444;color:var(--sw-red);font-size:13px}.dcf-kpis{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0 0 12px}.dcf-kpis dt{color:#94a3b8;color:var(--sw-text-secondary);font-size:12px}.dcf-kpis dd{color:#f1f5f9;color:var(--sw-text);font-size:17px;font-weight:700;margin:2px 0 0}.dcf-fields{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:10px 0}.dcf-field{color:#94a3b8;color:var(--sw-text-secondary);display:flex;flex-direction:column;font-size:13px;gap:4px}.dcf-field-input{align-items:center;display:inline-flex;gap:4px}.dcf-field input{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:8px;color:#f1f5f9;color:var(--sw-text);font:inherit;font-size:14px;min-width:0;padding:6px 8px;text-align:left;width:100%}.dcf-field input[readonly]{background:#1b1b1f;background:var(--sw-surface-3);border-color:#ffffff14;border-color:var(--sw-border);color:#94a3b8;color:var(--sw-text-secondary)}.dcf-field input:focus-visible{border-color:#6366f1;border-color:var(--sw-accent);box-shadow:0 0 0 3px #6366f159;box-shadow:var(--sw-ring);outline:none}.dcf-field-suffix{font-size:12px}.dcf-field-note,.dcf-field-suffix{color:#64748b;color:var(--sw-text-muted)}.dcf-field-note{font-size:11px;line-height:1.5}.dcf-years td,.dcf-years th{text-align:center;white-space:nowrap}.dcf-years .dcf-field{min-width:76px;position:relative}.dcf-years .dcf-field input{font-size:13px;padding:4px 6px}.dcf-unsuitable{-webkit-border-start:4px solid #f59e0b;-webkit-border-start:4px solid var(--sw-amber);background:#f59e0b29;background:var(--sw-amber-soft);border:1px solid #f59e0b29;border:1px solid var(--sw-amber-soft);border-inline-start:4px solid #f59e0b;border-inline-start:4px solid var(--sw-amber);border-radius:12px;border-radius:var(--sw-radius-sm);color:#f1f5f9;color:var(--sw-text);padding:14px 16px}.dcf-source-list{-webkit-padding-start:18px;line-height:1.7;margin:10px 0 0;overflow-wrap:anywhere;padding-inline-start:18px}.dcf-calc,.dcf-text{min-width:0}.dcf-text{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:8px;color:#f1f5f9;color:var(--sw-text);font:inherit;font-size:14px;padding:6px 8px;width:100%}.dcf-text:focus-visible{border-color:#6366f1;border-color:var(--sw-accent);box-shadow:0 0 0 3px #6366f159;box-shadow:var(--sw-ring);outline:none}.dcf-guidance-row th,.dcf-source-row th{color:#94a3b8;color:var(--sw-text-secondary);font-size:12px;font-weight:600}.dcf-guidance-row{background:#6366f129;background:var(--sw-accent-soft)}.dcf-source-row td{padding-bottom:6px;padding-top:2px}.dcf-source-cell .val-badge{font-size:11px;padding:1px 8px}.dcf-basis{grid-gap:8px;display:grid;gap:8px}.dcf-basis-option{align-items:flex-start;color:#f1f5f9;color:var(--sw-text);cursor:pointer;display:flex;font-size:14px;gap:8px}.dcf-basis-option input{accent-color:#6366f1;accent-color:var(--sw-accent);margin-top:4px}.dcf-check{align-items:center;color:#94a3b8;color:var(--sw-text-secondary);display:flex;font-size:13px;gap:8px}.dcf-check input{accent-color:#6366f1;accent-color:var(--sw-accent)}.dcf-legacy-note{background:#f59e0b29;background:var(--sw-amber-soft);border-radius:12px;border-radius:var(--sw-radius-sm);color:#f1f5f9;color:var(--sw-text);font-size:13px;margin:0 0 12px;padding:8px 12px}.dcf-sub-row td:first-child{-webkit-padding-start:24px;color:#94a3b8;color:var(--sw-text-secondary);padding-inline-start:24px}.val-compare .val-compare-minor{border-top:none;color:#64748b;color:var(--sw-text-muted);font-size:12px;padding-top:0}.val-peer-outlier{background:#f59e0b29;background:var(--sw-amber-soft);border-radius:12px;border-radius:var(--sw-radius-sm);color:#f1f5f9;color:var(--sw-text);font-size:12px;line-height:1.6;margin:0;padding:8px 10px}.val-peers-summary td,.val-peers-summary th{background:#27272a8c;background:var(--sw-surface-2);font-weight:600}.auth-input:not([dir=ltr]):not([type=email]):not([type=password]):not([type=number]),select.auth-input,textarea.auth-input{direction:rtl;text-align:right}select.auth-input[dir=ltr]{direction:ltr;text-align:left}.auth-input{background:#1b1b1f;background:var(--sw-surface-3);color:#f1f5f9;color:var(--sw-text);font-family:inherit}.auth-input.has-error{border-color:#ef4444;border-color:var(--sw-red)}.auth-field{display:flex;flex-direction:column;gap:6px;text-align:right}.field-error{color:#ef4444;color:var(--sw-red);font-size:.82rem}.hp-field,.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.password-wrap{display:flex;position:relative}.password-input{-webkit-padding-start:64px;padding-inline-start:64px}.password-toggle{background:#27272a8c;background:var(--sw-surface-2);border:none;border-radius:8px;color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-family:inherit;font-size:.8rem;inset-inline-start:6px;padding:6px 10px;position:absolute;top:50%;transform:translateY(-50%)}.auth-link:focus-visible,.password-toggle:focus-visible,.privacy-toggle:focus-visible,.settings-button:focus-visible,.settings-nav-item:focus-visible,.social-button:focus-visible,.switch:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--sw-accent);outline-offset:2px}.password-strength{display:flex;flex-direction:column;gap:6px}.password-meter{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(4,1fr)}.password-meter-bar{background:#ffffff24;background:var(--sw-border-strong);border-radius:3px;height:5px}.password-meter-bar.level-0,.password-meter-bar.level-1{background:#ef4444;background:var(--sw-red)}.password-meter-bar.level-2{background:#f59e0b;background:var(--sw-amber)}.password-meter-bar.level-3,.password-meter-bar.level-4{background:#10b981;background:var(--sw-green)}.password-strength-label{color:#94a3b8;color:var(--sw-text-secondary);font-size:.8rem}.auth-check{align-items:flex-start;color:#f1f5f9;color:var(--sw-text);cursor:pointer;display:flex;font-size:.88rem;gap:10px;line-height:1.5;text-align:right}.auth-check input{accent-color:#6366f1;accent-color:var(--sw-accent);flex-shrink:0;height:18px;margin-top:3px;width:18px}.auth-check a{color:#6366f1;color:var(--sw-accent)}.auth-check.has-error{color:#ef4444;color:var(--sw-red)}.auth-links-row{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:center}.auth-link-inline{align-self:auto;font-size:inherit;padding:0 2px}.auth-legal-links{color:#64748b;color:var(--sw-text-muted);font-size:.78rem;margin-top:18px}.auth-legal-links a{color:#94a3b8;color:var(--sw-text-secondary)}.auth-divider{align-items:center;color:#64748b;color:var(--sw-text-muted);display:flex;font-size:.8rem;gap:12px;margin:4px 0 16px}.auth-divider:after,.auth-divider:before{background:#ffffff24;background:var(--sw-border-strong);content:"";flex:1 1;height:1px}.turnstile-box{display:flex;justify-content:center;min-height:65px}.social-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.social-button{align-items:center;border-radius:10px;display:flex;font-size:.95rem;font-weight:600;gap:10px;justify-content:center;min-height:44px;padding:10px 14px;text-decoration:none;transition:filter .15s}.social-button:hover{filter:brightness(.97)}.social-google{background:#fff;background:var(--brand-google-bg);border:1px solid #747775;border:1px solid var(--brand-google-border);color:#1f1f1f;color:var(--brand-google-text)}.social-facebook{background:#1877f2;background:var(--brand-facebook);border:1px solid #1877f2;border:1px solid var(--brand-facebook);color:#fff}.social-mark{display:inline-flex}.toast-stack{bottom:16px;display:flex;flex-direction:column;gap:8px;inset-inline-start:16px;max-width:min(380px,calc(100vw - 32px));position:fixed;z-index:1000}.toast{align-items:center;background:#1b1b1f;background:var(--sw-surface-3);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:12px;box-shadow:0 10px 30px #00000040;color:#f1f5f9;color:var(--sw-text);display:flex;font-size:.9rem;gap:10px;padding:12px 14px}.toast-success{border-color:#10b98152;border-color:var(--sw-green-border)}.toast-error{border-color:#ef444452;border-color:var(--sw-red-border)}.toast-message{flex:1 1}.toast-close{background:none;border:none;color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-size:1.2rem;line-height:1}@media (max-width:960px){.toast-stack{bottom:calc(84px + env(safe-area-inset-bottom))}}.avatar{border-radius:50%;flex-shrink:0;object-fit:cover}.avatar-letter{background:linear-gradient(135deg,#4f46e5,#3b82f6);background:linear-gradient(135deg,var(--sw-accent-strong),var(--sw-accent-2));color:#fff;display:inline-grid;font-weight:700;place-items:center}.side-nav-identity{align-items:center;display:flex;gap:10px;min-width:0}.side-nav-identity-text{display:flex;flex-direction:column;min-width:0}.side-nav-user-name{color:#f1f5f9;color:var(--sw-text);font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-toolbar-title-row{align-items:center;display:flex;gap:10px}.privacy-toggle{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:10px;color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;display:inline-grid;flex-shrink:0;height:36px;place-items:center;width:36px}.privacy-toggle.is-on{background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f1;border-color:var(--sw-accent);color:#6366f1;color:var(--sw-accent)}.modal-overlay{background:#0000008c;display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:900}.modal-card{background:#1b1b1f;background:var(--sw-surface-3);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:18px;color:#f1f5f9;color:var(--sw-text);display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 32px);overflow-y:auto;padding:24px;position:relative;text-align:right;width:min(520px,100%)}.modal-close{background:none;border:none;color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-size:1.5rem;inset-inline-end:12px;position:absolute;top:10px}.crop-area{background:#111;background:var(--sw-crop-bg);border-radius:12px;height:300px;overflow:hidden;position:relative;width:100%}.crop-zoom{accent-color:#6366f1;accent-color:var(--sw-accent);width:100%}.settings-page{display:flex;flex-direction:column;gap:16px}.settings-score{align-items:center;background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:16px;display:flex;gap:16px;padding:16px}.settings-score-ring{--score:0;background:conic-gradient(#6366f1 calc(var(--score)*1%),#ffffff24 0);background:conic-gradient(var(--sw-accent) calc(var(--score)*1%),var(--sw-border-strong) 0);border-radius:50%;display:grid;flex-shrink:0;height:64px;place-items:center;width:64px}.settings-score-ring span{background:#1b1b1f;background:var(--sw-surface-3);border-radius:50%;color:#f1f5f9;color:var(--sw-text);display:grid;font-weight:700;height:50px;place-items:center;width:50px}.settings-score-text{color:#f1f5f9;color:var(--sw-text);display:flex;flex-direction:column;gap:6px}.settings-score-steps{display:flex;flex-direction:column;font-size:.88rem;gap:4px;list-style:none;margin:0;padding:0}.recommend-tag{-webkit-margin-end:6px;background:#f59e0b29;background:var(--sw-amber-soft);border-radius:999px;color:#f59e0b;color:var(--sw-amber);display:inline-block;font-size:.72rem;font-weight:700;margin-inline-end:6px;padding:1px 8px}.settings-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:250px minmax(0,1fr)}.settings-layout.is-phone{grid-template-columns:1fr}.settings-nav{gap:10px;position:-webkit-sticky;position:sticky;top:16px}.settings-nav,.settings-nav ul{display:flex;flex-direction:column}.settings-nav ul{gap:4px;list-style:none;margin:0;padding:0}.settings-search{direction:rtl;text-align:right}.settings-nav-item{align-items:flex-start;background:none;border:1px solid #0000;border-radius:12px;color:#f1f5f9;color:var(--sw-text);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:2px;padding:10px 12px;text-align:right;width:100%}.settings-nav-item:hover{background:#232329;background:var(--sw-surface-hover-solid)}.settings-nav-item.is-active{background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f1;border-color:var(--sw-accent)}.settings-nav-item.is-danger .settings-nav-label{color:#ef4444;color:var(--sw-red)}.settings-nav-label{font-size:.95rem;font-weight:600}.settings-nav-hint{color:#94a3b8;color:var(--sw-text-secondary);font-size:.78rem}.settings-detail{display:flex;flex-direction:column;gap:16px;min-width:0}.settings-detail-title{color:#f1f5f9;color:var(--sw-text);font-size:1.25rem;margin:0}.settings-detail-title:focus{outline:none}.settings-back{align-self:flex-start}.settings-card{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:18px;text-align:right}.settings-card.is-danger{border-color:#ef444452;border-color:var(--sw-red-border)}.settings-card-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.settings-card-title{color:#f1f5f9;color:var(--sw-text);font-size:1.05rem;margin:0}.settings-card-desc{color:#94a3b8;color:var(--sw-text-secondary);font-size:.88rem;line-height:1.55;margin:0}.settings-current{color:#f1f5f9;color:var(--sw-text);font-weight:600;margin:0;text-align:right}.settings-form{display:flex;flex-direction:column;gap:14px}.settings-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:640px){.settings-grid{grid-template-columns:1fr}}.settings-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.settings-actions .auth-submit{font-size:.95rem;padding:11px 22px;width:auto}.settings-button{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:10px;color:#f1f5f9;color:var(--sw-text);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:9px 16px}.settings-button:hover{background:#232329;background:var(--sw-surface-hover-solid)}.settings-button:disabled{cursor:not-allowed;opacity:.55}.settings-button.is-quiet{background:none}.settings-button.is-danger{border-color:#ef444452;border-color:var(--sw-red-border);color:#ef4444;color:var(--sw-red)}.settings-links{-webkit-padding-start:18px;display:flex;flex-direction:column;gap:6px;margin:0;padding-inline-start:18px}.settings-links a{color:#6366f1;color:var(--sw-accent)}.switch-row{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:8px 0}.switch-row+.switch-row{border-top:1px solid #ffffff14;border-top:1px solid var(--sw-border)}.switch-text{display:flex;flex-direction:column;gap:2px}.switch-label{color:#f1f5f9;color:var(--sw-text);font-weight:600}.switch-desc{color:#94a3b8;color:var(--sw-text-secondary);font-size:.82rem}.switch{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:999px;cursor:pointer;flex-shrink:0;height:26px;position:relative;transition:background .2s;width:46px}.switch-thumb{background:#94a3b8;background:var(--sw-text-secondary);border-radius:50%;height:20px;inset-inline-start:2px;position:absolute;top:2px;transition:inset-inline-start .2s,background .2s;width:20px}.switch.is-on{background:#6366f1;background:var(--sw-accent);border-color:#6366f1;border-color:var(--sw-accent)}.switch.is-on .switch-thumb{background:#fff;inset-inline-start:22px}.event-list,.session-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.event-item,.session-item{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);display:flex;gap:12px;justify-content:space-between;padding:10px 0}.event-item{align-items:flex-start;flex-direction:column;gap:2px}.event-item.is-warning .event-type{color:#f59e0b;color:var(--sw-amber)}.session-main{display:flex;flex-direction:column;gap:3px;min-width:0}.event-type,.session-device{align-items:center;color:#f1f5f9;color:var(--sw-text);display:flex;font-weight:600;gap:8px}.backup-codes-list{grid-gap:8px;background:#27272a8c;background:var(--sw-surface-2);border-radius:12px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:12px}.backup-codes-list code{color:#f1f5f9;color:var(--sw-text);font-size:1rem;letter-spacing:.05em}.avatar-editor{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.avatar-editor-actions{display:flex;flex-wrap:wrap;gap:10px}.profile-progress{display:flex;flex-direction:column;gap:6px}.profile-progress-head{color:#f1f5f9;color:var(--sw-text);display:flex;font-size:.88rem;justify-content:space-between}.profile-progress-bar{background:#ffffff24;background:var(--sw-border-strong);border-radius:999px;height:8px;overflow:hidden}.profile-progress-bar span{background:linear-gradient(90deg,#4f46e5,#3b82f6);background:linear-gradient(90deg,var(--sw-accent-strong),var(--sw-accent-2));border-radius:999px;display:block;height:100%}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{background:#27272a8c;background:var(--sw-surface-2);border-radius:10px;padding:10px 12px}.faq-item summary{color:#f1f5f9;color:var(--sw-text);cursor:pointer;font-weight:600}.faq-item p{color:#94a3b8;color:var(--sw-text-secondary);font-size:.9rem;line-height:1.6;margin:8px 0 0}.onboarding-card{gap:16px}.onboarding-progress{display:flex;gap:6px}.onboarding-progress span{background:#ffffff24;background:var(--sw-border-strong);border-radius:2px;flex:1 1;height:4px}.onboarding-progress span.is-done{background:#6366f1;background:var(--sw-accent)}.onboarding-actions{gap:10px}.choice-group,.onboarding-actions{display:flex;flex-direction:column}.choice-group{border:none;gap:8px;margin:0;padding:0}.choice-options{display:flex;flex-wrap:wrap;gap:8px}.choice{align-items:center;border:1px solid #ffffff24;border:1px solid var(--sw-border-strong);border-radius:999px;color:#f1f5f9;color:var(--sw-text);cursor:pointer;display:inline-flex;font-size:.88rem;gap:6px;padding:8px 12px}.choice input{accent-color:#6366f1;accent-color:var(--sw-accent)}.choice.is-selected{background:#6366f129;background:var(--sw-accent-soft);border-color:#6366f1;border-color:var(--sw-accent)}.choice:focus-within{outline:2px solid #6366f1;outline:2px solid var(--sw-accent);outline-offset:2px}.profile-prompt{align-items:center;border:1px dashed #ffffff24;border:1px dashed var(--sw-border-strong);border-radius:12px;color:#f1f5f9;color:var(--sw-text);display:flex;flex-wrap:wrap;font-size:.9rem;gap:8px 16px;justify-content:space-between;margin:12px 0;padding:10px 14px}.profile-prompt-actions{display:flex;gap:12px}.legal-page{display:flex;justify-content:center;padding:24px 16px 48px}.legal-card{background:#18181b99;background:var(--sw-surface);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:18px;color:#f1f5f9;color:var(--sw-text);line-height:1.7;padding:28px;text-align:right;width:min(760px,100%)}.legal-card h1{font-size:1.6rem;margin:8px 0 4px}.legal-card h2{font-size:1.1rem;margin:22px 0 6px}.legal-card a{color:#6366f1;color:var(--sw-accent)}.legal-updated{color:#94a3b8;color:var(--sw-text-secondary);font-size:.85rem;margin:0 0 12px}.legal-nav{align-items:center;border-top:1px solid #ffffff14;border-top:1px solid var(--sw-border);display:flex;justify-content:space-between;margin-top:28px;padding-top:16px}@media (prefers-reduced-motion:reduce){.social-button,.switch,.switch-thumb{transition:none}}.auth-field>.auth-label{display:block}.admin-audit-list,.admin-flag-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.admin-flag{background:#27272a8c;background:var(--sw-surface-2);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:12px;border-radius:var(--sw-radius-sm);display:flex;flex-direction:column;gap:8px;padding:14px}.admin-flag-head{align-items:center;display:flex;gap:8px}.admin-flag-key{color:#f1f5f9;color:var(--sw-text);font-family:JetBrains Mono,monospace;font-size:.92rem;font-weight:500}.admin-flag-tag{background:#1b1b1f;background:var(--sw-surface-3);border-radius:999px;border-radius:var(--sw-radius-pill);color:#64748b;color:var(--sw-text-muted);font-size:.72rem;font-weight:600;padding:2px 8px}.admin-flag-desc{color:#94a3b8;color:var(--sw-text-secondary);font-size:.88rem;margin:0}.admin-flag-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.admin-state-switch{background:#1b1b1f;background:var(--sw-surface-3);border:1px solid #ffffff14;border:1px solid var(--sw-border);border-radius:999px;border-radius:var(--sw-radius-pill);display:inline-flex;gap:3px;padding:3px}.admin-state-option{background:none;border:none;border-radius:999px;border-radius:var(--sw-radius-pill);color:#94a3b8;color:var(--sw-text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;min-height:38px;padding:0 14px;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--sw-transition),color var(--sw-transition)}.admin-state-option:hover:not(:disabled){color:#f1f5f9;color:var(--sw-text)}.admin-state-option:disabled{cursor:progress}.admin-state-option.active.is-off{background:#ef444429;background:var(--sw-red-soft);color:#ef4444;color:var(--sw-red)}.admin-state-option.active.is-admin{background:#6366f129;background:var(--sw-accent-soft);color:#6366f1;color:var(--sw-accent)}.admin-state-option.active.is-all{background:linear-gradient(135deg,#6366f1,#3b82f6);background:linear-gradient(135deg,var(--sw-accent),var(--sw-accent-2));color:#fff}.admin-flag-delete{background:none;border:1px solid #ef444452;border:1px solid var(--sw-red-border);border-radius:12px;border-radius:var(--sw-radius-sm);color:#ef4444;color:var(--sw-red);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;min-height:38px;padding:0 12px}.admin-flag-meta{color:#64748b;color:var(--sw-text-muted);font-size:.78rem;margin:0;overflow-wrap:anywhere}.admin-new-flag{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:minmax(140px,1fr) minmax(200px,2fr) minmax(130px,1fr) auto}.admin-field{color:#94a3b8;color:var(--sw-text-secondary);display:flex;flex-direction:column;font-size:.8rem;gap:4px}.admin-submit{min-height:44px}.admin-error{color:#ef4444;color:var(--sw-red);font-size:.88rem;grid-column:1/-1;margin:8px 0}.admin-audit-entry{grid-gap:4px 12px;align-items:baseline;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sw-border);display:grid;font-size:.85rem;gap:4px 12px;grid-template-columns:auto 1fr auto;padding:8px 0}.admin-audit-when{color:#64748b;color:var(--sw-text-muted);font-size:.78rem;white-space:nowrap}.admin-audit-what{color:#f1f5f9;color:var(--sw-text)}.admin-audit-what code{font-family:JetBrains Mono,monospace;font-size:.82rem}.admin-audit-change{color:#94a3b8;color:var(--sw-text-secondary)}.admin-audit-who{color:#64748b;color:var(--sw-text-muted);font-size:.78rem;overflow-wrap:anywhere}@media (max-width:720px){.admin-audit-entry,.admin-new-flag{grid-template-columns:1fr}.admin-state-option{padding:0 10px}}
/*# sourceMappingURL=main.efe84e61.css.map*/