:root{--bg:#0b0d12;--bg-elevated:#12151d;--bg-inset:#171b25;--border:#262b38;--text:#e5e7eb;--text-muted:#9ca3af;--text-faint:#6b7280;--accent:#f97316;--accent-hover:#ea6a0d;--danger:#f87171;--success:#22c55e;--warning:#eab308;--up:#f04452;--down:#3182f6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font:14px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}button{font:inherit}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:9px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-outline{border-color:var(--border);color:var(--text);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--text-muted)}.page-loading{text-align:center;color:var(--text-muted);padding:48px}.header{border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:24px;height:64px;padding:0 24px;display:flex}.header-left{align-items:center;gap:32px;min-width:0;display:flex}.brand{color:var(--text);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-icon{background:linear-gradient(135deg, var(--accent), #fb7185);color:#fff;letter-spacing:-.5px;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:flex}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-name{color:var(--text);font-size:15px;font-weight:700}.brand-tagline{color:var(--text-muted);font-size:11px}.nav{align-items:center;gap:20px;display:flex;overflow-x:auto}.nav-item{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:500;text-decoration:none;display:flex}a.nav-item:hover{color:var(--text)}.nav-item-disabled{cursor:default;color:var(--text-faint)}.nav-badge{background:var(--bg-inset);color:var(--text-faint);border-radius:999px;padding:2px 6px;font-size:10px;font-weight:600}.header-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.header-username{color:var(--text-muted);font-size:14px}.header-settings-link{width:32px;height:32px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;display:flex}.header-settings-link:hover{color:var(--text);background:var(--bg-inset)}.login-page{flex:1;justify-content:center;align-items:center;padding:48px 16px;display:flex}.login-card{border:1px solid var(--border);background:var(--bg-elevated);text-align:center;border-radius:16px;width:100%;max-width:420px;padding:40px 36px}.login-card h1{color:var(--text);margin:0 0 8px;font-size:26px;font-weight:700}.login-subtitle{color:var(--text-muted);margin:0 0 28px;font-size:14px}.login-card form{text-align:left;flex-direction:column;display:flex}.login-card label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600}.login-card label:not(:first-of-type){margin-top:16px}.login-card input{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:10px;padding:12px 14px;font-size:14px}.login-card input:focus{border-color:var(--accent);outline:none}.login-card input::placeholder{color:var(--text-faint)}.login-error{color:var(--danger);margin:14px 0 0;font-size:13px}.login-submit{width:100%;margin-top:24px;padding:13px;font-size:15px}.settings-page{flex-direction:column;flex:1;align-items:center;gap:24px;padding:48px 16px;display:flex}.settings-page-title{width:100%;max-width:560px;color:var(--text);margin:0;font-size:22px;font-weight:700}.settings-back-link{width:100%;max-width:760px;color:var(--text-muted);font-size:13px;font-weight:600;text-decoration:none}.settings-back-link:hover{color:var(--accent)}.settings-section-header{align-items:flex-start;gap:12px;width:100%;max-width:760px;display:flex}.settings-section-icon{font-size:20px;line-height:1.4}.settings-section-header h2{color:var(--text);margin:0 0 2px;font-size:16px;font-weight:700}.settings-section-header p{color:var(--text-muted);margin:0;font-size:13px}.settings-menu{flex-direction:column;gap:10px;width:100%;max-width:560px;display:flex}.settings-menu-item{border:1px solid var(--border);background:var(--bg-elevated);border-radius:14px;align-items:center;gap:14px;padding:18px 20px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.settings-menu-item:hover{border-color:var(--accent);background:var(--bg-inset)}.settings-menu-item-icon{font-size:22px}.settings-menu-item-body{flex-direction:column;flex:1;gap:3px;display:flex}.settings-menu-item-title{color:var(--text);font-size:15px;font-weight:700}.settings-menu-item-description{color:var(--text-muted);font-size:12px}.settings-menu-item-chevron{color:var(--text-faint);font-size:20px}.settings-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;width:100%;max-width:420px;padding:32px 32px 36px}.settings-card form{text-align:left;flex-direction:column;display:flex}.settings-card label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600}.settings-card label:not(:first-of-type){margin-top:16px}.settings-card input{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:10px;padding:12px 14px;font-size:14px}.settings-card input:focus{border-color:var(--accent);outline:none}.settings-card input::placeholder{color:var(--text-faint)}.settings-error{color:var(--danger);margin:14px 0 0;font-size:13px}.settings-success{color:var(--accent);margin:14px 0 0;font-size:13px}.settings-submit{width:100%;margin-top:24px;padding:13px;font-size:15px}.batch-runs-panel{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex}.batch-runs-loading,.batch-runs-empty{text-align:center;color:var(--text-muted);margin:0;padding:24px 8px;font-size:13px}.batch-run-row{background:var(--bg-inset);border-left:3px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.batch-run-row.batch-run-status-success{border-left-color:var(--success)}.batch-run-row.batch-run-status-partial{border-left-color:var(--warning)}.batch-run-row.batch-run-status-failure{border-left-color:var(--danger)}.batch-run-row.batch-run-status-running{border-left-color:var(--accent)}.batch-run-row-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.batch-run-row-job{align-items:center;gap:8px;display:flex}.batch-run-job-icon{font-size:15px}.batch-run-job-name{color:var(--text);font-size:14px;font-weight:600}.batch-run-trigger-badge{background:var(--bg);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.batch-run-status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.batch-run-status-badge.batch-run-status-success{color:var(--success);background:#22c55e26}.batch-run-status-badge.batch-run-status-partial{color:var(--warning);background:#eab3081f}.batch-run-status-badge.batch-run-status-failure{color:var(--danger);background:#f8717126}.batch-run-status-badge.batch-run-status-running{color:var(--accent);background:#f973161f}.batch-run-row-meta{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:12px;display:flex}.batch-run-time{color:var(--text);font-weight:600}.batch-run-time-absolute{color:var(--text-faint)}.batch-run-duration:before,.batch-run-count:before{content:"·";color:var(--text-faint);margin-right:10px}.batch-run-count{font-weight:600}.batch-run-count-success{color:var(--success)}.batch-run-count-warning{color:var(--warning)}.batch-run-failed-info{color:var(--danger);word-break:break-word;background:#f8717114;border-radius:8px;padding:6px 10px;font-size:12px}.batch-runs-page-body{flex-direction:column;gap:14px;width:100%;max-width:760px;display:flex}.batch-runs-filter{align-items:center;gap:10px;display:flex}.batch-runs-filter label{color:var(--text-muted);font-size:12px;font-weight:600}.batch-runs-filter select{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.batch-runs-filter select:focus{border-color:var(--accent);outline:none}.info-tooltip{cursor:default;align-items:center;gap:4px;display:inline-flex}.info-tooltip-icon{color:var(--text-faint);font-size:11px}.info-tooltip-bubble{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--accent);min-width:200px;max-width:260px;color:var(--text);text-transform:none;letter-spacing:normal;white-space:pre-line;z-index:1000;pointer-events:none;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:400;line-height:1.45;position:fixed;transform:translate(-50%,-100%);box-shadow:0 8px 20px #00000059}.modal-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;width:100%;max-width:460px;max-height:80vh;padding:20px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.modal-header h2{color:var(--text);margin:0;font-size:16px}.modal-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.modal-close:hover{color:var(--text)}.score-radar-modal{white-space:normal;flex-direction:column;gap:10px;width:340px;max-width:100%;display:flex}.score-radar-intro{flex-direction:column;gap:4px;min-width:0;display:flex}.score-radar-intro p{color:var(--text-muted);overflow-wrap:break-word;min-width:0;margin:0;font-size:12px;line-height:1.5}.score-radar-intro-sub{color:var(--text-faint)!important}.score-radar-intro-sub strong{color:var(--text-muted);font-weight:600}.score-radar-legend{flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.score-radar-legend li{border-bottom:1px solid var(--border);min-width:0;padding:8px 0}.score-radar-legend li:last-child{border-bottom:none;padding-bottom:0}.score-radar-legend-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.score-radar-legend-axis{color:var(--text);font-size:13px;font-weight:600}.score-radar-legend-score{color:var(--accent);font-size:13px;font-weight:600}.score-radar-legend-desc{color:var(--text-faint);overflow-wrap:break-word;margin:0 0 2px;font-size:11px;line-height:1.5}.score-radar-legend-desc-label{min-width:28px;color:var(--text-muted);font-weight:600;display:inline-block}.score-radar-legend-value{color:var(--text-muted);margin:4px 0 0;font-size:12px}.valuation-table-wrap{margin-bottom:36px}.tooltip-value{text-underline-offset:3px;cursor:default;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.valuation-table-wrap h2{color:var(--text);margin:0 0 4px;font-size:18px}.valuation-table-desc{color:var(--text-muted);margin:0 0 12px;font-size:13px}.valuation-table-scroll{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.valuation-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.valuation-table th,.valuation-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.valuation-price-date{color:var(--text-faint);white-space:nowrap;margin-top:2px;font-size:10px}.valuation-table th{color:var(--text-muted);text-transform:uppercase;background:var(--bg-elevated);font-size:11px;font-weight:600}.valuation-table tbody tr:last-child td{border-bottom:none}.valuation-group-row th{text-align:center;background:var(--bg-inset);color:var(--text-faint);letter-spacing:.04em;font-size:10px}.valuation-adj-input{border:1px solid var(--border);background:var(--bg-inset);width:64px;color:var(--text);border-radius:6px;padding:6px 8px;font-size:13px}.valuation-row-muted td{color:var(--text-faint)}.valuation-muted-note{color:var(--text-faint);font-style:italic}.valuation-error-cell{color:var(--danger)}.value-up{color:var(--up);font-weight:600}.value-down{color:var(--down);font-weight:600}.valuation-row-muted td.value-up{color:var(--up)}.valuation-row-muted td.value-down{color:var(--down)}.row-refresh-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:flex}.row-refresh-btn:hover:not(:disabled){color:var(--text);background:var(--bg-inset);border-color:var(--accent)}.row-refresh-btn:disabled{cursor:default;opacity:.6}.row-refresh-spin{animation:.8s linear infinite row-refresh-spin}@keyframes row-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sector-badge{text-transform:none;background:var(--bg-inset);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.sector-badge-unknown{border:1px dashed var(--border);color:var(--text-faint);font-style:italic}.sector-select{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-muted);cursor:pointer;border-radius:999px;max-width:110px;padding:2px 6px;font-size:11px;font-weight:500}.sector-select:hover{border-color:var(--accent);color:var(--text)}.ticker-cell{white-space:nowrap;flex-direction:column;gap:4px;display:flex}.ticker-cell-symbol-row{align-items:center;gap:4px;display:flex}.ticker-cell-symbol{color:var(--text);font-weight:600}.ticker-cell-score-btn{cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:12px;line-height:1}.ticker-cell-score-btn:hover{opacity:1}.ticker-cell-company{color:var(--text-faint);font-size:11px}.ticker-cell-badges{gap:4px;display:flex}.group-badge{background:var(--bg-inset);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}.quant-target-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}.quant-target-badge-included{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.quant-target-badge-excluded{background:var(--bg-inset);color:var(--text-faint);border:1px dashed var(--border)}.tickers-page{box-sizing:border-box;width:100%;max-width:860px;margin:0 auto;padding:40px 24px}.tickers-page h1{color:var(--text);margin:0 0 24px;font-size:24px}.ticker-form{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.ticker-form input[type=text],.ticker-form input:not([type]){border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px}.ticker-checkbox{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.ticker-form input:disabled,.ticker-form select:disabled{opacity:.5;cursor:not-allowed}.tickers-multi-hint{color:var(--text-muted);margin:-12px 0 16px;font-size:12px}.tickers-callout{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;margin:0 0 16px;padding:10px 14px;font-size:12px;line-height:1.6}.tickers-callout-link{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.tickers-register-message{color:var(--accent);margin:0 0 16px;font-size:13px}.tickers-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.tickers-summary{color:var(--text-muted);font-size:13px}.tickers-summary strong{color:var(--text)}.tickers-search-input{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;min-width:220px;padding:8px 12px;font-size:13px}.ticker-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ticker-th-sortable:hover{color:var(--text)}.ticker-row-actions{flex-wrap:wrap;gap:6px;display:flex}.tickers-error{color:var(--danger);margin-bottom:16px;font-size:13px}.tickers-empty{color:var(--text-muted);font-size:14px}.ticker-table{border-collapse:collapse;width:100%;font-size:14px}.ticker-table th,.ticker-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.ticker-table th{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.btn-small{padding:6px 10px;font-size:12px}.sector-manage{border:1px solid var(--border);background:var(--bg-inset);border-radius:10px;margin:20px 0 24px;padding:16px}.sector-manage h2{color:var(--text);margin:0 0 4px;font-size:15px}.sector-manage-desc{color:var(--text-muted);margin:0 0 12px;font-size:12px;line-height:1.5}.sector-manage-form{gap:8px;margin-bottom:12px;display:flex}.sector-manage-form input{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.sector-manage-list{flex-wrap:wrap;gap:8px;display:flex}.sector-manage-item{align-items:center;gap:6px;padding:4px 6px 4px 10px;display:inline-flex}.sector-manage-item button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px;line-height:1}.sector-manage-item button:hover{color:var(--danger)}.quant-layout{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:40px 24px}.quant-layout h1{color:var(--text);margin:0 0 8px;font-size:24px}.quant-layout-desc{color:var(--text-muted);margin:0 0 20px;font-size:13px}.quant-tabs{border-bottom:1px solid var(--border);gap:6px;margin-bottom:28px;display:flex}.quant-tab{color:var(--text-muted);border-bottom:2px solid #0000;padding:10px 16px;font-size:14px;text-decoration:none;transition:color .15s,border-color .15s}.quant-tab:hover{color:var(--text)}.quant-tab-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.quant-placeholder{text-align:center;color:var(--text-muted);padding:60px 24px}.quant-placeholder h2{color:var(--text);margin:0 0 8px;font-size:18px}.valuation-loading,.valuation-empty{color:var(--text-muted);font-size:13px}.valuation-error{color:var(--danger);margin-bottom:16px;font-size:13px}.valuation-form{gap:10px;margin-bottom:24px;display:flex}.valuation-form input{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;flex:1;padding:10px 12px;font-size:14px}.valuation-apply-message{color:var(--accent);margin-bottom:16px;font-size:13px}.valuation-search-label{color:var(--text-muted);white-space:nowrap;align-items:center;font-size:13px;display:flex}.valuation-callout{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;margin:0 0 16px;padding:10px 14px;font-size:12px;line-height:1.6}.valuation-callout strong{color:var(--text)}.group-manage-desc{color:var(--text-muted);margin:0 0 12px;font-size:12px;line-height:1.5}.group-manage-form{gap:8px;margin-bottom:12px;display:flex}.group-manage-form input{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;flex:1;padding:8px 10px;font-size:13px}.group-manage-error{color:var(--danger);margin:0 0 12px;font-size:13px}.group-manage-empty{color:var(--text-muted);margin:0;font-size:13px}.group-manage-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.group-manage-item{border:1px solid var(--border);background:var(--bg-inset);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.group-manage-info{align-items:baseline;gap:8px;min-width:0;display:flex}.group-manage-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.group-manage-count{color:var(--text-faint);white-space:nowrap;font-size:11px}.group-manage-actions{flex-shrink:0;gap:4px;display:flex}.group-manage-actions button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:4px 8px;font-size:12px}.group-manage-actions button:hover{color:var(--text);border-color:var(--accent)}.group-manage-delete:hover{color:var(--danger)!important;border-color:var(--danger)!important}.group-manage-edit{flex:1;align-items:center;gap:6px;display:flex}.group-manage-edit input{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.group-manage-edit button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:4px 8px;font-size:12px}.group-manage-edit button:hover{color:var(--text);border-color:var(--accent)}.quant-watchlist-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.quant-watchlist-filter{color:var(--text-muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.quant-watchlist-count{color:var(--text-faint);margin-right:auto;padding-bottom:8px;font-size:13px}.quant-watchlist-toolbar select{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.quant-watchlist-symbol-query{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;width:160px;padding:8px 10px;font-size:13px}.quant-watchlist-bulk-bar{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.quant-watchlist-bulk-label{color:var(--text-muted);font-size:13px}.quant-watchlist-bulk-label strong{color:var(--accent)}.quant-watchlist-bulk-bar select,.quant-watchlist-bulk-bar button{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:12px}.quant-watchlist-bulk-bar button:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.quant-watchlist-bulk-bar button:disabled{opacity:.5;cursor:not-allowed}.quant-watchlist-bulk-delete{margin-left:auto}.quant-watchlist-bulk-delete:hover:not(:disabled){color:var(--danger)!important;border-color:var(--danger)!important}.quant-watchlist-bulk-message{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:13px}.quant-watchlist-sector-warning{color:#eab308;background:#eab3081f;border:1px solid #eab3084d;border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:13px}.quant-watchlist-sector-warning strong{color:var(--text)}.period-picker{align-items:center;gap:10px;padding-bottom:8px;display:flex;position:relative}.period-picker-trigger{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px}.period-picker-anchor-label{color:var(--text-faint);white-space:nowrap;font-size:12px}.period-picker-popover{z-index:10;border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;min-width:220px;padding:14px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000004d}.period-picker-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex}.period-picker-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 10px;font-size:12px}.period-picker-tabs button:hover{color:var(--text)}.period-picker-tab-active{font-weight:600;color:var(--accent)!important;border-bottom-color:var(--accent)!important}.period-picker-presets{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.period-picker-presets button{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 0;font-size:13px}.period-picker-presets button:hover{border-color:var(--accent);color:var(--accent)}.period-picker-custom{flex-direction:column;gap:10px;display:flex}.period-picker-custom-note{color:var(--text-faint);margin:0;font-size:11px;line-height:1.5}.period-picker-custom label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.period-picker-custom input[type=date]{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:6px;padding:8px 10px;font-size:13px}.period-picker-apply{margin-top:2px;padding:8px 0;font-size:13px}.period-picker-apply:disabled{opacity:.5;cursor:not-allowed}.as-of-date-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 16px;padding:12px 16px;display:flex}.as-of-date-card strong{color:var(--text);font-size:15px}.as-of-date-card-checked{color:var(--text-faint);font-size:12px}.daily-check-callout{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;flex-direction:column;gap:8px;margin:0 0 16px;padding:10px 14px;font-size:12px;line-height:1.6;display:flex}.daily-check-callout p{margin:0}.daily-check-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.daily-check-toolbar h2{color:var(--text);margin:0;font-size:18px}.daily-check-filters{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:12px;display:flex}.daily-check-filter{color:var(--text-muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.daily-check-filters select{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.daily-check-symbol-query{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;width:160px;padding:8px 10px;font-size:13px}.daily-check-actions{gap:8px;margin:12px 0;display:flex}.daily-check-status-message{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);border-radius:8px;margin:0 0 16px;padding:10px 14px;font-size:13px}.daily-check-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;display:grid}.daily-check-summary-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.daily-check-summary-card span{color:var(--text-muted);font-size:12px}.daily-check-summary-card strong{color:var(--text);font-size:18px}.daily-check-tabs{gap:6px;margin-bottom:16px;display:flex}.daily-check-tabs button{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px}.daily-check-tabs button:hover{color:var(--text)}.daily-check-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.daily-check-badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.daily-check-badge-out{color:var(--down);background:#ef444426}.daily-check-badge-in{color:var(--up);background:#22c55e26}.daily-check-badge-target{background:var(--bg-inset);color:var(--text);border:1px solid var(--border)}.daily-check-badge-nontarget{background:var(--bg-inset);color:var(--text-faint);border:1px solid var(--border)}.daily-check-badge-insufficient{color:#eab308;border:1px solid var(--border);background:#eab3081f}.daily-check-delete{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px}.daily-check-delete:hover:not(:disabled){border-color:var(--down);color:var(--down)}.daily-check-delete:disabled{opacity:.5;cursor:not-allowed}.top-bottom-movers{grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0;display:grid}@media (width<=900px){.top-bottom-movers{grid-template-columns:1fr}}.mover-panel{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;padding:16px 18px}.mover-panel h3{color:var(--text);margin:0 0 2px;font-size:14px}.mover-panel-desc{color:var(--text-faint);margin:0 0 12px;font-size:11px}.mover-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 0;display:flex}.mover-panel .mover-row:first-of-type{border-top:none}.mover-row-ticker{align-items:baseline;gap:6px;min-width:130px;display:flex}.mover-row-symbol{color:var(--text);font-size:13px;font-weight:600}.mover-row-name{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:11px;overflow:hidden}.mover-row-bar-track{background:var(--bg-inset);border-radius:999px;flex:1;min-width:60px;height:6px;overflow:hidden}.mover-row-bar{border-radius:999px;height:100%}.mover-row-bar.value-up{background:var(--up)}.mover-row-bar.value-down{background:var(--down)}.mover-row-values{align-items:baseline;gap:8px;margin-left:auto;display:flex}.mover-row-prices{color:var(--text-faint);white-space:nowrap;font-size:11px}.mover-row-pct{text-align:right;min-width:56px;font-size:13px;font-weight:600}.mover-row-date-note{color:var(--text-faint);flex-basis:100%;font-size:10px;font-style:italic}.perf-bar-wrap{flex-direction:column;gap:4px;margin-top:2px;display:flex}.perf-bar-track{background:var(--bg-inset);border-radius:999px;height:6px;position:relative}.perf-bar-empty{background:var(--bg-inset)}.perf-bar-axis-labels{color:var(--text-faint);justify-content:space-between;font-size:10px;display:flex}.perf-bar-zero{background:var(--border);width:1px;position:absolute;top:-2px;bottom:-2px}.perf-bar-fill{border-radius:999px;position:absolute;top:0;bottom:0}.perf-bar-fill.value-up{background:var(--up)}.perf-bar-fill.value-down{background:var(--down)}.perf-bar-marker{background:var(--text);border-radius:999px;width:2px;position:absolute;top:-3px;bottom:-3px;transform:translate(-1px)}.performance-comparison{flex-direction:column;gap:16px;margin:20px 0;display:flex}.performance-comparison-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.performance-sync-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.performance-sync-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.performance-sync-btn:disabled{opacity:.6;cursor:default}.performance-comparison-sync-message{color:var(--text-faint);font-size:11px}.performance-section-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.performance-section-header h4{color:var(--text);margin:0;font-size:13px}.performance-section-range{color:var(--text-faint);font-size:11px}.performance-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=900px){.performance-cards{grid-template-columns:1fr}}.performance-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.performance-card span{color:var(--text-muted);font-size:12px}.performance-card strong{color:var(--text);font-size:18px}.performance-card-empty{color:var(--text-faint);font-size:14px;font-weight:500}.performance-card-note{color:var(--text-faint);font-size:10px;font-style:italic}.daily-report-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.daily-report-toolbar h2{color:var(--text);align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.daily-report-section{border-bottom:1px solid var(--border);gap:16px;margin:22px 0;padding-bottom:22px;display:flex}.daily-report-section:last-child{border-bottom:none;padding-bottom:0}.daily-report-section-head{flex:0 0 200px;align-items:flex-start;gap:10px;display:flex}@media (width<=900px){.daily-report-section{flex-direction:column}.daily-report-section-head{flex:none}}.daily-report-section-icon{font-size:18px;line-height:1}.daily-report-section-heading h3{color:var(--text);margin:0 0 4px;font-size:14px}.daily-report-section-heading p{color:var(--text-faint);margin:0;font-size:11px;line-height:1.5}.daily-report-section-body{flex:1;min-width:0}.daily-report-change-cards{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=700px){.daily-report-change-cards{grid-template-columns:1fr}}.daily-report-change-card{border:1px solid var(--border);background:var(--bg-elevated);border-left-width:3px;border-radius:10px;padding:14px 16px}.daily-report-change-card-in{border-left-color:var(--up)}.daily-report-change-card-out{border-left-color:var(--down)}.daily-report-change-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.daily-report-change-header span{color:var(--text-muted);font-size:12px}.daily-report-change-header strong{color:var(--text);font-size:18px}.daily-report-change-empty{color:var(--text-faint);margin:0;font-size:13px}.daily-report-change-badges{flex-wrap:wrap;gap:6px;display:flex}.daily-report-weight-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.daily-report-weight-badge-up{color:var(--up);background:#f0445226}.daily-report-weight-badge-down{color:var(--down);background:#3182f626}.simulation-config{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.simulation-config label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.simulation-config-save{align-self:flex-end}.simulation-config input,.simulation-config select{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:6px;min-width:160px;padding:7px 10px;font-size:14px}.simulation-input-group{display:inline-flex;position:relative}.simulation-input-group input{min-width:160px}.simulation-input-with-prefix{padding-left:22px!important}.simulation-input-with-suffix{padding-right:22px!important}.simulation-input-affix{color:var(--text-muted);pointer-events:none;font-size:14px;position:absolute;top:50%;transform:translateY(-50%)}.simulation-input-affix-prefix{left:10px}.simulation-input-affix-suffix{right:10px}.simulation-status-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.simulation-status-text{color:var(--text-muted);font-size:13px}.simulation-badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.simulation-badge-active{color:var(--up);background:#22c55e26}.simulation-badge-idle{color:#eab308;border:1px solid var(--border);background:#eab3081f}.simulation-status-message{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);border-radius:8px;margin:0 0 16px;padding:10px 14px;font-size:13px}.simulation-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;display:grid}@media (width<=900px){.simulation-summary{grid-template-columns:repeat(2,1fr)}}.simulation-summary-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.simulation-summary-card span{color:var(--text-muted);font-size:12px}.simulation-summary-card strong{color:var(--text);font-size:18px}.simulation-summary-card-note{color:var(--text-faint);font-size:11px}.simulation-summary-card-link{color:var(--accent);width:fit-content;margin-top:2px;font-size:11px;text-decoration:none}.simulation-summary-card-link:hover{text-decoration:underline}.simulation-position-caption{color:var(--text-muted);margin:0 0 10px;font-size:13px}.simulation-preview-note{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;margin:0 0 16px;padding:10px 14px;font-size:12px;line-height:1.6}.quant-model-performance-page h2{color:var(--text);margin:0 0 4px;font-size:18px}.allocation-history-callout{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;margin:10px 0 16px;padding:10px 14px;font-size:12px;line-height:1.6}.allocation-history-callout strong{color:var(--text)}.allocation-history-summary{gap:12px;margin:0 0 20px;display:flex}.allocation-history-summary-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;flex:1;gap:6px;padding:14px 16px;display:flex}.allocation-history-summary-card span{color:var(--text-muted);font-size:12px}.allocation-history-summary-card strong{color:var(--text);font-size:20px}.allocation-history-list{flex-direction:column;gap:10px;display:flex}.allocation-history-row{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;grid-template-columns:180px 1fr 170px 190px;align-items:center;gap:16px;padding:14px 16px;display:grid}@media (width<=1000px){.allocation-history-row{grid-template-columns:1fr}}.allocation-history-period{flex-direction:column;gap:6px;display:flex}.allocation-history-period strong{color:var(--text);font-size:13px}.allocation-history-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.allocation-history-trigger-badge{background:var(--bg-inset);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;width:fit-content;padding:2px 8px;font-size:10px;font-weight:600}.allocation-history-status-open{color:var(--up);width:fit-content;font-size:11px;font-weight:600}.allocation-history-status-closed{color:var(--text-faint);width:fit-content;font-size:11px}.allocation-history-changes{flex-direction:column;gap:6px;display:flex}.allocation-history-badge-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.allocation-history-badge-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.allocation-history-badges{flex-wrap:wrap;gap:4px;display:flex}.allocation-history-no-change{color:var(--text-faint);font-size:12px}.allocation-history-returns{flex-direction:column;gap:6px;display:flex}.allocation-history-metric{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.allocation-history-metric span{color:var(--text-muted);white-space:nowrap;font-size:11px}.allocation-history-metric strong{font-size:14px}.allocation-history-values{justify-content:flex-end;align-items:baseline;gap:8px;display:flex}.allocation-history-values span{color:var(--text-muted);white-space:nowrap;font-size:11px}.allocation-history-values-amount{color:var(--text);white-space:nowrap;font-size:12px}@media (width<=1000px){.allocation-history-values{justify-content:flex-start}}.ticker-history-leaderboard{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}@media (width<=700px){.ticker-history-leaderboard{grid-template-columns:1fr}}.ticker-history-leaderboard-panel{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;padding:12px 16px}.ticker-history-leaderboard-panel h4{color:var(--text-muted);margin:0 0 8px;font-size:12px}.ticker-history-leaderboard-row{align-items:baseline;gap:8px;padding:4px 0;display:flex}.ticker-history-leaderboard-symbol{color:var(--text);flex-shrink:0;width:44px;font-size:12px;font-weight:600}.ticker-history-leaderboard-name{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.ticker-history-leaderboard-row strong{font-size:12px}.ticker-history-list{flex-direction:column;gap:10px;display:flex}.ticker-history-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;padding:14px 16px}.ticker-history-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ticker-history-card-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.ticker-history-symbol{color:var(--text);font-size:14px;font-weight:700}.ticker-history-company{color:var(--text-faint);font-size:12px}.ticker-history-card-stats{align-items:center;gap:14px;display:flex}.ticker-history-card-count{color:var(--text-muted);white-space:nowrap;font-size:11px}.ticker-history-card-stats .allocation-history-metric{justify-content:flex-start}.ticker-history-timeline{margin-top:12px}.ticker-history-timeline-track{background:var(--bg-inset);border-radius:999px;height:10px;position:relative}.ticker-history-timeline-segment{background:var(--accent);border-radius:999px;position:absolute;top:0;bottom:0}.ticker-history-timeline-labels{color:var(--text-faint);justify-content:space-between;margin-top:4px;font-size:10px;display:flex}.ticker-history-toggle{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;margin-top:10px;padding:5px 12px;font-size:11px;font-weight:600}.ticker-history-toggle:hover{border-color:var(--text-muted);color:var(--text)}.ticker-history-detail-table{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.ticker-history-detail-header,.ticker-history-detail-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:8px;padding:4px 0;font-size:12px;display:grid}.ticker-history-detail-header{color:var(--text-faint);font-size:11px}.ticker-history-detail-row{color:var(--text-muted)}.ticker-history-detail-row strong{font-size:12px}@media (width<=700px){.ticker-history-detail-header,.ticker-history-detail-row{grid-template-columns:repeat(2,1fr)}}.performance-summary{--series-1:#f97316;--series-2:#3987e5;--series-3:#a855f7;--chart-grid:#2c2c2a;--chart-muted:#898781}.performance-summary-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.performance-summary-unit-toggle{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.performance-summary-unit-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:5px 14px;font-size:12px;font-weight:600}.performance-summary-unit-toggle button.active{background:var(--accent);color:#fff}.performance-summary-sync{align-items:center;gap:10px;display:flex}.performance-summary-sync-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:5px 12px;font-size:11px;font-weight:600;display:inline-flex}.performance-summary-sync-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.performance-summary-sync-btn:disabled{opacity:.6;cursor:default}.performance-summary-sync-message{color:var(--text-faint);font-size:11px}.performance-summary-chart-wrap{margin-top:20px}.performance-summary-tooltip{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;padding:10px 12px;font-size:12px}.performance-summary-tooltip-date{color:var(--text);margin:0 0 6px;font-weight:600}.performance-summary-tooltip p{margin:2px 0}.performance-summary-subheading{color:var(--text);margin:28px 0 12px;font-size:14px}.performance-summary-monthly-grid-wrap{overflow-x:auto}.performance-summary-monthly-grid{border-collapse:collapse;width:100%;min-width:760px;font-size:12px}.performance-summary-monthly-grid th,.performance-summary-monthly-grid td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 6px}.performance-summary-monthly-grid th{color:var(--text-muted);font-size:11px;font-weight:500}.performance-summary-monthly-grid-year{text-align:left;color:var(--text);font-weight:600}.performance-summary-monthly-grid-empty{color:var(--text-faint)}.value-up{color:var(--up)}.value-down{color:var(--down)}.growth-tracker-layout{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:40px 24px}.growth-tracker-layout h1{color:var(--text);margin:0 0 8px;font-size:24px}.growth-tracker-layout-desc{color:var(--text-muted);margin:0 0 20px;font-size:13px}.growth-tracker-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.growth-tabs{gap:6px;display:flex}.growth-tab{color:var(--text-muted);border-bottom:2px solid #0000;padding:10px 16px;font-size:14px;text-decoration:none;transition:color .15s,border-color .15s}.growth-tab:hover{color:var(--text)}.growth-tab-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.growth-preview-modal{--role-1:#818cf8;--role-2:#c084fc;--role-3:#2dd4bf;flex-direction:column;gap:14px;display:flex}.preview-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.preview-badge-positive{color:#22c55e;background:#22c55e26}.preview-badge-negative{color:#ef4444;background:#ef444426}.preview-badge-mixed{color:#eab308;background:#eab3081f}.preview-badge-muted{background:var(--bg-inset);color:var(--text-faint);border:1px solid var(--border)}.preview-badge-outline{background:var(--bg-inset);color:var(--text-muted);border:1px solid var(--border);font-weight:500}.preview-header{flex-direction:column;gap:6px;display:flex}.preview-header-badges{flex-wrap:wrap;gap:6px;display:flex}.preview-header-dates{color:var(--text-faint);gap:12px;font-size:12px;display:flex}.preview-summary{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.6}.preview-snapshot-tiles{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.preview-snapshot-tile{border:1px solid var(--border);background:var(--bg-inset);border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.preview-snapshot-tile span{color:var(--text-faint);font-size:11px}.preview-snapshot-tile strong{color:var(--text);font-size:13px}.preview-periods-title{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:600}.preview-periods{flex-direction:column;display:flex}.preview-period-card{border:1px solid var(--border);border-left:3px solid var(--border);background:var(--bg-inset);border-radius:8px;margin-bottom:8px;padding:10px 12px}.preview-period-card.preview-role-primary{border-left-color:var(--role-1)}.preview-period-card.preview-role-secondary{border-left-color:var(--role-2)}.preview-period-card.preview-role-final{border-left-color:var(--role-3)}.preview-period-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.preview-period-label{color:var(--text);font-size:13px;font-weight:600}.preview-role-badge{white-space:nowrap;border-radius:999px;align-items:center;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.preview-role-primary{color:var(--role-1);background:#818cf826}.preview-role-secondary{color:var(--role-2);background:#c084fc26}.preview-role-final{color:var(--role-3);background:#2dd4bf26}.preview-period-badges{flex-wrap:wrap;gap:6px;display:flex}.preview-period-range{color:var(--text-muted);margin-top:4px;font-size:12px;font-weight:600}.preview-period-rows{flex-direction:column;gap:6px;margin-top:8px;display:flex}.preview-period-row{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.preview-period-row-values{align-items:baseline;gap:8px;font-weight:600;display:flex}.preview-period-row-sub{color:var(--text-faint);font-size:11px;font-weight:400}.preview-period-empty{color:var(--text-faint);margin:8px 0 0;font-size:12px}.preview-disclaimer{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-faint);border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.6}.growth-ticker-form{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.growth-ticker-form input{border:1px solid var(--border);background:var(--bg-inset);min-width:140px;color:var(--text);border-radius:8px;flex:1;padding:10px 12px;font-size:14px}.growth-tickers-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.growth-tickers-toolbar h2{color:var(--text);margin:0;font-size:16px}.growth-tickers-filters{gap:8px;display:flex}.growth-tickers-filters select{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.growth-tickers-symbol-query{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;width:160px;padding:8px 10px;font-size:13px}.growth-register-success{border:1px solid var(--accent);background:var(--bg-elevated);border-radius:10px;margin-bottom:20px;padding:16px 18px}.growth-register-success-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.growth-register-success-title{color:var(--accent);font-size:15px;font-weight:600}.growth-register-success-actions{gap:8px;display:flex}.growth-register-success-desc{color:var(--text-muted);margin:6px 0 14px;font-size:13px}.growth-register-success-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.growth-register-success-grid>div{background:var(--bg-inset);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.growth-register-success-grid span{color:var(--text-faint);font-size:11px}.growth-register-success-grid strong{color:var(--text);font-size:14px}.value-muted{color:var(--text-faint)}.growth-ticker-symbol-link{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.growth-ticker-symbol-link:hover{text-decoration:underline}.growth-ticker-preview-btn{cursor:pointer;opacity:.7;background:0 0;border:none;margin-left:6px;padding:0;font-size:12px;line-height:1}.growth-ticker-preview-btn:hover{opacity:1}.growth-ranking-chart-wrap{--series-1:#3987e5;--series-2:#199e70;--chart-grid:#2c2c2a;--chart-muted:#898781;margin-bottom:36px}.growth-ranking-chart-wrap h2{color:var(--text);margin:0 0 4px;font-size:18px}.growth-ranking-tooltip{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;padding:10px 12px;font-size:12px}.growth-ranking-tooltip-symbol{color:var(--text);margin:0 0 6px;font-weight:600}.growth-ranking-tooltip p{margin:2px 0}.manual-history-entry{margin:16px 0 24px}.manual-history-panel{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;margin-top:12px;padding:16px}.manual-history-desc{color:var(--text-muted);margin:0 0 12px;font-size:13px}.manual-history-table input{border:1px solid var(--border);background:var(--bg-inset);width:100%;min-width:84px;color:var(--text);border-radius:6px;padding:6px 8px;font-size:13px}.manual-history-table input:focus{border-color:var(--accent);outline:none}.manual-history-table input[type=date]{min-width:140px}.manual-history-row-remove{border:1px solid var(--border);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;line-height:1}.manual-history-row-remove:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.manual-history-row-remove:disabled{opacity:.4;cursor:default}.manual-history-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.ticker-combobox{width:260px;position:relative}.ticker-combobox input{border:1px solid var(--border);background:var(--bg-inset);width:100%;color:var(--text);box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:14px}.ticker-combobox-dropdown{z-index:10;border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;max-height:320px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000004d}.ticker-combobox-dropdown ul{margin:0;padding:4px;list-style:none}.ticker-combobox-dropdown li button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.ticker-combobox-dropdown li button:hover{background:var(--bg-inset)}.ticker-combobox-symbol{min-width:56px;font-weight:600}.ticker-combobox-company{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ticker-combobox-empty{color:var(--text-faint);margin:0;padding:12px;font-size:12px}.ticker-combobox-more{border:none;border-top:1px solid var(--border);width:100%;color:var(--accent);cursor:pointer;background:0 0;padding:8px;font-size:12px}.ticker-combobox-more:hover{background:var(--bg-inset)}.growth-detail-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.growth-detail-tab{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.growth-detail-tab:hover{border-color:var(--accent);color:var(--text)}.growth-detail-tab-active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.growth-detail-page>.ticker-combobox{margin-bottom:24px}.growth-detail-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.growth-detail-symbol{color:var(--text);font-size:18px;font-weight:700}.growth-detail-company{color:var(--text-muted);font-size:14px}.growth-detail-meta{color:var(--text-faint);margin-left:auto;font-size:12px}.growth-detail-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 36px;display:grid}.growth-detail-stat{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.growth-detail-stat span{color:var(--text-muted);font-size:12px}.growth-detail-stat strong{color:var(--text);font-size:18px}.growth-detail-stat strong.value-up{color:var(--up)}.growth-detail-stat strong.value-down{color:var(--down)}.growth-detail-stat-sub{color:var(--text-faint);font-size:12px}.growth-detail-page h2{color:var(--text);margin:0 0 4px;font-size:16px}.growth-detail-history-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.growth-detail-sort-toggle{border:1px solid var(--border);background:var(--bg-inset);border-radius:8px;gap:4px;padding:3px;display:flex}.growth-detail-sort-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:13px}.growth-detail-sort-toggle button.active{background:var(--accent);color:#fff;font-weight:600}.growth-detail-history-more{justify-content:center;margin-top:12px;display:flex}.growth-detail-search{align-items:center;gap:10px;margin-bottom:16px;display:flex}.growth-detail-search-label{color:var(--text-muted);white-space:nowrap;font-size:13px}.growth-change-value{text-underline-offset:3px;cursor:default;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.journal-layout{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:40px 24px}.journal-layout h1{color:var(--text);margin:0 0 8px;font-size:24px}.journal-layout-desc{color:var(--text-muted);margin:0 0 20px;font-size:13px}.journal-tabs{border-bottom:1px solid var(--border);gap:6px;margin-bottom:28px;display:flex}.journal-tab{color:var(--text-muted);border-bottom:2px solid #0000;padding:10px 16px;font-size:14px;text-decoration:none;transition:color .15s,border-color .15s}.journal-tab:hover{color:var(--text)}.journal-tab-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.journal-callout{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;margin:0 0 16px;padding:10px 14px;font-size:12px;line-height:1.6}.journal-error{color:var(--danger);margin-bottom:16px;font-size:13px}.journal-empty{color:var(--text-muted);font-size:14px}.journal-empty-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:14px;padding:60px 24px;font-size:15px;display:flex}.journal-form{flex-direction:column;gap:14px;display:flex}.journal-form-type-tabs{gap:6px;display:flex}.journal-form-type-tab{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;padding:8px 10px;font-size:13px}.journal-form-type-tab:disabled{cursor:not-allowed;opacity:.6}.journal-form-type-tab-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);font-weight:600}.journal-form-label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.journal-form-label input,.journal-form-label textarea{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);resize:vertical;border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13px}.journal-form-row{gap:12px;display:flex}.journal-form-row .journal-form-label{flex:1}.journal-form-principles{background:var(--bg-inset);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.journal-form-principles-label{color:var(--text-muted);font-size:12px}.journal-form-principles-empty{color:var(--text-faint);margin:0;font-size:12px}.journal-form-principles-empty a{color:var(--accent)}.journal-form-principles-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.journal-form-principles-list label{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.journal-form-error{color:var(--danger);margin:0;font-size:12px}.journal-form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.journal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.journal-summary{color:var(--text-muted);font-size:13px}.journal-summary strong{color:var(--text)}.journal-toolbar-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.journal-toolbar-filters select,.journal-tag-filter{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;padding:8px 12px;font-size:13px}.journal-tag-filter{min-width:160px}.journal-type-tabs{gap:6px;margin-bottom:20px;display:flex}.journal-type-filter{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px}.journal-type-filter:hover{color:var(--text)}.journal-type-filter-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);font-weight:600}.journal-card-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.journal-card{border:1px solid var(--border);background:var(--bg-elevated);border-left:3px solid var(--border);border-radius:12px;padding:16px 18px}.journal-card.journal-badge-buy{border-left-color:#22c55e}.journal-card.journal-badge-sell{border-left-color:#ef4444}.journal-card.journal-badge-memo{border-left-color:var(--text-faint)}.journal-card-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.journal-type-badge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.journal-type-badge.journal-badge-buy{color:#22c55e;background:#22c55e26}.journal-type-badge.journal-badge-sell{color:#ef4444;background:#ef444426}.journal-type-badge.journal-badge-memo{background:var(--bg-inset);color:var(--text-muted)}.journal-card-symbol{color:var(--text);font-size:15px;font-weight:700}.journal-card-company{color:var(--text-muted);font-size:12px}.journal-card-date{color:var(--text-faint);margin-left:auto;font-size:12px}.journal-violation-badge{color:#eab308;background:#eab30826;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.journal-principle-checklist{background:var(--bg-inset);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;margin:0 0 10px;padding:8px 12px;font-size:12px;list-style:none;display:flex}.journal-principle-checked{color:var(--text-muted)}.journal-principle-unchecked{color:#eab308}.journal-card-trade-info{color:var(--text-muted);gap:12px;margin-bottom:8px;font-size:12px;display:flex}.journal-card-content-block{margin:0 0 10px}.journal-card-content-label{color:var(--text-muted);margin-bottom:2px;font-size:11px;font-weight:600;display:block}.journal-card-content{color:var(--text);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}.journal-card-reflection{background:var(--bg-inset);border-left:2px solid var(--accent);color:var(--text-muted);border-radius:8px;margin:0 0 10px;padding:10px 12px;font-size:13px}.journal-card-reflection strong{color:var(--text)}.journal-card-reflection p{white-space:pre-wrap;margin:4px 0 0}.journal-tag-list{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.journal-tag-chip{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:2px 10px;font-size:11px}.journal-snapshot{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.journal-snapshot-block{background:var(--bg-inset);color:var(--text-faint);border-radius:8px;padding:8px 10px;font-size:12px}.journal-snapshot-mine{border-left:2px solid var(--accent)}.journal-snapshot-title{color:var(--text-muted);margin-bottom:4px;font-weight:600}.journal-snapshot-row{line-height:1.6}.journal-snapshot-row+.journal-snapshot-row{margin-top:2px}.journal-card-actions{justify-content:flex-end;gap:6px;display:flex}.principle-form{gap:10px;margin-bottom:20px;display:flex}.principle-form input{border:1px solid var(--border);background:var(--bg-inset);color:var(--text);border-radius:8px;flex:1;padding:10px 12px;font-size:14px}.principle-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.principle-item{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;display:flex}.principle-item-inactive{opacity:.55}.principle-order-buttons{flex-direction:column;gap:2px;display:flex}.principle-order-buttons button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:2px;font-size:10px;line-height:1}.principle-order-buttons button:hover:not(:disabled){color:var(--text)}.principle-order-buttons button:disabled{opacity:.3;cursor:not-allowed}.principle-icon{font-size:14px}.principle-content{color:var(--text);flex:1;font-size:14px}.principle-inactive-badge{border:1px dashed var(--border);color:var(--text-faint);border-radius:999px;padding:2px 8px;font-size:10px}.principle-actions{gap:6px;display:flex}
