*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #1e40af;--primary-dark: #1e3a8a;--primary-light: #3b82f6;--secondary-color: #059669;--accent-color: #d97706;--warning-color: #dc2626;--success-color: #059669;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--profit-color: #059669;--loss-color: #dc2626;--neutral-profit: #10b981;--neutral-loss: #ef4444;--background-color: #0f172a;--surface-color: rgba(30, 41, 59, .8);--surface-elevated: rgba(30, 41, 59, .95);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--border-color: rgba(100, 116, 139, .3);--border-strong: rgba(100, 116, 139, .5);--shadow: 0 8px 32px rgba(0, 0, 0, .4);--shadow-hover: 0 20px 40px rgba(0, 0, 0, .5);--border-radius: 16px;--border-radius-sm: 8px;--border-radius-lg: 24px;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--bg-gradient-dark: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);--bg-gradient-dark-accent: linear-gradient(135deg, #1e3a8a 0%, #1e40af 50%, #3b82f6 100%);--bg-gradient-light: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 50%, #cbd5e1 100%);--bg-gradient-light-accent: linear-gradient(135deg, #3b82f6 0%, #60a5fa 50%, #93c5fd 100%);--chart-grid-dark: rgba(100, 116, 139, .2);--chart-grid-light: rgba(100, 116, 139, .1);--chart-axis-dark: rgba(148, 163, 184, .8);--chart-axis-light: rgba(71, 85, 105, .8);--chart-income: #3b82f6;--chart-expenses: #ef4444;--chart-savings: #10b981;--chart-investments: #8b5cf6;--chart-dividends: #f59e0b}body.light-mode{--background-color: #ffffff;--surface-color: rgba(248, 250, 252, .9);--surface-elevated: rgba(255, 255, 255, .95);--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--border-color: rgba(203, 213, 225, .6);--border-strong: rgba(203, 213, 225, .8);--shadow: 0 8px 32px rgba(0, 0, 0, .08);--shadow-hover: 0 20px 40px rgba(0, 0, 0, .12)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:var(--bg-gradient-dark);min-height:100vh;color:var(--text-primary);line-height:1.6;font-weight:400;font-size:14px;transition:var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.light-mode{background:var(--bg-gradient-light)}.display-large{font-size:3.5rem;font-weight:700;line-height:1.1;letter-spacing:-.02em}.display-medium{font-size:2.5rem;font-weight:700;line-height:1.2;letter-spacing:-.01em}.display-small{font-size:2rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}.heading-large{font-size:1.75rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}.heading-medium{font-size:1.25rem;font-weight:600;line-height:1.4;letter-spacing:-.005em}.heading-small{font-size:1rem;font-weight:600;line-height:1.5;letter-spacing:0}.body-large{font-size:1rem;font-weight:400;line-height:1.6;letter-spacing:.005em}.body-medium{font-size:.875rem;font-weight:400;line-height:1.5;letter-spacing:.01em}.body-small{font-size:.75rem;font-weight:400;line-height:1.4;letter-spacing:.015em}.label-large{font-size:.875rem;font-weight:500;line-height:1.4;letter-spacing:.01em;text-transform:uppercase}.label-medium{font-size:.75rem;font-weight:500;line-height:1.3;letter-spacing:.015em;text-transform:uppercase}.label-small{font-size:.625rem;font-weight:500;line-height:1.2;letter-spacing:.02em;text-transform:uppercase}.financial-dashboard{min-height:100vh;padding:24px;position:relative;overflow-x:hidden}.financial-dashboard *{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.status-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 24px;background:var(--surface-elevated);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow)}.realtime-indicator{display:flex;align-items:center;gap:24px}.connection-status{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-weight:600;@extend .label-medium;}.connection-status.connected{background:#05966926;color:var(--success-color);border:1px solid rgba(5,150,105,.3)}.connection-status.disconnected{background:#dc262626;color:var(--warning-color);border:1px solid rgba(220,38,38,.3)}.last-update{display:flex;align-items:center;gap:8px;color:var(--text-tertiary);@extend .body-medium;}.market-ticker{display:flex;align-items:center;gap:16px}.ticker-header{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-secondary);@extend .label-medium;}.ticker-items{display:flex;gap:20px}.ticker-item{display:flex;align-items:center;gap:8px;@extend .body-small;}.ticker-symbol{font-weight:700;color:var(--text-primary)}.ticker-price{font-weight:600;color:var(--text-primary)}.ticker-change.positive{color:var(--profit-color);font-weight:600}.ticker-change.negative{color:var(--loss-color);font-weight:600}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:var(--surface-elevated);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--border-radius);padding:24px 32px;border:1px solid var(--border-color);box-shadow:var(--shadow)}.header-left{display:flex;align-items:center;gap:32px;flex:1}.logo-container{display:flex;align-items:center;gap:12px}.logo-icon{color:var(--primary-color);width:40px;height:40px}.logo{@extend .heading-large;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.search-bar{flex:1;max-width:480px}.search-input{width:100;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:12px 20px;color:var(--text-primary);@extend .body-medium;outline:none;transition:var(--transition)}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{background:var(--surface-elevated);border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.header-right{display:flex;align-items:center;gap:16px}.icon-button{position:relative;width:44px;height:44px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.icon-button:hover{background:var(--surface-elevated);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.theme-toggle{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.theme-toggle:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--warning-color);color:#fff;@extend .label-small;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.avatar{width:44px;height:44px;border-radius:var(--border-radius-sm);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;@extend .body-medium;}.main-grid{display:flex;flex-direction:column;gap:28px}.glass-card{background:var(--surface-elevated);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow);transition:var(--transition);position:relative;overflow:hidden}.glass-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.glass-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--border-strong)}.full-width{grid-column:1 / -1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.stat-card{padding:28px;display:flex;gap:20px;align-items:center}.stat-icon{width:64px;height:64px;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 24px #0003}.stat-content{flex:1;display:flex;flex-direction:column;gap:8px}.stat-label{color:var(--text-tertiary);font-weight:600;@extend .label-medium;}.stat-value{@extend .display-small;color:var(--text-primary);margin:0;line-height:1}.stat-change{display:flex;align-items:center;gap:6px;@extend .body-medium;}.change-text.positive{color:var(--profit-color);font-weight:600}.change-text.negative{color:var(--loss-color);font-weight:600}.stat-period{color:var(--text-tertiary);margin-left:4px}.charts-live-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.chart-container{padding:28px;color:var(--text-primary)}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;flex-wrap:wrap;gap:16px}.chart-title{@extend .heading-medium;color:var(--text-primary);margin:0 0 4px}.chart-subtitle{@extend .body-medium;color:var(--text-tertiary);margin:0}.chart-legend{display:flex;gap:20px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;@extend .body-small;color:var(--text-secondary);font-weight:500}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.income{background:var(--chart-income)}.legend-dot.expenses{background:var(--chart-expenses)}.legend-dot.savings{background:var(--chart-savings)}.chart-grid{stroke:var(--chart-grid-dark)}.chart-axis{stroke:var(--chart-axis-dark);@extend .body-small;}.chart-tooltip{background:var(--surface-elevated)!important;border:1px solid var(--border-color)!important;border-radius:var(--border-radius-sm)!important;box-shadow:var(--shadow)!important;color:var(--text-primary)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);@extend .body-small;}body.light-mode .chart-grid{stroke:var(--chart-grid-light)}body.light-mode .chart-axis{stroke:var(--chart-axis-light)}.live-feed-container{padding:0;overflow:hidden}.live-transaction-feed{height:100%;display:flex;flex-direction:column}.feed-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px}.feed-header h4{margin:0;@extend .heading-small;color:var(--text-primary)}.live-pulse{width:8px;height:8px;background:var(--profit-color);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #059669b3}70%{transform:scale(1);box-shadow:0 0 0 10px #05966900}to{transform:scale(.95);box-shadow:0 0 #05966900}}.transactions-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.transaction-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface-color);border-radius:var(--border-radius-sm);border:1px solid var(--border-color);transition:var(--transition)}.transaction-item:hover{background:var(--surface-elevated);transform:translate(4px);border-color:var(--primary-color)}.transaction-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#3b82f61a;border-radius:var(--border-radius-sm);font-size:16px;flex-shrink:0}.transaction-details{flex:1}.transaction-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.transaction-description{font-weight:600;color:var(--text-primary);@extend .body-medium;}.transaction-amount{font-weight:700;@extend .body-medium;}.transaction-amount.income{color:var(--profit-color)}.transaction-amount.expense{color:var(--loss-color)}.transaction-meta{display:flex;justify-content:space-between;align-items:center;color:var(--text-tertiary);@extend .body-small;}.transaction-merchant{background:#3b82f61a;color:var(--primary-color);padding:4px 8px;border-radius:6px;font-weight:500;@extend .label-small;}.portfolio-container,.performance-container{padding:24px}.portfolio-legend{margin-top:20px;display:flex;flex-direction:column;gap:12px}.portfolio-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--surface-color);border-radius:var(--border-radius-sm);border:1px solid var(--border-color);transition:var(--transition)}.portfolio-item:hover{background:var(--surface-elevated);border-color:var(--border-strong)}.portfolio-item-header{display:flex;align-items:center;gap:12px}.portfolio-item-name{@extend .body-medium;font-weight:600;color:var(--text-primary)}.portfolio-item-value{@extend .body-medium;font-weight:700;color:var(--text-primary)}.insights-panel{padding:32px}.insights-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.insights-icon{width:56px;height:56px;border-radius:var(--border-radius);background:#d977061a;display:flex;align-items:center;justify-content:center;border:1px solid rgba(217,119,6,.2)}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.insight-card{display:flex;gap:16px;padding:20px;background:var(--surface-color);border-radius:var(--border-radius);border:1px solid var(--border-color);transition:var(--transition)}.insight-card:hover{background:var(--surface-elevated);transform:translateY(-2px);border-color:var(--primary-color)}.insight-title{@extend .heading-small;color:var(--text-primary);margin:0 0 8px}.insight-text{@extend .body-medium;color:var(--text-secondary);margin:0;line-height:1.5}.glass-card{position:relative}.glass-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f608,#05966908);pointer-events:none;border-radius:var(--border-radius)}@media(max-width:1200px){.charts-live-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.financial-dashboard{padding:16px}.stats-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column;gap:16px;text-align:center;padding:20px 24px}.header-left{flex-direction:column;gap:16px}.search-bar{max-width:100%}.status-bar{flex-direction:column;gap:16px;align-items:flex-start}.ticker-items{flex-wrap:wrap;gap:12px}.chart-header{flex-direction:column;align-items:flex-start}.insights-grid{grid-template-columns:1fr}.display-large{font-size:2.5rem}.display-medium{font-size:2rem}.display-small{font-size:1.75rem}.heading-large{font-size:1.5rem}.heading-medium{font-size:1.25rem}}@media(max-width:480px){.stat-card{flex-direction:column;text-align:center;padding:24px;gap:16px}.transaction-main,.transaction-meta{flex-direction:column;align-items:flex-start;gap:8px}.portfolio-item{flex-direction:column;align-items:flex-start;gap:12px}.icon-button{width:40px;height:40px}.display-large{font-size:2rem}.display-medium{font-size:1.75rem}.display-small{font-size:1.5rem}.heading-large{font-size:1.25rem}}.transactions-list::-webkit-scrollbar{width:6px}.transactions-list::-webkit-scrollbar-track{background:var(--surface-color);border-radius:3px}.transactions-list::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.transactions-list::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}@keyframes highlightUpdate{0%{background:#05966933}to{background:transparent}}.highlight-update{animation:highlightUpdate 2s ease-in-out}.loading{opacity:.7;pointer-events:none}@keyframes reconnectPulse{0%,to{opacity:1}50%{opacity:.5}}.reconnecting{animation:reconnectPulse 1.5s infinite}button:focus,input:focus{outline:2px solid var(--primary-color);outline-offset:2px}.stat-card:hover .stat-icon{transform:scale(1.05);transition:transform .3s ease}.glass-card:hover:before{background:linear-gradient(90deg,var(--primary-color),var(--accent-color))}@media(prefers-contrast:high){:root{--border-color: var(--neutral-400);--shadow: 0 8px 32px rgba(0, 0, 0, .6)}.glass-card{border:2px solid var(--border-color)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.financial-dashboard{background:#fff!important;color:#000!important}.glass-card{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;break-inside:avoid}.status-bar,.dashboard-header{display:none}}.profit-indicator{color:var(--profit-color);font-weight:600}.loss-indicator{color:var(--loss-color);font-weight:600}.neutral-indicator{color:var(--text-tertiary);font-weight:500}.financial-badge{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;padding:4px 12px;border-radius:12px;@extend .label-small;font-weight:600}.premium-tag{background:linear-gradient(135deg,var(--accent-color),#b45309);color:#fff;padding:2px 8px;border-radius:6px;@extend .label-small;font-weight:600}
