.portfolio-selector{position:relative}.portfolio-selector-loading{padding:8px 16px;color:var(--secondary);font-size:14px}.portfolio-selector-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:8px 16px;background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;font-size:14px;font-weight:500;color:var(--dark);min-width:200px}.portfolio-selector-btn:hover{border-color:var(--primary);-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a}.portfolio-icon{font-size:18px}.portfolio-name{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:left}.dropdown-arrow{font-size:10px;color:var(--secondary)}.portfolio-dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.portfolio-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:320px;background:#fff;border:1px solid var(--border);border-radius:8px;-webkit-box-shadow:0 8px 24px rgba(0,0,0,.15);box-shadow:0 8px 24px #00000026;z-index:1000;-webkit-animation:slideDown .2s ease;animation:slideDown .2s ease}.dropdown-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--secondary)}.manage-link{color:var(--primary);text-decoration:none;font-size:13px;font-weight:500;text-transform:none}.manage-link:hover{text-decoration:underline}.portfolio-list{max-height:400px;overflow-y:auto}.portfolio-item{padding:12px 16px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border-left:3px solid transparent}.portfolio-item:hover{background:var(--light)}.portfolio-item.active{background:#f0f9ff;border-left-color:var(--primary)}.portfolio-item-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;margin-bottom:8px}.portfolio-item-info{-webkit-box-flex:1;-ms-flex:1;flex:1}.portfolio-item-name{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-weight:600;color:var(--dark);font-size:14px;margin-bottom:4px}.primary-badge{background:var(--primary);color:#fff;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.portfolio-item-desc{font-size:12px;color:var(--secondary)}.portfolio-item-stats{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px}.stat{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.stat-value{font-weight:600;color:var(--dark)}.stat-label{color:var(--secondary);font-size:11px}.pnl{font-weight:600;padding:4px 8px;border-radius:4px;font-size:12px}.pnl.positive{background:#d1fae5;color:#065f46}.pnl.negative{background:#fee2e2;color:#991b1b}.dropdown-footer{padding:12px 16px;border-top:1px solid var(--border)}.dropdown-footer .btn{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width: 768px){.portfolio-selector-btn{min-width:150px}.portfolio-dropdown{left:auto;right:0;min-width:280px}}.user-menu{position:relative;z-index:1000}.user-menu-trigger{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--gray-700)}.user-menu-trigger:hover{border-color:var(--primary-500);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-500),var(--accent-500));color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:600;font-size:var(--text-sm);-ms-flex-negative:0;flex-shrink:0}.user-email-short{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{-webkit-transition:-webkit-transform var(--transition-base);transition:-webkit-transform var(--transition-base);transition:transform var(--transition-base);transition:transform var(--transition-base),-webkit-transform var(--transition-base);color:var(--gray-400)}.chevron.open{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.user-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000001a;z-index:999}.user-menu-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:280px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);-webkit-box-shadow:var(--shadow-xl);box-shadow:var(--shadow-xl);z-index:1001;-webkit-animation:slideDown .2s ease-out;animation:slideDown .2s ease-out}@-webkit-keyframes slideDown{0%{opacity:0;-webkit-transform:translateY(-8px);transform:translateY(-8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;-webkit-transform:translateY(-8px);transform:translateY(-8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.user-menu-header{padding:var(--space-4);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3)}.user-avatar-large{width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-500),var(--accent-500));color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:var(--text-lg);-ms-flex-negative:0;flex-shrink:0}.user-info{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.user-name{font-weight:600;font-size:var(--text-base);color:var(--gray-900);margin-bottom:2px}.user-email{font-size:var(--text-xs);color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background:var(--gray-100);margin:0}.user-menu-items{padding:var(--space-2)}.user-menu-item{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3);padding:var(--space-3);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--gray-700);text-align:left}.user-menu-item:hover{background:var(--gray-50);color:var(--primary-600)}.user-menu-item svg{color:var(--gray-400);-ms-flex-negative:0;flex-shrink:0;-webkit-transition:color var(--transition-base);transition:color var(--transition-base)}.user-menu-item:hover svg{color:var(--primary-500)}.user-menu-item.logout{color:var(--danger)}.user-menu-item.logout:hover{background:#fee2e2;color:#dc2626}.user-menu-item.logout svg{color:var(--danger)}@media (max-width: 768px){.user-email-short{display:none}.user-menu-dropdown{right:0;min-width:260px}}.ai-fab{position:fixed;bottom:24px;right:24px;z-index:1050;width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-shadow:0 8px 24px rgba(37,99,235,.4);box-shadow:0 8px 24px #2563eb66;-webkit-transition:-webkit-transform var(--transition-base),-webkit-box-shadow var(--transition-base);transition:-webkit-transform var(--transition-base),-webkit-box-shadow var(--transition-base);transition:transform var(--transition-base),box-shadow var(--transition-base);transition:transform var(--transition-base),box-shadow var(--transition-base),-webkit-transform var(--transition-base),-webkit-box-shadow var(--transition-base)}.ai-fab:hover{-webkit-transform:scale(1.08);-ms-transform:scale(1.08);transform:scale(1.08);-webkit-box-shadow:0 12px 32px rgba(37,99,235,.5);box-shadow:0 12px 32px #2563eb80}.ai-fab:active{-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95)}.ai-fab.open{background:var(--gray-700);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.2);box-shadow:0 4px 12px #0003}.ai-fab.pulse{-webkit-animation:fabPulse 2s ease-in-out infinite;animation:fabPulse 2s ease-in-out infinite}@-webkit-keyframes fabPulse{0%,to{-webkit-transform:scale(1);transform:scale(1);-webkit-box-shadow:0 8px 24px rgba(37,99,235,.4);box-shadow:0 8px 24px #2563eb66}50%{-webkit-transform:scale(1.05);transform:scale(1.05);-webkit-box-shadow:0 12px 32px rgba(37,99,235,.6);box-shadow:0 12px 32px #2563eb99}}@keyframes fabPulse{0%,to{-webkit-transform:scale(1);transform:scale(1);-webkit-box-shadow:0 8px 24px rgba(37,99,235,.4);box-shadow:0 8px 24px #2563eb66}50%{-webkit-transform:scale(1.05);transform:scale(1.05);-webkit-box-shadow:0 12px 32px rgba(37,99,235,.6);box-shadow:0 12px 32px #2563eb99}}.ai-fab-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:-webkit-transform .3s cubic-bezier(.16,1,.3,1);transition:-webkit-transform .3s cubic-bezier(.16,1,.3,1);transition:transform .3s cubic-bezier(.16,1,.3,1);transition:transform .3s cubic-bezier(.16,1,.3,1),-webkit-transform .3s cubic-bezier(.16,1,.3,1)}.ai-fab-icon.rotate{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.ai-fab-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--primary-100);-webkit-animation:pulsateRing 2.5s ease-out infinite;animation:pulsateRing 2.5s ease-out infinite;pointer-events:none}@-webkit-keyframes pulsateRing{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.6}50%{-webkit-transform:scale(1.25);transform:scale(1.25);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes pulsateRing{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.6}50%{-webkit-transform:scale(1.25);transform:scale(1.25);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.ai-panel-backdrop{display:none}@media (max-width: 768px){.ai-panel-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1039;-webkit-animation:fadeIn .2s ease;animation:fadeIn .2s ease}}.ai-panel{position:fixed;top:64px;right:0;width:440px;height:calc(100vh - 64px);background:#fff;border-left:1px solid var(--gray-200);-webkit-box-shadow:-8px 0 32px rgba(0,0,0,.08);box-shadow:-8px 0 32px #00000014;z-index:1040;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-animation:slideInRight .3s cubic-bezier(.16,1,.3,1);animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translate(100%)}to{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translate(100%)}to{-webkit-transform:translateX(0);transform:translate(0)}}.ai-panel-header{height:56px;min-height:56px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--gray-200);background:#fff}.ai-panel-header-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.ai-header-icon{color:var(--primary-500)}.ai-header-title{font-size:var(--text-base);font-weight:700;color:var(--gray-900)}.ai-context-pill{padding:3px 10px;border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary-700);font-size:var(--text-xs);font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-close-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-md);color:var(--gray-400);-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.ai-close-btn:hover{color:var(--gray-700);background:var(--gray-100)}.ai-messages-area{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px;position:relative;scroll-behavior:smooth}.scroll-to-bottom{position:-webkit-sticky;position:sticky;bottom:8px;-ms-flex-item-align:center;align-self:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:6px 14px;border-radius:var(--radius-full);background:var(--gray-800);color:#fff;font-size:var(--text-xs);font-weight:600;border:none;cursor:pointer;-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md);-webkit-animation:fadeIn .2s ease;animation:fadeIn .2s ease}.scroll-to-bottom:hover{background:var(--gray-900)}.ai-welcome{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;padding:40px 20px;-webkit-box-flex:1;-ms-flex:1;flex:1}.ai-welcome-icons{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;margin-bottom:24px}.welcome-icon-circle{width:48px;height:48px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.icon-trending{background:var(--primary-50);color:var(--primary-500)}.icon-target{background:#f0fdf4;color:var(--success)}.icon-shield{background:#fef2f2;color:var(--danger)}.ai-welcome-title{font-size:var(--text-xl);font-weight:700;color:var(--gray-900);margin-bottom:8px}.ai-welcome-subtitle{font-size:var(--text-sm);color:var(--gray-500);line-height:1.7;max-width:320px;margin-bottom:28px}.ai-welcome-starters{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;width:100%;max-width:320px}.ai-starter-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:12px 16px;font-size:var(--text-sm);color:var(--gray-700);text-align:left;cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);font-family:var(--font-sans)}.ai-starter-card:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md);border-color:var(--primary-200);color:var(--primary-700)}.user-message-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.user-message-bubble{max-width:85%;background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;border-radius:16px 16px 4px;padding:12px 16px;font-size:var(--text-sm);line-height:1.6;-webkit-box-shadow:0 2px 8px rgba(37,99,235,.2);box-shadow:0 2px 8px #2563eb33;word-break:break-word}.ai-message-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.ai-message-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;margin-bottom:4px;font-size:var(--text-xs);font-weight:600;color:var(--gray-400)}.ai-message-label svg{color:var(--primary-500)}.ai-message-bubble{max-width:90%;background:#fff;border:1px solid var(--gray-100);border-radius:16px 16px 16px 4px;padding:16px 20px;font-size:var(--text-sm);line-height:1.7;color:var(--gray-800);-webkit-box-shadow:0 1px 4px rgba(0,0,0,.04);box-shadow:0 1px 4px #0000000a}.typing-bubble{padding:16px 24px;background:var(--gray-50)}.ai-message-content{-webkit-font-feature-settings:"tnum" 1;font-feature-settings:"tnum" 1}.ai-message-content p{margin:0 0 12px;line-height:1.7}.ai-message-content p:last-child{margin-bottom:0}.ai-message-content strong{font-weight:700;color:var(--gray-900)}.ai-message-content em{font-style:italic;color:var(--gray-600)}.ai-heading{font-weight:700;color:var(--gray-900);margin:16px 0 8px}.ai-heading:first-child{margin-top:0}.ai-heading-large{font-size:var(--text-base);border-bottom:2px solid var(--primary-100);padding-bottom:4px}.ai-heading-small{font-size:var(--text-sm)}.ai-list{margin:12px 0;padding-left:20px;line-height:1.7}.ai-list li{margin-bottom:8px;font-size:var(--text-sm);color:var(--gray-700);padding-left:4px}.ai-list-numbered{list-style:decimal}.ai-list-numbered-item{padding-left:8px}.ai-currency{display:inline-block;font-weight:700;-webkit-font-feature-settings:"tnum" 1;font-feature-settings:"tnum" 1;color:var(--gray-900);background:var(--gray-50);padding:2px 8px;border-radius:6px;border:1px solid var(--gray-200)}.ai-metric-positive{display:inline-block;color:#15803d;background:#f0fdf4;font-weight:700;padding:2px 8px;border-radius:6px;border:1px solid #bbf7d0}.ai-metric-negative{display:inline-block;color:#dc2626;background:#fef2f2;font-weight:700;padding:2px 8px;border-radius:6px;border:1px solid #fecaca}.ai-inline-code{background:var(--gray-100);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.9em;color:var(--primary-700);border:1px solid var(--gray-200)}.ai-code-block{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:12px;margin:12px 0;overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;color:var(--gray-800)}.ai-code-block code{background:none;padding:0;border:none}.ai-table-wrapper{margin:12px 0;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--gray-200)}.ai-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.ai-table th{background:var(--gray-50);font-weight:600;color:var(--gray-700);text-align:left;padding:8px 12px;border-bottom:1px solid var(--gray-200)}.ai-table td{padding:8px 12px;color:var(--gray-700);border-bottom:1px solid var(--gray-100)}.ai-table tbody tr:nth-child(2n){background:var(--gray-50)}.ai-table tbody tr:last-child td{border-bottom:none}.message-timestamp{font-size:10px;color:var(--gray-400);margin-top:4px}.user-timestamp{text-align:right}.typing-indicator{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--gray-400);-webkit-animation:dotBounce 1.4s ease-in-out infinite;animation:dotBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s}.typing-dot:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes dotBounce{0%,60%,to{-webkit-transform:translateY(0);transform:translateY(0);opacity:.4}30%{-webkit-transform:translateY(-6px);transform:translateY(-6px);opacity:1}}@keyframes dotBounce{0%,60%,to{-webkit-transform:translateY(0);transform:translateY(0);opacity:.4}30%{-webkit-transform:translateY(-6px);transform:translateY(-6px);opacity:1}}.quick-actions-strip{border-top:1px solid var(--gray-100);padding:12px 16px;background:linear-gradient(to bottom,var(--gray-50),white)}.quick-actions-strip.collapsed .quick-actions-scroll{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.quick-actions-scroll{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;overflow-x:auto;-ms-flex-wrap:wrap;flex-wrap:wrap;scrollbar-width:none;-ms-overflow-style:none}.quick-actions-scroll::-webkit-scrollbar{display:none}.quick-action-chip{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-lg);border:1.5px solid var(--gray-200);background:#fff;font-size:var(--text-xs);font-weight:600;color:var(--gray-700);white-space:nowrap;cursor:pointer;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast);font-family:var(--font-sans);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.05);box-shadow:0 1px 3px #0000000d}.quick-action-chip:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-800);-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 12px rgba(37,99,235,.15);box-shadow:0 4px 12px #2563eb26}.quick-action-chip:disabled{opacity:.5;cursor:not-allowed}.quick-action-chip.loading{opacity:.9;border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-700);cursor:wait}.chip-spinner{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.ai-input-area{padding:12px 20px 16px;border-top:1px solid var(--gray-200);background:#fff}.ai-input-wrapper{position:relative}.ai-input{width:100%;border:1.5px solid var(--gray-200);border-radius:var(--radius-lg);padding:12px 48px 12px 16px;font-size:var(--text-sm);font-family:var(--font-sans);color:var(--gray-900);background:#fff;resize:none;min-height:44px;max-height:120px;line-height:1.5;outline:none;-webkit-transition:border-color var(--transition-fast),-webkit-box-shadow var(--transition-fast);transition:border-color var(--transition-fast),-webkit-box-shadow var(--transition-fast);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),-webkit-box-shadow var(--transition-fast)}.ai-input::-webkit-input-placeholder{color:var(--gray-400)}.ai-input::-moz-placeholder{color:var(--gray-400)}.ai-input:-ms-input-placeholder{color:var(--gray-400)}.ai-input::-ms-input-placeholder{color:var(--gray-400)}.ai-input::placeholder{color:var(--gray-400)}.ai-input:focus{border-color:var(--primary-500);-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px #2563eb1a}.ai-input:disabled{opacity:.6;cursor:not-allowed}.ai-send-btn{position:absolute;right:8px;bottom:8px;width:32px;height:32px;border-radius:50%;border:none;background:var(--gray-300);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;opacity:0;-webkit-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8);-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast);pointer-events:none}.ai-send-btn.visible{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);background:var(--primary-500);pointer-events:auto}.ai-send-btn.visible:hover:not(:disabled){background:var(--primary-600)}.ai-send-btn:disabled{opacity:.5;cursor:not-allowed}.ai-input-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:8px}.ai-toolbar-pill{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--gray-200);background:#fff;font-size:var(--text-xs);font-weight:600;color:var(--gray-500);cursor:pointer;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast);font-family:var(--font-sans)}.ai-toolbar-pill:hover{border-color:var(--gray-300);color:var(--gray-700)}.ai-toolbar-pill.active{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-200)}.ai-toolbar-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.ai-toolbar-btn{background:none;border:none;padding:4px 8px;color:var(--gray-400);cursor:pointer;border-radius:var(--radius-sm);-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.ai-toolbar-btn:hover{color:var(--gray-700);background:var(--gray-100)}.conversation-history{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.conv-history-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--gray-200)}.conv-history-header h4{font-size:var(--text-base);font-weight:700;color:var(--gray-900);margin:0}.conv-back-btn{background:none;border:none;padding:4px;color:var(--gray-500);cursor:pointer;border-radius:var(--radius-sm);-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.conv-back-btn:hover{color:var(--gray-700);background:var(--gray-100)}.conv-history-list{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:8px}.conv-loading,.conv-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px;padding:40px 20px;color:var(--gray-400);font-size:var(--text-sm)}.conv-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:12px 16px;border:none;background:none;border-radius:var(--radius-md);cursor:pointer;-webkit-transition:background var(--transition-fast);transition:background var(--transition-fast);text-align:left;font-family:var(--font-sans)}.conv-item:hover{background:var(--gray-50)}.conv-item-content{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.conv-item-title{font-size:var(--text-sm);font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-item-meta{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-top:2px;font-size:var(--text-xs);color:var(--gray-400)}.conv-delete-btn{background:none;border:none;padding:6px;color:var(--gray-300);cursor:pointer;border-radius:var(--radius-sm);opacity:0;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.conv-item:hover .conv-delete-btn{opacity:1}.conv-delete-btn:hover{color:var(--danger);background:#fef2f2}@media (max-width: 768px){.ai-fab{bottom:16px;right:16px;width:48px;height:48px}.ai-panel{top:auto;bottom:0;left:0;right:0;width:100%;height:85vh;border-radius:16px 16px 0 0;border-left:none;border-top:1px solid var(--gray-200);-webkit-animation:slideInUp .3s cubic-bezier(.16,1,.3,1);animation:slideInUp .3s cubic-bezier(.16,1,.3,1)}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.ai-panel-header{border-radius:16px 16px 0 0;position:relative}.ai-panel-header:before{content:"";position:absolute;top:6px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%);width:40px;height:4px;border-radius:2px;background:var(--gray-300)}.ai-input-area{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.quick-actions-scroll{-ms-flex-wrap:nowrap;flex-wrap:nowrap}}@media (prefers-reduced-motion: reduce){.ai-panel,.ai-fab,.ai-fab-icon,.ai-starter-card,.quick-action-chip,.ai-send-btn,.scroll-to-bottom{-webkit-animation:none!important;animation:none!important;-webkit-transition-duration:0s!important;transition-duration:0s!important}.ai-fab-ring{display:none}.typing-dot{-webkit-animation:none!important;animation:none!important;opacity:.6}}.ai-onboarding-nudge{position:fixed;bottom:92px;right:24px;width:320px;background:#fff;border-radius:var(--radius-lg);-webkit-box-shadow:0 12px 48px rgba(0,0,0,.15);box-shadow:0 12px 48px #00000026;border:2px solid var(--primary-100);padding:20px;z-index:1049;opacity:0;-webkit-transform:translateY(10px) scale(.95);-ms-transform:translateY(10px) scale(.95);transform:translateY(10px) scale(.95);-webkit-transition:all .4s cubic-bezier(.16,1,.3,1);transition:all .4s cubic-bezier(.16,1,.3,1);pointer-events:none}.ai-onboarding-nudge.visible{opacity:1;-webkit-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);transform:translateY(0) scale(1);pointer-events:auto}.ai-nudge-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--gray-400);cursor:pointer;padding:4px;border-radius:var(--radius-sm);-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.ai-nudge-close:hover{color:var(--gray-700);background:var(--gray-100)}.ai-nudge-header{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;margin-bottom:16px}.ai-nudge-icon{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.ai-nudge-title{font-size:var(--text-base);font-weight:700;color:var(--gray-900);margin:0 0 2px}.ai-nudge-subtitle{font-size:var(--text-xs);color:var(--gray-500);margin:0}.ai-nudge-features{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;margin-bottom:16px}.ai-nudge-feature{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;font-size:var(--text-sm);color:var(--gray-700)}.ai-nudge-feature svg{color:var(--primary-500);-ms-flex-negative:0;flex-shrink:0}.ai-nudge-cta{width:100%;padding:10px 16px;border-radius:var(--radius-md);background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;border:none;font-size:var(--text-sm);font-weight:600;cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);font-family:var(--font-sans)}.ai-nudge-cta:hover{-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d}.ai-nudge-arrow{position:absolute;bottom:-8px;right:40px;width:16px;height:16px;background:#fff;border-right:2px solid var(--primary-100);border-bottom:2px solid var(--primary-100);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.ai-contextual-hint{position:fixed;top:72px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%);max-width:480px;background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;border-radius:var(--radius-lg);padding:12px 20px;-webkit-box-shadow:0 8px 24px rgba(37,99,235,.3);box-shadow:0 8px 24px #2563eb4d;z-index:1049;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-webkit-animation:slideInDown .4s cubic-bezier(.16,1,.3,1);animation:slideInDown .4s cubic-bezier(.16,1,.3,1)}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateX(-50%) translateY(-20px);transform:translate(-50%) translateY(-20px)}to{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translate(-50%) translateY(0)}}@keyframes slideInDown{0%{opacity:0;-webkit-transform:translateX(-50%) translateY(-20px);transform:translate(-50%) translateY(-20px)}to{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translate(-50%) translateY(0)}}.ai-hint-close{position:absolute;top:8px;right:8px;background:#fff3;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:var(--radius-sm);-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.ai-hint-close:hover{background:#ffffff4d}.ai-hint-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;-webkit-box-flex:1;-ms-flex:1;flex:1;padding-right:20px}.ai-hint-icon{color:#ffffffe6;-ms-flex-negative:0;flex-shrink:0}.ai-hint-message{font-size:var(--text-sm);font-weight:500;margin:0;line-height:1.5}.ai-hint-action{padding:6px 16px;border-radius:var(--radius-md);background:#fff;color:var(--primary-600);border:none;font-size:var(--text-sm);font-weight:600;cursor:pointer;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast);font-family:var(--font-sans);white-space:nowrap}.ai-hint-action:hover{background:#fffffff2;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}@media (max-width: 768px){.ai-onboarding-nudge{bottom:76px;right:16px;left:16px;width:auto}.ai-nudge-arrow{right:32px}.ai-contextual-hint{top:64px;left:16px;right:16px;max-width:none;-webkit-transform:none;-ms-transform:none;transform:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding-top:32px}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.ai-hint-content{padding-right:0}.ai-hint-action{width:100%}}.layout{min-height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.header{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:16px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:32px}.header-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.logo{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0;text-decoration:none;cursor:pointer;-webkit-transition:opacity var(--transition-base);transition:opacity var(--transition-base)}.logo:hover{opacity:.85}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-link{padding:8px 16px;border-radius:6px;text-decoration:none;color:var(--gray-700);font-weight:500;font-size:14px;-webkit-transition:all .2s;transition:all .2s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;white-space:nowrap;-ms-flex-negative:0;flex-shrink:0}.nav-link:hover{background-color:var(--gray-100)}.nav-link.active{background-color:var(--primary-50);color:var(--primary-600);font-weight:600}.nav-link.active svg{color:var(--primary-600)}.header-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px}.user-email{font-size:14px;color:var(--secondary)}.btn-sm{padding:6px 12px;font-size:13px}.main-content{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:24px 0}@media (max-width: 968px){.header-content{gap:16px}.nav{gap:4px}.nav-link{padding:8px 12px;font-size:13px}}@media (max-width: 768px){.header-content{padding:12px 16px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.header-left{-ms-flex-negative:0;flex-shrink:0}.logo{font-size:1.1rem}.nav{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;width:100%;gap:4px;overflow-x:auto;padding-bottom:4px}.nav-link{padding:7px 12px;font-size:13px;gap:6px}.nav-link svg{width:16px;height:16px}.header-right{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-ms-flex-negative:0;flex-shrink:0;margin-left:auto}}@media (max-width: 480px){.header-content{padding:10px 12px;gap:10px}.logo{font-size:1rem}.logo-icon{font-size:1.2rem}.nav{gap:3px;margin:0 -12px;padding:0 12px 4px}.nav-link{padding:6px 10px;font-size:12px;gap:5px}.nav-link span{display:inline}.header-right{gap:8px}}.landing-container{max-width:1280px;margin:0 auto;padding:0 var(--space-6)}.landing-header{position:fixed;top:0;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--gray-100);z-index:100;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--space-4) 0}.brand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);font-size:var(--text-xl);font-weight:700;color:var(--gray-900);text-decoration:none;cursor:pointer;-webkit-transition:opacity var(--transition-base);transition:opacity var(--transition-base)}.brand:hover{opacity:.8}.brand.small{font-size:var(--text-lg)}.brand-icon{font-size:1.75rem}.brand-name{background:linear-gradient(135deg,var(--primary-600),var(--accent-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.main-nav{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-8)}.main-nav a{color:var(--gray-600);text-decoration:none;font-weight:500;font-size:var(--text-sm);-webkit-transition:color var(--transition-base);transition:color var(--transition-base)}.main-nav a:hover{color:var(--primary-600)}.auth-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-3);-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btn-header-login{padding:var(--space-2) var(--space-5);background:transparent;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);color:var(--gray-700);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.btn-header-login:hover{border-color:var(--primary-500);color:var(--primary-600)}.btn-header-signup{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:linear-gradient(135deg,var(--primary-600),var(--primary-500));border:none;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);color:#fff;cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.btn-header-signup:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg)}.hero{padding:140px 0 100px;background:linear-gradient(135deg,#f9fafb,#f0f9ff,#f0fdfa);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(37,99,235,.08) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(20,184,166,.08) 0%,transparent 40%);pointer-events:none}.hero-content-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:1}.hero-text{max-width:600px}.hero-badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#fff;border:1px solid var(--primary-200, #bfdbfe);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;color:var(--primary-600);margin-bottom:var(--space-6)}.hero-title{font-size:clamp(2.5rem,5vw,3.75rem);font-weight:800;line-height:1.1;margin-bottom:var(--space-6);color:var(--gray-900);letter-spacing:-.02em}.gradient-text{background:linear-gradient(135deg,var(--primary-600),var(--accent-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:var(--text-xl);color:var(--gray-600);line-height:1.6;margin-bottom:var(--space-8)}.hero-cta{margin-bottom:var(--space-10)}.btn-primary-large{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);background:linear-gradient(135deg,var(--primary-600),var(--primary-500));border:none;border-radius:var(--radius-xl);font-weight:700;font-size:var(--text-lg);color:#fff;cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d}.btn-primary-large:hover{-webkit-transform:translateY(-3px);-ms-transform:translateY(-3px);transform:translateY(-3px);-webkit-box-shadow:0 8px 24px rgba(37,99,235,.4);box-shadow:0 8px 24px #2563eb66}.cta-subtext{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--gray-500)}.hero-stats{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-10)}.stat{text-align:left}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--gray-900);margin-bottom:var(--space-1)}.stat-label{font-size:var(--text-sm);color:var(--gray-600)}.hero-visual{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.dashboard-preview{-webkit-perspective:1000px;perspective:1000px}.preview-card{background:#fff;border-radius:var(--radius-2xl, 20px);padding:var(--space-8);-webkit-box-shadow:0 20px 40px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.05);box-shadow:0 20px 40px #0000001a,0 0 0 1px #0000000d;min-width:320px;-webkit-animation:float 6s ease-in-out infinite;animation:float 6s ease-in-out infinite}@-webkit-keyframes float{0%,to{-webkit-transform:translateY(0) rotateY(5deg);transform:translateY(0) rotateY(5deg)}50%{-webkit-transform:translateY(-20px) rotateY(5deg);transform:translateY(-20px) rotateY(5deg)}}@keyframes float{0%,to{-webkit-transform:translateY(0) rotateY(5deg);transform:translateY(0) rotateY(5deg)}50%{-webkit-transform:translateY(-20px) rotateY(5deg);transform:translateY(-20px) rotateY(5deg)}}.preview-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-weight:600;color:var(--gray-700)}.trend-icon{color:var(--success)}.preview-value{font-size:3.5rem;font-weight:800;color:var(--success);margin-bottom:var(--space-6);font-family:var(--font-mono)}.preview-chart{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:var(--space-3);height:100px}.chart-bar{-webkit-box-flex:1;-ms-flex:1;flex:1;background:linear-gradient(180deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-sm) var(--radius-sm) 0 0;-webkit-animation:growBar 1.5s ease-out;animation:growBar 1.5s ease-out}.features-section{padding:var(--space-16) 0;background:#fff}.section-header{text-align:center;margin-bottom:var(--space-12)}.section-header h2{font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-3);color:var(--gray-900)}.section-header p{font-size:var(--text-lg);color:var(--gray-600)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.feature-card{padding:var(--space-8);background:var(--gray-50);border-radius:var(--radius-xl);border:1px solid transparent;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.feature-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--space-4);color:#fff}.feature-icon.blue{background:linear-gradient(135deg,var(--primary-500),var(--primary-600))}.feature-icon.green{background:linear-gradient(135deg,#10b981,#059669)}.feature-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.feature-icon.teal{background:linear-gradient(135deg,var(--accent-500),var(--accent-600))}.feature-icon.orange{background:linear-gradient(135deg,#f59e0b,#d97706)}.feature-icon.pink{background:linear-gradient(135deg,#ec4899,#db2777)}.how-section{padding:var(--space-16) 0;background:linear-gradient(135deg,#f9fafb,#f1f5f9)}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.step-item{text-align:center;padding:var(--space-6)}.step-number{width:56px;height:56px;background:linear-gradient(135deg,var(--primary-600),var(--accent-500));color:#fff;border-radius:var(--radius-full);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--text-2xl);font-weight:700;margin:0 auto var(--space-4)}.step-item h3{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2);color:var(--gray-900)}.step-item p{font-size:var(--text-sm);color:var(--gray-600);line-height:1.6}.benefits-section{padding:var(--space-16) 0;background:#fff}.benefits-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);-webkit-box-align:center;-ms-flex-align:center;align-items:center}.benefits-text h2{font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-8);color:var(--gray-900)}.benefits-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-6)}.benefit-item{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-4)}.check-icon{color:var(--success);-ms-flex-negative:0;flex-shrink:0;margin-top:2px}.benefit-item h4{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-1);color:var(--gray-900)}.benefit-item p{font-size:var(--text-base);color:var(--gray-600);line-height:1.5}.benefits-visual{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.insight-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--space-6);-webkit-box-shadow:var(--shadow-xl);box-shadow:var(--shadow-xl);max-width:400px}.insight-icon{width:40px;height:40px;background:var(--primary-50);color:var(--primary-600);border-radius:var(--radius-md);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--space-3)}.insight-content h4{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2);color:var(--gray-900)}.insight-content p{font-size:var(--text-base);color:var(--gray-600);margin-bottom:var(--space-4);line-height:1.6}.insight-action{padding:var(--space-2) var(--space-4);background:var(--primary-500);border:none;border-radius:var(--radius-md);color:#fff;font-weight:600;font-size:var(--text-sm);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.insight-action:hover{background:var(--primary-600)}.security-section{padding:var(--space-16) 0;background:linear-gradient(135deg,var(--gray-900) 0%,#1e293b 100%);color:#fff;text-align:center}.security-icon-large{width:80px;height:80px;background:#ffffff1a;border-radius:var(--radius-xl);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 auto var(--space-6)}.security-content h2{font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-4)}.security-description{font-size:var(--text-lg);opacity:.9;max-width:600px;margin:0 auto var(--space-8);line-height:1.6}.security-features{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-8);-ms-flex-wrap:wrap;flex-wrap:wrap}.security-feature{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:#ffffff1a;border-radius:var(--radius-md);font-weight:600}.final-cta{padding:var(--space-16) 0;background:linear-gradient(135deg,var(--primary-600),var(--primary-500));text-align:center;color:#fff}.cta-content h2{font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-4)}.cta-content p{font-size:var(--text-xl);opacity:.95;margin-bottom:var(--space-8)}.btn-cta-final{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-10);background:#fff;border:none;border-radius:var(--radius-xl);font-weight:700;font-size:var(--text-lg);color:var(--primary-600);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);-webkit-box-shadow:0 8px 24px rgba(0,0,0,.2);box-shadow:0 8px 24px #0003}.btn-cta-final:hover{-webkit-transform:translateY(-4px) scale(1.05);-ms-transform:translateY(-4px) scale(1.05);transform:translateY(-4px) scale(1.05);-webkit-box-shadow:0 12px 32px rgba(0,0,0,.3);box-shadow:0 12px 32px #0000004d}.landing-footer{padding:var(--space-12) 0 var(--space-6);background:var(--gray-900);color:var(--gray-300)}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-10);margin-bottom:var(--space-8)}.footer-links{display:contents}.footer-bottom{padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:var(--text-sm);color:var(--gray-500)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;-webkit-animation:fadeIn .2s ease-out;animation:fadeIn .2s ease-out}.auth-modal{background:#fff;border-radius:var(--radius-2xl, 20px);padding:var(--space-10);max-width:460px;width:calc(100% - var(--space-8));max-height:90vh;overflow-y:auto;-webkit-box-shadow:0 25px 50px rgba(0,0,0,.15);box-shadow:0 25px 50px #00000026;position:relative;-webkit-animation:slideUp .3s ease-out;animation:slideUp .3s ease-out}@-webkit-keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.modal-close{position:absolute;top:var(--space-5);right:var(--space-5);width:32px;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);color:var(--gray-500)}.modal-close:hover{background:var(--gray-100);color:var(--gray-900)}.modal-header{text-align:center;margin-bottom:var(--space-8);width:100%}.modal-brand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-5)}.modal-brand-icon{font-size:2.25rem;display:block}.modal-brand-text{font-size:var(--text-xl);font-weight:700;background:linear-gradient(135deg,var(--primary-600),var(--accent-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.modal-title{font-size:1.75rem;font-weight:700;margin:0 0 var(--space-3) 0;color:var(--gray-900);line-height:1.2}.modal-subtitle{font-size:var(--text-base);color:var(--gray-600);line-height:1.5;margin:0}.modal-form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-5)}.error-message{padding:var(--space-3) var(--space-4);background:#fee2e2;border:1px solid #fecaca;border-radius:var(--radius-lg);color:#991b1b;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-5);text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-2)}.btn-mobile-primary{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:var(--radius-lg);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);margin-bottom:var(--space-4);-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d;position:relative;overflow:hidden}.btn-mobile-primary:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#fff0);opacity:0;-webkit-transition:opacity var(--transition-base);transition:opacity var(--transition-base)}.btn-mobile-primary:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(102,126,234,.4);box-shadow:0 6px 20px #667eea66}.btn-mobile-primary:hover:before{opacity:1}.btn-mobile-primary:active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.mobile-icon{font-size:28px;-ms-flex-negative:0;flex-shrink:0}.btn-mobile-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:left}.btn-mobile-title{font-size:var(--text-base);font-weight:600;color:#fff;display:block}.btn-mobile-subtitle{font-size:var(--text-xs);color:#ffffffd9;font-weight:400;margin-top:2px}.recommended-badge{background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(255,255,255,.3);-ms-flex-negative:0;flex-shrink:0}.btn-google{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#fff;border:2px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:600;color:var(--gray-700);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);margin-bottom:var(--space-2)}.btn-google:hover{background:var(--gray-50);border-color:var(--gray-400);-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px #0000001a;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.btn-google svg{-ms-flex-negative:0;flex-shrink:0;width:20px;height:20px}.divider{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-4);margin:var(--space-6) 0;color:var(--gray-500);font-size:var(--text-sm);font-weight:500}.divider:before,.divider:after{content:"";-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:var(--gray-200)}.divider span{padding:0 var(--space-2)}.form-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--gray-900)}.form-group input{padding:12px var(--space-4);border:2px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);-webkit-transition:all var(--transition-base);transition:all var(--transition-base);background:#fff}.form-group input:hover{border-color:var(--gray-400)}.form-group input:focus{outline:none;border-color:var(--primary-500);-webkit-box-shadow:0 0 0 4px var(--primary-50);box-shadow:0 0 0 4px var(--primary-50)}.form-group input::-webkit-input-placeholder{color:var(--gray-400)}.form-group input::-moz-placeholder{color:var(--gray-400)}.form-group input:-ms-input-placeholder{color:var(--gray-400)}.form-group input::-ms-input-placeholder{color:var(--gray-400)}.form-group input::placeholder{color:var(--gray-400)}.input-hint{font-size:var(--text-xs);color:var(--gray-500);margin-top:var(--space-1)}.btn-modal-submit{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-2);padding:14px var(--space-4);background:linear-gradient(135deg,var(--primary-600),var(--primary-500));border:none;border-radius:var(--radius-lg);font-weight:700;font-size:var(--text-base);color:#fff;cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d;margin-top:var(--space-2)}.btn-modal-submit:hover:not(:disabled){-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 16px rgba(37,99,235,.4);box-shadow:0 6px 16px #2563eb66;background:linear-gradient(135deg,var(--primary-700),var(--primary-600))}.btn-modal-submit:disabled{opacity:.7;cursor:not-allowed;-webkit-transform:none;-ms-transform:none;transform:none}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;-webkit-animation:spin .6s linear infinite;animation:spin .6s linear infinite}.modal-footer{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--gray-200);text-align:center;font-size:var(--text-sm);color:var(--gray-600)}.modal-footer p{margin:0}.link-btn{background:none;border:none;color:var(--primary-600);font-weight:700;cursor:pointer;-webkit-transition:color var(--transition-base);transition:color var(--transition-base);font-size:var(--text-sm)}.link-btn:hover{color:var(--primary-700);text-decoration:underline}@media (max-width: 1024px){.hero-content-wrapper,.benefits-content{grid-template-columns:1fr;gap:var(--space-10)}.features-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.main-nav{display:none}.hero{padding:120px 0 60px}.hero-title{font-size:2rem}.features-grid,.steps-grid{grid-template-columns:1fr}.hero-stats{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-4)}.footer-content{grid-template-columns:1fr;gap:var(--space-8)}.auth-modal{padding:var(--space-6)}}.mobile-login-container{min-height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;padding:20px}.mobile-login-card{background:#fff;border-radius:24px;padding:48px 40px;max-width:440px;width:100%;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.3);box-shadow:0 20px 60px #0000004d;position:relative;z-index:10;-webkit-animation:slideUp .6s ease-out;animation:slideUp .6s ease-out}.login-header{text-align:center;margin-bottom:40px}.app-logo{font-size:64px;margin-bottom:16px;-webkit-animation:float 3s ease-in-out infinite;animation:float 3s ease-in-out infinite}.login-header h1{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 8px}.tagline{font-size:15px;color:#666;margin:0}.login-form{margin-bottom:32px}.input-group label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.mobile-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px}.country-code-select{-webkit-box-flex:0;-ms-flex:0 0 100px;flex:0 0 100px;padding:14px 12px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;background:#fff;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.country-code-select:focus{outline:none;border-color:#667eea;-webkit-box-shadow:0 0 0 3px rgba(102,126,234,.1);box-shadow:0 0 0 3px #667eea1a}.mobile-input{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:14px 16px;border:2px solid #e0e0e0;border-radius:12px;font-size:18px;font-weight:500;letter-spacing:1px;-webkit-transition:all .2s;transition:all .2s}.mobile-input:focus{outline:none;border-color:#667eea;-webkit-box-shadow:0 0 0 3px rgba(102,126,234,.1);box-shadow:0 0 0 3px #667eea1a}.mobile-input::-webkit-input-placeholder{color:#bbb;font-weight:400}.mobile-input::-moz-placeholder{color:#bbb;font-weight:400}.mobile-input:-ms-input-placeholder{color:#bbb;font-weight:400}.mobile-input::-ms-input-placeholder{color:#bbb;font-weight:400}.mobile-input::placeholder{color:#bbb;font-weight:400}.mobile-input:disabled,.country-code-select:disabled{background:#f5f5f5;cursor:not-allowed}.error-message{color:#f56565;font-size:13px;margin-top:6px;font-weight:500}.helper-text{color:#666;font-size:13px;margin:12px 0 24px;text-align:center}.continue-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;-webkit-transition:all .3s;transition:all .3s;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.4);box-shadow:0 4px 12px #667eea66}.continue-button:hover:not(:disabled){-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(102,126,234,.6);box-shadow:0 6px 20px #667eea99}.continue-button:active:not(:disabled){-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.continue-button:disabled{opacity:.5;cursor:not-allowed;-webkit-transform:none;-ms-transform:none;transform:none}.loading-dots{display:inline-block}.loading-dots span{-webkit-animation:blink 1.4s infinite both;animation:blink 1.4s infinite both}.loading-dots span:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s}.loading-dots span:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes blink{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes blink{0%,80%,to{opacity:0}40%{opacity:1}}.login-footer{text-align:center}.login-footer p{font-size:12px;color:#999;margin:0;line-height:1.6}.login-footer a{color:#667eea;text-decoration:none;font-weight:500}.login-footer a:hover{text-decoration:underline}@media (max-width: 480px){.mobile-login-card{padding:32px 24px}.app-logo{font-size:48px}.login-header h1{font-size:24px}.tagline{font-size:14px}.mobile-input{font-size:16px}.country-code-select{-webkit-box-flex:0;-ms-flex:0 0 90px;flex:0 0 90px;font-size:14px}}.otp-verification-container{min-height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;padding:20px}.otp-verification-card{background:#fff;border-radius:24px;padding:48px 40px;max-width:500px;width:100%;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.3);box-shadow:0 20px 60px #0000004d;position:relative;z-index:10;-webkit-animation:slideUp .6s ease-out;animation:slideUp .6s ease-out}.otp-header{text-align:center;margin-bottom:40px}.otp-icon{font-size:64px;margin-bottom:16px;-webkit-animation:pulse 2s ease-in-out infinite;animation:pulse 2s ease-in-out infinite}@-webkit-keyframes pulse{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}}@keyframes pulse{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}}.otp-header h1{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 12px}.otp-subtitle{font-size:15px;color:#666;margin:0 0 16px;line-height:1.6}.otp-subtitle strong{color:#333;font-weight:600}.edit-number-btn{background:none;border:none;color:#667eea;font-size:14px;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:8px;-webkit-transition:all .2s;transition:all .2s}.edit-number-btn:hover{background:#667eea1a}.otp-input-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;margin-bottom:24px}.otp-input{width:56px;height:60px;border:2px solid #e0e0e0;border-radius:12px;font-size:24px;font-weight:700;text-align:center;-webkit-transition:all .2s;transition:all .2s;color:#1a1a1a}.otp-input:focus{outline:none;border-color:#667eea;-webkit-box-shadow:0 0 0 3px rgba(102,126,234,.1);box-shadow:0 0 0 3px #667eea1a;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}.otp-input.filled{border-color:#667eea;background:#667eea0d}.otp-input.error{border-color:#f56565;-webkit-animation:shake .4s;animation:shake .4s}.otp-input:disabled{background:#f5f5f5;cursor:not-allowed}.otp-error{color:#f56565;font-size:14px;text-align:center;margin-bottom:16px;font-weight:500;padding:12px;background:#f565651a;border-radius:8px}.otp-loading{text-align:center;margin:24px 0}.spinner{width:40px;height:40px;border:4px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite;margin:0 auto 12px}.otp-loading p{color:#666;font-size:14px;margin:0}.otp-resend{text-align:center;margin:24px 0}.otp-resend p{color:#666;font-size:14px;margin:0}.resend-timer{color:#667eea;font-weight:600}.resend-btn{background:none;border:2px solid #667eea;color:#667eea;font-size:15px;font-weight:600;padding:12px 24px;border-radius:12px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.resend-btn:hover{background:#667eea;color:#fff;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d}.verify-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;-webkit-transition:all .3s;transition:all .3s;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.4);box-shadow:0 4px 12px #667eea66;margin-bottom:16px}.verify-button:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(102,126,234,.6);box-shadow:0 6px 20px #667eea99}.verify-button:active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.otp-help{text-align:center;font-size:13px;color:#999;margin:16px 0 0}.background-decoration{position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;z-index:1}.circle{position:absolute;border-radius:50%;background:#ffffff1a;-webkit-animation:float-random 20s ease-in-out infinite;animation:float-random 20s ease-in-out infinite}.circle-1{width:300px;height:300px;top:-100px;left:-100px}.circle-2{width:400px;height:400px;bottom:-150px;right:-150px;-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-duration:25s;animation-duration:25s}.circle-3{width:200px;height:200px;top:50%;right:10%;-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-duration:18s;animation-duration:18s}@-webkit-keyframes float-random{0%,to{-webkit-transform:translate(0,0) rotate(0deg);transform:translate(0) rotate(0)}33%{-webkit-transform:translate(30px,-30px) rotate(120deg);transform:translate(30px,-30px) rotate(120deg)}66%{-webkit-transform:translate(-20px,20px) rotate(240deg);transform:translate(-20px,20px) rotate(240deg)}}@keyframes float-random{0%,to{-webkit-transform:translate(0,0) rotate(0deg);transform:translate(0) rotate(0)}33%{-webkit-transform:translate(30px,-30px) rotate(120deg);transform:translate(30px,-30px) rotate(120deg)}66%{-webkit-transform:translate(-20px,20px) rotate(240deg);transform:translate(-20px,20px) rotate(240deg)}}@media (max-width: 480px){.otp-verification-card{padding:32px 24px}.otp-icon{font-size:48px}.otp-header h1{font-size:20px}.otp-subtitle{font-size:14px}.otp-input-group{gap:8px}.otp-input{width:48px;height:52px;font-size:20px}}.import-history{max-width:1200px;margin:0 auto;padding:2rem}.import-history-header{margin-bottom:2rem}.btn-back{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:.875rem;cursor:pointer;margin-bottom:1.5rem;-webkit-transition:all .2s;transition:all .2s}.btn-back:hover{background:#f9fafb;border-color:#d1d5db}.header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.header-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1rem}.header-icon{width:56px;height:56px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff}.import-history h1{font-size:1.875rem;font-weight:700;color:#111827;margin:0 0 .25rem}.subtitle{font-size:.875rem;color:#6b7280;margin:0}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;color:#991b1b;margin-bottom:1.5rem}.imports-count{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem;color:#6b7280}.imports-count strong{color:#111827;font-weight:600}.imports-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.imports-table table{width:100%;border-collapse:collapse}.imports-table thead{background:#f9fafb}.imports-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.imports-table td{padding:1rem;border-bottom:1px solid #f3f4f6;color:#111827}.imports-table tbody tr:last-child td{border-bottom:none}.imports-table tbody tr:hover{background:#f9fafb}.file-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;color:#111827;font-weight:500}.file-cell svg{color:#6b7280}.portfolio-badge{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500}.date-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.date-cell svg{color:#9ca3af}.time{color:#9ca3af;font-size:.8125rem}.transactions-count{color:#059669;font-weight:500;font-size:.875rem}.btn-delete-small{padding:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#ef4444;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-delete-small:hover{background:#fef2f2;border-color:#fecaca}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border:2px dashed #e5e7eb;border-radius:12px}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state h2{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .5rem}.empty-state p{color:#6b7280;margin:0 0 1.5rem}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.btn-primary:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 12px rgba(102,126,234,.4);box-shadow:0 4px 12px #667eea66}.loading-state{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite;margin-bottom:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;-webkit-animation:fadeIn .2s ease;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;max-width:800px;width:90%;max-height:85vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.3);box-shadow:0 20px 60px #0000004d;-webkit-animation:slideUp .3s ease;animation:slideUp .3s ease}@-webkit-keyframes slideUp{0%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes slideUp{0%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.notes-modal{max-width:900px}.modal-header{padding:24px;border-bottom:1px solid var(--border);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--dark)}.modal-subtitle{margin:4px 0 0;font-size:14px;color:var(--secondary)}.modal-close{background:none;border:none;font-size:32px;line-height:1;color:var(--secondary);cursor:pointer;padding:0;width:32px;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:6px;-webkit-transition:all .2s;transition:all .2s}.modal-close:hover{background:var(--light);color:var(--dark)}.modal-body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:24px}.notes-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;padding:0 24px;border-bottom:1px solid var(--border);overflow-x:auto}.tab-btn{background:none;border:none;padding:12px 16px;font-size:14px;font-weight:500;color:var(--secondary);cursor:pointer;border-bottom:2px solid transparent;-webkit-transition:all .2s;transition:all .2s;white-space:nowrap}.tab-btn:hover{color:var(--dark);background:var(--light)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.note-form-card{background:var(--light);padding:20px;border-radius:8px;margin-bottom:24px}.note-form-card h3{margin:0 0 16px;font-size:1.125rem;font-weight:600;color:var(--dark)}.note-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;min-height:100px;-webkit-transition:border-color .2s;transition:border-color .2s}.note-textarea:focus{outline:none;border-color:var(--primary);-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px #2563eb1a}.note-form-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:16px;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.note-form-controls{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1;flex:1}.note-form-controls .input{max-width:150px}.checkbox-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--dark)}.checkbox-label input[type=checkbox]{cursor:pointer}.note-form-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px}.character-count{text-align:right;font-size:12px;color:var(--secondary);margin-top:8px}.notes-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.note-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px;-webkit-transition:all .2s;transition:all .2s;position:relative}.note-card:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014;border-color:#d1d5db}.note-card.pinned{border-left:4px solid var(--primary);background:#f0f9ff}.pin-badge{position:absolute;top:12px;right:12px;background:var(--primary);color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.note-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.note-type-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.note-type-badge.type-general{background:#e5e7eb;color:#374151}.note-type-badge.type-research{background:#dbeafe;color:#1e40af}.note-type-badge.type-strategy{background:#d1fae5;color:#065f46}.note-type-badge.type-watchlist{background:#fef3c7;color:#92400e}.note-date{font-size:12px;color:var(--secondary)}.note-text{font-size:14px;line-height:1.6;color:var(--dark);white-space:pre-wrap;word-break:break-word;margin-bottom:12px}.note-updated{font-size:12px;color:var(--secondary);font-style:italic;margin-bottom:12px}.note-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;padding-top:12px;border-top:1px solid var(--border)}.btn-link{background:none;border:none;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;-webkit-transition:all .2s;transition:all .2s}.btn-link:hover{color:var(--primary-dark);text-decoration:underline}.btn-link.text-danger{color:var(--danger)}.btn-link.text-danger:hover{color:#dc2626}.empty-notes{text-align:center;padding:60px 20px;color:var(--secondary)}.empty-icon{font-size:3rem;margin-bottom:16px;display:block}.empty-notes p{margin:0;font-size:14px}@media (max-width: 768px){.modal-content{width:95%;max-height:90vh}.modal-header,.modal-body{padding:20px}.note-form-footer,.note-form-controls{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.note-form-controls .input{max-width:none}.note-form-actions{width:100%}.note-form-actions button{-webkit-box-flex:1;-ms-flex:1;flex:1}.notes-tabs{padding:0 16px}.tab-btn{padding:10px 12px;font-size:13px}.pin-badge{position:static;margin-bottom:8px;display:inline-block}.note-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px}}@media (max-width: 480px){.modal-header h2{font-size:1.25rem}.note-form-card{padding:16px}}.insight-card{background:#fff;border-radius:12px;padding:20px;border-left:4px solid;-webkit-transition:all .3s;transition:all .3s;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014}.insight-card:hover{-webkit-box-shadow:0 4px 16px rgba(0,0,0,.12);box-shadow:0 4px 16px #0000001f;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.insight-card.severity-high{border-left-color:#ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}.insight-card.severity-medium{border-left-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}.insight-card.severity-low{border-left-color:#6b7280;background:linear-gradient(135deg,#fff,#f9fafb)}.insight-card.severity-positive{border-left-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.insight-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:12px}.insight-icon{font-size:24px;-ms-flex-negative:0;flex-shrink:0}.insight-title-section{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;-ms-flex-wrap:wrap;flex-wrap:wrap}.insight-title{margin:0;font-size:1rem;font-weight:700;color:var(--dark)}.insight-symbol{background:var(--primary);color:#fff;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px}.insight-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;-ms-flex-negative:0;flex-shrink:0}.insight-badge.severity-high{background:#fee2e2;color:#991b1b}.insight-badge.severity-medium{background:#fef3c7;color:#92400e}.insight-badge.severity-low{background:#f3f4f6;color:#374151}.insight-badge.severity-positive{background:#d1fae5;color:#065f46}.insight-message{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--secondary)}.insight-data{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.data-pill{background:var(--light);color:var(--dark);padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600}.data-pill.positive{background:#d1fae5;color:#065f46}.data-pill.negative{background:#fee2e2;color:#991b1b}.insight-action-btn{width:100%;padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.insight-action-btn:hover{background:#1d4ed8;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 8px rgba(37,99,235,.3);box-shadow:0 4px 8px #2563eb4d}.insight-action-btn:active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}@media (max-width: 768px){.insight-card{padding:16px}.insight-header{gap:8px}.insight-icon{font-size:20px}.insight-title{font-size:.9rem}}.insight-card-modern{background:#fff;border-radius:16px;overflow:hidden;-webkit-transition:all .3s;transition:all .3s;-webkit-box-shadow:0 2px 12px rgba(0,0,0,.08);box-shadow:0 2px 12px #00000014;border:1px solid rgba(0,0,0,.06)}.insight-card-modern:hover{-webkit-box-shadow:0 8px 24px rgba(0,0,0,.12);box-shadow:0 8px 24px #0000001f;-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px);border-color:#0000001a}.insight-card-modern.severity-high{background:linear-gradient(135deg,#fff,#fef2f2);border-left:4px solid #ef4444}.insight-card-modern.severity-medium{background:linear-gradient(135deg,#fff,#fffbeb);border-left:4px solid #f59e0b}.insight-card-modern.severity-low{background:linear-gradient(135deg,#fff,#f9fafb);border-left:4px solid #6b7280}.insight-card-modern.severity-positive{background:linear-gradient(135deg,#fff,#f0fdf4);border-left:4px solid #10b981}.insight-card-main{padding:24px}.insight-header-modern{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:16px;margin-bottom:16px}.insight-icon-badge{background:#fff;padding:12px;border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px #0000001a;-ms-flex-negative:0;flex-shrink:0}.severity-high .insight-icon-badge{color:#ef4444;background:#fef2f2;-webkit-box-shadow:0 2px 8px rgba(239,68,68,.2);box-shadow:0 2px 8px #ef444433}.severity-medium .insight-icon-badge{color:#f59e0b;background:#fffbeb;-webkit-box-shadow:0 2px 8px rgba(245,158,11,.2);box-shadow:0 2px 8px #f59e0b33}.severity-low .insight-icon-badge{color:#6b7280;background:#f9fafb}.severity-positive .insight-icon-badge{color:#10b981;background:#f0fdf4;-webkit-box-shadow:0 2px 8px rgba(16,185,129,.2);box-shadow:0 2px 8px #10b98133}.insight-title-section-modern{-webkit-box-flex:1;-ms-flex:1;flex:1}.insight-title-modern{margin:0 0 8px;font-size:1.1rem;font-weight:700;color:var(--dark);line-height:1.4}.insight-badge-modern{display:inline-block;padding:4px 12px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.8px}.insight-badge-modern.severity-high{background:#fee2e2;color:#991b1b}.insight-badge-modern.severity-medium{background:#fef3c7;color:#92400e}.insight-badge-modern.severity-low{background:#f3f4f6;color:#374151}.insight-badge-modern.severity-positive{background:#d1fae5;color:#065f46}.insight-message-modern{margin:0 0 20px;font-size:14px;line-height:1.7;color:#4b5563}.insight-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.metric-chip{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;text-align:center;-webkit-transition:all .2s;transition:all .2s}.metric-chip:hover{border-color:#d1d5db;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014}.metric-label{display:block;font-size:11px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.metric-value{display:block;font-size:16px;font-weight:700;color:#111827}.metric-chip.metric-positive{background:#f0fdf4;border-color:#bbf7d0}.metric-chip.metric-positive .metric-value{color:#15803d}.metric-chip.metric-negative{background:#fef2f2;border-color:#fecaca}.metric-chip.metric-negative .metric-value{color:#dc2626}.metric-chip.metric-warning{background:#fffbeb;border-color:#fde68a}.metric-chip.metric-warning .metric-value{color:#d97706}.metric-chip.metric-info{background:#eff6ff;border-color:#bfdbfe}.metric-chip.metric-info .metric-value{color:#1e40af}.insight-expandable{margin-bottom:16px}.expand-toggle{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px;padding:10px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:13px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.expand-toggle:hover{background:#f3f4f6;border-color:#d1d5db}.action-details-panel{margin-top:12px;padding:16px;background:#ffffff80;border:1px solid #e5e7eb;border-radius:12px;-webkit-animation:slideDown .3s ease-out;animation:slideDown .3s ease-out}@-webkit-keyframes slideDown{0%{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.action-plan h5{margin:0 0 12px;font-size:14px;font-weight:700;color:#111827}.action-plan ul{margin:0;padding-left:20px}.action-plan li{margin-bottom:8px;font-size:13px;line-height:1.6;color:#4b5563}.action-plan strong{color:#111827;font-weight:700}.rebalance-sections{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.rebalance-sections strong{display:block;margin-bottom:8px;font-size:13px;color:#111827}.rebalance-sections ul{margin:0;padding-left:20px}.rebalance-sections li{margin-bottom:6px;font-size:13px;color:#4b5563}.insight-action-btn-modern{width:100%;padding:14px 20px;background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;-webkit-transition:all .3s;transition:all .3s;-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d;letter-spacing:.3px}.insight-action-btn-modern:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(37,99,235,.4);box-shadow:0 6px 20px #2563eb66}.insight-action-btn-modern:active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.severity-high .insight-action-btn-modern{background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-box-shadow:0 4px 12px rgba(239,68,68,.3);box-shadow:0 4px 12px #ef44444d}.severity-high .insight-action-btn-modern:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);-webkit-box-shadow:0 6px 20px rgba(239,68,68,.4);box-shadow:0 6px 20px #ef444466}.severity-positive .insight-action-btn-modern{background:linear-gradient(135deg,#10b981,#059669);-webkit-box-shadow:0 4px 12px rgba(16,185,129,.3);box-shadow:0 4px 12px #10b9814d}.severity-positive .insight-action-btn-modern:hover{background:linear-gradient(135deg,#059669,#047857);-webkit-box-shadow:0 6px 20px rgba(16,185,129,.4);box-shadow:0 6px 20px #10b98166}.severity-medium .insight-action-btn-modern{background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-box-shadow:0 4px 12px rgba(245,158,11,.3);box-shadow:0 4px 12px #f59e0b4d}.severity-medium .insight-action-btn-modern:hover{background:linear-gradient(135deg,#d97706,#b45309);-webkit-box-shadow:0 6px 20px rgba(245,158,11,.4);box-shadow:0 6px 20px #f59e0b66}@media (max-width: 768px){.insight-card-main{padding:20px}.insight-header-modern{gap:12px}.insight-icon-badge{padding:10px}.insight-title-modern{font-size:1rem}.insight-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.metric-value{font-size:14px}.insight-action-btn-modern{padding:12px 18px;font-size:13px}}.insights-banner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;padding:10px 16px;border-radius:10px;border:1px solid #e5e7eb;cursor:pointer;font-family:inherit;-webkit-transition:all .2s ease;transition:all .2s ease;margin-bottom:20px;background:#fff}.insights-banner:hover{-webkit-box-shadow:0 2px 12px rgba(0,0,0,.08);box-shadow:0 2px 12px #00000014;border-color:#d1d5db}.insights-banner-normal{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.insights-banner-normal:hover{border-color:#fbbf24}.insights-banner-urgent{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca;-webkit-animation:subtlePulse 3s ease-in-out infinite;animation:subtlePulse 3s ease-in-out infinite}.insights-banner-urgent:hover{border-color:#f87171;-webkit-animation:none;animation:none}@-webkit-keyframes subtlePulse{0%,to{-webkit-box-shadow:0 0 0 0 rgba(239,68,68,0);box-shadow:0 0 #ef444400}50%{-webkit-box-shadow:0 0 0 3px rgba(239,68,68,.1);box-shadow:0 0 0 3px #ef44441a}}@keyframes subtlePulse{0%,to{-webkit-box-shadow:0 0 0 0 rgba(239,68,68,0);box-shadow:0 0 #ef444400}50%{-webkit-box-shadow:0 0 0 3px rgba(239,68,68,.1);box-shadow:0 0 0 3px #ef44441a}}.insights-banner-items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.insights-banner-chip{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;font-size:13px;font-weight:600;white-space:nowrap}.chip-high{color:#dc2626}.chip-medium{color:#b45309}.chip-low{color:#15803d}.insights-banner-cta{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#2563eb;white-space:nowrap;-ms-flex-negative:0;flex-shrink:0}.insights-banner-loading{background:transparent;border:none;cursor:default;padding:0}.insights-banner-loading:hover{-webkit-box-shadow:none;box-shadow:none}.insights-banner-skeleton{height:42px;width:100%;border-radius:10px}@media (max-width: 768px){.insights-banner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;padding:12px 14px}.insights-banner-items{gap:10px}.insights-banner-cta{-ms-flex-item-align:end;align-self:flex-end}}.top-movers-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.top-movers-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 16px}.top-movers-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0}.movers-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;padding-left:2px}.gainers-label{color:#15803d}.losers-label{color:#dc2626}.movers-divider{height:1px;background:#f3f4f6;margin:10px 0}.top-mover-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:7px 6px;border-radius:8px;cursor:pointer;-webkit-transition:background .15s;transition:background .15s}.top-mover-row:hover{background:#f9fafb}.top-mover-icon{-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mover-icon-up{color:#10b981}.mover-icon-down{color:#ef4444}.top-mover-name{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:13px;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.top-mover-pct{font-size:13px;font-weight:700;font-family:SF Mono,Monaco,monospace;min-width:55px;text-align:right}.pct-up{color:#10b981}.pct-down{color:#ef4444}.top-mover-amt{font-size:12px;font-weight:500;min-width:70px;text-align:right;color:#6b7280}.amt-up{color:#059669}.amt-down{color:#dc2626}@media (max-width: 768px){.top-mover-amt{display:none}.top-mover-pct{min-width:50px}}.welcome-overlay{background:#000000b3}.welcome-modal{max-width:500px;text-align:center;padding:40px;position:relative}.skip-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--secondary);font-size:14px;cursor:pointer;padding:8px 12px;border-radius:6px;-webkit-transition:all .2s;transition:all .2s}.skip-btn:hover{background:var(--light);color:var(--dark)}.welcome-content{padding:20px 0}.welcome-icon{font-size:5rem;margin-bottom:24px}.welcome-modal h2{font-size:1.75rem;font-weight:700;color:var(--dark);margin:0 0 16px}.welcome-modal p{font-size:1rem;color:var(--secondary);line-height:1.6;margin:0}.welcome-footer{margin-top:40px}.progress-dots{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;margin-bottom:24px}.dot{width:10px;height:10px;border-radius:50%;background:#e5e7eb;-webkit-transition:all .3s;transition:all .3s}.dot.active{background:var(--primary);-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.dot.completed{background:var(--success)}.welcome-footer .btn{min-width:200px}.stock-analysis-modal{max-width:900px;max-height:90vh;overflow-y:auto}.stock-subtitle{margin:8px 0 0;font-size:16px;font-weight:600}.stock-subtitle span{margin-left:12px;font-size:14px}.stock-subtitle .positive{color:var(--success)}.stock-subtitle .negative{color:var(--danger)}.loading-state,.error-state{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:60px 20px;text-align:center}.spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:var(--primary);border-radius:50%;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite;margin-bottom:16px}.period-selector{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-bottom:24px;-ms-flex-wrap:wrap;flex-wrap:wrap}.period-btn{padding:8px 16px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.period-btn:hover{border-color:var(--primary);background:#f0f9ff}.period-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.chart-container{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014}.chart-container h3{margin:0 0 16px;font-size:1.1rem;font-weight:700;color:var(--dark)}.details-section{margin-bottom:24px}.details-section h3{margin:0 0 16px;font-size:1.1rem;font-weight:700;color:var(--dark)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.detail-item{background:#fff;padding:16px;border-radius:8px;border:1px solid var(--border);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.detail-item .label{font-size:13px;color:var(--secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-item .value{font-size:18px;font-weight:700;color:var(--dark)}.text-success{color:var(--success)!important}.text-danger{color:var(--danger)!important}.modal-footer{padding:20px 24px;border-top:1px solid var(--border);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:12px}@media (max-width: 768px){.stock-analysis-modal{width:95%;max-height:85vh}.details-grid{grid-template-columns:1fr 1fr}.period-selector{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.holdings-table-container{background:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);overflow:hidden}.holdings-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;padding:20px 24px 0;border-bottom:2px solid var(--gray-100);overflow-x:auto;scrollbar-width:thin}.tab-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:15px;font-weight:600;color:var(--gray-600);cursor:pointer;-webkit-transition:all .2s;transition:all .2s;white-space:nowrap;margin-bottom:-2px}.tab-button:hover{color:var(--primary-600);background:var(--primary-50);border-radius:8px 8px 0 0}.tab-button.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.tab-count{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:var(--gray-200);color:var(--gray-700);border-radius:12px;font-size:12px;font-weight:700}.tab-button.active .tab-count{background:var(--primary-100);color:var(--primary-700)}.market-data-warning{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:14px 24px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-bottom:2px solid #fbbf24;-webkit-animation:slideIn .3s ease-out;animation:slideIn .3s ease-out}.warning-icon{font-size:20px}.warning-text{font-size:14px;color:#92400e;line-height:1.5}.warning-text strong{font-weight:700;color:#78350f}.table-controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--gray-100);gap:var(--space-4);-ms-flex-wrap:wrap;flex-wrap:wrap}.table-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3)}.btn-refresh-holdings{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,var(--primary) 0%,#1d4ed8 100%);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;-webkit-box-shadow:0 2px 8px rgba(37,99,235,.2);box-shadow:0 2px 8px #2563eb33}.btn-refresh-holdings:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d}.btn-refresh-holdings:disabled{opacity:.6;cursor:not-allowed;-webkit-transform:none;-ms-transform:none;transform:none}.btn-refresh-holdings .spinning{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.search-input-wrapper{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:400px}.search-icon{position:absolute;left:var(--space-3);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);color:var(--gray-400);pointer-events:none}.search-input{width:100%;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-10);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.search-input:focus{outline:none;border-color:var(--primary-500);-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.table-info{font-size:var(--text-sm);color:var(--gray-500);font-weight:500}.table-wrapper{overflow-x:auto}.holdings-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.holdings-table thead{background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.holdings-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;font-size:var(--text-xs);color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.holdings-table th:hover{background:var(--gray-100)}.th-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1)}.holdings-table th.text-right .th-content{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.holdings-table th.text-center{text-align:center}.holdings-table tbody tr{border-bottom:1px solid var(--gray-100);-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.holdings-table tbody tr:hover{background:var(--gray-50)}.holding-row{cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.holding-row.expanded{background:var(--primary-50);border-left:3px solid var(--primary-500)}.holdings-table td{padding:var(--space-4);color:var(--gray-700)}.stock-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.stock-symbol{font-weight:700;font-size:var(--text-base);color:var(--gray-900);font-family:var(--font-mono)}.stock-name{font-size:var(--text-xs);color:var(--gray-500);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-cell,.value-cell,.quantity-cell{font-weight:600;color:var(--gray-900);font-family:var(--font-mono)}.pnl-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:2px;font-weight:700;font-family:var(--font-mono)}.pnl-cell>div:first-child{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2)}.pnl-cell.positive{color:var(--success)}.pnl-cell.negative{color:var(--danger)}.pnl-cell.no-market-data{color:var(--gray-400);font-style:italic;cursor:help}.pnl-amount{font-size:var(--text-xs);font-weight:500;opacity:.8}.nav-date-badge{font-size:10px;font-weight:600;color:#059669;background:linear-gradient(135deg,#d1fae5,#a7f3d0);padding:2px 6px;border-radius:4px;font-family:var(--font-sans);letter-spacing:.3px;margin-top:2px;cursor:help}.action-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-2);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.action-btn{width:32px;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:var(--gray-100);border:none;border-radius:var(--radius-md);color:var(--gray-600);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.action-btn:hover{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.action-btn-notes{background:var(--primary-50);color:var(--primary-600)}.action-btn-notes:hover{background:var(--primary-100)}.action-btn-analysis{background:var(--accent-50, #f0fdfa);color:var(--accent-600)}.action-btn-analysis:hover{background:var(--accent-100, #ccfbf1)}.empty-table{padding:var(--space-16);text-align:center;color:var(--gray-500);font-size:var(--text-base)}.expanded-details-row{background:var(--gray-50);border-top:none!important}.expanded-details{padding:var(--space-6);-webkit-animation:slideDown .3s ease-out;animation:slideDown .3s ease-out}@-webkit-keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.detail-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--space-3);background:#fff;border-radius:var(--radius-md);border:1px solid var(--gray-200)}.detail-label{font-size:var(--text-sm);color:var(--gray-600);font-weight:500}.detail-value{font-size:var(--text-sm);color:var(--gray-900);font-weight:600;font-family:var(--font-mono)}.detail-value.positive{color:var(--success)}.detail-value.negative{color:var(--danger)}.detail-badge{display:inline-block;padding:4px 10px;background:var(--primary-100);color:var(--primary-700);border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 1024px){.holdings-table{font-size:var(--text-xs)}.stock-name{display:none}.holdings-table th,.holdings-table td{padding:var(--space-2) var(--space-3)}}@media (max-width: 768px){.holdings-tabs{padding:16px 16px 0}.tab-button{padding:10px 14px;font-size:13px}.tab-count{min-width:20px;height:20px;padding:0 6px;font-size:11px}.market-data-warning{padding:12px 16px;font-size:13px}.warning-icon{font-size:18px}.table-controls{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;padding:var(--space-3) var(--space-4)}.search-input-wrapper{max-width:none}.table-actions{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1;margin-bottom:var(--space-2)}.btn-refresh-holdings{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:12px 16px}.table-info{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;text-align:center}.table-wrapper{border-radius:0}.holdings-table th:nth-child(3),.holdings-table td:nth-child(3){display:none}.details-grid{grid-template-columns:1fr}.transactions-table-wrapper{overflow-x:auto}}.transactions-section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-color)}.transactions-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-4);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2)}.transactions-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary)}.transactions-table{width:100%;border-collapse:collapse;font-size:13px}.transactions-table thead{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.transactions-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.transactions-table tbody tr{border-bottom:1px solid var(--border-color);-webkit-transition:background-color .15s ease;transition:background-color .15s ease}.transactions-table tbody tr:last-child{border-bottom:none}.transactions-table tbody tr:hover{background:var(--bg-hover)}.transactions-table td{padding:12px;color:var(--text-primary)}.transactions-table .date-cell{color:var(--text-secondary);font-size:12px}.txn-type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.txn-type-badge.buy{background:#10b9811a;color:#10b981}.txn-type-badge.sell{background:#ef44441a;color:#ef4444}.txn-type-badge.dividend{background:#f59e0b1a;color:#f59e0b}.transactions-table .text-right{text-align:right;font-variant-numeric:tabular-nums}.import-modal{width:90%;max-width:800px;max-height:90vh;overflow-y:auto}.import-modal .modal-header{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-bottom:none}.import-modal .modal-header h2{color:#fff;font-size:22px}.import-modal .close-button{color:#fffc}.import-modal .close-button:hover{color:#fff}.import-info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:12px;padding:20px;margin-bottom:24px}.import-info p{margin:6px 0;color:var(--dark);font-size:15px;line-height:1.6}.import-info p:first-child{font-size:16px;font-weight:600}.import-info strong{color:var(--primary);font-weight:700;font-size:17px}.help-text{font-size:14px;color:var(--secondary);line-height:1.5}.file-input-wrapper{position:relative}.file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.file-input-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:20px 24px;background:linear-gradient(135deg,#fff,#f8fafc);border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s;color:var(--secondary);font-weight:600;font-size:15px;min-height:70px}.file-input-label:hover{border-color:var(--primary);background:linear-gradient(135deg,#eff6ff,#dbeafe);color:var(--primary);border-style:solid;-webkit-box-shadow:0 4px 12px rgba(37,99,235,.15);box-shadow:0 4px 12px #2563eb26}.file-input:focus+.file-input-label{outline:2px solid var(--primary);outline-offset:2px;border-style:solid}.preview-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:24px}.preview-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981;color:#065f46;padding:16px 20px;border-radius:12px;font-weight:600;font-size:15px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-box-shadow:0 2px 8px rgba(16,185,129,.15);box-shadow:0 2px 8px #10b98126}.preview-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:24px}.preview-summary h3{margin:0 0 20px;font-size:18px;font-weight:700;color:var(--dark)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px}.summary-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-webkit-transition:all .2s;transition:all .2s}.summary-item:hover{border-color:var(--primary);-webkit-box-shadow:0 4px 12px rgba(37,99,235,.1);box-shadow:0 4px 12px #2563eb1a;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.summary-item.warning{background:#fffbeb;border-color:#fbbf24}.summary-icon{font-size:28px;opacity:.9}.summary-details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px;-webkit-box-flex:1;-ms-flex:1;flex:1}.summary-label{font-size:13px;color:var(--secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:22px;font-weight:700;color:var(--dark)}.summary-item.warning .summary-value{color:#d97706}.breakdown-chips{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:10px;padding-top:16px;border-top:1px solid #e2e8f0}.duplicate-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;padding:14px 16px;margin-top:16px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:10px;font-size:13px;color:#1e40af;line-height:1.5}.duplicate-info .info-icon{-ms-flex-negative:0;flex-shrink:0;font-size:18px}.duplicate-info .info-text{-webkit-box-flex:1;-ms-flex:1;flex:1}.duplicate-info .info-text strong{font-weight:600;color:#1e3a8a}.breakdown-chip{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid var(--border);border-radius:20px;font-size:14px;-webkit-transition:all .2s;transition:all .2s}.breakdown-chip:hover{border-color:var(--primary);background:var(--light-blue)}.chip-label{font-weight:600;color:var(--dark)}.chip-count{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:var(--primary);color:#fff;border-radius:12px;font-size:12px;font-weight:700}.preview-table-container{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.05);box-shadow:0 1px 3px #0000000d}.preview-table-container h3{margin:0 0 16px;font-size:17px;font-weight:700;color:var(--dark);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.preview-table-container h3:before{content:"📋";font-size:20px}.preview-table{width:100%;border-collapse:collapse;font-size:14px}.preview-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.preview-table th{text-align:left;padding:12px 14px;font-weight:700;color:var(--dark);border-bottom:2px solid #e2e8f0;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.preview-table td{padding:14px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.preview-table tbody tr{-webkit-transition:all .15s;transition:all .15s}.preview-table tbody tr:hover{background:#f8fafc;-webkit-box-shadow:inset 0 0 0 1px #e2e8f0;box-shadow:inset 0 0 0 1px #e2e8f0}.preview-table td strong{color:var(--dark);font-weight:700}.preview-note{margin-top:16px;padding:12px;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;font-size:14px;color:#92400e;font-weight:500;text-align:center}.preview-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-top:24px;border-top:2px solid #e2e8f0;margin-top:24px}.preview-actions .btn{min-width:140px;font-weight:600;padding:12px 24px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px}.btn-success{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff;-webkit-box-shadow:0 4px 12px rgba(16,185,129,.3);box-shadow:0 4px 12px #10b9814d}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 6px 16px rgba(16,185,129,.4);box-shadow:0 6px 16px #10b98166}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;-webkit-animation:spin .6s linear infinite;animation:spin .6s linear infinite}.badge{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid #10b981}.badge-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid #ef4444}.input-group{margin-bottom:20px}.input-label{display:block;margin-bottom:8px;font-weight:600;color:var(--dark);font-size:15px}.input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:15px;-webkit-transition:all .2s;transition:all .2s;background:#fff}.input:focus{outline:none;border-color:var(--primary);-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px #2563eb1a}.text-secondary{display:block;margin-top:6px;font-size:13px;color:var(--secondary);line-height:1.4}.btn{padding:12px 24px;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border:2px solid transparent;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#1d4ed8 100%);color:#fff;border-color:var(--primary);-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:14px 24px;margin-top:8px}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 6px 16px rgba(37,99,235,.4);box-shadow:0 6px 16px #2563eb66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;-webkit-transform:none;-ms-transform:none;transform:none}.btn-outline{background:#fff;color:var(--dark);border-color:var(--border)}.btn-outline:hover:not(:disabled){background:var(--light);border-color:var(--primary);color:var(--primary)}.alert{padding:14px 18px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:500;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.alert-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #ef4444;color:#991b1b}.alert-danger:before{content:"❌";font-size:18px}.alert-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981;color:#065f46}.alert-success:before{content:"✅";font-size:18px}@media (max-width: 768px){.import-modal{width:95%;max-height:95vh;margin:10px}.import-modal .modal-header{padding:16px 20px}.import-modal .modal-header h2{font-size:18px}.modal-body{padding:20px}.summary-grid{grid-template-columns:1fr}.summary-item{padding:14px}.summary-value{font-size:20px}.breakdown-chips{gap:8px}.breakdown-chip{font-size:13px;padding:6px 12px}.preview-table-container{overflow-x:auto;padding:16px}.preview-table{min-width:600px;font-size:13px}.preview-table th,.preview-table td{padding:10px}.preview-actions{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;gap:10px}.preview-actions .btn{width:100%}.file-input-label{padding:16px 20px;min-height:60px;font-size:14px}.import-steps{padding:12px 16px}.step{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.step-label{font-size:11px}.step-number{width:30px;height:30px;font-size:13px}.step-divider{width:20px;margin:0 4px}.success-stats{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.btn-large{padding:14px 24px;font-size:16px}}.import-steps{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:20px 30px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;margin-bottom:0}.step{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.step-number{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #cbd5e1;color:#64748b;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:16px;-webkit-transition:all .3s;transition:all .3s}.step.active .step-number{background:var(--primary);border-color:var(--primary);color:#fff;-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d}.step.complete .step-number{background:#10b981;border-color:#10b981;color:#fff}.step-label{font-size:13px;font-weight:600;color:#64748b;text-align:center}.step.active .step-label{color:var(--primary)}.step.complete .step-label{color:#10b981}.step-divider{-webkit-box-flex:1;-ms-flex:1;flex:1;height:2px;background:#cbd5e1;margin:0 10px;position:relative;top:-12px;min-width:30px;max-width:100px}.step.complete+.step-divider{background:#10b981}.processing-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:40px 20px;text-align:center}.processing-animation{margin-bottom:24px}.spinner-large{width:64px;height:64px;border:4px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite}.processing-section h3{margin:0 0 12px;font-size:24px;font-weight:700;color:var(--dark)}.processing-message{font-size:15px;color:var(--secondary);margin-bottom:32px;max-width:500px}.progress-bar-container{width:100%;max-width:500px;margin-bottom:32px}.progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,#1d4ed8 100%);-webkit-transition:width .3s ease;transition:width .3s ease;border-radius:4px}.progress-text{font-size:14px;font-weight:600;color:var(--secondary)}.processing-checklist{width:100%;max-width:400px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;text-align:left}.checklist-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9}.checklist-item:last-child{border-bottom:none}.checklist-icon{width:24px;height:24px;border-radius:50%;background:#f1f5f9;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:14px;-ms-flex-negative:0;flex-shrink:0}.checklist-item.complete .checklist-icon{background:#d1fae5;color:#10b981}.checklist-label{font-size:14px;color:#64748b;font-weight:500}.checklist-item.complete .checklist-label{color:var(--dark);font-weight:600}.success-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:40px 20px;text-align:center}.success-icon{margin-bottom:20px;-webkit-animation:successPop .5s ease-out;animation:successPop .5s ease-out}@-webkit-keyframes successPop{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes successPop{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.success-section h2{margin:0 0 12px;font-size:28px;font-weight:700;color:var(--dark)}.success-message{font-size:16px;color:var(--secondary);margin-bottom:32px}.success-stats{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;margin-bottom:32px;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.success-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px;min-width:150px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.05);box-shadow:0 2px 8px #0000000d}.success-stat .stat-icon{font-size:32px}.success-stat .stat-details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.success-stat .stat-value{font-size:24px;font-weight:700;color:var(--dark)}.success-stat .stat-label{font-size:13px;color:var(--secondary);font-weight:500;text-align:center}.success-note{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:14px 18px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:10px;font-size:14px;color:#1e40af;margin-bottom:32px;max-width:500px}.success-note .info-icon{font-size:18px;-ms-flex-negative:0;flex-shrink:0}.btn-large{padding:16px 32px;font-size:17px;font-weight:700;min-width:200px}.btn-success.btn-large{-webkit-box-shadow:0 6px 20px rgba(16,185,129,.35);box-shadow:0 6px 20px #10b98159}.btn-success.btn-large:hover:not(:disabled){-webkit-box-shadow:0 8px 24px rgba(16,185,129,.45);box-shadow:0 8px 24px #10b98173;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.modal-overlay-mfcentral{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;padding:20px;-webkit-animation:fadeIn .3s ease-out;animation:fadeIn .3s ease-out}.modal-content-mfcentral{background:#fff;border-radius:24px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.3);box-shadow:0 20px 60px #0000004d;-webkit-animation:slideUp .3s ease-out;animation:slideUp .3s ease-out}.modal-header-mfcentral{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:32px 32px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#fff)}.modal-header-mfcentral h2{margin:0 0 8px;font-size:28px;font-weight:800;color:#111827;letter-spacing:-.5px}.modal-header-mfcentral p{margin:0;font-size:14px;color:#6b7280}.modal-close-btn{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:8px;-webkit-transition:all .2s;transition:all .2s}.modal-close-btn:hover{background:#f3f4f6;color:#111827}.sync-progress-steps{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:24px 32px;background:#f9fafb}.progress-step{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.step-circle{width:40px;height:40px;border-radius:50%;background:#fff;border:3px solid #e5e7eb;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:16px;color:#9ca3af;-webkit-transition:all .3s;transition:all .3s}.progress-step.active .step-circle{border-color:#2563eb;background:#2563eb;color:#fff;-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d}.progress-step.completed .step-circle{border-color:#10b981;background:#10b981;color:#fff}.progress-step span{font-size:12px;font-weight:600;color:#6b7280;text-align:center}.progress-step.active span{color:#2563eb}.progress-step.completed span{color:#10b981}.progress-line{-webkit-box-flex:1;-ms-flex:1;flex:1;height:3px;background:#e5e7eb;margin:0 8px 28px;border-radius:2px}.modal-body-mfcentral{padding:32px}.step-content{text-align:center;-webkit-animation:fadeIn .4s ease-out;animation:fadeIn .4s ease-out}.step-icon{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#2563eb}.step-icon-success{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#f0fdf4,#d1fae5);border-radius:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#10b981}.step-content h3{margin:0 0 12px;font-size:24px;font-weight:700;color:#111827}.step-description{margin:0 0 32px;font-size:15px;color:#6b7280;line-height:1.6}.form-group{margin-bottom:24px;text-align:left}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#374151}.input-field{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:16px;-webkit-transition:all .2s;transition:all .2s;background:#fff}.input-field:focus{outline:none;border-color:#2563eb;-webkit-box-shadow:0 0 0 4px rgba(37,99,235,.1);box-shadow:0 0 0 4px #2563eb1a}.form-group small{display:block;margin-top:6px;font-size:13px;color:#6b7280}.consent-checkbox{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:16px;background:#f9fafb;border-radius:12px;margin-bottom:16px;text-align:left}.consent-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.consent-checkbox label{font-size:14px;color:#374151;cursor:pointer;margin:0}.security-note{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px;padding:12px;background:#f0fdf4;border:1px solid #d1fae5;border-radius:10px;font-size:13px;color:#065f46;margin-bottom:24px}.otp-input-container{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:20px}.otp-input{width:56px;height:64px;text-align:center;font-size:24px;font-weight:700;border:2px solid #e5e7eb;border-radius:12px;-webkit-transition:all .2s;transition:all .2s}.otp-input:focus{outline:none;border-color:#2563eb;-webkit-box-shadow:0 0 0 4px rgba(37,99,235,.1);box-shadow:0 0 0 4px #2563eb1a}.otp-timer{font-size:14px;color:#6b7280;margin-bottom:16px}.otp-timer strong{color:#ef4444;font-weight:700}.resend-otp{font-size:14px;color:#6b7280;margin-bottom:24px}.resend-otp button{background:none;border:none;color:#2563eb;font-weight:600;cursor:pointer;text-decoration:underline}.resend-otp button:hover{color:#1d4ed8}.loading-spinner-large{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#2563eb}.spinner{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.progress-checklist{text-align:left;max-width:400px;margin:32px auto}.progress-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:12px;margin-bottom:8px;border-radius:8px}.progress-item.completed{background:#f0fdf4;color:#065f46}.progress-item.active{background:#eff6ff;color:#1e40af}.progress-item span{font-size:14px;font-weight:500}.step-dot{width:20px;height:20px;border-radius:50%;border:2px solid #e5e7eb}.fetch-note{font-size:13px;color:#9ca3af;font-style:italic;margin-top:16px}.summary-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:24px}.summary-card h4{margin:0 0 16px;font-size:18px;font-weight:700;color:#111827}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.summary-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.summary-item span{font-size:13px;color:#6b7280;font-weight:600}.summary-item strong{font-size:20px;color:#111827;font-weight:700}.category-chips{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.category-chip{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;font-size:13px}.chip-label{font-weight:600;color:#374151}.chip-count{background:#2563eb;color:#fff;padding:2px 8px;border-radius:10px;font-weight:700;font-size:11px}.changes-summary{margin-bottom:24px}.changes-summary h4{margin:0 0 16px;font-size:18px;font-weight:700;color:#111827;text-align:left}.changes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.change-stat{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:16px;background:#fff;border:2px solid;border-radius:12px;-webkit-transition:all .2s;transition:all .2s}.change-stat.added{border-color:#d1fae5;background:linear-gradient(135deg,#fff,#f0fdf4)}.change-stat.removed{border-color:#fecaca;background:linear-gradient(135deg,#fff,#fef2f2)}.change-stat.updated{border-color:#fed7aa;background:linear-gradient(135deg,#fff,#fffbeb)}.change-stat.unchanged{border-color:#e5e7eb;background:#f9fafb}.change-icon{font-size:24px}.change-stat div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.change-stat strong{font-size:24px;font-weight:700;color:#111827}.change-stat span{font-size:12px;color:#6b7280;font-weight:600}.changes-details-container{margin-bottom:24px;text-align:left}.changes-details{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.changes-details summary{padding:16px;background:#f9fafb;cursor:pointer;font-weight:600;color:#374151;font-size:14px;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.changes-details summary:hover{background:#f3f4f6}.changes-details summary:after{content:"▼";-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.changes-details[open] summary:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.changes-list{padding:16px;max-height:300px;overflow-y:auto}.change-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:12px;padding:12px;margin-bottom:8px;border-radius:8px;border-left:4px solid}.change-item.added{background:#f0fdf4;border-color:#10b981}.change-item.removed{background:#fef2f2;border-color:#ef4444}.change-item.updated{background:#fffbeb;border-color:#f59e0b}.change-badge{padding:4px 8px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.5px;white-space:nowrap}.change-item.added .change-badge{background:#d1fae5;color:#065f46}.change-item.removed .change-badge{background:#fee2e2;color:#991b1b}.change-item.updated .change-badge{background:#fef3c7;color:#92400e}.change-info{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.change-info strong{font-size:14px;color:#111827}.change-info span{font-size:13px;color:#6b7280}.no-changes-state{padding:24px 0}.no-changes-state p{font-size:16px;color:#6b7280;margin-bottom:24px}.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.stat-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;padding:16px;background:#fff;border:2px solid #e5e7eb;border-radius:12px}.stat-label{font-size:13px;color:#6b7280;font-weight:600}.stat-value{font-size:24px;color:#111827;font-weight:700}.step-success{padding:24px 0}.success-animation{width:100px;height:100px;margin:0 auto 24px;background:linear-gradient(135deg,#f0fdf4,#d1fae5);border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#10b981;-webkit-animation:scaleIn .5s ease-out;animation:scaleIn .5s ease-out}@-webkit-keyframes scaleIn{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scaleIn{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}.success-summary{margin:24px 0;padding:20px;background:#f0fdf4;border:1px solid #d1fae5;border-radius:12px;text-align:left}.success-summary p{margin:0 0 12px;font-weight:600;color:#065f46}.success-summary ul{margin:0;padding-left:0;list-style:none}.success-summary li{padding:6px 0;font-size:14px;color:#047857}.success-note{font-size:14px;color:#6b7280;margin:20px 0}.tip-box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px;padding:14px 20px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;font-size:14px;color:#1e40af;margin-bottom:24px}.tip-box span:first-child{font-size:18px}.error-message{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:10px;padding:14px 18px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-size:14px;font-weight:600;margin-bottom:20px;-webkit-animation:shake .3s ease-out;animation:shake .3s ease-out}@-webkit-keyframes shake{0%,to{-webkit-transform:translateX(0);transform:translate(0)}25%{-webkit-transform:translateX(-8px);transform:translate(-8px)}75%{-webkit-transform:translateX(8px);transform:translate(8px)}}@keyframes shake{0%,to{-webkit-transform:translateX(0);transform:translate(0)}25%{-webkit-transform:translateX(-8px);transform:translate(-8px)}75%{-webkit-transform:translateX(8px);transform:translate(8px)}}.modal-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;margin-top:24px}.btn-secondary{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:14px 24px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;font-weight:600;color:#374151;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.btn-primary{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:14px 24px;background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-radius:10px;font-size:15px;font-weight:600;color:#fff;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e3a8a);-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(37,99,235,.4);box-shadow:0 6px 20px #2563eb66}.btn-primary:disabled{opacity:.5;cursor:not-allowed;-webkit-transform:none;-ms-transform:none;transform:none}.btn-success{background:linear-gradient(135deg,#10b981,#059669);-webkit-box-shadow:0 4px 12px rgba(16,185,129,.3);box-shadow:0 4px 12px #10b9814d}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);-webkit-box-shadow:0 6px 20px rgba(16,185,129,.4);box-shadow:0 6px 20px #10b98166}.btn-wide{width:100%;max-width:300px;margin:0 auto}.step-preview{text-align:left}.step-preview h3{text-align:center}@media (max-width: 768px){.modal-content-mfcentral{max-width:100%;max-height:100vh;border-radius:0;margin:0}.modal-header-mfcentral{padding:24px 20px 20px}.modal-header-mfcentral h2{font-size:24px}.sync-progress-steps{padding:16px 20px;overflow-x:auto}.progress-step span{font-size:11px}.step-circle{width:36px;height:36px;font-size:14px}.modal-body-mfcentral{padding:24px 20px}.otp-input-container{gap:8px}.otp-input{width:48px;height:56px;font-size:20px}.summary-grid{grid-template-columns:1fr}.changes-grid{grid-template-columns:repeat(2,1fr)}.modal-actions{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.btn-secondary,.btn-primary{width:100%}}.profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;padding:20px;-webkit-animation:fadeIn .3s ease-out;animation:fadeIn .3s ease-out}.profile-modal{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.3);box-shadow:0 20px 60px #0000004d;position:relative;-webkit-animation:slideUp .4s ease-out;animation:slideUp .4s ease-out}@-webkit-keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.modal-close-btn{position:absolute;top:16px;right:16px;background:#0000000d;border:none;border-radius:8px;width:32px;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;color:#666;z-index:10}.modal-close-btn:hover{background:#0000001a;color:#333}.modal-header{padding:32px 32px 24px;border-bottom:1px solid #f0f0f0}.modal-header h2{font-size:24px;font-weight:700;color:#1a1a1a;margin:0}.modal-form{padding:32px}.modal-intro{margin-bottom:32px}.modal-intro h3{font-size:18px;font-weight:600;color:#333;margin:0 0 8px}.modal-intro p{font-size:14px;color:#666;margin:0;line-height:1.5}.form-field{margin-bottom:24px}.form-field label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.field-hint{display:block;font-size:12px;color:#999;font-weight:400;margin-top:4px}.form-field input,.form-field select{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;-webkit-transition:all .2s;transition:all .2s;background:#fff}.form-field input:focus,.form-field select:focus{outline:none;border-color:#667eea;-webkit-box-shadow:0 0 0 3px rgba(102,126,234,.1);box-shadow:0 0 0 3px #667eea1a}.form-field input::-webkit-input-placeholder{color:#bbb}.form-field input::-moz-placeholder{color:#bbb}.form-field input:-ms-input-placeholder{color:#bbb}.form-field input::-ms-input-placeholder{color:#bbb}.form-field input::placeholder{color:#bbb}.form-field select{cursor:pointer}.modal-error{background:#fff5f5;border:1px solid #f56565;border-radius:8px;padding:12px 16px;color:#c53030;font-size:14px;margin-bottom:24px}.modal-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;margin-top:32px}.modal-actions button{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:14px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border:none}.btn-secondary{background:#f5f5f5;color:#666}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d}.btn-primary:hover:not(:disabled){-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(102,126,234,.4);box-shadow:0 6px 20px #667eea66}.btn-primary:active:not(:disabled){-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}.modal-footer{padding:16px 32px 32px;text-align:center}.privacy-note{font-size:12px;color:#999;margin:0}@media (max-width: 480px){.profile-modal{max-width:100%;margin:0;border-radius:16px 16px 0 0;max-height:95vh}.modal-header{padding:24px 20px 16px}.modal-header h2{font-size:20px}.modal-form{padding:24px 20px}.modal-footer{padding:12px 20px 24px}.modal-actions{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.modal-actions button{width:100%}}.profile-progress-bar-container{background:linear-gradient(135deg,#fff9e6,#fff3cc);border:1px solid #ffd966;border-radius:8px;padding:12px 16px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;margin-bottom:20px;-webkit-border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;display:block}.profile-progress-bar-container:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.1);box-shadow:0 4px 12px #0000001a}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center}.progress-message{font-size:13px;font-weight:500;color:#333}.progress-value{font-size:13px;font-weight:700;color:#667eea}.progress-bar{width:100%;height:6px;background:#0000001a;border-radius:3px;overflow:hidden;-webkit-border-radius:3px;position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}.progress-fill{height:100%;border-radius:3px;transition:width .6s ease-out;-webkit-border-radius:3px;-webkit-transition:width .6s ease-out;display:block;position:relative;min-width:0;will-change:width}.profile-progress-compact{cursor:pointer;padding:4px;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.profile-progress-compact:hover{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.progress-circle{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;-webkit-border-radius:50%;display:-webkit-box;display:-ms-flexbox;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center}.progress-circle-inner{width:38px;height:38px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;-webkit-border-radius:50%;display:-webkit-box;display:-ms-flexbox;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center}.progress-percentage{font-size:11px;font-weight:700;color:#333}@media (max-width: 768px){.profile-progress-bar-container{padding:10px 14px}.progress-message,.progress-value{font-size:12px}}.portfolio-improved{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.portfolio-improved *{-webkit-box-sizing:border-box;box-sizing:border-box}.portfolio-header-new{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:20px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.portfolio-header-left{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:200px}.page-title{font-size:var(--text-2xl);font-weight:700;color:var(--gray-900);margin-bottom:2px}.page-subtitle{font-size:var(--text-sm);color:var(--gray-500)}.portfolio-header-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.last-updated-text{font-size:12px;color:var(--gray-400);white-space:nowrap}.actions-dropdown-wrapper{position:relative}.btn-actions-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:7px 14px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--gray-700);cursor:pointer;-webkit-transition:all .15s;transition:all .15s;font-family:inherit}.btn-actions-toggle:hover{border-color:var(--gray-300);-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f}.actions-label{display:inline}.actions-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);-webkit-box-shadow:0 8px 24px rgba(0,0,0,.12);box-shadow:0 8px 24px #0000001f;z-index:50;min-width:200px;padding:6px;-webkit-animation:dropIn .15s ease-out;animation:dropIn .15s ease-out}@-webkit-keyframes dropIn{0%{opacity:0;-webkit-transform:translateY(-4px);transform:translateY(-4px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes dropIn{0%{opacity:0;-webkit-transform:translateY(-4px);transform:translateY(-4px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.actions-dropdown-menu button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--gray-700);cursor:pointer;font-family:inherit;-webkit-transition:background .1s;transition:background .1s;text-align:left}.actions-dropdown-menu button:hover:not(:disabled){background:var(--gray-50);color:var(--gray-900)}.actions-dropdown-menu button:disabled{opacity:.4;cursor:not-allowed}.dropdown-divider{height:1px;background:var(--gray-100);margin:4px 0}.mfcentral-sync-banner{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:var(--radius-lg);padding:12px 16px;margin-bottom:16px}.sync-banner-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.sync-icon{font-size:24px;-ms-flex-negative:0;flex-shrink:0}.sync-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px;-webkit-box-flex:1;-ms-flex:1;flex:1}.sync-info strong{font-size:14px;font-weight:700;color:#166534}.sync-date{font-size:13px;color:#15803d;font-weight:600}.sync-note{font-size:12px;color:#16a34a;font-style:italic}.hero-metrics{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:24px 28px 16px;margin-bottom:16px}.hero-primary{margin-bottom:16px}.hero-value-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap}.hero-label{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;width:100%;margin-bottom:-6px}.hero-value{font-size:36px;font-weight:700;color:var(--gray-900);font-family:var(--font-mono);line-height:1.1}.hero-change{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;font-size:14px;font-weight:600;padding:3px 10px;border-radius:20px}.hero-change.positive{color:#059669;background:#ecfdf5}.hero-change.negative{color:#dc2626;background:#fef2f2}.hero-secondary{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:0;padding:12px 0;border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100);margin-bottom:12px}.hero-metric-item{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.hero-metric-label{display:block;font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.hero-metric-value{font-size:18px;font-weight:700;color:var(--gray-900);font-family:var(--font-mono)}.hero-metric-divider{width:1px;height:36px;background:var(--gray-200);-ms-flex-negative:0;flex-shrink:0}.hero-health-strip{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.health-pill{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;border:none;cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;-webkit-transition:opacity .15s,-webkit-transform .15s;transition:opacity .15s,-webkit-transform .15s;transition:opacity .15s,transform .15s;transition:opacity .15s,transform .15s,-webkit-transform .15s}.health-pill:hover{opacity:.85;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.health-pill.risk{background:#fff7ed;color:#c2410c}.health-pill.projection{background:#eff6ff;color:#1d4ed8}.health-pill.var-pill{background:#fdf4ff;color:#7e22ce}.health-strip-skeleton{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px}.health-pill-skeleton{height:28px;width:140px;border-radius:14px}.hero-holdings-pill{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:4px 10px;background:var(--gray-50);border-radius:14px;font-size:12px;font-weight:600;color:var(--gray-600);margin-left:auto}.holdings-breakdown{font-weight:400;color:var(--gray-400)}.sticky-scroll-bar{position:fixed;top:0;left:0;right:0;z-index:100;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--gray-200);padding:8px 32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-animation:slideDown .2s ease-out;animation:slideDown .2s ease-out;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f}@-webkit-keyframes slideDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.sticky-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.sticky-value{font-size:16px;font-weight:700;color:var(--gray-900);font-family:var(--font-mono)}.sticky-change{font-size:13px;font-weight:600;padding:2px 8px;border-radius:12px}.sticky-change.positive{color:#059669;background:#ecfdf5}.sticky-change.negative{color:#dc2626;background:#fef2f2}.sticky-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.sticky-tab{padding:5px 14px;border:none;background:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--gray-500);cursor:pointer;font-family:inherit;-webkit-transition:all .15s;transition:all .15s}.sticky-tab:hover{color:var(--gray-700);background:var(--gray-50)}.sticky-tab.active{color:var(--primary-500);background:var(--primary-50);font-weight:600}.sticky-tab-badge{display:inline-block;margin-left:4px;padding:1px 6px;background:var(--gray-100);border-radius:8px;font-size:11px;font-weight:600;color:var(--gray-500)}.sticky-tab.active .sticky-tab-badge{background:#2563eb1f;color:var(--primary-500)}.dashboard-tab-bar{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;padding:4px;background:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:20px}.dashboard-tab{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:10px 20px;border:none;background:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--gray-500);cursor:pointer;font-family:inherit;-webkit-transition:all .2s;transition:all .2s;text-align:center}.dashboard-tab:hover{color:var(--gray-700);background:#fff9}.dashboard-tab.active{background:#fff;color:var(--gray-900);font-weight:600;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.08);box-shadow:0 1px 4px #00000014}.tab-badge{display:inline-block;margin-left:6px;padding:1px 7px;background:var(--gray-200);border-radius:8px;font-size:11px;font-weight:600;color:var(--gray-500)}.dashboard-tab.active .tab-badge{background:var(--primary-50);color:var(--primary-500)}.dashboard-tab-content{min-height:400px}.overview-layout{display:grid;grid-template-columns:58fr 42fr;gap:20px;-webkit-box-align:start;-ms-flex-align:start;align-items:start}.overview-left,.overview-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px}.chart-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e5e7eb}.chart-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 16px}.allocation-type-chips{display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-top:8px}.type-chip{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;background:#f3f4f6;color:#4b5563}.goals-widget{background:#fff;border-radius:12px;padding:20px;border:1px solid #e5e7eb}.goals-widget-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:14px}.section-title{font-size:15px;font-weight:600;color:#111827;margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.btn-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px;background:none;border:none;color:#2563eb;font-size:13px;cursor:pointer;padding:0;font-family:inherit;font-weight:500}.btn-link:hover{text-decoration:underline}.goals-widget-list,.goals-widget-grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px}.goal-widget-card{background:#f9fafb;border-radius:10px;padding:14px;cursor:pointer;-webkit-transition:-webkit-box-shadow .15s,-webkit-transform .15s;transition:-webkit-box-shadow .15s,-webkit-transform .15s;transition:box-shadow .15s,transform .15s;transition:box-shadow .15s,transform .15s,-webkit-box-shadow .15s,-webkit-transform .15s;border:1px solid #e5e7eb}.goal-widget-card:hover{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.08);box-shadow:0 4px 12px #00000014;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.goal-widget-name{font-size:13px;font-weight:600;color:#111827;margin-bottom:8px}.goal-widget-progress-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:6px}.goal-widget-progress-bar{-webkit-box-flex:1;-ms-flex:1;flex:1;height:5px;background:#e5e7eb;border-radius:3px;overflow:hidden}.goal-widget-progress-fill{height:100%;background:#2563eb;border-radius:3px;-webkit-transition:width .5s;transition:width .5s}.goal-widget-percent{font-size:12px;font-weight:700;color:#2563eb;min-width:28px;text-align:right}.goal-widget-meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:11px;color:#6b7280}.goal-days{color:#f59e0b;font-weight:500}.goal-widget-skeleton{height:80px;border-radius:10px}.holdings-tab-content{background:#fff;border-radius:var(--radius-xl);overflow:hidden}.insights-tab-content{padding:4px 0}.insights-severity-group{margin-bottom:24px}.severity-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;padding-left:2px}.severity-high{color:#dc2626}.severity-medium{color:#d97706}.severity-low{color:#16a34a}.insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.insight-card-skeleton{height:160px;border-radius:12px}.empty-insights{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:60px 20px;color:var(--gray-400);text-align:center}.empty-insights p{font-size:14px;max-width:400px}.spinning{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.skeleton-base{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f3f4f6),color-stop(50%,#e5e7eb),color-stop(75%,#f3f4f6));background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200px 100%;-webkit-animation:shimmer 1.5s infinite;animation:shimmer 1.5s infinite;border-radius:8px}.portfolio-skeleton{padding:20px}.skeleton-header{height:50px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f0f0f0),color-stop(50%,#e0e0e0),color-stop(75%,#f0f0f0));background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;-webkit-animation:loading 1.5s ease-in-out infinite;animation:loading 1.5s ease-in-out infinite;border-radius:8px;margin-bottom:20px}.skeleton-hero{height:120px;margin-bottom:16px}.skeleton-tabs{height:44px;margin-bottom:20px}.skeleton-table{height:300px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f0f0f0),color-stop(50%,#e0e0e0),color-stop(75%,#f0f0f0));background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;-webkit-animation:loading 1.5s ease-in-out infinite;animation:loading 1.5s ease-in-out infinite;border-radius:8px}@-webkit-keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.holding-tag{display:inline-block;font-size:10px;padding:1px 6px;border-radius:8px;font-weight:600;margin-top:2px}.tag-success{background:#dcfce7;color:#15803d}.tag-danger{background:#fee2e2;color:#dc2626}.tag-warning{background:#fef3c7;color:#b45309}.tag-info{background:#dbeafe;color:#1d4ed8}.tag-secondary{background:#f3f4f6;color:#4b5563}.empty-state-modern{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:80px 20px;text-align:center;min-height:500px}.empty-icon{font-size:64px;margin-bottom:24px;opacity:.8}.empty-state-modern h2{font-size:28px;font-weight:700;color:var(--gray-900);margin:0 0 12px}.empty-state-modern p{font-size:16px;color:var(--gray-500);margin:0 0 32px;max-width:500px}.empty-state-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;margin-bottom:32px;width:100%;max-width:400px}.empty-state-actions .btn-lg{width:100%;padding:16px 32px;font-size:16px;font-weight:600;border-radius:12px;-webkit-transition:all .3s ease;transition:all .3s ease}.empty-state-actions .btn-success:hover:not(:disabled){-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(16,185,129,.4)!important;box-shadow:0 6px 20px #10b98166!important}.empty-state-actions .btn-primary:hover:not(:disabled){-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(37,99,235,.4);box-shadow:0 6px 20px #2563eb66}.divider-or{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;margin:8px 0}.divider-or:before,.divider-or:after{content:"";-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(#e5e7eb),to(transparent));background:linear-gradient(to right,transparent,#e5e7eb,transparent)}.divider-or span{padding:0 16px;font-size:12px;font-weight:600;color:#9ca3af;letter-spacing:1px}.empty-state-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:40px;max-width:700px;width:100%}.info-card{background:#fff;border:2px solid #f3f4f6;border-radius:16px;padding:24px;text-align:center;-webkit-transition:all .3s ease;transition:all .3s ease;position:relative}.info-card:hover{border-color:#e5e7eb;-webkit-box-shadow:0 8px 24px rgba(0,0,0,.08);box-shadow:0 8px 24px #00000014;-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px)}.info-card .info-icon{font-size:40px;margin-bottom:16px}.info-card h4{font-size:18px;font-weight:700;color:#111827;margin:0 0 8px}.info-card p{font-size:14px;color:#6b7280;margin:0 0 12px;line-height:1.5}.badge-recommended{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-size:11px;font-weight:700;border-radius:12px;letter-spacing:.5px;text-transform:uppercase}.empty-state-modern .btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.empty-state-modern .help-text{margin-top:12px;font-size:14px;color:var(--gray-400)}@media (max-width: 900px){.overview-layout{grid-template-columns:1fr}.overview-right{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}}@media (max-width: 768px){.portfolio-header-new{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.portfolio-header-right{width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.hero-value{font-size:28px}.hero-metric-value{font-size:15px}.hero-secondary{-ms-flex-wrap:wrap;flex-wrap:wrap;gap:0}.hero-metric-item{min-width:33%}.hero-metric-divider{display:none}.hero-health-strip{gap:6px}.hero-holdings-pill{margin-left:0;margin-top:4px}.dashboard-tab-bar{gap:2px;padding:3px}.dashboard-tab{padding:8px 12px;font-size:13px}.insights-grid{grid-template-columns:1fr}.sticky-scroll-bar{padding:6px 16px}.sticky-value{font-size:14px}.sticky-tab{padding:4px 10px;font-size:12px}.actions-label{display:none}.empty-state-modern{padding:60px 20px;min-height:400px}.empty-icon{font-size:48px}.empty-state-modern h2{font-size:24px}.empty-state-actions{max-width:100%}.empty-state-actions .btn-lg{padding:14px 24px;font-size:15px}.empty-state-info{grid-template-columns:1fr;margin-top:32px}.info-card{padding:20px}.info-card .info-icon{font-size:32px;margin-bottom:12px}.info-card h4{font-size:16px}.info-card p{font-size:13px}}@media (max-width: 480px){.hero-metrics{padding:16px}.hero-value{font-size:24px}.hero-secondary{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.hero-metric-item{text-align:left;padding:4px 0}.hero-metric-divider{display:none}}.goal-health-badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid;font-size:var(--text-sm);font-weight:500;-webkit-transition:var(--transition-base);transition:var(--transition-base)}.goal-health-badge.goal-health-small{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);gap:var(--space-1)}.goal-health-badge.goal-health-large{padding:var(--space-3) var(--space-4);font-size:var(--text-base);gap:var(--space-3)}.health-score{font-weight:600}.health-label{font-weight:500}.goal-card{background:#fff;border-left:4px solid;border-radius:var(--radius-lg);padding:var(--space-5);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md);-webkit-transition:var(--transition-base);transition:var(--transition-base);cursor:pointer;position:relative}.goal-card:hover{-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg);-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.goal-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:var(--space-4)}.goal-title-row{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-3);-webkit-box-flex:1;-ms-flex:1;flex:1}.goal-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-lg);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.goal-emoji{font-size:24px}.goal-title-content{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.goal-name{font-size:var(--text-lg);font-weight:600;color:var(--gray-900);margin:0 0 var(--space-1) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-portfolios{font-size:var(--text-sm);color:var(--gray-600)}.goal-menu-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);-webkit-transition:var(--transition-base);transition:var(--transition-base)}.goal-menu-btn:hover{background:var(--gray-100);color:var(--gray-600)}.goal-progress-section{margin-bottom:var(--space-4);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md)}.goal-progress-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--space-2)}.progress-label{font-size:var(--text-sm);font-weight:500;color:var(--gray-700)}.progress-date{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--gray-600)}.goal-progress-bar{height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.goal-progress-fill{height:100%;background:var(--primary-500);border-radius:var(--radius-full);-webkit-transition:width .5s ease;transition:width .5s ease}.goal-progress-details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.progress-current{font-size:var(--text-sm);font-weight:600;color:var(--gray-900)}.progress-percent{font-size:var(--text-sm);font-weight:600;color:var(--gray-700)}.goal-health-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.no-data-badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);background:var(--gray-100);color:var(--gray-600)}.goal-priority-badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.goal-actions-alert{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);color:#92400e;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-3)}.goal-card-footer{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--gray-200)}.btn-goal-secondary,.btn-goal-primary{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base)}.btn-goal-secondary{background:#fff;border:1px solid var(--gray-300);color:var(--gray-700)}.btn-goal-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-goal-primary{background:var(--primary-500);color:#fff}.btn-goal-primary:hover{background:var(--primary-600)}@media (max-width: 768px){.goal-card{padding:var(--space-4)}.goal-name{font-size:var(--text-base)}.goal-card-footer{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.btn-goal-secondary,.btn-goal-primary{width:100%}}.goals-page-new{max-width:1400px;margin:0 auto;padding:var(--space-6) var(--space-4)}.goals-header{margin-bottom:var(--space-8)}.goals-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:var(--space-4);gap:var(--space-4)}.goals-title-section{-webkit-box-flex:1;-ms-flex:1;flex:1}.goals-page-title{font-size:var(--text-4xl);font-weight:700;color:var(--gray-900);margin:0 0 var(--space-2) 0}.goals-page-subtitle{font-size:var(--text-lg);color:var(--gray-600);margin:0}.btn-create-goal{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:600;cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.btn-create-goal:hover{background:var(--primary-600);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg);-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.goals-controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-4);padding:var(--space-3);background:#fff;border-radius:var(--radius-lg);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm)}.goals-filters{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-2)}.filter-btn{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;color:var(--gray-700);cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base)}.filter-btn:hover{background:var(--gray-50);border-color:var(--gray-400)}.filter-btn.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.goals-sort{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);color:var(--gray-600)}.sort-select{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--gray-700);background:#fff;cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base)}.sort-select:hover{border-color:var(--gray-400)}.sort-select:focus{outline:none;border-color:var(--primary-500);-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--space-6)}.empty-state{text-align:center;padding:var(--space-16) var(--space-4);background:#fff;border-radius:var(--radius-xl);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm)}.empty-state-icon{margin:0 auto var(--space-6);width:96px;height:96px;background:var(--primary-50);border-radius:var(--radius-full);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:var(--primary-500)}.empty-state-title{font-size:var(--text-3xl);font-weight:700;color:var(--gray-900);margin:0 0 var(--space-3) 0}.empty-state-description{font-size:var(--text-lg);color:var(--gray-600);margin:0 auto var(--space-6);max-width:600px;line-height:1.6}.btn-templates{padding:var(--space-2) var(--space-4);background:transparent;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;color:var(--primary-600);cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base);margin-top:var(--space-2)}.btn-templates:hover{background:var(--primary-50);color:var(--primary-700)}.loading-state{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:var(--space-16);color:var(--gray-600)}.spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}@media (max-width: 1200px){.goals-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width: 768px){.goals-page-new{padding:var(--space-4) var(--space-3)}.goals-page-title{font-size:var(--text-2xl)}.goals-page-subtitle{font-size:var(--text-base)}.goals-header-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.btn-create-goal{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.goals-controls{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.goals-filters{-ms-flex-wrap:wrap;flex-wrap:wrap}.goals-sort{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.sort-select{-webkit-box-flex:1;-ms-flex:1;flex:1}.goals-grid{grid-template-columns:1fr;gap:var(--space-4)}.empty-state{padding:var(--space-12) var(--space-4)}}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm)}.alert-error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.page-hero{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:24px 28px;margin-bottom:20px}.page-hero-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px}.page-hero-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.page-hero-title{font-size:var(--text-2xl);font-weight:700;color:var(--gray-900);margin:0 0 2px}.page-hero-subtitle{font-size:var(--text-sm);color:var(--gray-500);margin:0}.page-hero-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-top:16px}.page-hero-metrics{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:0;padding:14px 0 0;margin-top:16px;border-top:1px solid var(--gray-100)}@media (min-width: 768px){.page-hero{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.page-hero-actions{margin-top:0}.page-hero-metrics{width:100%}}@media (max-width: 767px){.page-hero{padding:20px}.page-hero-title{font-size:var(--text-xl)}}.shared-tab-bar{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;background:var(--gray-100);border-radius:var(--radius-lg);padding:4px;margin-bottom:20px;overflow-x:auto}.shared-tab{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--gray-500);cursor:pointer;-webkit-transition:all .15s ease;transition:all .15s ease;font-family:inherit;white-space:nowrap}.shared-tab:hover{color:var(--gray-700);background:#ffffff80}.shared-tab.active{background:#fff;color:var(--gray-900);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.08);box-shadow:0 1px 3px #00000014}.shared-tab-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.shared-tab-count{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--gray-200);font-size:11px;font-weight:700;color:var(--gray-600)}.shared-tab.active .shared-tab-count{background:var(--primary-100);color:var(--primary-500)}@media (max-width: 767px){.shared-tab-bar{-webkit-overflow-scrolling:touch}.shared-tab{padding:8px 12px;font-size:12px}}.profile-banner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;margin-bottom:24px;-webkit-animation:slideDown .4s ease-out;animation:slideDown .4s ease-out}@-webkit-keyframes slideDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.profile-banner-info{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #90caf9;color:#0d47a1}.profile-banner-warning{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:1px solid #ffb74d;color:#e65100}.profile-banner-success{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #81c784;color:#1b5e20}.banner-icon{-ms-flex-negative:0;flex-shrink:0;width:40px;height:40px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#ffffff80}.banner-content{-webkit-box-flex:1;-ms-flex:1;flex:1}.banner-message{font-size:14px;font-weight:500;margin:0 0 8px;line-height:1.4}.banner-progress{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.progress-bar-small{-webkit-box-flex:1;-ms-flex:1;flex:1;height:6px;background:#fff9;border-radius:3px;overflow:hidden;max-width:200px}.progress-fill-small{height:100%;background:currentColor;border-radius:3px;-webkit-transition:width .6s ease-out;transition:width .6s ease-out}.progress-text-small{font-size:12px;font-weight:600;opacity:.9}.banner-cta{-ms-flex-negative:0;flex-shrink:0;background:#fff;color:currentColor;border:2px solid currentColor;padding:8px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.banner-cta:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15);box-shadow:0 4px 12px #00000026}.banner-dismiss{-ms-flex-negative:0;flex-shrink:0;background:#ffffff80;border:none;width:28px;height:28px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;color:currentColor}.banner-dismiss:hover{background:#fffc}@media (max-width: 768px){.profile-banner{-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.banner-content{-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.banner-cta{-webkit-box-flex:1;-ms-flex:1;flex:1}.progress-bar-small{max-width:none}}.goals-page-simple{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-4)}.goals-hero-metric{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.goals-hero-label{display:block;font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.goals-hero-value{font-size:18px;font-weight:700;color:var(--gray-900);font-family:var(--font-mono)}.goals-hero-divider{width:1px;height:36px;background:var(--gray-200);-ms-flex-negative:0;flex-shrink:0}.btn-create-goal-simple{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:8px 16px;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base);font-family:inherit}.btn-create-goal-simple:hover{background:var(--primary-600);-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.goals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.empty-state-simple{text-align:center;padding:var(--space-16) var(--space-4);background:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200)}.empty-state-simple h2{font-size:var(--text-xl);font-weight:700;color:var(--gray-900);margin:0 0 var(--space-2) 0}.empty-state-simple p{font-size:var(--text-base);color:var(--gray-600);margin:0}.loading-simple,.error-simple{text-align:center;padding:var(--space-16)}.loading-simple{color:var(--gray-600)}.error-simple{color:var(--danger)}.error-simple button{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base)}.error-simple button:hover{background:var(--primary-600)}@media (max-width: 768px){.goals-page-simple{padding:var(--space-4) var(--space-3)}.goals-grid{grid-template-columns:1fr}.goals-hero-value{font-size:16px}}.goal-create-page{max-width:800px;margin:0 auto;padding:var(--space-6) var(--space-4)}.goal-create-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--space-6)}.btn-back{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);color:var(--gray-700);font-size:var(--text-sm);font-weight:500;cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base)}.btn-back:hover{background:var(--gray-50);border-color:var(--gray-400)}.step-indicator{font-size:var(--text-sm);color:var(--gray-600);font-weight:500}.goal-create-step{background:#fff;border-radius:var(--radius-xl);padding:var(--space-8);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg)}.goal-create-step h2{font-size:var(--text-3xl);font-weight:700;color:var(--gray-900);margin:0 0 var(--space-2) 0}.step-description{font-size:var(--text-base);color:var(--gray-600);margin:0 0 var(--space-8) 0}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.template-card{padding:var(--space-5);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base);text-align:center}.template-card:hover{border-color:var(--primary-500);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg);-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px)}.template-icon{width:56px;height:56px;margin:0 auto var(--space-3);border-radius:var(--radius-lg);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.template-emoji{font-size:28px}.template-card h3{font-size:var(--text-base);font-weight:600;color:var(--gray-900);margin:0 0 var(--space-2) 0}.template-card p{font-size:var(--text-sm);color:var(--gray-600);margin:0 0 var(--space-2) 0;line-height:1.5;min-height:40px}.template-tags{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-2);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tag{padding:2px var(--space-2);background:var(--gray-100);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--gray-700);font-weight:500;text-transform:capitalize}.custom-option{text-align:center;padding-top:var(--space-6);border-top:1px solid var(--gray-200)}.btn-custom{padding:var(--space-3) var(--space-5);background:#fff;border:2px dashed var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-700);font-size:var(--text-base);font-weight:500;cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base)}.btn-custom:hover{border-color:var(--primary-500);color:var(--primary-600);background:var(--primary-50)}.goal-form{max-width:100%}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--gray-900);margin-bottom:var(--space-2)}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group textarea,.form-group select{width:100%;padding:var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--gray-900);-webkit-transition:var(--transition-base);transition:var(--transition-base);background:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-500);-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:2px solid var(--gray-100)}.form-section h3{font-size:var(--text-xl);font-weight:600;color:var(--gray-900);margin:0 0 var(--space-2) 0}.section-help-text{font-size:var(--text-sm);color:var(--gray-600);margin:0 0 var(--space-4) 0;line-height:1.6}.alert-error{padding:var(--space-3) var(--space-4);background:#fee2e2;border:1px solid #ef4444;border-radius:var(--radius-md);color:#991b1b;font-size:var(--text-sm);margin-bottom:var(--space-4)}.form-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-3);-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-top:var(--space-8);padding-top:var(--space-6);border-top:2px solid var(--gray-100)}.btn-secondary,.btn-primary{padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base)}.btn-secondary{background:#fff;border:1px solid var(--gray-300);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-primary{background:var(--primary-500);color:#fff;-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:var(--primary-600);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg);-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.goal-create-page{padding:var(--space-4) var(--space-3)}.goal-create-step{padding:var(--space-5)}.goal-create-step h2{font-size:var(--text-2xl)}.templates-grid,.form-row{grid-template-columns:1fr}.form-actions{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%}}.action-item{background:#fff;border-left:4px solid;border-radius:var(--radius-md);padding:var(--space-4);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm);-webkit-transition:var(--transition-base);transition:var(--transition-base);margin-bottom:var(--space-3)}.action-item:hover{-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.action-header{margin-bottom:var(--space-3)}.action-title-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.action-severity-badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.action-symbol{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--gray-700);background:var(--gray-100);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.action-title{font-size:var(--text-base);font-weight:600;color:var(--gray-900);margin:0}.action-message{font-size:var(--text-sm);color:var(--gray-700);margin:0 0 var(--space-3) 0;line-height:1.6}.action-recommendation{background:var(--gray-50);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--gray-800);margin-bottom:var(--space-3)}.action-recommendation strong{color:var(--gray-900);font-weight:600}.action-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--gray-200)}.action-date{font-size:var(--text-xs);color:var(--gray-500)}.action-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-2)}.btn-action-secondary,.btn-action-primary{padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1)}.btn-action-secondary{background:#fff;border:1px solid var(--gray-300);color:var(--gray-700)}.btn-action-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-action-primary{background:var(--primary-500);color:#fff}.btn-action-primary:hover{background:var(--primary-600)}.action-status-badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.status-acknowledged{background:var(--gray-100);color:var(--gray-700)}.status-completed{background:var(--success);color:#fff}.goal-detail-page{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-4)}.goal-detail-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--space-6)}.btn-edit{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;-webkit-transition:var(--transition-base);transition:var(--transition-base)}.btn-edit:hover{background:var(--primary-600)}.goal-hero{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-5);-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:var(--space-6);background:#fff;border-radius:var(--radius-xl);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg);margin-bottom:var(--space-6)}.goal-hero-icon{width:96px;height:96px;border-radius:var(--radius-xl);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.goal-hero-content{-webkit-box-flex:1;-ms-flex:1;flex:1}.goal-title{font-size:var(--text-4xl);font-weight:700;color:var(--gray-900);margin:0 0 var(--space-2) 0}.goal-description{font-size:var(--text-lg);color:var(--gray-600);margin:0 0 var(--space-3) 0}.goal-meta{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-4);-ms-flex-wrap:wrap;flex-wrap:wrap}.meta-item{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--gray-100);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--gray-700)}.goal-hero-badge{-ms-flex-negative:0;flex-shrink:0}.card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md);margin-bottom:var(--space-6)}.card-title{font-size:var(--text-2xl);font-weight:600;color:var(--gray-900);margin:0 0 var(--space-5) 0}.progress-details{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-6);-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--space-5)}.progress-stat{text-align:center}.stat-label{display:block;font-size:var(--text-sm);color:var(--gray-600);margin-bottom:var(--space-1)}.stat-value{display:block;font-size:var(--text-3xl);font-weight:700;color:var(--gray-900)}.progress-visual{-webkit-box-flex:1;-ms-flex:1;flex:1}.progress-bar-large{height:24px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.progress-fill-large{height:100%;background:var(--primary-500);border-radius:var(--radius-full);-webkit-transition:width .5s ease;transition:width .5s ease}.progress-labels{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:var(--text-sm);color:var(--gray-600)}.projection-box{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);border-left:4px solid var(--primary-500)}.projection-box strong{color:var(--gray-900)}.health-breakdown{display:grid;gap:var(--space-4)}.health-item{display:grid;grid-template-columns:150px 1fr auto;gap:var(--space-3);-webkit-box-align:center;-ms-flex-align:center;align-items:center}.health-label{font-size:var(--text-sm);font-weight:500;color:var(--gray-700)}.health-bar{height:12px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.health-fill{height:100%;background:var(--success);border-radius:var(--radius-full);-webkit-transition:width .5s ease;transition:width .5s ease}.health-score{font-size:var(--text-sm);font-weight:600;color:var(--gray-700);min-width:60px;text-align:right}.actions-list{display:grid;gap:var(--space-4)}.empty-actions{padding:var(--space-8);text-align:center;background:var(--gray-50);border-radius:var(--radius-lg);color:var(--success);font-size:var(--text-lg);font-weight:500}.allocation-comparison{display:grid;gap:var(--space-6)}.allocation-item{border-bottom:1px solid var(--gray-200);padding-bottom:var(--space-4)}.allocation-item:last-child{border-bottom:none;padding-bottom:0}.allocation-label{display:block;font-size:var(--text-base);font-weight:600;color:var(--gray-900);margin-bottom:var(--space-3)}.allocation-bars{display:grid;gap:var(--space-2)}.allocation-bar{display:grid;grid-template-columns:80px 1fr auto;gap:var(--space-3);-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bar-label{font-size:var(--text-sm);color:var(--gray-600)}.bar{height:20px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.bar-target{opacity:.5}.bar-fill{height:100%;background:var(--primary-500);border-radius:var(--radius-full);-webkit-transition:width .5s ease;transition:width .5s ease}.bar-value{font-size:var(--text-sm);font-weight:600;color:var(--gray-700);min-width:50px;text-align:right}.loading,.error{padding:var(--space-8);text-align:center;color:var(--gray-600)}.error{color:var(--danger)}@media (max-width: 968px){.goal-hero{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.goal-hero-badge{-ms-flex-item-align:start;align-self:flex-start}.progress-details{grid-template-columns:1fr;text-align:center}.health-item{grid-template-columns:1fr;gap:var(--space-2)}.health-score{text-align:left}.allocation-bar{grid-template-columns:1fr;gap:var(--space-1)}.bar-label{margin-bottom:var(--space-1)}.bar-value{text-align:left;margin-top:var(--space-1)}}.profile-page{max-width:1400px;margin:0 auto;padding:24px 20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.profile-page-header{margin-bottom:24px}.profile-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:24px}.profile-title-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px}.profile-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;font-size:28px;font-weight:700;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d}.profile-header-text h1{font-size:32px;font-weight:700;color:#1a1a1a;margin:0 0 4px}.profile-header-text p{font-size:14px;color:#6b7280;margin:0}.completion-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:20px 24px;color:#fff;-webkit-box-shadow:0 8px 24px rgba(102,126,234,.3);box-shadow:0 8px 24px #667eea4d;margin-bottom:24px}.completion-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:24px}.completion-left{-webkit-box-flex:1;-ms-flex:1;flex:1}.completion-title{font-size:18px;font-weight:600;margin:0 0 6px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.completion-subtitle{font-size:13px;opacity:.9;margin:0 0 12px;line-height:1.4}.completion-progress{height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-bottom:8px}.completion-progress-fill{height:100%;background:#fff;border-radius:4px;-webkit-transition:width .6s ease-out;transition:width .6s ease-out;-webkit-box-shadow:0 0 10px rgba(255,255,255,.5);box-shadow:0 0 10px #ffffff80}.completion-percentage{font-size:48px;font-weight:700;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.1)}.completion-label{font-size:13px;opacity:.9;text-align:center}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:24px}.profile-card{background:#fff;border-radius:16px;padding:0;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;overflow:hidden;-webkit-transition:all .3s ease;transition:all .3s ease}.profile-card:hover{-webkit-box-shadow:0 8px 24px rgba(0,0,0,.12);box-shadow:0 8px 24px #0000001f;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.card-header-modern{padding:20px 20px 16px;background:#fff;border-bottom:2px solid #f3f4f6;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;text-align:center}.card-header-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.card-icon{width:48px;height:48px;border-radius:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.2);box-shadow:0 4px 12px #667eea33}.card-icon.tax{background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-box-shadow:0 4px 12px rgba(240,147,251,.2);box-shadow:0 4px 12px #f093fb33}.card-icon.investment{background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-box-shadow:0 4px 12px rgba(79,172,254,.2);box-shadow:0 4px 12px #4facfe33}.card-icon.snapshot{background:linear-gradient(135deg,#43e97b,#38f9d7);-webkit-box-shadow:0 4px 12px rgba(67,233,123,.2);box-shadow:0 4px 12px #43e97b33}.card-title-modern{font-size:17px;font-weight:600;color:#1a1a1a;margin:0;letter-spacing:-.2px}.section-badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:600;margin-top:4px}.section-badge.complete{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid #86efac}.section-badge.incomplete{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fbbf24}.card-body{padding:20px}.form-field{margin-bottom:16px}.form-field:last-of-type{margin-bottom:20px}.form-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.field-icon{width:16px;height:16px;color:#9ca3af}.field-check{width:16px;height:16px;color:#10b981}.form-input{width:100%;padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;-webkit-transition:all .2s;transition:all .2s;background:#fff;font-family:inherit}.form-input:focus{outline:none;border-color:#667eea;-webkit-box-shadow:0 0 0 4px rgba(102,126,234,.1);box-shadow:0 0 0 4px #667eea1a}.form-input:disabled{background:#f3f4f6;color:#374151;cursor:not-allowed;border-color:#d1d5db;font-weight:500;opacity:1}.mobile-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;width:100%}.country-code-select{-webkit-box-flex:0;-ms-flex:0 0 100px;flex:0 0 100px;padding:12px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;background:#fff;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;font-weight:500}.country-code-select:focus{outline:none;border-color:#8b5cf6;-webkit-box-shadow:0 0 0 3px rgba(139,92,246,.1);box-shadow:0 0 0 3px #8b5cf61a}.country-code-select:disabled{background:#f3f4f6;cursor:not-allowed;color:#374151}.mobile-input{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:15px;-webkit-transition:all .2s;transition:all .2s;font-weight:500}.mobile-input:focus{outline:none;border-color:#8b5cf6;-webkit-box-shadow:0 0 0 3px rgba(139,92,246,.1);box-shadow:0 0 0 3px #8b5cf61a}.mobile-input::-webkit-input-placeholder{color:#9ca3af;font-weight:400}.mobile-input::-moz-placeholder{color:#9ca3af;font-weight:400}.mobile-input:-ms-input-placeholder{color:#9ca3af;font-weight:400}.mobile-input::-ms-input-placeholder{color:#9ca3af;font-weight:400}.mobile-input::placeholder{color:#9ca3af;font-weight:400}.mobile-input:disabled{background:#f3f4f6;color:#374151;cursor:not-allowed;border-color:#d1d5db;font-weight:500;opacity:1}.mobile-input-wrapper.locked{opacity:.7;pointer-events:none}.mobile-input-wrapper.locked .country-code-select,.mobile-input-wrapper.locked .mobile-input{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280}.locked-hint{color:#6b7280;font-style:italic}.form-input::-webkit-input-placeholder{color:#9ca3af}.form-input::-moz-placeholder{color:#9ca3af}.form-input:-ms-input-placeholder{color:#9ca3af}.form-input::-ms-input-placeholder{color:#9ca3af}.form-input::placeholder{color:#9ca3af}.form-select{width:100%;padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;-webkit-transition:all .2s;transition:all .2s;background:#fff;cursor:pointer;font-family:inherit}.form-select:focus{outline:none;border-color:#667eea;-webkit-box-shadow:0 0 0 4px rgba(102,126,234,.1);box-shadow:0 0 0 4px #667eea1a}.field-hint{display:block;font-size:11px;color:#9ca3af;margin-top:4px;line-height:1.3}.btn-save{width:100%;padding:14px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px}.btn-save:hover:not(:disabled){-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(102,126,234,.4);box-shadow:0 6px 20px #667eea66}.btn-save:active:not(:disabled){-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.btn-save:disabled{opacity:.6;cursor:not-allowed;-webkit-transform:none;-ms-transform:none;transform:none}.alert-modern{padding:14px 18px;border-radius:10px;margin-bottom:20px;font-size:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;-webkit-animation:slideIn .3s ease-out;animation:slideIn .3s ease-out}.alert-modern.success{background:#d1fae5;border:1px solid #86efac;color:#065f46}.alert-modern.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.snapshot-empty{text-align:center;padding:32px 20px}.snapshot-empty-icon{width:64px;height:64px;margin:0 auto 16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff}.snapshot-empty h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.snapshot-empty p{font-size:14px;color:#6b7280;margin:0 0 24px;line-height:1.5}.btn-primary-outline{padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border:2px solid #667eea;background:#fff;color:#667eea;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.btn-primary-outline:hover{background:#667eea;color:#fff;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d}.snapshot-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.stat-card{padding:16px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:12px;border:1px solid #e5e7eb}.stat-label{font-size:12px;color:#6b7280;margin-bottom:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.stat-value{font-size:24px;font-weight:700;color:#1a1a1a}.stat-sub{font-size:13px;font-weight:600;margin-left:8px}.text-success{color:#10b981}.text-danger{color:#ef4444}.goals-section{background:#fff;border-radius:16px;padding:0;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;margin-bottom:24px}.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.goal-field{margin-bottom:0}.slider-container{margin-top:12px}.slider-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.slider-label{font-size:13px;font-weight:600;color:#374151}.slider-value{font-size:16px;font-weight:700;color:#667eea}.slider-input{width:100%;height:8px;border-radius:4px;background:#e5e7eb;outline:none;-webkit-appearance:none;cursor:pointer}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;border:3px solid white;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.2);box-shadow:0 2px 8px #0003}.slider-input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;border:3px solid white;box-shadow:0 2px 8px #0003}.allocation-total{padding:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:10px;font-weight:600;text-align:center;margin:24px 0;border:2px solid #fbbf24;color:#92400e}.allocation-total.valid{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#34d399;color:#065f46}.helper-text{font-size:12px;color:#6b7280;margin-bottom:16px;line-height:1.5;padding:12px 14px;background:#f9fafb;border-radius:8px;border-left:3px solid #667eea}.loading-modern{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:400px;color:#6b7280}.spinner-modern{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;margin-bottom:16px}@media (max-width: 968px){.profile-grid,.goals-grid{grid-template-columns:1fr}.completion-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center}.profile-header-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}}@media (max-width: 640px){.profile-page{padding:20px 16px}.profile-header-text h1{font-size:24px}.profile-avatar{width:48px;height:48px;font-size:20px}.completion-card{padding:20px}.completion-percentage{font-size:36px}.stat-card{padding:12px}.stat-value{font-size:20px}}.profile-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:2px solid #e5e7eb;gap:0;overflow-x:auto;margin:0 -32px;padding:0 32px;scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.profile-tab{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:12px 18px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:500;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;-webkit-transition:color .15s,border-color .15s;transition:color .15s,border-color .15s;font-family:inherit}.profile-tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.profile-tab:hover:not(.active){color:#111827}.tab-complete-icon{color:#16a34a}.tab-dot{width:6px;height:6px;border-radius:50%}.tab-dot.incomplete{background:#f59e0b}.profile-tab-content{margin-top:24px}.tab-panel{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0}.tab-hint-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:10px 16px;font-size:13px;color:#1d4ed8;margin-bottom:16px}.inline-prompt{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 14px;font-size:13px;color:#166534;margin-bottom:16px;gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap}.inline-prompt-message{-webkit-box-flex:1;-ms-flex:1;flex:1}.inline-prompt-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tab-panel-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:20px;gap:12px}.tab-panel-title{font-size:18px;font-weight:700;color:#111827;margin:0 0 4px}.tab-panel-subtitle{font-size:14px;color:#6b7280;margin:0}.expand-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;background:none;border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px;font-size:13px;color:#2563eb;cursor:pointer;margin:8px 0 16px;-webkit-transition:background .15s;transition:background .15s;font-family:inherit}.expand-toggle:hover{background:#eff6ff}.section-badge.optional{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb;font-size:11px;padding:2px 8px;border-radius:12px;margin-left:auto}.form-textarea{width:100%;padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#111827;background:#fff;resize:vertical;-webkit-transition:border-color .15s;transition:border-color .15s;-webkit-box-sizing:border-box;box-sizing:border-box}.form-textarea:focus{outline:none;border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px #2563eb1a}.form-row-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.form-row-two{grid-template-columns:1fr}}.form-label-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;font-size:14px;color:#374151;cursor:pointer}.form-label-inline input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.required{color:#ef4444;margin-left:2px}.btn-xs{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;font-family:inherit;-webkit-transition:background .15s,border-color .15s;transition:background .15s,border-color .15s}.btn-xs.btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.btn-xs.btn-primary:hover{background:#1d4ed8}.btn-xs.btn-secondary{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.btn-xs.btn-secondary:hover{background:#e5e7eb}.btn-xs.btn-ghost{background:none;color:#6b7280;border-color:transparent}.btn-xs.btn-ghost:hover{background:#f3f4f6}.btn-xs.btn-danger{background:#fee2e2;color:#dc2626;border-color:#fecaca}.btn-xs.btn-danger:hover{background:#fecaca}.btn-xs.btn-danger-ghost{color:#dc2626}.btn-xs.btn-danger-ghost:hover{background:#fee2e2}.btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:500;border-radius:8px;border:1px solid transparent;cursor:pointer;font-family:inherit;-webkit-transition:background .15s;transition:background .15s}.btn.btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.btn.btn-primary:hover{background:#1d4ed8}.btn.btn-secondary{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.btn.btn-secondary:hover{background:#e5e7eb}.form-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}.family-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:4px}.family-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}.family-card:hover{-webkit-box-shadow:0 4px 16px rgba(0,0,0,.08);box-shadow:0 4px 16px #00000014}.family-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:12px}.family-avatar{width:44px;height:44px;border-radius:50%;background:#eff6ff;color:#2563eb;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:16px;-ms-flex-negative:0;flex-shrink:0}.family-card-info{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.family-card-name{font-size:15px;font-weight:600;color:#111827}.family-card-meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;font-size:13px;color:#6b7280;margin-top:2px}.family-relationship{color:#4b5563;font-weight:500}.family-card-secondary{font-size:12px;color:#9ca3af;margin-top:2px}.family-card-notes{font-size:12px;color:#6b7280;font-style:italic;border-top:1px solid #f3f4f6;padding-top:8px}.family-card-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-top:4px}.family-delete-confirm{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px;font-size:13px;color:#9a3412}.family-delete-confirm .family-card-actions{margin-top:8px}.dependent-badge{font-size:11px;padding:2px 8px;border-radius:12px;background:#ccfbf1;color:#0f766e;font-weight:600;white-space:nowrap;-ms-flex-negative:0;flex-shrink:0}.family-form-modal{max-width:500px;width:90vw;max-height:85vh;overflow-y:auto}.family-form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:14px}.event-timeline{position:relative;padding-left:28px}.event-timeline:before{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:#e5e7eb}.timeline-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#9ca3af;margin:24px 0 14px -28px;padding-left:4px}.timeline-section-label:first-child{margin-top:0}.event-node{position:relative;margin-bottom:16px}.event-node:before{content:"";position:absolute;left:-22px;top:18px;width:12px;height:12px;border-radius:50%;background:#2563eb;border:2px solid white;-webkit-box-shadow:0 0 0 2px #2563eb;box-shadow:0 0 0 2px #2563eb}.event-node.past:before{background:#d1d5db;-webkit-box-shadow:0 0 0 2px #d1d5db;box-shadow:0 0 0 2px #d1d5db}.event-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}.event-card:hover{-webkit-box-shadow:0 2px 12px rgba(0,0,0,.07);box-shadow:0 2px 12px #00000012}.event-card.past{opacity:.7}.event-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;margin-bottom:6px}.event-emoji{font-size:20px}.event-card-title-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:1px;-webkit-box-flex:1;-ms-flex:1;flex:1}.event-year{font-size:11px;font-weight:600;color:#9ca3af}.event-type-label{font-size:12px;color:#6b7280}.event-status-badge{font-size:10px;padding:2px 7px;border-radius:10px;font-weight:600;text-transform:capitalize}.status-planned{background:#eff6ff;color:#1d4ed8}.status-completed{background:#f0fdf4;color:#15803d}.status-cancelled{background:#f3f4f6;color:#6b7280}.event-card-name{font-size:15px;font-weight:600;color:#111827;margin-bottom:6px}.event-card-meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;color:#6b7280;margin-bottom:6px}.event-cost{font-weight:600;color:#374151}.event-linked-member,.event-linked-goal{color:#6b7280}.event-notes{font-size:12px;color:#9ca3af;font-style:italic;margin-top:6px}.event-goal-prompt{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;background:#eff6ff;border-radius:7px;padding:8px 12px;margin-top:10px;font-size:12px;color:#1e40af;gap:8px}.event-card-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-top:10px}.event-delete-confirm{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px;font-size:13px;color:#9a3412;margin-top:8px}.event-delete-confirm .event-card-actions{margin-top:8px}.empty-state-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;background:#fff;border:2px dashed #e5e7eb;border-radius:16px;padding:48px 32px;gap:12px}.empty-state-icon{color:#d1d5db}.empty-state-card h3{font-size:18px;font-weight:600;color:#374151;margin:0}.empty-state-card p{font-size:14px;color:#9ca3af;margin:0;max-width:360px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background:#fff;border-radius:16px;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.2);box-shadow:0 20px 60px #0003}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:20px 24px 0;margin-bottom:16px}.modal-header h3{font-size:17px;font-weight:700;color:#111827;margin:0}.modal-close{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:6px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.modal-close:hover{background:#f3f4f6;color:#111827}.family-form-modal .family-form{padding:0 24px 24px}@media (max-width: 768px){.profile-tabs{margin:0 -16px;padding:0 16px}.tab-panel-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.family-grid{grid-template-columns:1fr}.event-goal-prompt{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}}.portfolio-management{padding:32px;max-width:1400px;margin:0 auto;min-height:100vh;background:-webkit-gradient(linear,left top,left bottom,from(#f8fafc),to(#ffffff));background:linear-gradient(to bottom,#f8fafc,#fff)}.page-header-modern{margin-bottom:40px}.header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:24px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:20px}.header-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:20px}.header-icon-badge{width:64px;height:64px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#2563eb;-webkit-box-shadow:0 4px 12px rgba(37,99,235,.15);box-shadow:0 4px 12px #2563eb26}.page-title-modern{font-size:32px;font-weight:800;color:#111827;margin:0 0 6px;letter-spacing:-.5px}.page-subtitle-modern{font-size:15px;color:#6b7280;margin:0}.btn-create-modern{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d}.btn-create-modern:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 20px rgba(37,99,235,.4);box-shadow:0 6px 20px #2563eb66}.portfolio-summary-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around;gap:24px;background:#fff;border:2px solid #f1f5f9;border-radius:16px;padding:24px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.04);box-shadow:0 2px 8px #0000000a}.summary-stat{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.summary-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:#6b7280;letter-spacing:.3px}.summary-value{font-size:24px;font-weight:700;color:#111827}.summary-value.positive{color:#10b981}.summary-value.negative{color:#ef4444}.summary-percent{font-size:14px;font-weight:600;margin-left:6px;opacity:.8}.summary-divider{width:1px;height:50px;background:-webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(#e5e7eb),to(transparent));background:linear-gradient(to bottom,transparent,#e5e7eb,transparent)}.portfolios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.portfolio-card-modern{background:#fff;border-radius:20px;border:2px solid #f1f5f9;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.04);box-shadow:0 2px 8px #0000000a}.portfolio-card-modern:hover{border-color:#e5e7eb;-webkit-box-shadow:0 12px 32px rgba(0,0,0,.12);box-shadow:0 12px 32px #0000001f;-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px)}.portfolio-card-accent{height:5px;width:100%}.portfolio-card-header-modern{padding:24px}.portfolio-header-top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:16px}.portfolio-icon-modern{width:56px;height:56px;border-radius:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .3s ease;transition:all .3s ease}.portfolio-card-modern:hover .portfolio-icon-modern{-webkit-transform:scale(1.1) rotate(5deg);-ms-transform:scale(1.1) rotate(5deg);transform:scale(1.1) rotate(5deg)}.portfolio-badges{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px}.badge-primary-modern{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:20px;font-size:11px;font-weight:700;color:#92400e;letter-spacing:.5px;text-transform:uppercase}.portfolio-title-section{margin-bottom:20px}.portfolio-name-modern{font-size:22px;font-weight:700;color:#111827;margin:0 0 6px;letter-spacing:-.3px}.portfolio-desc-modern{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.portfolio-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 24px 24px}.stat-card-main{grid-column:1 / -1;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:14px;padding:20px;-webkit-transition:all .3s ease;transition:all .3s ease}.stat-card-main:hover{border-color:#cbd5e1;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.08);box-shadow:0 4px 12px #00000014}.stat-card-pnl{grid-column:1 / -1;border-radius:14px;padding:20px;border:2px solid;-webkit-transition:all .3s ease;transition:all .3s ease}.stat-card-pnl.positive{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.stat-card-pnl.negative{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fca5a5}.stat-card-pnl:hover{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.08);box-shadow:0 4px 12px #00000014}.stat-card-secondary{background:#fff;border:2px solid #f3f4f6;border-radius:12px;padding:16px;-webkit-transition:all .3s ease;transition:all .3s ease}.stat-card-secondary:hover{border-color:#e5e7eb;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f}.stat-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:12px}.stat-label-modern{font-size:13px;font-weight:600;color:#6b7280;letter-spacing:.3px}.stat-label-small{font-size:12px;font-weight:600;color:#9ca3af;letter-spacing:.3px}.stat-value-large{font-size:32px;font-weight:800;color:#111827;line-height:1;margin-bottom:6px;letter-spacing:-.5px}.stat-value-medium{font-size:24px;font-weight:700;color:#111827;line-height:1}.pnl-value-large{font-size:28px;font-weight:800;line-height:1;margin-bottom:6px}.stat-card-pnl.positive .pnl-value-large{color:#059669}.stat-card-pnl.negative .pnl-value-large{color:#dc2626}.pnl-percent{font-size:14px;font-weight:600;opacity:.8}.stat-card-pnl.positive .pnl-percent{color:#047857}.stat-card-pnl.negative .pnl-percent{color:#b91c1c}.stat-subtext{font-size:13px;color:#6b7280;font-weight:500}.portfolio-card-actions-modern{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;padding:20px 24px;border-top:1px solid #f3f4f6;background:#fafbfc}.action-btn-modern{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease;border:2px solid;background:#fff;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.action-btn-edit{border-color:#e5e7eb;color:#374151}.action-btn-edit:hover{background:#f9fafb;border-color:#2563eb;color:#2563eb;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.action-btn-primary{border-color:#fde68a;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.action-btn-primary:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);border-color:#fbbf24;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 12px rgba(251,191,36,.3);box-shadow:0 4px 12px #fbbf244d}.action-btn-delete{border-color:#fecaca;color:#dc2626;-webkit-box-flex:0;-ms-flex:0;flex:0;padding:10px 14px}.action-btn-delete:hover{background:#fef2f2;border-color:#ef4444;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.empty-state-modern-portfolios{grid-column:1 / -1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:100px 20px;text-align:center}.empty-icon-large{width:120px;height:120px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#2563eb;margin-bottom:32px;-webkit-box-shadow:0 8px 24px rgba(37,99,235,.15);box-shadow:0 8px 24px #2563eb26}.empty-state-modern-portfolios h2{font-size:28px;font-weight:700;color:#111827;margin:0 0 12px}.empty-state-modern-portfolios p{font-size:16px;color:#6b7280;margin:0 0 32px}.empty-state-modern-portfolios .btn-lg{padding:16px 32px;font-size:16px;border-radius:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:9999;padding:20px;-webkit-animation:fadeIn .3s ease-out;animation:fadeIn .3s ease-out}.modal-content{background:#fff;border-radius:20px;width:90%;max-width:550px;max-height:90vh;overflow-y:auto;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.3);box-shadow:0 20px 60px #0000004d;-webkit-animation:slideUp .3s ease-out;animation:slideUp .3s ease-out}@-webkit-keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:28px 28px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#fff)}.modal-header h2{margin:0;font-size:24px;font-weight:700;color:#111827}.close-btn{background:transparent;border:none;font-size:32px;cursor:pointer;color:#6b7280;line-height:1;padding:8px;width:40px;height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:8px;-webkit-transition:all .2s;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#111827}.modal-content form{padding:28px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:10px;font-weight:600;color:#374151;font-size:14px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:15px;font-family:inherit;-webkit-transition:all .2s;transition:all .2s;background:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#2563eb;-webkit-box-shadow:0 0 0 4px rgba(37,99,235,.1);box-shadow:0 0 0 4px #2563eb1a}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.color-options{display:-webkit-box;display:-ms-flexbox;display:flex;gap:14px;-ms-flex-wrap:wrap;flex-wrap:wrap}.color-option{width:48px;height:48px;border-radius:12px;border:3px solid transparent;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px #0000001a}.color-option:hover{-webkit-transform:scale(1.15);-ms-transform:scale(1.15);transform:scale(1.15);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.2);box-shadow:0 4px 12px #0003}.color-option.selected{border-color:#111827;-webkit-box-shadow:0 0 0 2px white,0 0 0 5px #111827;box-shadow:0 0 0 2px #fff,0 0 0 5px #111827;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.checkbox-group{margin-bottom:24px}.checkbox-group label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;cursor:pointer;font-weight:500;color:#374151;padding:12px;background:#f9fafb;border-radius:10px;-webkit-transition:all .2s;transition:all .2s}.checkbox-group label:hover{background:#f3f4f6}.checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.error-message{padding:14px 16px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:10px;margin-bottom:20px;font-size:14px;font-weight:500}.modal-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-top:24px;border-top:1px solid #e5e7eb}.modal-actions .btn{padding:12px 24px;font-size:15px;font-weight:600;border-radius:10px}.modal-actions .btn-outline{background:#fff;border:2px solid #e5e7eb;color:#374151}.modal-actions .btn-outline:hover{background:#f9fafb;border-color:#d1d5db}.modal-actions .btn-primary{background:linear-gradient(135deg,#2563eb,#1e40af);border:none;color:#fff;-webkit-box-shadow:0 4px 12px rgba(37,99,235,.3);box-shadow:0 4px 12px #2563eb4d}.modal-actions .btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 6px 16px rgba(37,99,235,.4);box-shadow:0 6px 16px #2563eb66}.modal-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;-webkit-transform:none;-ms-transform:none;transform:none}@media (max-width: 1200px){.portfolios-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media (max-width: 768px){.portfolio-management{padding:20px}.page-header-modern{margin-bottom:24px}.header-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.header-left{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:16px}.header-icon-badge{width:56px;height:56px}.page-title-modern{font-size:26px}.btn-create-modern{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.portfolio-summary-bar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px;padding:20px}.summary-stat{width:100%;text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.summary-label{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.summary-divider{display:none}.portfolios-grid,.portfolio-stats-grid{grid-template-columns:1fr}.portfolio-card-actions-modern{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.action-btn-modern{width:100%}.action-btn-delete{-webkit-box-flex:1;-ms-flex:1;flex:1}.form-row{grid-template-columns:1fr}.modal-content{max-width:100%;border-radius:0;max-height:100vh}}@-webkit-keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.95);transform:scale(.95)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.95);transform:scale(.95)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.portfolio-card-modern{-webkit-animation:scaleIn .3s ease-out backwards;animation:scaleIn .3s ease-out backwards}.portfolio-card-modern:nth-child(1){-webkit-animation-delay:.05s;animation-delay:.05s}.portfolio-card-modern:nth-child(2){-webkit-animation-delay:.1s;animation-delay:.1s}.portfolio-card-modern:nth-child(3){-webkit-animation-delay:.15s;animation-delay:.15s}.portfolio-card-modern:nth-child(4){-webkit-animation-delay:.2s;animation-delay:.2s}.portfolio-card-modern:nth-child(5){-webkit-animation-delay:.25s;animation-delay:.25s}.portfolio-card-modern:nth-child(6){-webkit-animation-delay:.3s;animation-delay:.3s}.btn{padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border:none;font-size:14px}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-outline{background:#fff;border:1px solid var(--border);color:var(--dark)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.admin-dashboard{max-width:1200px;margin:0 auto}.admin-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:var(--space-6)}.admin-header h1{font-size:var(--text-2xl);font-weight:700;color:var(--gray-900);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3)}.admin-header-badge{font-size:var(--text-xs);font-weight:600;background:var(--primary-100);color:var(--primary-700);padding:2px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.admin-refresh-btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:8px 16px;font-size:var(--text-sm);font-weight:500;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.admin-refresh-btn:hover{background:var(--gray-50);border-color:var(--gray-300)}.admin-refresh-btn.spinning svg{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.admin-kpi-card{background:#fff;border-radius:var(--radius-lg);padding:var(--space-5);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);-webkit-transition:-webkit-box-shadow var(--transition-fast);transition:-webkit-box-shadow var(--transition-fast);transition:box-shadow var(--transition-fast);transition:box-shadow var(--transition-fast),-webkit-box-shadow var(--transition-fast)}.admin-kpi-card:hover{-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.admin-kpi-label{font-size:var(--text-xs);font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.admin-kpi-value{font-size:var(--text-3xl);font-weight:700;color:var(--gray-900);line-height:1}.admin-kpi-sub{font-size:var(--text-xs);color:var(--gray-400);margin-top:var(--space-1)}.admin-kpi-card.accent .admin-kpi-value{color:var(--primary-600)}.admin-section{background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);margin-bottom:var(--space-6)}.admin-section-title{font-size:var(--text-lg);font-weight:600;color:var(--gray-800);margin-bottom:var(--space-5)}.admin-charts-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-6);margin-bottom:var(--space-6)}@media (max-width: 900px){.admin-charts-row{grid-template-columns:1fr}}.admin-adoption-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-4)}.admin-adoption-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-1)}.admin-adoption-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.admin-adoption-name{font-size:var(--text-sm);font-weight:500;color:var(--gray-700)}.admin-adoption-stats{font-size:var(--text-sm);color:var(--gray-500)}.admin-adoption-bar{height:8px;background:var(--gray-100);border-radius:var(--radius-full);overflow:hidden}.admin-adoption-fill{height:100%;background:var(--primary-500);border-radius:var(--radius-full);-webkit-transition:width var(--transition-slow);transition:width var(--transition-slow);min-width:2px}.admin-users-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-users-table th{text-align:left;font-weight:600;color:var(--gray-500);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--gray-100)}.admin-users-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--gray-50);color:var(--gray-700)}.admin-users-table tr:hover td{background:var(--gray-50)}.admin-users-table .user-identity{font-weight:500;color:var(--gray-900)}.admin-users-table .badge-admin{display:inline-block;font-size:10px;font-weight:600;background:var(--primary-100);color:var(--primary-700);padding:1px 6px;border-radius:var(--radius-full);margin-left:var(--space-2);vertical-align:middle}.admin-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-5)}.admin-pagination button{padding:6px 14px;font-size:var(--text-sm);font-weight:500;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;color:var(--gray-600);cursor:pointer;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.admin-pagination button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-pagination span{font-size:var(--text-sm);color:var(--gray-500)}.admin-loading,.admin-error{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:var(--space-16) 0;color:var(--gray-500);gap:var(--space-4)}.admin-error{color:var(--danger)}.admin-empty{text-align:center;padding:var(--space-8);color:var(--gray-400);font-size:var(--text-sm)}.admin-section-divider{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);margin:var(--space-8) 0 var(--space-5);font-size:var(--text-lg);font-weight:700;color:var(--gray-800)}.admin-section-divider svg{color:var(--primary-500)}.ai-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.ai-kpi-card{border-left:3px solid var(--primary-500)}.ai-bar-fill{background:-webkit-gradient(linear,left top,right top,from(#8b5cf6),to(#6d28d9));background:linear-gradient(90deg,#8b5cf6,#6d28d9)}.debug-pnl-section{background:var(--gray-50);border:2px solid var(--gray-200)}.debug-pnl-content{margin-top:var(--space-4)}.debug-pnl-controls{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-4);-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:var(--space-4);background:#fff;border-radius:var(--radius-md);margin-bottom:var(--space-4)}.debug-control-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:200px}.debug-control-group label{font-size:var(--text-sm);font-weight:500;color:var(--gray-700)}.debug-select{padding:8px 12px;font-size:var(--text-sm);border:1px solid var(--gray-300);border-radius:var(--radius-md);background:#fff;color:var(--gray-700);cursor:pointer}.debug-select:focus{outline:none;border-color:var(--primary-500);-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px #2563eb1a}.debug-run-btn{padding:8px 20px;font-size:var(--text-sm);font-weight:600;background:var(--primary-600);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.debug-run-btn:hover:not(:disabled){background:var(--primary-700);-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.debug-run-btn:disabled{opacity:.5;cursor:not-allowed}.debug-error{padding:var(--space-4);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:var(--danger);font-size:var(--text-sm);margin-bottom:var(--space-4)}.debug-results{background:#fff;border-radius:var(--radius-md);padding:var(--space-4)}.debug-summary{padding:var(--space-3);background:var(--gray-100);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--gray-700);margin-bottom:var(--space-4);display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-3);-ms-flex-wrap:wrap;flex-wrap:wrap}.debug-summary strong{color:var(--gray-900);margin-right:var(--space-1)}.debug-holdings-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-4)}.debug-holding-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.debug-holding-header{padding:var(--space-3);background:var(--gray-50);border-bottom:1px solid var(--gray-200);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.debug-holding-header strong{font-size:var(--text-base);color:var(--gray-900)}.debug-instrument-type{font-size:var(--text-xs);padding:2px 8px;background:var(--primary-100);color:var(--primary-700);border-radius:var(--radius-full);font-weight:500}.debug-holding-body{padding:var(--space-4)}.debug-section{margin-bottom:var(--space-4)}.debug-section:last-child{margin-bottom:0}.debug-section h4{font-size:var(--text-sm);font-weight:600;color:var(--gray-700);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.debug-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);font-size:var(--text-sm)}.debug-grid span:nth-child(odd){font-weight:500;color:var(--gray-600)}.debug-grid span:nth-child(2n){color:var(--gray-900);text-align:right}.debug-grid .positive{color:var(--success);font-weight:600}.debug-grid .negative{color:var(--danger);font-weight:600}.debug-grid .price-source{padding:2px 8px;background:var(--success-light, #d1fae5);color:var(--success-dark, #065f46);border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-xs);text-align:center}.debug-section.warnings{background:#fff3cd;padding:var(--space-3);border-radius:var(--radius-md)}.debug-section.warnings h4{color:#856404}.debug-section.warnings ul{margin:0;padding-left:var(--space-5);color:#856404;font-size:var(--text-sm)}.debug-section.warnings li{margin-bottom:var(--space-1)}.debug-transactions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);max-height:200px;overflow-y:auto;padding:var(--space-2);background:var(--gray-50);border-radius:var(--radius-md)}.debug-txn{font-size:var(--text-xs);font-family:monospace;color:var(--gray-700);padding:var(--space-2);background:#fff;border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.debug-empty{text-align:center;padding:var(--space-6);color:var(--gray-400);font-size:var(--text-sm)}.landing-page{min-height:100vh;background:#fff}.landing-nav{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--gray-100);z-index:1000;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.landing-nav-content{max-width:1280px;margin:0 auto;padding:var(--space-4) var(--space-6);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.landing-logo{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);font-size:var(--text-xl);font-weight:700}.landing-logo-icon{font-size:1.75rem}.landing-logo-text{background:linear-gradient(135deg,var(--primary-600),var(--accent-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-nav-right{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-3);-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btn-landing-outline{padding:var(--space-2) var(--space-5);background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);color:var(--gray-700);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.btn-landing-outline:hover{border-color:var(--primary-500);color:var(--primary-600);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm)}.btn-landing-primary{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:linear-gradient(135deg,var(--primary-600),var(--primary-500));border:none;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);color:#fff;cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.btn-landing-primary:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg)}.hero-section{padding-top:120px;padding-bottom:80px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe,#f0fdfa);position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(37,99,235,.1) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(20,184,166,.1) 0%,transparent 50%);pointer-events:none}.hero-content{max-width:1280px;margin:0 auto;padding:0 var(--space-6);text-align:center;position:relative;z-index:1}.hero-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;line-height:1.2;margin-bottom:var(--space-6);color:var(--gray-900)}.hero-gradient{background:linear-gradient(135deg,var(--primary-600),var(--accent-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:var(--text-xl);color:var(--gray-600);max-width:700px;margin:0 auto var(--space-10);line-height:1.6}.hero-cta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-4)}.btn-hero-primary{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);background:linear-gradient(135deg,var(--primary-600),var(--primary-500));border:none;border-radius:var(--radius-xl);font-weight:700;font-size:var(--text-lg);color:#fff;cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);-webkit-box-shadow:var(--shadow-xl);box-shadow:var(--shadow-xl)}.btn-hero-primary:hover{-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px);-webkit-box-shadow:var(--shadow-2xl);box-shadow:var(--shadow-2xl)}.hero-subtext{font-size:var(--text-sm);color:var(--gray-500)}.hero-visual{margin-top:var(--space-16);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.hero-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);-webkit-box-shadow:var(--shadow-2xl);box-shadow:var(--shadow-2xl);min-width:320px}.hero-card.floating{-webkit-animation:float 6s ease-in-out infinite;animation:float 6s ease-in-out infinite}@-webkit-keyframes float{0%,to{-webkit-transform:translateY(0px);transform:translateY(0)}50%{-webkit-transform:translateY(-20px);transform:translateY(-20px)}}@keyframes float{0%,to{-webkit-transform:translateY(0px);transform:translateY(0)}50%{-webkit-transform:translateY(-20px);transform:translateY(-20px)}}.hero-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-weight:600;color:var(--gray-700)}.hero-card-value{font-size:3rem;font-weight:700;color:var(--success);margin-bottom:var(--space-4)}.hero-card-chart{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:var(--space-2);height:80px}.mini-bar{-webkit-box-flex:1;-ms-flex:1;flex:1;background:linear-gradient(180deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-sm) var(--radius-sm) 0 0;-webkit-animation:growBar 1.5s ease-out;animation:growBar 1.5s ease-out}@-webkit-keyframes growBar{0%{height:0}}@keyframes growBar{0%{height:0}}.features-section{padding:var(--space-16) var(--space-6);background:#fff}.section-container{max-width:1280px;margin:0 auto}.section-title{font-size:var(--text-4xl);font-weight:700;text-align:center;margin-bottom:var(--space-4);color:var(--gray-900)}.section-subtitle{font-size:var(--text-lg);text-align:center;color:var(--gray-600);margin-bottom:var(--space-12)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8)}.feature-card{padding:var(--space-6);background:var(--gray-50);border-radius:var(--radius-xl);-webkit-transition:all var(--transition-base);transition:all var(--transition-base);border:1px solid transparent}.feature-card:hover{-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg);border-color:var(--primary-100);background:#fff}.feature-icon{width:60px;height:60px;border-radius:var(--radius-xl);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--space-4);color:#fff}.feature-icon.gradient-blue{background:linear-gradient(135deg,var(--primary-500),var(--primary-600))}.feature-icon.gradient-green{background:linear-gradient(135deg,#10b981,#059669)}.feature-icon.gradient-purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.feature-icon.gradient-teal{background:linear-gradient(135deg,var(--accent-500),var(--accent-600))}.feature-icon.gradient-orange{background:linear-gradient(135deg,#f59e0b,#d97706)}.feature-icon.gradient-pink{background:linear-gradient(135deg,#ec4899,#db2777)}.feature-card h3{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-3);color:var(--gray-900)}.feature-card p{font-size:var(--text-base);color:var(--gray-600);line-height:1.6}.how-it-works-section{padding:var(--space-16) var(--space-6);background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6)}.step-card{padding:var(--space-6);background:#fff;border-radius:var(--radius-lg);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm);text-align:center}.step-number{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-500),var(--accent-500));color:#fff;border-radius:var(--radius-full);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--text-2xl);font-weight:700;margin:0 auto var(--space-4)}.step-card h3{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2);color:var(--gray-900)}.step-card p{font-size:var(--text-sm);color:var(--gray-600);line-height:1.6}.cta-section{padding:var(--space-16) var(--space-6);background:linear-gradient(135deg,var(--primary-600),var(--primary-500));text-align:center}.cta-content h2{font-size:var(--text-4xl);font-weight:700;color:#fff;margin-bottom:var(--space-4)}.cta-content p{font-size:var(--text-xl);color:#ffffffe6;margin-bottom:var(--space-8)}.btn-cta-large{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-10);background:#fff;border:none;border-radius:var(--radius-xl);font-weight:700;font-size:var(--text-lg);color:var(--primary-600);cursor:pointer;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);-webkit-box-shadow:var(--shadow-xl);box-shadow:var(--shadow-xl)}.btn-cta-large:hover{-webkit-transform:translateY(-4px) scale(1.05);-ms-transform:translateY(-4px) scale(1.05);transform:translateY(-4px) scale(1.05);-webkit-box-shadow:var(--shadow-2xl);box-shadow:var(--shadow-2xl)}.landing-footer{padding:var(--space-12) var(--space-6) var(--space-6);background:var(--gray-900);color:var(--gray-300)}.footer-content{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-8)}.footer-brand p{margin-top:var(--space-3);color:var(--gray-400);font-size:var(--text-sm)}.footer-column h4{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-4);color:#fff}.footer-column a{display:block;color:var(--gray-400);text-decoration:none;margin-bottom:var(--space-3);font-size:var(--text-sm);-webkit-transition:color var(--transition-base);transition:color var(--transition-base)}.footer-column a:hover{color:#fff}.footer-bottom{max-width:1280px;margin:0 auto;padding-top:var(--space-6);border-top:1px solid var(--gray-800);text-align:center;font-size:var(--text-sm);color:var(--gray-500)}@media (max-width: 1024px){.footer-content{grid-template-columns:1fr 1fr;gap:var(--space-6)}}@media (max-width: 768px){.landing-nav-content{padding:var(--space-3) var(--space-4)}.landing-logo-text{font-size:var(--text-lg)}.hero-section{padding-top:100px;padding-bottom:60px}.hero-title{font-size:2rem}.hero-subtitle{font-size:var(--text-base)}.btn-hero-primary{font-size:var(--text-base);padding:var(--space-3) var(--space-6)}.features-grid{grid-template-columns:1fr;gap:var(--space-4)}.steps-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:var(--space-8)}.hero-visual{margin-top:var(--space-8)}.hero-card{min-width:auto;width:100%}}.tax-center{padding:32px;max-width:1400px;margin:0 auto;min-height:100vh}.tax-center .page-hero-icon{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.tax-hero-metric{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.tax-hero-label{display:block;font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.tax-hero-value{font-size:18px;font-weight:700;color:var(--gray-900);font-family:var(--font-mono)}.tax-hero-value.positive{color:#059669}.tax-hero-value.negative{color:#dc2626}.tax-hero-divider{width:1px;height:36px;background:var(--gray-200);-ms-flex-negative:0;flex-shrink:0}.tax-hero-chart{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-left:8px}.tax-hero-chart-legend{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.chart-legend-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--gray-600)}.chart-legend-item .dot{width:8px;height:8px;border-radius:50%}.chart-legend-item .dot.stcg{background:#f59e0b}.chart-legend-item .dot.ltcg{background:#2563eb}.tax-savings-callout{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:var(--radius-lg);margin-bottom:16px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tax-savings-callout:hover{-webkit-box-shadow:0 4px 12px rgba(16,185,129,.15);box-shadow:0 4px 12px #10b98126;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.callout-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;color:#065f46;font-size:14px;font-weight:500}.callout-left strong{font-weight:700;color:#047857}.callout-left svg{color:#10b981;-ms-flex-negative:0;flex-shrink:0}.callout-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;color:#059669;font-size:13px;font-weight:600;white-space:nowrap}.year-selector{padding:8px 14px;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:13px;font-weight:600;background:#fff;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;font-family:inherit}.year-selector:focus{outline:none;border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px #2563eb1a}.tax-card-header-compact{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;padding:16px 20px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.tax-card-header-compact:hover{background-color:#f9fafb}.tax-card-main-compact{-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.tax-card-metrics-compact{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;gap:24px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tax-expanded-details{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;padding:12px;background:#fff;border-radius:8px}.tax-expanded-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px;font-size:13px}.tax-expanded-row span:first-child{color:var(--gray-500);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.tax-expanded-row span:last-child{color:var(--gray-900);font-weight:700;font-size:14px}.tax-content{background:#fff;border:2px solid #f1f5f9;border-radius:16px;padding:32px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.04);box-shadow:0 2px 8px #0000000a}.tax-section{margin-bottom:32px}.tax-section:last-child{margin-bottom:0}.tax-section h3{font-size:20px;font-weight:700;color:#111827;margin:0 0 20px}.info-badge{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:8px 16px;background:#eff6ff;border-radius:8px;color:#2563eb;font-size:13px;font-weight:500}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.breakdown-card{padding:24px;border-radius:12px;border:2px solid}.breakdown-card.stcg{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fca5a5}.breakdown-card.ltcg{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.breakdown-card h4{font-size:15px;font-weight:600;color:#374151;margin:0 0 12px}.breakdown-value{font-size:32px;font-weight:800;color:#111827;margin-bottom:16px}.breakdown-details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.detail-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:14px;color:#6b7280}.detail-row .highlight{font-weight:700;color:#111827}.transactions-table,.holdings-table{overflow-x:auto;border-radius:12px;border:1px solid #e5e7eb}table{width:100%;border-collapse:collapse}thead{background:#f9fafb}th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}td{padding:16px;font-size:14px;color:#374151;border-bottom:1px solid #f3f4f6}tr:last-child td{border-bottom:none}tr:hover{background:#f9fafb}.symbol-cell{font-weight:600;color:#111827}.symbol-cell .symbol{display:block;font-weight:600}.symbol-cell .name{display:block;font-size:12px;color:#6b7280;margin-top:2px}.negative{color:#dc2626;font-weight:600}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge.stcg{background:#fee2e2;color:#991b1b}.badge.ltcg{background:#dcfce7;color:#166534}.opportunities-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.opportunity-card{border:2px solid;border-radius:12px;padding:20px;-webkit-transition:all .3s;transition:all .3s}.opportunity-card.priority-high{border-color:#fca5a5;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.opportunity-card.priority-medium{border-color:#fde68a;background:linear-gradient(135deg,#fef3c7,#fde68a)}.opportunity-card.priority-low{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.opportunity-card:hover{-webkit-box-shadow:0 8px 24px rgba(0,0,0,.1);box-shadow:0 8px 24px #0000001a;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.opp-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:16px}.opp-symbol .symbol{display:block;font-size:18px;font-weight:700;color:#111827}.opp-symbol .name{display:block;font-size:13px;color:#6b7280;margin-top:2px}.priority-badge{padding:6px 12px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:.5px}.opp-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:16px}.opp-metrics .metric{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.opp-metrics .label{font-size:12px;color:#6b7280;font-weight:600}.opp-metrics .value{font-size:20px;font-weight:700;color:#111827}.opp-metrics .metric.highlight{padding:12px;background:#fff;border-radius:8px;border:2px solid #2563eb}.opp-recommendation{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:12px;background:#fff;border-radius:8px;font-size:14px;color:#374151;margin-bottom:16px}.opp-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.rebuy-note{font-size:12px;color:#6b7280;font-style:italic}.btn-execute{padding:10px 20px;background:#2563eb;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.btn-execute:hover{background:#1d4ed8;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.unrealized-summary{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;margin-bottom:24px;padding:20px;background:#f9fafb;border-radius:12px}.summary-metric{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px;-webkit-box-flex:1;-ms-flex:1;flex:1}.summary-metric .label{font-size:13px;color:#6b7280;font-weight:600}.summary-metric .value{font-size:24px;font-weight:700;color:#111827}.summary-metric.highlight{padding:16px;background:#fff;border-radius:8px;border:2px solid #2563eb}.days-remaining{color:#f59e0b;font-weight:600}.ltcg-ready{color:#059669;font-weight:600}.empty-transactions,.empty-opportunities,.empty-holdings,.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-opportunities{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:80px 20px}.empty-opportunities svg{color:#cbd5e1}.empty-opportunities h4{font-size:18px;font-weight:600;color:#374151;margin:0}.empty-opportunities p{font-size:14px;color:#6b7280;margin:0}.loading-state{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:400px;gap:16px}@media (max-width: 768px){.tax-center{padding:20px}.tax-hero-chart{display:none}.tax-card-header-compact{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:12px}.tax-card-main-compact{width:100%}.tax-card-metrics-compact{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;width:100%}.tax-expanded-details{grid-template-columns:repeat(2,1fr)}.breakdown-grid{grid-template-columns:1fr}.opp-metrics{grid-template-columns:1fr 1fr}.opp-actions{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.btn-execute{width:100%}.unrealized-summary{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tax-center table{font-size:12px}.tax-center th,.tax-center td{padding:8px}}.tax-insights-banner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;margin-bottom:24px}.insight-alert{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;font-size:14px;font-weight:500;-webkit-animation:slideIn .3s ease-out;animation:slideIn .3s ease-out}.insight-alert.high{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-left:4px solid #f59e0b}.insight-alert.medium{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border-left:4px solid #3b82f6}@-webkit-keyframes slideIn{0%{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.tax-impact-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;padding:24px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:16px}.impact-metric{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.impact-metric.highlight{padding:16px;background:#fff;border-radius:12px;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.08);box-shadow:0 4px 12px #00000014}.metric-label{font-size:13px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:28px;font-weight:800;color:#111827}.metric-value.negative{color:#dc2626}.holdings-tax-table{margin-top:24px;background:#fff;border-radius:12px;overflow:hidden;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.05);box-shadow:0 2px 8px #0000000d}.holdings-tax-table table{width:100%}.holdings-tax-table th{background:#f9fafb;padding:14px 16px;text-align:left;font-size:12px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.holdings-tax-table td{padding:16px;border-bottom:1px solid #f3f4f6}.holdings-tax-table tr:last-child td{border-bottom:none}.holdings-tax-table tr:hover{background:#f9fafb}.percent-small{font-size:12px;color:#6b7280;margin-left:6px}.recommendation-text{font-size:13px;color:#4b5563;font-style:italic}.empty-holdings{text-align:center;padding:60px 20px;color:#9ca3af}.section-description{color:#6b7280;margin-bottom:24px;font-size:15px}.timeline-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px}.timeline-item{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;padding:20px;background:#fff;border-radius:12px;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.05);box-shadow:0 2px 6px #0000000d;-webkit-transition:all .3s;transition:all .3s}.timeline-item:hover{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.1);box-shadow:0 4px 12px #0000001a;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.timeline-marker{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:70px}.timeline-dot{width:16px;height:16px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;-webkit-box-shadow:0 0 0 4px rgba(59,130,246,.2);box-shadow:0 0 0 4px #3b82f633;margin-bottom:8px}.timeline-days{font-size:20px;font-weight:800;color:#1e40af;background:linear-gradient(135deg,#dbeafe,#bfdbfe);padding:6px 12px;border-radius:8px}.timeline-content{-webkit-box-flex:1;-ms-flex:1;flex:1}.timeline-item-grouped{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;padding:24px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f;-webkit-transition:all .3s;transition:all .3s}.timeline-item-grouped:hover{-webkit-box-shadow:0 6px 16px rgba(0,0,0,.12);box-shadow:0 6px 16px #0000001f;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);border-color:#3b82f6}.timeline-content-grouped{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.timeline-header-grouped{padding-bottom:16px;border-bottom:2px solid #f3f4f6;-webkit-transition:background .2s;transition:background .2s}.timeline-header-grouped:hover{background:#f9fafb;border-radius:8px;margin:-8px;padding:8px 8px 24px}.timeline-title-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:16px;margin-bottom:12px}.timeline-title-main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-flex:1;-ms-flex:1;flex:1}.toggle-button{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;border-radius:8px;padding:8px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .2s;transition:all .2s;color:#6b7280;min-width:36px;height:36px}.toggle-button:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;color:#2563eb;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}.timeline-symbol-large{font-size:24px;font-weight:800;color:#111827;letter-spacing:-.5px}.timeline-lot-count{font-size:13px;color:#6b7280;background:#f3f4f6;padding:4px 12px;border-radius:6px;font-weight:500}.timeline-summary-stats{display:-webkit-box;display:-ms-flexbox;display:flex;gap:24px;-ms-flex-wrap:wrap;flex-wrap:wrap}.timeline-summary-stats .stat-item{font-size:14px;color:#374151}.timeline-summary-stats .stat-item strong{color:#111827;font-weight:600;margin-right:4px}.timeline-summary-stats .stat-item.highlight{color:#1e40af;font-weight:600}.timeline-summary-stats .stat-item.positive{color:#059669}.timeline-summary-stats .stat-item.negative{color:#dc2626}.purchase-date-lots{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.purchase-date-group{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;border-radius:12px;padding:16px;-webkit-transition:all .2s;transition:all .2s}.purchase-date-group:hover{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.purchase-date-header{margin-bottom:12px}.purchase-date-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.purchase-date-info span{font-size:14px;color:#374151}.purchase-date-info strong{color:#111827;font-weight:600}.purchase-date-label{color:#111827;font-weight:500}.ltcg-date-label{color:#1e40af;font-weight:500}.days-remaining{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:4px 12px;border-radius:6px;font-weight:600;font-size:13px}.purchase-date-metrics{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:8px}.purchase-date-metrics .metric-item{font-size:13px;color:#6b7280}.purchase-date-metrics .metric-item strong{color:#374151;font-weight:600;margin-right:4px}.purchase-date-metrics .metric-item.positive{color:#059669;font-weight:500}.purchase-date-metrics .metric-item.negative{color:#dc2626;font-weight:500}.purchase-date-metrics .metric-item.tax-benefit{color:#047857;background:linear-gradient(135deg,#d1fae5,#a7f3d0);padding:4px 10px;border-radius:6px;font-weight:600}.lot-breakdown-hint{margin-top:8px;padding-top:8px;border-top:1px dashed #d1d5db;font-size:12px;color:#9ca3af;font-style:italic}.loss-holdings-grouped{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.loss-holding-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;-webkit-transition:all .3s;transition:all .3s}.loss-holding-card:hover{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.08);box-shadow:0 4px 12px #00000014;border-color:#d1d5db}.loss-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f3f4f6}.loss-card-header:hover{background:#f9fafb;border-radius:8px;margin:-8px -8px 16px;padding:8px 8px 20px}.loss-card-main{-webkit-box-flex:1;-ms-flex:1;flex:1}.loss-card-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;margin-bottom:4px;-ms-flex-wrap:wrap;flex-wrap:wrap}.loss-symbol{font-size:20px;font-weight:800;color:#111827}.lot-count-badge{background:#f3f4f6;color:#6b7280;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500}.loss-card-name{font-size:13px;color:#6b7280}.loss-card-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-bottom:16px;padding:16px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:8px}.loss-stat{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.loss-stat .stat-label{font-size:12px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.loss-stat .stat-value{font-size:16px;font-weight:700;color:#111827}.loss-stat.negative .stat-value{color:#dc2626}.loss-stat.positive .stat-value{color:#059669}.loss-card-recommendation{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b;border-radius:8px;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.recommendation-content{font-size:14px;color:#78350f;-webkit-box-flex:1;-ms-flex:1;flex:1}.recommendation-content strong{font-weight:700;margin-right:6px}.rebuy-info-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:13px;color:#92400e;background:#ffffff80;padding:6px 12px;border-radius:6px}.loss-lots-breakdown{margin-top:16px;padding-top:16px;border-top:2px solid #e5e7eb}.loss-lots-breakdown h4{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px}.lots-table{width:100%;border-collapse:collapse;font-size:13px}.lots-table thead{background:#f9fafb}.lots-table th{padding:10px 12px;text-align:left;font-weight:600;color:#6b7280;border-bottom:2px solid #e5e7eb;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.lots-table td{padding:10px 12px;border-bottom:1px solid #f3f4f6}.lots-table tbody tr:hover{background:#f9fafb}.timeline-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.timeline-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.timeline-symbol{font-size:18px;font-weight:700;color:#111827}.timeline-badge{font-size:10px;padding:3px 10px;border-radius:10px;font-weight:600;text-transform:uppercase}.timeline-badge.stcg{background:#ff6b6b26;color:#ff6b6b}.timeline-badge.ltcg{background:#51cf6626;color:#51cf66}.timeline-date{font-size:13px;color:#6b7280;font-weight:500}.timeline-date strong{color:#111827;margin-right:4px}.timeline-metrics{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;-ms-flex-wrap:wrap;flex-wrap:wrap;font-size:13px;color:#4b5563}.timeline-metrics span{padding:6px 12px;background:#f3f4f6;border-radius:6px}.timeline-metrics .metric-highlight{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;font-weight:600}.timeline-metrics .metric-highlight strong{color:#1e3a8a}.timeline-metrics .holding-period{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-weight:500}.timeline-metrics .tax-savings{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;font-weight:600}.empty-timeline{text-align:center;padding:80px 20px;color:#9ca3af}.empty-timeline svg{color:#d1d5db;margin-bottom:20px}.empty-timeline h4{color:#4b5563;margin:16px 0 8px}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:20px}.breakdown-card{background:#fff;padding:24px;border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.05);box-shadow:0 2px 8px #0000000d}.breakdown-card.stcg{border-left:4px solid #ef4444}.breakdown-card.ltcg{border-left:4px solid #10b981}.breakdown-card h4{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;margin:0 0 12px}.breakdown-value{font-size:32px;font-weight:800;color:#111827;margin-bottom:20px}.breakdown-details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.detail-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f3f4f6;font-size:14px}.detail-row:last-child{border-bottom:none;font-weight:700}.detail-row .highlight{color:#2563eb;font-weight:700}.empty-transactions{text-align:center;padding:60px 20px;color:#9ca3af;background:#f9fafb;border-radius:12px;margin-top:20px}.optimization-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.overview-card{background:#fff;padding:24px;border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.05);box-shadow:0 2px 8px #0000000d;text-align:center;-webkit-transition:all .3s;transition:all .3s}.overview-card:hover{-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px);-webkit-box-shadow:0 4px 16px rgba(0,0,0,.1);box-shadow:0 4px 16px #0000001a}.overview-label{font-size:13px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.overview-value{font-size:32px;font-weight:800;color:#111827;margin-bottom:8px}.overview-value.negative{color:#dc2626}.overview-value.positive{color:#059669}.overview-detail{font-size:13px;color:#9ca3af}.strategy-alert{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;padding:20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b;border-radius:12px;margin-bottom:24px;-webkit-animation:slideIn .3s ease-out;animation:slideIn .3s ease-out}.strategy-alert svg{-ms-flex-negative:0;flex-shrink:0;color:#92400e;margin-top:2px}.strategy-alert div{color:#78350f;line-height:1.6}.strategy-alert strong{color:#92400e;font-weight:700}.loss-holdings-table{margin-top:24px;background:#fff;border-radius:12px;overflow:hidden;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.05);box-shadow:0 2px 8px #0000000d}.loss-holdings-table table{width:100%}.loss-holdings-table th{background:#f9fafb;padding:14px 12px;text-align:left;font-size:11px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.loss-holdings-table td{padding:16px 12px;border-bottom:1px solid #f3f4f6;font-size:14px}.loss-holdings-table tr:last-child td{border-bottom:none}.loss-row:hover{background:#f9fafb}.loss-row.priority-high{border-left:4px solid #dc2626}.loss-row.priority-medium{border-left:4px solid #f59e0b}.loss-row.priority-low{border-left:4px solid #6b7280}.tax-benefit-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.benefit-primary{font-size:15px;font-weight:700;color:#059669}.benefit-secondary{font-size:12px;color:#6b7280;font-weight:500}.recommendation-cell{max-width:300px}.recommendation-cell .recommendation-text{font-size:13px;line-height:1.5;color:#4b5563;margin-bottom:8px}.recommendation-cell .rebuy-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:11px;color:#9ca3af;padding:6px 10px;background:#f3f4f6;border-radius:6px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.recommendation-cell .rebuy-info svg{-ms-flex-negative:0;flex-shrink:0}.action-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}.guide-step{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;padding:20px;background:#fff;border-radius:12px;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.05);box-shadow:0 2px 6px #0000000d;-webkit-transition:all .3s;transition:all .3s}.guide-step:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.1);box-shadow:0 4px 12px #0000001a}.step-number{-ms-flex-negative:0;flex-shrink:0;width:40px;height:40px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;-webkit-box-shadow:0 4px 12px rgba(59,130,246,.3);box-shadow:0 4px 12px #3b82f64d}.step-content h4{margin:0 0 8px;font-size:16px;font-weight:700;color:#111827}.step-content p{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.empty-opportunities svg{color:#10b981}.empty-opportunities h4{color:#059669}.empty-opportunities p{color:#6b7280}.empty-transactions-enhanced{text-align:center;padding:60px 40px;background:linear-gradient(135deg,#f9fafb,#fff);border-radius:16px;margin-top:20px}.empty-transactions-enhanced .empty-icon{margin-bottom:24px}.empty-transactions-enhanced .empty-icon svg{color:#9ca3af}.empty-transactions-enhanced h4{font-size:24px;font-weight:700;color:#111827;margin:0 0 12px}.empty-transactions-enhanced>p{font-size:16px;color:#6b7280;margin:0 0 32px}.empty-explanation{max-width:500px;margin:0 auto 32px;padding:24px;background:#fff;border-radius:12px;text-align:left;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.05);box-shadow:0 2px 8px #0000000d}.empty-explanation h5{font-size:16px;font-weight:700;color:#111827;margin:0 0 16px}.empty-explanation ul{list-style:none;padding:0;margin:0}.empty-explanation li{font-size:14px;color:#4b5563;padding:8px 0;line-height:1.6}.unrealized-preview{max-width:600px;margin:32px auto;padding:24px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:12px;border-left:4px solid #3b82f6}.unrealized-preview strong{display:block;font-size:16px;color:#1e40af;margin-bottom:16px;font-weight:700}.preview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.preview-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px;padding:16px;background:#fff;border-radius:8px}.preview-item .label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.preview-item .value{font-size:20px;font-weight:800;color:#111827}.preview-item .value.positive{color:#059669}.preview-tip{font-size:14px;color:#1e40af;margin:0;padding:12px;background:#ffffffb3;border-radius:8px;text-align:left}.preview-tip strong{display:inline;font-size:14px;color:#1e40af}.tax-year-selector{margin-top:32px;padding:20px;background:#f3f4f6;border-radius:12px}.tax-year-selector p{font-size:14px;font-weight:600;color:#374151;margin:0 0 6px}.tax-year-selector span{font-size:13px;color:#6b7280}@media (max-width: 768px){.tax-impact-summary{grid-template-columns:1fr}.timeline-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.timeline-item-grouped{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:16px}.timeline-marker{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;width:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.timeline-metrics{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.timeline-symbol-large{font-size:20px}.timeline-summary-stats{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.purchase-date-info{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px}.purchase-date-metrics{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.purchase-date-group{padding:12px}.timeline-title-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.toggle-button{width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:8px 12px}.loss-card-summary{grid-template-columns:repeat(2,1fr);gap:12px}.loss-card-recommendation{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px}.lots-table{font-size:11px}.lots-table th,.lots-table td{padding:8px 6px}.holdings-tax-table{overflow-x:auto}.holdings-tax-table table{min-width:800px}.optimization-overview,.action-guide{grid-template-columns:1fr}.loss-holdings-table{overflow-x:auto}.loss-holdings-table table{min-width:1000px}.strategy-alert{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.realized-transactions-grouped{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.realized-transaction-card{background:#fff;border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;overflow:hidden;-webkit-transition:all .2s ease;transition:all .2s ease}.realized-transaction-card:hover{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.12);box-shadow:0 4px 12px #0000001f;border-color:#d1d5db}.realized-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;padding:20px;position:relative;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.realized-card-header:hover{background-color:#f9fafb}.realized-card-main{-webkit-box-flex:0;-ms-flex:0 0 220px;flex:0 0 220px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.realized-card-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.realized-symbol{font-size:1.4rem;font-weight:700;color:#111827}.events-count-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.3px}.realized-card-name{font-size:.9rem;color:#6b7280;font-weight:500}.realized-card-summary{-webkit-box-flex:1;-ms-flex:1;flex:1;display:grid;grid-template-columns:repeat(6,1fr);gap:20px;padding:0 16px}.realized-stat{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.realized-stat .stat-label{font-size:.75rem;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.realized-stat .stat-value{font-size:1.1rem;font-weight:700;color:#374151}.realized-stat.highlight{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:12px;border-radius:8px;border-left:3px solid #3b82f6}.realized-stat.highlight .stat-value-large{font-size:1.3rem;font-weight:800}.realized-stat .stat-value.positive{color:#059669}.realized-stat .stat-value.negative{color:#dc2626}.realized-stat .stat-value-large.positive{color:#059669}.realized-stat .stat-value-large.negative{color:#dc2626}.realized-transactions-breakdown{border-top:1px solid #e5e7eb;padding:20px;background:#f9fafb;-webkit-animation:slideDown .3s ease;animation:slideDown .3s ease}@-webkit-keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.breakdown-summary{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;margin-bottom:20px;-ms-flex-wrap:wrap;flex-wrap:wrap}.gain-type-summary{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 16px;border-radius:8px;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:200px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px #0000001a}.gain-type-summary.stcg{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:3px solid #f59e0b}.gain-type-summary.ltcg{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left:3px solid #3b82f6}.gain-type-summary .type-label{font-size:.85rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.gain-type-summary .type-value{font-size:1.1rem;font-weight:800}.gain-type-summary .type-value.positive{color:#059669}.gain-type-summary .type-value.negative{color:#dc2626}.transactions-table-compact{overflow-x:auto;border-radius:8px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px #0000001a}.transactions-table-compact table{width:100%;border-collapse:collapse;background:#fff;font-size:.9rem}.transactions-table-compact thead{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.transactions-table-compact th{padding:12px;text-align:left;font-weight:700;color:#374151;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #d1d5db}.transactions-table-compact td{padding:12px;color:#4b5563;border-bottom:1px solid #f3f4f6}.transactions-table-compact tbody tr:hover{background:#f9fafb;-webkit-transition:background .15s ease;transition:background .15s ease}.transactions-table-compact tbody tr:last-child td{border-bottom:none}.transactions-table-compact .date-cell{font-size:.85rem;color:#6b7280;white-space:nowrap;font-weight:500}.transactions-table-compact .positive{color:#059669;font-weight:700}.transactions-table-compact .negative{color:#dc2626;font-weight:700}@media (max-width: 1200px){.realized-card-summary{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.realized-card-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:12px}.realized-card-main{-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%}.realized-card-summary{grid-template-columns:repeat(2,1fr);width:100%;padding:0;gap:12px}.realized-stat{font-size:.85rem}.realized-stat .stat-value{font-size:1rem}.realized-stat.highlight .stat-value-large{font-size:1.1rem}.realized-symbol{font-size:1.2rem}.events-count-badge{font-size:.7rem;padding:3px 8px}.transactions-table-compact{font-size:.8rem}.transactions-table-compact th,.transactions-table-compact td{padding:8px 6px}.breakdown-summary{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.gain-type-summary{min-width:100%}}.tax-impact-summary-enhanced{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:32px}.impact-metric-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f;-webkit-transition:all .2s ease;transition:all .2s ease}.impact-metric-card:hover{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.1);box-shadow:0 4px 12px #0000001a;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.impact-metric-card.highlight{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#3b82f6}.impact-metric-card.info{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.metric-icon{width:48px;height:48px;border-radius:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.metric-icon.gains{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.metric-icon.tax{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.metric-icon.value{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.metric-icon.info-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.metric-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px;-webkit-box-flex:1;-ms-flex:1;flex:1}.metric-label-small{font-size:.75rem;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.metric-value-large{font-size:1.5rem;font-weight:800;color:#111827}.metric-value-large.positive{color:#059669}.metric-value-large.negative{color:#dc2626}.metric-value-medium{font-size:1.2rem;font-weight:700;color:#374151}.metric-detail{font-size:.8rem;color:#6b7280;font-weight:500}.holdings-tax-grouped{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.tax-holding-card{background:#fff;border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;overflow:hidden;-webkit-transition:all .2s ease;transition:all .2s ease}.tax-holding-card:hover{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.12);box-shadow:0 4px 12px #0000001f;border-color:#d1d5db}.tax-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;padding:20px;position:relative;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.tax-card-header:hover{background-color:#f9fafb}.tax-card-main{-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.tax-card-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.tax-symbol{font-size:1.3rem;font-weight:700;color:#111827}.lots-badge{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;padding:4px 10px;border-radius:10px;font-size:.7rem;font-weight:600;letter-spacing:.3px}.tax-card-name{font-size:.85rem;color:#6b7280;font-weight:500}.tax-card-metrics{-webkit-box-flex:1;-ms-flex:1;flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:16px;padding:0 12px}.tax-metric{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.tax-metric.highlight-metric{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:10px;border-radius:8px;border-left:3px solid #f59e0b}.metric-value-small{font-size:.95rem;font-weight:700;color:#374151}.metric-value-medium{font-size:1.1rem;font-weight:800}.metric-value-medium.positive{color:#059669}.metric-value-medium.negative{color:#dc2626}.metric-value-small.positive{color:#059669}.metric-value-small.negative{color:#dc2626}.percent-badge{font-size:.8rem;margin-left:4px;color:#6b7280}.tax-card-breakdown{border-top:1px solid #e5e7eb;padding:20px;background:#f9fafb;-webkit-animation:slideDown .3s ease;animation:slideDown .3s ease}.tax-type-summary{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;margin-bottom:20px;-ms-flex-wrap:wrap;flex-wrap:wrap}.tax-type-card{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:250px;padding:16px;border-radius:10px;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.08);box-shadow:0 2px 6px #00000014}.tax-type-card.stcg{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b}.tax-type-card.ltcg{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left:4px solid #3b82f6}.tax-type-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px}.tax-type-label{font-size:.8rem;font-weight:700;color:#374151;letter-spacing:.5px}.tax-type-rate{font-size:.75rem;font-weight:600;color:#6b7280;background:#ffffffb3;padding:4px 8px;border-radius:6px}.tax-type-value{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gain-value{font-size:1.3rem;font-weight:800}.gain-value.positive{color:#059669}.gain-value.negative{color:#dc2626}.tax-amount{font-size:.9rem;font-weight:600;color:#374151}.lot-breakdown-section{margin-top:20px}.lot-breakdown-section h4{font-size:.95rem;color:#374151;margin-bottom:12px;font-weight:700}.lots-breakdown-table{overflow-x:auto;border-radius:8px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px #0000001a;margin-bottom:16px}.lots-breakdown-table table{width:100%;border-collapse:collapse;background:#fff;font-size:.85rem}.lots-breakdown-table thead{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.lots-breakdown-table th{padding:10px;text-align:left;font-weight:700;color:#374151;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #d1d5db}.lots-breakdown-table td{padding:10px;color:#4b5563;border-bottom:1px solid #f3f4f6}.lots-breakdown-table tbody tr:hover{background:#f9fafb}.lots-breakdown-table tbody tr:last-child td{border-bottom:none}.days-remaining-small{display:block;font-size:.7rem;color:#6b7280;margin-top:2px}.lot-recommendation{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-left:3px solid #8b5cf6;border-radius:8px;color:#5b21b6;font-size:.9rem;font-weight:600}.lot-recommendation svg{-ms-flex-negative:0;flex-shrink:0}@media (max-width: 1400px){.tax-card-metrics{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1024px){.tax-card-metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.tax-impact-summary-enhanced{grid-template-columns:1fr}.tax-card-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:12px}.tax-card-main{width:100%}.tax-card-metrics{grid-template-columns:repeat(2,1fr);width:100%;padding:0;gap:12px}.tax-metric{font-size:.85rem}.tax-symbol{font-size:1.2rem}.tax-type-summary{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tax-type-card{min-width:100%}.lots-breakdown-table{font-size:.75rem}.lots-breakdown-table th,.lots-breakdown-table td{padding:8px 6px}.lot-recommendation{font-size:.85rem}}.risk-survey-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;padding:20px;-webkit-animation:fadeIn .3s ease-out;animation:fadeIn .3s ease-out}.risk-survey-modal{background:#fff;border-radius:24px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;-webkit-box-shadow:0 24px 48px rgba(0,0,0,.2);box-shadow:0 24px 48px #0003;-webkit-animation:slideUp .4s ease-out;animation:slideUp .4s ease-out}@-webkit-keyframes slideUp{0%{-webkit-transform:translateY(40px);transform:translateY(40px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes slideUp{0%{-webkit-transform:translateY(40px);transform:translateY(40px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.survey-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;padding:32px 32px 24px;border-bottom:2px solid #f1f5f9}.survey-icon{width:64px;height:64px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#2563eb;-ms-flex-negative:0;flex-shrink:0}.survey-header>div{-webkit-box-flex:1;-ms-flex:1;flex:1}.survey-header h2{font-size:24px;font-weight:800;color:#111827;margin:0 0 6px}.survey-header p{font-size:14px;color:#6b7280;margin:0}.btn-skip{padding:8px 16px;background:transparent;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:14px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.btn-skip:hover{background:#f9fafb;border-color:#d1d5db}.progress-bar{position:relative;height:6px;background:#f1f5f9;margin:0 32px}.progress-fill{height:100%;background:-webkit-gradient(linear,left top,right top,from(#2563eb),to(#3b82f6));background:linear-gradient(90deg,#2563eb,#3b82f6);-webkit-transition:width .4s cubic-bezier(.4,0,.2,1);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:3px}.progress-text{position:absolute;top:12px;left:0;font-size:12px;font-weight:600;color:#6b7280}.survey-content{padding:32px}.question-section{margin-bottom:32px}.question-category{display:inline-block;padding:6px 12px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:6px;margin-bottom:16px}.question-text{font-size:20px;font-weight:700;color:#111827;margin:0;line-height:1.4}.options-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;margin-bottom:32px}.option-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;padding:16px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;text-align:left;width:100%}.option-card:hover{border-color:#2563eb;background:#f9fafb;-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translate(4px)}.option-card.selected{border-color:#2563eb;background:#eff6ff;-webkit-box-shadow:0 4px 12px rgba(37,99,235,.15);box-shadow:0 4px 12px #2563eb26}.option-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.option-label{font-size:15px;font-weight:600;color:#111827}.option-description{font-size:13px;color:#6b7280}.option-radio{width:24px;height:24px;border:2px solid #d1d5db;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .2s;transition:all .2s;-ms-flex-negative:0;flex-shrink:0}.option-card.selected .option-radio{border-color:#2563eb;background:#fff}.radio-dot{width:12px;height:12px;background:#2563eb;border-radius:50%;-webkit-animation:dotPop .3s ease-out;animation:dotPop .3s ease-out}@-webkit-keyframes dotPop{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes dotPop{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}.survey-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btn-back{padding:10px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;font-size:14px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.btn-back:hover{background:#f9fafb;border-color:#2563eb;color:#2563eb}.dots-indicator{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:#e5e7eb;-webkit-transition:all .3s;transition:all .3s}.dot.active{background:#2563eb;width:24px;border-radius:4px}.dot.completed{background:#10b981}@media (max-width: 768px){.risk-survey-modal{border-radius:16px;max-height:95vh}.survey-header{padding:24px;-ms-flex-wrap:wrap;flex-wrap:wrap}.survey-icon{width:48px;height:48px}.survey-header h2{font-size:20px}.btn-skip{width:100%;margin-top:12px}.survey-content{padding:24px}.question-text{font-size:18px}.option-card{padding:14px 16px}.survey-actions{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.btn-back{width:100%}}.empty-state-container{max-width:1000px;margin:0 auto;padding:60px 20px}.empty-hero{text-align:center;margin-bottom:60px}.empty-icon{font-size:80px;margin-bottom:20px;-webkit-animation:float 3s ease-in-out infinite;animation:float 3s ease-in-out infinite}@-webkit-keyframes float{0%,to{-webkit-transform:translateY(0px);transform:translateY(0)}50%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@keyframes float{0%,to{-webkit-transform:translateY(0px);transform:translateY(0)}50%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}.empty-hero h2{font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:12px}.empty-subtitle{font-size:18px;color:#666;max-width:600px;margin:0 auto;line-height:1.6}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:40px 0}.feature-card{background:#fff;border:2px solid #f0f0f0;border-radius:16px;padding:32px 24px;text-align:center;-webkit-transition:all .3s ease;transition:all .3s ease}.feature-card:hover{border-color:#667eea;-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px);-webkit-box-shadow:0 8px 24px rgba(102,126,234,.15);box-shadow:0 8px 24px #667eea26}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h4{font-size:18px;font-weight:600;color:#1a1a1a;margin-bottom:12px}.feature-card p{font-size:14px;color:#666;line-height:1.6}.feature-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:32px}.feature-preview-card{background:#fff;border:2px solid #e8e8e8;border-radius:16px;padding:24px;-webkit-transition:all .3s ease;transition:all .3s ease}.feature-preview-card:hover{-webkit-box-shadow:0 4px 16px rgba(0,0,0,.08);box-shadow:0 4px 16px #00000014;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.feature-preview-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.feature-icon-badge{font-size:32px;width:56px;height:56px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:12px}.feature-preview-header h4{font-size:16px;font-weight:600;color:#1a1a1a;margin:0}.feature-preview-card p{font-size:14px;color:#666;line-height:1.5;margin-bottom:20px}.preview-example{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:20px;background:#f8f9fa;border-radius:12px}.preview-label{font-size:12px;color:#888;font-style:italic}.preview-metrics{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;margin-top:12px}.preview-metric{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:12px;background:#f8f9fa;border-radius:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.preview-value{font-size:18px;font-weight:600;color:#1a1a1a}.preview-bars{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;margin-top:12px}.preview-bar{width:100%;height:24px;background:#f0f0f0;border-radius:12px;overflow:hidden}.bar-fill{height:100%;background:-webkit-gradient(linear,left top,right top,from(#667eea),to(#764ba2));background:linear-gradient(90deg,#667eea,#764ba2);border-radius:12px;-webkit-transition:width .5s ease;transition:width .5s ease}.import-data-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 48px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;margin:40px auto 16px;display:block;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d}.import-data-btn-primary:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 8px 24px rgba(102,126,234,.4);box-shadow:0 8px 24px #667eea66}.import-data-btn-primary:active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.cta-help-text,.cta-note{text-align:center;font-size:14px;color:#666;margin-top:12px}.why-it-matters{margin:60px 0}.why-it-matters h3{font-size:24px;font-weight:600;text-align:center;margin-bottom:32px;color:#1a1a1a}.matters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.matter-item{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;padding:24px;background:#f8f9fa;border-radius:12px}.matter-emoji{font-size:40px;-ms-flex-negative:0;flex-shrink:0}.matter-content h4{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.matter-content p{font-size:14px;color:#666;line-height:1.5}.learn-more-section{text-align:center;margin-top:40px;padding-top:40px;border-top:1px solid #e0e0e0}.learn-more-text{font-size:14px;color:#666}.learn-link{color:#667eea;text-decoration:none;font-weight:500;margin-left:4px}.learn-link:hover{text-decoration:underline}.mini-risk-gauge{position:relative;width:120px;height:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.gauge-arc{width:120px;height:60px;border-radius:120px 120px 0 0;border:8px solid #e0e0e0;border-bottom:none;position:absolute;bottom:0}.gauge-value{font-size:32px;font-weight:700;color:#bbb;z-index:1}@media (max-width: 768px){.empty-state-container{padding:40px 16px}.empty-icon{font-size:60px}.empty-hero h2{font-size:24px}.empty-subtitle{font-size:16px}.features-grid,.feature-preview-grid,.matters-grid{grid-template-columns:1fr;gap:16px}.feature-card,.feature-preview-card{padding:24px 16px}.import-data-btn-primary{width:100%;padding:14px 24px}.preview-metrics{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media (max-width: 480px){.empty-icon{font-size:48px}.empty-hero h2{font-size:20px}.feature-icon{font-size:36px}.matter-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center}}.risk-features-preview{margin:60px 0}.preview-title{font-size:24px;font-weight:600;text-align:center;margin-bottom:32px;color:#1a1a1a}.risk-empty-cta{text-align:center;margin-top:60px}.risk-analytics{padding:32px;max-width:1400px;margin:0 auto;min-height:100vh}.risk-analytics .page-hero-icon{background:linear-gradient(135deg,#fef3c7,#fde68a)}.btn-retake-survey{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:7px 14px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--gray-700);cursor:pointer;-webkit-transition:all .15s;transition:all .15s;font-family:inherit}.btn-retake-survey:hover{border-color:var(--primary-500);color:var(--primary-500);-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f}.risk-hero-gauge{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;min-width:100px}.gauge-svg-compact{width:100px;height:60px}.risk-level-pill{padding:3px 12px;border-radius:12px;font-size:11px;font-weight:700;border:1px solid currentColor}.risk-hero-divider{width:1px;height:50px;background:var(--gray-200);-ms-flex-negative:0;flex-shrink:0}.risk-hero-tolerance{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px;min-width:100px}.risk-hero-label{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.risk-hero-value{font-size:18px;font-weight:700;color:var(--gray-900);font-family:var(--font-mono)}.risk-hero-profile{font-size:11px;color:var(--gray-500);font-weight:500}.risk-hero-alignment{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.alignment-badge{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}.alignment-badge.good{background:#d1fae5;color:#065f46}.alignment-badge.warning{background:#fee2e2;color:#991b1b}.risk-hero-breakdown-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;min-width:80px;padding:4px 8px}.risk-tab-content{min-height:300px}.risk-tab-panel{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px}.risk-overview-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:24px}.risk-overview-card.clickable{cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.risk-overview-card.clickable:hover{border-color:var(--primary-500);-webkit-box-shadow:0 4px 12px rgba(37,99,235,.1);box-shadow:0 4px 12px #2563eb1a}.risk-overview-card h3{font-size:16px;font-weight:700;color:var(--gray-900);margin:0 0 16px}.overview-section-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:16px}.overview-section-header h3{margin:0}.compact-var{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:12px;margin-bottom:16px}.var-amount{font-size:28px;font-weight:800;color:#dc2626;font-family:var(--font-mono)}.var-pct{font-size:13px;color:var(--gray-500);font-weight:500}.rec-summary{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px}.rec-summary h3{margin:0}.rec-summary p{font-size:13px;color:var(--gray-500);margin:4px 0 0}.rec-count{width:48px;height:48px;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:22px;font-weight:800;color:#dc2626;-ms-flex-negative:0;flex-shrink:0}.risk-bars{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.risk-bar-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.risk-bar-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.risk-bar-label{font-size:13px;font-weight:600;color:var(--gray-700)}.risk-bar-value{font-size:13px;font-weight:700;color:var(--gray-900)}.risk-bar-track{height:10px;background:var(--gray-100);border-radius:5px;overflow:hidden}.risk-bar-fill{height:100%;border-radius:5px;-webkit-transition:width .8s cubic-bezier(.4,0,.2,1);transition:width .8s cubic-bezier(.4,0,.2,1)}.section-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:28px}.section-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.section-title h3{font-size:18px;font-weight:700;color:var(--gray-900);margin:0}.section-title svg{color:#ef4444}.confidence-badge{padding:5px 12px;background:#eff6ff;border-radius:6px;font-size:12px;font-weight:600;color:#2563eb}.var-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.var-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px;padding:16px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:10px}.var-label{font-size:12px;font-weight:600;color:var(--gray-600)}.var-value{font-size:22px;font-weight:800;color:#dc2626}.var-percent{font-size:12px;color:var(--gray-500);font-weight:500}.var-alert{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:12px}.var-alert.low{background:#d1fae5;color:#065f46}.var-alert.medium{background:#fef3c7;color:#92400e}.var-alert.high{background:#fee2e2;color:#991b1b}.var-interpretation{font-size:13px;color:var(--gray-500);line-height:1.6;margin:0}.drawdown-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.drawdown-stat{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px;padding:16px;background:var(--gray-50);border-radius:10px;text-align:center}.stat-label{font-size:12px;font-weight:600;color:var(--gray-600)}.stat-value{font-size:24px;font-weight:800;color:var(--gray-900)}.stat-value.negative{color:#dc2626}.stat-detail{font-size:11px;color:var(--gray-400)}.drawdown-interpretation{font-size:13px;color:var(--gray-500);line-height:1.6;margin:12px 0 0;padding:12px;background:var(--gray-50);border-radius:8px}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.recommendation-card{padding:20px;border-radius:12px;border:2px solid}.recommendation-card.priority-high{border-color:#fca5a5;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.recommendation-card.priority-medium{border-color:#fde68a;background:linear-gradient(135deg,#fef3c7,#fde68a)}.recommendation-card.priority-low{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.rec-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px}.priority-badge{padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.priority-badge.high{background:#dc2626;color:#fff}.priority-badge.medium{background:#f59e0b;color:#fff}.priority-badge.low{background:#2563eb;color:#fff}.rec-type{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:capitalize}.rec-message{font-size:13px;color:var(--gray-700);line-height:1.6;margin:0 0 14px}.btn-action{width:100%;padding:9px;background:#fff;border:1px solid var(--gray-200);border-radius:8px;font-size:13px;font-weight:600;color:var(--gray-700);cursor:pointer;-webkit-transition:all .15s;transition:all .15s;font-family:inherit}.btn-action:hover{background:var(--gray-50);border-color:var(--primary-500);color:var(--primary-500)}.loading-state,.empty-state{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:300px;gap:12px}@media (max-width: 1024px){.var-metrics{grid-template-columns:1fr}.drawdown-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.risk-analytics{padding:20px}.risk-hero-gauge{min-width:80px}.gauge-svg-compact{width:80px;height:48px}.risk-hero-divider{height:40px}.drawdown-metrics,.recommendations-grid{grid-template-columns:1fr}}.info-message{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-top:24px;padding:16px 24px;background:#fff3cd;border:1px solid #ffc107;border-radius:12px;max-width:500px;margin-left:auto;margin-right:auto}.info-icon{font-size:24px}.info-message p{margin:0;font-size:14px;color:#856404;text-align:center}.info-message small{font-size:12px;color:#997404;font-style:italic}.predictions-demo{margin:60px 0}.demo-title{font-size:24px;font-weight:600;text-align:center;margin-bottom:32px;color:#1a1a1a}.demo-visualization{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:32px}.demo-chart{background:#fff;border:2px solid #e8e8e8;border-radius:16px;padding:24px}.demo-chart-header{margin-bottom:20px;text-align:center}.demo-label{font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.demo-chart-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:12px;font-size:12px;color:#888}.scenario-cards-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.scenario-preview-card{background:#fff;border:2px solid #e8e8e8;border-radius:16px;padding:24px;text-align:center;-webkit-transition:all .3s ease;transition:all .3s ease}.scenario-preview-card.optimistic{border-color:#10b981}.scenario-preview-card.realistic{border-color:#3b82f6}.scenario-preview-card.pessimistic{border-color:#ef4444}.scenario-preview-card:hover{-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px);-webkit-box-shadow:0 8px 24px rgba(0,0,0,.1);box-shadow:0 8px 24px #0000001a}.scenario-icon{font-size:32px;margin-bottom:12px}.scenario-label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;margin-bottom:12px}.scenario-value{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.scenario-growth{font-size:14px;font-weight:500;color:#666}.predictions-features{margin:60px 0}.predictions-features h3{font-size:24px;font-weight:600;text-align:center;margin-bottom:32px;color:#1a1a1a}.how-it-works{margin:60px 0;padding:48px 24px;background:#f8f9fa;border-radius:16px}.how-it-works h3{font-size:24px;font-weight:600;text-align:center;margin-bottom:48px;color:#1a1a1a}.steps-timeline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;max-width:900px;margin:0 auto}.step{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-webkit-box-flex:1;-ms-flex:1;flex:1}.step-number{width:56px;height:56px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:24px;font-weight:700;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d}.step-content{text-align:center}.step-content h4{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.step-content p{font-size:14px;color:#666;line-height:1.5}.step-connector{width:100px;height:3px;background:-webkit-gradient(linear,left top,right top,from(#667eea),to(#764ba2));background:linear-gradient(90deg,#667eea,#764ba2);margin:0 16px 64px}.predictions-empty-cta{text-align:center;margin-top:60px}@media (max-width: 768px){.scenario-cards-preview{grid-template-columns:1fr}.steps-timeline{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.step-connector{width:3px;height:60px;margin:16px 0}.demo-chart{padding:16px}}.predictions{padding:32px;max-width:1400px;margin:0 auto;min-height:100vh}.predictions .page-hero-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.predictions-config-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap}.config-inline-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:3px}.config-inline-item label{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.config-inline-item select,.config-inline-item input{padding:7px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:13px;font-weight:600;background:#fff;-webkit-transition:all .15s;transition:all .15s;font-family:inherit;min-width:100px}.config-inline-item select:focus,.config-inline-item input:focus{outline:none;border-color:var(--primary-500);-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px #2563eb1a}.config-current-value{padding:7px 12px;background:var(--gray-50);border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--gray-700);white-space:nowrap}.config-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-500);-webkit-animation:pulse-dot 1s ease-in-out infinite;animation:pulse-dot 1s ease-in-out infinite;margin-bottom:8px}@-webkit-keyframes pulse-dot{0%,to{opacity:.3;-webkit-transform:scale(.8);transform:scale(.8)}50%{opacity:1;-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes pulse-dot{0%,to{opacity:.3;-webkit-transform:scale(.8);transform:scale(.8)}50%{opacity:1;-webkit-transform:scale(1.2);transform:scale(1.2)}}.predictions-insights-strip{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:14px 20px;margin-bottom:16px}.insight-strip-item{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.insight-strip-item svg{color:var(--primary-500);-ms-flex-negative:0;flex-shrink:0}.insight-strip-label{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.insight-strip-value{font-size:15px;font-weight:700;color:var(--gray-900);font-family:var(--font-mono)}.insight-strip-value.positive{color:#059669}.insight-strip-divider{width:1px;height:28px;background:var(--gray-200);-ms-flex-negative:0;flex-shrink:0}.prediction-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.summary-card{padding:20px;border-radius:var(--radius-lg);border:1px solid;-webkit-transition:all .2s;transition:all .2s}.summary-card:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.summary-card.pessimistic{border-color:#fca5a5;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.summary-card.realistic{border-color:#93c5fd;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.summary-card.optimistic{border-color:#86efac;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--gray-600);margin-bottom:10px}.card-value{font-size:26px;font-weight:800;color:var(--gray-900);margin-bottom:4px}.card-detail{font-size:12px;color:var(--gray-500);font-weight:500}.prediction-content{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:28px;margin-bottom:24px}.chart-section{margin-bottom:28px}.chart-section h3{font-size:16px;font-weight:700;color:var(--gray-900);margin:0 0 16px}.chart-interpretation{text-align:center;font-size:13px;color:var(--gray-500);margin:12px 0 0;padding:10px;background:var(--gray-50);border-radius:6px}.scenario-comparison{margin-top:28px}.scenario-comparison h3{font-size:16px;font-weight:700;color:var(--gray-900);margin:0 0 16px}.comparison-table{overflow-x:auto;border-radius:10px;border:1px solid var(--gray-200)}.comparison-table table{width:100%;border-collapse:collapse}.comparison-table thead{background:var(--gray-50)}.comparison-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--gray-200)}.comparison-table td{padding:12px 14px;font-size:13px;color:var(--gray-700);border-bottom:1px solid var(--gray-100)}.comparison-table tr:last-child td{border-bottom:none}.comparison-table tr.realistic{background:#eff6ff;font-weight:600}.scenario-name{font-weight:700;text-transform:capitalize;color:var(--gray-900)}.value-cell{font-weight:600;color:var(--gray-900)}.positive{color:#059669;font-weight:600}.cagr{font-weight:700;color:#2563eb}.montecarlo-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.mc-stat{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px;padding:16px;background:var(--gray-50);border-radius:10px;text-align:center}.mc-label{font-size:12px;font-weight:600;color:var(--gray-600)}.mc-value{font-size:24px;font-weight:800;color:var(--gray-900)}.mc-value.positive{color:#059669}.percentiles-section{margin-top:24px}.percentiles-section h3{font-size:16px;font-weight:700;color:var(--gray-900);margin:0 0 16px}.percentiles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.percentile-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px;padding:16px;border-radius:10px;border:1px solid;text-align:center}.percentile-card.worst{border-color:#fca5a5;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.percentile-card.p25{border-color:#fde68a;background:linear-gradient(135deg,#fef3c7,#fde68a)}.percentile-card.median{border-color:#93c5fd;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.percentile-card.p75{border-color:#86efac;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.percentile-card.best{border-color:#6ee7b7;background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.percentile-label{font-size:11px;font-weight:600;color:var(--gray-600)}.percentile-value{font-size:18px;font-weight:800;color:var(--gray-900)}.percentile-detail{font-size:10px;color:var(--gray-400)}.loading-state,.loading-montecarlo,.empty-state{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:300px;gap:12px}.empty-state svg{color:#cbd5e1}.empty-state h2{font-size:20px;font-weight:700;color:var(--gray-700);margin:0}.empty-state p{font-size:14px;color:var(--gray-500);margin:0}.spinner{width:48px;height:48px;border:4px solid #f3f4f6;border-top-color:#2563eb;border-radius:50%;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite}@media (max-width: 1024px){.prediction-summary{grid-template-columns:1fr}.percentiles-grid{grid-template-columns:repeat(2,1fr)}.montecarlo-summary{grid-template-columns:1fr}}@media (max-width: 768px){.predictions{padding:20px}.predictions-config-inline{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.config-inline-item select,.config-inline-item input{width:100%}.predictions-insights-strip{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;padding:16px}.insight-strip-divider{width:100%;height:1px}.insight-strip-item{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;width:100%}.prediction-summary,.percentiles-grid,.montecarlo-summary{grid-template-columns:1fr}}.help-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);padding:40px 20px}.help-container{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;-webkit-box-shadow:0 4px 24px rgba(0,0,0,.08);box-shadow:0 4px 24px #00000014;overflow:hidden}.help-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px;position:relative}.back-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;-webkit-transition:all .2s;transition:all .2s;margin-bottom:24px}.back-button:hover{background:#ffffff4d;-webkit-transform:translateX(-4px);-ms-transform:translateX(-4px);transform:translate(-4px)}.help-title-section{text-align:center}.help-icon-large{margin-bottom:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;opacity:.95}.help-header h1{font-size:32px;font-weight:700;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.1)}.help-content{padding:48px 40px}.help-section{margin-bottom:48px}.help-section:last-child{margin-bottom:0}.help-section h2{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e8ecf1}.help-text{font-size:16px;line-height:1.7;color:#4a5568;margin-bottom:0}.help-steps{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:24px;margin-top:24px}.help-step{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.step-number{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;font-weight:700;-ms-flex-negative:0;flex-shrink:0;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d}.step-content{-webkit-box-flex:1;-ms-flex:1;flex:1}.step-content h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.step-content p{font-size:15px;line-height:1.6;color:#4a5568;margin:0}.help-metrics{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px;margin-top:24px}.help-metric{background:#f7fafc;padding:20px;border-radius:12px;border-left:4px solid #667eea}.help-metric h3{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.help-metric p{font-size:14px;line-height:1.6;color:#4a5568;margin:0}.help-scenarios{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:24px}.help-scenario{background:#fff;border:2px solid #e8ecf1;border-radius:12px;padding:24px;text-align:center;-webkit-transition:all .3s;transition:all .3s}.help-scenario:hover{border-color:#667eea;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.15);box-shadow:0 4px 12px #667eea26;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.scenario-icon{font-size:48px;margin-bottom:12px}.help-scenario h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.help-scenario p{font-size:14px;line-height:1.6;color:#4a5568;margin:0}.help-list{margin-top:20px;padding-left:24px}.help-list li{font-size:15px;line-height:1.8;color:#4a5568;margin-bottom:12px}.help-list li:last-child{margin-bottom:0}.help-warnings{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;margin-top:20px}.help-warning{background:#fff5f5;border-left:4px solid #f56565;padding:16px;border-radius:8px;font-size:14px;color:#742a2a;font-weight:500}.help-tips{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;margin-top:20px}.help-tip{background:#f0fff4;border-left:4px solid #48bb78;padding:16px;border-radius:8px;font-size:14px;color:#22543d;font-weight:500}.help-quick-links{background:#f7fafc;padding:32px 40px;border-top:1px solid #e8ecf1}.help-quick-links h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 20px;text-align:center}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.quick-links-grid button{background:#fff;border:2px solid #e8ecf1;padding:16px;border-radius:12px;font-size:15px;font-weight:500;color:#4a5568;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.quick-links-grid button:hover{border-color:#667eea;color:#667eea;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 12px rgba(102,126,234,.15);box-shadow:0 4px 12px #667eea26}.quick-links-grid button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;-webkit-box-shadow:0 4px 12px rgba(102,126,234,.3);box-shadow:0 4px 12px #667eea4d}@media (max-width: 768px){.help-page{padding:20px 12px}.help-header{padding:24px 20px}.help-header h1{font-size:24px}.help-content{padding:32px 20px}.help-section h2{font-size:20px}.help-scenarios{grid-template-columns:1fr}.help-quick-links{padding:24px 20px}.quick-links-grid{grid-template-columns:1fr}}.help-overview{margin-top:2rem;padding:0 1rem}.help-topics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.help-topic-card{background:#fff;border-radius:12px;padding:2rem;border:2px solid #e2e8f0;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.help-topic-card:hover{-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px);-webkit-box-shadow:0 12px 24px rgba(0,0,0,.1);box-shadow:0 12px 24px #0000001a;border-color:#667eea}.help-topic-card .topic-icon{font-size:3rem;margin-bottom:1rem}.help-topic-card h3{margin:0 0 .75rem;font-size:1.5rem;color:#1a202c}.help-topic-card p{color:#718096;line-height:1.6;margin:0 0 1.5rem;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.help-topic-card .topic-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;margin-top:auto}.help-topic-card .topic-button:hover{-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translate(4px);-webkit-box-shadow:0 4px 12px rgba(102,126,234,.4);box-shadow:0 4px 12px #667eea66}@media (max-width: 768px){.help-topics-grid{grid-template-columns:1fr;gap:1.5rem}.help-topic-card{padding:1.5rem}}:root{--primary-50: #f0f9ff;--primary-100: #e0f2fe;--primary-500: #2563eb;--primary-600: #1d4ed8;--primary-700: #1e40af;--accent-500: #14b8a6;--accent-600: #0d9488;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Monaco", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--transition-slower: .5s ease-in-out;--primary: var(--primary-500);--secondary: var(--gray-500);--light: var(--gray-50);--dark: var(--gray-900);--border: var(--gray-200)}*{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--gray-900);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-primary{color:var(--primary-500)}.text-gray{color:var(--gray-500)}.bg-primary{background-color:var(--primary-500)}.bg-light{background-color:var(--gray-50)}.bg-white{background-color:#fff}.shadow-sm{-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm)}.shadow-md{-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.shadow-lg{-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.portfolio-header-new{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}.portfolio-header-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.metrics-grid-new{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr 1fr 1fr;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}@supports (-webkit-appearance: none){.metrics-grid-5{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr 1fr 1fr!important;grid-gap:24px;gap:24px}@media (max-width: 1200px){.metrics-grid-5{-ms-grid-columns:1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr!important}}@media (max-width: 768px){.metrics-grid-5{-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr!important}}}.metric-card-new{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.metric-card-new:hover{-webkit-transform:translateY(-4px) translateZ(0);transform:translateY(-4px) translateZ(0)}.profile-progress-bar-container{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.progress-bar{width:100%;border-radius:3px;overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:3px;-webkit-transition:width .6s ease-out;transition:width .6s ease-out;will-change:width}@supports not (background: conic-gradient(red,blue)){.progress-circle{background:linear-gradient(to right,var(--primary),var(--success))!important}}.metric-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-webkit-gap:12px}@supports not (gap: 12px){.metric-card-header>*+*{margin-left:12px}.portfolio-header-actions>*+*{margin-left:16px}.metrics-grid-new{grid-gap:24px}}.btn-import,.btn-mfcentral-sync,.btn-refresh{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.portfolio-health-strip{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;-webkit-gap:8px}@supports not (gap: 8px){.portfolio-health-strip>*+*{margin-left:8px}}.health-pill{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.charts-grid{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}@media (max-width: 900px){.charts-grid{-ms-grid-columns:1fr;grid-template-columns:1fr}}.goals-widget-grid{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px}@media (max-width: 768px){.goals-widget-grid{-ms-grid-columns:1fr;grid-template-columns:1fr}}.goal-widget-progress-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-gap:8px}@supports not (gap: 8px){.goal-widget-progress-row>*+*{margin-left:8px}}.insights-grid{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:20px;gap:20px}@media (max-width: 768px){.insights-grid{-ms-grid-columns:1fr;grid-template-columns:1fr!important}}.empty-state-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.empty-state-info{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:20px;gap:20px}@media (max-width: 768px){.empty-state-info{-ms-grid-columns:1fr;grid-template-columns:1fr}}.btn-import:hover:not(:disabled),.btn-mfcentral-sync:hover:not(:disabled){-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.info-card:hover{-webkit-transform:translateY(-4px);-ms-transform:translateY(-4px);transform:translateY(-4px)}.goal-widget-card:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.profile-progress-bar-container{background:linear-gradient(135deg,#fff9e6,#fff3cc)}.btn-mfcentral-sync{background:linear-gradient(135deg,#10b981,#059669)}.mfcentral-sync-banner{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.mfcentral-sync-banner{-webkit-animation:slideInDown .4s ease-out;animation:slideInDown .4s ease-out}@-webkit-keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-base{-webkit-animation:shimmer 1.5s infinite;animation:shimmer 1.5s infinite}.metric-type-chips,.allocation-type-chips{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px;-webkit-gap:4px}@supports not (gap: 4px){.metric-type-chips>*+*,.allocation-type-chips>*+*{margin-left:4px}}.metric-card-new,.health-pill,.goal-widget-card,.info-card{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-gap:8px}@supports not (gap: 8px){.btn>*+*{margin-left:8px}}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:.001dpcm){@supports (-webkit-appearance:none){.progress-bar{display:block;position:relative;width:100%}.progress-fill{display:block;position:absolute;top:0;left:0;height:100%}}}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--gray-50);color:var(--gray-900)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:8px;padding:24px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.card-header{font-size:1.5rem;font-weight:600;margin-bottom:16px;color:var(--dark)}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.btn-secondary{background-color:var(--secondary);color:#fff}.btn-success{background-color:var(--success);color:#fff}.btn-danger{background-color:var(--danger);color:#fff}.btn-outline{background-color:#fff;border:1px solid var(--border);color:var(--dark)}.btn-outline:hover{background-color:var(--light)}.input-group{margin-bottom:16px}.input-label{display:block;margin-bottom:6px;font-weight:500;color:var(--dark)}.input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;-webkit-transition:border-color .2s;transition:border-color .2s}.input:focus{outline:none;border-color:var(--primary)}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.table th{font-weight:600;color:var(--dark);background-color:var(--light)}.table tbody tr:hover{background-color:var(--light)}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.badge-success{background-color:#d1fae5;color:#065f46}.badge-danger{background-color:#fee2e2;color:#991b1b}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-info{background-color:#dbeafe;color:#1e40af}.badge-secondary{background-color:#f3f4f6;color:#374151}.badge-primary{background-color:#dbeafe;color:#1e40af}.alert{padding:12px 16px;border-radius:6px;margin-bottom:16px}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #10b981}.alert-danger{background-color:#fee2e2;color:#991b1b;border:1px solid #ef4444}.alert-warning{background-color:#fef3c7;color:#92400e;border:1px solid #f59e0b}.alert-info{background-color:#dbeafe;color:#1e40af;border:1px solid #3b82f6;-webkit-animation:slideInDown .3s ease-out;animation:slideInDown .3s ease-out;-webkit-box-shadow:0 4px 12px rgba(59,130,246,.2);box-shadow:0 4px 12px #3b82f633;font-weight:600}@keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-secondary{color:var(--secondary)}.loading{text-align:center;padding:40px;color:var(--secondary)}.error{color:var(--danger);font-size:14px;margin-top:4px}.spinner{width:40px;height:40px;border:4px solid var(--light);border-top-color:var(--primary);border-radius:50%;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:9999;-webkit-animation:fadeIn .2s ease;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;padding:0;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.3);box-shadow:0 20px 60px #0000004d;-webkit-animation:slideUp .3s ease;animation:slideUp .3s ease;position:relative}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--dark)}.modal-body{padding:24px}.close-button{background:none;border:none;cursor:pointer;padding:4px;color:var(--secondary);-webkit-transition:color .2s;transition:color .2s}.close-button:hover{color:var(--dark)}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes slideUp{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes slideUp{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}
