:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0}body{margin:0;width:100vw;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);overflow-x:auto}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:var(--button-primary-bg);color:var(--button-text-color, var(--text-light));cursor:pointer;transition:background .2s,border-color .25s,transform .2s}button:hover{background-color:var(--button-primary-hover);border-color:var(--button-primary-hover);transform:translateY(-1px)}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}}@media(max-width:1024px){button{padding:.45em .9em;font-size:.9em}}@media(max-width:768px){button{padding:.4em .8em;font-size:.85em;border-radius:6px}h1{font-size:2em}}@media(max-width:480px){button{padding:.35em .7em;font-size:.8em}}.expand-btn{font-size:.82rem;background:none;border:1px solid var(--border-color);color:var(--primary-color);cursor:pointer;padding:.25em .75em;border-radius:20px;transition:background .15s,border-color .15s;white-space:nowrap}.expand-btn:hover{background:var(--bg-hover);border-color:var(--primary-color)}body{background:var(--bg-primary);font-family:Segoe UI,Arial,sans-serif;margin:0;padding:0;overflow-x:hidden;width:100%;max-width:100vw}#root{width:100%;max-width:100vw;margin:0;padding:0;text-align:left;overflow-x:hidden;box-sizing:border-box}.container{background:var(--bg-card);border-radius:0;box-shadow:none;padding:1.5rem 2rem;width:100%;max-width:100%;box-sizing:border-box;min-height:calc(100vh - 56px);margin-top:56px;padding-bottom:calc(1.5rem + 48px)}.nav-tabs{display:flex;gap:8px;margin-bottom:2rem;border-bottom:2px solid var(--border-color);padding-bottom:0}.nav-tab{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-muted);font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:-2px}.nav-tab:hover{color:var(--primary-color);background:var(--bg-hover)}.nav-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--bg-hover)}.container h2{color:var(--text-secondary);margin-bottom:1.5rem;text-align:left}.iam-admin-placeholder{padding:3rem 2rem;text-align:center;color:var(--text-secondary)}.iam-admin-placeholder h2{color:var(--text-primary);margin-bottom:1rem}.form{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem;width:100%}.form.login-form{max-width:300px;width:300px;align-items:stretch;gap:.25rem;padding:0;margin-top:0}.form.login-form input,.form.login-form select{width:100%;max-width:100%;box-sizing:border-box}.login-landing{display:flex;flex-direction:row;gap:2.5rem;align-items:flex-start;flex-wrap:wrap;margin-top:1.5rem}.login-landing-main{display:flex;flex-direction:column;gap:.75rem;flex:0 0 auto;width:300px}.login-landing .form.login-form{margin-top:0;flex:0 0 auto;width:300px;max-width:300px;padding:0;box-sizing:border-box}.login-landing-image{flex:1 1 640px;max-width:960px;min-width:480px;display:block;align-self:stretch}.login-landing-image img{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 8px 32px #00000059;object-fit:cover}.form.login-form select,.form.login-form input{background:var(--bg-secondary, #ffffff);color:var(--text-primary, #2c3e50);border:1px solid var(--input-border, var(--border-light, #d1d5db));border-radius:6px;padding:8px 10px;font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.form.login-form select:focus,.form.login-form input:focus{outline:none;border-color:var(--input-focus, var(--primary-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 25%,transparent)}.form.login-form label{color:var(--text-secondary, var(--text-primary))}.oauth-section{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem}.oauth-divider{display:flex;align-items:center;gap:.75rem;color:var(--text-muted, #6b7280);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.oauth-divider:before,.oauth-divider:after{content:"";flex:1 1 auto;height:1px;background:var(--border-light, #d1d5db)}.oauth-buttons{display:grid;grid-template-columns:1fr;gap:.5rem;width:100%;max-width:300px;align-self:center}.oauth-button,.form.login-form .oauth-button,.form .oauth-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;padding:.4rem .75rem;border-radius:6px;border:1px solid var(--border-light, #d1d5db);background:var(--bg-secondary, #ffffff);color:var(--text-primary, #1f2937);font-weight:500;font-size:.85rem;line-height:1.15;cursor:pointer;transition:border-color .15s ease,transform .1s ease,box-shadow .15s ease,background .15s ease;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05));min-height:32px;height:32px;box-sizing:border-box;white-space:nowrap}.oauth-button__icon svg{width:16px;height:16px}.oauth-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .08))}.oauth-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 30%,transparent)}.oauth-button__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.oauth-button__label{white-space:nowrap}.oauth-button--google:hover{border-color:#4285f4}.oauth-button--github:hover{border-color:#6e7681}.oauth-button--microsoft:hover{border-color:#00a4ef}.oauth-button--linkedin:hover{border-color:#0a66c2}.oauth-button--github .oauth-button__icon{color:var(--text-primary, #181717)}.login-helper-text{font-size:.8rem;color:var(--text-muted, #6b7280);margin-top:.5rem}.login-submit-btn,.form.login-form .login-submit-btn,.form .login-submit-btn,.register-action-btn,.form.login-form .register-action-btn,.form .register-action-btn{padding:.4rem .75rem!important;min-height:32px!important;height:32px!important;font-size:.85rem!important;line-height:1.15!important;border-radius:6px!important;width:100%!important;max-width:300px!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.register-action-btn,.form.login-form .register-action-btn,.form .register-action-btn{margin-top:.6rem!important;background:var(--bg-secondary, #ffffff)!important;color:var(--primary-color, #6d28d9)!important;border:1px solid var(--primary-color, #6d28d9)!important;font-weight:600!important;cursor:pointer;transition:background .15s ease,color .15s ease}.register-action-btn:hover{background:var(--primary-color, #6d28d9)!important;color:#fff!important}.register-action-btn:focus-visible{outline:2px solid var(--primary-color, #6d28d9);outline-offset:2px}.login-register-cta{font-size:.9rem;margin-top:.9rem;text-align:left;color:var(--text-secondary, var(--text-primary));line-height:1.45}.login-register-cta__text{margin:0 0 .5rem;padding:.5rem .75rem;background:color-mix(in srgb,var(--primary-color, #6d28d9) 6%,transparent);border:1px solid color-mix(in srgb,var(--primary-color, #6d28d9) 20%,transparent);border-radius:8px}.login-landing-side{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:.5rem}.login-landing-main .login-register-cta{width:100%;margin-top:0}.login-landing-main .login-register-cta .register-action-btn{margin-left:0!important;margin-right:0!important;max-width:100%!important}.login-helper-text{text-align:left;margin-top:.5rem;margin-bottom:0}.login-helper-text--hidden{display:none}.login-register-cta strong{color:var(--text-primary);font-weight:600;letter-spacing:.01em}.link-button{background:none;border:none;color:var(--primary-color, #6d28d9);cursor:pointer;text-decoration:underline;padding:0;font:inherit}.link-button:hover{color:var(--primary-dark, var(--primary-color))}.link-button--register{display:inline;padding:0;margin:0;background:none;color:var(--primary-color, #6d28d9);text-decoration:underline;text-underline-offset:2px;font-weight:600;transition:color .15s ease}.link-button--register:hover{color:var(--primary-dark, #5b21b6);text-decoration-thickness:2px}.link-button--register:focus-visible{outline:2px solid var(--primary-color, #6d28d9);outline-offset:2px;border-radius:2px}@media(max-width:520px){.oauth-buttons{grid-template-columns:1fr}}.form.portfolio-form{width:100%;display:flex;flex-direction:column;gap:2rem;position:relative;z-index:2}.input-section{display:flex;flex-direction:column;gap:1.5rem;padding:20px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef;min-height:200px}.input-section.speed-presets{display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:auto!important;position:relative!important;left:0!important}.input-section h3{margin:0 0 15px;font-size:1.1rem;font-weight:600;padding-bottom:8px;border-bottom:2px solid currentColor}.input-section.load-stocks h3{color:#28a745;border-bottom-color:#28a745}.input-section.dynamic-params h3{color:#7c3aed;border-bottom-color:#7c3aed}.input-section.quantum-params h3{color:#dc3545;border-bottom-color:#dc3545}.input-section.portfolio-actions h3{color:#28a745;border-bottom-color:#28a745}.input-section.speed-presets h3{color:#7c3aed;border-bottom-color:#7c3aed}.input-section.optimization-status h3{color:#dc3545;border-bottom-color:#dc3545}.input-section.optimization-status{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.optimization-status-content{background:#f8f9fa;padding:1rem;border-radius:8px;border:1px solid #e9ecef;min-height:100px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic}.form.portfolio-form h3{margin-top:20px;margin-bottom:10px;font-size:1.1rem;font-weight:600;border-bottom:2px solid currentColor;padding-bottom:5px}.form.portfolio-form .form-inputs>div{display:flex;flex-direction:column;gap:8px}.form.portfolio-form label{font-weight:500;color:#374151;font-size:.9rem}.form.portfolio-form input[type=number]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form.portfolio-form input[type=number]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-speed-presets-container{display:flex;flex-direction:column;gap:1rem;width:100%;margin-top:2rem}.form.portfolio-form .form-row-1{display:grid!important;grid-template-columns:1fr 1fr 1fr 1fr!important;gap:1.5rem!important;margin-bottom:2rem!important;width:100%!important}.form.portfolio-form .form-row-2{width:100%!important;max-width:100%!important;margin-bottom:2rem!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:1.5rem!important;overflow:hidden!important;position:relative!important;box-sizing:border-box!important}.form.portfolio-form .form-row-3{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:1.5rem!important;margin-top:3rem!important;margin-bottom:2rem!important;position:relative!important;z-index:1!important;clear:both!important}.form.portfolio-form .form-row-4{width:100%!important;margin-bottom:2rem!important;display:block!important}@media(max-width:1200px){.form.portfolio-form .form-row-1,.form.portfolio-form .form-row-2{grid-template-columns:1fr 1fr!important;gap:1rem!important}.form.portfolio-form .form-row-3{grid-template-columns:1fr!important}}@media(max-width:768px){.form.portfolio-form .form-row-1,.form.portfolio-form .form-row-2{grid-template-columns:1fr!important}}.form.portfolio-form .form-row-2 .input-section.speed-presets .speed-preset-container[style],.form.portfolio-form .speed-presets .speed-preset-container{display:flex!important;flex-direction:row!important;gap:12px!important;justify-content:space-evenly!important;flex-wrap:nowrap!important;align-items:stretch!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:0!important}.form.portfolio-form .form-row-2 .input-section.speed-presets .speed-preset-container{display:flex!important;flex-direction:row!important}.form.portfolio-form .speed-presets .speed-preset,.form.portfolio-form .speed-presets .speed-preset-selected,.form.portfolio-form .form-row-2 .input-section.speed-presets .speed-preset-container .speed-preset[style],.form.portfolio-form .form-row-2 .input-section.speed-presets .speed-preset-container .speed-preset-selected[style]{flex:1 1 0!important;min-width:0!important;max-width:calc(33.33% - 8px)!important;display:flex!important;box-sizing:border-box!important}@media(max-width:1200px){.input-section.speed-presets{width:100%!important;max-width:100%!important}}@media(max-width:900px){.input-section.speed-presets{width:100%!important;max-width:100%!important}.form.portfolio-form .speed-presets .speed-preset-container{flex-wrap:wrap!important;justify-content:center!important}}@media(max-width:768px){.form.portfolio-form .speed-presets .speed-preset-container{flex-direction:column!important;gap:10px!important}.form.portfolio-form .speed-presets .speed-preset,.form.portfolio-form .speed-presets .speed-preset-selected{min-width:auto!important;max-width:none}}.input-section.portfolio-actions .form-buttons{display:flex;flex-direction:column;gap:1rem;width:100%}.input-section.portfolio-actions .form-buttons button{width:100%;padding:.75rem 1rem;white-space:nowrap}.form.portfolio-form .form-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;width:100%}.form.portfolio-form .form-buttons button{flex:1 1 auto;min-width:180px;max-width:250px;padding:.75rem 1rem;white-space:nowrap}@media(min-width:768px){.form.portfolio-form .form-buttons{flex-direction:row;justify-content:space-around}.form.portfolio-form .form-buttons button{flex:0 1 auto}}@media(max-width:767px){.form.portfolio-form .form-buttons{flex-direction:column}.form.portfolio-form .form-buttons button{width:100%;max-width:none}}.form-messages{margin-top:1rem;width:100%}.form.portfolio-form>div{max-width:400px}.form>div{display:flex;flex-direction:column;gap:.5rem;width:100%}.form input,.form select{padding:.75rem;border:1px solid var(--input-border);border-radius:6px;font-size:1rem;box-sizing:border-box}.form input:focus,.form select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px #667eea1a}.portfolio-form input,.portfolio-form select{width:350px;max-width:100%}.portfolio-form input[type=checkbox]{width:auto;margin-right:8px}.portfolio-form label{text-align:left;color:#555;font-weight:500}.form button{padding:.75rem 1.5rem;background:var(--button-primary-bg);color:var(--text-light);border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s,transform .2s;white-space:nowrap;justify-self:start;display:flex;align-items:center;justify-content:center}.form button:hover:not(:disabled){background:var(--button-primary-hover);transform:translateY(-1px)}.button-group{display:flex;gap:1rem;flex-wrap:nowrap;margin-top:1rem;width:100%;justify-content:flex-start;align-items:center}.button-group button{flex:0 0 auto;min-width:-webkit-fill-available}.speed-preset{border-color:#e9ecef!important;background-color:#fff}.speed-preset:hover{border-color:#7c3aed!important;background-color:#f8f9fa;box-shadow:0 2px 4px #7c3aed1a}.speed-preset-selected{border-color:#7c3aed!important;background-color:#f3f0ff;box-shadow:0 2px 8px #7c3aed33}.speed-preset-selected:hover{border-color:#6c2bd9!important;background-color:#ede9fe}@media(max-width:768px){#root{padding:.5rem}.container{padding:1rem}.form{gap:1rem}.form.login-form{max-width:100%}.form.login-form input,.form.login-form button{width:100%}.login-landing{flex-direction:column;gap:1.25rem}.login-landing-image{max-width:100%;flex:1 1 auto;order:2}.portfolio-form input,.portfolio-form select{width:100%}.form.portfolio-form{gap:1rem}.input-section{padding:15px}.form-actions-container{gap:1rem}.form.portfolio-form .form-buttons{flex-direction:column}.form.portfolio-form .form-buttons button{width:100%;max-width:none}.form.portfolio-form>div{max-width:100%}.button-group{flex-wrap:wrap;gap:.5rem}.button-group button{flex:1 1 auto;min-width:120px}.optimization-results-container{grid-template-columns:1fr;gap:1rem}}.form button:hover{background:#2196f3}.error{color:#d32f2f;font-size:.95rem;margin-top:-.5rem}.success{color:#388e3c;font-size:.95rem;margin-top:-.5rem}.form-row-4 .chart-container{margin:0;padding:1.5rem;background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-md);min-height:750px;height:auto;width:auto;overflow:visible;box-sizing:border-box;position:relative;display:flex;flex-direction:column;margin-bottom:1rem}.chart-wrapper{width:100%;height:auto;flex:1;position:relative;overflow:visible;container-type:inline-size;min-height:350px;max-height:750px;max-width:100%;box-sizing:border-box}.form-row-4 .chart-container canvas{width:100%!important;height:auto!important;max-width:100%!important;display:block!important;box-sizing:border-box!important}.stock-data-container{margin-top:2rem;width:100%;max-width:1400px;margin-left:auto;margin-right:auto;overflow-x:hidden;box-sizing:border-box}.stock-history-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.stock-history-header h2{margin:0;text-align:left;color:var(--text-primary)}.stock-count-badge{background:var(--bg-hover);color:var(--primary-color);border:1px solid var(--border-color);border-radius:12px;padding:2px 10px;font-size:.82rem;font-weight:600;white-space:nowrap}.stock-history-toggle{margin-left:auto}.stock-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem}.stock-summary-badge{display:flex;flex-direction:column;align-items:center;padding:.5rem .4rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;gap:2px;transition:border-color .15s}.stock-summary-badge:hover{border-color:var(--primary-color)}.ssb-symbol{font-weight:700;color:var(--text-primary);font-size:.75rem;text-align:center;word-break:break-all}.ssb-price{color:var(--primary-color);font-weight:600;font-size:.82rem}.chart-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem 1.5rem 1rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.stock-item{margin-bottom:1rem;border:1px solid #eee;border-radius:8px;padding:1rem;background:#fafafa}.chart-container-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.chart-container-header h2{margin:0;color:var(--text-primary);font-size:1rem;font-weight:600}.chart-stock-count{font-size:.8rem;color:var(--text-muted)}.portfolio-optimization-view{max-width:1400px;margin-left:auto;margin-right:auto}.stock-item{display:flex;flex-direction:column;border-bottom:1px solid var(--border-color);background:transparent;padding:.4rem .5rem;margin-bottom:0;border-radius:0}.stock-item:last-child{border-bottom:none}.stock-item .stock-header{margin-bottom:0}.stock-item.expanded{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem}.stock-item.expanded .stock-header{margin-bottom:.5rem}.stock-header{display:flex;align-items:center;justify-content:space-between}width: 100%; border-collapse: collapse; margin-top: .75rem; background: var(--bg-card); border-radius: 6px; overflow: hidden; box-shadow: var(--shadow-sm); } .stock-table th,.stock-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.stock-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:.85rem}.stock-table tr:hover td{background:var(--bg-hover)}.optimization-results-section{margin-top:0;width:100%;max-width:1400px;margin-left:auto;margin-right:auto;position:relative;z-index:1}.optimization-results-section h2{text-align:center;color:#34495e;margin-bottom:2rem;font-size:2rem}.optimization-results-container{display:grid;grid-template-columns:1fr;gap:1.5rem;width:100%;position:relative;z-index:1;margin-top:1rem}@media(min-width:1800px){.optimization-results-container{grid-template-columns:repeat(2,1fr)}}@media(min-width:2400px){.optimization-results-container{grid-template-columns:repeat(3,1fr)}}.optimization-result{padding:1.5rem;border:1px solid #e9ecef;border-radius:8px;width:100%;box-sizing:border-box}.classic-result{background:var(--gradient-primary);border-left:4px solid var(--primary-color);color:var(--text-on-gradient);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid var(--border-color)}.hybrid-result{background:var(--gradient-secondary);border-left:4px solid var(--accent-color);color:var(--text-on-gradient);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid var(--border-color)}.dynamic-result{background:var(--gradient-success);border-left:4px solid var(--success-color);color:var(--text-on-gradient);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid var(--border-color)}.optimization-result h3{margin-top:0;margin-bottom:1rem;color:var(--text-on-gradient);font-size:1.3rem;font-weight:700;text-shadow:1px 1px 3px rgba(0,0,0,.6);background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.optimization-result pre{background:#0000004d;padding:1rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);overflow-x:auto;font-size:.9rem;line-height:1.4;width:100%;box-sizing:border-box;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.result-section{margin-bottom:1.5rem}.result-section h4{margin:0 0 .75rem;color:#fff;font-size:1.1rem;font-weight:600;border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.6)}.result-section h5{margin:1rem 0 .5rem;color:#fff;font-size:1rem;font-weight:500;text-shadow:1px 1px 2px rgba(0,0,0,.6)}.weights-grid,.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem}.weight-item,.metric-item{background:#ffffff1a;padding:.75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.weight-item:hover,.metric-item:hover{background:#ffffff26;transform:translateY(-1px);box-shadow:0 3px 15px #0003}.asset-name,.metric-name{font-weight:500;color:#fffffff2;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.weight-value,.metric-value{font-weight:600;color:#00e676;font-family:Courier New,monospace;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.period-allocation{background:#ffffff14;padding:1rem;border-radius:6px;margin-bottom:1rem;border-left:3px solid #60a5fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15)}@media(max-width:768px){.weights-grid,.metrics-grid{grid-template-columns:1fr}}@media(max-width:900px){.optimization-results-container{grid-template-columns:1fr;gap:1rem}}@media(max-width:768px){.optimization-results-container{grid-template-columns:1fr;gap:1rem}}.inline-spinner{margin-right:.5rem;display:inline-block;vertical-align:middle;min-width:32px;min-height:32px;border:2px solid red;background:#ff0}.form button:disabled{opacity:.6;cursor:not-allowed}.form button:disabled:hover{background:#4da6ff}.bloch-spinner-fixed{position:fixed!important;bottom:110px!important;right:20px!important;z-index:999!important;background:#fffffff2;border-radius:50%;padding:10px;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:block!important;visibility:visible!important;opacity:1!important}:root,[data-theme=light-colorful]{--primary-color: #667eea;--primary-dark: #5568d3;--primary-light: #8c9eff;--secondary-color: #764ba2;--accent-color: #7c3aed;--accent-light: #a855f7;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #4c1d95 0%, #7c3aed 45%, #a855f7 100%);--gradient-success: linear-gradient(135deg, #065f46 0%, #059669 45%, #10b981 100%);--gradient-accent: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--bg-primary: #f6f8fa;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-hover: rgba(102, 126, 234, .05);--bg-overlay: rgba(255, 255, 255, .95);--text-primary: #2c3e50;--text-secondary: #34495e;--text-muted: #6c757d;--text-light: #ffffff;--text-on-gradient: #ffffff;--border-color: #e0e0e0;--border-light: #d1d5db;--border-accent: #667eea;--color-success: #28a745;--color-warning: #ffc107;--color-error: #dc3545;--color-info: #4da6ff;--success-color: #10b981;--success-bg: rgba(16, 185, 129, .1);--warning-color: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--error-color: #ef4444;--error-bg: rgba(239, 68, 68, .1);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--shadow-xl: 0 10px 40px rgba(0, 0, 0, .15);--button-primary-bg: #4da6ff;--button-primary-hover: #2196f3;--button-text-color: #ffffff;--input-border: #d1d5db;--input-focus: #667eea;--chart-grid: rgba(255, 255, 255, .1);--chart-text: #ffffff}[data-theme=dark-blue]{--primary-color: #3b82f6;--primary-dark: #2563eb;--primary-light: #60a5fa;--secondary-color: #1e293b;--accent-color: #3b82f6;--accent-light: #60a5fa;--gradient-primary: linear-gradient(135deg, #1e293b 0%, #334155 100%);--gradient-secondary: linear-gradient(135deg, #0f172a 0%, #1e293b 45%, #334155 100%);--gradient-success: linear-gradient(135deg, #0f172a 0%, #1e293b 45%, #334155 100%);--gradient-accent: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--bg-hover: rgba(59, 130, 246, .1);--bg-overlay: rgba(30, 41, 59, .95);--text-primary: #f8fafc;--text-secondary: #e2e8f0;--text-muted: #94a3b8;--text-light: #ffffff;--text-on-gradient: #ffffff;--border-color: #334155;--border-light: #475569;--border-accent: #3b82f6;--color-success: #3b82f6;--color-warning: #60a5fa;--color-error: #93c5fd;--color-info: #3b82f6;--success-color: #3b82f6;--success-bg: rgba(59, 130, 246, .1);--warning-color: #60a5fa;--warning-bg: rgba(96, 165, 250, .1);--error-color: #93c5fd;--error-bg: rgba(147, 197, 253, .1);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-xl: 0 10px 40px rgba(0, 0, 0, .6);--button-primary-bg: #3b82f6;--button-primary-hover: #2563eb;--button-text-color: #ffffff;--input-border: #475569;--input-focus: #3b82f6;--chart-grid: rgba(255, 255, 255, .1);--chart-text: #ffffff}[data-theme=minimal-bw]{--primary-color: #ffffff;--primary-dark: #ffffff;--primary-light: #cccccc;--secondary-color: #ffffff;--accent-color: #ffffff;--accent-light: #cccccc;--gradient-primary: #000000;--gradient-secondary: #0a0a0a;--gradient-success: #000000;--gradient-accent: #ffffff;--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-card: #000000;--bg-hover: #1a1a1a;--bg-overlay: rgba(0, 0, 0, .98);--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #999999;--text-light: #ffffff;--text-on-gradient: #ffffff;--border-color: #ffffff;--border-light: #333333;--border-accent: #ffffff;--color-success: #ffffff;--color-warning: #999999;--color-error: #cccccc;--color-info: #ffffff;--success-color: #ffffff;--success-bg: #0a0a0a;--warning-color: #999999;--warning-bg: #0a0a0a;--error-color: #ffffff;--error-bg: #0a0a0a;--shadow-sm: 0 1px 2px rgba(255, 255, 255, .1);--shadow-md: 0 2px 4px rgba(255, 255, 255, .15);--shadow-lg: 0 4px 8px rgba(255, 255, 255, .2);--shadow-xl: 0 8px 16px rgba(255, 255, 255, .25);--button-primary-bg: #666666;--button-primary-hover: #808080;--button-text-color: #ffffff;--input-border: #ffffff;--input-focus: #ffffff;--chart-grid: rgba(255, 255, 255, .1);--chart-text: #ffffff;--border-radius-sm: 0px !important;--border-radius-md: 0px !important;--border-radius-lg: 0px !important;--border-radius-xl: 0px !important}[data-theme=light-colorful] *,[data-theme=dark-blue] *,[data-theme=minimal-bw] *,[data-theme=matrix] *{font-family:Lucida Console,Courier New,monospace!important}[data-theme=minimal-bw] *,[data-theme=minimal-bw] *:before,[data-theme=minimal-bw] *:after,[data-theme=matrix] *,[data-theme=matrix] *:before,[data-theme=matrix] *:after{border-radius:0!important}[data-theme=matrix]{--primary-color: #00ff41;--primary-dark: #008f11;--primary-light: #39ff7a;--secondary-color: #00ff41;--accent-color: #00ff41;--accent-light: #39ff7a;--gradient-primary: #000000;--gradient-secondary: #000000;--gradient-success: #008f11;--gradient-accent: #00ff41;--bg-primary: #000000;--bg-secondary: #020a02;--bg-card: #000000;--bg-hover: #002b0a;--bg-overlay: rgba(0, 0, 0, .96);--text-primary: #00ff41;--text-secondary: #00cc33;--text-muted: #008f11;--text-light: #39ff7a;--text-on-gradient: #00ff41;--border-color: #00ff41;--border-light: #003b10;--border-accent: #39ff7a;--color-success: #00ff41;--color-warning: #aaff00;--color-error: #ff3b3b;--color-info: #39ff7a;--success-color: #00ff41;--success-bg: #00170a;--warning-color: #aaff00;--warning-bg: #0a1700;--error-color: #ff3b3b;--error-bg: #170000;--shadow-sm: 0 0 4px rgba(0, 255, 65, .25);--shadow-md: 0 0 8px rgba(0, 255, 65, .35);--shadow-lg: 0 0 14px rgba(0, 255, 65, .5);--shadow-xl: 0 0 22px rgba(0, 255, 65, .6);--button-primary-bg: #00ff41;--button-primary-hover: #39ff7a;--button-text-color: #000000;--input-border: #00ff41;--input-focus: #39ff7a;--chart-grid: rgba(0, 255, 65, .12);--chart-text: #00ff41;--border-radius-sm: 0px !important;--border-radius-md: 0px !important;--border-radius-lg: 0px !important;--border-radius-xl: 0px !important}[data-theme=matrix] body,[data-theme=matrix] .container,[data-theme=matrix] .app-header{background:#000;color:#00ff41}[data-theme=matrix] a{color:#39ff7a}[data-theme=matrix] input,[data-theme=matrix] select,[data-theme=matrix] textarea{background:#000;color:#00ff41;border:1px solid #00ff41}[data-theme=matrix] input::placeholder,[data-theme=matrix] textarea::placeholder{color:#008f11}[data-theme=matrix] button:not(:disabled):hover{box-shadow:0 0 6px #00ff4199}[data-theme=matrix] button{background:#000;color:#00ff41;border:1px solid #00ff41}[data-theme=matrix] button:disabled{background:#000;color:#008f11;border-color:#008f11}[data-theme=matrix] .login-submit-btn,[data-theme=matrix] .form.login-form .login-submit-btn,[data-theme=matrix] .form .login-submit-btn{background:#000!important;color:#00ff41!important;border:1px solid #00ff41!important}[data-theme=matrix] .login-submit-btn:hover:not(:disabled),[data-theme=matrix] .form.login-form .login-submit-btn:hover:not(:disabled){background:#002b0a!important;box-shadow:0 0 8px #00ff4199}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}*,*:before,*:after{transition-property:background-color,color,border-color,box-shadow;transition-duration:.3s;transition-timing-function:ease}.portfolio-control-panel{background:var(--gradient-primary);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow-xl)}.control-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.control-section{background:var(--bg-card);border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s}.control-section:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.control-section h3{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.portfolio-actions-section .action-buttons{display:flex;flex-direction:column;gap:12px}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-btn:disabled{opacity:.6;cursor:not-allowed}.load-btn{background:var(--gradient-primary);color:var(--text-on-gradient)}.optimize-btn,.cancel-btn{background:var(--gradient-accent);color:var(--text-on-gradient)}.config-item-actions{justify-content:flex-end}.config-item-actions .action-btn{width:100%}[data-theme=matrix] .action-btn,[data-theme=matrix] .load-btn,[data-theme=matrix] .optimize-btn,[data-theme=matrix] .cancel-btn{border-radius:0;background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}[data-theme=matrix] .action-btn:hover:not(:disabled),[data-theme=matrix] .load-btn:hover:not(:disabled),[data-theme=matrix] .optimize-btn:hover:not(:disabled),[data-theme=matrix] .cancel-btn:hover:not(:disabled){background:var(--primary-color);color:#000;box-shadow:0 0 12px var(--primary-color)}.btn-icon{font-size:1.2rem}.stock-config-section .config-grid{display:grid;gap:16px}.config-item{display:flex;flex-direction:column;gap:6px}.config-item label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.config-item input[type=number]{padding:10px 12px;border:2px solid var(--border-color);border-radius:8px;font-size:.95rem;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s,background .2s}.config-item input[type=number]:focus{outline:none;border-color:var(--primary-color);background:var(--bg-hover)}.config-item input[type=number]::placeholder{color:var(--text-muted)}.checkbox-group{display:flex;flex-direction:column;gap:10px;padding-top:8px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary);cursor:pointer}.job-status-section{min-height:200px;display:flex;flex-direction:column}.job-status-active{display:flex;flex-direction:column;gap:16px}.status-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.status-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-submitted,.status-pending{background:var(--warning-bg);color:var(--warning-color)}.status-running{background:var(--bg-hover);color:var(--primary-color)}.status-completed{background:var(--success-bg);color:var(--success-color)}.status-failed{background:#f8d7da;color:#721c24}.job-id{font-family:monospace;font-size:.85rem;color:var(--text-muted);background:var(--bg-secondary);padding:4px 8px;border-radius:4px}.progress-container{display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);transition:width .3s ease}.progress-text{font-size:.9rem;font-weight:600;color:var(--text-primary);min-width:45px;text-align:right}.job-details{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.job-detail-item{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.detail-label{color:var(--text-secondary);font-weight:500}.detail-value{color:var(--text-primary);font-weight:600}.job-status-idle{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px 16px;text-align:center}.status-message{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 8px;display:flex;align-items:center;gap:8px}.status-icon{font-size:1.5rem}.status-hint{font-size:.85rem;color:var(--text-muted);margin:0}@media(max-width:1200px){.control-panel-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(max-width:768px){.portfolio-control-panel{padding:16px}.control-panel-grid{grid-template-columns:1fr}.control-section{padding:16px}}.theme-switcher{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);margin-bottom:20px}.theme-switcher-label{font-size:.9rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.theme-options{display:flex;gap:8px}.theme-option{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:2px solid var(--border-light);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.theme-option:hover{border-color:var(--primary-color);background:var(--bg-hover);transform:translateY(-1px)}.theme-option.active{border-color:var(--primary-color);background:var(--bg-hover);box-shadow:0 0 0 3px #667eea1a}[data-theme=dark-blue] .theme-option.active{box-shadow:0 0 0 3px #3b82f633}.theme-preview{display:flex;gap:3px;align-items:center}.preview-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 1px 2px #0003}.theme-name{font-weight:600}@media(max-width:768px){.theme-switcher{flex-direction:column;align-items:flex-start;gap:8px}.theme-options{width:100%;justify-content:space-between}.theme-option{flex:1}}.app-footer{position:fixed;bottom:0;left:0;right:0;min-height:36px;display:flex;align-items:center;gap:24px;padding:4px 16px;z-index:900;background:var(--bg-secondary, #1a1a2e);border-top:1px solid var(--border-color, rgba(255, 255, 255, .08));font-size:11px;color:var(--text-muted, rgba(255, 255, 255, .38));-webkit-user-select:none;user-select:none}.app-footer__theme{margin-left:auto;display:flex;align-items:center}.app-footer__theme .theme-switcher{background:transparent;border:none;padding:0;margin-bottom:0;box-shadow:none;gap:6px}.app-footer__theme .theme-switcher-label{display:none}.app-footer__theme .theme-options{gap:4px}.app-footer__theme .theme-option{padding:3px 8px;font-size:.72rem;border-width:1px;gap:5px}.app-footer__theme .preview-dot{width:7px;height:7px}.app-footer__theme .theme-name{font-size:.7rem}@media(max-width:768px){.app-footer{flex-wrap:wrap;padding:4px 10px;gap:10px}.app-footer__login-info{gap:10px;font-size:10px}.app-footer__theme .theme-name{display:none}.app-footer__theme .theme-option{padding:4px 6px}}@media(max-width:480px){.app-footer__login-info{display:none}}.app-footer__version{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;letter-spacing:.04em;opacity:.7;white-space:nowrap}.app-footer__copyright{font-size:11px;letter-spacing:.02em;opacity:.75;white-space:nowrap;flex:0 0 auto}.app-footer__legal{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.02em;opacity:.75;white-space:nowrap;flex:0 0 auto}.app-footer__legal a{color:inherit;text-decoration:none}.app-footer__legal a:hover,.app-footer__legal a:focus-visible{text-decoration:underline}.app-footer__login-info{display:flex;align-items:center;gap:20px;flex-wrap:nowrap;overflow:hidden}.app-footer__login-item{display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-footer__dot{flex-shrink:0;width:6px;height:6px;border-radius:50%}.app-footer__dot--success{background:var(--color-success, #4caf50);box-shadow:0 0 4px var(--color-success, #4caf50)}.app-footer__dot--failure{background:var(--color-error, #f44336);box-shadow:0 0 4px var(--color-error, #f44336)}.app-footer__login-success{color:var(--color-text-muted, rgba(255, 255, 255, .5))}.app-footer__login-failure{color:var(--color-warning, #ff9800)}.app-footer__ip{opacity:.65;font-family:var(--font-mono, monospace);font-size:10px}.login-failure-alert-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:5000;padding:1rem;animation:lf-alert-fade-in .12s ease-out}@keyframes lf-alert-fade-in{0%{opacity:0}to{opacity:1}}.login-failure-alert{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg, 12px);box-shadow:var(--shadow-lg, 0 18px 48px rgba(0, 0, 0, .32));max-width:520px;width:100%;overflow:hidden;animation:lf-alert-pop-in .18s cubic-bezier(.2,.9,.4,1)}@keyframes lf-alert-pop-in{0%{transform:translateY(8px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.login-failure-alert__header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);background:var(--warning-bg, var(--bg-hover))}.login-failure-alert__header h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.login-failure-alert__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--warning-color);color:var(--text-light, #ffffff);font-weight:700;font-size:.95rem;flex:0 0 28px;box-shadow:0 0 0 3px var(--warning-bg, transparent)}.login-failure-alert__body{padding:1rem 1.25rem;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.login-failure-alert__body p{margin:0 0 .6rem}.login-failure-alert__body p:last-child{margin-bottom:0}.login-failure-alert__body strong{color:var(--text-primary)}.login-failure-alert__body em{color:var(--text-primary);font-style:italic}.login-failure-alert__body code{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-light);border-radius:4px;padding:.05rem .35rem;font-size:.85em}.login-failure-alert__hint{font-size:.82rem;color:var(--text-muted)}.login-failure-alert__actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.login-failure-alert__ack{background:var(--accent-color);color:var(--text-light, #ffffff);border:1px solid var(--accent-color);border-radius:var(--border-radius-sm, 8px);padding:.55rem 1rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:filter .12s ease,transform .12s ease}.login-failure-alert__ack:hover{filter:brightness(1.08)}.login-failure-alert__ack:active{transform:translateY(1px)}.login-failure-alert__ack:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}[data-theme=matrix] .login-failure-alert__icon,[data-theme=minimal-bw] .login-failure-alert__icon{color:var(--bg-primary)}.settings-page{max-width:640px;margin:32px auto;padding:0 16px;color:var(--text-primary)}.settings-title{font-size:1.5rem;font-weight:700;margin-bottom:24px}.settings-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:20px 24px;margin-bottom:20px}.settings-card-title{font-size:1rem;font-weight:600;margin:0 0 16px;color:var(--text-secondary)}.settings-row{display:flex;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid var(--border-color)}.settings-row:last-child{border-bottom:none}.settings-label{min-width:120px;font-size:.85rem;color:var(--text-muted);flex-shrink:0}.settings-value{font-size:.95rem}.settings-success{color:var(--success-color);background:var(--success-bg);border:1px solid var(--success-color);border-radius:6px;padding:8px 12px;margin-bottom:16px;font-size:.9rem}.tfa-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.8rem;font-weight:700;white-space:nowrap}.tfa-enabled{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-color)}.tfa-disabled{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border-color)}.settings-btn{padding:8px 18px;border-radius:6px;border:none;cursor:pointer;font-weight:600;font-size:.9rem;transition:opacity .15s}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn.primary{background:var(--primary-color);color:var(--button-text-color, #ffffff)}.settings-btn.primary:not(:disabled):hover{opacity:.85}.settings-btn.danger{background:var(--error-bg);color:var(--error-color);border:1px solid var(--error-color)}.settings-btn.danger:not(:disabled):hover{opacity:.85}.settings-btn.secondary{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-color)}.settings-btn.secondary:hover{background:var(--bg-secondary);border-color:var(--primary-color)}@media(max-width:768px){.settings-page{margin:16px auto;padding:0 12px}.settings-card{padding:14px 16px}.settings-row{flex-wrap:wrap;gap:8px}.settings-label{min-width:90px;font-size:.8rem}.settings-btn{padding:6px 14px;font-size:.82rem}}.bloch-spinner-wrapper{display:inline-block;line-height:0;width:var(--bloch-size, 48px);height:var(--bloch-size, 48px)}.bloch-spinner{width:100%;height:100%;display:block}.sphere-outline{stroke-linecap:round;stroke-linejoin:round;opacity:.95}.equator,.meridian{stroke-dasharray:0;opacity:.85}.orbit{transform-origin:50% 50%;animation:orbit-rotate var(--bloch-speed, 1.8s) linear infinite}.bloch-base{transform-origin:50% 50%;animation:base-tilt calc(var(--bloch-speed, 1.8s) * 2) ease-in-out infinite}.dot-group{transform-origin:center;animation:dot-pulse calc(var(--bloch-speed, 1.8s) / 2) ease-in-out infinite}.qubit-core{transform-box:fill-box;transform-origin:center}.qubit-glow{filter:blur(1px)}@keyframes orbit-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes base-tilt{0%{transform:rotateX(0) rotateY(0)}50%{transform:rotateX(6deg) rotateY(-6deg)}to{transform:rotateX(0) rotateY(0)}}@keyframes dot-pulse{0%{transform:scale(.92);opacity:.95}50%{transform:scale(1.15);opacity:1}to{transform:scale(.92);opacity:.95}}@media(prefers-reduced-motion:reduce){.orbit,.bloch-base,.dot-group{animation:none!important}}.bloch-spinner-fixed{position:fixed!important;bottom:110px!important;right:30px!important;z-index:999!important;background:transparent;border-radius:50%;padding:12px;box-shadow:0 0 20px #64d2ff80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:block!important;visibility:visible!important;opacity:1!important}.button-loading{position:relative;color:transparent!important;pointer-events:none;cursor:default}.button-loading:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px}.bloch-spinner-inline{width:20px;height:20px;vertical-align:middle;margin-right:8px;background:transparent!important;border:none!important}.inline-spinner{background:transparent!important;vertical-align:middle;border:none!important}.inline-spinner .bloch-spinner-wrapper{background:transparent!important;border:none!important}.loading-overlay{position:absolute;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10;border-radius:inherit}.loading-overlay .bloch-spinner-wrapper{margin-bottom:16px}.loading-overlay .loading-text{color:#666;font-size:.9rem;text-align:center;max-width:200px}.quantum-optimization-panel{background:var(--gradient-primary);border-radius:12px;padding:25px;margin:20px auto;max-width:1400px;color:var(--text-on-gradient);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color)}.panel-header{text-align:center;margin-bottom:30px}.panel-header.qop-header-split{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px;align-items:start;text-align:left}.qop-header-split .panel-header-text{display:flex;flex-direction:column;justify-content:center}.qop-header-split .panel-header-info{align-self:stretch}.qop-header-split .panel-header-info .info-panel{margin:0;max-height:420px;overflow-y:auto}@media(max-width:900px){.panel-header.qop-header-split{grid-template-columns:1fr}}.panel-header h3{font-size:28px;margin:0 0 10px;font-weight:700;background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.panel-header p{font-size:16px;opacity:.9;margin:0}.method-selection h4{font-size:20px;margin-bottom:20px;text-align:center;font-weight:600}.paradigm-filter{display:flex;justify-content:center;gap:8px;margin-bottom:20px;flex-wrap:wrap}.paradigm-pill{padding:6px 16px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.paradigm-pill:hover{border-color:var(--primary-color);color:var(--text-primary)}.paradigm-pill.active{background:var(--gradient-primary);color:var(--text-on-gradient);border-color:var(--primary-color);box-shadow:var(--shadow-sm)}[data-theme=matrix] .paradigm-pill{background:#000;color:#00ff41;border:1px solid #00ff41;border-radius:0}[data-theme=matrix] .paradigm-pill.active{background:#002b0a;box-shadow:0 0 8px #00ff4180}.platform-badge--classical{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-color)}[data-theme=matrix] .platform-badge--classical{background:#000;color:#00ff41;border-color:#00ff41}.method-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px;margin-bottom:25px}.method-card{background:#0000002e;border:2px solid rgba(255,255,255,.3);border-radius:10px;padding:20px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.method-card:hover{background:#00000014;transform:translateY(-2px);box-shadow:0 4px 20px #0003}.method-card.selected{background:#fff3;border-width:3px;box-shadow:0 0 20px #ffffff4d}.method-icon{font-size:32px;min-width:40px;text-align:center}.method-info h5{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-on-gradient);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.method-info p{margin:0;font-size:14px;color:var(--text-on-gradient);opacity:.9;line-height:1.4}.provider-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;background:#fff3;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease}.provider-icon{font-size:12px;display:inline-flex;align-items:center}.method-card.provider-ibm-quantum .provider-badge{background:linear-gradient(135deg,#0052ff4d,#1d6eff4d);border-color:#0052ff80;color:#fff;animation:ibm-pulse 2s ease-in-out infinite}@keyframes ibm-pulse{0%,to{box-shadow:0 0 5px #0052ff4d}50%{box-shadow:0 0 15px #0052ff99}}.method-card.provider-ibm-quantum:hover .provider-badge{background:linear-gradient(135deg,#0052ff80,#1d6eff80);box-shadow:0 0 20px #0052ffb3}.method-card.provider-d-wave .provider-badge{background:linear-gradient(135deg,#0984e34d,#74b9ff4d);border-color:#0984e380;color:#fff;animation:dwave-pulse 2s ease-in-out infinite}@keyframes dwave-pulse{0%,to{box-shadow:0 0 5px #0984e34d}50%{box-shadow:0 0 15px #74b9ff99}}.method-card.provider-d-wave:hover .provider-badge{background:linear-gradient(135deg,#0984e380,#74b9ff80);box-shadow:0 0 20px #74b9ffb3}.method-card.provider-hybrid .provider-badge{background:linear-gradient(135deg,#fdcb6e4d,#fd79a84d);border-color:#fdcb6e80;color:#fff}.method-card.provider-hybrid:hover .provider-badge{background:linear-gradient(135deg,#fdcb6e80,#fd79a880)}.method-card.provider-ionq .provider-badge{background:linear-gradient(135deg,#643cc84d,#a064ff4d);border-color:#643cc880;color:#fff;animation:ionq-pulse 2s ease-in-out infinite}@keyframes ionq-pulse{0%,to{box-shadow:0 0 5px #643cc84d}50%{box-shadow:0 0 15px #a064ff99}}.method-card.provider-ionq:hover .provider-badge{background:linear-gradient(135deg,#643cc880,#a064ff80);box-shadow:0 0 20px #643cc8b3}.method-card.provider-google-cirq .provider-badge{background:linear-gradient(135deg,#ea43354d,#4285f44d);border-color:#ea433580;color:#fff;animation:cirq-pulse 2s ease-in-out infinite}@keyframes cirq-pulse{0%,to{box-shadow:0 0 5px #ea43354d}50%{box-shadow:0 0 15px #4285f499}}.method-card.provider-google-cirq:hover .provider-badge{background:linear-gradient(135deg,#ea433580,#4285f480);box-shadow:0 0 20px #4285f4b3}.method-card.provider-multi-method .provider-badge{background:linear-gradient(135deg,#6c5ce74d,#fd79a84d);border-color:#6c5ce780;color:#fff;animation:multi-pulse 2s ease-in-out infinite}@keyframes multi-pulse{0%,to{box-shadow:0 0 5px #6c5ce74d}50%{box-shadow:0 0 15px #fd79a899}}.method-card.provider-multi-method:hover .provider-badge{background:linear-gradient(135deg,#6c5ce780,#fd79a880);box-shadow:0 0 20px #6c5ce7b3}.method-platform-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}.platform-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 9px;border-radius:10px;font-size:10.5px;font-weight:600;letter-spacing:.01em;border:1px solid transparent;white-space:nowrap}.platform-badge--ibm{background:#0052ff2e;border-color:#0052ff73;color:#7eb3ff}.platform-badge--dwave{background:#0984e32e;border-color:#0984e373;color:#7dd3fc}.platform-badge--google{background:#ea43352e;border-color:#ea433573;color:#fca5a5}.platform-badge--ionq{background:#7b2ff72e;border-color:#7b2ff773;color:#c4b5fd}.platform-badge--classical,.platform-badge--standard-only{background:#64748b26;border-color:#64748b4d;color:#94a3b8}[data-theme=light-colorful] .platform-badge--ibm{background:#0052ff1a;border-color:#0052ff59;color:#1e40af}[data-theme=light-colorful] .platform-badge--dwave{background:#0984e31a;border-color:#0984e359;color:#0369a1}[data-theme=light-colorful] .platform-badge--google{background:#dc26261a;border-color:#dc262659;color:#b91c1c}[data-theme=light-colorful] .platform-badge--ionq{background:#6d28d91a;border-color:#6d28d959;color:#6d28d9}[data-theme=light-colorful] .platform-badge--standard-only{background:#47556914;border-color:#47556940;color:#475569}.method-card.selected.provider-ibm-quantum{box-shadow:0 0 30px #0052ff80;border-width:3px}.method-card.selected.provider-d-wave{box-shadow:0 0 30px #74b9ff80;border-width:3px}.config-toggle{text-align:center;margin:20px 0}.toggle-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:25px;color:#fff;padding:10px 20px;font-size:14px;cursor:pointer;transition:all .3s ease}.toggle-btn:hover{background:#ffffff4d;transform:scale(1.05)}.cardinality-config{background:#6c5ce733;border:2px solid rgba(108,92,231,.5);border-radius:12px;padding:20px;margin:20px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cardinality-config h4{margin:0 0 15px;font-size:18px;font-weight:600;color:#fff}.cardinality-config .config-item{margin-bottom:10px}.cardinality-config label{display:block;margin-bottom:8px;font-weight:500;color:#fffffff2}.cardinality-config .help-text{display:block;font-size:12px;font-weight:400;color:#ffffffb3;margin-top:4px}.max-assets-input{width:100%;padding:10px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;font-size:16px;transition:all .3s ease}.max-assets-input:focus{outline:none;background:#ffffff40;border-color:#6c5ce7cc;box-shadow:0 0 10px #6c5ce780}.max-assets-input::placeholder{color:#ffffff80}.constraint-info{margin-top:8px;padding:8px 12px;background:#00b89433;border-left:3px solid rgba(0,184,148,.8);border-radius:4px;font-size:13px;color:#ffffffe6}.advanced-config{background:#ffffff1a;border-radius:10px;padding:20px;margin:20px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.method-config h4{margin:0 0 20px;font-size:18px;font-weight:600;text-align:center}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.config-item{display:flex;flex-direction:column;gap:5px}.config-item.checkbox-item{flex-direction:row;align-items:center;gap:10px}.config-item label{font-size:14px;font-weight:500;color:#ffffffe6}.config-item input[type=number],.config-item select{padding:8px 12px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff1a;color:#fff;font-size:14px;transition:all .3s ease}.config-item input[type=number]:focus,.config-item select:focus{outline:none;border-color:#fff9;background:#ffffff26;box-shadow:0 0 0 2px #ffffff1a}.config-item input[type=checkbox]{width:18px;height:18px;accent-color:rgba(255,255,255,.8)}.config-item select option{background:var(--bg-secondary);color:var(--text-primary)}.optimization-actions{text-align:center;margin:30px 0 20px}.quantum-optimize-btn{background:var(--gradient-primary);border:none;border-radius:30px;color:var(--text-on-gradient);padding:15px 40px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-lg);display:inline-flex;align-items:center;gap:10px}.quantum-optimize-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.quantum-optimize-btn:disabled{cursor:not-allowed;opacity:.6}.inline-spinner{margin-right:5px}.info-panel{background:#ffffff1a;border-radius:10px;padding:20px;margin-top:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.info-panel h4{margin:0 0 15px;font-size:18px;font-weight:600}.method-details h5{margin:0 0 10px;font-size:16px;font-weight:600;color:#fffffff2}.method-details p{margin:0 0 15px;font-size:14px;line-height:1.5;opacity:.9}.method-specifics h6{margin:15px 0 10px;font-size:14px;font-weight:600;color:#ffffffe6}.method-specifics ul{margin:0;padding-left:20px}.method-specifics li{font-size:13px;line-height:1.4;margin-bottom:5px;opacity:.85}@media(max-width:768px){.quantum-optimization-panel{padding:20px 15px;margin:15px 0}.method-cards,.config-grid{grid-template-columns:1fr}.panel-header h3{font-size:24px}.quantum-optimize-btn{padding:12px 25px;font-size:14px}}@media(max-width:480px){.method-card{flex-direction:column;text-align:center;gap:10px}.method-icon{font-size:28px}}[data-theme=light-colorful] .method-card{background:#ffffffeb;color:var(--text-primary)}[data-theme=light-colorful] .method-card:hover{background:#fff;box-shadow:0 4px 20px #667eea40}[data-theme=light-colorful] .method-card.selected{background:#fff;box-shadow:0 0 0 3px var(--primary-color),0 4px 20px #667eea4d}[data-theme=light-colorful] .method-info h5{color:var(--text-primary)}[data-theme=light-colorful] .method-info p{color:var(--text-secondary);opacity:1}[data-theme=light-colorful] .method-selection h4{color:var(--text-on-gradient)}[data-theme=light-colorful] .cardinality-config{background:#ffffffd9;border-color:var(--primary-color)}[data-theme=light-colorful] .cardinality-config h4,[data-theme=light-colorful] .cardinality-config label{color:var(--text-primary)}[data-theme=light-colorful] .cardinality-config .help-text{color:var(--text-muted)}[data-theme=light-colorful] .max-assets-input{background:#fff;border-color:var(--border-color);color:var(--text-primary)}[data-theme=light-colorful] .max-assets-input::placeholder{color:var(--text-muted)}[data-theme=light-colorful] .max-assets-input:focus{border-color:var(--primary-color);background:#fff}[data-theme=light-colorful] .constraint-info{color:var(--text-secondary);background:#667eea14}[data-theme=light-colorful] .advanced-config{background:#ffffffd9;border-color:var(--border-color)}[data-theme=light-colorful] .method-config h4{color:var(--text-primary)}[data-theme=light-colorful] .config-item label{color:var(--text-secondary)}[data-theme=light-colorful] .config-item input[type=number],[data-theme=light-colorful] .config-item select{background:#fff;border-color:var(--border-color);color:var(--text-primary)}[data-theme=light-colorful] .config-item input[type=number]:focus,[data-theme=light-colorful] .config-item select:focus{border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 2px #667eea26}[data-theme=light-colorful] .toggle-btn{background:#ffffffd9;border-color:var(--border-color);color:var(--text-primary)}[data-theme=light-colorful] .toggle-btn:hover{background:#fff;border-color:var(--primary-color)}[data-theme=light-colorful] .info-panel{background:#ffffffd9;border-color:var(--border-color)}[data-theme=light-colorful] .info-panel h4,[data-theme=light-colorful] .method-details h5{color:var(--text-primary)}[data-theme=light-colorful] .method-details p{color:var(--text-secondary);opacity:1}[data-theme=light-colorful] .method-specifics h6{color:var(--text-secondary)}[data-theme=light-colorful] .method-specifics li{color:var(--text-secondary);opacity:1}[data-theme=light-colorful] .provider-badge{background:#667eead1;border-color:#667eeaf2;color:#fff}[data-theme=light-colorful] .method-card.provider-ibm-quantum .provider-badge{background:linear-gradient(135deg,#0052ffe0,#1d6effe0);border-color:#0052fff2;color:#fff}[data-theme=light-colorful] .method-card.provider-d-wave .provider-badge{background:linear-gradient(135deg,#0984e3e0,#0064c8e0);border-color:#0984e3f2;color:#fff}[data-theme=light-colorful] .method-card.provider-ionq .provider-badge{background:linear-gradient(135deg,#643cc8e0,#8250e6e0);border-color:#643cc8f2;color:#fff}[data-theme=light-colorful] .method-card.provider-google-cirq .provider-badge{background:linear-gradient(135deg,#ea4335e0,#4285f4e0);border-color:#ea4335f2;color:#fff}[data-theme=light-colorful] .method-card.provider-multi-method .provider-badge{background:linear-gradient(135deg,#6c5ce7e0,#c850a0e0);border-color:#6c5ce7f2;color:#fff}[data-theme=light-colorful] .method-card.provider-hybrid .provider-badge{background:linear-gradient(135deg,#c8961ee0,#c85078e0);border-color:#c8961ef2;color:#fff}[data-theme=dark-blue] .quantum-optimize-btn{background:var(--button-primary-bg)!important;color:var(--button-text-color)!important}[data-theme=dark-blue] .quantum-optimize-btn:hover:not(:disabled){background:var(--button-primary-hover)!important;box-shadow:0 6px 20px #3b82f64d}[data-theme=minimal-bw] .quantum-optimize-btn{background:var(--button-primary-bg)!important;color:var(--button-text-color)!important}[data-theme=minimal-bw] .quantum-optimize-btn:hover:not(:disabled){background:var(--button-primary-hover)!important;box-shadow:none}[data-theme=matrix] .quantum-optimize-btn{background:#000!important;color:#00ff41!important;border:1px solid #00ff41!important;box-shadow:0 0 8px #00ff4159}[data-theme=matrix] .quantum-optimize-btn:hover:not(:disabled){background:#002b0a!important;box-shadow:0 0 14px #00ff4199}[data-theme=matrix] .quantum-optimize-btn:disabled{background:#000!important;color:#008f11!important;border-color:#008f11!important}[data-theme=dark-blue] .cardinality-config{background:#3b82f614;border-color:#3b82f666}[data-theme=dark-blue] .cardinality-config h4,[data-theme=dark-blue] .cardinality-config label{color:var(--text-primary)}[data-theme=dark-blue] .cardinality-config .help-text{color:var(--text-muted)}[data-theme=dark-blue] .max-assets-input{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark-blue] .max-assets-input::placeholder{color:var(--text-muted)}[data-theme=dark-blue] .max-assets-input:focus{border-color:var(--primary-color);background:var(--bg-secondary);box-shadow:0 0 0 2px #3b82f633}[data-theme=dark-blue] .constraint-info{background:#3b82f61a;border-left-color:var(--primary-color);color:var(--text-secondary)}[data-theme=dark-blue] .advanced-config{background:#3b82f60d;border-color:var(--border-color)}[data-theme=dark-blue] .config-item label{color:var(--text-secondary)}[data-theme=dark-blue] .config-item input[type=number],[data-theme=dark-blue] .config-item select{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark-blue] .config-item input[type=number]:focus,[data-theme=dark-blue] .config-item select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f633}[data-theme=dark-blue] .toggle-btn{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark-blue] .toggle-btn:hover{border-color:var(--primary-color)}[data-theme=dark-blue] .info-panel{background:#3b82f60f;border-color:var(--border-color)}[data-theme=dark-blue] .info-panel h4,[data-theme=dark-blue] .method-details h5,[data-theme=dark-blue] .method-specifics h6{color:var(--text-primary)}[data-theme=dark-blue] .method-details p,[data-theme=dark-blue] .method-specifics li{color:var(--text-secondary);opacity:1}[data-theme=dark-blue] .method-config h4{color:var(--text-primary)}[data-theme=minimal-bw] .cardinality-config{background:var(--bg-hover);border-color:var(--border-light)}[data-theme=minimal-bw] .cardinality-config h4,[data-theme=minimal-bw] .cardinality-config label{color:var(--text-primary)}[data-theme=minimal-bw] .cardinality-config .help-text{color:var(--text-muted)}[data-theme=minimal-bw] .max-assets-input{background:var(--bg-secondary);border-color:var(--border-light);color:var(--text-primary)}[data-theme=minimal-bw] .max-assets-input::placeholder{color:var(--text-muted)}[data-theme=minimal-bw] .max-assets-input:focus{border-color:var(--border-color);background:var(--bg-hover);box-shadow:none}[data-theme=minimal-bw] .constraint-info{background:var(--bg-hover);border-left-color:var(--border-color);color:var(--text-secondary)}[data-theme=minimal-bw] .advanced-config{background:var(--bg-hover);border-color:var(--border-light)}[data-theme=minimal-bw] .config-item label{color:var(--text-secondary)}[data-theme=minimal-bw] .config-item input[type=number],[data-theme=minimal-bw] .config-item select{background:var(--bg-secondary);border-color:var(--border-light);color:var(--text-primary)}[data-theme=minimal-bw] .config-item input[type=number]:focus,[data-theme=minimal-bw] .config-item select:focus{border-color:var(--border-color);box-shadow:none}[data-theme=minimal-bw] .toggle-btn{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}[data-theme=minimal-bw] .toggle-btn:hover{border-color:var(--border-color);background:var(--bg-secondary)}[data-theme=minimal-bw] .info-panel{background:var(--bg-hover);border-color:var(--border-light)}[data-theme=minimal-bw] .info-panel h4,[data-theme=minimal-bw] .method-details h5,[data-theme=minimal-bw] .method-specifics h6{color:var(--text-primary)}[data-theme=minimal-bw] .method-details p,[data-theme=minimal-bw] .method-specifics li{color:var(--text-secondary);opacity:1}[data-theme=minimal-bw] .method-config h4{color:var(--text-primary)}.execution-backend-section{margin:1rem 0;padding:1rem 1.25rem;background:var(--bg-secondary, rgba(255,255,255,.04));border:1px solid var(--border-color, #333);border-radius:.5rem}.execution-backend-section h4{margin:0 0 .25rem;font-size:.9rem;font-weight:600;color:var(--text-primary)}.execution-backend-section .section-hint{margin:0 0 .75rem;font-size:.78rem;color:var(--text-secondary, #888);line-height:1.4}.backend-toggle{display:flex;gap:.5rem;margin-bottom:.75rem}.backend-btn{padding:.4rem 1rem;border-radius:.4rem;border:1.5px solid var(--border-color, #444);background:transparent;color:var(--text-secondary, #aaa);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.backend-btn.active{background:var(--primary-color, #4f46e5);border-color:var(--primary-color, #4f46e5);color:#fff}.backend-btn:disabled{opacity:.4;cursor:not-allowed}.qap-target-config{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color, #333)}.qap-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.qap-label{font-size:.78rem;font-weight:600;color:var(--text-secondary, #888);white-space:nowrap;min-width:110px}.qap-platform-pills{display:flex;gap:.4rem;flex-wrap:wrap}.platform-pill{padding:.3rem .75rem;border-radius:2rem;border:1.5px solid var(--border-color, #444);background:transparent;color:var(--text-secondary, #aaa);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.platform-pill.active{background:var(--accent-color, #6366f1);border-color:var(--accent-color, #6366f1);color:#fff}[data-theme=minimal-bw] .platform-pill.active,[data-theme=minimal-bw] .paradigm-pill.active{background:#fff;border-color:#fff;color:#000}.qap-status{margin-top:.5rem;padding:.6rem .85rem;border-radius:.4rem;font-size:.82rem;display:flex;align-items:flex-start;gap:.5rem;flex-direction:column}.qap-status--running{background:#6366f11f;color:#a5b4fc;flex-direction:row;align-items:center}.qap-status--error{background:#ef44441f;color:#fca5a5}.qap-status--done{background:#22c55e1a;color:#86efac}.qap-result-grid{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:.4rem;font-size:.78rem}.qap-weights{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem;width:100%}.qap-weight-chip{padding:.15rem .55rem;border-radius:1rem;background:#ffffff14;font-size:.75rem;font-weight:600;color:var(--text-primary)}.rerun-lineage-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:8px 0 12px;border-radius:8px;background:#eab3081a;border:1px solid rgba(234,179,8,.45)}.rerun-lineage-icon{font-size:18px}.rerun-lineage-text{flex:1;min-width:0;font-size:13px}.rerun-lineage-text code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}.rerun-lineage-stocks{margin-top:4px;font-size:11.5px;opacity:.85}.rerun-lineage-clear{background:transparent;color:inherit;border:1px solid currentColor;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}.rerun-lineage-clear:hover{background:#00000014}.unified-results-display{background:var(--bg-card);border-radius:15px;padding:30px;margin:25px auto;color:var(--text-primary);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:100%;max-width:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.unified-results-display .results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.unified-results-display .results-header h3{font-size:28px;margin:0;font-weight:700;color:var(--text-primary);letter-spacing:.3px}.unified-results-display .method-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-sm);color:#fff;font-weight:600;font-size:13px;letter-spacing:.3px}.unified-results-display .method-badge .method-icon{font-size:16px}.unified-results-display .method-badge .method-label{color:inherit;font-weight:inherit;font-size:inherit}.unified-results-display .method-badge.error-badge{background:var(--error-color)!important;border-color:var(--error-color)}.unified-results-display .results-tabs{display:flex;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:10px;padding:5px;margin-bottom:25px;overflow-x:auto;gap:5px}.unified-results-display .tab-btn{background:transparent;border:none;color:var(--text-muted);padding:10px 18px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:14px;white-space:nowrap;flex-shrink:0}.unified-results-display .tab-btn:hover{background:var(--bg-card);color:var(--text-primary)}.unified-results-display .tab-btn.active{background:var(--bg-card);color:var(--accent-color);font-weight:600;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.unified-results-display .results-content{min-height:400px}.unified-results-display .results-grid{display:flex;flex-direction:row;gap:20px;align-items:flex-start}.unified-results-display .results-grid.timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.unified-results-display .result-card{background:var(--bg-secondary);border-radius:12px;padding:25px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all .2s ease;animation:fadeIn .5s ease}.unified-results-display .result-card:nth-child(2){animation-delay:.1s}.unified-results-display .result-card:nth-child(3){animation-delay:.2s}.unified-results-display .result-card:nth-child(4){animation-delay:.3s}.unified-results-display .result-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-light)}.unified-results-display .result-card h4{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 20px;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.unified-results-display .chart-card{flex:3 1 200px;min-width:0;min-height:380px}.unified-results-display .chart-container{height:350px;width:100%;position:relative}@media(min-width:1400px){.unified-results-display .chart-container{height:400px}}.unified-results-display .weights-card{flex:2 1 200px;min-width:200px;overflow-y:auto;max-height:400px}.unified-results-display .weights-list{display:flex;flex-direction:column;gap:10px}.unified-results-display .weight-row{display:grid;grid-template-columns:90px 1fr 75px;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.unified-results-display .weight-row:hover{background:var(--bg-card);border-color:var(--border-light);transform:translate(3px)}.unified-results-display .weight-row.compact{grid-template-columns:1fr auto;gap:6px;padding:6px}.unified-results-display .asset-symbol{color:var(--text-primary);font-weight:600;font-size:13px}.unified-results-display .weight-bar-container{position:relative;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.unified-results-display .weight-bar{height:100%;background:linear-gradient(90deg,var(--method-color, var(--accent-color)) 0%,var(--primary-light) 100%);border-radius:3px;transition:width .5s ease}.unified-results-display .weight-percentage{color:var(--text-secondary);font-weight:600;font-size:13px;text-align:right}.unified-results-display .metrics-card,.unified-results-display .method-details-card,.unified-results-display .quantum-metrics-card{background:var(--bg-secondary)}.unified-results-display .metrics-list{display:flex;flex-direction:column;gap:10px}.unified-results-display .metric-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;background:var(--bg-hover);border-radius:8px;border:1px solid var(--border-color);border-left:3px solid var(--border-light);transition:all .2s ease}.unified-results-display .metric-row:hover{background:var(--bg-card);border-left-color:var(--accent-color);transform:translate(3px)}.unified-results-display .metric-row.quantum-metric{border-left-color:var(--accent-color)}[data-theme] .unified-results-display .metric-label{flex:0 0 auto;font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;text-shadow:none;font-family:inherit}[data-theme] .unified-results-display .metric-value{flex:1 1 auto;min-width:0;font-size:15px;font-weight:600;color:var(--text-primary);text-align:right;word-break:break-word;line-height:1.3;text-shadow:none;font-family:inherit}.unified-results-display .period-card{background:var(--bg-secondary);min-height:200px}.unified-results-display .period-card h4{font-size:16px;margin-bottom:15px;border-bottom:1px solid var(--border-color);padding-bottom:10px;color:var(--text-primary)}.unified-results-display.error{max-width:800px}.unified-results-display .error-card{background:var(--error-bg);border-color:var(--error-color)}.unified-results-display .error-message{color:var(--error-color);font-size:14px;line-height:1.6;margin:0}@media(max-width:900px){.unified-results-display .results-grid{flex-direction:column}.results-header{flex-direction:column;align-items:flex-start;gap:15px}.unified-results-display .chart-card{min-height:320px}.unified-results-display .chart-container{height:300px}}@media(max-width:768px){.results-header h3{font-size:22px}.weight-row{grid-template-columns:80px 1fr 70px;gap:8px}.unified-results-display .chart-card{min-height:320px}.unified-results-display .chart-container{height:240px}.tab-btn{padding:10px 16px;font-size:13px}}.unified-results-display .weights-card::-webkit-scrollbar{width:8px}.unified-results-display .weights-card::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:10px}.unified-results-display .weights-card::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:10px}.unified-results-display .weights-card::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}@media print{.unified-results-display{background:#fff;color:#000}.result-card{break-inside:avoid;page-break-inside:avoid;background:#fff;border:1px solid #ddd}.results-tabs{display:none}}.unified-results-display .budget-allocation-card{grid-column:span 2;background:var(--warning-bg);border:1px solid var(--warning-color)}.unified-results-display .budget-allocation-card h4{color:var(--warning-color);margin-bottom:20px}.unified-results-display .budget-summary{background:var(--bg-card);border-radius:10px;padding:15px;margin-bottom:20px;border:1px solid var(--border-color)}.unified-results-display .budget-header-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color)}.unified-results-display .budget-header-row:last-child{border-bottom:none}.unified-results-display .budget-label{color:var(--text-muted);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.4px}.unified-results-display .budget-value{color:var(--text-primary);font-size:16px;font-weight:700}.unified-results-display .budget-value.positive{color:var(--success-color)}.unified-results-display .budget-positions{margin-top:20px;max-height:500px;overflow-y:auto;overflow-x:hidden;padding-right:5px}.unified-results-display .budget-positions::-webkit-scrollbar{width:8px}.unified-results-display .budget-positions::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:10px}.unified-results-display .budget-positions::-webkit-scrollbar-thumb{background:var(--warning-color);border-radius:10px;opacity:.5}.unified-results-display .budget-positions::-webkit-scrollbar-thumb:hover{background:var(--warning-color)}.unified-results-display .budget-positions h5{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid var(--warning-color);position:sticky;top:0;background:inherit;z-index:1}.unified-results-display .budget-position-row{background:var(--bg-card);border-radius:8px;padding:12px;margin-bottom:8px;border:1px solid var(--border-color);transition:all .2s ease}.unified-results-display .budget-position-row:hover{background:var(--bg-secondary);transform:translate(3px);border-left:3px solid var(--warning-color)}.unified-results-display .position-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.unified-results-display .position-symbol{color:var(--warning-color);font-size:14px;font-weight:700}.unified-results-display .position-weight{color:var(--text-primary);font-size:12px;font-weight:600;background:var(--warning-bg);border:1px solid var(--warning-color);padding:2px 10px;border-radius:10px}.unified-results-display .position-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.unified-results-display .position-detail{display:flex;flex-direction:column;gap:3px}.unified-results-display .detail-label{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.unified-results-display .detail-value{color:var(--text-primary);font-size:13px;font-weight:600}.unified-results-display .detail-value.total-value{color:var(--success-color);font-size:14px}@media(max-width:1024px){.budget-allocation-card{grid-column:span 1}.position-details{grid-template-columns:1fr;gap:8px}.position-detail{flex-direction:row;justify-content:space-between}}@media(max-width:768px){.budget-header-row{padding:6px 0}.budget-label{font-size:12px}.budget-value,.position-symbol{font-size:14px}.position-weight{font-size:12px;padding:3px 10px}}.job-history-container{padding:20px;max-width:1400px;margin:0 auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg-primary);color:var(--text-primary)}.job-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.job-history-header h2{margin:0;font-size:28px;color:var(--text-primary);display:flex;align-items:center;gap:12px}.data-source-badge{font-size:12px;padding:4px 12px;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.header-actions{display:flex;gap:12px}.btn-refresh,.btn-clear{padding:10px 20px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-refresh{background:var(--gradient-primary);color:var(--text-on-gradient);border-color:transparent}.btn-refresh:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-clear{background:transparent;color:var(--color-error);border-color:var(--color-error)}.btn-clear:hover:not(:disabled){background:var(--color-error);color:var(--text-on-gradient);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-refresh:disabled,.btn-clear:disabled{opacity:.5;cursor:not-allowed}[data-theme=matrix] .btn-refresh,[data-theme=matrix] .btn-clear{border-radius:0;background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}[data-theme=matrix] .btn-refresh:hover:not(:disabled),[data-theme=matrix] .btn-clear:hover:not(:disabled){background:var(--primary-color);color:#000;box-shadow:0 0 12px var(--primary-color)}.filter-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-input{flex:2;min-width:250px;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--border-radius-md);font-size:14px;background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color .3s ease}.search-input:focus{outline:none;border-color:var(--primary-color)}.filter-select{flex:1;min-width:150px;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--border-radius-md);font-size:14px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:border-color .3s ease}.filter-select:focus{outline:none;border-color:var(--primary-color)}.error-message{padding:16px;background:#ffebee;border-left:4px solid #f44336;border-radius:4px;color:#c62828;margin-bottom:20px}.loading-spinner-row{display:flex;align-items:center;gap:10px;padding:30px 20px;color:var(--text-muted);font-size:15px}.loading-spinner{text-align:center;padding:40px;font-size:16px;color:#666}.empty-state{text-align:center;padding:60px 20px;color:#999;font-size:16px}.job-table-container{overflow-x:auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);margin-bottom:20px}.job-table{width:100%;border-collapse:collapse}.job-table thead{background:var(--bg-secondary);color:var(--text-primary);border-bottom:2px solid var(--border-color)}.job-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.job-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color .2s ease}.job-row{cursor:pointer}.job-row:hover{background:var(--bg-hover)}.job-table td{padding:6px 12px;font-size:12.5px;color:var(--text-primary)}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-light)}.status-badge-success{background:var(--success-bg);color:var(--success-color);border-color:var(--success-color)}.status-badge-warning{background:var(--warning-bg);color:var(--warning-color);border-color:var(--warning-color)}.status-badge-error{background:var(--error-bg);color:var(--error-color);border-color:var(--error-color)}.status-badge-cancelled{background:var(--bg-hover);color:var(--text-muted);border-color:var(--border-light)}.status-badge-default{background:var(--bg-hover);color:var(--text-secondary);border-color:var(--border-light)}.method-badge,.platform-badge,.mode-badge{display:inline-block;margin-left:6px;padding:3px 9px;border-radius:6px;font-size:11px;font-weight:600;font-family:inherit;letter-spacing:0;text-transform:none;vertical-align:middle;cursor:default;background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-light)}.method-badge{margin-left:0;color:var(--text-primary)}.load-test-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-color);vertical-align:middle;cursor:default}.stocks-list{font-size:13px;color:var(--text-secondary)}.btn-view-details{padding:8px 16px;background:var(--gradient-primary);color:var(--text-on-gradient);border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-view-details:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}[data-theme=matrix] .btn-view-details{border-radius:0;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}[data-theme=matrix] .btn-view-details:hover{background:var(--primary-color);color:#000;box-shadow:0 0 10px var(--primary-color)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.btn-page{padding:10px 20px;background:var(--bg-card);border:2px solid var(--primary-color);border-radius:6px;color:var(--primary-color);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-page:hover:not(:disabled){background:var(--primary-color);color:var(--text-on-gradient);transform:translateY(-2px)}.btn-page:disabled{opacity:.4;cursor:not-allowed}.page-info{font-size:14px;color:var(--text-secondary);font-weight:500}[data-theme=matrix] .btn-page{border-radius:0;background:transparent}[data-theme=matrix] .btn-page:hover:not(:disabled){background:var(--primary-color);color:#000;box-shadow:0 0 10px var(--primary-color)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius-xl);width:clamp(900px,80vw,1600px);max-width:95vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);resize:horizontal}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-primary)}.modal-header h3{margin:0;font-size:24px}.btn-close{background:var(--bg-hover);border:1px solid var(--border-color);color:var(--text-primary);font-size:24px;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:background .3s ease;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.btn-close:hover{background:var(--bg-primary)}.modal-header-actions{display:flex;align-items:center;gap:10px}.btn-publish{background:var(--primary-color, #3b82f6);color:#fff;border:1px solid var(--primary-color, #3b82f6);font-size:13px;font-weight:600;padding:8px 14px;border-radius:var(--border-radius-sm, 6px);cursor:pointer;transition:background .15s ease,transform .1s ease}.btn-publish:hover{background:#2563eb;border-color:#2563eb}.btn-publish:active{transform:translateY(1px)}[data-theme=minimal-bw] .btn-publish{background:#000;color:#fff;border-color:#fff}[data-theme=minimal-bw] .btn-publish:hover{background:#fff;color:#000;border-color:#fff}[data-theme=matrix] .btn-publish{background:#000;color:#00ff41;border-color:#00ff41}[data-theme=matrix] .btn-publish:hover{background:#00ff41;color:#000;border-color:#00ff41}.btn-rerun{background:transparent;color:var(--primary-color, #3b82f6);border:1px solid var(--primary-color, #3b82f6);font-size:13px;font-weight:600;padding:8px 14px;border-radius:var(--border-radius-sm, 6px);cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease}.btn-rerun:hover{background:var(--primary-color, #3b82f6);color:#fff}.btn-rerun:active{transform:translateY(1px)}.lifecycle-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.4}.lifecycle-production{background:#22c55e26;color:#16a34a;border:1px solid rgba(34,197,94,.4)}.lifecycle-sandbox{background:#eab30826;color:#b45309;border:1px solid rgba(234,179,8,.4)}.lifecycle-archived{background:#6b728026;color:#6b7280;border:1px solid rgba(107,114,128,.4)}.lifecycle-lineage{margin-left:4px;font-size:11px}.link-button{background:none;border:none;padding:0;color:var(--primary-color, #3b82f6);text-decoration:underline;cursor:pointer;font:inherit}.link-button:hover{color:#2563eb}.modal-body{padding:32px;overflow-y:auto}.detail-section{margin-bottom:32px}.detail-section h4{margin:0 0 16px;font-size:18px;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:8px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:14px;color:var(--text-primary);font-weight:500}.stocks-chips{display:flex;flex-wrap:wrap;gap:8px}.stock-chip{display:inline-block;padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:20px;font-size:13px;font-weight:600}.steps-timeline{display:flex;flex-direction:column;gap:16px}.step-item{background:var(--bg-secondary);border-left:4px solid var(--primary-color);border-radius:var(--border-radius-md);padding:16px;transition:all .3s ease}.step-item:hover{box-shadow:var(--shadow-sm);transform:translate(4px)}.step-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.step-number{background:var(--primary-color);color:var(--text-light);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.step-name{font-weight:600;font-size:15px;color:var(--text-primary);font-family:Courier New,monospace}.step-status-text{font-size:13px;color:var(--text-secondary);font-weight:500}.step-duration{margin-left:auto;font-size:13px;color:var(--text-secondary);font-weight:500}.step-description{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.step-details{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);padding:12px;overflow-x:hidden;max-width:100%}.detail-row{display:flex;gap:8px;margin-bottom:6px;font-size:13px;align-items:flex-start;flex-wrap:wrap}.detail-key{font-weight:600;color:var(--text-secondary);min-width:150px}.detail-val{color:var(--text-primary);font-family:Courier New,monospace;word-wrap:break-word;word-break:break-all;overflow-wrap:break-word;white-space:pre-wrap;flex:1;max-width:100%}.step-artifacts{display:flex;flex-direction:column;gap:12px;margin-top:12px}.step-artifact{border:1px solid var(--border-light);border-radius:var(--border-radius-sm);background:var(--bg-secondary);overflow:hidden}.step-artifact-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-light);background:var(--bg-primary)}.artifact-title{font-weight:600;font-size:13px;color:var(--text-primary);flex:1}.artifact-stage,.artifact-kind{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:10px;border:1px solid var(--border-light)}.artifact-stage--pre{background:#eef6ff;color:#2855a8;border-color:#c7dbf5}.artifact-stage--process{background:#fff7e6;color:#b06700;border-color:#ffd591}.artifact-stage--post{background:#eaf7ec;color:#1f7a3a;border-color:#b7e4c0}.artifact-kind{background:var(--bg-secondary);color:var(--text-secondary)}.step-artifact-body{padding:12px}.artifact-chart-wrap{position:relative;height:260px;width:100%}.artifact-img{max-width:100%;height:auto;display:block;border-radius:var(--border-radius-sm)}.artifact-link a{color:var(--primary-color);text-decoration:underline;font-size:13px}.artifact-error{font-size:12px;color:var(--warning-color);background:var(--warning-bg, #fff8e1);border:1px dashed var(--warning-color);padding:8px 12px;border-radius:var(--border-radius-sm)}.artifact-fallback{font-size:12px;color:var(--text-secondary);font-style:italic}.artifact-meta{margin-top:8px;font-size:12px;color:var(--text-secondary)}.artifact-meta pre{background:var(--bg-primary);padding:8px;border-radius:var(--border-radius-sm);margin-top:4px;overflow-x:auto}.artifact-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;justify-content:flex-end}.artifact-tool-btn{font-size:11px;font-weight:600;padding:4px 10px;border-radius:var(--border-radius-sm);border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.artifact-tool-btn:hover{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.artifact-tool-btn:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.artifact-fs-overlay{position:fixed;inset:0;background:#0f172ab8;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.artifact-fs-modal{background:var(--bg-secondary, #ffffff);border-radius:var(--border-radius-md, 8px);box-shadow:0 20px 60px #00000073;width:min(1200px,95vw);height:min(800px,92vh);display:flex;flex-direction:column;overflow:hidden}.artifact-fs-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-light);background:var(--bg-primary)}.artifact-fs-title{font-weight:600;font-size:14px;color:var(--text-primary)}.artifact-fs-body{flex:1;padding:16px;min-height:0;display:flex;flex-direction:column}.artifact-chart-wrap--fs{flex:1;height:auto!important;min-height:0}.error-section{background:#fff5f5;border:2px solid #fc8181;border-radius:8px;padding:16px}.error-text{color:#c53030;font-family:Courier New,monospace;font-size:13px;white-space:pre-wrap;word-wrap:break-word;margin:0}.result-preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:16px;max-height:300px;overflow-y:auto}.result-preview pre{margin:0;font-family:Courier New,monospace;font-size:13px;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:12px}.metric-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center}.metric-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.metric-value{font-size:24px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.python-logs{background:#0d1117;border:1px solid var(--border-color);border-radius:6px;padding:16px;max-height:400px;overflow-y:auto;margin-top:12px}.python-logs pre{margin:0;font-family:Courier New,monospace;font-size:13px;line-height:1.5;color:#c9d1d9;white-space:pre-wrap;word-wrap:break-word}@media(max-width:768px){.job-history-header{flex-direction:column;align-items:flex-start;gap:12px}.filter-bar{flex-direction:column}.search-input,.filter-select{width:100%}.job-table-container{overflow-x:scroll}.modal-content{max-width:95%;max-height:95vh}.detail-grid{grid-template-columns:1fr}}.event-trace-section .event-trace-loading,.event-trace-section .event-trace-empty{color:#94a3b8;font-style:italic;padding:8px 0}.event-trace-section .event-trace-error{color:#f87171;padding:8px 0}.event-trace-table-wrap{max-height:280px;overflow:auto;border:1px solid #334155;border-radius:6px}.event-trace-table{width:100%;border-collapse:collapse;font-size:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.event-trace-table thead th{background:#1e293b;color:#cbd5e1;text-align:left;padding:6px 10px;position:sticky;top:0}.event-trace-table tbody td{padding:6px 10px;border-top:1px solid #1e293b;vertical-align:top}.event-trace-table .event-row.event-failed,.event-trace-table .event-row.event-dispatch_failed{background:#ef444412}.event-trace-table .event-row.event-completed{background:#22c55e0d}.event-trace-table .event-payload code{white-space:pre-wrap;word-break:break-all;color:#cbd5e1}.reviews-section .reviews-loading,.reviews-section .reviews-empty{color:#94a3b8;font-style:italic;padding:8px 0}.reviews-section .reviews-error,.reviews-section .review-submit-error{color:#f87171;padding:6px 0}.reviews-list{list-style:none;margin:0 0 12px;padding:0}.review-item{border:1px solid #334155;border-left:3px solid #475569;border-radius:4px;padding:8px 10px;margin-bottom:8px;background:#0f172a}.review-item.review-approved{border-left-color:#22c55e}.review-item.review-rejected{border-left-color:#ef4444}.review-item.review-needs_changes{border-left-color:#f59e0b}.review-header{display:flex;gap:12px;align-items:center;font-size:.85rem;color:#cbd5e1}.review-verdict{font-weight:600;text-transform:uppercase;letter-spacing:.04em}.review-reviewer{color:#94a3b8}.review-time{color:#64748b;margin-left:auto}.review-comments{margin-top:6px;white-space:pre-wrap;color:#e2e8f0}.review-form{border-top:1px dashed #334155;padding-top:12px;margin-top:8px}.review-form h5{margin:0 0 8px;color:#cbd5e1;font-size:.95rem}.review-form-row{display:flex;gap:8px;margin-bottom:8px}.review-form-row input{flex:1}.review-form input,.review-form select,.review-form textarea{background:#0f172a;color:#e2e8f0;border:1px solid #334155;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:.9rem}.review-form textarea{width:100%;resize:vertical;margin-bottom:8px}.submit-review-btn{background:var(--gradient-primary);color:var(--text-on-gradient);border:none;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.submit-review-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm);filter:brightness(1.05)}.submit-review-btn:disabled{opacity:.6;cursor:not-allowed}[data-theme=matrix] .submit-review-btn{border-radius:0;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}[data-theme=matrix] .submit-review-btn:hover:not(:disabled){background:var(--primary-color);color:#000;box-shadow:0 0 10px var(--primary-color)}.reviews-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.reviews-section-header h4{margin:0}.ai-review-btn{padding:8px 14px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:linear-gradient(135deg,#6366f126,#a855f726);color:var(--text-primary);font-weight:600;cursor:pointer;transition:filter .15s ease,transform .15s ease}.ai-review-btn:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}.ai-review-btn:disabled{opacity:.6;cursor:not-allowed}.review-item.review-ai{border-left:3px solid #6366f1;background:#6366f10f}.review-comments--ai{font-family:var(--font-sans, ui-sans-serif, system-ui, -apple-system, sans-serif);font-size:13.5px;line-height:1.6;color:var(--text-primary);background:var(--bg-card-alt, rgba(0, 0, 0, .18));padding:14px 18px;border-radius:var(--border-radius-md);border-left:3px solid #6366f1;max-height:560px;overflow-y:auto}.review-comments--ai .md-h{margin:14px 0 6px;line-height:1.25;font-weight:600;color:var(--text-primary)}.review-comments--ai .md-h1{font-size:16px;border-bottom:1px solid var(--border-color);padding-bottom:4px}.review-comments--ai .md-h2{font-size:15px;color:#a5b4fc}.review-comments--ai .md-h3{font-size:14px;color:#c7d2fe}.review-comments--ai .md-h4,.review-comments--ai .md-h5,.review-comments--ai .md-h6{font-size:13.5px}.review-comments--ai .md-p{margin:6px 0}.review-comments--ai .md-hr{border:0;border-top:1px solid var(--border-color);margin:12px 0}.review-comments--ai .md-ul,.review-comments--ai .md-ol{margin:6px 0 6px 22px;padding:0}.review-comments--ai .md-ul li,.review-comments--ai .md-ol li{margin:3px 0}.review-comments--ai code{font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);font-size:12.5px;background:#6366f12e;color:#e0e7ff;padding:1px 5px;border-radius:4px}.review-comments--ai strong{color:var(--text-primary)}.review-comments--ai em{color:#c7d2fe}.review-comments--ai .md-table-wrap{margin:8px 0;overflow-x:auto}.review-comments--ai .md-table{border-collapse:collapse;width:100%;font-size:12.5px}.review-comments--ai .md-table th,.review-comments--ai .md-table td{border:1px solid var(--border-color);padding:6px 10px;text-align:left;vertical-align:top}.review-comments--ai .md-table th{background:#6366f11f;font-weight:600}.review-comments--ai .md-table tr:nth-child(2n) td{background:#ffffff08}.column-picker-wrapper{position:relative}.column-picker-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:200px;padding:10px 12px;background:var(--surface-color, #1c1c24);color:var(--text-color, #e6e6e6);border:1px solid var(--border-color, #333);border-radius:6px;box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column;gap:6px}.column-picker-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #999);margin-bottom:4px}.column-picker-item{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none}.column-picker-footer{display:flex;justify-content:space-between;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--border-color, #333)}.job-id-cell{font-size:.75rem;color:var(--text-muted, #aaa)}.constraints-panel{background:var(--gradient-primary);border-radius:12px;padding:25px;margin:20px auto;max-width:1400px;color:var(--text-on-gradient);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.constraints-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem;border-radius:8px;transition:background-color .2s}.constraints-header.is-disabled{cursor:default;opacity:.7}.constraints-header:hover{background-color:#ffffff1a}.constraints-header.is-disabled:hover{background-color:transparent}.constraints-header h3{display:flex;align-items:center;gap:.75rem;margin:0;font-size:1.25rem;color:#fff;font-weight:600}.constraints-icon{font-size:1.5rem}.toggle-icon{margin-left:.5rem;color:#fffc;font-size:.9rem}.constraints-toggle{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#fff}.constraints-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer}.constraints-content{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid rgba(255,255,255,.2);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.presets-section{margin-bottom:2rem}.preset-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.preset-btn{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.preset-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--bg-hover);border-color:var(--primary-color)}.preset-btn.conservative{border-color:var(--color-success);color:var(--color-success)}.preset-btn.conservative:hover{background:var(--color-success);color:var(--text-on-gradient)}.preset-btn.aggressive{border-color:var(--color-error);color:var(--color-error)}.preset-btn.aggressive:hover{background:var(--color-error);color:var(--text-on-gradient)}.preset-btn.tax-aware{border-color:var(--color-warning);color:var(--color-warning)}.preset-btn.tax-aware:hover{background:var(--color-warning);color:var(--text-on-gradient)}.preset-btn.leverage{border-color:var(--accent-color);color:var(--accent-color)}.preset-btn.leverage:hover{background:var(--accent-color);color:var(--text-on-gradient)}[data-theme=matrix] .preset-btn,[data-theme=matrix] .preset-btn.conservative,[data-theme=matrix] .preset-btn.aggressive,[data-theme=matrix] .preset-btn.tax-aware,[data-theme=matrix] .preset-btn.leverage{border-radius:0;background:transparent;border-color:var(--primary-color);color:var(--primary-color)}[data-theme=matrix] .preset-btn:hover,[data-theme=matrix] .preset-btn.conservative:hover,[data-theme=matrix] .preset-btn.aggressive:hover,[data-theme=matrix] .preset-btn.tax-aware:hover,[data-theme=matrix] .preset-btn.leverage:hover{background:var(--primary-color);color:#000;box-shadow:0 0 12px var(--primary-color)}.constraints-section{margin-bottom:2rem;padding:1.5rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:10px;box-shadow:0 2px 6px #0000000f}.constraints-section h4{margin:0 0 1rem;font-size:1.1rem;color:#fff;font-weight:600;padding-bottom:.5rem;border-bottom:2px solid rgba(255,255,255,.2)}.constraint-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:500;color:#fff}.control-group input[type=number],.control-group input[type=text]{padding:.5rem;border:2px solid rgba(255,255,255,.3);border-radius:6px;font-size:.95rem;background:#ffffff26;color:#fff;transition:border-color .2s,background .2s}.control-group input:focus{outline:none;border-color:#fff9;background:#fff3}.control-group input::placeholder{color:#ffffff80}.control-value{display:inline-block;padding:.25rem .75rem;background-color:#ffffff26;border-radius:4px;font-weight:600;color:#fff;font-size:.85rem;min-width:60px;text-align:center}.checkbox-label{flex-direction:row!important;align-items:center;gap:.75rem!important}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.hint{font-size:.8rem;color:#ffffffb3;font-style:italic;margin-top:.25rem}.sector-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;grid-column:1 / -1}.constraints-summary{margin-top:1.25rem;padding:.85rem 1rem;background:var(--gradient-primary);border-radius:8px;color:var(--text-on-gradient)}.constraints-summary h4{margin:0 0 .6rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:#fff;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:.35rem}.summary-items{display:flex;flex-direction:column;gap:.25rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.2rem .45rem;background:#ffffff1a;border-radius:4px;font-size:.72rem;line-height:1.3}.summary-label{font-weight:600;font-size:.72rem}.summary-value{font-size:.72rem;opacity:.95}@media(max-width:768px){.constraint-controls,.preset-buttons,.sector-inputs{grid-template-columns:1fr}.summary-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.constraints-section{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.control-group input[type=number]:not(:placeholder-shown),.control-group input[type=text]:not(:placeholder-shown){background-color:#fff3}.concentration-section h4,.sector-section h4,.turnover-section h4,.position-sizing-section h4,.leverage-section h4{color:#fff;font-weight:600}.ai-chat-toggle{position:fixed;bottom:56px;right:24px;background:var(--gradient-primary);color:var(--text-on-gradient);border:none;border-radius:50px;padding:14px 24px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;transition:all .3s ease;z-index:999}.ai-chat-toggle:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.ai-chat-toggle .chat-icon{font-size:20px}.ai-chat-toggle .chat-label{font-size:14px}.ai-chat-panel{position:fixed;bottom:56px;right:24px;width:min(656px,calc(100vw - 32px));height:min(820px,calc(100vh - 120px));background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;z-index:1000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.ai-chat-header{background:var(--gradient-primary);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--border-color)}.header-content{display:flex;align-items:center;gap:12px}.ai-icon{font-size:28px}.header-text h3{margin:0;font-size:16px;font-weight:600;color:var(--text-on-gradient)}.status-indicator{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-on-gradient)}.status-dot{width:8px;height:8px;background:var(--success-color);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.header-actions{display:flex;gap:8px}.header-btn{background:#fff3;border:none;color:var(--text-on-gradient);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.header-btn:hover{background:#ffffff4d}.ai-chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;background:var(--bg-secondary)}.ai-chat-messages::-webkit-scrollbar{width:6px}.ai-chat-messages::-webkit-scrollbar-track{background:#ffffff0d}.ai-chat-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.ai-chat-messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.message{display:flex;gap:12px;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.message.user{flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;background:#ffffff1a}.message.user .message-avatar{background:linear-gradient(135deg,#667eea,#764ba2)}.message-content{flex:1;display:flex;flex-direction:column;gap:4px}.message.user .message-content{align-items:flex-end}.message-text{background:#ffffff14;padding:12px 16px;border-radius:12px;color:#e4e4e7;font-size:14px;line-height:1.5;max-width:100%;word-wrap:break-word}.message.user .message-text{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message.error .message-text{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.formatted-heading{font-weight:600;font-size:15px;color:#a5b4fc;margin:12px 0 8px;padding-bottom:4px;border-bottom:1px solid rgba(165,180,252,.2)}.formatted-heading:first-child{margin-top:0}.formatted-paragraph{margin:8px 0;line-height:1.6}.formatted-bullet{display:flex;gap:10px;margin:6px 0;padding-left:8px;line-height:1.5}.bullet-icon{color:#667eea;font-weight:700;flex-shrink:0}.formatted-metric{display:flex;justify-content:space-between;padding:8px 12px;margin:4px 0;background:#667eea1a;border-radius:6px;border-left:3px solid #667eea}.metric-label{font-weight:600;color:#a5b4fc}.metric-value{color:#e4e4e7;font-weight:500;font-family:Courier New,monospace}.message-time{font-size:11px;color:#fff6;padding:0 8px}.typing-indicator{background:#ffffff14;padding:12px 20px;border-radius:12px;display:flex;gap:6px;align-items:center}.typing-indicator span{width:8px;height:8px;background:#ffffff80;border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-6px);opacity:1}}.quick-actions{padding:12px 20px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.1)}.quick-actions-label{font-size:12px;color:#ffffff80;margin-bottom:10px;font-weight:500}.quick-actions-buttons{display:flex;flex-wrap:wrap;gap:8px}.quick-action-btn{background:#667eea33;border:1px solid rgba(102,126,234,.3);color:#a5b4fc;padding:8px 14px;border-radius:20px;font-size:12px;cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{background:#667eea4d;border-color:#667eea80;transform:translateY(-1px)}.ai-chat-input-form{padding:16px 20px;background:#ffffff0d;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:12px;align-items:flex-end}.ai-chat-input{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:12px 16px;color:#fff;font-size:14px;font-family:inherit;resize:none;max-height:120px;transition:all .2s ease}.ai-chat-input:focus{outline:none;border-color:#667eea;background:#ffffff1a}.ai-chat-input::placeholder{color:#fff6}.ai-chat-input:disabled{opacity:.5;cursor:not-allowed}.ai-chat-send{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;width:44px;height:44px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.ai-chat-send:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.ai-chat-send:disabled{opacity:.5;cursor:not-allowed}.send-icon{font-size:18px}.message-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.action-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.action-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1024px){.ai-chat-panel{width:min(480px,calc(100vw - 32px));height:min(640px,calc(100vh - 140px));bottom:56px}.ai-chat-toggle{bottom:52px;padding:10px 18px;font-size:13px}}@media(max-width:768px){.ai-chat-panel{width:calc(100vw - 24px);height:calc(100vh - 140px);bottom:52px;right:12px}.ai-chat-toggle{bottom:48px!important;right:12px!important;padding:8px 14px;font-size:12px;gap:6px;display:flex!important;visibility:visible!important;opacity:1!important;z-index:999!important;position:fixed!important}.ai-chat-toggle .chat-icon{font-size:16px}.ai-chat-toggle .chat-label{font-size:12px}}@media(max-width:480px){.ai-chat-panel{width:100vw;height:calc(100vh - 88px);bottom:44px;right:0;border-radius:0}.ai-chat-toggle{display:flex!important;visibility:visible!important;opacity:1!important;bottom:44px!important;right:8px!important;padding:6px 10px;font-size:11px;z-index:999!important;position:fixed!important}.ai-chat-toggle .chat-icon{font-size:14px}.ai-chat-toggle .chat-label{display:none!important}.quick-actions-buttons{flex-direction:column}.quick-action-btn{width:100%}}[data-theme=dark-blue] .quick-action-btn{background:#3b82f626;border-color:#3b82f64d;color:var(--primary-light)}[data-theme=dark-blue] .quick-action-btn:hover{background:#3b82f640;border-color:#3b82f680}[data-theme=minimal-bw] .quick-action-btn{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-secondary)}[data-theme=minimal-bw] .quick-action-btn:hover{background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--button-text-color)}[data-theme=dark-blue] .ai-chat-send,[data-theme=minimal-bw] .ai-chat-send{background:var(--button-primary-bg)}[data-theme=dark-blue] .ai-chat-send:hover:not(:disabled),[data-theme=minimal-bw] .ai-chat-send:hover:not(:disabled){background:var(--button-primary-hover);box-shadow:none}[data-theme=dark-blue] .action-btn,[data-theme=minimal-bw] .action-btn{background:var(--button-primary-bg);color:var(--button-text-color)}[data-theme=dark-blue] .action-btn:hover:not(:disabled),[data-theme=minimal-bw] .action-btn:hover:not(:disabled){background:var(--button-primary-hover);box-shadow:none}[data-theme=light-colorful] .ai-chat-messages{background:var(--bg-primary)}[data-theme=light-colorful] .ai-chat-messages::-webkit-scrollbar-track{background:#0000000a}[data-theme=light-colorful] .ai-chat-messages::-webkit-scrollbar-thumb{background:#00000026}[data-theme=light-colorful] .ai-chat-messages::-webkit-scrollbar-thumb:hover{background:#00000040}[data-theme=light-colorful] .message-avatar{background:#667eea1f}[data-theme=light-colorful] .message-text{background:#fff;border:1px solid var(--border-color);color:var(--text-primary)}[data-theme=light-colorful] .message.error .message-text{background:#ef444414;border-color:#ef44444d;color:#7f1d1d}[data-theme=light-colorful] .formatted-heading{color:var(--primary-color);border-bottom-color:#667eea33}[data-theme=light-colorful] .bullet-icon{color:var(--primary-color)}[data-theme=light-colorful] .formatted-metric{background:#667eea12;border-left-color:var(--primary-color)}[data-theme=light-colorful] .metric-label{color:var(--primary-dark)}[data-theme=light-colorful] .metric-value{color:var(--text-primary)}[data-theme=light-colorful] .message-time{color:var(--text-muted)}[data-theme=light-colorful] .typing-indicator{background:#fff;border:1px solid var(--border-color)}[data-theme=light-colorful] .typing-indicator span{background:var(--primary-color);opacity:.5}[data-theme=light-colorful] .message-actions{border-top-color:var(--border-color)}[data-theme=light-colorful] .quick-actions{background:var(--bg-secondary);border-top-color:var(--border-color)}[data-theme=light-colorful] .quick-actions-label{color:var(--text-muted)}[data-theme=light-colorful] .quick-action-btn{background:#667eea14;border-color:#667eea40;color:var(--primary-dark)}[data-theme=light-colorful] .quick-action-btn:hover{background:#667eea29;border-color:#667eea66}[data-theme=light-colorful] .ai-chat-input-form{background:var(--bg-secondary);border-top-color:var(--border-color)}[data-theme=light-colorful] .ai-chat-input{background:#fff;border-color:var(--border-light);color:var(--text-primary)}[data-theme=light-colorful] .ai-chat-input:focus{background:#fff;border-color:var(--primary-color)}[data-theme=light-colorful] .ai-chat-input::placeholder{color:var(--text-muted)}.notification-banner{position:fixed;top:24px;right:24px;min-width:320px;max-width:450px;padding:16px 20px;border-radius:12px;box-shadow:0 8px 24px #00000026;display:flex;align-items:center;gap:12px;z-index:2500;cursor:pointer;opacity:0;transform:translateY(-20px);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-banner.show{opacity:1;transform:translateY(0)}.notification-banner.hide{opacity:0;transform:translateY(-20px)}.notification-banner.success{background:var(--success-bg);border-left:4px solid var(--success-color);color:var(--text-on-gradient)}.notification-banner.warning{background:var(--warning-bg);border-left:4px solid var(--warning-color);color:var(--text-on-gradient)}.notification-banner.error{background:var(--error-bg);border-left:4px solid var(--error-color);color:var(--text-on-gradient)}.notification-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0;background:#fff3}.notification-content{flex:1}.notification-message{margin:0;font-size:14px;font-weight:500;line-height:1.4}.notification-close{width:24px;height:24px;border-radius:50%;background:#fff3;border:none;color:inherit;font-size:20px;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.notification-close:hover{background:#ffffff4d;transform:scale(1.1)}.notification-container{position:fixed;top:24px;right:24px;z-index:2500;display:flex;flex-direction:column;gap:12px;pointer-events:none}.notification-container>*{pointer-events:auto}.notification-history-toggle{position:fixed;top:72px;right:24px;background:var(--bg-hover);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--primary-color);cursor:pointer;z-index:2499;transition:all .2s ease}.notification-history-toggle:hover{background:var(--bg-hover);transform:translateY(-1px)}.notification-history-panel{position:fixed;top:64px;right:24px;width:380px;max-height:500px;background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-xl);overflow:hidden;z-index:2498;display:flex;flex-direction:column}.notification-history-header{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.notification-history-header h3{margin:0;color:#fff;font-size:16px;font-weight:600}.notification-history-clear{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease}.notification-history-clear:hover{background:#ef44444d}.notification-history-header-actions{display:flex;align-items:center;gap:8px}.notification-history-close{background:transparent;border:none;color:#fff9;font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .2s ease,background .2s ease}.notification-history-close:hover{color:#fff;background:#ffffff1a}.notification-history-list{overflow-y:auto;padding:12px;flex:1}.notification-history-item{padding:12px;margin-bottom:8px;border-radius:8px;background:#ffffff0d;border-left:3px solid;cursor:pointer;transition:all .2s ease}.notification-history-item:hover{background:#ffffff14;transform:translate(-2px)}.notification-history-item.success{border-left-color:#22c55e}.notification-history-item.warning{border-left-color:#fbbf24}.notification-history-item.error{border-left-color:#ef4444}.notification-history-item-message{color:#ffffffe6;font-size:13px;margin:0 0 6px}.notification-history-item-time{color:#ffffff80;font-size:11px;margin:0}.notification-history-empty{text-align:center;padding:40px 20px;color:#ffffff80}[data-theme=light-colorful] .notification-banner.success{background:#10b98126;color:#065f46}[data-theme=light-colorful] .notification-banner.warning{background:#f59e0b26;color:#78350f}[data-theme=light-colorful] .notification-banner.error{background:#ef444426;color:#7f1d1d}[data-theme=light-colorful] .notification-banner .notification-icon{background:#00000014}[data-theme=light-colorful] .notification-banner .notification-close{background:#00000014;color:inherit}[data-theme=light-colorful] .notification-banner .notification-close:hover{background:#00000026}[data-theme=light-colorful] .notification-history-header{border-bottom-color:var(--border-color)}[data-theme=light-colorful] .notification-history-header h3{color:var(--text-primary)}[data-theme=light-colorful] .notification-history-item{background:#0000000a}[data-theme=light-colorful] .notification-history-item:hover{background:#00000012}[data-theme=light-colorful] .notification-history-item-message{color:var(--text-primary)}[data-theme=light-colorful] .notification-history-item-time,[data-theme=light-colorful] .notification-history-empty{color:var(--text-muted)}@media(max-width:768px){.notification-banner{right:12px;top:12px;min-width:280px;max-width:calc(100vw - 24px)}.notification-history-toggle{right:12px;top:12px}.notification-history-panel{right:12px;top:64px;width:calc(100vw - 24px)}}@media(max-width:480px){.notification-banner{min-width:auto;max-width:calc(100vw - 16px);right:8px;top:8px;padding:12px 16px}.notification-message{font-size:13px}.notification-history-panel{right:8px;top:54px;width:calc(100vw - 16px)}}[data-theme=dark-blue] .notification-history-clear{background:#3b82f626;border-color:#3b82f64d;color:var(--primary-light)}[data-theme=dark-blue] .notification-history-clear:hover{background:#3b82f640}[data-theme=minimal-bw] .notification-history-clear{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-secondary)}[data-theme=minimal-bw] .notification-history-clear:hover{background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--button-text-color)}.portfolio-selector{background:var(--gradient-primary);border-radius:12px;padding:24px;margin-bottom:24px;color:var(--text-on-gradient);box-shadow:var(--shadow-md)}.portfolio-selector h3{margin:0 0 20px;font-size:1.5rem;font-weight:600}.loading-spinner{text-align:center;padding:20px;font-size:1.1rem;color:#ffffffe6}.selector-section{margin-bottom:24px}.selector-section label{display:block;margin-bottom:8px;font-weight:500;font-size:1rem}.selector-section select{width:100%;padding:12px;border-radius:8px;border:2px solid rgba(255,255,255,.3);background-color:#ffffff26;color:#fff;font-size:1rem;cursor:pointer;transition:all .3s ease}.selector-section select:hover{border-color:#ffffff80;background-color:#fff3}.selector-section select:focus{outline:none;border-color:#ffffffb3;background-color:#ffffff40}.selector-section select option{background-color:#4a5568;color:#fff}.portfolio-details{margin-top:24px}.portfolio-summary{background-color:#ffffff1a;border-radius:8px;padding:20px;margin-bottom:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.portfolio-summary h4{margin:0 0 16px;font-size:1.3rem;font-weight:600}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item .label{font-size:.875rem;opacity:.8;font-weight:500}.summary-item .value{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.holdings-section{background-color:#ffffff1a;border-radius:8px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.holdings-section h4{margin:0 0 16px;font-size:1.2rem;font-weight:600}.holdings-layout{display:grid;grid-template-columns:1fr 400px;gap:24px;align-items:start}@media(max-width:1200px){.holdings-layout{grid-template-columns:1fr}}.holdings-table{overflow-x:auto}.holdings-table table{width:100%;border-collapse:collapse;background-color:#0003;border-radius:8px;overflow:hidden}.holdings-table thead{background-color:#0000004d}.holdings-table th{padding:12px;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid rgba(255,255,255,.2)}.holdings-table td{padding:12px;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.1)}.holdings-table tbody tr:hover{background-color:#ffffff0d}.holdings-table .symbol{font-weight:700;color:var(--primary-color)}.holdings-table .cash-row{background-color:var(--bg-hover);font-weight:600}.allocation-chart{background-color:var(--bg-card);border-radius:var(--border-radius-md);padding:20px;box-shadow:var(--shadow-md)}.allocation-chart h5{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-primary);text-align:center}.empty-chart{text-align:center;padding:40px;color:#9ca3af;font-size:.95rem}.optimization-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:24px;margin-bottom:24px;color:var(--text-primary);box-shadow:var(--shadow-md)}.optimization-panel h3{margin:0 0 20px;font-size:1.5rem;font-weight:600}.error-message{background-color:#ef444433;border:1px solid rgba(239,68,68,.5);border-radius:8px;padding:12px;margin-bottom:16px;color:#fca5a5}.method-selector{margin-bottom:24px}.method-selector label{display:block;margin-bottom:12px;font-weight:500;font-size:1rem}.method-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.method-card{background-color:#ffffff26;border:2px solid rgba(255,255,255,.3);border-radius:8px;padding:16px;cursor:pointer;transition:all .3s ease;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.method-card:hover{background-color:#ffffff40;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.method-card.selected{background-color:#ffffff59;border-color:var(--primary-color);border-width:3px;box-shadow:var(--shadow-lg)}.method-icon{font-size:2.5rem;margin-bottom:8px}.method-name{font-size:1.1rem;font-weight:700;margin-bottom:8px}.method-description{font-size:.875rem;opacity:.9;line-height:1.4}.risk-slider{margin-bottom:24px}.risk-slider label{display:block;margin-bottom:12px;font-weight:500;font-size:1rem}.risk-slider label strong{color:var(--primary-color);font-size:1.1rem}.risk-slider input[type=range]{width:100%;height:8px;border-radius:4px;background:#ffffff4d;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.risk-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--primary-color);cursor:pointer;box-shadow:0 2px 4px #0000004d;transition:all .3s ease}.risk-slider input[type=range]::-webkit-slider-thumb:hover{background:#f59e0b;transform:scale(1.1)}.risk-slider input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fbbf24;cursor:pointer;border:none;box-shadow:0 2px 4px #0000004d;transition:all .3s ease}.risk-slider input[type=range]::-moz-range-thumb:hover{background:#f59e0b;transform:scale(1.1)}.risk-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:.875rem;opacity:.8}.optimize-button{width:100%;padding:16px;border:none;border-radius:8px;background:var(--gradient-primary);color:var(--text-on-gradient);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:var(--shadow-md)}[data-theme=matrix] .optimize-button{border-radius:0;background:transparent;color:var(--primary-color);border:2px solid var(--primary-color);box-shadow:0 0 8px var(--primary-color)}[data-theme=matrix] .optimize-button:hover:not(:disabled){background:var(--primary-color);color:#000}.optimize-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.optimize-button:active:not(:disabled){transform:translateY(0)}.optimize-button:disabled{opacity:.5;cursor:not-allowed}.optimize-button .spinner{animation:spin 1s linear infinite}.optimization-result{margin-top:24px;background-color:#ffffff26;border-radius:8px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.optimization-result h4{margin:0 0 16px;font-size:1.2rem;font-weight:600;color:#fbbf24}.result-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px}.metric{background-color:#0003;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.metric-label{font-size:.875rem;opacity:.8}.metric-value{font-size:1.5rem;font-weight:700;color:#fbbf24}.allocation-table{margin-top:16px}.allocation-table h5{margin:0 0 12px;font-size:1rem;font-weight:600}.allocation-table table{width:100%;border-collapse:collapse;background-color:#0003;border-radius:8px;overflow:hidden}.allocation-table thead{background-color:#0000004d}.allocation-table th{padding:12px;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.allocation-table td{padding:12px;font-size:.95rem;border-top:1px solid rgba(255,255,255,.1)}.allocation-table .symbol{font-weight:700;color:#fbbf24}.allocation-table .percentage{font-weight:600}.previous-results{margin-top:24px;background-color:#ffffff26;border-radius:8px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.previous-results h4{margin:0 0 16px;font-size:1.2rem;font-weight:600;color:#fbbf24}.results-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.result-card{background-color:#0003;border:2px solid rgba(255,255,255,.3);border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.result-header{font-size:1rem;font-weight:700;margin-bottom:12px;color:#fbbf24;text-align:center;padding-bottom:8px;border-bottom:2px solid rgba(251,191,36,.3);display:flex;flex-direction:column;gap:8px}.provider-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;box-shadow:0 2px 4px #0003;justify-content:center}.result-metrics-compact{display:flex;flex-direction:column;gap:8px}.metric-compact{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.metric-compact .metric-label{opacity:.8}.metric-compact .metric-value{font-weight:700;color:#fbbf24}[data-theme=light-colorful] .optimize-button{background:var(--gradient-primary);color:var(--text-on-gradient)}[data-theme=dark-blue] .optimize-button{background:var(--button-primary-bg);color:var(--button-text-color);box-shadow:0 4px 6px #3b82f626}[data-theme=dark-blue] .optimize-button:hover:not(:disabled){box-shadow:0 6px 12px #3b82f64d}[data-theme=minimal-bw] .optimize-button{background:var(--button-primary-bg);color:var(--button-text-color);box-shadow:none}[data-theme=minimal-bw] .optimize-button:hover:not(:disabled){background:var(--button-primary-hover);box-shadow:none}[data-theme=minimal-bw] .metric-compact .metric-value{color:var(--text-primary)}.rebalancing-analysis{background:var(--gradient-secondary);border-radius:12px;padding:24px;margin-bottom:24px;color:var(--text-on-gradient);box-shadow:var(--shadow-md)}.rebalancing-analysis.loading,.rebalancing-analysis.error,.rebalancing-analysis.empty{min-height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.loading-spinner{display:flex;align-items:center;gap:12px;font-size:1.2rem}.loading-spinner .spinner{animation:spin 1s linear infinite;font-size:2rem}.error-message{background-color:var(--error-bg);border:1px solid var(--error-color);border-radius:8px;padding:16px;color:var(--error-color);font-size:1.1rem}.retry-button{padding:12px 24px;border:none;border-radius:8px;background:#fff3;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-button:hover{background:#ffffff4d;transform:translateY(-2px)}.rebalancing-analysis h3{margin:0 0 20px;font-size:1.5rem;font-weight:600}.rebalancing-analysis h4{margin:0 0 16px;font-size:1.2rem;font-weight:600}.warnings-section{background-color:var(--warning-bg);border:2px solid var(--warning-color);border-radius:8px;padding:16px;margin-bottom:20px}.warnings-section h4{color:var(--warning-color);margin:0 0 12px}.warnings-list{list-style:none;padding:0;margin:0}.warnings-list li{padding:8px 0;border-bottom:1px solid var(--border-color)}.warnings-list li:last-child{border-bottom:none}.metrics-dashboard{background-color:#ffffff1a;border-radius:8px;padding:20px;margin-bottom:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.metric-card{background-color:#0003;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:all .3s ease}.metric-card:hover{background-color:#0000004d;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.metric-label{font-size:.875rem;opacity:.9;font-weight:500}.metric-value{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.allocation-comparison{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-md)}.rebalancing-analysis .chart-container{height:400px;position:relative;background-color:transparent}.trades-section{background-color:#ffffff1a;border-radius:8px;padding:20px;margin-bottom:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.no-trades{text-align:center;padding:40px;font-size:1.1rem;opacity:.9}.trades-table{overflow-x:auto}.trades-table table{width:100%;border-collapse:collapse;background-color:#0003;border-radius:8px;overflow:hidden}.trades-table thead{background-color:#0000004d}.trades-table th{padding:12px;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid rgba(255,255,255,.2)}.trades-table td{padding:12px;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.1)}.trades-table tbody tr:hover{background-color:#ffffff0d}.trades-table .action{font-weight:700}.action-badge.buy{background-color:#22c55e4d;border:1px solid rgba(34,197,94,.6);color:#86efac}.action-badge.sell{background-color:#ef44444d;border:1px solid rgba(239,68,68,.6);color:#fca5a5}.trades-table .symbol{font-weight:700;color:var(--primary-color)}.trades-table .cost{font-weight:600}.trades-table .reason{font-size:.875rem;opacity:.9}.trades-table tfoot{background-color:#0000004d;font-weight:700}.trades-table .total-row td{border-top:2px solid rgba(255,255,255,.3);padding:16px 12px}.trade-summary{display:flex;justify-content:space-around;gap:16px;background-color:#ffffff1a;border-radius:8px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-item{display:flex;flex-direction:column;align-items:center;gap:8px}.summary-label{font-size:.875rem;opacity:.9;font-weight:500}.summary-value{font-size:2rem;font-weight:700;color:var(--primary-color)}.summary-value.buy{color:#86efac}.summary-value.sell{color:#fca5a5}@media(max-width:768px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.trade-summary{flex-direction:column}.rebalancing-analysis .chart-container{height:300px}}.trade-execution-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:24px;margin-bottom:24px;color:var(--text-primary);box-shadow:var(--shadow-md)}.trade-execution-panel.empty{min-height:150px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#1f2937b3}.trade-execution-panel h3{margin:0 0 20px;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.error-message{background-color:var(--error-bg);border:1px solid var(--error-color);border-radius:8px;padding:12px;margin-bottom:16px;color:var(--error-color)}.execution-results{background-color:var(--bg-card);border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.execution-results h4{margin:0 0 16px;color:var(--success-color);font-size:1.2rem}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:16px}.result-item{display:flex;flex-direction:column;gap:4px}.result-item .label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.result-item .value{font-size:1.25rem;font-weight:700}.result-item .value.success{color:var(--success-color)}.result-item .value.error{color:var(--error-color)}.results-message{margin:16px 0 0;font-size:1rem;color:var(--text-secondary)}.failed-trades{margin-top:16px;padding:12px;background-color:var(--error-bg);border-radius:8px}.failed-trades h5{margin:0 0 8px;color:var(--error-color)}.failed-trades ul{list-style:none;padding:0;margin:0}.failed-trades li{padding:4px 0;color:var(--error-color)}.trade-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px;background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-md)}.select-all{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600}.select-all input[type=checkbox]{width:20px;height:20px;cursor:pointer}.selection-stats{display:flex;gap:12px;font-weight:600}.separator{color:var(--text-muted)}.trades-list{max-height:500px;overflow-y:auto;margin-bottom:20px;padding-right:8px}.trade-item{background-color:var(--bg-primary);border:2px solid var(--border-light);border-radius:var(--border-radius-md);padding:16px;margin-bottom:12px;display:flex;gap:16px;cursor:pointer;transition:all .3s ease}.trade-item:hover{background-color:var(--bg-hover);border-color:var(--primary-color);transform:translate(4px);box-shadow:var(--shadow-sm)}.trade-item.selected{background-color:var(--bg-hover);border-color:var(--primary-color);border-width:3px;box-shadow:var(--shadow-md)}.trade-checkbox{display:flex;align-items:flex-start;padding-top:4px}.trade-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.trade-details{flex:1}.trade-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.action-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-weight:700;font-size:.875rem}.action-badge.buy{background-color:#22c55e33;border:1px solid rgba(34,197,94,.6);color:#15803d}.action-badge.sell{background-color:#ef444433;border:1px solid rgba(239,68,68,.6);color:#991b1b}.trade-header .symbol{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.trade-header .shares{color:var(--text-secondary);font-weight:600}.trade-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:12px}.info-item{display:flex;flex-direction:column;gap:2px}.info-item .label{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.info-item .value{font-size:1rem;font-weight:700;color:var(--text-primary)}.info-item .value.cost{color:var(--primary-color)}.trade-reason{font-size:.875rem;color:var(--text-secondary);font-style:italic;padding:8px;background-color:var(--bg-secondary);border-radius:var(--border-radius-sm)}.execution-summary{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);padding:20px}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:8px}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-value.buy,.stat-value.sell{color:var(--text-primary)}.execute-button{width:100%;padding:16px;border:none;border-radius:8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 4px 6px #0003}.execute-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.execute-button:active:not(:disabled){transform:translateY(0)}.execute-button:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#9ca3af,#6b7280)}.execute-button .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.confirmation-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.confirmation-dialog{background:#fff;border-radius:12px;padding:32px;max-width:500px;width:90%;box-shadow:0 8px 16px #0000004d}.confirmation-dialog h4{margin:0 0 16px;color:#dc2626;font-size:1.3rem}.confirmation-dialog p{margin:0 0 12px;color:#4b5563;line-height:1.6}.confirmation-buttons{display:flex;gap:12px;margin-top:24px}.confirmation-buttons button{flex:1;padding:12px;border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease}.cancel-button{background-color:#e5e7eb;color:#1f2937}.cancel-button:hover{background-color:#d1d5db}.confirm-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.confirm-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.trades-list::-webkit-scrollbar{width:8px}.trades-list::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.trades-list::-webkit-scrollbar-thumb{background:#0000004d;border-radius:4px}.trades-list::-webkit-scrollbar-thumb:hover{background:#00000080}[data-theme=dark-blue] .execute-button{background:var(--button-primary-bg);color:var(--button-text-color);box-shadow:0 4px 6px #3b82f626}[data-theme=dark-blue] .execute-button:hover:not(:disabled){box-shadow:0 6px 12px #3b82f64d}[data-theme=dark-blue] .execute-button:disabled{background:var(--bg-secondary);color:var(--text-muted)}[data-theme=minimal-bw] .execute-button{background:var(--button-primary-bg);color:var(--button-text-color);box-shadow:none}[data-theme=minimal-bw] .execute-button:hover:not(:disabled){background:var(--button-primary-hover);box-shadow:none}[data-theme=minimal-bw] .execute-button:disabled{background:var(--bg-hover);color:var(--text-muted)}.portfolio-rebalancing-page{max-width:1400px;margin:0 auto;padding:24px}.page-header{text-align:center;margin-bottom:40px}.page-header h1{font-size:2.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 12px}.page-description{font-size:1.1rem;color:var(--text-secondary);max-width:800px;margin:0 auto;line-height:1.6}.workflow-steps{display:flex;align-items:center;justify-content:center;margin-bottom:40px;padding:20px;background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-sm)}.step{display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .3s ease}.step-number{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;background-color:var(--bg-secondary);color:var(--text-muted);border:3px solid var(--border-color);transition:all .3s ease}.step-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-align:center;transition:all .3s ease}.step.active .step-number{background:var(--gradient-primary);color:var(--text-on-gradient);border-color:var(--primary-color);transform:scale(1.1);box-shadow:var(--shadow-md)}.step.active .step-label{color:var(--primary-color);font-weight:700}.step.completed .step-number{background:var(--gradient-success);color:var(--text-on-gradient);border-color:var(--success-color)}.step.completed .step-number:before{content:"✓"}.step.completed .step-label{color:var(--success-color)}.step-connector{width:80px;height:3px;background-color:#e5e7eb;margin:0 16px}@media(max-width:768px){.workflow-steps{flex-direction:column;gap:16px}.step-connector{width:3px;height:40px;margin:0}.step-number{width:40px;height:40px;font-size:1.2rem}}.workflow-section{margin-bottom:24px;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.help-section{background:var(--bg-card);border-radius:12px;padding:24px;margin-top:40px;box-shadow:var(--shadow-sm)}.help-section h3{margin:0 0 20px;font-size:1.3rem;font-weight:600;color:var(--text-primary)}.help-content{display:grid;gap:16px}.help-item{padding:12px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);line-height:1.6;font-size:.95rem}.help-item strong{color:var(--primary-color);display:block;margin-bottom:4px}[data-theme=matrix] .help-section,[data-theme=matrix] .help-item{border-radius:0}[data-theme=matrix] .help-item strong{color:var(--primary-color);text-shadow:0 0 6px var(--primary-color)}@media(max-width:1024px){.portfolio-rebalancing-page{padding:16px}.page-header h1{font-size:2rem}.page-description{font-size:1rem}}@media(max-width:768px){.page-header h1{font-size:1.75rem}.workflow-section{margin-bottom:16px}}.load-test-page{padding:20px;max-width:1400px;margin:0 auto;background:var(--gradient-primary);min-height:100vh}.load-test-header{text-align:center;color:var(--text-light);margin-bottom:30px;padding:20px}.load-test-header h1{font-size:2.5rem;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.load-test-header p{font-size:1.1rem;opacity:.9;margin-top:10px}.load-test-content{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:20px}.config-panel{background:var(--bg-card);border-radius:12px;padding:25px;box-shadow:var(--shadow-md)}.config-panel h2{margin-top:0;color:var(--text-primary);font-size:1.5rem;border-bottom:2px solid var(--primary-color);padding-bottom:10px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-secondary)}.form-group select,.form-group input{width:100%;padding:10px;border:2px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .3s}.form-group select:focus,.form-group input:focus{outline:none;border-color:var(--primary-color)}.form-group select:disabled,.form-group input:disabled{background:var(--bg-primary);cursor:not-allowed}.profile-info{background:var(--bg-primary);padding:15px;border-radius:8px;margin-bottom:20px}.profile-info p{margin:8px 0;color:var(--text-muted)}.method-distribution ul{list-style:none;padding:0;margin-top:10px}.method-distribution li{padding:5px 0;display:flex;justify-content:space-between}.method-name{color:var(--primary-color);font-weight:500}.method-count{color:var(--text-muted);background:var(--bg-hover);padding:2px 8px;border-radius:4px;font-size:.9em}.custom-method-mix{background:var(--bg-primary);padding:15px;border-radius:8px;margin-bottom:20px}.custom-method-mix-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.custom-method-mix-header h3{margin:0;color:var(--text-primary);font-size:1.1rem}.btn-random-mix{padding:6px 14px;background:var(--bg-card);color:var(--primary-color);border:2px solid var(--primary-color);border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.btn-random-mix:hover:not(:disabled){background:var(--primary-color);color:var(--text-light)}.btn-random-mix:disabled{opacity:.4;cursor:not-allowed}.method-input{display:flex;align-items:center;margin-bottom:10px;gap:10px}.method-input label{flex:1;margin:0;font-weight:500}.method-input input{width:80px;padding:6px;border:2px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary)}.method-input .method-desc{flex:1;color:var(--text-muted);font-size:.85em}.custom-method-mix-actions{display:flex;gap:6px;flex-wrap:wrap}.methods-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:12px 0}.method-checkbox-card{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);cursor:pointer;transition:border-color .15s,background .15s}.method-checkbox-card:hover{border-color:var(--primary-color)}.method-checkbox-card.selected{border-color:var(--primary-color);background:var(--bg-hover, var(--bg-secondary))}.method-checkbox-card input[type=checkbox]{margin-top:3px}.method-checkbox-body{flex:1;min-width:0}.method-checkbox-name{font-weight:600;font-size:.88rem;color:var(--text-primary);margin-bottom:3px}.method-checkbox-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--text-muted)}.method-checkbox-count{width:60px;padding:2px 6px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem}.lt-methods-section{background:var(--bg-primary);padding:15px;border-radius:8px;margin-bottom:20px}.lt-methods-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.lt-methods-header h2{margin:0;font-size:1.2rem;color:var(--text-primary);border:none;padding:0}.paradigm-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.paradigm-pill{padding:5px 14px;font-size:.82rem;font-weight:600;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);border-radius:999px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.paradigm-pill:hover:not(:disabled){border-color:var(--primary-color)}.paradigm-pill.active{border-color:var(--primary-color);background:var(--primary-color);color:var(--text-light, #fff)}.paradigm-pill:disabled{opacity:.5;cursor:not-allowed}.lt-jobs-default{margin-bottom:14px}.lt-jobs-default-hint{font-size:.72rem;color:var(--text-muted);margin-top:4px}.lt-card-batch-hint{font-size:.72rem;color:var(--text-muted)}.lt-methods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:12px 0}.lt-method-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);transition:border-color .15s,background .15s,box-shadow .15s}.lt-method-card:hover{border-color:var(--primary-color)}.lt-method-card.selected{border-color:var(--primary-color);background:var(--bg-hover, var(--bg-secondary));box-shadow:0 0 0 1px var(--primary-color) inset}.lt-card-header{display:flex;align-items:center;gap:8px;cursor:pointer}.lt-card-title{flex:1;min-width:0}.lt-card-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.lt-card-paradigm{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.lt-card-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.35}.lt-card-controls{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;border-top:1px dashed var(--border-color)}.lt-card-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lt-card-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);width:64px;flex-shrink:0}.platform-pills{display:flex;gap:4px;flex-wrap:wrap}.platform-pill{padding:3px 9px;font-size:.75rem;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:999px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.platform-pill:hover:not(:disabled){border-color:var(--primary-color)}.platform-pill.active{border-color:var(--primary-color);background:var(--primary-color);color:var(--text-light, #fff)}.platform-pill:disabled{opacity:.45;cursor:not-allowed}.platform-static{font-size:.78rem;color:var(--text-secondary)}.lt-card-count{width:70px;padding:3px 6px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.82rem}.custom-summary{display:flex;gap:18px;padding:8px 10px;border-top:1px dashed var(--border-color);font-size:.85rem;color:var(--text-secondary)}.stock-universe-preview{font-size:.75rem;color:var(--text-muted);margin-top:4px;font-family:var(--font-mono, monospace);word-break:break-word}.submit-button{width:100%;padding:15px;background:var(--gradient-primary);color:var(--text-light);border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:8px}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.submit-button:disabled{background:var(--text-muted);cursor:not-allowed;transform:none}.error-message{background:var(--error-bg);color:var(--error-color);padding:12px;border-radius:6px;margin-top:15px;border-left:4px solid var(--error-color)}.status-panel{background:var(--bg-card);border-radius:12px;padding:25px;box-shadow:var(--shadow-md)}.status-panel h2{margin-top:0;color:var(--text-primary);font-size:1.5rem;border-bottom:2px solid var(--primary-color);padding-bottom:10px}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.status-badge{padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem}.status-badge.status-submitted{background:var(--bg-hover);color:var(--primary-color)}.status-badge.status-running{background:var(--warning-bg);color:var(--warning-color);animation:pulse 2s ease-in-out infinite}.status-badge.status-completed{background:var(--success-bg);color:var(--success-color)}.status-badge.status-failed{background:var(--error-bg);color:var(--error-color)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.load-test-id{color:var(--text-muted);font-size:.9rem;font-family:monospace}.progress-bar-container{height:40px;background:var(--border-color);border-radius:20px;position:relative;overflow:hidden;margin-bottom:25px}.progress-bar{height:100%;background:var(--gradient-primary);transition:width .5s ease;border-radius:20px}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:600;color:var(--text-primary);text-shadow:0 0 3px var(--bg-card)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.stat-card{background:var(--bg-primary);padding:20px;border-radius:8px;text-align:center;border-left:4px solid var(--primary-color)}.stat-card.completed{border-left-color:var(--success-color)}.stat-card.pending{border-left-color:var(--warning-color)}.stat-card.failed{border-left-color:var(--error-color)}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:5px}.stat-label{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.performance-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;background:var(--bg-primary);padding:20px;border-radius:8px}.metric{display:flex;flex-direction:column;gap:5px}.metric-label{font-size:.85rem;color:var(--text-muted)}.metric-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.results-button{width:100%;margin-top:20px;padding:12px;background:var(--success-color);color:var(--text-light);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .3s}.results-button:hover{opacity:.85}.results-panel{margin-top:20px;padding:20px;background:var(--bg-primary);border-radius:8px;border-left:4px solid var(--success-color)}.results-panel h3{margin:0 0 16px;color:var(--text-primary);font-size:1.05rem;word-break:break-all}.load-test-page .results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:16px}.result-stat{background:var(--bg-card);border-radius:8px;padding:14px 10px;text-align:center;box-shadow:var(--shadow-sm)}.result-stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--primary-color);margin-bottom:4px}.result-stat-label{display:block;font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.results-note{margin:0;font-size:.85rem;color:var(--text-muted);border-top:1px solid var(--border-color);padding-top:12px}.methods-panel{background:var(--bg-card);border-radius:12px;padding:25px;box-shadow:var(--shadow-md);grid-column:span 2}.methods-panel h2{margin-top:0;color:var(--text-primary);font-size:1.5rem;border-bottom:2px solid var(--primary-color);padding-bottom:10px}.methods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin-top:20px}.method-card{background:var(--bg-primary);border-radius:8px;padding:15px;border-left:4px solid var(--primary-color);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;gap:8px}.method-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.lt-card-name{font-weight:700;color:var(--primary-color);font-size:1rem;letter-spacing:.01em}.method-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.method-card .method-name{font-weight:600;color:var(--text-primary);font-size:1rem}.method-card .method-badge{display:none}.method-body{margin-top:0}.method-description{font-size:.9rem;color:var(--text-muted);margin-bottom:10px;line-height:1.4}.method-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted)}.method-meta span{background:var(--bg-card);padding:4px 8px;border-radius:4px}.complexity-low{color:var(--success-color)}.complexity-medium{color:var(--warning-color)}.complexity-high{color:var(--error-color)}@media(max-width:1024px){.load-test-content{grid-template-columns:1fr}.status-panel,.methods-panel{grid-column:span 1}.stats-grid,.performance-metrics{grid-template-columns:repeat(2,1fr)}}.config-panel .field-hint{display:block;font-weight:400;font-size:.72rem;color:var(--text-muted);margin-top:2px;letter-spacing:0;text-transform:none}.status-running-indicator{display:inline-flex;align-items:center;gap:8px;margin-left:12px;font-size:.85rem;color:var(--text-secondary)}.status-running-indicator .inline-spinner{display:inline-flex}@media(max-width:768px){.load-test-header h1{font-size:1.8rem}.methods-grid{grid-template-columns:1fr}}[data-theme=minimal-bw] .btn-random-mix{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}[data-theme=minimal-bw] .btn-random-mix:hover:not(:disabled){background:var(--button-primary-bg);color:var(--button-text-color);border-color:var(--button-primary-bg)}[data-theme=minimal-bw] .submit-button{background:var(--button-primary-bg);color:var(--button-text-color)}[data-theme=minimal-bw] .submit-button:hover:not(:disabled){background:var(--button-primary-hover)}[data-theme=dark-blue] .submit-button{background:var(--button-primary-bg);color:var(--button-text-color)}[data-theme=dark-blue] .submit-button:hover:not(:disabled){background:var(--button-primary-hover)}.form-group input[type=range],.lt-jobs-default input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;padding:0;border:none;border-radius:3px;background:var(--border-light, var(--border-color));outline:none;cursor:pointer;transition:background .15s}.form-group input[type=range]:disabled,.lt-jobs-default input[type=range]:disabled{opacity:.5;cursor:not-allowed}.form-group input[type=range]::-webkit-slider-thumb,.lt-jobs-default input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary-color);border:2px solid var(--bg-card);cursor:pointer;box-shadow:var(--shadow-sm, 0 0 2px rgba(0, 0, 0, .2));transition:background .15s,transform .1s}.form-group input[type=range]::-webkit-slider-thumb:hover,.lt-jobs-default input[type=range]::-webkit-slider-thumb:hover{background:var(--primary-light, var(--primary-color));transform:scale(1.1)}.form-group input[type=range]::-moz-range-thumb,.lt-jobs-default input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--primary-color);border:2px solid var(--bg-card);cursor:pointer;box-shadow:var(--shadow-sm, 0 0 2px rgba(0, 0, 0, .2))}.form-group input[type=range]::-moz-range-track,.lt-jobs-default input[type=range]::-moz-range-track{height:6px;background:var(--border-light, var(--border-color));border-radius:3px}[data-theme=matrix] .form-group input[type=range],[data-theme=matrix] .lt-jobs-default input[type=range]{background:var(--border-light)}[data-theme=matrix] .form-group input[type=range]::-webkit-slider-thumb,[data-theme=matrix] .lt-jobs-default input[type=range]::-webkit-slider-thumb{background:var(--primary-color);border-color:#000;box-shadow:0 0 6px #00ff4199}[data-theme=matrix] .form-group input[type=range]::-moz-range-thumb,[data-theme=matrix] .lt-jobs-default input[type=range]::-moz-range-thumb{background:var(--primary-color);border-color:#000}[data-theme=matrix] .paradigm-pill.active,[data-theme=matrix] .platform-pill.active{background:var(--primary-color);color:#000;border-color:var(--primary-color)}.iam-page{padding:24px;max-width:1400px;margin:0 auto;min-height:100vh;position:relative}.iam-tab-nav{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid var(--border-color);padding-bottom:0}.iam-tab-btn{padding:10px 20px;font-size:.875rem;font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;border-radius:6px 6px 0 0;transition:color .15s,border-color .15s}.iam-tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.iam-tab-btn-active{color:var(--primary-color, #2563eb);border-bottom-color:var(--primary-color, #2563eb)}.iam-toast{position:fixed;top:80px;right:24px;z-index:9999;padding:12px 20px;border-radius:8px;font-size:.9rem;font-weight:500;box-shadow:0 4px 16px #00000040;animation:iam-toast-in .25s ease}.iam-toast-success{background:var(--success-color);color:var(--text-light, #ffffff)}.iam-toast-error{background:var(--error-color);color:var(--text-light, #ffffff)}@keyframes iam-toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.iam-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:12px}.iam-page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.iam-page-subtitle{font-size:.875rem;color:var(--text-muted);margin:2px 0 0}.iam-page-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.iam-tenant-badge-group{display:flex;align-items:center;gap:8px}.iam-tenant-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.iam-tier-badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-light, #ffffff)}.iam-readonly-notice{font-size:.8rem;color:var(--text-muted);font-style:italic}.iam-stats-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.iam-stat-card{flex:1;min-width:120px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:16px 20px;display:flex;flex-direction:column;align-items:center;box-shadow:var(--shadow-md)}.iam-stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.iam-stat-green{color:var(--success-color)}.iam-stat-label{font-size:.78rem;color:var(--text-muted);margin-top:4px;text-align:center}.iam-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow-md)}.iam-section-info{background:var(--bg-secondary)}.iam-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.iam-section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;padding-bottom:6px;border-bottom:2px solid var(--primary-color)}.iam-section-actions{display:flex;gap:8px}.iam-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,opacity .15s}.iam-btn:disabled{opacity:.55;cursor:default}.iam-btn-sm{padding:6px 12px;font-size:.8rem}.iam-btn-primary{background:var(--primary-color);color:var(--button-text-color, #ffffff)}.iam-btn-primary:hover:not(:disabled){opacity:.85}.iam-btn-ghost{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-color)}.iam-btn-ghost:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color)}.iam-btn-warning{background:var(--warning-color);color:var(--button-text-color, #ffffff)}.iam-btn-warning:hover:not(:disabled){opacity:.85}.iam-btn-danger{background:var(--error-color);color:var(--button-text-color, #ffffff)}.iam-btn-danger:hover:not(:disabled){opacity:.85}.iam-btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.iam-btn-secondary:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.iam-section-header-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.iam-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid var(--border-color);width:100%}.iam-table{width:100%;border-collapse:collapse;font-size:.875rem}.iam-table thead{background:var(--bg-secondary)}.iam-table th{padding:10px 14px;text-align:left;font-weight:600;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color);white-space:nowrap}.iam-table td{padding:12px 14px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}.iam-table tbody tr:hover{background:var(--bg-hover)}.iam-table tbody tr:last-child td{border-bottom:none}.iam-row-inactive{opacity:.55}.iam-col-actions{text-align:right}.iam-actions-cell{text-align:right;white-space:nowrap}.iam-user-cell{display:flex;align-items:center;gap:10px}.iam-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;color:var(--button-text-color, #ffffff);flex-shrink:0}.iam-display-name{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:5px}.iam-you-badge{background:var(--primary-color);color:var(--button-text-color, #ffffff);font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:99px;letter-spacing:.04em}.iam-email{font-size:.78rem;color:var(--text-muted);margin-top:1px}.iam-username{font-family:monospace;font-size:.82rem;color:var(--text-secondary)}.iam-date{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.iam-role-badge,.iam-status-badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-light, #ffffff)}.iam-status-active{background:var(--success-color)}.iam-status-inactive{background:var(--text-muted)}.iam-action-btn{display:inline-block;padding:4px 10px;border-radius:5px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-hover);color:var(--text-secondary);margin-left:4px;transition:all .15s}.iam-action-btn:hover{color:var(--primary-color);border-color:var(--primary-color)}.iam-action-btn-danger{color:var(--error-color);border-color:var(--error-color);background:transparent}.iam-action-btn-danger:hover{background:var(--error-bg)}.iam-action-btn-success{color:var(--success-color);border-color:var(--success-color);background:transparent}.iam-action-btn-success:hover{background:var(--success-bg)}.iam-action-btn-edit{color:var(--primary-color);border-color:var(--primary-color);background:transparent}.iam-action-btn-edit:hover{background:var(--bg-hover)}.iam-action-btn-warning{color:var(--warning-color);border-color:var(--warning-color);background:transparent}.iam-action-btn-warning:hover{background:var(--warning-color);color:var(--button-text-color, #ffffff)}.iam-action-btn-activate{color:var(--success-color);border-color:var(--success-color);background:transparent}.iam-action-btn-activate:hover{background:var(--success-color);color:var(--button-text-color, #ffffff)}.iam-row-actions{display:flex;gap:6px;flex-wrap:wrap}.iam-loading,.iam-empty{text-align:center;padding:40px;color:var(--text-muted);font-size:.95rem}.iam-load-error{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:8px;background:var(--error-bg);color:var(--error-color);font-size:.875rem}.iam-roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:16px}.iam-role-card{border:1px solid var(--border-color);border-radius:10px;overflow:hidden;background:var(--bg-card)}.iam-role-card-header{padding:10px 16px}.iam-role-card-label{color:var(--text-light, #ffffff);font-weight:700;font-size:.95rem;letter-spacing:.03em}.iam-role-perms{list-style:none;margin:0;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.iam-role-perms li{font-size:.82rem;color:var(--text-secondary);padding-left:14px;position:relative}.iam-role-perms li:before{content:"✓";position:absolute;left:0;color:var(--success-color);font-weight:700;font-size:.75rem}.iam-modal-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:5000;display:flex;align-items:center;justify-content:center;padding:16px}.iam-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:28px;width:100%;max-width:500px;box-shadow:0 20px 60px #0006;animation:iam-modal-in .2s ease}.iam-modal-sm{max-width:400px}@keyframes iam-modal-in{0%{opacity:0;transform:scale(.95) translateY(-12px)}to{opacity:1;transform:scale(1) translateY(0)}}.iam-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.iam-modal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.iam-modal-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-muted);line-height:1;padding:2px 6px;border-radius:4px}.iam-modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.iam-modal-subtitle{margin:-10px 0 18px;font-size:.875rem;color:var(--text-muted)}.iam-modal-error{background:var(--error-bg);color:var(--error-color);border:1px solid var(--error-color);border-radius:6px;padding:10px 14px;font-size:.85rem;margin-bottom:16px}.iam-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.iam-form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:5px}.iam-form-group label{font-size:.82rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.iam-input,.iam-select{padding:9px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;transition:border-color .15s;width:100%;box-sizing:border-box}.iam-input:focus,.iam-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb, 79,70,229),.15)}.iam-input-error{border-color:var(--error-color)!important}.iam-error-text{font-size:.78rem;color:var(--error-color)}.iam-hint{font-size:.75rem;color:var(--text-muted)}@media(max-width:1024px){.iam-page{padding:16px}.iam-btn{padding:6px 12px;font-size:.8rem}.iam-btn-sm{padding:5px 10px;font-size:.75rem}.iam-action-btn{padding:3px 8px;font-size:.72rem}.iam-table th,.iam-table td{padding:8px 10px;font-size:.82rem}.iam-section{padding:16px}.iam-modal{padding:20px}}@media(max-width:700px){.iam-page{padding:12px}.iam-stats-row{gap:8px}.iam-stat-card{min-width:80px;padding:10px}.iam-stat-value{font-size:1.4rem}.iam-page-header{flex-direction:column}.iam-page-header-right{align-items:flex-start}.iam-tab-btn{padding:8px 12px;font-size:.78rem}.iam-btn{padding:5px 10px;font-size:.75rem}.iam-modal{padding:16px}.iam-modal-actions{flex-direction:column-reverse;gap:8px}.iam-modal-actions .iam-btn{width:100%}}.sec-admin{margin-top:16px}.sec-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sec-subtabs{display:flex;gap:4px}.sec-toolbar-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.sec-subtab{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}.sec-subtab-active{background:#6366f12e;color:var(--text-primary);border-color:#6366f1}.sec-refresh{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px}.sec-manual-scan,.sec-clear-all{padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;border:1px solid var(--border-color);background:transparent}.sec-manual-scan{color:#a7f3d0;border-color:#10b981}.sec-manual-scan:hover:not(:disabled){background:#10b9811f}.sec-clear-all{color:#fecaca;border-color:#ef4444}.sec-clear-all:hover:not(:disabled){background:#ef44441f}.sec-manual-scan:disabled,.sec-clear-all:disabled{opacity:.5;cursor:not-allowed}.sec-error{background:#ef444426;color:#fecaca;border:1px solid #ef4444;padding:8px 12px;border-radius:6px;margin-bottom:10px;font-size:13px}.sec-table-wrap{border:1px solid var(--border-color);border-radius:8px}.sec-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.sec-table th,.sec-table td{padding:8px 12px;border-bottom:1px solid var(--border-color);text-align:left;vertical-align:middle;word-break:break-word;overflow-wrap:anywhere}.sec-table th{background:#6366f114;font-weight:600;color:var(--text-secondary)}.sec-table tr:hover td{background:#ffffff06}.sec-mono{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px}.sec-empty{text-align:center;padding:24px;color:var(--text-secondary)}.sec-env{text-transform:uppercase;font-size:11px;background:#6366f12e;color:#c7d2fe;padding:2px 8px;border-radius:4px;letter-spacing:.05em}.sec-verdict{font-weight:700;font-size:11px;padding:2px 8px;border-radius:4px;letter-spacing:.04em}.sec-pass{background:#22c55e2e;color:#86efac}.sec-fail{background:#ef44442e;color:#fca5a5}.sec-view{background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.sec-view:hover{background:#6366f12e;border-color:#6366f1}.sec-counts{display:flex;gap:4px;flex-wrap:wrap}.sec-pill{font-size:10px;font-family:var(--font-mono, ui-monospace, monospace);padding:1px 6px;border-radius:3px;font-weight:600}.sev-critical{background:#dc262640;color:#fecaca}.sev-high{background:#ef444433;color:#fca5a5}.sev-medium{background:#f59e0b33;color:#fcd34d}.sev-low{background:#3b82f633;color:#93c5fd}.sev-info{background:#94a3b833;color:#cbd5e1}.sec-counts-empty{color:var(--text-secondary);font-style:italic;font-size:11px}.sec-kind{font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;background:#ffffff0f;padding:2px 6px;border-radius:3px}.sec-modal-backdrop{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.sec-modal{background:var(--bg-card, #181c2c);border:1px solid var(--border-color);border-radius:10px;width:clamp(700px,80vw,1400px);max-height:90vh;display:flex;flex-direction:column}.sec-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-color)}.sec-modal-header h3{margin:0 0 2px;font-size:15px}.sec-modal-header small{color:var(--text-secondary);font-size:11.5px}.sec-modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;line-height:1}.sec-modal-body{padding:16px 22px;overflow-y:auto}.sec-md.md-lite{font-size:13.5px;line-height:1.6;color:var(--text-primary)}.sec-md .md-h{margin:14px 0 6px;font-weight:600}.sec-md .md-h1{font-size:18px;border-bottom:1px solid var(--border-color);padding-bottom:4px}.sec-md .md-h2{font-size:16px;color:#a5b4fc}.sec-md .md-h3{font-size:14px;color:#c7d2fe}.sec-md .md-hr{border:0;border-top:1px solid var(--border-color);margin:12px 0}.sec-md .md-p{margin:6px 0}.sec-md .md-ul,.sec-md .md-ol{margin:6px 0 6px 22px}.sec-md code{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;background:#6366f12e;padding:1px 5px;border-radius:4px}.sec-md .md-table-wrap{overflow-x:auto;margin:8px 0}.sec-md .md-table{border-collapse:collapse;width:100%;font-size:12.5px}.sec-md .md-table th,.sec-md .md-table td{border:1px solid var(--border-color);padding:5px 9px;text-align:left}.sec-md .md-table th{background:#6366f11f;font-weight:600}.sec-actions-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 10px;flex-wrap:wrap}.sec-filter-group{display:flex;gap:4px;align-items:center}.sec-filter-group label{font-size:12px;color:var(--text-secondary);margin-right:4px}.sec-filter{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:3px 10px;border-radius:12px;cursor:pointer;font-size:11.5px;text-transform:capitalize}.sec-filter-active{background:#6366f133;color:var(--text-primary);border-color:#6366f199}.sec-trigger{background:#10b9812e;border:1px solid rgba(16,185,129,.6);color:#6ee7b7;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:600}.sec-trigger:disabled{opacity:.45;cursor:not-allowed}.sec-info{background:#10b9811f;border-left:3px solid rgba(16,185,129,.7);padding:6px 10px;border-radius:4px;font-size:12.5px;margin-bottom:8px}.sec-apply-pending{background:#3b82f61f;border-left-color:#3b82f6b3}.sec-apply-pending code{background:#0003;padding:0 4px;border-radius:3px;font-size:11.5px}.sec-apply-hint{color:var(--text-muted, #9ca3af);font-size:11.5px;margin-top:4px}.sec-apply-results{background:#94a3b81a;border-left-color:#94a3b8b3}.sec-apply-results-list{list-style:none;padding:6px 0 0;margin:6px 0 0;display:flex;flex-direction:column;gap:6px}.sec-apply-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px}.sec-apply-result code{background:#0003;padding:0 4px;border-radius:3px;font-size:11.5px}.sec-apply-result-note{flex-basis:100%;color:var(--text-muted, #9ca3af);font-size:11.5px;margin-left:4px}.sec-apply-result-nopr{color:var(--text-muted, #9ca3af);font-style:italic}.sec-apply-result-failed .sec-apply-result-note{color:#fca5a5}.sec-status{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.sec-status-pending{background:#eab3082e;color:#fde68a}.sec-status-approve{background:#10b9812e;color:#6ee7b7}.sec-status-reject{background:#ef44442e;color:#fca5a5}.sec-status-queued{background:#94a3b82e;color:#cbd5e1}.sec-status-in_progress{background:#3b82f62e;color:#93c5fd}.sec-status-completed{background:#10b9812e;color:#6ee7b7}.sec-status-failed{background:#ef44442e;color:#fca5a5}.sec-decision-cell{white-space:normal;word-break:break-word}.sec-decision-cell>*+*{margin-left:6px}.sec-source-cell,.sec-when-cell,.sec-summary-cell{word-break:break-word;overflow-wrap:anywhere;white-space:normal}.sec-approve,.sec-reject{padding:3px 10px;border-radius:4px;border:1px solid var(--border-color);cursor:pointer;font-size:11.5px;font-weight:600}.sec-approve{background:#10b9812e;border-color:#10b98180;color:#6ee7b7}.sec-reject{background:#ef444426;border-color:#ef444480;color:#fca5a5}.sec-approve:disabled,.sec-reject:disabled{opacity:.5;cursor:wait}.sec-decided{font-size:11.5px;color:var(--text-secondary);font-style:italic}.sec-decision-modal{width:clamp(420px,50vw,640px)}.sec-confirm-modal{width:clamp(380px,40vw,560px)}.sec-confirm-message{margin:4px 0 16px;font-size:14px;line-height:1.5;color:var(--text-primary)}.sec-decision-label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.sec-decision-textarea{width:100%;background:var(--bg-primary, #0f172a);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px;resize:vertical;box-sizing:border-box}.sec-decision-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f140}.sec-decision-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.sec-modal-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:5px 14px;border-radius:4px;cursor:pointer;font-size:12.5px;font-weight:600}.sec-modal-cancel:hover{background:#ffffff0d}.sec-decision-actions .sec-approve,.sec-decision-actions .sec-reject{padding:5px 18px;font-size:12.5px}.sec-select-col{width:32px;text-align:center!important;padding-left:8px!important;padding-right:4px!important}.sec-select-col input[type=checkbox]{cursor:pointer;accent-color:#6366f1;width:15px;height:15px;vertical-align:middle}.sec-bulk-group{display:flex;gap:6px;margin-left:auto;margin-right:12px}.sec-bulk-btn{padding:5px 12px;font-size:12px;font-weight:600;border-radius:4px;cursor:pointer;border:1px solid var(--border-color)}.sec-bulk-btn:disabled{opacity:.45;cursor:not-allowed}.login-failures{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg, 12px);padding:1.25rem 1.5rem;margin-top:1.5rem;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.login-failures__header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.login-failures__header h2{margin:0 0 .25rem;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.login-failures__subtitle{margin:0;font-size:.85rem;color:var(--text-muted)}.login-failures__controls{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.login-failures__controls label{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary)}.login-failures__controls select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm, 6px);padding:.3rem .5rem}.login-failures__refresh{background:var(--accent-color);color:var(--text-light, #ffffff);border:1px solid var(--accent-color);border-radius:var(--border-radius-sm, 6px);padding:.4rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:filter .12s ease}.login-failures__refresh:disabled{opacity:.6;cursor:progress}.login-failures__refresh:hover:not(:disabled){filter:brightness(1.08)}.login-failures__error{background:var(--warning-bg);color:var(--error-color);border:1px solid var(--error-color);border-radius:var(--border-radius-sm, 8px);padding:.6rem .85rem;font-size:.85rem;margin-bottom:.75rem}.login-failures__table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-sm, 8px);background:var(--bg-secondary)}.login-failures__table{width:100%;border-collapse:collapse;font-size:.86rem;color:var(--text-primary);background:transparent}.login-failures__table th,.login-failures__table td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--border-light);vertical-align:top}.login-failures__table thead th{background:var(--bg-hover);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.login-failures__table tbody tr:hover{background:var(--bg-hover)}.login-failures__cell-time{white-space:nowrap;font-variant-numeric:tabular-nums}.login-failures__cell-tenant code,.login-failures__table code{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-light);border-radius:4px;padding:.05rem .3rem;font-size:.78rem}.login-failures__cell-ua{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.78rem}.login-failures__reason{display:inline-block;background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-color);border-radius:4px;padding:.05rem .45rem;font-size:.78rem;font-weight:600}.login-failures__muted{color:var(--text-muted)}.login-failures__empty{text-align:center;font-style:italic;color:var(--text-muted);padding:1.5rem .75rem}.login-failures__footnote{margin:.85rem 0 0;font-size:.78rem;color:var(--text-muted)}.login-failures__footnote code{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-light);border-radius:4px;padding:.05rem .3rem;font-size:.9em}.concierge-page{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem 0;width:100%;max-width:1400px;margin:0 auto;color:var(--text-primary);height:calc(100vh - 156px - 3rem);min-height:520px;overflow:hidden}.concierge-hero{position:relative;flex:0 0 auto;background:linear-gradient(135deg,var(--accent-color, #3b82f6),var(--accent-light, #1e3a8a));color:#fff;border-radius:var(--border-radius-lg, 14px);padding:1.25rem 1.5rem;box-shadow:var(--shadow-md, 0 6px 24px rgba(15, 23, 42, .18));border:2px dashed transparent;transition:border-color .15s ease,box-shadow .15s ease,padding .15s ease}.concierge-hero.collapsed{padding:.6rem 1rem}.concierge-hero.collapsed .concierge-hero-intro,.concierge-hero.collapsed .concierge-hero-side{display:none}.concierge-hero.collapsed .concierge-quick-row{margin-top:0}.concierge-hero-toggle{position:absolute;top:.5rem;right:.6rem;background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:.2rem .7rem;font-size:.78rem;cursor:pointer;z-index:3}.concierge-hero-toggle:hover{background:#ffffff47}.concierge-hero.drag-active{border-color:#ffffffd9;box-shadow:var(--shadow-md, 0 6px 24px rgba(15, 23, 42, .18)),0 0 0 4px #ffffff2e}.concierge-drop-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a8c;border-radius:var(--border-radius-lg, 14px);pointer-events:none;z-index:2}.concierge-drop-overlay-inner{font-size:1.15rem;font-weight:700;letter-spacing:.02em;padding:.75rem 1.25rem;border:2px dashed rgba(255,255,255,.85);border-radius:var(--border-radius-md, 12px);background:#ffffff14;color:#fff}.concierge-hero h2{margin:0 0 .4rem;font-size:1.6rem;letter-spacing:-.01em;color:inherit}.concierge-hero p{margin:0;opacity:.95;font-size:.98rem;line-height:1.5;color:inherit}.concierge-hero-intro{padding-right:7rem}.concierge-quick-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.concierge-chip{background:#ffffff29;color:#fff;border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:.4rem .95rem;font-size:.85rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.concierge-chip:hover:not([disabled]){background:#ffffff47;transform:translateY(-1px)}.concierge-chip[disabled]{opacity:.55;cursor:not-allowed}.concierge-mode-toggle{display:inline-flex;gap:.25rem;padding:.2rem;cursor:default}.concierge-mode-toggle .mode-pill{background:transparent;color:inherit;border:0;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;cursor:pointer;opacity:.7}.concierge-mode-toggle .mode-pill.active{background:#ffffff59;opacity:1;font-weight:600}.concierge-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.25rem;align-items:stretch;flex:1 1 auto;min-height:0}.concierge-grid.concierge-grid-full{grid-template-columns:minmax(0,1fr)}@media(max-width:900px){.concierge-grid{grid-template-columns:1fr}}@media(max-width:1024px){.concierge-page{height:calc(100vh - 104px - 1.5rem);padding:.75rem 0;gap:.85rem}.concierge-hero{padding:1rem 1.1rem}.concierge-hero-intro{font-size:.92rem;padding-right:6rem}.concierge-hero-side{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.6rem}}@media(max-width:640px){.concierge-hero-side{grid-template-columns:1fr}}.concierge-hero-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:1rem}.concierge-hero-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:var(--border-radius-md, 12px);padding:.75rem .9rem;color:#fff}.concierge-hero-card h3{margin:0 0 .5rem;font-size:.95rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.9;color:inherit}.concierge-hero-card .concierge-portfolio-summary .row,.concierge-hero-card .concierge-job-status{color:#fff}.concierge-hero-card .concierge-empty{opacity:.85;font-style:italic;color:inherit}.concierge-hero-card code{background:#00000040;padding:.05rem .35rem;border-radius:4px;font-size:.85em}.concierge-msg .md>:first-child{margin-top:0}.concierge-msg .md>:last-child{margin-bottom:0}.concierge-msg .md p,.concierge-msg .md ul,.concierge-msg .md ol,.concierge-msg .md pre,.concierge-msg .md blockquote{margin:.35rem 0}.concierge-msg .md h3,.concierge-msg .md h4,.concierge-msg .md h5,.concierge-msg .md h6{margin:.5rem 0 .25rem;font-weight:700;line-height:1.25}.concierge-msg .md ul,.concierge-msg .md ol{padding-left:1.25rem}.concierge-msg .md li{margin:.1rem 0}.concierge-msg .md code{background:var(--bg-tertiary, rgba(0, 0, 0, .08));padding:.05rem .35rem;border-radius:4px;font-size:.9em}.concierge-msg .md pre.md-code{background:var(--bg-tertiary, rgba(0, 0, 0, .85));color:var(--text-primary, #e2e8f0);padding:.6rem .8rem;border-radius:var(--border-radius-sm, 8px);overflow-x:auto;font-size:.85em}.concierge-msg .md pre.md-code code{background:transparent;padding:0}.concierge-msg .md blockquote{border-left:3px solid var(--accent-color, #3b82f6);padding-left:.65rem;color:var(--text-secondary, inherit);opacity:.95}.concierge-msg .md a{color:var(--accent-color, #3b82f6);text-decoration:underline}.concierge-msg .md hr{border:0;border-top:1px solid var(--border-color, rgba(0, 0, 0, .15));margin:.6rem 0}.concierge-msg .md .md-table-wrap{overflow-x:auto;margin:.4rem 0}.concierge-msg .md .md-table{border-collapse:collapse;font-size:.85em;width:100%;min-width:480px}.concierge-msg .md .md-table th,.concierge-msg .md .md-table td{border:1px solid var(--border-color, rgba(0, 0, 0, .15));padding:.3rem .55rem;vertical-align:top;white-space:nowrap}.concierge-msg .md .md-table th{background:var(--bg-secondary, rgba(0, 0, 0, .04));font-weight:600}.concierge-msg .md .md-table tbody tr:nth-child(2n) td{background:#00000006}.concierge-card{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md, 12px);padding:1rem 1.1rem;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05));display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.concierge-card h3{margin:0 0 .6rem;font-size:1.05rem;font-weight:600;color:var(--accent-color)}.concierge-card{position:relative}.concierge-chat-log{display:flex;flex-direction:column;gap:.65rem;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.5rem .25rem .75rem;scrollbar-width:thin;scroll-behavior:smooth}.concierge-chat-log::-webkit-scrollbar{width:8px}.concierge-chat-log::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.concierge-scroll-top-btn{position:absolute;right:1.25rem;top:3.1rem;z-index:5;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .8rem;border-radius:999px;border:1px solid var(--accent-color);background:var(--bg-secondary);color:var(--accent-color);font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm, 0 2px 6px rgba(0, 0, 0, .18));opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.concierge-scroll-top-btn.visible{opacity:1;transform:translateY(0);pointer-events:auto}.concierge-scroll-top-btn:hover{background:var(--accent-color);color:#fff}.concierge-scroll-top-btn .arrow{font-size:.95rem;line-height:1}.concierge-msg{padding:.55rem .85rem;border-radius:var(--border-radius-sm, 10px);max-width:92%;white-space:pre-wrap;line-height:1.45;font-size:.92rem;border:1px solid transparent}.concierge-msg.user{align-self:flex-end;background:var(--accent-color);color:#fff}.concierge-msg.assistant{align-self:flex-start;background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-light)}.concierge-msg.system{align-self:center;background:transparent;color:var(--text-secondary);font-size:.82rem;font-style:italic;opacity:.85}.concierge-action-card{margin-top:.45rem;border:1px dashed var(--accent-color);border-radius:var(--border-radius-sm, 10px);padding:.6rem .75rem;background:var(--bg-primary);display:flex;flex-direction:column;gap:.45rem}.concierge-action-card .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-color);font-weight:600}.concierge-action-card .summary{font-size:.92rem;color:var(--text-primary)}.concierge-action-card .btn-row{display:flex;gap:.4rem}.concierge-btn{padding:.4rem .95rem;border-radius:var(--border-radius-sm, 8px);border:1px solid var(--accent-color);background:var(--accent-color);color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.concierge-btn:hover:not([disabled]){background:var(--accent-light);border-color:var(--accent-light)}.concierge-btn.ghost{background:transparent;color:var(--accent-color)}.concierge-btn.ghost:hover:not([disabled]){background:var(--bg-primary);color:var(--accent-light)}.concierge-btn[disabled]{opacity:.6;cursor:not-allowed}.concierge-input-row{display:flex;gap:.5rem;margin-top:.6rem;flex:0 0 auto;background:var(--bg-secondary);padding:.5rem 0 0;border-top:1px solid var(--border-color)}.concierge-input-row input{flex:1;padding:.6rem .9rem;border-radius:var(--border-radius-sm, 10px);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:.95rem}.concierge-input-row input::placeholder{color:var(--text-secondary);opacity:.7}.concierge-input-row input:focus{outline:2px solid var(--accent-color);outline-offset:1px}.concierge-portfolio-summary{font-size:.88rem;line-height:1.45;color:var(--text-primary)}.concierge-portfolio-summary .row{display:flex;justify-content:space-between;padding:.2rem 0;border-bottom:1px solid var(--border-light)}.concierge-portfolio-summary .row:last-child{border-bottom:0}.concierge-portfolio-summary .row .k{color:var(--text-secondary)}.concierge-portfolio-summary .row .v{font-weight:600;color:var(--text-primary)}.concierge-warnings{margin-top:.6rem;font-size:.82rem;background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);padding:.5rem .7rem;border-radius:var(--border-radius-sm, 8px);color:var(--text-primary)}.concierge-warnings ul{margin:.25rem 0 0 1.1rem;padding:0}.concierge-empty{color:var(--text-secondary);font-size:.9rem;opacity:.85}.concierge-job-status{margin-top:.45rem;font-size:.88rem;color:var(--text-primary)}.concierge-job-status code{background:var(--bg-primary);border:1px solid var(--border-light);padding:.1rem .4rem;border-radius:4px;font-size:.82rem}.concierge-job-status .badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600}.concierge-job-status .badge.pending{background:#94a3b840;color:var(--text-primary)}.concierge-job-status .badge.running{background:#3b82f638;color:var(--text-primary)}.concierge-job-status .badge.completed{background:#22c55e38;color:var(--text-primary)}.concierge-job-status .badge.failed{background:#ef444438;color:var(--text-primary)}[data-theme=matrix] .concierge-card,[data-theme=matrix] .concierge-action-card,[data-theme=matrix] .concierge-msg,[data-theme=matrix] .concierge-input-row input,[data-theme=matrix] .concierge-btn,[data-theme=matrix] .concierge-hero{border-radius:0!important}[data-theme=matrix] .concierge-hero{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--accent-color);box-shadow:0 0 12px #00ff4140}[data-theme=matrix] .concierge-chip{background:transparent;color:var(--text-primary);border-color:var(--accent-color)}[data-theme=matrix] .concierge-btn{background:transparent;color:var(--accent-color)}[data-theme=matrix] .concierge-btn:hover:not([disabled]){background:#00ff411f}[data-theme=matrix] .concierge-msg.user{background:var(--accent-color);color:#000}[data-theme=minimal-bw] .concierge-card,[data-theme=minimal-bw] .concierge-action-card,[data-theme=minimal-bw] .concierge-msg,[data-theme=minimal-bw] .concierge-input-row input,[data-theme=minimal-bw] .concierge-btn,[data-theme=minimal-bw] .concierge-hero{border-radius:0!important}[data-theme=minimal-bw] .concierge-hero{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}[data-theme=minimal-bw] .concierge-msg.user{color:#000}.concierge-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.concierge-card-head h3{margin:0}.concierge-link-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-size:.78rem;padding:.2rem .55rem;border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.concierge-link-btn:hover:not([disabled]){color:var(--accent-color);border-color:var(--accent-color)}.concierge-link-btn[disabled]{opacity:.55;cursor:not-allowed}.concierge-msg-wrap{position:relative;display:flex;align-items:flex-start;flex-wrap:wrap;width:100%}.concierge-msg-wrap.user{justify-content:flex-end}.concierge-msg-wrap.assistant{justify-content:flex-start}.concierge-msg-wrap.system{justify-content:center}.concierge-methodlab-form{flex:0 0 100%;width:100%;box-sizing:border-box}.concierge-methodlab-form select,.concierge-methodlab-form input[type=number]{justify-self:start}.concierge-methodlab-form select{max-width:22rem;width:100%}.concierge-methodlab-form input[type=number]{max-width:8rem;width:100%}.concierge-msg-toolbar{position:absolute;top:-.55rem;display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--text-secondary);opacity:0;pointer-events:none;transition:opacity .12s ease}.concierge-msg-wrap:hover .concierge-msg-toolbar,.concierge-msg-wrap:focus-within .concierge-msg-toolbar{opacity:.9;pointer-events:auto}.concierge-msg-wrap.user .concierge-msg-toolbar{right:.4rem}.concierge-msg-wrap.assistant .concierge-msg-toolbar{left:.4rem}.concierge-msg-toolbar .ts{font-variant-numeric:tabular-nums}.concierge-msg-copy{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px;padding:0 .35rem;font-size:.75rem;line-height:1.4;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.concierge-msg-copy:hover{color:var(--accent-color);border-color:var(--accent-color)}.concierge-followups{display:flex;flex-wrap:wrap;gap:.4rem;margin:-.1rem 0 .25rem .4rem}.concierge-followups .concierge-chip{background:transparent;color:var(--accent-color);border-color:var(--accent-color);font-size:.78rem;padding:.25rem .7rem}.concierge-followups .concierge-chip:hover:not([disabled]){background:var(--accent-color);color:#fff;transform:translateY(-1px)}.concierge-typing{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);font-style:italic}.concierge-typing .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-color);opacity:.45;animation:concierge-typing-bounce 1.1s infinite ease-in-out}.concierge-typing .dot:nth-child(2){animation-delay:.15s}.concierge-typing .dot:nth-child(3){animation-delay:.3s}@keyframes concierge-typing-bounce{0%,70%,to{transform:translateY(0);opacity:.45}35%{transform:translateY(-3px);opacity:1}}.concierge-hints{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.4rem;font-size:.78rem;color:var(--text-secondary)}.concierge-hints .label{font-style:italic;opacity:.85}.concierge-hint{display:inline-block;padding:.15rem .6rem;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:.74rem}.concierge-hint.hint-risk{border-color:var(--accent-color);color:var(--accent-color)}.concierge-hint.hint-cap{border-color:#22c55e99;color:#22c55ef2}.concierge-hint.hint-intent{border-color:var(--border-light)}.concierge-input-meta{display:flex;justify-content:flex-end;margin-top:.25rem;font-size:.72rem;color:var(--text-secondary);opacity:.75;font-variant-numeric:tabular-nums}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:fixed;top:0;left:0;right:0;z-index:2200;width:100%;box-sizing:border-box}.header-left{display:flex;align-items:center;gap:16px;min-width:0}.burger-wrapper{position:relative}.burger-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.burger-btn:hover{background:var(--bg-hover);border-color:var(--border-color)}.burger-bar{display:block;height:2px;width:100%;background:var(--text-primary);border-radius:2px;transition:background .15s}.burger-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);z-index:2100;overflow:hidden;padding:4px 0}.burger-menu-item{display:block;width:100%;text-align:left;padding:10px 16px;background:transparent;border:none;color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s}.burger-menu-item:hover{background:var(--bg-hover);color:var(--primary-color)}.logo-area{display:flex;align-items:center;gap:10px;min-width:0}.company-icon{height:50px;width:50px;border-radius:6px;flex-shrink:0;object-fit:cover}.brand-logo{height:40px;width:auto;object-fit:contain;flex-shrink:0;vertical-align:middle}[data-theme=light-colorful] .brand-logo{filter:invert(1) brightness(.15)}[data-theme=light-colorful] .notif-bell-btn{background:#667eea1a;border-color:#667eea4d}[data-theme=light-colorful] .notif-bell-btn:hover,[data-theme=light-colorful] .notif-bell-btn.active{background:#667eea2e;border-color:var(--primary-color)}[data-theme=minimal-bw] .notif-bell-btn{background:#ffffff0f;border-color:#fff6}[data-theme=minimal-bw] .notif-bell-btn:hover,[data-theme=minimal-bw] .notif-bell-btn.active{background:#ffffff1f;border-color:#fff}.product-divider{color:var(--border-color);font-weight:300;flex-shrink:0}.product-name{font-size:.9rem;font-weight:500;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.notif-bell-btn{position:relative;display:flex;align-items:center;gap:5px;height:34px;padding:0 10px;border-radius:17px;background:#ffffff14;border:1px solid var(--border-color);color:var(--primary-color);font-size:13px;cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0}.notif-bell-btn:hover,.notif-bell-btn.active{background:#ffffff24;border-color:var(--primary-color)}.notif-bell-icon{display:flex;align-items:center}.notif-bell-count{font-weight:600;font-size:12px}.avatar-wrapper{position:relative}.user-avatar-btn{width:36px;height:36px;border-radius:50%;background:var(--button-primary-bg, var(--primary-color));color:var(--button-text-color, #ffffff);border:2px solid var(--border-color);font-size:.82rem;font-weight:700;letter-spacing:.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s,border-color .15s;flex-shrink:0}.user-avatar-btn:hover{opacity:.85;border-color:var(--primary-color)}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--shadow-md);z-index:2100;overflow:hidden}.avatar-dropdown-info{padding:14px 16px}.avatar-user-name{font-size:.88rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.avatar-user-org{font-size:.78rem;color:var(--text-muted);margin-bottom:4px}.avatar-user-tier{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1px}.avatar-user-role{font-size:.75rem;font-weight:700;margin-top:2px;color:var(--text-secondary);opacity:.85}.avatar-dropdown-divider{height:1px;background:var(--border-color);margin:0}.burger-menu-divider{height:1px;background:var(--border-color);margin:4px 0}.avatar-dropdown-item{display:block;width:100%;text-align:left;padding:10px 16px;background:transparent;border:none;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background .15s}.avatar-dropdown-item:hover{background:var(--bg-hover)}.avatar-dropdown-item.danger{color:var(--text-primary)}.avatar-dropdown-item.danger:hover{background:var(--bg-hover);color:var(--color-error, #ef4444)}.tenant-chip{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;background:var(--bg-card);border:1px solid var(--border-color);font-size:.78rem;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none}.tier-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tenant-chip-name{color:var(--text-primary);font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis}.tier-label{font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}@media(max-width:900px){.tenant-chip{padding:3px 8px;font-size:.72rem;gap:5px}.tenant-chip-name{max-width:80px;font-size:.72rem}.tier-label{font-size:.62rem}.tier-dot{width:6px;height:6px}}@media(max-width:640px){.tenant-chip-name{display:none}.tenant-chip{padding:2px 6px;gap:4px}.tier-label{font-size:.6rem;letter-spacing:.3px}}@media(max-width:900px){.product-name,.product-divider{display:none}}@media(max-width:600px){.brand-logo{height:32px}.company-icon{height:40px;width:40px}.app-header{height:52px;padding:0 12px}.burger-btn{width:32px;height:32px}.user-avatar-btn{width:32px;height:32px;font-size:.75rem}.notif-bell-btn{height:30px;padding:0 8px;font-size:12px}.header-right{gap:8px}}.register-screen{display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem}.register-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:2rem;width:100%;max-width:480px;box-shadow:var(--shadow-md, 0 4px 16px rgba(0, 0, 0, .08));color:var(--text-primary)}.register-card h2{margin-top:0;color:var(--text-primary)}.register-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.25rem}.register-form{display:flex;flex-direction:column;gap:4px}.register-form label{margin-top:12px;font-weight:600;font-size:.85rem;color:var(--text-secondary)}.register-form input[type=text],.register-form input[type=email],.register-form input[type=password]{padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem}.register-checkbox{display:flex;align-items:flex-start;gap:8px;font-weight:400!important;font-size:.85rem!important;margin-top:16px!important;color:var(--text-secondary)}.register-checkbox input{margin-top:3px}.register-checkbox a{color:var(--primary-color)}.register-btn-primary{margin-top:18px;padding:10px 16px;background:var(--primary-color);color:var(--button-text-color, #ffffff);border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.95rem}.register-btn-primary:disabled{opacity:.6;cursor:default}.register-btn-primary:hover:not(:disabled){opacity:.9}.register-btn-link{margin-top:14px;background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.9rem;padding:0}.register-btn-link:hover{text-decoration:underline}.register-error{background:var(--error-bg);color:var(--error-color);padding:10px 12px;border-radius:6px;font-size:.9rem;margin:12px 0 0}.register-success{background:var(--success-bg);color:var(--success-color);padding:10px 12px;border-radius:6px;font-size:.95rem;margin:12px 0}.register-hint{color:var(--text-muted);font-size:.85rem;margin-top:8px}.register-resend{display:flex;flex-direction:column;gap:6px;margin:16px 0}.register-resend input{padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem}.product-docs{display:grid;grid-template-columns:240px 1fr;gap:2rem;max-width:1200px;margin:1.5rem auto;padding:0 1rem;align-items:flex-start;color:var(--text-primary)}@media(max-width:800px){.product-docs{grid-template-columns:1fr}}.product-docs__sidebar{position:sticky;top:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1rem;box-shadow:var(--shadow-sm)}[data-theme=matrix] .product-docs__sidebar{border-radius:0}.product-docs__sidebar-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .5rem}.product-docs__sidebar-group{margin-bottom:1rem}.product-docs__sidebar-group:last-child{margin-bottom:0}.product-docs__nav{list-style:none;padding:0;margin:0}.product-docs__nav li{margin:0}.product-docs__nav-link{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;padding:.45rem .65rem;font:inherit;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.product-docs__nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.product-docs__nav-link.is-active{background:var(--bg-hover);color:var(--primary-color);border-color:var(--border-accent);font-weight:600}[data-theme=matrix] .product-docs__nav-link{border-radius:0}[data-theme=matrix] .product-docs__nav-link.is-active{box-shadow:0 0 8px var(--primary-color)}.product-docs__content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:2rem 2.25rem;box-shadow:var(--shadow-sm);line-height:1.65;min-width:0}[data-theme=matrix] .product-docs__content{border-radius:0}.product-docs__breadcrumb{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.product-docs__breadcrumb a,.product-docs__breadcrumb button{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.product-docs__content .md-lite h3,.product-docs__content .md-lite h4,.product-docs__content .md-lite h5,.product-docs__content .md-lite h6{color:var(--text-primary);margin-top:1.6rem;margin-bottom:.6rem}.product-docs__content .md-lite h3{font-size:1.5rem}.product-docs__content .md-lite h4{font-size:1.2rem}.product-docs__content .md-lite p,.product-docs__content .md-lite li{color:var(--text-secondary)}.product-docs__content .md-lite ul,.product-docs__content .md-lite ol{padding-left:1.25rem}.product-docs__content .md-lite code{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:4px;padding:1px 6px;font-family:Fira Code,Consolas,Menlo,monospace;font-size:.9em;color:var(--accent-color)}[data-theme=matrix] .product-docs__content .md-lite code{border-radius:0;color:var(--primary-color)}.product-docs__content .md-lite hr{border:none;border-top:1px solid var(--border-color);margin:1.5rem 0}.product-docs__content .md-lite a{color:var(--primary-color)}.product-docs__content .md-lite .md-table{width:100%;border-collapse:collapse;margin:1rem 0}.product-docs__content .md-lite .md-table th,.product-docs__content .md-lite .md-table td{border:1px solid var(--border-color);padding:.4rem .7rem;text-align:left}.product-docs__content .md-lite .md-table th{background:var(--bg-hover);color:var(--text-primary)}.product-docs__pager{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.product-docs__pager button{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;padding:.6rem 1rem;color:var(--text-primary);cursor:pointer;font:inherit;transition:background .12s ease,border-color .12s ease}.product-docs__pager button:hover{background:var(--primary-color);color:var(--text-light);border-color:var(--primary-color)}.product-docs__pager button:disabled{visibility:hidden}[data-theme=matrix] .product-docs__pager button{border-radius:0}
