:root{--bg:#f7f8fa;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-subtle:#f3f4f6;--bg-badge-up:#e1f5ee;--bg-badge-down:#fcebeb;--bg-accent:#eef4fd;--border:#e8e8e8;--border-subtle:#f0f0f0;--text-primary:#111;--text-secondary:#555;--text-muted:#aaa;--text-accent:#2878d0;--text-up:#1d9e75;--text-down:#e24b4a;--accent:#378add;--accent-hover:#2570c9;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 6px 24px #378add1a;--shadow-card:0 2px 12px #0000000f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}[data-theme=dark]{--bg:#0f1117;--bg-card:#1a1d27;--bg-card-hover:#1f2235;--bg-subtle:#252837;--bg-badge-up:#0d2b20;--bg-badge-down:#2d1212;--bg-accent:#1a2d45;--border:#2a2d3e;--border-subtle:#222535;--text-primary:#e8eaf0;--text-secondary:#9da3b4;--text-muted:#565c74;--text-accent:#5ba4e8;--text-up:#34d49a;--text-down:#f06c6b;--accent:#4a9ade;--accent-hover:#5ba9e8;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 6px 24px #0006;--shadow-card:0 2px 12px #0000004d}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}.positive{color:var(--text-up)}.negative{color:var(--text-down)}.muted{color:var(--text-muted)}.right{text-align:right}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:20px;flex-direction:row;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge--up{background:var(--bg-badge-up);color:var(--text-up)}.badge--down{background:var(--bg-badge-down);color:var(--text-down)}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:0;padding:1rem 0 1.25rem;display:flex}.header-left{align-items:center;gap:20px;display:flex}.logo{color:var(--text-primary);letter-spacing:-.02em;font-size:18px;font-weight:700}.logo-accent{color:var(--accent)}.header-nav{gap:2px;display:flex}.nav-link{color:var(--text-secondary);border-radius:8px;padding:5px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{background:var(--bg-subtle);color:var(--text-primary)}.nav-link--active{color:var(--text-accent);background:var(--bg-accent)}.header-right{align-items:center;gap:10px;display:flex}.header-search-wrap{position:relative}.header-search-box{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;align-items:center;gap:6px;width:230px;padding:0 10px;transition:border-color .15s,box-shadow .15s;display:flex}.header-search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #378add1f}.header-search-icon{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.header-search{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:7px 0;font-size:13px}.header-search::placeholder{color:var(--text-muted)}.header-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 0;font-size:12px;line-height:1;transition:color .15s}.header-search-clear:hover{color:var(--text-primary)}.search-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:200;min-width:320px;animation:.12s dropIn;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.search-result{border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:10px 14px;transition:background .12s;display:flex}.search-result:last-child{border-bottom:none}.search-result:hover{background:var(--bg-card-hover)}.search-result-logo-wrap{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative;overflow:hidden}.search-result-logo{object-fit:contain;width:28px;height:28px}.search-result-logo-fallback{width:32px;height:32px;color:var(--text-accent);background:var(--bg-accent);justify-content:center;align-items:center;font-size:10px;font-weight:800;display:none}.search-result-info{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.search-result-symbol{color:var(--text-primary);font-size:13px;font-weight:700}.search-result-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;overflow:hidden}.search-result-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.search-result-price{color:var(--text-primary);font-size:13px;font-weight:600}.search-result-change{font-size:11px;font-weight:600}.search-result-change--up{color:var(--text-up)}.search-result-change--down{color:var(--text-down)}.search-empty{text-align:center;color:var(--text-muted);padding:1.25rem;font-size:13px}.header-lang{background:var(--bg-subtle);border-radius:8px;gap:2px;padding:3px;display:flex}.lang-btn{color:var(--text-muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;transition:background .15s,color .15s}.lang-btn:hover{color:var(--text-primary)}.lang-btn--active{background:var(--bg-card);color:var(--text-accent);box-shadow:0 1px 3px #00000014}.theme-btn{background:var(--bg-subtle);cursor:pointer;border:none;border-radius:8px;padding:6px 10px;font-size:14px;line-height:1;transition:background .15s}.theme-btn:hover{background:var(--border)}.header-user{align-items:center;gap:8px;display:flex}.header-avatar{background:var(--bg-accent);width:28px;height:28px;color:var(--text-accent);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.header-logout{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.header-logout:hover{background:var(--bg-badge-down);color:var(--text-down);border-color:var(--text-down)}.ticker-tape{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-card);margin-bottom:1.5rem;position:relative;overflow:hidden}.ticker-tape:before,.ticker-tape:after{content:"";z-index:2;pointer-events:none;width:60px;position:absolute;top:0;bottom:0}.ticker-tape:before{background:linear-gradient(90deg, var(--bg-card), transparent);left:0}.ticker-tape:after{background:linear-gradient(-90deg, var(--bg-card), transparent);right:0}.ticker-tape-track{width:max-content;animation:tape-scroll calc(var(--item-count,18) * 5s) linear infinite;display:flex}.ticker-tape-track:hover{animation-play-state:paused}@keyframes tape-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.tape-item{cursor:pointer;white-space:nowrap;color:var(--text-primary);border:none;border-right:1px solid var(--border-subtle);background:0 0;align-items:center;gap:6px;padding:9px 20px;font-size:13px;text-decoration:none;transition:background .12s;display:flex}.tape-item:hover{background:var(--bg-subtle)}.tape-logo{object-fit:contain;background:var(--bg-subtle);border-radius:4px;width:18px;height:18px}.tape-symbol{color:var(--text-primary);font-size:12px;font-weight:700}.tape-price{color:var(--text-secondary);font-size:12px}.tape-change{font-size:12px;font-weight:600}.tape-change--up{color:var(--text-up)}.tape-change--down{color:var(--text-down)}.dashboard-wrap{flex-direction:column;display:flex}.dashboard-header-area{width:100%;max-width:1100px;margin:0 auto;padding:0 1rem}.dashboard{max-width:1100px;margin:0 auto;padding:0 1rem 3rem}.dashboard-state{text-align:center;color:var(--text-muted);padding:3rem;font-size:14px}.dashboard-state--error{color:var(--text-down)}.market-pulse{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:1rem;padding:1.5rem 1.75rem}.pulse-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.pulse-title-group{align-items:center;gap:8px;display:flex}.pulse-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-glow;box-shadow:0 0 0 3px #378add33}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 3px #378add33}50%{box-shadow:0 0 0 6px #378add14}}.pulse-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.pulse-total{color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:20px;padding:3px 10px;font-size:12px}.pulse-stats{grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;display:grid}.pulse-stat{align-items:center;gap:10px;min-width:110px;display:flex}.pulse-stat--up .pulse-stat-icon{color:var(--text-up)}.pulse-stat--down .pulse-stat-icon{color:var(--text-down)}.pulse-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.pulse-stat--up .pulse-stat-icon{background:var(--bg-badge-up)}.pulse-stat--down .pulse-stat-icon{background:var(--bg-badge-down)}.pulse-stat-icon svg{width:18px;height:18px}.pulse-stat-body{flex-direction:column;display:flex}.pulse-stat-value{letter-spacing:-.03em;color:var(--text-primary);font-size:22px;font-weight:700;line-height:1}.pulse-stat-label{color:var(--text-muted);margin-top:2px;font-size:11px}.pulse-stat-pct{color:var(--text-muted);margin-left:4px;font-size:12px;font-weight:600}.pulse-breadth{flex:1}.breadth-bar{background:var(--bg-subtle);border-radius:999px;gap:2px;height:10px;margin-bottom:8px;display:flex;overflow:hidden}.breadth-up{background:var(--text-up);border-radius:999px 0 0 999px;transition:width .6s}.breadth-neutral{background:var(--text-muted);opacity:.3;transition:width .6s}.breadth-down{background:var(--text-down);border-radius:0 999px 999px 0;margin-left:auto;transition:width .6s}.breadth-legend{color:var(--text-muted);justify-content:space-between;font-size:11px;display:flex}.breadth-legend-item{align-items:center;gap:4px;display:flex}.breadth-legend-item--up{color:var(--text-up)}.breadth-legend-item--down{color:var(--text-down)}.breadth-dot{border-radius:50%;width:6px;height:6px}.breadth-dot--up{background:var(--text-up)}.breadth-dot--neutral{background:var(--text-muted);opacity:.4}.breadth-dot--down{background:var(--text-down)}.dashboard-grid{grid-template-columns:240px 1fr 240px;gap:1rem;margin-bottom:1rem;display:grid}.movers-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.movers-card-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:.875rem 1.25rem;font-size:13px;font-weight:700;display:flex}.movers-card-header--up{color:var(--text-up)}.movers-card-header--down{color:var(--text-down)}.movers-icon{width:16px;height:16px}.movers-list{flex-direction:column;display:flex}.mover-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:.625rem 1.25rem;transition:background .12s;display:flex}.mover-row:last-child{border-bottom:none}.mover-row:hover{background:var(--bg-card-hover)}.mover-rank{color:var(--text-muted);flex-shrink:0;width:20px;font-size:11px;font-weight:700}.mover-logo{object-fit:contain;background:var(--bg-subtle);border-radius:6px;flex-shrink:0;width:24px;height:24px}.mover-info{flex-direction:column;flex:1;min-width:0;display:flex}.mover-symbol{color:var(--text-primary);font-size:13px;font-weight:700}.mover-price{color:var(--text-muted);font-size:11px}.mover-badge{white-space:nowrap;border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:12px;font-weight:600}.mover-badge--up{background:var(--bg-badge-up);color:var(--text-up)}.mover-badge--down{background:var(--bg-badge-down);color:var(--text-down)}.dist-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:.75rem;padding:1.25rem 1.25rem .75rem;display:flex}.dist-title{color:var(--text-primary);font-size:13px;font-weight:700}.dist-sub{color:var(--text-muted);margin-top:2px;font-size:11px}@media (width<=800px){.pulse-stats{grid-template-columns:1fr;gap:1rem}.dashboard-grid{grid-template-columns:1fr}}.allocation-chart{flex-direction:column;gap:10px;min-width:220px;display:flex}.allocation-mode-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.allocation-mode-btn{color:var(--text-muted);background:var(--bg-subtle);cursor:pointer;letter-spacing:.02em;border:none;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .15s,color .15s}.allocation-mode-btn:hover{color:var(--text-primary)}.allocation-mode-btn--active{background:var(--bg-accent);color:var(--text-accent)}.allocation-back-btn{color:var(--text-accent);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-left:2px;padding:3px 8px;font-size:11px;font-weight:600;transition:background .15s}.allocation-back-btn:hover{background:var(--bg-subtle)}.allocation-body{align-items:center;gap:10px;display:flex}.allocation-legend{flex-direction:column;gap:5px;min-width:80px;display:flex}.allocation-legend-item{align-items:center;gap:6px;display:flex}.allocation-legend-item--clickable{cursor:pointer;border-radius:4px;margin:-1px -3px;padding:1px 3px;transition:background .12s}.allocation-legend-item--clickable:hover{background:var(--bg-subtle)}.allocation-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.allocation-ticker{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:68px;font-size:11px;font-weight:600;overflow:hidden}.allocation-pct{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:500}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.wallet-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;transition:box-shadow .2s,border-color .2s;animation:.4s both fadeInUp;position:relative;overflow:hidden}.wallet-card:before{content:"";background:linear-gradient(90deg, var(--accent), #8b5cf6);opacity:.6;height:3px;position:absolute;top:0;left:0;right:0}.wallet-card:hover{box-shadow:var(--shadow-md);border-color:#378add40}.wallet-card-top{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.wallet-card-name-row{align-items:center;gap:8px;display:flex}.wallet-card-name{color:var(--text-primary);letter-spacing:-.02em;font-size:18px;font-weight:700}.wallet-name-input{color:var(--text-primary);background:var(--bg-subtle);border:1px solid var(--accent);letter-spacing:-.02em;border-radius:8px;outline:none;min-width:180px;padding:2px 10px;font-size:18px;font-weight:700}.wallet-rename-btn{cursor:pointer;color:var(--text-muted);opacity:0;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:opacity .15s;display:flex}.wallet-card-name-row:hover .wallet-rename-btn{opacity:1}.wallet-rename-btn:hover{color:var(--text-accent);background:var(--bg-subtle)}.wallet-rename-btn svg{width:14px;height:14px}.wallet-add-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-accent);cursor:pointer;white-space:nowrap;border-radius:10px;padding:7px 16px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.wallet-add-btn:hover{background:var(--bg-accent);border-color:var(--accent)}.wallet-card-body{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.wallet-stats-grid{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-width:0;display:grid}.wallet-stat{border-right:1px solid var(--border-subtle);flex-direction:column;gap:8px;padding-right:1.75rem;display:flex}.wallet-stat:last-child{border-right:none;padding-right:0}.wallet-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.wallet-stat-value{color:var(--text-primary);letter-spacing:-.03em;font-size:20px;font-weight:700;line-height:1}.wallet-return-badge{letter-spacing:-.01em;border-radius:20px;align-items:center;gap:5px;width:fit-content;padding:5px 12px;font-size:16px;font-weight:700;line-height:1;display:inline-flex}.wallet-return-badge--up{background:var(--bg-badge-up);color:var(--text-up)}.wallet-return-badge--down{background:var(--bg-badge-down);color:var(--text-down)}.wallet-return-arrow{font-size:10px}.wallet-card-chart{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.wallet-chart-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}@keyframes fadeInRow{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes entriesIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.position-row{cursor:pointer;animation:.35s both fadeInRow}.position-row:hover td{background:var(--bg-card-hover)}.position-identity{align-items:center;gap:10px;display:flex}.position-logo-wrap{border:1px solid var(--border);background:var(--bg-subtle);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex;overflow:hidden}.position-logo{object-fit:contain;width:28px;height:28px}.position-logo-fallback{color:var(--text-accent);font-size:12px;font-weight:700}.position-ticker{color:var(--text-primary);font-size:13px;font-weight:600;display:block}.position-entries-count{color:var(--text-muted);margin-top:1px;font-size:11px;display:block}.expand-icon{color:var(--text-muted);font-size:10px}.entries-cell{border-bottom:1px solid var(--border)!important;padding:0!important}.entries-container{background:var(--bg-subtle);border-top:1px solid var(--border);animation:.2s both entriesIn}.entries-table{border-collapse:collapse;width:100%}.entries-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);background:0 0;padding:6px 1.25rem;font-size:10px;font-weight:700}.entries-table td{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);padding:8px 1.25rem;font-size:12px}.entry-row:last-child td{border-bottom:none}.entry-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.entry-btn{cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:opacity .15s}.entry-btn:disabled{opacity:.4;cursor:not-allowed}.entry-btn--edit{background:var(--bg-accent);color:var(--text-accent)}.entry-btn--edit:hover{opacity:.8}.entry-btn--delete{background:var(--bg-badge-down);color:var(--text-down)}.entry-btn--delete:hover:not(:disabled){opacity:.8}.entries-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;padding:10px 1.25rem;display:flex}.entry-btn--delete-all{color:var(--text-down);border:1px solid var(--text-down);cursor:pointer;background:0 0;border-radius:6px;padding:5px 14px;font-size:11px;font-weight:600;transition:background .15s}.entry-btn--delete-all:hover:not(:disabled){background:var(--bg-badge-down)}.entry-btn--delete-all:disabled{opacity:.4;cursor:not-allowed}.asset-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s;overflow:hidden}.asset-card:hover{box-shadow:var(--shadow-card)}.asset-card-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:1rem;width:100%;padding:.9rem 1.25rem;transition:background .12s;display:flex}.asset-card-header:hover{background:var(--bg-card-hover)}.asset-card-left{flex-shrink:0;align-items:center;gap:12px;min-width:160px;display:flex}.asset-card-label{color:var(--text-primary);letter-spacing:-.01em;font-size:14px;font-weight:700}.asset-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.asset-icon svg{width:17px;height:17px}.asset-icon--stock{color:#2878d0;background:#eef4fd}.asset-icon--unit{color:#0369a1;background:#e8f5ff}.asset-icon--fii{color:#16a34a;background:#edf7f0}.asset-icon--etf{color:#b45309;background:#fef3c7}.asset-icon--bdr{color:#7c3aed;background:#ede9fe}.asset-icon--fi_infra{color:#ca8a04;background:#fef9c3}.asset-icon--fi_agro{color:#15803d;background:#dcfce7}.asset-icon--fip{color:#be185d;background:#fce7f3}.asset-icon--fidc{color:#be123c;background:#ffe4e6}.asset-icon--outros,.asset-icon--other{color:#6b7280;background:#f3f4f6}[data-theme=dark] .asset-icon--stock{color:#5ba4e8;background:#1a2d45}[data-theme=dark] .asset-icon--unit{color:#38bdf8;background:#0c2236}[data-theme=dark] .asset-icon--fii{color:#4ade80;background:#0d2b1a}[data-theme=dark] .asset-icon--etf{color:#fbbf24;background:#2b1f0a}[data-theme=dark] .asset-icon--bdr{color:#a78bfa;background:#1e1245}[data-theme=dark] .asset-icon--fi_infra{color:#fde047;background:#2b240a}[data-theme=dark] .asset-icon--fi_agro{color:#86efac;background:#0d2b1a}[data-theme=dark] .asset-icon--fip{color:#f472b6;background:#2b0d1e}[data-theme=dark] .asset-icon--fidc{color:#fb7185;background:#2b0d14}[data-theme=dark] .asset-icon--outros{color:#9ca3af;background:#1f2235}.asset-card-stats{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:2rem;display:flex}.asset-stat{flex-direction:column;align-items:flex-end;min-width:90px;display:flex}.asset-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:10px;font-weight:700}.asset-stat-value{color:var(--text-primary);font-size:13px;font-weight:700}.asset-stat-value--up{color:var(--text-up)}.asset-stat-value--down{color:var(--text-down)}.asset-card-chevron{color:var(--text-muted);flex-shrink:0;margin-left:8px;font-size:16px;transition:transform .2s;display:inline-block}.asset-card-chevron--open{transform:rotate(180deg)}.asset-card-body{border-top:1px solid var(--border-subtle);animation:.2s both cardBodyIn}@keyframes cardBodyIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.asset-card-body table{border-collapse:collapse;table-layout:fixed;width:100%}.asset-card-body th{color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;padding:.55rem 1.25rem;font-size:10px;font-weight:700}.asset-card-body th.right{text-align:right}.asset-card-body td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:.7rem 1.25rem;font-size:13px}.asset-card-body tr:last-child>td{border-bottom:none}.position-table-section{flex-direction:column;gap:.6rem;display:flex}.position-table-section-header{justify-content:space-between;align-items:center;padding:0 .25rem;display:flex}.position-table-section-title{color:var(--text-primary);font-size:14px;font-weight:700}.position-table-section-count{color:var(--text-muted);font-size:12px}.position-groups{flex-direction:column;gap:.6rem;display:flex}.position-table-empty{background:var(--bg-card);border:1px solid var(--border);text-align:center;color:var(--text-muted);border-radius:14px;padding:2.5rem;font-size:13px}.ticker-select{position:relative}.ticker-trigger{background:var(--bg-subtle);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.ticker-trigger--open,.ticker-trigger:focus{border-color:var(--accent);background:var(--bg-card);outline:none;box-shadow:0 0 0 3px #378add26}.ticker-trigger:hover:not(.ticker-trigger--open){border-color:var(--text-muted)}.ticker-selected-item{align-items:center;gap:10px;min-width:0;display:flex}.ticker-placeholder{color:var(--text-muted);font-size:14px}.ticker-arrow{color:var(--text-muted);flex-shrink:0;margin-left:8px;font-size:9px}.ticker-logo-wrap{border:1px solid var(--border);background:var(--bg-subtle);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;overflow:hidden}.ticker-logo{object-fit:contain;width:26px;height:26px}.ticker-logo-fallback{color:var(--text-accent);font-size:11px;font-weight:700}.ticker-info{flex-direction:column;min-width:0;display:flex}.ticker-symbol{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.2}.ticker-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:11px;overflow:hidden}.ticker-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:200;border-radius:12px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 12px 40px #0003}.ticker-search-wrap{border-bottom:1px solid var(--border-subtle);padding:10px 10px 6px}.ticker-search{border:1px solid var(--border);background:var(--bg-subtle);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s,background .15s}.ticker-search:focus{border-color:var(--accent);background:var(--bg-card)}.ticker-search::placeholder{color:var(--text-muted)}.ticker-list{max-height:260px;margin:0;padding:6px 0;list-style:none;overflow-y:auto}.ticker-option{cursor:pointer;align-items:center;gap:10px;padding:8px 12px;transition:background .1s;display:flex}.ticker-option:hover{background:var(--bg-subtle)}.ticker-option--selected{background:var(--bg-accent)}.ticker-check{color:var(--text-accent);margin-left:auto;font-size:13px;font-weight:700}.ticker-empty{color:var(--text-muted);text-align:center;padding:16px 12px;font-size:13px}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.modal-title{color:var(--text-primary);letter-spacing:-.01em;font-size:18px;font-weight:700}.modal-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:16px;line-height:1;transition:background .15s,color .15s}.modal-close:hover{background:var(--bg-subtle);color:var(--text-primary)}.modal-form{flex-direction:column;gap:1rem;display:flex}.modal-row{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.modal-field{flex-direction:column;gap:6px;display:flex}.modal-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:700}.modal-input{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-primary);border-radius:10px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}.modal-input:focus{border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 3px #378add26}.modal-total{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:12px;justify-content:space-between;align-items:center;margin-top:4px;padding:14px 16px;display:flex}.modal-total-label{color:var(--text-secondary);font-size:12px;font-weight:600}.modal-total-value{color:var(--text-primary);letter-spacing:-.03em;font-size:20px;font-weight:700}.modal-error{color:var(--text-down);background:var(--bg-badge-down);border-radius:8px;padding:10px 12px;font-size:13px}.modal-actions{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.modal-btn-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:10px 4px;font-size:14px;font-weight:500;transition:color .15s}.modal-btn-cancel:hover{color:var(--text-primary)}.modal-btn-submit{background:var(--text-primary);color:var(--bg-card);cursor:pointer;border:none;border-radius:10px;padding:11px 22px;font-size:14px;font-weight:600;transition:background .15s,transform .1s}.modal-btn-submit:hover:not(:disabled){background:var(--accent)}.modal-btn-submit:active:not(:disabled){transform:scale(.98)}.modal-btn-submit:disabled{opacity:.45;cursor:not-allowed}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.wallet-page{max-width:1000px;margin:0 auto;padding:0 1rem 3rem}.wallet-nav-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.wallet-tabs{flex-wrap:wrap;gap:4px;display:flex}.wallet-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:20px;padding:7px 16px;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.wallet-tab:hover{background:var(--bg-subtle);color:var(--text-primary)}.wallet-tab--active{background:var(--bg-accent);color:var(--text-accent);border-color:#378add4d;font-weight:600}.wallet-new-btn{background:var(--text-primary);color:var(--bg-card);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;flex-shrink:0;padding:9px 18px;font-size:13px;font-weight:600;transition:background .15s,transform .1s}.wallet-new-btn:hover{background:var(--accent)}.wallet-new-btn:active{transform:scale(.97)}.wallet-section{flex-direction:column;gap:.75rem;display:flex}.wallet-section-header{justify-content:flex-end;display:flex}.wallet-delete-btn{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.wallet-delete-btn:hover{background:var(--bg-badge-down);color:var(--text-down);border-color:var(--text-down)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000073;justify-content:center;align-items:center;animation:.15s backdropIn;display:flex;position:fixed;inset:0}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:1.75rem;animation:.2s modalIn;box-shadow:0 20px 60px #0003}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal--confirm{max-width:380px}.modal-title{color:var(--text-primary);margin-bottom:.5rem;font-size:16px;font-weight:700}.confirm-text{color:var(--text-secondary);margin:.75rem 0 1.5rem;font-size:14px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal-btn-cancel{background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .15s}.modal-btn-cancel:hover{background:var(--border)}.modal-btn-danger{background:var(--text-down);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:opacity .15s}.modal-btn-danger:hover{opacity:.85}.wallet-state{text-align:center;color:var(--text-muted);padding:4rem;font-size:14px}.wallet-state--error{color:var(--text-down)}.wallet-empty{flex-direction:column;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.wallet-empty-text{color:var(--text-muted);margin:0;font-size:15px}.wallet-empty-btn{border:2px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:12px;padding:12px 28px;font-size:14px;font-weight:600;transition:border-color .15s,color .15s}.wallet-empty-btn:hover{border-color:var(--accent);color:var(--accent)}.wallet-skeleton{flex-direction:column;gap:.75rem;display:flex}.skeleton-tabs,.skeleton-card,.skeleton-table{background:var(--bg-subtle);border-radius:14px;animation:1.4s ease-in-out infinite pulse}.skeleton-tabs{width:260px;height:38px}.skeleton-card{height:150px}.skeleton-table{height:220px;animation-delay:.15s}@keyframes authIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-page{background:linear-gradient(135deg,#f0f4ff 0%,#fafafa 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background:#fff;border-radius:20px;width:100%;max-width:400px;padding:2.5rem 2.25rem;animation:.35s both authIn;box-shadow:0 24px 64px #0000001a}.auth-logo{color:#378add;letter-spacing:-.03em;margin-bottom:1.5rem;font-size:22px;font-weight:800}.auth-title{color:#111;letter-spacing:-.02em;margin:0 0 4px;font-size:26px;font-weight:700}.auth-subtitle{color:#888;margin:0 0 1.75rem;font-size:14px}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{color:#888;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.auth-input{color:#111;background:#fafafa;border:1px solid #e0e0e0;border-radius:10px;outline:none;padding:12px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-input:focus{background:#fff;border-color:#378add;box-shadow:0 0 0 3px #378add1f}.auth-error{color:#e24b4a;background:#fcebeb;border-radius:8px;padding:10px 12px;font-size:13px}.auth-btn{color:#fff;cursor:pointer;background:#111;border:none;border-radius:12px;margin-top:4px;padding:14px;font-size:15px;font-weight:600;transition:background .15s,transform .1s}.auth-btn:hover:not(:disabled){background:#378add}.auth-btn:active:not(:disabled){transform:scale(.98)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-link-text{text-align:center;color:#888;margin-top:1.25rem;margin-bottom:0;font-size:13px}.auth-link{color:#378add;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.ta-page{max-width:1100px;margin:0 auto;padding:0 1rem 3rem}.ta-state{text-align:center;color:var(--text-muted);padding:4rem;font-size:14px}.ta-state--error{color:var(--text-down)}.ta-breadcrumb{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:1.25rem;padding-top:.25rem;font-size:12px;display:flex}.ta-breadcrumb-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:500;transition:opacity .15s}.ta-breadcrumb-btn:hover{opacity:.75}.ta-sep{color:var(--border)}.ta-breadcrumb-part{color:var(--text-muted)}.ta-breadcrumb-active{color:var(--text-secondary);font-weight:700}.ta-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1rem;padding:1.75rem 2rem;display:flex;position:relative;overflow:hidden}.ta-hero:before{content:"";background:linear-gradient(90deg, var(--accent) 0%, transparent 100%);height:3px;position:absolute;top:0;left:0;right:0}.ta-hero-left{align-items:center;gap:1.25rem;display:flex}.ta-logo-wrap{border:1px solid var(--border);background:var(--bg-subtle);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.ta-logo{object-fit:contain;width:60px;height:60px}.ta-hero-top{align-items:center;gap:10px;margin-bottom:4px;display:flex}.ta-symbol{letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:28px;font-weight:800}.ta-type-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-accent);color:var(--text-accent);border:1px solid #378add40;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.ta-long-name{color:var(--text-secondary);margin-bottom:4px;font-size:14px}.ta-sector{color:var(--text-muted);font-size:12px}.ta-hero-right{text-align:right;flex-shrink:0}.ta-price{letter-spacing:-.04em;color:var(--text-primary);margin-bottom:6px;font-size:32px;font-weight:800;line-height:1}.ta-day-change{justify-content:flex-end;align-items:center;gap:4px;font-size:15px;font-weight:700;display:flex}.ta-day-change--up{color:var(--text-up)}.ta-day-change--down{color:var(--text-down)}.ta-day-label{color:var(--text-muted);font-size:11px;font-weight:500}.ta-52w{color:var(--text-muted);margin-top:4px;font-size:12px}.ta-metrics-bar{grid-template-columns:repeat(8,1fr);gap:8px;margin-bottom:1rem;display:grid}.ta-metric{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:.875rem 1rem;transition:box-shadow .15s,border-color .15s}.ta-metric:hover{box-shadow:var(--shadow-md);border-color:#378add33}.ta-metric-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:700}.ta-metric-value{letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap;font-size:17px;font-weight:700}.ta-metric-value--up{color:var(--text-up)}.ta-metric-value--down{color:var(--text-down)}.ta-metric-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.ta-chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:1rem;overflow:hidden}.ta-chart-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.ta-chart-title{color:var(--text-primary);font-size:14px;font-weight:700}.ta-chart-change{margin-top:2px;font-size:12px;font-weight:600}.ta-chart-change--up{color:var(--text-up)}.ta-chart-change--down{color:var(--text-down)}.ta-range-btns{flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}.ta-range-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .12s}.ta-range-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.ta-range-btn--active{background:var(--bg-accent);color:var(--text-accent);border-color:#378add59}.ta-chart-body{padding:1rem 1rem .5rem}.ta-chart-loading,.ta-chart-empty{height:280px;color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.ta-info-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.ta-section-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem;overflow:hidden}.ta-section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem 1.25rem .5rem 0;display:flex}.ta-section-header .ta-range-btns{padding:0}.ta-section-title{color:var(--text-primary);border-bottom:1px solid var(--border);padding:1rem 1.25rem;font-size:13px;font-weight:700}.ta-section-header .ta-section-title{border-bottom:none;padding:.5rem 1.25rem}.ta-info-rows{flex-direction:column;display:flex}.ta-info-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.6rem 1.25rem;font-size:13px;display:flex}.ta-info-row:last-child{border-bottom:none}.ta-info-row span{color:var(--text-muted)}.ta-info-row strong{color:var(--text-primary)}.ta-info-row .up{color:var(--text-up)}.ta-info-row .down{color:var(--text-down)}.ta-div-avg-label{color:var(--text-muted);align-items:center;gap:6px;padding:.5rem 1.25rem 0;font-size:11px;display:flex}.ta-div-avg-line{background:repeating-linear-gradient(to right, var(--text-up) 0, var(--text-up) 5px, transparent 5px, transparent 8px);flex-shrink:0;width:24px;height:2px;display:inline-block}.ta-div-avg-label strong{color:var(--text-up)}.ta-dividends-chart{padding:.5rem 1.25rem 0}.ta-dividends-table{margin-top:.5rem;overflow-x:auto}.ta-dividends-table table{border-collapse:collapse;table-layout:auto;width:100%}.ta-dividends-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.5rem 1.25rem;font-size:11px;font-weight:700}.ta-dividends-table td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:.5rem 1.25rem;font-size:12px}.ta-dividends-table tr:last-child td{border-bottom:none}.ta-dividends-table th.right,.ta-dividends-table td.right{text-align:right}.ta-dividends-table td.muted{color:var(--text-muted)}.ta-div-badge{background:var(--bg-accent);color:var(--text-accent);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:20px;padding:2px 7px;font-size:10px;font-weight:700}.ta-div-value{color:var(--text-up);font-weight:700}@media (width<=900px){.ta-metrics-bar{grid-template-columns:repeat(4,1fr)}}@media (width<=700px){.ta-hero{flex-direction:column;align-items:flex-start}.ta-hero-right{text-align:left}.ta-metrics-bar{grid-template-columns:repeat(2,1fr)}.ta-info-grid{grid-template-columns:1fr}.ta-chart-header{flex-direction:column;align-items:flex-start}}
