*{margin:0;padding:0}html{font-size:16px;line-height:1.6}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{background:none;border:none;cursor:pointer;font:inherit;outline:inherit;padding:0}input,select,textarea{color:inherit;font:inherit}ol,ul{list-style:none}a{color:inherit;text-decoration:none}img{height:auto;max-width:100%}table{border-collapse:collapse;border-spacing:0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}:focus-visible{outline:2px solid #667eea;outline-offset:2px}html{scroll-behavior:smooth}::selection{background-color:#667eea33;color:#1e293b}@media print{*{background:#0000!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.no-print{display:none!important}}.landing-page{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#334155);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-bottom:1px solid #ffffff1a;left:0;position:fixed;right:0;top:0;z-index:1000}.nav-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem}.nav-container,.nav-logo{align-items:center;display:flex}.nav-logo{gap:.5rem}.logo-icon,.nav-logo h2{font-size:1.5rem}.nav-logo h2{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-weight:700;margin:0}.nav-links{align-items:center;display:flex;gap:2rem}.nav-links a{color:#fff;font-weight:500;text-decoration:none;transition:opacity .3s ease}.nav-links a:hover{opacity:.8}.nav-cta{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.nav-cta:hover{background:#ffffff4d;transform:translateY(-1px)}.hero{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:8rem 2rem 4rem;position:relative}.hero:before{background:radial-gradient(circle at 20% 80%,#3b82f61a 0,#0000 50%),radial-gradient(circle at 80% 20%,#8b5cf61a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.hero-container{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;position:relative;z-index:1}.hero-content{max-width:600px}.hero-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#3b82f61a;border:1px solid #3b82f633;border-radius:50px;display:inline-flex;font-size:.875rem;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem}.badge-icon{font-size:1rem}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem}.gradient-text{-webkit-text-fill-color:#0000;animation:gradient-shift 3s ease-in-out infinite;background:linear-gradient(45deg,#3b82f6,#8b5cf6,#ec4899);-webkit-background-clip:text;background-clip:text}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.hero-subtitle{font-size:1.25rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.hero-actions{display:flex;gap:1rem;margin-bottom:3rem}.btn-primary{background:linear-gradient(45deg,#3b82f6,#8b5cf6);border:none;border-radius:12px;box-shadow:0 4px 15px #3b82f64d;cursor:pointer;font-size:1.1rem;font-weight:600;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .3s ease}.btn-primary:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.btn-secondary{border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.btn-secondary:hover{background:#ffffff1a;transform:translateY(-2px)}.hero-stats{display:flex;gap:2rem}.stat{text-align:center}.stat-number{display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:.9rem}.hero-visual{align-items:center;display:flex;justify-content:center}.dashboard-preview{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:2rem;width:400px}.preview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.preview-dots{display:flex;gap:.5rem}.preview-dots span{background:#ffffff4d;border-radius:50%;height:12px;width:12px}.preview-dots span:first-child{background:#3b82f6}.preview-title{color:#fffc;font-size:.875rem;font-weight:600}.preview-content{text-align:left}.preview-portfolio-value{margin-bottom:2rem;text-align:center}.portfolio-amount{font-size:2rem;font-weight:700;margin-bottom:.5rem}.portfolio-change{font-size:.875rem;font-weight:500}.portfolio-change.positive{color:#10b981}.portfolio-change.negative{color:#ef4444}.preview-chart{height:120px;margin-bottom:2rem;position:relative}.chart-line{background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:2px;top:50%;transform:translateY(-50%)}.chart-line,.chart-points{left:0;position:absolute;right:0}.chart-points{align-items:center;bottom:0;display:flex;justify-content:space-between;top:0}.point{background:#ffffff80;border-radius:50%;height:8px;width:8px}.point.active{background:#3b82f6;transform:scale(1.5)}.preview-stats{display:flex;justify-content:space-between}.preview-stat{text-align:left}.preview-stat .label{display:block;font-size:.8rem;margin-bottom:.5rem;opacity:.7}.preview-stat .value{font-size:1.2rem;font-weight:600}.preview-stat .value.positive{color:#10b981}.preview-holdings{display:flex;flex-direction:column;gap:.75rem}.holding-item{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:.5rem 0}.holding-item:last-child{border-bottom:none}.holding-ticker{font-size:.875rem;font-weight:600}.holding-value{font-size:.875rem;font-weight:500}.holding-change{border-radius:4px;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.holding-change.positive{background:#10b9811a;color:#10b981}.holding-change.negative{background:#ef44441a;color:#ef4444}.features{background:#ffffff0d;padding:6rem 2rem}.features-container{margin:0 auto;max-width:1200px;text-align:center}.features-title{font-size:2.5rem;font-weight:700;margin-bottom:3rem}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:16px;padding:2rem;text-align:center;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.feature-card p{line-height:1.6;opacity:.8}.footer{background:#0003;padding:3rem 2rem 1rem}.footer-container{margin:0 auto;max-width:1200px}.footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 2fr;margin-bottom:2rem}.footer-logo h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.footer-logo p{opacity:.7}.footer-links{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.footer-column h4{font-weight:600;margin-bottom:1rem}.footer-column a{color:#fff;display:block;margin-bottom:.5rem;opacity:.7;text-decoration:none;transition:opacity .3s ease}.footer-column a:hover{opacity:1}.footer-bottom{border-top:1px solid #ffffff1a;opacity:.7;padding-top:2rem;text-align:center}@media (max-width:768px){.hero-container{grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.hero-actions{align-items:center;flex-direction:column}.hero-stats{justify-content:center}.nav-links{gap:1rem}.nav-links a{display:none}.footer-content,.footer-links{grid-template-columns:1fr;text-align:center}}.onboarding-container{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b 50%,#334155);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.onboarding-container:before{background:radial-gradient(circle at 20% 80%,#3b82f61a 0,#0000 50%),radial-gradient(circle at 80% 20%,#8b5cf61a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.onboarding-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:24px;box-shadow:0 20px 40px #0000001a;color:#333;max-width:600px;padding:3rem;position:relative;width:100%;z-index:1}.onboarding-header{margin-bottom:2rem}.progress-bar{background:#667eea33;border-radius:4px;height:8px;margin-bottom:1rem;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;height:100%;transition:width .3s ease}.step-indicator{color:#666;font-size:.9rem;font-weight:500;text-align:center}.onboarding-content{margin-bottom:3rem;text-align:center}.step-title{color:#333;font-size:2rem;font-weight:700;margin-bottom:1rem}.step-subtitle{color:#666;font-size:1.1rem;line-height:1.5;margin-bottom:2rem}.step-content{margin-top:2rem}.name-input-container{margin:0 auto;max-width:400px}.name-input{background:#fff;border:2px solid #e1e5e9;border-radius:12px;font-size:1.1rem;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.name-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.name-input::placeholder{color:#999}.stock-types-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0 auto;max-width:500px}.stock-type-card{align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1rem;transition:all .3s ease}.stock-type-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.stock-type-card.selected{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:#3b82f6;color:#fff}.stock-type-icon{font-size:2rem}.stock-type-name{font-size:.9rem;font-weight:600}.birth-date-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:400px}.date-selector{display:flex;flex-direction:column;gap:.5rem}.date-selector label{color:#333;font-size:.9rem;font-weight:600}.date-select{background:#fff;border:2px solid #e1e5e9;border-radius:12px;cursor:pointer;font-size:1rem;padding:1rem;transition:all .3s ease}.date-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.onboarding-actions{align-items:center;display:flex;justify-content:space-between}.btn-back{background:#0000;border:2px solid #e1e5e9;border-radius:12px;color:#666;cursor:pointer;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.btn-back:hover{border-color:#3b82f6;color:#3b82f6}.btn-next{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;margin-left:auto;padding:1rem 2rem;transition:all .3s ease}.btn-next:hover:not(.disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-next.disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.onboarding-container{padding:1rem}.onboarding-card{padding:2rem}.step-title{font-size:1.5rem}.stock-types-grid{grid-template-columns:repeat(2,1fr)}.birth-date-container{gap:1rem;grid-template-columns:1fr}.onboarding-actions{flex-direction:column;gap:1rem}.btn-back{order:2}.btn-next{margin-left:0;order:1}}.top-stocks{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.stocks-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.stocks-header h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0}.stocks-subtitle{color:#64748b;font-size:.875rem}.stocks-list{display:flex;flex-direction:column;gap:1rem}.stock-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.stock-item:hover{background:#f1f5f9;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.stock-rank{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:32px;justify-content:center;width:32px}.stock-info{flex:1 1;min-width:0}.stock-ticker{color:#1e293b;font-size:1rem;font-weight:700;margin-bottom:.25rem}.stock-name{color:#64748b;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-price{flex-shrink:0;text-align:right}.price-value{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:.25rem}.price-change{font-weight:500}.stocks-footer{margin-top:1.5rem;text-align:center}.view-all-btn{background:#0000;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.view-all-btn:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6}@media (max-width:768px){.top-stocks{padding:1rem}.stock-item{padding:.75rem}.stock-name{white-space:normal}.stocks-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.portfolio-overview{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:2rem}.overview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.overview-header h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.last-updated{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.5rem}.live-indicator{animation:pulse 2s infinite;color:#10b981;font-weight:600}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.overview-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-card.primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;color:#fff}.stat-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.stat-label{font-size:.875rem;font-weight:500;opacity:.8}.stat-icon{font-size:1.2rem}.stat-value{color:inherit;font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-card.primary .stat-value{color:#fff}.stat-change{font-size:.875rem;font-weight:600}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.stat-subtitle{font-size:.875rem;margin-top:.5rem;opacity:.7}.stat-card.primary .stat-subtitle{color:#fffc}.overview-chart{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;min-height:200px;padding:2rem}@media (max-width:768px){.portfolio-overview{padding:1.5rem}.overview-stats{gap:1rem;grid-template-columns:1fr}.stat-value{font-size:1.5rem}.overview-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.portfolio-details{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.details-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.details-header h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0}.details-subtitle{color:#64748b;font-size:.875rem}.holdings-table{border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.table-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#374151;display:grid;font-size:.875rem;font-weight:600;grid-template-columns:1fr .8fr 1fr 1fr 1fr 1.2fr;padding:1rem}.table-body{background:#fff}.table-row{border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:1fr .8fr 1fr 1fr 1fr 1.2fr;padding:1rem;transition:background-color .3s ease}.table-row:hover{background:#f8fafc}.table-row:last-child{border-bottom:none}.col-ticker{align-items:center;display:flex}.ticker-info{display:flex;flex-direction:column}.ticker-symbol{color:#1e293b;font-size:.95rem;font-weight:700}.col-current,.col-price,.col-quantity,.col-value{align-items:center;color:#374151;display:flex;font-weight:500}.col-pl{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.pl-amount{font-size:.95rem;font-weight:600}.pl-percent{font-size:.875rem;opacity:.8}.col-pl.positive .pl-amount,.col-pl.positive .pl-percent{color:#10b981}.col-pl.negative .pl-amount,.col-pl.negative .pl-percent{color:#ef4444}.holdings-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.summary-row.total .positive{color:#10b981}.summary-row.total .negative{color:#ef4444}@media (max-width:768px){.portfolio-details{padding:1rem}.table-header,.table-row{font-size:.8rem;grid-template-columns:1fr .6fr .8fr .8fr .8fr 1fr;padding:.75rem}.col-pl{align-items:flex-start}.pl-amount{font-size:.85rem}.pl-percent{font-size:.75rem}.details-header{align-items:flex-start;flex-direction:column;gap:.5rem}}@media (max-width:480px){.table-header,.table-row{gap:.5rem;grid-template-columns:1fr}.table-header{display:none}.table-row{border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;margin-bottom:.5rem;padding:1rem}.col-current,.col-pl,.col-price,.col-quantity,.col-ticker,.col-value{align-items:center;display:flex;justify-content:space-between}.col-ticker:before{color:#64748b;content:"Stock: ";font-weight:600}.col-quantity:before{color:#64748b;content:"Quantity: ";font-weight:600}.col-price:before{color:#64748b;content:"Avg Price: ";font-weight:600}.col-current:before{color:#64748b;content:"Current: ";font-weight:600}.col-value:before{color:#64748b;content:"Value: ";font-weight:600}.col-pl:before{color:#64748b;content:"P/L: ";font-weight:600}}.stock-history{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.history-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.stock-select{font-size:.875rem;min-width:200px;padding:.5rem 1rem}.date-controls{align-items:center;display:flex;gap:.5rem}.date-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;padding:.5rem 1rem;transition:all .3s ease}.date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.reset-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.reset-btn:hover:not(:disabled){background:#f8fafc;border-color:#3b82f6}.reset-btn:disabled{cursor:not-allowed;opacity:.5}.history-content{display:flex;flex-direction:column;gap:1.5rem}.stock-summary{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.summary-info h4{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 .25rem}.summary-info p{color:#64748b;font-size:.875rem;margin:0}.summary-price{text-align:right}.current-price{display:block;font-size:1.5rem;margin-bottom:.25rem}.history-chart{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-height:200px;padding:2rem}.chart-placeholder{align-items:center;color:#64748b;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.chart-icon{font-size:3rem;margin-bottom:1rem}.chart-placeholder p{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.chart-placeholder small{font-size:.875rem;opacity:.7}.history-list{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.list-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#374151;display:grid;font-size:.875rem;font-weight:600;grid-template-columns:1fr 1fr 1fr;padding:1rem}.list-content{background:#fff;max-height:400px;overflow-y:auto}.history-item{border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:1fr 1fr 1fr;padding:1rem;transition:background-color .3s ease}.history-item:hover{background:#f8fafc}.history-item:last-child{border-bottom:none}.item-date{color:#374151;font-weight:500}.item-date,.item-price{align-items:center;display:flex}.item-price{color:#1e293b;font-weight:600}.item-change{align-items:flex-end;display:flex;flex-direction:column;font-size:.875rem;font-weight:500}.item-change.positive{color:#10b981}.item-change.negative{color:#ef4444}.item-change small{font-size:.75rem;opacity:.8}.loading-item{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.5rem;justify-content:center;padding:1rem}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:16px;width:16px}.end-item{align-items:center;color:#64748b;display:flex;font-size:.875rem;font-style:italic;justify-content:center;padding:1rem}@media (max-width:768px){.stock-history{padding:1rem}.history-header{align-items:flex-start;flex-direction:column}.history-controls{justify-content:space-between;width:100%}.stock-select{min-width:150px}.stock-summary{align-items:flex-start;flex-direction:column;gap:1rem}.summary-price{text-align:left}.current-price{font-size:1.25rem}.history-item,.list-header{font-size:.8rem;grid-template-columns:1fr .8fr 1fr;padding:.75rem}.item-change{font-size:.75rem}}@media (max-width:480px){.history-controls{align-items:stretch;flex-direction:column}.date-controls{justify-content:space-between}.history-item,.list-header{gap:.5rem;grid-template-columns:1fr}.list-header{display:none}.history-item{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.5rem;padding:1rem}.item-date:before{color:#64748b;content:"Date: ";font-weight:600}.item-price:before{color:#64748b;content:"Price: ";font-weight:600}.item-change:before{color:#64748b;content:"Change: ";font-weight:600}}.transaction-history{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.history-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.history-header h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0}.header-controls{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.history-subtitle{color:#64748b;font-size:.875rem}.filter-buttons{display:flex;gap:.5rem}.filter-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.filter-btn:hover{background:#f8fafc;border-color:#3b82f6}.filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.empty-state{color:#64748b;padding:3rem 1rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state p{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.empty-state small{font-size:.875rem;opacity:.7}.transactions-list{display:flex;flex-direction:column;gap:1.5rem}.transaction-group{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.group-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.group-date{color:#374151;font-weight:600}.group-count{color:#64748b;font-size:.875rem}.group-transactions{background:#fff}.transaction-item{grid-gap:1rem;align-items:center;border-bottom:1px solid #f1f5f9;display:grid;gap:1rem;grid-template-columns:auto 1fr auto auto auto;padding:1rem 1.5rem;transition:background-color .3s ease}.transaction-item:hover{background:#f8fafc}.transaction-item:last-child{border-bottom:none}.icon,.transaction-icon{align-items:center;display:flex;justify-content:center}.icon{border-radius:50%;font-size:1.2rem;height:40px;width:40px}.icon.buy{background:#10b9811a;color:#10b981}.icon.sell{background:#ef44441a;color:#ef4444}.transaction-details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.transaction-main{align-items:center;display:flex;gap:.5rem}.transaction-type{font-size:.875rem;font-weight:600}.transaction-type.buy{color:#10b981}.transaction-type.sell{color:#ef4444}.transaction-symbol{color:#1e293b;font-size:1rem;font-weight:700}.transaction-meta{align-items:center;display:flex}.transaction-time{color:#64748b;font-size:.875rem}.transaction-price,.transaction-quantity,.transaction-total{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.price-value,.quantity-value,.total-value{color:#1e293b;font-weight:600}.price-label,.quantity-label,.total-label{color:#64748b;font-size:.75rem}.total-value{font-size:1.1rem}.no-results{color:#64748b;padding:3rem 1rem;text-align:center}.no-results-icon{font-size:3rem;margin-bottom:1rem}.no-results p{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.no-results small{font-size:.875rem;opacity:.7}@media (max-width:768px){.transaction-history{padding:1rem}.history-header{align-items:flex-start;flex-direction:column}.header-controls{align-items:flex-start;width:100%}.filter-buttons{justify-content:space-between;width:100%}.filter-btn{flex:1 1;text-align:center}.transaction-item{gap:1rem;grid-template-columns:auto 1fr;padding:1rem}.transaction-price,.transaction-quantity,.transaction-total{align-items:center;border-top:1px solid #f1f5f9;flex-direction:row;grid-column:1/-1;justify-content:space-between;padding-top:.5rem}.group-header{padding:1rem}}@media (max-width:480px){.transaction-item{gap:.75rem;grid-template-columns:1fr}.transaction-icon{justify-content:flex-start}.transaction-price,.transaction-quantity,.transaction-total{align-items:flex-start;flex-direction:column;gap:.25rem}.quantity-value:before{color:#64748b;content:"Quantity: ";font-weight:600}.price-value:before{color:#64748b;content:"Price: ";font-weight:600}.total-value:before{color:#64748b;content:"Total: ";font-weight:600}}.trading-interface{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:2rem}.trading-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.trading-header h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.trading-subtitle{color:#64748b;font-size:.875rem}.trading-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{color:#374151;font-size:.875rem;font-weight:600}.stock-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.stock-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.stock-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.stock-price-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.current-price{color:#1e293b;font-size:1.25rem;font-weight:700}.price-change{font-size:.875rem;font-weight:600}.price-change.positive{color:#10b981}.price-change.negative{color:#ef4444}.holding-info{color:#64748b;display:flex;font-size:.875rem;justify-content:space-between}.order-type-group{flex-direction:column}.order-type-buttons,.order-type-group{display:flex;gap:.5rem}.order-type-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem 1rem;transition:all .3s ease}.order-type-btn:hover:not(:disabled){background:#f8fafc;border-color:#3b82f6}.order-type-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.order-type-btn:disabled{cursor:not-allowed;opacity:.5}.quantity-input-group{display:flex;gap:.5rem}.quantity-input{border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.quantity-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.max-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1rem;transition:all .3s ease;white-space:nowrap}.max-btn:hover:not(:disabled){background:#f8fafc;border-color:#3b82f6}.max-btn:disabled{cursor:not-allowed;opacity:.5}.quantity-info{color:#64748b;display:flex;font-size:.875rem;justify-content:space-between}.order-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.summary-row{display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:.5rem}.summary-row.total{border-top:1px solid #e2e8f0;font-size:1rem;font-weight:700;margin-top:.5rem;padding-top:.5rem}.submit-btn{border:none;border-radius:12px;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease}.submit-btn.buy{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.submit-btn.sell{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.trading-interface{padding:1.5rem}.stock-price-info{align-items:flex-start;flex-direction:column;gap:.5rem}.holding-info,.quantity-info{flex-direction:column;gap:.25rem}}.dashboard{background:#f8fafc;color:#1e293b;min-height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1.5rem 2rem}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.header-left h1{color:#1e293b;font-size:2rem;font-weight:700;margin:0 0 .5rem}.dashboard-subtitle{color:#64748b;font-size:1rem;margin:0}.header-right,.user-info{align-items:center;display:flex}.user-info{gap:1rem}.user-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-size:1.2rem;font-weight:600;height:48px;justify-content:center;width:48px}.user-details{display:flex;flex-direction:column}.user-name{color:#1e293b;font-weight:600}.user-status{color:#64748b;font-size:.875rem}.dashboard-nav{background:#fff;border-bottom:1px solid #e2e8f0;padding:0 2rem}.nav-content{margin:0 auto;max-width:1400px}.nav-content,.nav-tab{display:flex;gap:.5rem}.nav-tab{align-items:center;background:none;border:none;border-radius:8px 8px 0 0;color:#64748b;cursor:pointer;font-weight:500;padding:1rem 1.5rem;transition:all .3s ease}.nav-tab:hover{background:#f1f5f9;color:#475569}.nav-tab.active{background:#f8fafc;border-bottom:2px solid #3b82f6;color:#3b82f6}.tab-icon{font-size:1.2rem}.tab-label{font-size:.95rem}.dashboard-main{padding:2rem}.dashboard-content{margin:0 auto;max-width:1400px}.overview-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.overview-left,.overview-right{display:flex;flex-direction:column;gap:2rem}.trading-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.trading-left,.trading-right{display:flex;flex-direction:column;gap:2rem}.history-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.history-left,.history-right{display:flex;flex-direction:column;gap:2rem}@media (max-width:1200px){.history-grid,.overview-grid,.trading-grid{grid-template-columns:1fr}.history-right,.overview-right,.trading-right{order:-1}}@media (max-width:768px){.dashboard-header{padding:1rem}.header-content{align-items:flex-start;flex-direction:column;gap:1rem}.dashboard-nav{padding:0 1rem}.nav-content{justify-content:center}.nav-tab{padding:.75rem 1rem}.dashboard-main{padding:1rem}.user-info{align-self:flex-end}}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}*{box-sizing:border-box}body{color:#333;line-height:1.6;margin:0;padding:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #e5e7eb;color:#374151}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#667eea;color:#667eea}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.card-header{margin-bottom:1.5rem}.card-title{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.card-subtitle{color:#64748b;font-size:.875rem;margin:0}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-label{color:#374151;font-size:.875rem;font-weight:600}.form-input{border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.loading{align-items:center;color:#64748b;display:flex;gap:.5rem;justify-content:center}.spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.positive{color:#10b981}.negative{color:#ef4444}.neutral{color:#64748b}.hidden-mobile{display:block}.visible-mobile{display:none}@media (max-width:768px){.hidden-mobile{display:none}.visible-mobile{display:block}.btn{font-size:.875rem;padding:.625rem 1.25rem}.card{padding:1rem}.card-title{font-size:1.125rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}:focus{outline:2px solid #667eea;outline-offset:2px}button:focus,input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #667eea1a;outline:none}
/*# sourceMappingURL=main.ab2de488.css.map*/