.main-container{max-width:1400px;margin:0 auto;padding:2rem 2.5rem}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header h1{font-size:1.25rem;font-weight:650;margin:0;letter-spacing:-.02em}.header-right{display:flex;align-items:center;gap:.5rem}.nav-link,.logout-btn,.version-badge{display:none}.analysis-wrap{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow)}.analysis-wrap h2{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.analysis-wrap h3{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem}.analysis-bar{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-tertiary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.65rem .85rem;align-items:end}.form-options{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:.65rem 0;border-top:1px solid var(--border-tertiary);margin-top:.65rem}.form-options .chk{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;-webkit-user-select:none;user-select:none;white-space:nowrap;cursor:pointer;color:var(--text-primary)}.form-options .chk input[type=checkbox]{accent-color:var(--accent);margin:0}.form-actions{display:flex;gap:.5rem;align-items:center;padding-top:.65rem;border-top:1px solid var(--border-tertiary);margin-top:.35rem}.form-section{border-top:1px solid var(--border-tertiary);margin-top:.65rem;padding-top:.65rem}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.form-section-header label{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-field label{font-size:.75rem;font-weight:550;color:var(--text-secondary);letter-spacing:.01em}.form-grid input[type=text],.form-grid input[type=date],.form-grid input[type=number],.form-grid select,.form-grid textarea{width:100%;padding:.45rem .6rem;border:1px solid var(--input-border);border-radius:5px;font-size:.8125rem;background:var(--input-bg);color:var(--text-primary);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.analysis-form{display:flex;flex-direction:column;gap:0}.primary-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;font-weight:550;cursor:pointer;transition:background .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{padding:.4rem .75rem;border-radius:5px;border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.8rem;font-weight:500;transition:background .15s;text-decoration:none}.secondary-btn:hover{background:var(--hover-bg)}.danger-btn{color:var(--negative);border-color:var(--negative)}.danger-btn:hover{background:var(--negative-bg)}.editable-table{display:flex;flex-direction:column;gap:.35rem}.editable-table-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.4rem;align-items:center}.editable-table.hide-coefficients .editable-table-row{grid-template-columns:1fr 1fr auto}.editable-table-row input{width:100%;box-sizing:border-box;padding:.4rem .5rem;border:1px solid var(--input-border);border-radius:4px;font-size:.8125rem;background:var(--input-bg);color:var(--text-primary)}.editable-table-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.editable-table-add-btn{padding:.25rem .6rem;font-size:.75rem;margin-top:.35rem;width:fit-content}.table-scroller{overflow-x:auto;margin-top:.75rem;border:1px solid var(--border-primary);border-radius:6px}.analysis-table{width:100%;border-collapse:collapse;font-size:.8rem}.analysis-table th,.analysis-table td{padding:.5rem .75rem;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-tertiary)}.analysis-table thead th{background:var(--bg-secondary);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border-primary)}.analysis-table thead th:hover{background:var(--hover-bg)}.analysis-table tbody tr:last-child td{border-bottom:none}.analysis-table tbody tr:hover{background:var(--hover-bg)}.error-alert{margin-bottom:1rem;animation:alertIn .2s ease-out}@keyframes alertIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.error-content{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;background:var(--negative-bg);border:1px solid rgba(220,38,38,.15);border-left:3px solid var(--negative);border-radius:6px}.error-icon{font-size:.85rem;font-weight:700;color:var(--negative);flex-shrink:0;margin-top:.1rem}.error-message{flex:1;color:var(--negative);font-size:.8125rem;line-height:1.5}.error-close{background:none;border:none;font-size:1.1rem;color:var(--negative);cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;line-height:1}.error-close:hover{background:#dc26261a}.info-alert{margin-bottom:1rem;animation:alertIn .2s ease-out}.info-content{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--accent-light);border:1px solid rgba(37,99,235,.12);border-left:3px solid var(--accent);border-radius:6px}.info-icon{font-size:.85rem;flex-shrink:0}.info-message{flex:1;color:var(--accent);font-size:.8125rem;line-height:1.5}.loading-container{display:flex;align-items:center;gap:.6rem;padding:.75rem 0;font-size:.8125rem;color:var(--text-secondary)}.spinner{border:2px solid var(--border-tertiary);width:16px;height:16px;border-radius:50%;border-left-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-actions{display:flex;justify-content:flex-end;gap:.4rem;padding:.5rem 0}.download-csv-btn{background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-secondary);padding:.3rem .6rem;border-radius:4px;font-size:.75rem;cursor:pointer;font-weight:500;transition:background .15s}.download-csv-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.meta-bar{margin-top:.75rem;font-size:.75rem;color:var(--text-tertiary);display:flex;justify-content:space-between}.positive,.opt-positive,.batch-positive{color:var(--positive);font-weight:600}.negative,.opt-negative,.batch-negative{color:var(--negative);font-weight:600}.table-container{margin:.75rem 0;border:1px solid var(--border-primary);border-radius:6px;overflow-x:auto;background:var(--bg-primary)}.readonly-table{width:100%;border-collapse:collapse;font-size:.8rem}.readonly-table th,.readonly-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-tertiary);white-space:nowrap}.readonly-table th{background:var(--bg-secondary);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-primary)}.readonly-table tbody tr:hover{background:var(--hover-bg)}.table-header-actions{display:flex;justify-content:flex-end;gap:.4rem;padding:.4rem .75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-tertiary)}.app-shell{display:flex;min-height:100vh}.sidebar{width:200px;min-width:200px;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;border-right:1px solid var(--sidebar-border)}.sidebar-brand{padding:1.25rem 1rem 1rem;border-bottom:1px solid var(--sidebar-border)}.sidebar-brand-text{font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--sidebar-text-bright)}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem 0}.sidebar-section{padding:.25rem 0}.sidebar-section-label{padding:.5rem 1rem .25rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-text-dim)}.sidebar-link{display:block;padding:.4rem 1rem;font-size:.8rem;font-weight:450;color:var(--sidebar-text);text-decoration:none;transition:color .1s,background .1s;border-left:2px solid transparent}.sidebar-link:hover{color:var(--sidebar-text-bright);background:var(--sidebar-hover)}.sidebar-link.active{color:var(--sidebar-text-bright);background:var(--sidebar-active);border-left-color:var(--accent);font-weight:550}.sidebar-jobs{padding:.5rem .75rem;border-top:1px solid var(--sidebar-border)}.sidebar-jobs-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-text-dim);padding:0 .25rem .35rem}.sidebar-job{display:flex;align-items:center;gap:.4rem;width:100%;padding:.3rem .25rem;background:none;border:none;color:var(--sidebar-text);cursor:pointer;font-size:.75rem;text-align:left;border-radius:4px;transition:background .1s}.sidebar-job:hover{background:var(--sidebar-hover)}.sidebar-job-ticker{font-weight:600;min-width:32px;color:var(--sidebar-text-bright)}.sidebar-job-bar{flex:1;height:3px;background:var(--sidebar-border);border-radius:2px;overflow:hidden}.sidebar-job-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}.sidebar-job-pct{font-variant-numeric:tabular-nums;min-width:24px;text-align:right;color:var(--sidebar-text-dim)}.sidebar-footer{padding:.75rem 1rem;border-top:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:.5rem}.sidebar-versions{display:flex;gap:.5rem;font-size:.65rem;color:var(--sidebar-text-dim);font-variant-numeric:tabular-nums}.sidebar-logout{background:none;border:1px solid var(--sidebar-border);color:var(--sidebar-text);padding:.35rem 0;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .15s,color .15s}.sidebar-logout:hover{background:var(--sidebar-hover);color:var(--sidebar-text-bright)}.app-main{flex:1;margin-left:200px;padding:2rem 2.5rem;min-height:100vh;max-width:1400px}.page-title{font-size:1.25rem;font-weight:650;color:var(--text-primary);margin:0 0 1.5rem;letter-spacing:-.02em;line-height:1.2}.opt-form{display:flex;flex-direction:column;gap:1.25rem}.opt-section h3{margin:0 0 .6rem;font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-tertiary);padding-bottom:.4rem}.opt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.opt-form .form-field label{font-size:.75rem;font-weight:550;color:var(--text-secondary)}.opt-form input[type=text],.opt-form input[type=date],.opt-form input[type=number],.opt-form select{width:100%;padding:.45rem .6rem;border:1px solid var(--input-border);border-radius:5px;font-size:.8125rem;background:var(--input-bg);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.opt-form input:focus,.opt-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.opt-checks{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:.5rem}.opt-checks .chk{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;-webkit-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.opt-checks .chk input[type=checkbox]{accent-color:var(--accent)}.opt-checks .chk:has(input[disabled]){opacity:.4}.opt-start-btn{padding:.55rem 1.5rem;font-size:.875rem;font-weight:550;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s;align-self:flex-start}.opt-start-btn:hover:not(:disabled){background:var(--accent-hover)}.opt-start-btn:disabled{opacity:.5;cursor:not-allowed}.opt-progress-wrap{margin-top:0}.opt-progress-bar-bg{width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-bottom:.6rem}.opt-progress-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .5s ease}.opt-progress-stats{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.opt-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:.75rem 0 1.25rem}.opt-card{padding:.75rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);text-align:center}.opt-card-green{border-left:3px solid var(--positive)}.opt-card-red{border-left:3px solid var(--negative)}.opt-card-label{font-size:.65rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}.opt-card-value{font-size:1.15rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.opt-card-sub{font-size:.7rem;color:var(--text-tertiary);margin-top:.15rem}.opt-best-params{margin-top:1.25rem}.opt-hint{font-size:.75rem;color:var(--text-tertiary);margin:.2rem 0 .4rem}.opt-json{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:5px;padding:.75rem;font-size:.75rem;overflow-x:auto;max-height:280px;overflow-y:auto;margin-bottom:.5rem;line-height:1.5}.opt-btn-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.opt-validate-btn{padding:.3rem .6rem;font-size:.75rem;font-weight:500;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .15s;white-space:nowrap;text-decoration:none}.opt-validate-btn:hover{background:var(--accent-hover);color:#fff}.opt-trade-block{border:1px solid var(--border-primary);border-radius:6px;margin-top:.75rem;overflow:hidden}.opt-trade-header{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.opt-trade-header:hover{background:var(--hover-bg)}.opt-trade-rank{font-size:1rem;font-weight:700;color:var(--accent);min-width:1.75rem}.opt-trade-summary{display:flex;flex-wrap:wrap;gap:.4rem 1rem;flex:1;font-size:.8rem}.opt-trade-toggle{font-size:.75rem;color:var(--accent);font-weight:500;white-space:nowrap}.opt-trade-details{padding:.75rem;border-top:1px solid var(--border-tertiary)}.opt-trade-details h4{margin:0 0 .5rem;font-size:.85rem}.opt-badge{display:inline-block;padding:.1rem .4rem;border-radius:3px;font-size:.7rem;font-weight:600;white-space:nowrap}.opt-badge-dip-buy{background:#fef3c7;color:#92400e}.opt-badge-day-1-buy{background:#dcfce7;color:#166534}.opt-badge-recurring-buy{background:#e0e7ff;color:#3730a3}.opt-badge-recovery-sell{background:#fce7f3;color:#9d174d}.opt-badge-year-end-sell{background:#f3e8ff;color:#6b21a8}.opt-badge-greedy-sell{background:#fef9c3;color:#854d0e}.info-tip-wrap{display:inline-block;position:relative;margin-left:.2rem}.info-tip-btn{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-tertiary);font-size:.6rem;font-weight:700;cursor:pointer;padding:0;line-height:1;vertical-align:middle}.info-tip-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.info-tip-popup{position:absolute;left:50%;transform:translate(-50%);top:calc(100% + 6px);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;padding:.5rem .7rem;font-size:.75rem;font-weight:400;color:var(--text-primary);width:240px;z-index:100;box-shadow:var(--shadow-md);line-height:1.45;white-space:normal;cursor:pointer}.info-guide-toggle{display:inline-block;margin-left:.4rem;font-size:.65rem;padding:.1rem .3rem;border-radius:3px;border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--accent);cursor:pointer;font-weight:500}.info-guide-toggle:hover{background:var(--accent);color:#fff}.iter-guide{margin-top:.6rem;border:1px solid var(--border-tertiary);border-radius:6px;padding:.6rem;background:var(--bg-secondary)}.iter-guide-table{width:100%;border-collapse:collapse;font-size:.75rem}.iter-guide-table th,.iter-guide-table td{padding:.3rem .5rem;text-align:left;border-bottom:1px solid var(--border-tertiary)}.iter-guide-table th{font-weight:600;color:var(--text-secondary);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.iter-guide-note{font-size:.7rem;color:var(--text-tertiary);margin:.4rem 0 0;font-style:italic}.opt-phase-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:.4rem;font-style:italic}.opt-progress-scores{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:.75rem 0}.opt-progress-score-card{padding:.65rem .75rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);text-align:center}.opt-progress-score-card.highlight{border-color:var(--accent);border-width:2px}.opt-progress-score-label{font-size:.65rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}.opt-progress-score-value{font-size:1.1rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.opt-progress-score-sub{font-size:.8rem;font-weight:400;color:var(--text-secondary)}.opt-progress-score-pending{font-size:.8rem;color:var(--text-tertiary);font-style:italic}.opt-progress-score-diff{font-size:.75rem;margin-top:.15rem;font-weight:600;font-variant-numeric:tabular-nums}.opt-progress-score-diff.positive{color:var(--positive)}.opt-progress-score-diff.negative{color:var(--negative)}.opt-best-params{margin:.75rem 0 .25rem;padding:.65rem .85rem;border:1px solid var(--accent);border-radius:6px;background:var(--bg-secondary)}.opt-best-params-title{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:.5rem}.opt-best-params-grid{display:flex;flex-direction:column;gap:.3rem}.opt-best-params-row{display:flex;align-items:baseline;gap:.6rem}.opt-best-params-label{font-size:.68rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;min-width:7rem;flex-shrink:0}.opt-best-params-value{font-size:.85rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.active-jobs-banner{background:var(--accent-light);border:1px solid rgba(37,99,235,.12);border-radius:6px;padding:.6rem .75rem;margin-bottom:.75rem}.active-jobs-banner h4{margin:0 0 .4rem;font-size:.7rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.active-job-row{display:flex;align-items:center;gap:.6rem;padding:.3rem 0;font-size:.8rem}.active-job-type{font-weight:600;color:var(--accent);min-width:50px}.active-job-bar-bg{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;min-width:60px}.active-job-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}.active-job-pct{font-weight:600;font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.history-table-wrap{overflow-x:auto;margin-top:.5rem;border:1px solid var(--border-primary);border-radius:6px}.history-table{width:100%;border-collapse:collapse;font-size:.8rem}.history-table th,.history-table td{padding:.5rem .65rem;text-align:left;border-bottom:1px solid var(--border-tertiary);white-space:nowrap}.history-table th{font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.65rem;letter-spacing:.04em;position:sticky;top:0;background:var(--bg-secondary)}.history-table tbody tr{cursor:pointer;transition:background .1s}.history-table tbody tr:hover{background:var(--hover-bg)}.history-score{font-weight:600;font-variant-numeric:tabular-nums}.history-score.positive{color:var(--positive)}.history-score.negative{color:var(--negative)}.history-badge{display:inline-block;padding:.1rem .4rem;border-radius:3px;font-size:.65rem;font-weight:600}.history-badge.advanced{background:var(--accent-light);color:var(--accent)}.history-badge.multi-ticker{background:#8b5cf61a;color:#7c3aed}.history-detail{background:var(--bg-secondary);padding:1rem;border-radius:6px;margin-bottom:.25rem}.history-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.history-detail h4{margin:0 0 .4rem;font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.history-detail pre{background:var(--bg-primary);border:1px solid var(--border-tertiary);border-radius:5px;padding:.65rem;font-size:.7rem;overflow-x:auto;max-height:280px;margin:0;line-height:1.5}.history-actions{display:flex;gap:.4rem;margin-top:.75rem;flex-wrap:wrap}.history-actions a,.history-actions button{font-size:.75rem;padding:.35rem .65rem;border-radius:4px;text-decoration:none;cursor:pointer;border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);transition:background .1s}.history-actions a:hover,.history-actions button:hover{background:var(--hover-bg)}.history-actions .primary-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.history-actions .primary-btn:hover{background:var(--accent-hover);color:#fff}.history-actions .danger-btn{color:var(--negative);border-color:var(--negative)}.history-actions .danger-btn:hover{background:var(--negative-bg)}.history-note{margin-top:.6rem}.history-note textarea{width:100%;padding:.4rem .5rem;border:1px solid var(--input-border);border-radius:4px;font-size:.75rem;background:var(--input-bg);color:var(--text-primary);resize:vertical;min-height:1.75rem;box-sizing:border-box}.history-empty{text-align:center;padding:3rem;color:var(--text-secondary)}.history-ticker{font-weight:600}.history-flags{display:flex;flex-wrap:wrap;gap:.15rem}.history-flag-badge{display:inline-block;padding:.08rem .3rem;border-radius:3px;font-size:.6rem;font-weight:600;background:var(--accent-light);color:var(--accent);white-space:nowrap}.history-flags-none{font-size:.7rem;color:var(--text-tertiary);font-style:italic}.expanded-row{background:var(--bg-secondary)}.batch-form{display:flex;flex-direction:column;gap:1.25rem}.batch-section h3{margin:0 0 .6rem;font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-tertiary);padding-bottom:.4rem}.batch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.batch-form .form-field label{font-size:.75rem;font-weight:550;color:var(--text-secondary)}.batch-form input[type=text],.batch-form input[type=date],.batch-form input[type=number],.batch-form textarea{width:100%;padding:.45rem .6rem;border:1px solid var(--input-border);border-radius:5px;font-size:.8125rem;background:var(--input-bg);color:var(--text-primary);font-family:inherit;transition:border-color .15s,box-shadow .15s}.batch-form input:focus,.batch-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.batch-tickers-input{grid-column:1 / -1}.batch-tickers-hint{font-size:.7rem;color:var(--text-tertiary);margin-top:.2rem}.batch-params-json{grid-column:1 / -1}.batch-params-json textarea{min-height:100px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.75rem;resize:vertical}.batch-checks{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:.4rem}.batch-checks .chk{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;cursor:pointer}.batch-checks .chk input[type=checkbox]{accent-color:var(--accent)}.batch-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin:.75rem 0 1rem}.batch-card{padding:.65rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);text-align:center}.batch-card-green{border-left:3px solid var(--positive)}.batch-card-red{border-left:3px solid var(--negative)}.batch-card-label{font-size:.65rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}.batch-card-value{font-size:1.05rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.batch-results-table{width:100%;border-collapse:collapse;font-size:.8rem}.batch-results-table th,.batch-results-table td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--border-tertiary)}.batch-results-table th{font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.65rem;letter-spacing:.04em;position:sticky;top:0;background:var(--bg-secondary)}.batch-results-table tbody tr:hover{background:var(--hover-bg)}.batch-ticker-cell{font-weight:600}.batch-beat-badge{display:inline-block;padding:.1rem .35rem;border-radius:3px;font-size:.65rem;font-weight:600}.batch-beat-badge.yes{background:var(--positive-bg);color:var(--positive)}.batch-beat-badge.no{background:var(--negative-bg);color:var(--negative)}.batch-paste-hint{background:var(--bg-secondary);border:1px dashed var(--border-secondary);border-radius:6px;padding:.6rem .75rem;margin-bottom:.75rem;font-size:.8rem;color:var(--text-secondary)}.batch-paste-hint code{background:var(--bg-tertiary);padding:.1rem .25rem;border-radius:3px;font-size:.75rem}.mt-hint-box{background:var(--accent-light);border:1px dashed rgba(37,99,235,.2);border-radius:6px;padding:.6rem .75rem;margin-bottom:.75rem;font-size:.8rem;color:var(--text-secondary)}.mt-tickers-field{width:100%}.mt-tickers-field input{width:100%;padding:.45rem .6rem;border:1px solid var(--input-border);border-radius:5px;font-size:.8125rem;background:var(--input-bg);color:var(--text-primary)}.mt-tickers-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.mt-tickers-hint{font-size:.7rem;color:var(--text-tertiary);margin-top:.2rem}.mt-bh-per-ticker{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem;justify-content:center}.mt-bh-ticker-chip{font-size:.7rem;padding:.1rem .4rem;background:var(--bg-tertiary);border-radius:3px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.mt-breakdown-table td,.mt-breakdown-table th{padding:.5rem .65rem}.analyse-hint-box{background:var(--accent-light);border:1px dashed rgba(37,99,235,.2);border-radius:6px;padding:.6rem .75rem;margin-bottom:.75rem;font-size:.8rem;color:var(--text-secondary)}.wizard-stepper{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:1.5rem;padding:0 1rem}.wizard-step{display:flex;align-items:center;gap:.5rem;cursor:default;-webkit-user-select:none;user-select:none}.wizard-step-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-tertiary);transition:all .2s;flex-shrink:0}.wizard-step.active .wizard-step-circle{border-color:var(--accent);background:var(--accent);color:#fff}.wizard-step.completed .wizard-step-circle{border-color:var(--positive);background:var(--positive);color:#fff}.wizard-step-label{font-size:.75rem;font-weight:550;color:var(--text-tertiary);white-space:nowrap}.wizard-step.active .wizard-step-label{color:var(--accent)}.wizard-step.completed .wizard-step-label{color:var(--positive)}.wizard-step-connector{flex:1;height:2px;background:var(--border-tertiary);margin:0 .75rem;min-width:30px}.wizard-step-connector.completed{background:var(--positive)}.wizard-body{min-height:300px}.candidate-table-wrap{overflow-x:auto;margin:.75rem 0}.candidate-table{width:100%;border-collapse:collapse;font-size:.8rem}.candidate-table th{font-size:.65rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;padding:.4rem .6rem;text-align:left;border-bottom:2px solid var(--border-primary);white-space:nowrap}.candidate-table td{padding:.45rem .6rem;border-bottom:1px solid var(--border-tertiary);font-variant-numeric:tabular-nums}.candidate-table tr:hover{background:var(--hover-bg)}.candidate-row.selected,.candidate-row.selected:hover{background:var(--accent-light)}.candidate-rank{font-weight:700;color:var(--accent);text-align:center}.candidate-check{text-align:center}.candidate-check input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.quality-bar{display:flex;align-items:center;gap:.4rem}.quality-bar-bg{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;min-width:40px}.quality-bar-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .3s}.quality-bar-value{font-size:.75rem;font-weight:600;min-width:32px;text-align:right}.wizard-progress{text-align:center;padding:2rem 0}.wizard-progress-message{font-size:.85rem;color:var(--text-secondary);margin-top:.75rem}.wizard-progress-pct{font-size:1.5rem;font-weight:700;color:var(--accent);margin-top:.5rem;font-variant-numeric:tabular-nums}.results-winner{border:2px solid var(--positive);border-radius:8px;padding:1rem;margin-bottom:1rem;background:var(--bg-secondary)}.results-winner-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--positive);margin-bottom:.5rem}.results-comparison{margin-top:1rem}.wizard-collapsible-header{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem 0;border-bottom:1px solid var(--border-tertiary);margin-bottom:.75rem}.wizard-collapsible-header h3{margin:0;border:none;padding:0}.wizard-collapsible-toggle{font-size:.7rem;color:var(--accent);font-weight:500}.candidate-selection-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.8rem}.candidate-selection-controls button{padding:.2rem .5rem;font-size:.7rem;border:1px solid var(--border-secondary);border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}.candidate-selection-controls button:hover{border-color:var(--accent);color:var(--accent)}.wizard-btn-row{display:flex;gap:.75rem;align-items:center;margin-top:1.25rem}.wizard-back-btn{padding:.45rem 1rem;font-size:.8rem;font-weight:500;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-secondary);border-radius:6px;cursor:pointer}.wizard-back-btn:hover{border-color:var(--accent);color:var(--accent)}.candidate-detail-row td{padding:0!important;border-bottom:2px solid var(--border-primary)!important}.candidate-detail{padding:.75rem 1rem;background:var(--bg-secondary)}.candidate-detail-explain{font-size:.8rem;color:var(--text-secondary);line-height:1.55;margin-bottom:.75rem}.candidate-detail-explain p{margin:0 0 .4rem}.candidate-rejected-note{color:var(--negative);font-style:italic}.candidate-detail-section{margin-top:.75rem}.candidate-detail-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:.5rem;border-bottom:1px solid var(--border-tertiary);padding-bottom:.3rem}.candidate-metrics-grid{display:flex;flex-direction:column;gap:.4rem}.metric-bar-row{display:flex;align-items:center;gap:.5rem}.metric-bar-label{font-size:.75rem;color:var(--text-secondary);min-width:180px;flex-shrink:0}.candidate-bins-table{width:100%;border-collapse:collapse;font-size:.75rem}.candidate-bins-table th{font-size:.6rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;padding:.3rem .5rem;text-align:left;border-bottom:1px solid var(--border-primary)}.candidate-bins-table td{padding:.3rem .5rem;border-bottom:1px solid var(--border-tertiary);font-variant-numeric:tabular-nums}.candidate-ranges{font-size:.7rem;color:var(--text-secondary);max-width:180px;line-height:1.4}.candidate-expand-toggle{font-size:.6rem;color:var(--text-tertiary);text-align:center;width:24px}.candidate-row.candidate-rejected{opacity:.55}.v2-page{display:flex;flex-direction:column;gap:1rem}.v2-form{display:flex;flex-direction:column;gap:.85rem}.v2-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.v2-summary-card{border:1px solid var(--border-primary);border-radius:6px;padding:.7rem .75rem;background:var(--bg-secondary)}.v2-summary-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:.25rem}.v2-summary-value{font-size:1.12rem;font-weight:650;color:var(--text-primary)}.v2-summary-value.positive{color:var(--positive)}.v2-summary-value.negative{color:var(--negative)}.v2-table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.v2-table-toolbar input{max-width:260px;width:100%;padding:.45rem .6rem;border:1px solid var(--input-border);border-radius:5px;background:var(--input-bg);color:var(--text-primary)}.v2-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.v2-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.16rem .45rem;font-size:.7rem;font-weight:600;line-height:1.3}.v2-badge-buy{color:#14532d;background:#22c55e33}.v2-badge-sell{color:#7f1d1d;background:#ef44442e}.v2-badge-forced-buy{color:#854d0e;background:#facc1540}.v2-badge-forced-sell{color:#831843;background:#ec489933}.v2-chart{border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);padding:.35rem}.v2-collapsible{border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary)}.v2-collapsible summary{cursor:pointer;padding:.65rem .8rem;font-weight:550}.v2-collapsible-content{padding:0 .8rem .8rem}.v2-page-desc{padding:.65rem .9rem;border-left:3px solid var(--accent, #2563eb);background:var(--bg-secondary);border-radius:0 6px 6px 0;font-size:.82rem;color:var(--text-secondary);line-height:1.55}.v2-page-desc strong{color:var(--text-primary);font-weight:650}.v2-page-desc ul{margin:.35rem 0 0 1.1rem;padding:0}.v2-page-desc li{margin-bottom:.15rem}.v2-form-section-label{font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding-top:.5rem;border-top:1px solid var(--border-primary);margin-top:.25rem}.v2-radio-group{display:flex;flex-wrap:wrap;gap:.5rem}.v2-radio-label{display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid var(--border-primary);border-radius:5px;cursor:pointer;font-size:.82rem;background:var(--bg-secondary);transition:background .15s,border-color .15s}.v2-radio-label input[type=radio]{margin:0}.v2-radio-selected{border-color:var(--accent, #2563eb);background:#2563eb1a}.v2-ribbon{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);font-size:.88rem}.v2-ribbon-item{display:flex;align-items:center;gap:.3rem}.v2-ribbon-sep{color:var(--text-tertiary);font-weight:400}.v2-funnel{display:flex;gap:.5rem;align-items:flex-end;height:100px;padding:.5rem 0}.v2-funnel-bar{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:1}.v2-funnel-fill{width:100%;background:var(--accent, #2563eb);border-radius:3px 3px 0 0;min-height:4px;opacity:.7}.v2-funnel-label{font-size:.68rem;text-align:center;color:var(--text-tertiary)}.v2-donut-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.v2-regime-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.v2-regime-up{background:#22c55e33;color:#14532d}.v2-regime-side{background:#94a3b833;color:var(--text-secondary)}.v2-regime-down{background:#ef444433;color:#7f1d1d}.v2-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}.v2-status-card{border:1px solid var(--border-primary);border-radius:6px;padding:.65rem .75rem;background:var(--bg-secondary);font-size:.82rem}.v2-status-title{font-weight:650;margin-bottom:.25rem}.v2-status-detail{color:var(--text-tertiary);font-size:.75rem}.v2-top10-table tr.v2-top-row{cursor:pointer}.v2-top10-table tr.v2-top-row:hover{background:#2563eb0f}.v2-compare-blocks{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:768px){.v2-compare-blocks{grid-template-columns:1fr}}.v2-compare-block{border:1px solid var(--border-primary);border-radius:6px;padding:.75rem;background:var(--bg-secondary)}.v2-compare-block-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:.5rem}.v2-banner{padding:.65rem .9rem;border-radius:6px;border:1px solid var(--border-primary);background:#2563eb14;font-size:.84rem}.v2-banner strong{color:#1d4ed8}.v2-progress-wrap{margin:.5rem 0}.v2-progress-bg{height:8px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:999px;overflow:hidden}.v2-progress-fill{height:100%;background:var(--accent, #2563eb);border-radius:999px;transition:width .3s}.v2-progress-label{font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}.v3-page{display:flex;flex-direction:column;gap:1rem}.v3-section{border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary)}.v3-section summary{cursor:pointer;padding:.7rem .9rem;font-weight:650;font-size:.88rem;display:flex;align-items:center;gap:.4rem;list-style:none}.v3-section summary::-webkit-details-marker{display:none}.v3-section-icon{font-size:.65rem;transition:transform .15s}details[open] .v3-section-icon{transform:rotate(90deg)}.v3-section-subtitle{font-size:.73rem;font-weight:400;color:var(--text-tertiary);margin-left:auto}.v3-section-body{padding:0 .9rem .9rem;display:flex;flex-direction:column;gap:.75rem}.v3-slider-wrap{display:flex;flex-direction:column;gap:.35rem}.v3-slider{width:100%;accent-color:var(--accent, #2563eb)}.v3-slider-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-tertiary)}.v3-helper-text{font-size:.78rem;color:var(--text-secondary);padding:.45rem .65rem;background:#2563eb12;border-radius:5px;border-left:2px solid var(--accent, #2563eb)}.v3-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.v3-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#2563eb1f;color:#1d4ed8;border:1px solid rgba(37,99,235,.25)}.v3-chip-remove{background:none;border:none;cursor:pointer;color:inherit;padding:0;font-size:.85rem;line-height:1;opacity:.6}.v3-chip-remove:hover{opacity:1}.v3-chip-add-wrap{display:flex;align-items:center;gap:.3rem}.v3-chip-input{width:56px;padding:.25rem .4rem;border:1px solid var(--input-border);border-radius:4px;background:var(--input-bg);color:var(--text-primary);font-size:.8rem}.v3-recovery-table{width:100%;border-collapse:collapse;font-size:.82rem}.v3-recovery-table th{text-align:left;padding:.3rem .5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);border-bottom:1px solid var(--border-primary)}.v3-recovery-table td{padding:.3rem .5rem;border-bottom:1px solid var(--border-primary)}.v3-recovery-input{width:70px;padding:.25rem .4rem;border:1px solid var(--input-border);border-radius:4px;background:var(--input-bg);color:var(--text-primary);font-size:.8rem}.v3-preset-bar{display:flex;align-items:center;gap:.6rem;margin-bottom:.25rem}.v3-preset-bar label{font-size:.78rem;color:var(--text-tertiary);white-space:nowrap}.v3-preset-bar select{font-size:.82rem;padding:.3rem .5rem;border:1px solid var(--input-border);border-radius:4px;background:var(--input-bg);color:var(--text-primary);flex:1;max-width:300px}.v3-ribbon{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem 1rem;padding:.85rem 1rem;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-secondary)}@media(max-width:640px){.v3-ribbon{grid-template-columns:1fr 1fr}}.v3-ribbon-cell{display:flex;flex-direction:column;gap:.15rem}.v3-ribbon-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.v3-ribbon-value{font-size:1.08rem;font-weight:700;color:var(--text-primary)}.v3-ribbon-sub{font-size:.78rem;color:var(--text-secondary)}.v3-ribbon-value.positive{color:var(--positive, #16a34a)}.v3-ribbon-value.negative{color:var(--negative, #dc2626)}.v3-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}.v3-card{border:1px solid var(--border-primary);border-radius:6px;padding:.65rem .75rem;background:var(--bg-secondary)}.v3-card-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:.2rem}.v3-card-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.v3-card-sub{font-size:.75rem;color:var(--text-secondary);margin-top:.1rem}.v3-card-value.positive{color:var(--positive, #16a34a)}.v3-card-value.negative{color:var(--negative, #dc2626)}.v3-timeline-bar{display:flex;height:20px;border-radius:4px;overflow:hidden;border:1px solid var(--border-primary)}.v3-timeline-seg{min-width:2px;transition:opacity .1s;cursor:default}.v3-timeline-seg:hover{opacity:.8}.v3-timeline-stats{display:flex;gap:1rem;margin-top:.5rem;font-size:.82rem}.v3-mode-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.v3-mode-v1{background:#16a34a2e;color:#15803d}.v3-mode-v2{background:#2563eb26;color:#1d4ed8}.v3-filter-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.v3-filter-chip{padding:.25rem .65rem;border-radius:999px;font-size:.76rem;font-weight:600;border:1px solid var(--border-primary);background:var(--bg-secondary);cursor:pointer;transition:background .12s,border-color .12s;color:var(--text-secondary)}.v3-filter-chip:hover{background:var(--bg-tertiary, var(--bg-primary))}.v3-filter-chip.active{background:#2563eb1f;border-color:var(--accent, #2563eb);color:var(--accent, #2563eb)}tr.v3-row-switch{background:#f9731614}tr.v3-row-deepdrop{background:#ef444414}tr.v3-row-selected{outline:2px solid var(--accent, #2563eb);background:#2563eb14}.v3-field-error{font-size:.73rem;color:var(--negative, #dc2626);margin-top:.15rem}.jobs-section-label{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem}.jobs-active-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.jobs-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:1rem 1.25rem;box-shadow:var(--shadow)}.jobs-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.jobs-card-type{font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.jobs-card-type.advanced{background:#e0e7ff;color:#3730a3}.jobs-card-type.multi-ticker{background:#fef3c7;color:#92400e}.jobs-card-ticker{font-weight:600;font-size:.9rem;color:var(--text-primary)}.jobs-card-time{margin-left:auto;font-size:.7rem;color:var(--text-tertiary)}.jobs-submitted-banner{background:var(--positive-light, #dcfce7);border:1px solid var(--positive);border-radius:6px;padding:.65rem 1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-primary)}.jobs-submitted-banner a{color:var(--accent);font-weight:600;text-decoration:none}.jobs-submitted-banner a:hover{text-decoration:underline}.jobs-completed-wrap{overflow-x:auto}.jobs-completed-table{width:100%;border-collapse:collapse;font-size:.8rem}.jobs-completed-table th{text-align:left;font-size:.65rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;padding:.5rem .6rem;border-bottom:2px solid var(--border-primary);white-space:nowrap}.jobs-completed-table td{padding:.5rem .6rem;border-bottom:1px solid var(--border-tertiary);vertical-align:middle}.jobs-completed-table tbody tr{cursor:pointer;transition:background .1s}.jobs-completed-table tbody tr:hover{background:var(--hover-bg)}.jobs-completed-table tbody tr.expanded-row{background:var(--bg-secondary)}.jobs-detail{padding:1rem 1.25rem;background:var(--bg-secondary);border-top:1px solid var(--border-tertiary)}.jobs-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.jobs-detail h4{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin:0 0 .4rem}.jobs-detail pre{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:5px;padding:.6rem;font-size:.7rem;overflow-x:auto;max-height:240px;overflow-y:auto;line-height:1.5}.jobs-detail-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--border-tertiary)}.jobs-empty{text-align:center;padding:3rem 1rem;color:var(--text-tertiary)}.jobs-empty p{margin-bottom:1rem;font-size:.9rem}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background:var(--bg-page)}.login-form{background:var(--bg-primary);padding:2.5rem;border-radius:10px;border:1px solid var(--border-primary);box-shadow:var(--shadow-md);width:100%;max-width:360px;display:flex;flex-direction:column;gap:1.25rem}.login-form h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:650;color:var(--text-primary);text-align:center;letter-spacing:-.02em}.login-form .error{background:var(--negative-bg);color:var(--negative);padding:.6rem;border-radius:5px;margin:0;text-align:center;font-size:.8125rem;border:1px solid rgba(220,38,38,.12)}.login-form .input-group{display:flex;flex-direction:column;gap:.35rem}.login-form .input-group label{font-size:.8rem;font-weight:550;color:var(--text-secondary)}.login-form .input-group input{padding:.6rem .75rem;border:1px solid var(--input-border);border-radius:6px;font-size:.875rem;background:var(--input-bg);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.login-form .input-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.login-form button[type=submit]{padding:.65rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:550;cursor:pointer;transition:background .15s;margin-top:.25rem}.login-form button[type=submit]:hover{background:var(--accent-hover)}:root{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-page: #f8fafc;--border-primary: #e2e8f0;--border-secondary: #cbd5e1;--border-tertiary: #f1f5f9;--hover-bg: #f1f5f9;--shadow: 0 1px 3px rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .02);--shadow-md: 0 4px 6px rgba(15, 23, 42, .04), 0 2px 4px rgba(15, 23, 42, .02);--input-bg: #ffffff;--input-focus-bg: #ffffff;--input-border: #cbd5e1;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: rgba(37, 99, 235, .08);--positive: #16a34a;--positive-bg: rgba(22, 163, 74, .08);--negative: #dc2626;--negative-bg: rgba(220, 38, 38, .08);--sidebar-bg: #0f172a;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-text: rgba(255, 255, 255, .6);--sidebar-text-bright: rgba(255, 255, 255, .95);--sidebar-text-dim: rgba(255, 255, 255, .35);--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(255, 255, 255, .08)}@media(prefers-color-scheme:dark){:root{--text-primary: rgba(255, 255, 255, .92);--text-secondary: rgba(255, 255, 255, .65);--text-tertiary: rgba(255, 255, 255, .4);--bg-primary: #1e293b;--bg-secondary: #1a2332;--bg-tertiary: #162031;--bg-page: #0f172a;--border-primary: rgba(255, 255, 255, .08);--border-secondary: rgba(255, 255, 255, .12);--border-tertiary: rgba(255, 255, 255, .04);--hover-bg: rgba(255, 255, 255, .04);--shadow: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--input-bg: #1a2332;--input-focus-bg: #1e293b;--input-border: rgba(255, 255, 255, .12);--accent: #3b82f6;--accent-hover: #2563eb;--accent-light: rgba(59, 130, 246, .12);--positive: #4ade80;--positive-bg: rgba(74, 222, 128, .1);--negative: #f87171;--negative-bg: rgba(248, 113, 113, .1);--sidebar-bg: #0c1322;--sidebar-border: rgba(255, 255, 255, .06)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--bg-page);color:var(--text-primary);font-size:.875rem}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.3;letter-spacing:-.01em}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{border-radius:6px;border:1px solid var(--border-secondary);padding:.5rem 1rem;font-size:.8125rem;font-weight:500;font-family:inherit;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:background .15s,border-color .15s;line-height:1.4}button:hover{background:var(--hover-bg);border-color:var(--border-primary)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:.8125rem}pre{font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace}table{font-variant-numeric:tabular-nums}
