:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;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}}#root{max-width:100vw;margin:0;padding:0;min-height:100vh}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}.App{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:#2c3e50;color:#fff;padding:1rem 0;box-shadow:0 2px 4px #0000001a}.app-main.comparison-container{max-width:100%!important;padding:0!important}.header-content{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-content h1{font-size:1.5rem;font-weight:600;margin:0}.main-nav{display:flex;gap:.5rem}.nav-button{padding:.5rem 1rem;background:transparent;color:#fff;border:2px solid transparent;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.nav-button:hover{background-color:#ffffff1a;border-color:#ffffff4d}.nav-button.active{background-color:#3498db;border-color:#3498db}.user-info{display:flex;align-items:center;gap:1rem;font-size:.9rem}.logout-button{padding:.4rem .8rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background-color .2s ease}.logout-button:hover{background:#c0392b}.app-main{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-form{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 10px 25px #00000026;width:100%;max-width:400px}.login-form h2{text-align:center;margin-bottom:.5rem;color:#2c3e50;font-size:1.75rem}.login-form p{text-align:center;color:#666;margin-bottom:2rem;font-size:.9rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.form-group input{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:6px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.login-form button{width:100%;padding:.75rem;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.login-form button:hover:not(:disabled){background:#2980b9}.login-form button:disabled{background:#bdc3c7;cursor:not-allowed}.error-message{background:#fee;color:#c0392b;padding:.75rem;border-radius:6px;margin-bottom:1rem;border:1px solid #fadbd8;font-size:.9rem}.etf-browser{display:flex;flex-direction:column;gap:1.5rem}.browser-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-bottom:1rem;border-bottom:2px solid #e1e8ed}.browser-header h2{color:#2c3e50;font-size:1.75rem;margin:0}.browser-controls{display:flex;align-items:center;gap:1rem}.sort-controls{display:flex;align-items:center;gap:.5rem}.sort-select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.sort-order-button{padding:.5rem .75rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:700}.browser-content{display:grid;grid-template-columns:300px 1fr;gap:2rem;align-items:start}.filters-panel{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;position:sticky;top:1rem}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e1e8ed}.filters-header h3{margin:0;color:#2c3e50}.filter-actions{display:flex;flex-direction:column;gap:.5rem}.apply-filters,.clear-filters{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background-color .2s ease}.apply-filters{background:#27ae60;color:#fff}.apply-filters:hover{background:#219a52}.clear-filters{background:#e74c3c;color:#fff}.clear-filters:hover{background:#c0392b}.filter-groups{display:flex;flex-direction:column;gap:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.75rem}.filter-group label{font-weight:500;color:#2c3e50;font-size:.9rem}.filter-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.checkbox-group{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#555;cursor:pointer;padding:.25rem;border-radius:3px;transition:background-color .2s ease}.checkbox-label:hover{background-color:#f8f9fa}.range-inputs{display:flex;gap:.5rem}.range-input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem}.results-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.results-info{padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e1e8ed;font-size:.9rem;color:#666}.loading{padding:3rem;text-align:center;font-size:1.1rem;color:#666}.etf-table-container{overflow-x:auto}.etf-table{width:100%;border-collapse:collapse;font-size:.85rem}.etf-table th,.etf-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid #e1e8ed}.etf-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0;z-index:1}.etf-table tbody tr:hover{background-color:#f8f9fa}.symbol-cell{font-weight:600;color:#3498db}.name-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.positive{color:#27ae60;font-weight:500}.negative{color:#e74c3c;font-weight:500}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;background:#f8f9fa}.pagination button{padding:.5rem 1rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.pagination button:disabled{background:#bdc3c7;cursor:not-allowed}.pagination span{font-size:.9rem;color:#666}.portfolio-builder{display:flex;flex-direction:column;gap:2rem}.portfolio-header{text-align:center;padding-bottom:1rem;border-bottom:2px solid #e1e8ed}.portfolio-header h2{color:#2c3e50;font-size:1.75rem;margin-bottom:.5rem}.portfolio-header p{color:#666;font-size:1rem}.portfolio-configuration{display:flex;flex-direction:column;gap:2rem}.strategy-selection h3{color:#2c3e50;margin-bottom:1rem;font-size:1.25rem}.strategy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.strategy-card{background:#fff;border:2px solid #e1e8ed;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;box-shadow:0 2px 4px #0000000d}.strategy-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.strategy-card.selected{border-color:#3498db;box-shadow:0 4px 12px #3498db26;background:linear-gradient(135deg,#fff,#f8fbff)}.strategy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.strategy-header h4{color:#2c3e50;font-size:1.1rem;margin:0}.strategy-badge{padding:.25rem .75rem;background:#27ae60;color:#fff;border-radius:20px;font-size:.75rem;font-weight:600}.strategy-badge.aggressive{background:#e74c3c}.strategy-badge.manual{background:#f39c12}.strategy-description{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.strategy-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-item{display:flex;justify-content:space-between;font-size:.85rem}.detail-label{color:#666}.detail-value{font-weight:500;color:#2c3e50}.detail-value.warning{color:#e74c3c}.strategy-weights{font-size:.75rem;color:#95a5a6;font-style:italic}.manual-allocations{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.manual-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.manual-header h3{color:#2c3e50;margin:0}.add-allocation-btn{padding:.5rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.weight-warning{background:#fee;color:#e74c3c;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;border:1px solid #fadbd8}.allocations-list{display:flex;flex-direction:column;gap:1rem}.allocation-item{border:1px solid #e1e8ed;border-radius:6px;padding:1rem;background:#f8f9fa}.allocation-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.allocation-type-select,.allocation-tickers-input,.allocation-weight-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.allocation-type-select{min-width:120px}.allocation-tickers-input{width:80px}.allocation-weight-input{width:100px}.remove-allocation-btn{padding:.5rem .75rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:700}.allocation-preview{margin-top:.5rem;font-size:.85rem;color:#666}.portfolio-actions{text-align:center;padding:2rem 0}.generate-portfolio-btn{padding:1rem 2rem;background:linear-gradient(135deg,#3498db,#2c3e50);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #3498db4d}.generate-portfolio-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3498db66}.generate-portfolio-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none}.portfolio-results{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;margin-top:2rem}.results-controls{padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.primary-button{padding:.75rem 1.5rem;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s ease}.primary-button:hover{background:#2980b9}.secondary-button{padding:.75rem 1.5rem;background:transparent;color:#3498db;border:1px solid #3498db;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.secondary-button:hover{background:#3498db;color:#fff}.tab-button{padding:.75rem 1.5rem;background:transparent;color:#666;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.tab-button.active{color:#3498db;border-bottom-color:#3498db;background:#f8f9fa}.tab-button:hover:not(.active){color:#2c3e50;background:#f8f9fa}.portfolio-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#f8f9fa;padding:1.5rem;border-radius:8px;text-align:center;border:1px solid #e1e8ed}.stat-card h4{color:#666;font-size:.85rem;font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.5rem;font-weight:700;color:#2c3e50}.category-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.category-summary-card{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;padding:1rem}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.category-header h4{color:#2c3e50;margin:0;font-size:1rem}.category-weight{font-weight:600;color:#3498db;font-size:1rem}.category-details{display:flex;justify-content:space-between;font-size:.85rem;color:#666;margin-bottom:.5rem}.category-etfs{font-size:.8rem;color:#95a5a6;font-family:monospace}.portfolio-table-container{overflow-x:auto;margin-top:1rem}.portfolio-table{width:100%;border-collapse:collapse;font-size:.85rem}.portfolio-table th,.portfolio-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid #e1e8ed}.portfolio-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0;z-index:1}.portfolio-table tbody tr:hover{background-color:#f8f9fa}.allocation-cell{font-weight:600;color:#3498db}.rank-cell{font-family:monospace;color:#666}.score-cell{font-family:monospace;font-size:.8rem}.return-cell{font-weight:500;font-family:monospace}.category-cell{font-size:.8rem;color:#666}.loading-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:#666}@media(max-width:768px){.header-content{flex-direction:column;text-align:center}.browser-content{grid-template-columns:1fr}.filters-panel{position:static}.strategy-cards{grid-template-columns:1fr}.allocation-controls{flex-direction:column;align-items:stretch}.portfolio-stats-grid{grid-template-columns:repeat(2,1fr)}.category-breakdown{grid-template-columns:1fr}}.dashboard-container{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;overflow-y:auto!important;display:flex!important;justify-content:center!important;align-items:flex-start!important;padding-top:0!important;background:#f5f5f5!important}.dashboard-container>div{width:100%!important;max-width:1200px!important;margin:0!important;background:transparent!important}
