@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.portfolio-optimizer{box-sizing:border-box;color:#212529;background:#f8f9fa;flex-direction:column;align-items:center;max-width:1100px;min-height:100vh;margin:0 auto;padding:2rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;display:flex;position:relative}.portfolio-optimizer h1{text-align:center;color:#fff;letter-spacing:-.02em;background:#2c3e50;border-radius:0;justify-content:center;align-items:center;width:calc(100% + 4rem);margin:-2rem -2rem 2rem;padding:2rem 1.5rem;font-size:2.75rem;font-weight:700;line-height:1.2;display:flex}.budget-section{box-sizing:border-box;background:#fff;border:1px solid #dee2e6;border-radius:2px;flex-wrap:wrap;justify-content:center;align-self:center;align-items:center;gap:1rem;width:100%;max-width:600px;margin-bottom:2rem;padding:1.5rem;display:flex;box-shadow:0 2px 4px #00000014}.budget-section label{color:#2c3e50;margin-right:.5rem;font-size:1.1rem;font-weight:600}.budget-section input{color:#2c3e50;background:#fff;border:2px solid #ced4da;border-radius:2px;width:180px;padding:.75rem;font-size:1.1rem;font-weight:500;transition:all .2s}.budget-section input:focus{background:#f8f9ff;border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff40}.budget-section .currency{color:#2c3e50;font-size:1.1rem;font-weight:700}.stocks-section{box-sizing:border-box;background:#fff;border:1px solid #dee2e6;border-radius:2px;align-self:center;width:100%;max-width:1100px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 2px 4px #00000014}.stocks-section h2{color:#2c3e50;margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.stocks-header{color:#2c3e50;background:#e9ecef;border:2px solid #dee2e6;border-radius:2px;grid-template-columns:1fr 1fr 1fr 1fr;gap:1rem;margin-bottom:1rem;padding:1rem .75rem;font-size:1rem;font-weight:700;display:grid}.stock-row{background:#fff;border-bottom:2px solid #dee2e6;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;gap:1rem;padding:1rem .75rem;transition:background-color .2s;display:grid}.stock-row:hover{background:#f8f9fa}.stock-row input{color:#2c3e50;background:#fff;border:2px solid #ced4da;border-radius:2px;padding:.75rem;font-size:1rem;font-weight:500;transition:all .2s}.stock-row input:focus{background:#f8f9ff;border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff40}.remove-btn{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:2px;min-height:44px;padding:.6rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s}.remove-btn:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}.remove-btn:disabled{cursor:not-allowed;opacity:.6;background:#6c757d}.add-stock-btn{color:#fff;cursor:pointer;letter-spacing:.025em;background:#28a745;border:none;border-radius:2px;min-height:48px;margin-top:1.5rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .2s}.add-stock-btn:hover{background:#218838;transform:translateY(-1px);box-shadow:0 3px 6px #28a7454d}.optimize-section{text-align:center;justify-content:center;width:100%;margin-bottom:2rem;display:flex}.optimize-btn{color:#fff;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:#007bff;border:none;border-radius:2px;min-height:56px;padding:1.25rem 2.5rem;font-size:1.2rem;font-weight:700;transition:all .2s;box-shadow:0 3px 6px #007bff33}.optimize-btn:hover:not(:disabled){background:#0056b3;transform:translateY(-2px);box-shadow:0 5px 12px #007bff4d}.optimize-btn:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;background:#6c757d;transform:none}.results-section{box-sizing:border-box;background:#fff;border:1px solid #dee2e6;border-radius:2px;align-self:center;width:100%;max-width:1100px;padding:2rem;box-shadow:0 2px 4px #00000014}.results-section h2{color:#2c3e50;text-align:center;margin-top:0;margin-bottom:2rem;font-size:2rem;font-weight:700}.stock-analysis h3,.strategies-section h3,.recommendation-section h3{color:#2c3e50;border-bottom:3px solid #007bff;margin-bottom:2rem;padding-bottom:.75rem;font-size:1.4rem;font-weight:700}.stock-analysis-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stock-card{background:#fff;border:1px solid #dee2e6;border-radius:2px;padding:1rem;transition:box-shadow .2s;position:relative;box-shadow:0 2px 4px #00000014}.stock-card:hover{box-shadow:0 4px 8px #0000001f}.stock-rank{color:#fff;background:#4a5c6a;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.9rem;font-weight:600;display:flex;position:absolute;top:-10px;right:-10px}.stock-info h4{color:#2c3e50;margin:0 0 .75rem;font-size:1.2rem;font-weight:700}.stock-info p{color:#495057;margin:.5rem 0;font-size:1rem;font-weight:500;line-height:1.5}.strategy-card{background:#fff;border:1px solid #dee2e6;border-radius:2px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 4px #00000014}.strategy-card h4{color:#2c3e50;margin-top:0;margin-bottom:1.5rem;font-size:1.4rem;font-weight:700}.allocation-section h5{color:#2c3e50;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.allocation-item{background:#f8f9fa;border:2px solid #dee2e6;border-radius:2px;grid-template-columns:2fr 1fr 1fr 2fr;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.75rem;transition:all .2s;display:grid}.allocation-item:hover{background:#e9ecef;border-color:#007bff}.stock-name{color:#2c3e50;font-size:1rem;font-weight:700}.shares{color:#495057;font-size:.95rem;font-weight:600}.cost{color:#2c3e50;font-size:.95rem;font-weight:600}.future-value{color:#28a745;font-size:1rem;font-weight:700}.strategy-summary{border-top:1px solid #dee2e6;margin-top:1rem;padding-top:1rem}.summary-item{color:#2c3e50;border-bottom:2px solid #dee2e6;justify-content:space-between;padding:.75rem 0;font-size:1rem;font-weight:600;display:flex}.summary-item:last-child{border-bottom:none}.summary-item.profit{background:#28a7451a;border:2px solid #28a7454d;border-radius:2px;margin:.75rem 0;padding:1rem;font-size:1.1rem;font-weight:700}.summary-item.roi{background:#007bff1a;border:2px solid #007bff4d;border-radius:2px;margin:.75rem 0;padding:1rem;font-size:1.1rem;font-weight:700}.recommendation-section{box-sizing:border-box;background:#007bff0d;border:2px solid #007bff;border-radius:2px;width:100%;margin-top:2rem;padding:2rem}.recommendation-section h3{color:#2c3e50!important;border-bottom-color:#007bff!important;font-size:1.5rem!important}.recommendation-section p{color:#2c3e50;text-align:center;margin:0;font-size:1.2rem;font-weight:500;line-height:1.6}.recommendation-section strong{color:#007bff;font-weight:700}@media (width<=768px){.portfolio-optimizer{padding:1rem;font-size:18px}.portfolio-optimizer h1{padding:1.5rem 1rem;font-size:2.2rem}.stocks-header,.stock-row{text-align:center;grid-template-columns:1fr;gap:.75rem}.allocation-item{text-align:center;grid-template-columns:1fr;padding:1rem}.stock-analysis-grid{grid-template-columns:1fr}.budget-section{text-align:center;flex-direction:column;align-items:center;padding:2rem 1.5rem}.budget-section input{width:250px;padding:1rem;font-size:1.2rem}.budget-section label,.budget-section .currency{font-size:1.2rem}.optimize-btn{min-height:60px;padding:1.5rem 2rem;font-size:1.1rem}.add-stock-btn,.remove-btn{min-height:48px;padding:.75rem 1.5rem;font-size:1rem}.stock-row input{padding:1rem;font-size:1.1rem}}#root{background:#f8f9fa;justify-content:center;width:100%;min-height:100vh;margin:0;padding:0;display:flex}.App{background:#f8f9fa;justify-content:center;width:100%;min-height:100vh;display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;background-color:#242424;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{color:inherit;cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
