:root{--color-primary: #14b8a6;--color-primary-dark: #0f766e;--color-primary-light: #5eead4;--color-primary-soft: rgba(20, 184, 166, .13);--color-secondary: #7c8a9a;--color-secondary-dark: #4b5565;--color-success: #22c55e;--color-success-light: #86efac;--color-danger: #f97373;--color-danger-light: #fca5a5;--color-warning: #f5b84b;--color-warning-soft: rgba(245, 184, 75, .13);--color-text-primary: #f7f4ee;--color-text-secondary: #c9d0d8;--color-text-tertiary: #8994a3;--color-bg-primary: #15191f;--color-bg-secondary: #0b0e13;--color-bg-tertiary: #20262f;--color-bg-elevated: #11161d;--color-bg-panel: rgba(21, 25, 31, .92);--color-border: #303843;--color-border-light: #242b35;--color-border-strong: #46515f;--font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.6rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 650;--font-weight-bold: 750;--line-height-tight: 1.12;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .35rem;--radius-md: .5rem;--radius-lg: .5rem;--radius-xl: .65rem;--radius-full: 9999px;--shadow-sm: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 22px rgba(0, 0, 0, .18);--shadow-md: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 16px 44px rgba(0, 0, 0, .24);--shadow-lg: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 24px 70px rgba(0, 0, 0, .32);--shadow-xl: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 32px 90px rgba(0, 0, 0, .38);--transition-fast: .14s cubic-bezier(.2, .8, .2, 1);--transition-base: .21s cubic-bezier(.2, .8, .2, 1);--transition-slow: .32s cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;height:100%;overflow:hidden;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),radial-gradient(circle at 15% 0%,rgba(20,184,166,.14),transparent 28rem),radial-gradient(circle at 92% 12%,rgba(245,184,75,.1),transparent 24rem),#0b0e13;background-size:36px 36px,36px 36px,auto,auto,auto}app-root{display:block;height:100%;overflow:hidden}.container{width:min(100%,1440px);margin:0 auto;padding:0 var(--spacing-xl)}@media (max-width: 768px){.container{padding:0 var(--spacing-md)}}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-bold);letter-spacing:0;line-height:var(--line-height-tight)}h1{margin-bottom:var(--spacing-md);font-size:var(--font-size-4xl)}h2{margin-bottom:var(--spacing-md);font-size:var(--font-size-3xl)}h3{margin-bottom:var(--spacing-sm);font-size:var(--font-size-2xl)}h4{margin-bottom:var(--spacing-sm);font-size:var(--font-size-xl)}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.header{position:relative;z-index:100;height:76px;color:var(--color-text-primary);background:#0b0e13d6;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 18px 50px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header .container,.header-content{height:100%}.header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.logo{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-decoration:none}.logo:before{content:"";width:34px;height:34px;border:1px solid rgba(94,234,212,.42);border-radius:var(--radius-md);background:linear-gradient(135deg,#14b8a6f2,#f5b84bdb),var(--color-primary);box-shadow:0 10px 30px #14b8a633}.nav{display:flex;align-items:center;gap:.25rem;padding:.25rem;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);background:#ffffff09}.nav a{position:relative;color:var(--color-text-tertiary);border-radius:var(--radius-md);padding:.55rem .75rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none;transition:color var(--transition-base),background var(--transition-base),transform var(--transition-base)}.nav a:hover{color:var(--color-text-primary);background:#ffffff0e}.nav a.active{color:#07100f;background:var(--color-primary);box-shadow:0 10px 24px #14b8a638}.card{position:relative;margin-bottom:var(--spacing-lg);padding:var(--spacing-xl);overflow:visible;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff09,#ffffff03),var(--color-bg-panel);box-shadow:var(--shadow-md);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:2.45rem;gap:var(--spacing-xs);padding:.66rem 1rem;overflow:hidden;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1;text-decoration:none;white-space:nowrap;transition:transform var(--transition-base),background var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base)}.btn:disabled{cursor:not-allowed;opacity:.48;transform:none}.btn-primary{color:#07100f;border-color:#5eead45c;background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));box-shadow:0 12px 34px #14b8a638}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 42px #14b8a64d}.btn-secondary{color:var(--color-text-primary);border-color:#ffffff1a;background:#ffffff0e}.btn-secondary:hover:not(:disabled){border-color:#5eead447;background:#ffffff17;transform:translateY(-1px)}.btn-sm{min-height:2rem;padding:.45rem .72rem;font-size:var(--font-size-xs)}.input-group{margin-bottom:var(--spacing-lg)}.input-group label,.form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.input-group input,.input-group select,.form-control,.form-input,textarea{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#ffffff0b;color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.input-group input,.input-group select{padding:.8rem .9rem}.input-group input:hover,.input-group select:hover,.form-control:hover,.form-input:hover{border-color:#5eead447;background:#fff1}.input-group input:focus,.input-group select:focus,.form-control:focus,.form-input:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #14b8a624}::placeholder{color:var(--color-text-tertiary)}.table{width:100%;border-collapse:separate;border-spacing:0;margin-top:var(--spacing-md);font-size:var(--font-size-sm)}.table th,.table td{padding:.92rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.table th{position:sticky;top:0;z-index:10;color:var(--color-text-tertiary);background:#11161d;font-size:.72rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:#14b8a60e}.table tbody tr:last-child td{border-bottom:none}.spinner{width:42px;height:42px;margin:var(--spacing-xl) auto;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message,.success-message{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin:var(--spacing-md) 0;padding:var(--spacing-md);border-radius:var(--radius-md)}.error-message{color:#fecaca;border:1px solid rgba(249,115,115,.28);background:#f973731a}.error-message:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex:0 0 auto;border-radius:50%;color:#150808;background:var(--color-danger);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.success-message{color:#bbf7d0;border:1px solid rgba(34,197,94,.28);background:#22c55e1a}.success-message:before{content:"OK";font-size:.65rem;font-weight:var(--font-weight-bold)}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 1100px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.grid-2,.grid-3{grid-template-columns:1fr}}.stock-price{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.stock-price.positive,.stock-change.positive,.positive{color:var(--color-success)}.stock-price.negative,.stock-change.negative,.negative{color:var(--color-danger)}.stock-change{margin-left:var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.chart-container{position:relative;min-height:340px;margin:var(--spacing-md) 0;padding:var(--spacing-md)}.empty-state{padding:var(--spacing-3xl) var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.empty-state h3{margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0b0e13}::-webkit-scrollbar-thumb{border:2px solid #0b0e13;border-radius:var(--radius-full);background:#333c49}::-webkit-scrollbar-thumb:hover{background:#46515f}@media (max-width: 768px){:root{--font-size-4xl: 2.05rem;--font-size-3xl: 1.65rem}.header{height:136px}.card{padding:var(--spacing-lg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.logo{min-width:max-content;transition:transform var(--transition-base),opacity var(--transition-base)}.logo:hover{transform:translateY(-1px)}.logo-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:0}.header-search{flex:1;max-width:460px}.search-input-wrapper{display:flex;align-items:center;gap:var(--spacing-xs);height:42px;padding:.2rem;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-lg);background:#ffffff0b;transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.search-input-wrapper:before{content:"/";display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;margin-left:.35rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.search-input-wrapper:focus-within{border-color:#5eead47a;background:#ffffff12;box-shadow:0 0 0 4px #14b8a61f}.header-search-input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm)}.header-search-input::placeholder{color:var(--color-text-tertiary)}.search-button{min-width:46px;height:32px;border:0;border-radius:var(--radius-md);background:var(--color-primary);color:#07100f;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);transition:transform var(--transition-base),box-shadow var(--transition-base),opacity var(--transition-base)}.search-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #14b8a638}.search-button:disabled{cursor:not-allowed;opacity:.45}.auth-section{display:flex;align-items:center;gap:var(--spacing-md);position:relative}.user-menu-wrapper{position:relative}.user-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(94,234,212,.35);border-radius:var(--radius-md);background:linear-gradient(135deg,#14b8a657,#f5b84b29),#ffffff0e;color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);transition:transform var(--transition-base),border-color var(--transition-base),background var(--transition-base)}.user-avatar:hover{border-color:var(--color-primary-light);transform:translateY(-1px)}.user-dropdown,.watchlist-dropdown{border:1px solid rgba(255,255,255,.1);background:#121820}.user-dropdown{position:absolute;top:calc(100% + var(--spacing-sm));right:0;min-width:230px;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:1000;animation:slideDown .18s ease-out}.dropdown-header{padding:var(--spacing-md);background:#ffffff0a}.dropdown-email{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);word-break:break-word}.dropdown-divider{height:1px;background:#ffffff14}.dropdown-item{display:block;width:100%;padding:var(--spacing-md);border:0;background:transparent;color:var(--color-text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:left;text-decoration:none;transition:background var(--transition-base)}.dropdown-item:hover{background:#ffffff0f}.auth-buttons{display:flex;align-items:center;gap:var(--spacing-sm)}.auth-link{padding:.62rem .9rem;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-decoration:none;transition:background var(--transition-base),color var(--transition-base)}.auth-link:hover{background:#ffffff0f}.auth-link-primary{color:#07100f;background:var(--color-primary)}.auth-link-primary:hover{background:var(--color-primary-light)}@media (max-width: 1180px){.header-search{max-width:320px}}@media (max-width: 900px){.header-content{flex-wrap:wrap;align-content:center;gap:var(--spacing-sm)}.header-search{order:4;width:100%;max-width:none;flex-basis:100%}.nav{order:3;max-width:calc(100vw - 2rem);overflow-x:auto}.nav a{flex:0 0 auto;padding:.5rem .65rem;font-size:var(--font-size-xs)}.logo-text{font-size:var(--font-size-base)}.auth-section{margin-left:auto}}@media (max-width: 560px){.search-button{min-width:40px}.auth-buttons{gap:var(--spacing-xs)}.auth-link{padding:.55rem .7rem}}.stock-card{position:relative;display:flex;height:100%;min-height:184px;flex-direction:column;padding:var(--spacing-lg);overflow:visible;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);background:linear-gradient(150deg,rgba(20,184,166,.1),transparent 44%),#ffffff09;box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base)}.stock-card:before{content:"";position:absolute;top:0;left:var(--spacing-lg);right:var(--spacing-lg);height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-warning));opacity:.8}.stock-card:hover{border-color:#5eead447;background:linear-gradient(150deg,rgba(20,184,166,.14),transparent 48%),#ffffff0d;box-shadow:var(--shadow-md)}.stock-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.symbol-button{flex:1;min-width:0;padding:0;border:0;background:none;cursor:pointer;font-family:inherit;text-align:left}.symbol-button h3{margin:0;color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:0;transition:color var(--transition-base)}.symbol-button:hover h3{color:var(--color-primary-light)}.watchlist-dropdown-wrapper{position:relative}.watchlist-btn{gap:var(--spacing-xs)}.btn-icon{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.watchlist-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;z-index:1000;min-width:210px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);background:#121820;box-shadow:var(--shadow-xl);animation:slideDown .18s ease-out}.default-badge{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.dropdown-empty{padding:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.watchlist-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 var(--spacing-sm);border:1px solid rgba(34,197,94,.26);border-radius:var(--radius-full);background:#22c55e1a;color:var(--color-success-light)}.check-icon{font-size:.65rem;font-weight:var(--font-weight-bold)}.stock-card-body{flex:1;margin-bottom:var(--spacing-md)}.stock-card-price{display:flex;flex-direction:column;gap:var(--spacing-sm)}.stock-card-price .price{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.stock-card-price .change{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;gap:var(--spacing-xs);padding:.32rem .55rem;border-radius:var(--radius-full);background:#ffffff0b;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.stock-card-footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.07)}.footer-item{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-xs)}.footer-label{color:var(--color-text-tertiary);font-size:.68rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.footer-value{overflow:hidden;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap}.positive{color:var(--color-success-light)}.negative{color:var(--color-danger-light)}@media (max-width: 768px){.stock-card{min-height:170px;padding:var(--spacing-md)}.stock-card:before{left:var(--spacing-md);right:var(--spacing-md)}.stock-card-price .price{font-size:var(--font-size-2xl)}}.stock-details{width:min(100%,1380px);margin:0 auto;padding:0 0 var(--spacing-xl)}.stock-details h1{margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.stock-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.stock-info{flex:1;min-width:220px}.stock-name{margin:var(--spacing-xs) 0 var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.stock-exchange{display:inline-flex;align-items:center;padding:.28rem .55rem;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-full);background:#ffffff0b;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.stock-price-section{display:flex;align-items:flex-end;flex-direction:column;gap:var(--spacing-sm);text-align:right}.stock-change{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.35rem .62rem;border-radius:var(--radius-full);background:#ffffff0b;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.change-arrow{font-size:.64rem;letter-spacing:.08em}.stock-chart-section{margin:var(--spacing-lg) 0;padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.07)}.stock-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.metrics-table{width:100%;border-collapse:separate;border-spacing:0}.metrics-table tr{transition:background var(--transition-fast)}.metrics-table tr:hover{background:#14b8a60e}.metrics-table td{padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.07)}.metrics-table tr:last-child td{border-bottom:none}.metrics-table td:first-child{color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.metrics-table td:last-child{color:var(--color-text-primary);font-weight:var(--font-weight-bold);text-align:right}.watchlist-dropdown-wrapper{position:relative;display:inline-block}.watchlist-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));left:0;z-index:1000;min-width:210px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);background:#121820;box-shadow:var(--shadow-xl);animation:slideDown .18s ease-out}@media (max-width: 768px){.stock-header{flex-direction:column}.stock-price-section{align-items:flex-start;width:100%;text-align:left}.stock-chart-section{margin:var(--spacing-md) 0;padding-top:var(--spacing-md)}.stock-actions{flex-direction:column}.stock-actions .btn{width:100%}}.chart-container{position:relative;width:100%;height:340px;padding:var(--spacing-md);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),#0000001f;background-size:28px 28px,28px 28px,auto}.chart-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary)}@media (max-width: 768px){.chart-container{height:270px;padding:var(--spacing-sm)}}.dashboard{width:min(100%,1380px);margin:0 auto;padding:0 0 var(--spacing-xl)}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);background:linear-gradient(120deg,rgba(20,184,166,.18),transparent 34%),linear-gradient(270deg,rgba(245,184,75,.12),transparent 32%),#11161ddb;box-shadow:var(--shadow-lg)}.eyebrow{display:inline-flex;align-items:center;margin-bottom:var(--spacing-sm);color:var(--color-primary-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase}.dashboard-header h1{margin-bottom:var(--spacing-sm)}.dashboard-subtitle{max-width:620px;margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-lg)}.dashboard-rail{display:grid;min-width:180px;gap:var(--spacing-xs);padding:var(--spacing-md);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:#0000002e}.dashboard-rail span{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.dashboard-rail strong{color:var(--color-text-primary);font-size:var(--font-size-xl)}.empty-state h3{margin-bottom:var(--spacing-sm)}.empty-state p{max-width:420px;margin-right:auto;margin-bottom:var(--spacing-lg);margin-left:auto}@media (max-width: 768px){.dashboard-header{align-items:stretch;flex-direction:column;padding:var(--spacing-lg)}.dashboard-subtitle{font-size:var(--font-size-base)}.dashboard-rail{min-width:0}}.stock-search{width:min(100%,1380px);margin:0 auto;padding:0 0 var(--spacing-xl)}.search-header{margin-bottom:var(--spacing-xl)}.search-header h1{margin-bottom:var(--spacing-sm)}.search-subtitle{max-width:620px;margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-lg)}.search-card{margin-bottom:var(--spacing-lg)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--spacing-md);z-index:1;padding:.18rem .42rem;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius-sm);color:var(--color-primary-light);font-size:.62rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;pointer-events:none;text-transform:uppercase}.search-input{min-height:58px;padding-left:5.2rem;font-size:var(--font-size-lg)}.loading-card,.empty-results-card{text-align:center}.loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) 0}.loading-content p{margin:0;color:var(--color-text-secondary)}.results-card{margin-bottom:var(--spacing-lg)}.results-count{color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.table-wrapper{margin-top:var(--spacing-md);overflow-x:auto;overflow-y:visible}.result-row{position:relative;cursor:pointer;transition:background var(--transition-fast)}.symbol-text{color:var(--color-primary-light);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.company-name{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.exchange-badge,.type-badge{display:inline-flex;align-items:center;padding:.28rem .52rem;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-full);background:#ffffff0b;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.actions-cell{position:relative;z-index:1;white-space:nowrap}.action-buttons{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.watchlist-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.32rem .58rem;border:1px solid rgba(34,197,94,.24);border-radius:var(--radius-full);background:#22c55e1a;color:var(--color-success-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.check-icon{font-size:.62rem}.watchlist-dropdown-wrapper{position:relative;display:inline-block;isolation:isolate}.watchlist-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;z-index:1001;min-width:210px;max-width:260px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);background:#121820;box-shadow:var(--shadow-xl);animation:slideDown .18s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff0b;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.dropdown-list{max-height:300px;overflow-y:auto}.dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--spacing-sm);padding:var(--spacing-md);border:0;background:transparent;color:var(--color-text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);text-align:left;transition:background var(--transition-base)}.dropdown-item:hover{background:#14b8a614}.default-badge,.dropdown-empty{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.dropdown-empty{padding:var(--spacing-md);text-align:center}@media (max-width: 768px){.search-subtitle{font-size:var(--font-size-base)}.search-input{min-height:52px;padding-left:4.85rem;font-size:var(--font-size-base)}.action-buttons{align-items:stretch;flex-direction:column}.action-buttons .btn{width:100%}}.watchlist{width:min(100%,1380px);margin:0 auto;padding:0 0 var(--spacing-xl)}.watchlist-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.watchlist-header h1{margin-bottom:var(--spacing-sm)}.header-left{flex:1;min-width:0}.watchlist-selector-wrapper{display:grid;gap:var(--spacing-sm)}.watchlist-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.watchlist-select{min-width:230px;padding:.68rem .8rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#ffffff0b;color:var(--color-text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.watchlist-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #14b8a624}.watchlist-card{margin-bottom:var(--spacing-lg)}.loading-state p{margin:0;color:var(--color-text-secondary)}.table-wrapper{margin-top:var(--spacing-md);overflow-x:auto}.watchlist-row{cursor:pointer}.watchlist-row td:first-child strong{color:var(--color-primary-light);font-weight:var(--font-weight-bold);transition:color var(--transition-base)}.price-cell,.price-value{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.change-value,.change-percent{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.volume-cell,.date-cell{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.actions-cell{white-space:nowrap}.action-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.card-header{border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:var(--spacing-md)}.btn-danger:hover{border-color:#f973736b;background:#f973732e}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:#000000ad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content{width:min(100%,520px);max-height:90vh;overflow-y:auto;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);background:#121820;box-shadow:var(--shadow-xl)}.modal-header,.modal-footer{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.modal-header{justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h2{margin:0;font-size:var(--font-size-xl)}.modal-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:#ffffff0a;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-xl);line-height:1;transition:background var(--transition-base),color var(--transition-base)}.modal-close:hover{background:#ffffff14;color:var(--color-text-primary)}.modal-body{padding:var(--spacing-lg)}.modal-footer{justify-content:flex-end;border-top:1px solid rgba(255,255,255,.08)}.form-control{padding:.8rem .9rem}.form-group input[type=checkbox]{width:auto;margin-right:var(--spacing-xs);accent-color:var(--color-primary)}.empty-state{border:1px dashed rgba(255,255,255,.14);border-radius:var(--radius-lg);background:#ffffff06}@media (max-width: 768px){.watchlist-header{align-items:stretch;flex-direction:column}.watchlist-select,.watchlist-header>.btn{width:100%}.watchlist-controls{align-items:stretch}.watchlist-controls .btn{flex:1}.table-wrapper{font-size:var(--font-size-xs)}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%}}.portfolio{width:min(100%,1380px);margin:0 auto;padding:0 0 var(--spacing-xl)}.portfolio-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.portfolio-header h1{margin-bottom:0}.header-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.portfolio-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-md)}.summary-item{padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:linear-gradient(150deg,rgba(20,184,166,.08),transparent 52%),#ffffff09;transition:border-color var(--transition-base)}.summary-item:hover{border-color:#5eead43d}.summary-item label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.summary-item .value{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.summary-item .value.positive{color:var(--color-success-light)}.summary-item .value.negative{color:var(--color-danger-light)}.account-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);background:#ffffff07;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-base),border-color var(--transition-base)}.account-header:hover{border-color:#5eead438;background:#14b8a60e}.account-info{flex:1;min-width:0}.account-info h3{margin:0 0 var(--spacing-xs);color:var(--color-text-primary);font-size:var(--font-size-xl)}.account-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.account-actions{display:flex;align-items:center}.expand-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-md);color:var(--color-primary-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);transition:transform var(--transition-base),background var(--transition-base)}.expand-icon.expanded{transform:rotate(180deg)}.account-holdings{margin-top:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.07);animation:slideDown var(--transition-slow) ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.table-wrapper{overflow-x:auto}.holdings-table tbody tr{cursor:pointer}.holdings-table tbody tr td:first-child strong{color:var(--color-primary-light)}.account-total{background:#ffffff0a}.account-total td{border-top:1px solid rgba(255,255,255,.1);font-weight:var(--font-weight-bold)}.no-holdings,.empty-state,.loading-state{text-align:center}.no-holdings{padding:var(--spacing-2xl);color:var(--color-text-secondary)}.empty-state{padding:var(--spacing-3xl) var(--spacing-xl)}.empty-state h3{margin-bottom:var(--spacing-md)}.empty-state p{max-width:430px;margin-right:auto;margin-bottom:var(--spacing-lg);margin-left:auto}.error-message{display:block;text-align:center}.error-message:before{display:none}.error-message h3{margin-bottom:var(--spacing-md);color:var(--color-danger-light)}.error-message p{margin-bottom:var(--spacing-lg)}.loading-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl) 0}.loading-state p{margin:0}.positive{color:var(--color-success-light);font-weight:var(--font-weight-bold)}.negative{color:var(--color-danger-light);font-weight:var(--font-weight-bold)}@media (max-width: 1024px){.portfolio-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.portfolio-header{flex-direction:column}.header-actions{width:100%}.header-actions .btn{flex:1}.portfolio-summary{grid-template-columns:1fr}.account-header{padding:var(--spacing-md)}.holdings-table{font-size:var(--font-size-xs)}.holdings-table th,.holdings-table td{padding:var(--spacing-sm)}}.debt-calculator{width:min(100%,1380px);margin:0 auto;padding:0 0 var(--spacing-xl)}.calculator-header{margin-bottom:var(--spacing-xl)}.calculator-header h1{margin-bottom:var(--spacing-sm)}.calculator-subtitle{max-width:680px;margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-lg)}.calculator-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid rgba(255,255,255,.08)}.calculator-section-header,.saved-loans-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.calculator-section-header{margin-bottom:var(--spacing-lg)}.calculator-section-header h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl)}.saved-loans-header{flex-wrap:wrap}.saved-loans-title{display:flex;align-items:center;gap:var(--spacing-sm)}.card-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 var(--spacing-sm);border:1px solid rgba(94,234,212,.24);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.calculator-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.results-summary,.custom-results{display:flex;flex-direction:column;gap:var(--spacing-md)}.result-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:#ffffff09}.result-label,.total-label,.detail-label{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.result-value{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-align:right}.result-value.highlight,.detail-value.highlight,.total-value.highlight{color:var(--color-primary-light)}.result-value.positive{color:var(--color-success-light)}.form-group{margin-bottom:var(--spacing-lg)}.form-input{padding:.8rem .9rem}.form-error{margin-top:var(--spacing-xs);color:var(--color-danger-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.btn-block{width:100%;margin-top:var(--spacing-sm)}.payment-options-card,.schedule-card,.totals-card,.saved-loans-card{margin-bottom:var(--spacing-xl)}.card-description{margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.schedule-container{overflow-x:auto}.schedule-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}.schedule-table th,.schedule-table td{padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);color:var(--color-text-primary);text-align:left}.schedule-table th{background:#11161d;color:var(--color-text-tertiary);font-size:.72rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.schedule-table tbody tr:hover{background:#14b8a60e}.schedule-note{margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:#ffffff09;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.aggregate-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md)}.total-item{display:flex;min-height:116px;flex-direction:column;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:linear-gradient(150deg,rgba(245,184,75,.08),transparent 54%),#ffffff09}.total-value{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.loans-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.loan-item{padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:#ffffff09}.loan-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.loan-name-section h3{margin:0 0 var(--spacing-xs);color:var(--color-text-primary);font-size:var(--font-size-lg)}.loan-date{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.loan-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm)}.loan-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md)}.loan-detail-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-value{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.loan-notes{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.07)}.notes-label{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.notes-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.empty-loans{padding:var(--spacing-3xl) var(--spacing-xl);border:1px dashed rgba(255,255,255,.14);border-radius:var(--radius-lg);color:var(--color-text-secondary);text-align:center}.empty-loans-message{margin:0 0 var(--spacing-lg)}.btn-danger{border-color:#f9737342;background:#f9737321;color:#fecaca}.btn-danger:hover:not(:disabled){background:#f973732e}@media (max-width: 1024px){.calculator-container,.aggregate-totals{grid-template-columns:1fr}}@media (max-width: 768px){.calculator-subtitle{font-size:var(--font-size-base)}.calculator-section-header,.loan-header{align-items:flex-start;flex-direction:column}.loan-actions{width:100%}.loan-actions .btn{flex:1}.loan-details{grid-template-columns:1fr}.schedule-table{font-size:var(--font-size-xs)}.schedule-table th,.schedule-table td{padding:var(--spacing-sm)}}.login-container{position:relative;display:grid;min-height:100vh;place-items:center;padding:var(--spacing-xl);overflow:hidden;background:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px),radial-gradient(circle at 20% 8%,rgba(20,184,166,.16),transparent 26rem),radial-gradient(circle at 84% 74%,rgba(245,184,75,.12),transparent 24rem),var(--color-bg-secondary);background-size:36px 36px,36px 36px,auto,auto,auto}.login-card{position:relative;width:min(100%,440px);padding:var(--spacing-2xl);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff0b,#ffffff05),#11161deb;box-shadow:var(--shadow-xl)}.login-card:before{content:"Mork Wealth";display:inline-flex;margin-bottom:var(--spacing-xl);padding:.32rem .58rem;border:1px solid rgba(94,234,212,.25);border-radius:var(--radius-full);color:var(--color-primary-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.login-header{margin-bottom:var(--spacing-xl)}.login-header h1{margin-bottom:var(--spacing-sm);font-size:var(--font-size-3xl)}.login-header p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.error-message{margin-top:var(--spacing-xs);color:#fecaca;font-size:var(--font-size-xs)}.login-footer{margin-top:var(--spacing-xl);text-align:center}.login-footer p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.link-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--color-primary-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:inherit}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{color:var(--color-text-tertiary);cursor:default}.otp-footer{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.otp-sep{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}@media (max-width: 768px){.login-container{padding:var(--spacing-md)}.login-card{padding:var(--spacing-xl)}}.settings-checklist{display:grid;gap:var(--spacing-md);margin:0;padding:0;list-style:none}.settings-checklist li{position:relative;padding-left:1.7rem;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.settings-checklist li:before{content:"";position:absolute;top:.2rem;left:0;width:.9rem;height:.9rem;border:1px solid rgba(94,234,212,.35);border-radius:var(--radius-sm);background:#14b8a62e;box-shadow:0 0 0 4px #14b8a60f}.signup-container{position:relative;display:grid;min-height:100vh;place-items:center;padding:var(--spacing-xl);overflow:hidden;background:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px),radial-gradient(circle at 20% 8%,rgba(20,184,166,.16),transparent 26rem),radial-gradient(circle at 84% 74%,rgba(245,184,75,.12),transparent 24rem),var(--color-bg-secondary);background-size:36px 36px,36px 36px,auto,auto,auto}.signup-card{position:relative;width:min(100%,460px);padding:var(--spacing-2xl);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff0b,#ffffff05),#11161deb;box-shadow:var(--shadow-xl)}.signup-card:before{content:"Mork Wealth";display:inline-flex;margin-bottom:var(--spacing-xl);padding:.32rem .58rem;border:1px solid rgba(94,234,212,.25);border-radius:var(--radius-full);color:var(--color-primary-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.signup-header{margin-bottom:var(--spacing-xl)}.signup-header h1{margin-bottom:var(--spacing-sm);font-size:var(--font-size-3xl)}.signup-header p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.signup-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.form-group input{padding:.85rem .95rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#ffffff0b;color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.form-group input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #14b8a624}.form-group input.error{border-color:var(--color-danger)}.error-message,.success-message{margin-top:var(--spacing-xs);font-size:var(--font-size-xs)}.error-message{color:#fecaca}.success-message{color:#bbf7d0}.submit-button{min-height:2.8rem;margin-top:var(--spacing-sm);padding:.85rem var(--spacing-lg);border:1px solid rgba(94,234,212,.36);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));color:#07100f;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);transition:transform var(--transition-base),box-shadow var(--transition-base),opacity var(--transition-base)}.submit-button:hover:not(:disabled){box-shadow:0 16px 42px #14b8a642;transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.48}.signup-footer{margin-top:var(--spacing-xl);text-align:center}.signup-footer p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.link{margin-left:var(--spacing-xs);color:var(--color-primary-light);font-weight:var(--font-weight-bold);text-decoration:none}.link:hover{text-decoration:underline}@media (max-width: 768px){.signup-container{padding:var(--spacing-md)}.signup-card{padding:var(--spacing-xl)}}:root{--color-primary: #14b8a6;--color-primary-dark: #0f8f83;--color-primary-light: #2dd4bf;--color-primary-soft: #e6faf6;--color-secondary: #6b7280;--color-secondary-dark: #374151;--color-success: #00a65a;--color-success-light: #00a65a;--color-danger: #dc2626;--color-danger-light: #dc2626;--color-warning: #d99516;--color-warning-soft: #fff6df;--color-text-primary: #111827;--color-text-secondary: #4b5563;--color-text-tertiary: #7b8491;--color-bg-primary: #ffffff;--color-bg-secondary: #f7f8f5;--color-bg-tertiary: #f0f3ef;--color-bg-elevated: #ffffff;--color-bg-panel: #ffffff;--color-border: #e3e8e2;--color-border-light: #edf1eb;--color-border-strong: #cdd6cc;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .5rem;--radius-xl: .5rem;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: 0 24px 64px rgba(17, 24, 39, .14)}body{color:var(--color-text-primary);background:var(--color-bg-secondary)}h1{font-size:2.35rem;font-weight:760}h2,h3,h4,h5,h6{font-weight:720}p{color:var(--color-text-secondary)}.header{background:#fffffff0;border-bottom:1px solid var(--color-border);box-shadow:none;color:var(--color-text-primary)}.logo{color:var(--color-text-primary)}.logo:before{width:30px;height:30px;border:0;background:var(--color-primary);box-shadow:none}.nav{border:0;background:transparent}.nav a{color:var(--color-text-secondary);font-weight:650}.nav a:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.nav a.active{color:var(--color-primary-dark);background:var(--color-primary-soft);box-shadow:none}.card,.stock-card,.summary-item,.total-item,.loan-item,.result-item,.account-header,.modal-content,.login-card,.signup-card{border-color:var(--color-border);background:#fff;box-shadow:none}.card{padding:1.5rem}.card-header{margin-bottom:1.25rem;padding-bottom:0;border-bottom:0;color:var(--color-text-primary)}.card-badge,.watchlist-badge,.stock-card-price .change,.stock-exchange,.exchange-badge,.type-badge,.watchlist-indicator{border-color:transparent;background:var(--color-bg-tertiary);color:var(--color-text-secondary);letter-spacing:0;text-transform:none}.positive,.stock-price.positive,.stock-change.positive,.summary-item .value.positive,.change-value.positive,.change-percent.positive,.result-value.positive{color:var(--color-success)}.negative,.stock-price.negative,.stock-change.negative,.summary-item .value.negative,.change-value.negative,.change-percent.negative{color:var(--color-danger)}.btn,.submit-button,.search-button{box-shadow:none}.btn-primary,.submit-button,.search-button,.auth-link-primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:none}.btn-primary:hover:not(:disabled),.submit-button:hover:not(:disabled),.search-button:hover:not(:disabled),.auth-link-primary:hover{background:var(--color-primary-dark);box-shadow:none}.btn-secondary,.auth-link{border-color:var(--color-border);background:#fff;color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled),.auth-link:hover{border-color:var(--color-border-strong);background:var(--color-bg-tertiary)}.btn-danger{border-color:#fee2e2;background:#fff1f1;color:var(--color-danger)}.input-group input,.input-group select,.form-control,.form-input,textarea,.form-group input,.watchlist-select,.header-search-input{border-color:var(--color-border);background:#fff;color:var(--color-text-primary)}.input-group input:hover,.input-group select:hover,.form-control:hover,.form-input:hover,.form-group input:hover{border-color:var(--color-border-strong);background:#fff}.input-group input:focus,.input-group select:focus,.form-control:focus,.form-input:focus,textarea:focus,.form-group input:focus,.watchlist-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #14b8a624}.search-input-wrapper{border-color:var(--color-border);background:#fff}.search-input-wrapper:before,.search-icon,.stock-card:before,.login-card:before,.signup-card:before{display:none}.search-input{min-height:54px;padding-left:1rem}.table th{background:#fff;color:var(--color-text-tertiary);letter-spacing:0;text-transform:none}.table th,.table td,.schedule-table th,.schedule-table td{border-bottom-color:var(--color-border-light)}.table tbody tr:hover,.schedule-table tbody tr:hover,.result-row:hover,.watchlist-row:hover,.metrics-table tr:hover{background:#f8faf7}.stock-card{min-height:176px}.stock-card,.stock-card:hover{border-color:var(--color-border);background:#fff;box-shadow:none}.stock-card-price .price,.stock-price{color:var(--color-text-primary)}.stock-card-footer,.stock-chart-section,.account-holdings,.loan-notes{border-top-color:var(--color-border-light)}.footer-label,.summary-item label,.result-label,.total-label,.detail-label,.notes-label,.stock-exchange,.eyebrow{color:var(--color-text-tertiary);letter-spacing:0;text-transform:none}.dashboard,.stock-search,.watchlist,.portfolio,.debt-calculator,.stock-details,.settings{width:min(100%,1180px)}.dashboard-header{margin-bottom:1.5rem;padding:0;border:0;background:transparent;box-shadow:none}.dashboard-subtitle,.search-subtitle,.calculator-subtitle{font-size:var(--font-size-base)}.dashboard-rail{display:none}.empty-state,.empty-loans{border-color:var(--color-border);background:#fff}.portfolio-summary,.aggregate-totals{gap:.75rem}.summary-item,.total-item{background:#fff}.summary-item:hover,.account-header:hover{border-color:var(--color-border);background:#fff}.dropdown-header,.watchlist-dropdown,.user-dropdown,.modal-content{border-color:var(--color-border);background:#fff;box-shadow:var(--shadow-xl)}.dropdown-header{background:var(--color-bg-secondary)}.dropdown-item{color:var(--color-text-primary)}.dropdown-item:hover{background:var(--color-bg-tertiary)}.modal-overlay{background:#11182752}.modal-close{border-color:var(--color-border);background:#fff;color:var(--color-text-secondary)}.chart-container{border-color:var(--color-border);background:#fff}.login-container,.signup-container{background:var(--color-bg-secondary)}.login-card,.signup-card{border-color:var(--color-border);background:#fff}.login-header h1,.signup-header h1{font-size:var(--font-size-3xl)}.login-footer p,.signup-footer p{color:var(--color-text-secondary)}.link{color:var(--color-primary-dark)}.error-message{border-color:#fee2e2;background:#fff1f1;color:var(--color-danger)}.success-message{border-color:#dcfce7;background:#f0fdf4;color:var(--color-success)}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{border-color:var(--color-bg-secondary);background:#d4ddd2}::-webkit-scrollbar-thumb:hover{background:#bdc8bc}@media (max-width: 768px){h1{font-size:2rem}.header{height:136px}.card{padding:1.125rem}}.page-hero,.dashboard-header,.watchlist-header,.portfolio-header,.calculator-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;padding:0;border:0;background:transparent;box-shadow:none}.page-hero h1,.dashboard-header h1,.watchlist-header h1,.portfolio-header h1,.calculator-header h1{max-width:760px;margin-bottom:.45rem}.page-kicker{margin-bottom:.4rem;color:var(--color-primary-dark);font-size:var(--font-size-sm);font-weight:760}.page-subtitle,.dashboard-subtitle,.search-subtitle,.calculator-subtitle{max-width:640px;margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-base)}.hero-actions,.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.market-card,.watchlist-preview-card,.search-card,.results-card,.watchlist-card,.totals-card,.saved-loans-card{border-radius:.65rem}.card-header>div{display:grid;gap:.18rem}.card-header p,.section-heading p{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:500}.search-hero,.watchlist-hero,.portfolio-hero,.debt-hero{align-items:center}.search-card{padding:1rem}.search-card .input-group{margin-bottom:0}.search-card label{margin-bottom:.55rem}.search-input{min-height:58px;border-radius:.65rem;font-size:var(--font-size-lg)}.watchlist-hero .header-left,.watchlist-selector-wrapper{min-width:0}.watchlist-controls{margin-top:.85rem}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1.5rem 0 .75rem}.section-heading h2{margin:0;font-size:var(--font-size-xl)}.accounts-section{display:block}.recurring-investments-card{margin-top:1rem}.recurring-investment-list{display:grid;gap:.65rem}.recurring-investment-item{display:grid;grid-template-columns:minmax(160px,1fr) repeat(3,minmax(90px,auto));gap:1rem;align-items:center;padding:.85rem 0;border-top:1px solid var(--color-border)}.recurring-investment-item:first-child{border-top:0;padding-top:0}.recurring-investment-item strong{color:var(--color-text-primary)}.recurring-investment-item p,.recurring-investment-metric span{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.recurring-investment-metric{display:grid;gap:.18rem;justify-items:end}.loading-state.compact,.error-message.compact{min-height:auto;padding:.5rem 0}.account-info{min-width:0}.account-info h3{overflow-wrap:anywhere}.account-action-rail{display:grid;flex:0 0 auto;gap:.35rem;align-self:stretch;align-content:center;padding-right:.9rem;border-right:1px solid var(--color-border)}.account-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;font-weight:700;line-height:1;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base),transform var(--transition-base)}.account-icon-btn:hover:not(:disabled),.account-icon-btn:focus-visible{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-dark);transform:translateY(-1px)}.account-icon-btn.danger{color:var(--color-danger)}.account-icon-btn.danger:hover:not(:disabled),.account-icon-btn.danger:focus-visible{border-color:#fecaca;background:#fff1f1;color:var(--color-danger)}.account-icon-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.account-expand{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}.account-preferences{display:grid;gap:.55rem;margin:.85rem 0 1rem;padding:.85rem;border:1px solid var(--color-border);border-radius:.65rem;background:var(--color-bg-secondary)}.account-preferences label{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:700}.account-preference-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:.55rem;align-items:center}.portfolio-hero h1{font-size:2.65rem}.portfolio-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-item,.total-item{min-height:112px;padding:1rem}.summary-item label,.total-label,.detail-label,.result-label{margin-bottom:.35rem;color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:600}.summary-item .value,.total-value{font-size:1.45rem}.stock-detail-hero{padding-bottom:1rem}.stock-detail-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:1rem;align-items:start}.stock-detail-grid .card{height:100%}.stock-header{align-items:center}.stock-actions{justify-content:flex-end}.calculator-section{border-bottom:0}.debt-hero{margin-bottom:1rem}.login-container,.signup-container{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,440px);gap:2rem;align-items:center;justify-content:center;padding:2rem}.auth-story{max-width:560px}.auth-story h1{margin-bottom:.8rem;font-size:3.25rem}.auth-story p:last-child{max-width:480px;font-size:var(--font-size-lg)}.login-card,.signup-card{width:100%}@media (max-width: 1100px){.stock-detail-grid,.login-container,.signup-container{grid-template-columns:1fr}.portfolio-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-story{max-width:680px}}@media (max-width: 768px){.page-hero,.dashboard-header,.watchlist-header,.portfolio-header,.calculator-header{align-items:stretch;flex-direction:column}.hero-actions,.header-actions,.debt-hero>.btn{width:100%}.hero-actions .btn,.header-actions .btn,.debt-hero>.btn{flex:1}.portfolio-hero h1,.auth-story h1{font-size:2rem}.portfolio-summary,.aggregate-totals{grid-template-columns:1fr}.recurring-investment-item{grid-template-columns:1fr;gap:.55rem}.recurring-investment-metric{justify-items:start}.account-header{align-items:stretch;gap:.85rem}.account-action-rail{padding-right:.75rem}.account-preference-row{grid-template-columns:1fr}.login-container,.signup-container{padding:1rem}.auth-story{display:none}}.stock-detail-hero{overflow:hidden}.stock-detail-hero .stock-header{margin-bottom:.6rem}.stock-detail-hero .stock-price{font-size:clamp(2rem,4vw,3rem);letter-spacing:0}.stock-detail-hero .stock-change{background:transparent;padding:0}.stock-detail-hero .change-arrow{display:none}.stock-chart-section{position:relative;margin:1.25rem -.35rem 0;padding:.75rem 0 0;border-top:0}.chart-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0 .35rem}.chart-topline>div{display:grid;gap:.25rem}.chart-eyebrow,.chart-range-label{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:700}.chart-topline strong{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:760}.chart-topline strong span{font-weight:650}.chart-container{height:380px;margin:.25rem 0 0;padding:.35rem 0 .2rem;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(0,200,5,.035),transparent 34%),#fff}.chart-container canvas{cursor:crosshair}.chart-empty{border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary)}.chart-empty p{margin:0}.chart-range-tabs{display:flex;align-items:center;gap:.25rem;min-height:44px;margin-top:.2rem;padding:0 .25rem;overflow-x:auto;border-top:1px solid var(--color-border-light)}.chart-range-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:42px;padding:0 .65rem;border:0;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:760;transition:color var(--transition-base),opacity var(--transition-base)}.chart-range-tab:after{content:"";position:absolute;right:.6rem;bottom:0;left:.6rem;height:3px;border-radius:999px 999px 0 0;background:transparent}.chart-range-tab:hover,.chart-range-tab:focus-visible,.chart-range-tab.active{color:var(--color-success)}.chart-range-tab.active:after{background:var(--color-success)}.chart-range-tab:disabled{cursor:progress;opacity:.55}.chart-loading{position:absolute;right:.35rem;bottom:3rem;padding:.32rem .55rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:#ffffffeb;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:700}@media (max-width: 768px){.stock-chart-section{margin-right:-.1rem;margin-left:-.1rem;padding-top:.45rem}.chart-topline{flex-direction:column;gap:.35rem}.chart-container{height:310px}.chart-range-tabs{gap:.05rem;padding:0}.chart-range-tab{min-width:42px;padding:0 .45rem;font-size:var(--font-size-xs)}}
