@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap";.upload-zone[data-v-6622a9c0]{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:48px 32px;text-align:center;cursor:pointer;transition:all var(--transition-normal);background:var(--color-bg-secondary);position:relative;overflow:hidden}.upload-zone[data-v-6622a9c0]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--color-accent-light) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-normal)}.upload-zone[data-v-6622a9c0]:hover:before,.upload-zone.dragging[data-v-6622a9c0]:before{opacity:1}.upload-zone[data-v-6622a9c0]:hover,.upload-zone.dragging[data-v-6622a9c0]{border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.upload-content[data-v-6622a9c0]{position:relative;z-index:1}.upload-icon-wrapper[data-v-6622a9c0]{display:flex;justify-content:center;margin-bottom:20px}.upload-icon[data-v-6622a9c0]{color:var(--color-text-tertiary);transition:all var(--transition-normal)}.upload-zone:hover .upload-icon[data-v-6622a9c0],.upload-zone.dragging .upload-icon[data-v-6622a9c0]{color:var(--color-accent-primary);transform:scale(1.1)}.upload-label[data-v-6622a9c0]{margin:0 0 8px;font-size:.9375rem;font-weight:400;color:var(--color-text-primary)}.upload-hint[data-v-6622a9c0]{margin:0;font-size:.8125rem;color:var(--color-text-tertiary)}.template-link[data-v-6622a9c0]{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:10px 20px;font-size:.8125rem;font-weight:400;color:var(--color-accent-primary);text-decoration:none;border:1px solid var(--color-accent-primary);border-radius:var(--radius-sm);transition:all var(--transition-fast);position:relative;z-index:1}.template-link[data-v-6622a9c0]:hover{background:var(--color-accent-primary);color:var(--color-text-inverted)}.chart-container[data-v-dbe8a510]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:all var(--transition-normal)}.chart-container[data-v-dbe8a510]:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}h3[data-v-dbe8a510]{margin:0 0 24px;font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:var(--color-text-primary);text-align:center;letter-spacing:-.01em}.chart-wrapper[data-v-dbe8a510]{height:320px}.chart-container[data-v-81ece330]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:all var(--transition-normal)}.chart-container[data-v-81ece330]:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}h3[data-v-81ece330]{margin:0 0 24px;font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:var(--color-text-primary);text-align:center;letter-spacing:-.01em}.chart-wrapper[data-v-81ece330]{height:320px}.sidebar[data-v-c908a1a2]{width:240px;min-height:100vh;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100}.sidebar-header[data-v-c908a1a2]{padding:28px 24px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--color-border)}.logo-mark[data-v-c908a1a2]{color:var(--color-accent-primary);display:flex;align-items:center;justify-content:center}.sidebar-header h2[data-v-c908a1a2]{margin:0;font-family:var(--font-display);font-size:1.375rem;font-weight:500;color:var(--color-text-primary);letter-spacing:-.02em}.sidebar-nav[data-v-c908a1a2]{padding:20px 12px;display:flex;flex-direction:column;gap:4px;flex:1}.nav-item[data-v-c908a1a2]{display:flex;align-items:center;gap:14px;padding:14px 16px;border:none;background:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-size:.875rem;font-weight:400;color:var(--color-text-secondary);text-align:left;transition:all var(--transition-fast);width:100%;position:relative;overflow:hidden}.nav-item[data-v-c908a1a2]:before{content:"";position:absolute;inset:0;background:var(--color-accent-primary);opacity:0;transition:opacity var(--transition-fast)}.nav-item[data-v-c908a1a2]:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.nav-item.active[data-v-c908a1a2]{color:var(--color-accent-primary);background:var(--color-accent-light)}.nav-item.active[data-v-c908a1a2]:before{opacity:0}.nav-icon[data-v-c908a1a2]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;position:relative;z-index:1}.nav-icon svg[data-v-c908a1a2]{transition:transform var(--transition-fast)}.nav-item:hover .nav-icon svg[data-v-c908a1a2]{transform:scale(1.05)}.nav-label[data-v-c908a1a2]{flex:1;position:relative;z-index:1}.nav-indicator[data-v-c908a1a2]{width:6px;height:6px;border-radius:50%;background:var(--color-accent-primary);opacity:0;transform:scale(0);transition:all var(--transition-fast)}.nav-item.active .nav-indicator[data-v-c908a1a2]{opacity:1;transform:scale(1)}.sidebar-footer[data-v-c908a1a2]{padding:20px 24px;border-top:1px solid var(--color-border)}.footer-decoration[data-v-c908a1a2]{height:4px;background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-secondary),var(--color-accent-primary));border-radius:2px;opacity:.3}.user-section[data-v-c908a1a2]{display:flex;align-items:center;justify-content:space-between}.user-info[data-v-c908a1a2]{display:flex;align-items:center;gap:10px;min-width:0}.user-avatar[data-v-c908a1a2]{width:32px;height:32px;border-radius:50%;background:var(--color-accent-light);color:var(--color-accent-primary);display:flex;align-items:center;justify-content:center;font-weight:500;font-size:.875rem;flex-shrink:0;border:1px solid var(--color-border)}.user-name[data-v-c908a1a2]{font-size:.875rem;font-weight:400;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn[data-v-c908a1a2]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.logout-btn[data-v-c908a1a2]:hover{border-color:var(--color-negative);color:var(--color-negative);background:var(--color-negative-bg)}.sidebar.dark[data-v-c908a1a2]{background:var(--color-bg-secondary);border-right-color:var(--color-border)}.sidebar.dark .sidebar-header[data-v-c908a1a2]{border-bottom-color:var(--color-border)}.sidebar.dark .sidebar-header h2[data-v-c908a1a2]{color:var(--color-text-primary)}.sidebar.dark .nav-item[data-v-c908a1a2]{color:var(--color-text-secondary)}.sidebar.dark .nav-item[data-v-c908a1a2]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.sidebar.dark .nav-item.active[data-v-c908a1a2]{background:var(--color-accent-light);color:var(--color-accent-primary)}.sidebar.dark .sidebar-footer[data-v-c908a1a2]{border-top-color:var(--color-border)}.portfolio-view[data-v-c853fdbd]{padding:0}.portfolio-header[data-v-c853fdbd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.portfolio-view h2[data-v-c853fdbd]{font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--color-text-primary);margin:0;letter-spacing:-.02em}.header-right[data-v-c853fdbd],.price-controls[data-v-c853fdbd]{display:flex;align-items:center;gap:16px}.quota-info[data-v-c853fdbd]{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--color-text-secondary);padding:6px 12px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-weight:400}.quota-info.quota-low[data-v-c853fdbd]{color:var(--color-negative);background:var(--color-negative-bg)}.refresh-btn[data-v-c853fdbd],.add-btn[data-v-c853fdbd]{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--color-accent-primary);color:var(--color-text-inverted);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.refresh-btn[data-v-c853fdbd]:hover:not(:disabled),.add-btn[data-v-c853fdbd]:hover{opacity:.9;transform:translateY(-1px)}.refresh-btn[data-v-c853fdbd]:disabled{opacity:.5;cursor:not-allowed}.loading-spinner[data-v-c853fdbd]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-c853fdbd .8s linear infinite}.loading-spinner.small[data-v-c853fdbd]{width:12px;height:12px;border-color:var(--color-border);border-top-color:var(--color-accent-primary)}@keyframes spin-c853fdbd{to{transform:rotate(360deg)}}.table-wrapper[data-v-c853fdbd]{overflow-x:auto;background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}table[data-v-c853fdbd]{width:100%;border-collapse:collapse;font-size:.875rem}th[data-v-c853fdbd],td[data-v-c853fdbd]{padding:16px 20px;text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}th[data-v-c853fdbd]{background:var(--color-bg-tertiary);font-weight:500;color:var(--color-text-primary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}th.sortable[data-v-c853fdbd]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast)}th.sortable[data-v-c853fdbd]:hover{color:var(--color-accent-primary);background:var(--color-accent-light)}.text-right[data-v-c853fdbd]{text-align:right}.data-row[data-v-c853fdbd]{transition:background var(--transition-fast)}.data-row[data-v-c853fdbd]:hover{background:var(--color-bg-tertiary)}.asset-name[data-v-c853fdbd]{font-weight:500;color:var(--color-text-primary)}.source-badge[data-v-c853fdbd]{display:inline-block;font-size:.625rem;font-weight:500;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-positive);color:#fff;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}.value[data-v-c853fdbd]{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.currency[data-v-c853fdbd]{font-size:.8em;color:var(--color-text-tertiary);font-weight:400}.allocation[data-v-c853fdbd]{font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.positive[data-v-c853fdbd]{color:var(--color-positive)}.negative[data-v-c853fdbd]{color:var(--color-negative)}.category-badge[data-v-c853fdbd],.subcategory-badge[data-v-c853fdbd]{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.category-badge[data-v-c853fdbd]{background:var(--color-accent-light);color:var(--color-accent-primary)}.subcategory-badge[data-v-c853fdbd]{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.price-cell[data-v-c853fdbd]{white-space:nowrap}.price-value[data-v-c853fdbd]{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.price-change[data-v-c853fdbd]{font-size:.6875rem;margin-left:6px;font-weight:400}.cache-age[data-v-c853fdbd]{display:block;font-size:.625rem;color:var(--color-text-tertiary);margin-top:2px}.price-fresh .cache-age[data-v-c853fdbd]{color:var(--color-positive)}.price-stale .cache-age[data-v-c853fdbd]{color:var(--color-warning)}.price-old .cache-age[data-v-c853fdbd],.price-error .cache-age[data-v-c853fdbd]{color:var(--color-negative)}.no-price[data-v-c853fdbd]{color:var(--color-text-tertiary)}.isin[data-v-c853fdbd]{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-tertiary);letter-spacing:.02em}.actions-col[data-v-c853fdbd]{width:100px;text-align:center}.actions-cell[data-v-c853fdbd]{white-space:nowrap;text-align:center}.icon-btn[data-v-c853fdbd]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.icon-btn[data-v-c853fdbd]:hover{background:var(--color-bg-tertiary)}.icon-btn.edit[data-v-c853fdbd]:hover{color:var(--color-accent-primary)}.icon-btn.delete[data-v-c853fdbd]:hover{color:var(--color-negative)}.icon-btn.save[data-v-c853fdbd]:hover{color:var(--color-positive)}.icon-btn.cancel[data-v-c853fdbd]:hover{color:var(--color-negative)}.edit-inline[data-v-c853fdbd]{display:flex;align-items:center;gap:8px}.edit-fields[data-v-c853fdbd]{display:flex;align-items:center;gap:4px;font-size:.75rem}.edit-fields label[data-v-c853fdbd]{color:var(--color-text-tertiary);font-weight:400}.edit-fields input[data-v-c853fdbd]{width:70px;padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-tertiary);color:var(--color-text-primary);font-family:var(--font-body);font-size:.75rem;text-align:right}.edit-fields input[data-v-c853fdbd]:focus{outline:none;border-color:var(--color-accent-primary)}.edit-fields input[type=number][data-v-c853fdbd]::-webkit-inner-spin-button,.edit-fields input[type=number][data-v-c853fdbd]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.edit-fields input[type=number][data-v-c853fdbd]{-moz-appearance:textfield}.edit-actions[data-v-c853fdbd]{display:flex;gap:2px}.edit-computed[data-v-c853fdbd]{font-style:italic;color:var(--color-text-tertiary)}.total-row[data-v-c853fdbd]{background:var(--color-bg-tertiary)}.total-row td[data-v-c853fdbd]{border-bottom:none;font-size:.9375rem}.performance-chart[data-v-923f72a4]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.chart-header[data-v-923f72a4]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;flex-wrap:wrap;gap:20px}.header-content[data-v-923f72a4]{display:flex;flex-direction:column;gap:4px}.chart-header h2[data-v-923f72a4]{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--color-text-primary);letter-spacing:-.02em}.header-subtitle[data-v-923f72a4]{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.filter-tabs[data-v-923f72a4]{display:flex;gap:8px;background:var(--color-bg-tertiary);padding:4px;border-radius:var(--radius-md)}.filter-tabs button[data-v-923f72a4]{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:.8125rem;font-weight:400;color:var(--color-text-secondary);transition:all var(--transition-fast)}.filter-tabs button[data-v-923f72a4]:hover{color:var(--color-text-primary)}.filter-tabs button.active[data-v-923f72a4]{background:var(--color-bg-secondary);color:var(--color-accent-primary);box-shadow:var(--shadow-sm)}.chart-body[data-v-923f72a4]{display:flex;flex-direction:column;gap:12px}.asset-row[data-v-923f72a4]{display:flex;align-items:center;gap:16px;animation:slideIn-923f72a4 .3s ease forwards;opacity:0}@keyframes slideIn-923f72a4{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.asset-info[data-v-923f72a4]{display:flex;align-items:center;min-width:100px;width:100px}.asset-name[data-v-923f72a4]{font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-tertiary);padding:6px 12px;border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bar-container[data-v-923f72a4]{flex:1;height:28px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);overflow:hidden;position:relative}.bar[data-v-923f72a4]{height:100%;border-radius:var(--radius-sm);transition:width .4s cubic-bezier(.4,0,.2,1)}.bar.positive[data-v-923f72a4]{background:linear-gradient(90deg,var(--color-positive),#34d399)}.bar.negative[data-v-923f72a4]{background:linear-gradient(90deg,var(--color-negative),#f87171)}.performance-value[data-v-923f72a4]{min-width:85px;text-align:right;font-family:var(--font-body);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}.performance-value.positive[data-v-923f72a4]{color:var(--color-positive)}.performance-value.negative[data-v-923f72a4]{color:var(--color-negative)}.chart-scale[data-v-923f72a4]{display:flex;justify-content:space-between;margin-top:20px;padding-left:116px;padding-right:85px;font-size:.6875rem;color:var(--color-text-tertiary);font-weight:400}.empty-state[data-v-923f72a4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-tertiary);gap:16px}.empty-state p[data-v-923f72a4]{margin:0;font-size:.875rem}.performance-view[data-v-cba684cb]{padding:0}.france-view[data-v-b6858b36]{max-width:800px;margin:0 auto}.intro-section[data-v-b6858b36]{text-align:center;margin-bottom:48px}.intro-icon[data-v-b6858b36]{display:flex;justify-content:center;margin-bottom:20px;color:var(--color-accent-primary)}.intro-section h2[data-v-b6858b36]{font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--color-text-primary);margin:0 0 12px;letter-spacing:-.02em}.intro-text[data-v-b6858b36]{color:var(--color-text-secondary);font-size:1rem;margin:0;line-height:1.6}.slider-section[data-v-b6858b36]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:28px;margin-bottom:24px;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.section-header[data-v-b6858b36]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-title[data-v-b6858b36]{display:flex;align-items:center;gap:12px;color:var(--color-text-secondary)}.section-header h3[data-v-b6858b36]{margin:0;font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:var(--color-text-primary)}.value-display[data-v-b6858b36]{font-family:var(--font-display);font-size:1.625rem;font-weight:500;color:var(--color-accent-primary);letter-spacing:-.02em}.discrete-slider-container[data-v-b6858b36]{margin-bottom:28px;padding:0 8px}.discrete-slider[data-v-b6858b36]{width:100%;height:8px;border-radius:4px;background:var(--color-bg-tertiary);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.discrete-slider[data-v-b6858b36]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--color-accent-primary);cursor:pointer;box-shadow:0 2px 8px #b8860b4d;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.discrete-slider[data-v-b6858b36]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 12px #b8860b66}.discrete-slider[data-v-b6858b36]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--color-accent-primary);cursor:pointer;border:none;box-shadow:0 2px 8px #b8860b4d}.slider-ticks[data-v-b6858b36]{display:flex;justify-content:space-between;margin-top:12px;padding:0 4px}.tick[data-v-b6858b36]{display:flex;flex-direction:column;align-items:center;width:36px}.tick-label[data-v-b6858b36]{font-size:.6875rem;color:var(--color-text-tertiary);font-weight:400;transition:color var(--transition-fast)}.tick.active .tick-label[data-v-b6858b36]{color:var(--color-accent-primary);font-weight:500}.result-card[data-v-b6858b36]{background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:24px;border-left:4px solid var(--accent-color, var(--color-accent-primary))}.percentile-display[data-v-b6858b36]{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.percentile-value[data-v-b6858b36]{font-family:var(--font-display);font-size:2.625rem;font-weight:500;color:var(--accent-color, var(--color-accent-primary));letter-spacing:-.03em}.percentile-label[data-v-b6858b36]{font-size:1rem;color:var(--color-text-secondary);font-weight:400}.percentile-description[data-v-b6858b36]{color:var(--color-text-secondary);font-size:.9375rem;margin:0 0 12px;line-height:1.6}.percentile-description strong[data-v-b6858b36]{color:var(--color-text-primary)}.salary-info[data-v-b6858b36],.patrimoine-info[data-v-b6858b36]{font-size:.8125rem;color:var(--color-text-tertiary);margin-bottom:20px;font-style:italic}.percentile-bar[data-v-b6858b36]{position:relative;height:10px;background:var(--color-border-strong);border-radius:5px;overflow:visible}.percentile-fill[data-v-b6858b36]{height:100%;border-radius:5px;transition:width .4s cubic-bezier(.4,0,.2,1),background-color .4s}.percentile-marker[data-v-b6858b36]{position:absolute;top:-5px;width:4px;height:20px;background:var(--color-text-primary);border-radius:2px;transform:translate(-50%);transition:left .4s cubic-bezier(.4,0,.2,1)}.source-section[data-v-b6858b36]{text-align:center;margin-top:40px;padding-top:24px;border-top:1px solid var(--color-border)}.source-section p[data-v-b6858b36]{font-size:.75rem;color:var(--color-text-tertiary);margin:0}.source-section a[data-v-b6858b36]{color:var(--color-accent-primary);text-decoration:none;transition:opacity var(--transition-fast)}.source-section a[data-v-b6858b36]:hover{opacity:.8;text-decoration:underline}.other-investments-view[data-v-a09069ee]{max-width:1000px;margin:0 auto}.page-header[data-v-a09069ee]{margin-bottom:40px}.page-header-top[data-v-a09069ee]{display:flex;justify-content:space-between;align-items:flex-start}.page-header h2[data-v-a09069ee]{font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--color-text-primary);margin:0 0 8px;letter-spacing:-.02em}.page-description[data-v-a09069ee]{color:var(--color-text-secondary);font-size:.9375rem;margin:0}.add-btn[data-v-a09069ee]{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--color-accent-primary);color:var(--color-text-inverted);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.add-btn[data-v-a09069ee]:hover{opacity:.9;transform:translateY(-1px)}.add-form[data-v-a09069ee]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px;border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.add-form-fields[data-v-a09069ee]{display:flex;gap:16px;margin-bottom:16px}.form-group[data-v-a09069ee]{display:flex;flex-direction:column;gap:6px;flex:1}.form-group label[data-v-a09069ee]{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);font-weight:500}.form-group input[data-v-a09069ee],.form-group select[data-v-a09069ee]{padding:10px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;color:var(--color-text-primary);transition:border-color var(--transition-fast)}.form-group input[data-v-a09069ee]:focus,.form-group select[data-v-a09069ee]:focus{outline:none;border-color:var(--color-accent-primary)}.add-form-actions[data-v-a09069ee]{display:flex;gap:8px}.btn-primary[data-v-a09069ee]{padding:8px 20px;background:var(--color-accent-primary);color:var(--color-text-inverted);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-a09069ee]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-a09069ee]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-a09069ee]{padding:8px 20px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary[data-v-a09069ee]:hover{border-color:var(--color-text-secondary)}.empty-state[data-v-a09069ee]{text-align:center;padding:60px 20px;color:var(--color-text-secondary);font-size:.9375rem}.table-section[data-v-a09069ee]{margin-bottom:48px}.table-wrapper[data-v-a09069ee]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);overflow:hidden}table[data-v-a09069ee]{width:100%;border-collapse:collapse}th[data-v-a09069ee],td[data-v-a09069ee]{padding:18px 24px;text-align:left;border-bottom:1px solid var(--color-border)}th[data-v-a09069ee]{background:var(--color-bg-tertiary);font-weight:500;color:var(--color-text-primary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}.text-right[data-v-a09069ee]{text-align:right}.data-row[data-v-a09069ee]{transition:background var(--transition-fast)}.data-row[data-v-a09069ee]:hover{background:var(--color-bg-tertiary)}.investment-name[data-v-a09069ee]{font-weight:500;color:var(--color-text-primary)}.value[data-v-a09069ee]{font-weight:600;font-variant-numeric:tabular-nums}td.positive[data-v-a09069ee]{color:var(--color-positive)}td.negative[data-v-a09069ee]{color:var(--color-negative)}.subtotal-row[data-v-a09069ee]{background:var(--color-bg-tertiary)}.subtotal-row td[data-v-a09069ee]{border-bottom:none}.actions-header[data-v-a09069ee]{width:80px}.actions-cell[data-v-a09069ee]{display:flex;gap:4px;justify-content:flex-end}.icon-btn[data-v-a09069ee]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.icon-btn[data-v-a09069ee]:hover{background:var(--color-bg-tertiary)}.icon-btn.edit[data-v-a09069ee]:hover{color:var(--color-accent-primary)}.icon-btn.delete[data-v-a09069ee]:hover{color:var(--color-negative)}.icon-btn.save[data-v-a09069ee]:hover{color:var(--color-positive)}.icon-btn.cancel[data-v-a09069ee]:hover{color:var(--color-negative)}select.edit-input[data-v-a09069ee],.edit-input[data-v-a09069ee]{padding:6px 8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;color:var(--color-text-primary);width:100%}.edit-number[data-v-a09069ee]{width:100px;text-align:right}.edit-input[data-v-a09069ee]:focus{outline:none;border-color:var(--color-accent-primary)}.edit-custom[data-v-a09069ee]{margin-top:4px}.edit-input[type=number][data-v-a09069ee]::-webkit-inner-spin-button,.edit-input[type=number][data-v-a09069ee]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.edit-input[type=number][data-v-a09069ee]{-moz-appearance:textfield}.patrimoine-section[data-v-a09069ee]{margin-top:48px}.patrimoine-section h3[data-v-a09069ee]{font-family:var(--font-display);font-size:1.375rem;font-weight:500;color:var(--color-text-primary);margin:0 0 24px;letter-spacing:-.02em}.patrimoine-grid[data-v-a09069ee]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.patrimoine-card[data-v-a09069ee]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:12px;transition:all var(--transition-normal)}.patrimoine-card[data-v-a09069ee]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-icon[data-v-a09069ee]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-md);color:var(--color-text-secondary)}.card-icon.positive[data-v-a09069ee]{color:var(--color-positive);background:var(--color-positive-bg)}.card-icon.negative[data-v-a09069ee]{color:var(--color-negative);background:var(--color-negative-bg)}.patrimoine-label[data-v-a09069ee]{font-size:.75rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:400}.patrimoine-value[data-v-a09069ee]{font-family:var(--font-display);font-size:1.625rem;font-weight:500;color:var(--color-text-primary);letter-spacing:-.02em}.patrimoine-value.positive[data-v-a09069ee]{color:var(--color-positive)}.patrimoine-value.negative[data-v-a09069ee]{color:var(--color-negative)}.total-card[data-v-a09069ee]{background:linear-gradient(135deg,var(--color-accent-primary) 0%,#d4a72c 100%);border:none}.total-card .card-icon[data-v-a09069ee]{background:#fff3;color:#ffffffe6}.total-card .patrimoine-label[data-v-a09069ee]{color:#fffc}.total-card .patrimoine-value[data-v-a09069ee]{color:#fff}.gain-card[data-v-a09069ee]{background:var(--color-bg-tertiary);border-color:transparent}@media(max-width:600px){.patrimoine-grid[data-v-a09069ee]{grid-template-columns:1fr}.add-form-fields[data-v-a09069ee]{flex-direction:column}.page-header-top[data-v-a09069ee]{flex-direction:column;gap:16px}}.auth-screen[data-v-63a01dfa]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);z-index:1000}.auth-card[data-v-63a01dfa]{width:100%;max-width:400px;padding:48px 40px;background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.auth-header[data-v-63a01dfa]{text-align:center;margin-bottom:36px}.auth-logo[data-v-63a01dfa]{display:inline-flex;color:var(--color-accent-primary);margin-bottom:16px}.auth-header h1[data-v-63a01dfa]{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--color-text-primary);letter-spacing:-.02em}.auth-subtitle[data-v-63a01dfa]{margin:8px 0 0;color:var(--color-text-secondary);font-size:.9375rem}.auth-form[data-v-63a01dfa]{display:flex;flex-direction:column;gap:20px}.field[data-v-63a01dfa]{display:flex;flex-direction:column;gap:6px}.field label[data-v-63a01dfa]{font-size:.8125rem;font-weight:400;color:var(--color-text-secondary);letter-spacing:.02em}.field input[data-v-63a01dfa]{padding:12px 16px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9375rem;color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field input[data-v-63a01dfa]::placeholder{color:var(--color-text-tertiary)}.field input[data-v-63a01dfa]:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #b8860b1f}.field input[data-v-63a01dfa]:disabled{opacity:.6}.auth-error[data-v-63a01dfa]{margin:0;padding:10px 14px;background:var(--color-negative-bg);color:var(--color-negative);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:400}.auth-submit[data-v-63a01dfa]{padding:14px;background:var(--color-accent-primary);color:var(--color-text-inverted);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9375rem;font-weight:500;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;min-height:48px}.auth-submit[data-v-63a01dfa]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.auth-submit[data-v-63a01dfa]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-63a01dfa]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-63a01dfa .7s linear infinite}@keyframes spin-63a01dfa{to{transform:rotate(360deg)}}.auth-footer[data-v-63a01dfa]{margin-top:24px;text-align:center}.auth-toggle[data-v-63a01dfa]{background:none;border:none;color:var(--color-accent-primary);font-family:var(--font-body);font-size:.875rem;font-weight:400;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.auth-toggle[data-v-63a01dfa]:hover{opacity:.8}.yahoo-search[data-v-cf2c9493]{position:relative}.search-input-wrapper[data-v-cf2c9493]{display:flex;align-items:center;gap:10px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 14px;transition:border-color var(--transition-fast)}.search-input-wrapper[data-v-cf2c9493]:focus-within{border-color:var(--color-accent-primary)}.search-icon[data-v-cf2c9493]{color:var(--color-text-tertiary);flex-shrink:0}.search-input-wrapper input[data-v-cf2c9493]{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:.875rem;color:var(--color-text-primary);padding:12px 0;outline:none}.search-input-wrapper input[data-v-cf2c9493]::placeholder{color:var(--color-text-tertiary)}.search-spinner[data-v-cf2c9493]{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin-cf2c9493 .8s linear infinite;flex-shrink:0}@keyframes spin-cf2c9493{to{transform:rotate(360deg)}}.clear-btn[data-v-cf2c9493]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:50%;transition:all var(--transition-fast);flex-shrink:0}.clear-btn[data-v-cf2c9493]:hover{background:var(--color-border);color:var(--color-text-primary)}.dropdown[data-v-cf2c9493]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:100;max-height:300px;overflow-y:auto}.dropdown-item[data-v-cf2c9493]{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:background var(--transition-fast)}.dropdown-item[data-v-cf2c9493]:hover,.dropdown-item.selected[data-v-cf2c9493]{background:var(--color-bg-tertiary)}.item-main[data-v-cf2c9493]{display:flex;align-items:center;gap:10px;min-width:0}.item-ticker[data-v-cf2c9493]{font-weight:500;font-size:.8125rem;color:var(--color-accent-primary);white-space:nowrap}.item-name[data-v-cf2c9493]{font-size:.8125rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta[data-v-cf2c9493]{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}.item-type[data-v-cf2c9493]{font-size:.6875rem;font-weight:400;padding:2px 8px;border-radius:var(--radius-sm);background:var(--color-accent-light);color:var(--color-accent-primary)}.item-exchange[data-v-cf2c9493]{font-size:.6875rem;color:var(--color-text-tertiary)}.modal-overlay[data-v-b46aa79c]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card[data-v-b46aa79c]{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-header[data-v-b46aa79c]{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 0}.modal-header h2[data-v-b46aa79c]{margin:0;font-family:var(--font-display);font-size:1.375rem;font-weight:500;color:var(--color-text-primary);letter-spacing:-.02em}.close-btn[data-v-b46aa79c]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn[data-v-b46aa79c]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.modal-body[data-v-b46aa79c]{padding:24px 28px;display:flex;flex-direction:column;gap:20px}.form-group[data-v-b46aa79c]{display:flex;flex-direction:column;gap:6px;flex:1}.form-group label[data-v-b46aa79c]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.optional[data-v-b46aa79c]{font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-text-tertiary)}.form-group input[data-v-b46aa79c],.form-group select[data-v-b46aa79c]{padding:10px 14px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;color:var(--color-text-primary);transition:border-color var(--transition-fast)}.form-group input[data-v-b46aa79c]:focus,.form-group select[data-v-b46aa79c]:focus{outline:none;border-color:var(--color-accent-primary)}.form-group select[data-v-b46aa79c]:disabled{opacity:.5;cursor:not-allowed}.form-group input[data-v-b46aa79c]::placeholder{color:var(--color-text-tertiary)}.form-group input[type=number][data-v-b46aa79c]::-webkit-inner-spin-button,.form-group input[type=number][data-v-b46aa79c]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=number][data-v-b46aa79c]{-moz-appearance:textfield}.form-row[data-v-b46aa79c]{display:flex;gap:16px}.price-info[data-v-b46aa79c]{padding:12px 16px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.price-loading[data-v-b46aa79c]{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--color-text-secondary)}.price-display[data-v-b46aa79c]{display:flex;align-items:center;gap:12px}.price-label[data-v-b46aa79c]{font-size:.75rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:400}.price-value[data-v-b46aa79c]{font-weight:600;font-size:1rem;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.price-value .currency[data-v-b46aa79c]{font-size:.75em;color:var(--color-text-tertiary);font-weight:400}.price-change[data-v-b46aa79c]{font-size:.8125rem;font-weight:400}.price-error-msg[data-v-b46aa79c]{font-size:.8125rem;color:var(--color-text-tertiary)}.positive[data-v-b46aa79c]{color:var(--color-positive)}.negative[data-v-b46aa79c]{color:var(--color-negative)}.preview[data-v-b46aa79c]{padding:16px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.preview-row[data-v-b46aa79c]{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--color-text-secondary)}.preview-value[data-v-b46aa79c]{font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.error-msg[data-v-b46aa79c]{color:var(--color-negative);font-size:.8125rem;margin:0}.modal-footer[data-v-b46aa79c]{display:flex;justify-content:flex-end;gap:12px;padding:0 28px 24px}.cancel-btn[data-v-b46aa79c]{padding:10px 20px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.cancel-btn[data-v-b46aa79c]:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.submit-btn[data-v-b46aa79c]{display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--color-accent-primary);color:var(--color-text-inverted);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.submit-btn[data-v-b46aa79c]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.submit-btn[data-v-b46aa79c]:disabled{opacity:.5;cursor:not-allowed}.loading-spinner[data-v-b46aa79c]{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin-b46aa79c .8s linear infinite}.loading-spinner.small[data-v-b46aa79c]{width:14px;height:14px;border-color:#ffffff4d;border-top-color:#fff}@keyframes spin-b46aa79c{to{transform:rotate(360deg)}}.app-layout[data-v-4662edbc]{display:flex;min-height:100vh;background:var(--color-bg-primary)}.main-content[data-v-4662edbc]{flex:1;margin-left:240px;min-height:100vh;display:flex;flex-direction:column}.compact-header[data-v-4662edbc]{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);gap:24px;flex-wrap:wrap;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-left[data-v-4662edbc]{display:flex;align-items:center;gap:16px}.header-title-group[data-v-4662edbc]{display:flex;align-items:center;gap:12px}.header-left h1[data-v-4662edbc]{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--color-text-primary);letter-spacing:-.01em}.header-stats-bar[data-v-4662edbc]{display:flex;align-items:center;gap:20px;flex:1;justify-content:center}.stat-item[data-v-4662edbc]{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label[data-v-4662edbc]{font-size:.625rem;text-transform:uppercase;color:var(--color-text-tertiary);letter-spacing:.08em;font-weight:400}.stat-value[data-v-4662edbc]{font-size:.875rem;font-weight:600;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.stat-value.large[data-v-4662edbc]{font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:var(--color-accent-primary)}.stat-value .currency[data-v-4662edbc]{font-size:.75em;color:var(--color-text-tertiary);font-weight:400}.stat-value.positive[data-v-4662edbc]{color:var(--color-positive)}.stat-value.negative[data-v-4662edbc]{color:var(--color-negative)}.stat-divider[data-v-4662edbc]{width:1px;height:32px;background:var(--color-border)}.cash-item[data-v-4662edbc]{flex-direction:row;align-items:center;gap:12px}.cash-item .stat-label[data-v-4662edbc]{align-self:center}.header-right[data-v-4662edbc]{display:flex;align-items:center;gap:12px}.reset-btn[data-v-4662edbc]{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 12px;font-family:var(--font-body);font-size:.75rem;font-weight:500;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.reset-btn[data-v-4662edbc]:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.theme-toggle[data-v-4662edbc]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.theme-toggle[data-v-4662edbc]:hover{background:var(--color-accent-light);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.number-input[data-v-4662edbc]{display:flex;align-items:center;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.stepper-btn[data-v-4662edbc]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.stepper-btn[data-v-4662edbc]:hover{background:var(--color-accent-primary);color:var(--color-text-inverted)}.number-input input[data-v-4662edbc]{width:80px;border:none;background:transparent;text-align:center;font-family:var(--font-body);font-weight:500;font-size:.875rem;color:var(--color-text-primary);padding:0 4px}.number-input input[data-v-4662edbc]:focus{outline:none}.number-input input[data-v-4662edbc]::-webkit-inner-spin-button,.number-input input[data-v-4662edbc]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input input[type=number][data-v-4662edbc]{-moz-appearance:textfield}.target-number-input input[data-v-4662edbc]{width:48px}.tab-content[data-v-4662edbc]{animation:fadeIn-4662edbc .3s ease;flex:1}@keyframes fadeIn-4662edbc{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}main[data-v-4662edbc]{flex:1;padding:32px}.empty-state[data-v-4662edbc]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px)}.empty-state-content[data-v-4662edbc]{text-align:center;max-width:480px}.empty-icon[data-v-4662edbc]{display:flex;justify-content:center;margin-bottom:24px;color:var(--color-accent-muted)}.empty-state h2[data-v-4662edbc]{font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--color-text-primary);margin:0 0 12px;letter-spacing:-.02em}.empty-message[data-v-4662edbc]{color:var(--color-text-secondary);font-size:1rem;margin:0 0 32px;line-height:1.6}.upload-section-inline[data-v-4662edbc]{max-width:420px;margin:0 auto}.page-header-top[data-v-4662edbc]{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.page-title[data-v-4662edbc]{font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--color-text-primary);margin:0;letter-spacing:-.02em}.add-line-btn[data-v-4662edbc]{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--color-accent-primary);color:var(--color-text-inverted);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.add-line-btn[data-v-4662edbc]:hover{opacity:.9;transform:translateY(-1px)}.loading[data-v-4662edbc]{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--color-text-secondary);margin-top:16px;font-size:.875rem}.loading-spinner[data-v-4662edbc]{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin-4662edbc .8s linear infinite}@keyframes spin-4662edbc{to{transform:rotate(360deg)}}.data-table-section[data-v-4662edbc]{margin-bottom:48px}.data-table-section h2[data-v-4662edbc]{font-family:var(--font-display);text-align:center;font-size:1.5rem;font-weight:500;color:var(--color-text-primary);margin-bottom:24px}.table-wrapper[data-v-4662edbc]{overflow-x:auto;background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}table[data-v-4662edbc]{width:100%;border-collapse:collapse;font-size:.875rem}th[data-v-4662edbc],td[data-v-4662edbc]{padding:14px 20px;text-align:left;border-bottom:1px solid var(--color-border)}th[data-v-4662edbc]{background:var(--color-bg-tertiary);font-weight:500;color:var(--color-text-primary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}td.positive[data-v-4662edbc]{color:var(--color-positive)}td.negative[data-v-4662edbc]{color:var(--color-negative)}.total-row[data-v-4662edbc]{background:var(--color-bg-tertiary)}.total-row td[data-v-4662edbc]{border-bottom:none}.charts-section[data-v-4662edbc],.comparison-section[data-v-4662edbc]{margin-bottom:48px}.section-header[data-v-4662edbc]{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:28px}.section-header h2[data-v-4662edbc]{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:500;color:var(--color-text-primary);letter-spacing:-.02em}.edit-target-btn[data-v-4662edbc]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-accent-primary);color:var(--color-text-inverted);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.edit-target-btn[data-v-4662edbc]:hover{opacity:.9;transform:translateY(-1px)}.target-editor[data-v-4662edbc]{display:flex;flex-wrap:wrap;gap:32px;justify-content:center;background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:32px;margin-bottom:32px;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.target-group[data-v-4662edbc]{min-width:180px}.target-group h4[data-v-4662edbc]{margin:0 0 16px;color:var(--color-text-primary);font-family:var(--font-display);font-size:1rem;font-weight:500;display:flex;align-items:baseline;gap:8px}.category-total[data-v-4662edbc]{font-family:var(--font-body);font-weight:500;font-size:.875rem;color:var(--color-accent-primary)}.target-row[data-v-4662edbc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:.875rem;color:var(--color-text-secondary)}.target-row label[data-v-4662edbc]{min-width:80px;font-weight:400}.target-footer[data-v-4662edbc]{width:100%;display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--color-border)}.target-total[data-v-4662edbc]{font-weight:500;color:var(--color-positive);font-size:.9375rem}.target-total.error[data-v-4662edbc]{color:var(--color-negative)}.reset-target-btn[data-v-4662edbc]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.reset-target-btn[data-v-4662edbc]:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.charts-grid[data-v-4662edbc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:24px}@media(max-width:480px){.charts-grid[data-v-4662edbc]{grid-template-columns:1fr}}:root{--color-bg-primary: #f8f7f4;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f0efe9;--color-bg-elevated: #ffffff;--color-text-primary: #1a1a1a;--color-text-secondary: #5c5c5c;--color-text-tertiary: #8a8a8a;--color-text-inverted: #ffffff;--color-accent-primary: #b8860b;--color-accent-secondary: #daa520;--color-accent-muted: #f4e4c8;--color-accent-light: #faf6ee;--color-positive: #2d8b57;--color-positive-bg: #e8f5e9;--color-negative: #c62828;--color-negative-bg: #ffebee;--color-warning: #e65100;--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05), 0 2px 6px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-glow: 0 0 0 1px var(--color-accent-primary), 0 0 20px rgba(184, 134, 11, .15);--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, monospace;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}.app-layout.dark,.dark{--color-bg-primary: #0f0f0f;--color-bg-secondary: #1a1a1a;--color-bg-tertiary: #242424;--color-bg-elevated: #1f1f1f;--color-text-primary: #f5f5f5;--color-text-secondary: #a8a8a8;--color-text-tertiary: #6b6b6b;--color-accent-primary: #daa520;--color-accent-secondary: #f0c14b;--color-accent-muted: #3d3117;--color-accent-light: #1f1a10;--color-positive: #4caf50;--color-positive-bg: #1b2e1c;--color-negative: #ef5350;--color-negative-bg: #2e1b1b;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .4);--shadow-glow: 0 0 0 1px var(--color-accent-primary), 0 0 30px rgba(218, 165, 32, .2)}*{box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-body);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5}#app{min-height:100vh}::selection{background:var(--color-accent-muted);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}
