:root{--ap-bg:#20262d;--ap-bg-soft:#232b33;--ap-surface:#2a333c;--ap-surface-soft:#303a44;--ap-surface-raised:#35414c;--ap-border:#495663;--ap-border-soft:#3d4854;--ap-text:#d1d8df;--ap-text-strong:#e5ebf0;--ap-muted:#a2adb8;--ap-muted-soft:#8a96a3;--ap-accent:#8db8c6;--ap-accent-soft:rgba(141,184,198,.16);--ap-success:#91c69f;--ap-warning:#d2b875;--ap-danger:#d88a8e;--ap-shadow:0 14px 34px rgba(11,16,22,.18)}
html[data-bs-theme="dark"]{--bs-body-bg:var(--ap-bg);--bs-body-color:var(--ap-text);--bs-secondary-color:var(--ap-muted);--bs-tertiary-color:var(--ap-muted-soft);--bs-border-color:var(--ap-border);--bs-border-color-translucent:rgba(148,163,184,.24);--bs-dark:#252d35;--bs-light:#d8e0e7;--bs-primary:#7faebd;--bs-primary-rgb:127,174,189;--bs-link-color:#9ccad6;--bs-link-hover-color:#bfdde5}
body{background:var(--ap-bg);color:var(--ap-text);font-family:'Segoe UI',system-ui,sans-serif}
.navbar.bg-dark{background:#252d35!important}
.border-secondary{border-color:var(--ap-border)!important}
.text-light{color:var(--ap-text-strong)!important}
.text-secondary,.text-muted{color:var(--ap-muted)!important}
.btn{border-radius:6px}
.btn-primary{--bs-btn-bg:#7faebd;--bs-btn-border-color:#8bb9c7;--bs-btn-color:#11181e;--bs-btn-hover-bg:#91bdca;--bs-btn-hover-border-color:#9bc6d1;--bs-btn-hover-color:#10171c;--bs-btn-active-bg:#76a6b5;--bs-btn-active-border-color:#86b5c3}
.btn-outline-light{--bs-btn-color:#d9e2e8;--bs-btn-border-color:#73808c;--bs-btn-hover-bg:#d9e2e8;--bs-btn-hover-border-color:#d9e2e8;--bs-btn-hover-color:#151b20}
.btn-outline-secondary{--bs-btn-color:#b7c1cc;--bs-btn-border-color:#687480;--bs-btn-hover-bg:#3a4651;--bs-btn-hover-border-color:#7d8a96;--bs-btn-hover-color:#eef3f7}
.btn-outline-info{--bs-btn-color:#95cfdf;--bs-btn-border-color:#5f94a4;--bs-btn-hover-bg:#25414b;--bs-btn-hover-border-color:#86bfd0;--bs-btn-hover-color:#e5f7fb}
.btn-outline-success{--bs-btn-color:#99d6aa;--bs-btn-border-color:#5f9e72;--bs-btn-hover-bg:#203c2b;--bs-btn-hover-border-color:#89c99a;--bs-btn-hover-color:#edf8ef}
.btn-outline-warning{--bs-btn-color:#dbc47d;--bs-btn-border-color:#9b813a;--bs-btn-hover-bg:#433923;--bs-btn-hover-border-color:#d5b56a;--bs-btn-hover-color:#fff7df}
.form-control,.form-select{background:#242c34;border-color:#586674;color:#d4dce4}
.form-control:focus,.form-select:focus{background:#27313a;border-color:var(--ap-accent);color:#e6edf2;box-shadow:0 0 0 .16rem rgba(141,184,198,.18)}
.form-control::placeholder{color:#7f8b98}
.table{--bs-table-bg:transparent;--bs-table-color:var(--ap-text);--bs-table-border-color:var(--ap-border-soft);--bs-table-striped-bg:rgba(255,255,255,.025);--bs-table-hover-bg:rgba(134,191,208,.08)}
.dropdown-menu{--bs-dropdown-bg:var(--ap-surface);--bs-dropdown-color:var(--ap-text);--bs-dropdown-border-color:var(--ap-border);--bs-dropdown-link-color:var(--ap-text);--bs-dropdown-link-hover-bg:var(--ap-surface-soft);--bs-dropdown-link-hover-color:var(--ap-text-strong)}
.ops-toolbar{background:#1b2229}
.ops-toolbar-dot{width:10px;height:10px;border-radius:999px;background:#80c894;box-shadow:0 0 0 4px rgba(128,200,148,.13)}
.ops-overview{min-width:180px}
.ops-job-list{max-height:520px;overflow:auto}
.ops-job-row{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--ap-border-soft);cursor:pointer;background:#20272f}
.ops-job-row:hover{background:#28313a}
.ops-job-row.selected{background:#24323b;border-left:3px solid var(--ap-accent);padding-left:13px}
.ops-job-main{min-width:0;flex:1}
.ops-job-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.ops-job-command{display:block;max-height:3.2em;overflow:hidden;white-space:pre-wrap;word-break:break-all;line-height:1.45;background:#1b2229}
.ops-job-meta{color:var(--ap-muted);font-size:.78rem;margin-top:6px}
.ops-log-viewer{height:520px;overflow:auto;background:#111820;color:#cfe4ed;padding:16px;font-size:.8rem;line-height:1.45}
.ops-code-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid var(--ap-border-soft);background:#1c232a}
.ops-code-path{padding:0 16px 12px;color:var(--ap-muted);font-size:.82rem;word-break:break-all}
.ops-code-viewer{height:420px;overflow:auto;background:#141b23;color:#dce6ed;padding:16px;font-size:.8rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.ops-code-btn.active{border-color:var(--ap-accent);background:var(--ap-accent-soft);color:#dff1f5}
.ops-preset-btn{white-space:normal}
.card{background:var(--ap-surface);border-color:var(--ap-border);box-shadow:var(--ap-shadow)}
.card-header{background:var(--ap-surface-soft);border-bottom-color:var(--ap-border);font-weight:600;color:var(--ap-text-strong)}
code{color:#dfe7ed;background:#2a333d;padding:2px 6px;border-radius:4px}
canvas{max-height:350px}
.list-group-item-dark{background:var(--ap-surface-soft);border-color:var(--ap-border);color:var(--ap-text)}
.list-group-item-dark:hover{background:#303a44}
.dashboard-status{min-width:180px}
.metric-card{border-color:var(--ap-border);border-radius:8px}
.metric-card .card-body{padding:18px 20px}
.metric-label{color:var(--ap-muted);font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.metric-value{font-size:1.85rem;font-weight:700;line-height:1.15;margin-top:6px}
.metric-value.compact{font-size:1.45rem}
.metric-sub{color:var(--ap-muted-soft);font-size:.82rem;margin-top:4px}
.dashboard-panel{border-radius:8px;overflow:hidden}
.dashboard-panel .card-header{padding:14px 16px}
.result-file-list{max-height:560px;overflow-y:auto}
.result-file-name{display:block;color:#e2e8ee;text-decoration:none;font-weight:500;line-height:1.25;word-break:break-all}
.result-file-name:hover{color:#a8dce8}
.result-file-meta,.formula-meta,.source-date{color:var(--ap-muted-soft);font-size:.78rem;margin-top:4px}
.dashboard-ranking thead th{color:var(--ap-muted);font-size:.76rem;font-weight:700;text-transform:uppercase;border-bottom-color:var(--ap-border)}
.dashboard-ranking tbody td{border-top-color:var(--ap-border-soft)}
.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#303a44;color:#d7dde5;font-weight:700}
.formula-cell{min-width:320px;max-width:560px}
.formula-label{color:#c6ccd5;font-size:.82rem;font-weight:600;margin-bottom:4px}
.formula-code{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-break:break-word;line-height:1.45;padding:7px 8px}
.formula-meta span::before{content:"·";margin:0 6px;color:#67717d}
.score-value{font-size:1.05rem;font-weight:700}
.metric-badge,.universe-pill{display:inline-block;border:1px solid #4b5965;border-radius:6px;color:#cbd6df;background:#2a333c;padding:2px 7px;font-size:.72rem;white-space:nowrap}
.source-cell{min-width:150px;max-width:220px}
.source-file{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-strategy-table{min-width:980px}
.dashboard-strategy-link{display:block;text-decoration:none}
.dashboard-strategy-link:hover .formula-code{border-color:var(--ap-accent);color:#f5fbff}
.dashboard-live-dot{display:inline-block;width:11px;height:11px;border-radius:999px;background:#69727d}
.dashboard-live-dot.active{background:#80c894;box-shadow:0 0 0 4px rgba(128,200,148,.16)}
.dashboard-side-list{display:grid;gap:9px}
.dashboard-track-item{padding:9px 10px;border:1px solid var(--ap-border-soft);background:#202830;border-radius:6px}
.dashboard-bar-row{display:grid;gap:5px}
.dashboard-bar-head{display:flex;justify-content:space-between;gap:10px;font-size:.78rem}
.dashboard-bar-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ap-text)}
.dashboard-bar-head strong{color:var(--ap-muted);font-weight:700;white-space:nowrap}
.dashboard-bar-track{height:7px;background:#1d252d;border:1px solid var(--ap-border-soft);border-radius:999px;overflow:hidden}
.dashboard-bar-track span{display:block;height:100%;background:var(--ap-accent)}
.dashboard-chart-wrap{height:230px;min-height:230px}
.dashboard-chip-list,.dashboard-chip-stack{display:flex;flex-wrap:wrap;gap:5px}
.dashboard-data-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #4b5965;border-radius:6px;background:#202832;color:#d1dae3;padding:2px 7px;font-size:.72rem;white-space:nowrap}
.dashboard-data-chip.wide{padding:3px 8px}
.side-pill{display:inline-block;min-width:46px;border-radius:6px;padding:2px 7px;font-size:.72rem;font-weight:700;text-align:center}
.side-pill.long{background:rgba(87,199,133,.14);border:1px solid rgba(87,199,133,.45);color:#7ee0a2}
.side-pill.short{background:rgba(228,107,114,.14);border:1px solid rgba(228,107,114,.45);color:#f08a91}
.stock-link{color:#d7dde5;text-decoration:none;font-weight:500}
.stock-link:hover{color:#8ed8ff}
.quote-cell{white-space:nowrap}
.quote-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700}
.scoreboard-panel .card-body{padding:14px}
.scoreboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.scoreboard-tile{min-width:0;background:#202830;border:1px solid var(--ap-border);border-radius:8px;padding:14px 16px}
.scoreboard-value{font-size:1.7rem;font-weight:800;line-height:1.15;margin-top:6px;white-space:nowrap}
.position-table-wrap{max-height:560px;overflow:auto}
.chart-canvas-wrap{height:300px;min-height:300px;position:relative}
.chart-canvas-wrap canvas{height:100%!important;max-height:none}
.section-label{color:#9aa4b2;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;margin:0 0 10px}
.report-chart-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.report-chart-card{overflow:hidden}
.report-chart-card .card-header{padding:10px 14px}
.report-chart-card .card-body{padding:10px}
.report-image-frame{height:380px;background:#171a1f;border:1px solid #343a40;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.report-image-button{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.report-image-button:focus-visible{outline:2px solid #8ed8ff;outline-offset:-2px}
.report-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;min-width:0;border-radius:5px;object-fit:contain}
.report-modal-body{height:calc(100vh - 120px);overflow:auto;background:#171a1f;text-align:center}
.report-modal-image{display:inline-block;max-width:none;width:auto;height:auto;min-width:900px}
.stock-page{--stock-border:#35404a;--stock-border-soft:#2b333c;--stock-panel:#20252b;--stock-panel-soft:#1b2026;--stock-head:#252b33;--stock-muted:#94a2b1;--stock-text:#e7edf4;--stock-accent:#76c7d7;--stock-accent-soft:rgba(118,199,215,.14);--stock-shadow:0 16px 40px rgba(0,0,0,.18)}
.stock-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--stock-border)}
.stock-eyebrow{color:#91b5c0;font-size:.68rem;font-weight:800;letter-spacing:.08em}
.stock-page-title{margin:2px 0 0;color:#f3f7fb;font-size:1.34rem;font-weight:800;line-height:1.2}
.stock-workbench{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:14px;align-items:start}
.stock-main{min-width:0}
.stock-panel{background:var(--stock-panel);border:1px solid var(--stock-border);border-radius:8px;box-shadow:var(--stock-shadow);overflow:hidden}
.stock-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--stock-head);border-bottom:1px solid var(--stock-border)}
.stock-panel-head.compact{min-height:55px;padding:10px 12px}
.stock-panel-title{color:#f0f5fa;font-size:.78rem;font-weight:900;letter-spacing:.07em}
.stock-panel-sub{color:var(--stock-muted);font-size:.76rem;margin-top:3px}
.stock-panel-count{color:#d9e7ef;background:var(--stock-accent-soft);border:1px solid rgba(118,199,215,.28);border-radius:999px;padding:3px 8px;font-size:.73rem;font-weight:800;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.stock-panel-body{padding:12px}
.stock-list-panel{position:sticky;top:76px;height:calc(100vh - 150px);min-height:540px;display:flex;flex-direction:column}
.stock-filter-wrap{display:grid;grid-template-columns:1fr;gap:8px;padding:10px;background:var(--stock-panel-soft);border-bottom:1px solid var(--stock-border-soft)}
.stock-filter-wrap .form-control,.stock-filter-wrap .form-select{height:34px;background:#151a20;border-color:#3f4b56;color:#dde6ee;border-radius:6px;font-size:.8rem}
.stock-filter-wrap .form-control:focus,.stock-filter-wrap .form-select:focus{border-color:var(--stock-accent);box-shadow:0 0 0 .15rem rgba(118,199,215,.16)}
.stock-list-head{display:grid;grid-template-columns:44px minmax(0,1fr) 78px;gap:8px;padding:8px 12px;border-bottom:1px solid var(--stock-border-soft);background:#181d23;color:#8795a5;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.67rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.stock-list{flex:1;min-height:0;overflow:auto;scrollbar-color:#4a5662 transparent}
.stock-list-item{display:grid;grid-template-columns:44px minmax(0,1fr) 78px;gap:8px;align-items:center;width:100%;min-height:58px;padding:9px 10px 9px 12px;border:0;border-left:3px solid transparent;border-bottom:1px solid var(--stock-border-soft);background:transparent;color:#d7dde5;text-align:left}
.stock-list-item:hover{background:#252c34}
.stock-list-item:focus-visible{outline:2px solid var(--stock-accent);outline-offset:-2px}
.stock-list-item.active{background:var(--stock-accent-soft);border-left-color:var(--stock-accent)}
.stock-list-rank,.stock-list-price{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;white-space:nowrap}
.stock-list-rank{color:#8b99a8}
.stock-list-main{min-width:0}
.stock-list-name{display:block;color:#f0f5fa;font-size:.87rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stock-list-meta{display:block;margin-top:2px;color:#8f9cab;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stock-list-price{color:#d4e2ec;text-align:right}
.stock-instrument{margin-bottom:14px}
.stock-instrument-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--stock-border)}
.stock-identity{display:flex;align-items:center;gap:14px;min-width:0}
.stock-identity > div:last-child{min-width:0}
.stock-selected-code{flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#dff4fa;background:var(--stock-accent-soft);border:1px solid rgba(118,199,215,.32);padding:6px 9px;font-size:.86rem;font-weight:900;line-height:1;border-radius:6px}
.stock-selected-name{margin:0;color:#f7fbff;font-size:1.55rem;font-weight:850;line-height:1.12;word-break:keep-all}
.stock-selected-meta{margin-top:6px;color:var(--stock-muted);font-size:.84rem;line-height:1.35}
.stock-action-area{display:flex;align-items:flex-start;gap:8px}
.stock-action-area .btn{height:30px;border-radius:6px;font-size:.73rem;font-weight:800;letter-spacing:.02em}
.stock-quote-strip{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));background:#191f25}
.stock-quote-cell{min-width:0;padding:12px 14px;border-right:1px solid var(--stock-border-soft)}
.stock-quote-cell:last-child{border-right:0}
.stock-quote-label{color:#91a9b6;font-size:.67rem;font-weight:900;letter-spacing:.08em}
.stock-quote-value{margin-top:5px;color:#f2f7fb;font-size:1.08rem;font-weight:850;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stock-quote-sub{margin-top:3px;color:#82909f;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stock-content-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(330px,.95fr);gap:14px;margin-bottom:14px}
.stock-primary-stack{display:grid;gap:14px;align-content:start;min-width:0}
.stock-side-stack{display:grid;gap:14px;align-content:start}
.stock-lower-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:14px;align-items:start}
.stock-price-stack{display:grid;grid-template-rows:minmax(260px,1fr) 118px;gap:8px}
.stock-price-chart{height:320px;position:relative}
.stock-volume-chart{height:118px;position:relative}
.stock-price-chart canvas,.stock-volume-chart canvas{height:100%!important;max-height:none}
.stock-chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#8f9cab;background:rgba(27,32,38,.84);font-size:.86rem;font-weight:700}
.stock-profile-panel .stock-panel-body{padding:14px}
.stock-summary{color:#d4dce5;line-height:1.55;font-size:.88rem;max-height:138px;overflow:auto;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--stock-border-soft)}
.stock-facts{max-height:260px;overflow:auto}
.stock-fact-table{width:100%;border-collapse:collapse;font-size:.82rem}
.stock-fact-table th,.stock-fact-table td{padding:7px 0;border-bottom:1px solid var(--stock-border-soft);vertical-align:top}
.stock-fact-table th{width:88px;color:#94a2b1;font-weight:800}
.stock-fact-table td{color:#e0e7ef;word-break:break-word}
.stock-fundamental-panel .stock-panel-body{max-height:310px;overflow:auto}
.stock-data-table{--bs-table-bg:transparent;--bs-table-color:#d7dde5;--bs-table-border-color:#313a43;font-size:.8rem}
.stock-data-table thead th{position:sticky;top:0;z-index:1;background:#20252b;color:#94a2b1;font-size:.69rem;font-weight:900;letter-spacing:.06em;border-bottom-color:#4a5662}
.stock-data-table tbody td{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.stock-paper-panel .stock-panel-body,.stock-alpha-panel .stock-panel-body,.stock-dart-panel .stock-panel-body{padding:12px 14px}
.stock-mini-meta{color:#8d9ba9;font-size:.75rem;line-height:1.35}
.stock-signal-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.stock-signal-title{color:#edf4fa;font-size:.9rem;font-weight:800;line-height:1.25}
.stock-signal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 10px}
.stock-signal-metrics div,.stock-alpha-item{min-width:0;background:#192027;border:1px solid var(--stock-border-soft);border-radius:6px;padding:7px 8px}
.stock-signal-metrics span,.stock-alpha-item span{display:block;color:#90a0af;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.stock-signal-metrics strong,.stock-alpha-item strong{display:block;margin-top:3px;color:#eef5fb;font-size:.86rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stock-signal-note{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#cbd6df;background:#1a2128;border:1px solid var(--stock-border-soft);border-radius:6px;padding:7px 8px;margin-bottom:10px;font-size:.78rem}
.stock-paper-history{margin:10px 0;padding:9px 10px;background:#192027;border:1px solid var(--stock-border-soft);border-radius:6px}
.stock-paper-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#90a0af;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.stock-paper-timeline{display:flex;align-items:stretch;gap:3px;height:24px;margin-top:8px}
.stock-paper-tick{position:relative;flex:1 1 0;min-width:6px;border:1px solid rgba(255,255,255,.08);border-radius:3px;background:#2b3440;outline-offset:2px}
.stock-paper-tick.long{background:#3d8c59;border-color:#72bf8b}
.stock-paper-tick.short{background:#a0474e;border-color:#d1757d}
.stock-paper-tick.none{background:#303945;border-color:#434f5b}
.stock-paper-tick:hover::after,.stock-paper-tick:focus-visible::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 7px);z-index:20;transform:translateX(-50%);width:max-content;max-width:230px;padding:5px 7px;background:#10161c;border:1px solid #64717e;border-radius:4px;color:#e8eef3;font-size:.72rem;font-weight:800;line-height:1.25;white-space:normal;box-shadow:0 8px 20px rgba(0,0,0,.28);pointer-events:none}
.stock-paper-tick:hover::before,.stock-paper-tick:focus-visible::before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);z-index:21;transform:translateX(-50%);border:5px solid transparent;border-top-color:#64717e;pointer-events:none}
.stock-paper-axis{display:flex;justify-content:space-between;gap:12px;margin-top:5px;color:#7f8c9a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}
.stock-paper-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;color:#90a0af;font-size:.7rem;font-weight:800}
.stock-paper-legend span{display:inline-flex;align-items:center;gap:4px}
.stock-paper-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;background:#303945;border:1px solid #434f5b}
.stock-paper-legend i.long{background:#3d8c59;border-color:#72bf8b}
.stock-paper-legend i.short{background:#a0474e;border-color:#d1757d}
.stock-paper-history-empty{margin-top:10px;color:#8d9ba9;font-size:.75rem}
.stock-inline-link{display:inline-flex;align-items:center;color:#8ed8ff;text-decoration:none;font-size:.78rem;font-weight:800}
.stock-inline-link:hover{color:#b7ecff}
.stock-alpha-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.stock-alpha-item small{display:block;margin-top:2px;color:#7f8c9a;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stock-dart-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:2px}
.stock-dart-item{min-width:0;background:#192027;border:1px solid var(--stock-border-soft);border-radius:6px;padding:8px 9px}
.stock-dart-meta{display:flex;align-items:center;gap:6px;color:#8d9ba9;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}
.stock-dart-title{display:block;margin-top:4px;color:#edf4fa;font-size:.82rem;font-weight:800;line-height:1.28;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.stock-dart-title:hover{color:#b7ecff}
.stock-dart-badge{display:inline-flex;align-items:center;min-height:16px;padding:0 4px;border:1px solid rgba(210,184,117,.42);border-radius:4px;background:rgba(210,184,117,.12);color:#ddc783;font-family:inherit;font-size:.64rem;font-weight:900}
.stock-dart-actions{margin-left:auto;display:inline-flex;align-items:center;gap:5px}
.stock-dart-action{color:#8ed8ff;text-decoration:none;font-size:.68rem;font-weight:900}
.stock-dart-action:hover{color:#b7ecff}
.dart-view-page{display:grid;gap:10px}
.dart-view-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;padding:10px 12px;background:#242c34;border:2px solid;border-color:#596674 #182026 #182026 #596674}
.dart-view-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px;color:#a2adb8;font-size:.78rem}
.dart-view-actions{display:flex;flex-wrap:wrap;gap:7px}
.dart-view-source{display:flex;flex-wrap:wrap;gap:10px;padding:7px 9px;background:#252e37;border:1px solid #495663;color:#93a0ad;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}
.dart-view-document{background:#2a333c;border:2px solid;border-color:#596674 #1c2228 #1c2228 #596674;color:#d1d8df;padding:14px;line-height:1.55}
.dart-doc-cover,.dart-doc-section{margin:0 0 14px}
.dart-doc-title{margin:12px 0 8px;padding:6px 8px;background:#303a44;border:1px solid #495663;color:#e5ebf0;font-weight:900;line-height:1.25}
h1.dart-doc-title{font-size:1.35rem;text-align:center}
h2.dart-doc-title{font-size:1rem}
.dart-doc-p{margin:5px 0;color:#d7dfe7;white-space:pre-wrap}
.dart-doc-table-wrap{max-width:100%;overflow:auto;margin:9px 0;border:1px solid #495663;background:#242c34}
.dart-doc-table{width:max-content;min-width:100%;border-collapse:collapse;color:#d1d8df;font-size:.78rem}
.dart-doc-table th,.dart-doc-table td{border:1px solid #3d4854;padding:4px 6px;vertical-align:top}
.dart-doc-table th{background:#303a44;color:#e5ebf0}
.dart-doc-page-break{height:1px;margin:12px 0;background:#495663}
.data-page{--data-border:#34404a;--data-border-soft:#28323b;--data-panel:#20262d;--data-panel-soft:#1a2027;--data-head:#262d35;--data-text:#e7edf4;--data-muted:#93a2b1;--data-accent:#7ccbd5;--data-warn:#d8b15f;--data-good:#80d39b}
.data-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--data-border)}
.data-eyebrow{color:#8eb8c0;font-size:.68rem;font-weight:900;letter-spacing:.08em}
.data-title{margin:1px 0 0;color:#f3f8fb;font-size:1.45rem;font-weight:850;line-height:1.15}
.data-toolbar-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}
.data-toolbar-meta div{min-width:104px;background:#1b2229;border:1px solid var(--data-border-soft);border-radius:8px;padding:7px 10px}
.data-toolbar-meta span{display:block;color:var(--data-muted);font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.data-toolbar-meta strong{display:block;margin-top:2px;color:#eef7fb;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}
.data-stage-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
.data-stage-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;align-items:start;gap:2px 8px;min-width:0;min-height:96px;padding:12px;border:1px solid var(--data-border);border-radius:8px;background:var(--data-panel);color:var(--data-text);text-align:left}
.data-stage-card:hover{border-color:#50616e;background:#252d35}
.data-stage-card.active{border-color:rgba(124,203,213,.75);box-shadow:0 0 0 1px rgba(124,203,213,.2) inset;background:#213039}
.data-stage-card span{font-size:.82rem;font-weight:900}
.data-stage-card strong{color:#f6fbff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.25rem;line-height:1}
.data-stage-card small{grid-column:1 / 3;color:var(--data-muted);font-size:.75rem;line-height:1.25;min-height:32px}
.data-stage-card em{grid-column:1 / 3;color:#cfd9e3;font-style:normal;font-size:.74rem;font-weight:800}
.data-workbench{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:14px;align-items:start}
.data-catalog-panel,.data-detail-panel,.data-section{background:var(--data-panel);border:1px solid var(--data-border);border-radius:8px;overflow:hidden}
.data-catalog-panel{position:sticky;top:76px;height:calc(100vh - 148px);min-height:590px;display:flex;flex-direction:column}
.data-panel-head,.data-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;background:var(--data-head);border-bottom:1px solid var(--data-border)}
.data-panel-title,.data-section-title{color:#f1f6fb;font-size:.78rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.data-panel-sub{color:var(--data-muted);font-size:.75rem;margin-top:2px}
.data-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:8px;padding:10px;background:var(--data-panel-soft);border-bottom:1px solid var(--data-border-soft)}
.data-filter-grid .form-control,.data-filter-grid .form-select{height:34px;background:#151b21;border-color:#3d4954;color:#dfe8ef;border-radius:6px;font-size:.8rem}
.data-catalog-table-wrap{flex:1;min-height:0;overflow:auto}
.data-catalog-table{--bs-table-bg:transparent;--bs-table-color:#d9e1e8;--bs-table-border-color:var(--data-border-soft);font-size:.78rem}
.data-catalog-table thead th{position:sticky;top:0;z-index:1;background:#1c232a;color:#91a0ae;font-size:.67rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border-bottom-color:#46535f}
.data-catalog-table tbody tr{cursor:pointer}
.data-catalog-table tbody tr:hover{background:#27313a}
.data-catalog-table tbody tr.active{background:rgba(124,203,213,.13)}
.data-dataset-name{max-width:260px;color:#f1f6fb;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.data-dataset-path{max-width:260px;margin-top:2px;color:#8493a1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.data-mini-pill,.data-stage-pill{display:inline-flex;align-items:center;border:1px solid rgba(124,203,213,.34);border-radius:6px;background:rgba(124,203,213,.12);color:#bdebf0;font-weight:900}
.data-mini-pill{padding:2px 6px;font-size:.67rem}
.data-stage-pill{width:max-content;padding:3px 8px;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}
.data-detail-panel{min-width:0;min-height:590px}
.data-detail-empty{display:flex;align-items:center;justify-content:center;min-height:590px;color:var(--data-muted);font-weight:800}
.data-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;background:var(--data-head);border-bottom:1px solid var(--data-border)}
.data-detail-title{margin:6px 0 0;color:#f6fbff;font-size:1.28rem;font-weight:850;line-height:1.2;word-break:break-word}
.data-detail-path{margin-top:5px;color:#8fa0af;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;word-break:break-all}
.data-detail-actions{flex:0 0 auto;display:flex;align-items:flex-start;gap:8px}
.data-detail-updated{flex:0 0 auto;color:#c9d5de;background:#1b2229;border:1px solid var(--data-border-soft);border-radius:6px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem}
.data-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px 14px;border-bottom:1px solid var(--data-border-soft)}
.data-metric{min-width:0;background:#192027;border:1px solid var(--data-border-soft);border-radius:7px;padding:9px 10px}
.data-metric span{display:block;color:var(--data-muted);font-size:.67rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.data-metric strong{display:block;margin-top:3px;color:#f4f8fb;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.data-detail-grid{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);gap:12px;padding:12px}
.data-schema-wrap,.data-preview-wrap{height:520px;overflow:auto}
.data-schema-table,.data-preview-table{--bs-table-bg:transparent;--bs-table-color:#d9e1e8;--bs-table-border-color:var(--data-border-soft);font-size:.76rem}
.data-schema-table thead th,.data-preview-table thead th{position:sticky;top:0;z-index:1;background:#202831;color:#94a5b4;font-size:.66rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border-bottom-color:#46535f;white-space:nowrap}
.data-col-code{font-size:.72rem;white-space:nowrap}
.data-null-bar{width:86px;height:7px;background:#151b21;border:1px solid #34404a;border-radius:999px;overflow:hidden}
.data-null-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--data-good),var(--data-warn))}
.data-schema-table small{display:block;margin-top:2px;color:#8f9baa;font-size:.67rem}
.data-example-cell{max-width:260px;color:#cbd5de;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.data-preview-table td{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.data-cell-link{color:#8ed8ff;text-decoration:none}
.data-cell-link:hover{color:#b7ecff;text-decoration:underline}
.data-null{color:#748290;font-style:italic}
.min-w-0{min-width:0}
@media (max-width: 1199.98px){
 .scoreboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-chart-stack{grid-template-columns:1fr}
 .report-image-frame{height:340px}
 .report-modal-image{min-width:760px}
 .data-stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .data-workbench{grid-template-columns:1fr}
 .data-catalog-panel{position:static;height:auto;min-height:0}
 .data-catalog-table-wrap{max-height:420px}
 .data-detail-grid{grid-template-columns:1fr}
 .data-schema-wrap,.data-preview-wrap{height:420px}
 .stock-workbench{grid-template-columns:1fr}
 .stock-list-panel{position:static;height:auto;min-height:0}
 .stock-list{max-height:420px}
 .stock-content-grid,.stock-lower-grid{grid-template-columns:1fr}
 .stock-primary-stack,.stock-side-stack{grid-template-columns:1fr}
 .stock-quote-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .stock-quote-cell{border-bottom:1px solid var(--stock-border-soft)}
}
@media (max-width: 575.98px){
 .scoreboard-grid{grid-template-columns:1fr}
 .scoreboard-value{font-size:1.45rem}
 .stock-toolbar{flex-direction:column;align-items:stretch}
 .stock-list{max-height:300px}
 .stock-list-head{grid-template-columns:36px minmax(0,1fr)}
 .stock-list-head span:last-child{display:none}
 .stock-list-item{grid-template-columns:36px minmax(0,1fr);gap:7px}
 .stock-list-price{display:none}
 .stock-instrument-head{flex-direction:column;align-items:stretch;padding:14px}
 .stock-identity{gap:10px}
 .stock-selected-name{font-size:1.22rem}
 .stock-quote-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stock-quote-cell{border-bottom:1px solid #343b43}
 .stock-price-stack{grid-template-rows:260px 110px}
 .stock-price-chart{height:260px}
 .stock-volume-chart{height:110px}
 .stock-signal-metrics,.stock-alpha-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .chart-canvas-wrap{height:260px;min-height:260px}
 .report-image-frame{height:280px}
 .report-modal-body{height:calc(100vh - 96px);padding:8px}
 .report-modal-image{min-width:680px}
 .data-toolbar{align-items:stretch;flex-direction:column}
 .data-toolbar-meta{justify-content:stretch}
 .data-toolbar-meta div{flex:1;min-width:0}
 .data-stage-strip{grid-template-columns:1fr}
 .data-stage-card{min-height:84px}
 .data-filter-grid{grid-template-columns:1fr}
 .data-detail-head{flex-direction:column}
 .data-detail-actions{width:100%;flex-direction:column}
 .data-detail-updated{width:100%}
 .data-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .data-schema-wrap,.data-preview-wrap{height:360px}
}

/* Virtual trading dark clone */
.vt-clone{--vt-bg:#090d12;--vt-page:#0f141a;--vt-panel:#151b22;--vt-panel-2:#11171e;--vt-head:#1b2530;--vt-line:#344151;--vt-line-soft:#27323f;--vt-text:#e3ebf4;--vt-muted:#91a0b1;--vt-blue:#69a8ff;--vt-red:#ff6f7d;--vt-green:#6bd18a;--vt-yellow:#e3bd64;margin:-1rem -1.5rem 0;padding:0 0 28px;background:var(--vt-bg);color:var(--vt-text);font-family:"Noto Sans KR","Malgun Gothic","Segoe UI",system-ui,sans-serif;font-size:14px;line-height:1.35;min-height:calc(100vh - 140px);overflow-x:auto}
.vt-clone *{box-sizing:border-box}
.vt-clone a{color:inherit;text-decoration:none}
.vt-clone b{color:#edf4fb;font-weight:700}
.vt-clone code{color:#cfe7ff;background:transparent;border-radius:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.vt-clone .flex{display:flex}
.vt-clone .justify-start{justify-content:flex-start}
.vt-clone .justify-between{justify-content:space-between}
.vt-clone .justify-end{justify-content:flex-end}
.vt-clone .grid{display:grid}
.vt-clone .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.vt-clone .col-span-4{grid-column:span 4 / span 4}
.vt-clone .col-span-6{grid-column:span 6 / span 6}
.vt-clone .col-span-8{grid-column:span 8 / span 8}
.vt-clone .p-0{padding:0!important}
.vt-clone .p-2{padding:.5rem!important}
.vt-clone .pl-2{padding-left:.5rem!important}
.vt-clone .pr-3{padding-right:1rem!important}
.vt-clone .m-0{margin:0!important}
.vt-clone .m-3{margin:1rem!important}
.vt-clone .my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}
.vt-clone .mb-2{margin-bottom:.5rem!important}
.vt-clone .children-mb-3>*{margin-bottom:1rem}
.vt-clone .children-mb-3>*:last-child{margin-bottom:0}
.vt-clone .children-mb-1>*{margin-bottom:.25rem}
.vt-clone .space-y-1>*+*{margin-top:.25rem}
.vt-clone .float-right{float:right}
.vt-clone #top{min-width:760px;background:#070b10;border-bottom:1px solid var(--vt-line);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.vt-clone #top_logo{display:flex;align-items:center;min-height:58px;background:linear-gradient(180deg,#111820,#0d131a);border-bottom:1px solid #23303d}
.vt-clone .logoArea{display:flex;align-items:center;justify-content:center;width:178px;min-width:178px;height:58px;border-right:1px solid #24313e}
.vt-clone #topLogo{display:block;max-width:132px;max-height:40px;object-fit:contain;filter:brightness(1.08) contrast(1.05)}
.vt-clone #topLogo.vt-text-logo{display:flex;align-items:center;justify-content:center;width:124px;height:34px;max-width:none;max-height:none;border:1px solid #5d7185;border-radius:2px;background:#101820;color:#f2f7fb;font-size:17px;font-weight:900;letter-spacing:0;filter:none}
.vt-clone .textArea{flex:1;min-width:0;padding:0 18px;color:#f0f6fb;font-size:18px;font-weight:500;white-space:nowrap}
.vt-clone .btxt{font-weight:850}
.vt-clone .vt-mode-label{display:inline-flex;align-items:center;margin-left:12px;padding:2px 7px;border:1px solid rgba(105,168,255,.48);border-radius:3px;background:rgba(105,168,255,.13);color:#d9eaff;font-size:12px;font-weight:800;vertical-align:middle}
.vt-clone #top_menu{height:40px;background:#0b1117;border-top:1px solid rgba(255,255,255,.02)}
.vt-clone #top_menu .wrap1{height:100%}
.vt-clone #tabmenu{display:flex;align-items:flex-end;height:100%;margin:0;padding:6px 0 0 178px;list-style:none}
.vt-clone #tabmenu li{margin:0 3px 0 0;padding:0}
.vt-clone #tabmenu a{display:flex;align-items:center;justify-content:center;min-width:78px;height:34px;padding:0 17px;border:1px solid #2c3846;border-bottom:0;border-radius:3px 3px 0 0;background:#141b23;color:#c4cfda;font-size:14px;font-weight:700}
.vt-clone #tabmenu a:hover{background:#1a2430;color:#f4f8fc}
.vt-clone #tabmenu a.selected{background:#1d3347;border-color:#486176;color:#fff}
.vt-clone .vt-board{min-width:700px;max-width:700px;background:var(--vt-page);color:var(--vt-text)}
.vt-clone .vt-control-line{align-items:center;gap:8px}
.vt-clone select,.vt-clone input{height:28px;border:1px solid #3a4857;border-radius:2px;background:#0f151c;color:#e4edf6;padding:3px 7px;font-size:13px}
.vt-clone select:disabled,.vt-clone input:disabled{background:#151b22;color:#7f8d9b;opacity:1}
.vt-clone input:focus,.vt-clone select:focus{outline:0;border-color:#6fa9ff;box-shadow:0 0 0 2px rgba(105,168,255,.16)}
.vt-clone .vt-select{width:310px}
.vt-clone .datepicker input{width:104px;text-align:center}
.vt-clone .vt-small-btn,.vt-clone .vt-modal button,.vt-clone table.datagrid th button{font:inherit}
.vt-clone .vt-small-btn,.vt-clone .vt-modal button,.vt-clone #vt-open-order{min-height:28px;border:1px solid #465668;border-radius:3px;background:#1a2430;color:#ecf4fb;padding:3px 9px;font-size:13px;cursor:pointer}
.vt-clone .vt-small-btn:hover,.vt-clone .vt-modal button:hover,.vt-clone #vt-open-order:hover{background:#223042;border-color:#5b6f84;color:#fff}
.vt-clone button:disabled{cursor:not-allowed;opacity:.52}
.vt-clone #vt-open-order{border-color:#327bca;background:#1261ad;color:#fff;font-weight:700}
.vt-clone .vt-grid-12{gap:0}
.vt-clone .vt-nav-fieldset{display:inline-block;min-width:430px;margin:0;padding:3px 10px 5px;border:1px groove #566372;background:#121922}
.vt-clone .vt-nav-fieldset legend{float:none;width:auto;margin:0;padding:0 5px;color:#dce7f2;font-size:90%;font-weight:800}
.vt-clone .vt-nav-value{display:inline-block;padding:3px 10px 3px 5px;color:#f8fbff;font-size:1.3rem;font-weight:700}
.vt-clone .vt-pnl{color:var(--vt-blue);font-weight:700}
.vt-clone .vt-rank-note{margin-left:10px;color:var(--vt-green);font-weight:700}
.vt-clone table.simple-tab{border-collapse:collapse;background:var(--vt-panel);color:var(--vt-text);font-size:12px;line-height:1.25}
.vt-clone table.simple-tab th,.vt-clone table.simple-tab td{border:1px solid var(--vt-line);padding:3px 6px;text-align:center;vertical-align:middle}
.vt-clone table.simple-tab thead th,.vt-clone table.simple-tab thead td{background:var(--vt-head);color:#cdd9e5;font-weight:800}
.vt-clone .bm-tab{width:250px}
.vt-clone .guideline-tab{width:445px}
.vt-clone .guideline-tab th,.vt-clone .guideline-tab td{height:27px}
.vt-clone .vt-guideline-wrap{align-items:flex-start;gap:8px}
.vt-clone .vt-help-text{color:#9aa9b8;font-size:12px}
.vt-clone .vt-chart-box{position:relative;width:100%;height:190px;margin-top:4px;border:1px solid #2f3a47;background:#10171f;overflow:hidden}
.vt-clone .vt-mini-chart{position:relative;width:247px;height:120px;padding:18px 6px 4px;border:1px solid #2f3a47;background:#10171f;overflow:hidden}
.vt-clone .vt-tab-chart{width:700px;height:170px;margin-bottom:7px;border:1px solid #2f3a47;background:#10171f;overflow:hidden}
.vt-clone .vt-chart-box canvas,.vt-clone .vt-mini-chart canvas,.vt-clone .vt-tab-chart canvas{display:block;width:100%;height:100%;max-height:none}
.vt-clone .vt-chart-label{position:absolute;left:10px;top:6px;z-index:1;color:#9fafbe;font-size:11px;line-height:1}
.vt-clone div.datagrid{background:var(--vt-panel-2);border:1px solid var(--vt-line);overflow:hidden}
.vt-clone table.datagrid{width:700px;border-collapse:collapse;table-layout:fixed;background:var(--vt-panel-2);color:#dfe8f1;font-size:12px;line-height:1.3}
.vt-clone table.datagrid th,.vt-clone table.datagrid td{height:27px;border-right:1px solid var(--vt-line-soft);border-bottom:1px solid var(--vt-line-soft);padding:4px 6px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt-clone table.datagrid th:last-child,.vt-clone table.datagrid td:last-child{border-right:0}
.vt-clone table.datagrid thead th{padding:0;background:var(--vt-head);color:#c9d6e4;font-weight:800}
.vt-clone table.datagrid th button{display:block;width:100%;height:100%;min-height:27px;border:0;background:transparent;color:#d5e0eb;padding:4px 5px;text-align:center;font-size:12px;font-weight:800;cursor:default}
.vt-clone table.datagrid tbody tr:nth-child(even){background:#121a23}
.vt-clone table.datagrid tbody tr:hover{background:#1a2633}
.vt-clone table.datagrid td{text-align:right}
.vt-clone table.datagrid td:nth-child(1),.vt-clone table.datagrid td:nth-child(2){text-align:left}
.vt-clone .vt-empty{text-align:center!important;color:#8190a0}
.vt-clone .nav-tabs{border-bottom-color:var(--vt-line)}
.vt-clone .nav-tabs .nav-link{padding:.3rem .6rem;border-color:#2f3a47;background:#121922;color:#aebccc;font-size:13px}
.vt-clone .nav-tabs .nav-link.active{border-color:#466078 #466078 var(--vt-page);background:#1d3347;color:#fff}
.vt-clone .vt-tab-panel{display:none;width:700px}
.vt-clone .vt-tab-panel.active{display:block}
.vt-clone .vt-tab-note{color:var(--vt-green)}
.vt-clone .vt-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:700px}
.vt-clone .vt-help-grid div{min-height:74px;padding:9px 10px;border:1px solid var(--vt-line);background:#111922}
.vt-clone .vt-help-grid b{display:block;margin-bottom:5px;color:#f1f6fb}
.vt-clone .vt-help-grid span{display:block;color:#aab8c7;font-size:12px;line-height:1.45}
.vt-clone .vt-alert{width:700px;padding:7px 9px;border:1px solid transparent;border-radius:3px;font-size:13px}
.vt-clone .vt-alert-danger{border-color:#7e3740;background:#321920;color:#ffb8c0}
.vt-clone .vt-alert-warning{border-color:#80672e;background:#2f2715;color:#f2d795}
.vt-clone .vt-alert-info{border-color:#315d7d;background:#132635;color:#bfe5ff}
.vt-clone .vt-alert-success{border-color:#346d47;background:#14291c;color:#bff0ce}
.vt-clone .vt-up{color:var(--vt-red)!important;font-weight:800}
.vt-clone .vt-down{color:var(--vt-blue)!important;font-weight:800}
.vt-clone .vt-modal{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.64);padding:18px}
.vt-clone .vt-modal-box{width:min(520px,calc(100vw - 32px));max-height:94vh;overflow:hidden;background:#10171f;color:var(--vt-text);border:1px solid #445469;border-radius:4px;box-shadow:0 22px 70px rgba(0,0,0,.55);display:flex;flex-direction:column}
.vt-clone .vt-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:#182231;border-bottom:1px solid var(--vt-line)}
.vt-clone .vt-modal-head h3{margin:0;color:#f4f8fc;font-size:19px;font-weight:800}
.vt-clone #vt-close-order-x{min-width:28px;padding:0 4px;border:0;background:transparent;color:#d7e1ec;font-size:26px;line-height:1}
.vt-clone .vt-modal-body{padding:14px 16px;overflow:auto}
.vt-clone .vt-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:11px 16px;border-top:1px solid var(--vt-line);background:#121a23}
.vt-clone .vt-form-row{display:grid;grid-template-columns:126px minmax(0,1fr);align-items:start;gap:10px;margin-bottom:10px;font-size:14px}
.vt-clone .vt-form-row>label{padding-top:5px;color:#dce7f2;font-weight:700;white-space:nowrap}
.vt-clone .vt-product-box{position:relative;min-width:0}
.vt-clone .vt-product-input-row{display:flex;gap:6px}
.vt-clone .vt-product-input-row input{flex:1;min-width:0}
.vt-clone .vt-warning{margin-top:4px;color:#ff8892;font-size:12px}
.vt-clone .vt-ok{margin-top:4px;color:#86dfa1;font-size:12px}
.vt-clone .vt-product-results{position:absolute;z-index:5;left:0;right:0;top:34px;max-height:190px;overflow:auto;background:#101820;border:1px solid #455568;border-radius:3px;box-shadow:0 12px 24px rgba(0,0,0,.35)}
.vt-clone .vt-product-results button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 9px;border:0;border-bottom:1px solid #263241;background:#101820;color:#e0e9f2;text-align:left}
.vt-clone .vt-product-results button:hover{background:#1d2b3a}
.vt-clone .vt-result-empty{padding:8px;color:#94a3b3;font-size:13px}
.vt-clone .vt-radio-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-height:30px}
.vt-clone .vt-radio-row label,.vt-clone .vt-submit-guard label{display:inline-flex;align-items:center;gap:5px;font-weight:400}
.vt-clone input[type=radio],.vt-clone input[type=checkbox]{width:auto;height:auto;accent-color:#69a8ff}
.vt-clone .vt-fieldset{margin:0 0 10px;padding:10px 12px 12px;border:1px solid var(--vt-line);border-radius:3px;background:#111922}
.vt-clone .vt-fieldset legend{float:none;width:auto;margin:0 0 6px;padding:0 5px;color:#dce7f2;font-size:14px;font-weight:800}
.vt-clone .vt-price-grid{display:grid;grid-template-columns:92px 120px;align-items:center;gap:7px 8px;font-size:14px}
.vt-clone .vt-price-grid label{display:inline-flex;align-items:center;gap:5px;margin:0;font-weight:400}
.vt-clone .vt-time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.vt-clone .vt-time-row label{display:grid;gap:4px;color:#cbd7e4;font-size:13px;font-weight:500}
.vt-clone .vt-submit-guard{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--vt-line);border-radius:3px;background:#121a23;font-size:13px}
@media (max-width: 900px){
 .vt-clone{margin:-1rem -1.5rem 0}
 .vt-clone #top{min-width:700px}
 .vt-clone #tabmenu{padding-left:120px}
 .vt-clone .logoArea{width:120px;min-width:120px}
 .vt-clone .textArea{font-size:16px}
}
@media (max-width: 575.98px){
 .vt-clone .vt-modal{align-items:flex-start;padding:10px}
 .vt-clone .vt-form-row{grid-template-columns:1fr;gap:4px}
 .vt-clone .vt-form-row>label{padding-top:0}
 .vt-clone .vt-time-row{grid-template-columns:1fr}
 .vt-clone .vt-price-grid{grid-template-columns:1fr 1fr}
}

/* Utilitarian UI pass: flatter, denser, and safer on narrow screens. */
:root,[data-bs-theme=dark]{
 --bs-body-bg:#111417;
 --bs-body-color:#d8dee5;
 --bs-border-color:#343a40;
 --bs-secondary-color:#8d98a6;
 --bs-tertiary-bg:#181c20;
 --bs-link-color:#8fbfe8;
 --bs-link-hover-color:#b9d9f3;
 --bs-primary:#3f7fbf;
 --bs-info:#609faf;
 --bs-success:#5fa87a;
 --bs-warning:#c59a4a;
 --bs-danger:#c96068;
}
*{letter-spacing:0!important}
html{background:#111417}
body{
 background:#111417;
 color:#d8dee5;
 font-family:"Noto Sans KR","Malgun Gothic","Segoe UI",system-ui,sans-serif;
 font-size:14px;
 line-height:1.45;
}
.container-fluid.mt-3{margin-top:14px!important;padding-left:18px!important;padding-right:18px!important}
h1,h2,h3,h4,h5,h6{color:#eef2f6;font-weight:750;line-height:1.22}
h2{font-size:1.42rem;margin-bottom:1rem!important}
h3{font-size:1.18rem}
h5{font-size:.94rem}
a{text-underline-offset:2px}
.text-secondary,.text-muted{color:#8d98a6!important}
.navbar{
 min-height:48px;
 background:#0f1215!important;
 border-bottom:1px solid #353b42!important;
 box-shadow:none;
}
.navbar .container-fluid{padding-left:16px;padding-right:16px}
.navbar-brand{font-size:.98rem;font-weight:800!important;color:#f2f5f8!important}
.navbar-nav{gap:2px}
.navbar-dark .navbar-nav .nav-link{
 color:#b5bec8;
 padding:.5rem .58rem;
 font-size:.86rem;
 font-weight:650;
}
.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#f2f5f8;background:#1a1f25}
.navbar-toggler{border-radius:2px;border-color:#414952;padding:.22rem .42rem}
footer{margin-top:20px!important;padding:12px 0!important;background:#0f1215;border-top-color:#343a40!important}

.card,.modal-content,.dropdown-menu,.list-group-item-dark{
 background:#181c20;
 border:1px solid #343b43;
 border-radius:3px;
 box-shadow:none!important;
}
.shadow{box-shadow:none!important}
.card-header,.modal-header,.modal-footer{
 background:#1f242a;
 border-color:#343b43;
 padding:.64rem .78rem;
 font-weight:800;
}
.card-body{padding:.86rem}
.card-header h5,.card-header h6{font-size:.9rem}
.dashboard-panel,.metric-card,.report-chart-card{border-radius:3px;overflow:hidden}
.metric-card{border-color:#39414a;border-left:2px solid #66717d}
.metric-card .card-body{padding:14px 15px}
.metric-label,.section-label,.data-panel-title,.data-section-title,.stock-panel-title{
 color:#9aa6b2;
 font-size:.7rem;
 font-weight:850;
 text-transform:uppercase;
}
.metric-value{font-size:1.62rem;font-weight:800;line-height:1.08}
.metric-value.compact{font-size:1.22rem}
.metric-sub,.formula-meta,.source-date,.result-file-meta{color:#87929e;font-size:.75rem}

.btn{
 border-radius:3px;
 box-shadow:none!important;
 font-weight:750;
 line-height:1.25;
}
.btn-sm{padding:.25rem .5rem;font-size:.78rem}
.btn-lg{padding:.46rem .82rem;font-size:.96rem}
.btn-primary{background:#336fa8;border-color:#4b86bc}
.btn-primary:hover,.btn-primary:focus{background:#3f7fbf;border-color:#6c9dcb}
.btn-outline-info{color:#9cc9d2;border-color:#4f7780}
.btn-outline-info:hover{background:#25424a;border-color:#79a6af;color:#e8fbff}
.btn-outline-light,.btn-outline-secondary{border-color:#58626e;color:#cbd4de}
.btn-outline-light:hover,.btn-outline-secondary:hover{background:#2a3037;border-color:#77828f;color:#fff}

.form-control,.form-select,.data-filter-grid .form-control,.data-filter-grid .form-select,.stock-filter-wrap .form-control,.stock-filter-wrap .form-select{
 background:#0f1318;
 border-color:#3b444e;
 border-radius:2px;
 color:#e1e7ed;
 box-shadow:none!important;
}
.form-control:focus,.form-select:focus,.data-filter-grid .form-control:focus,.data-filter-grid .form-select:focus,.stock-filter-wrap .form-control:focus,.stock-filter-wrap .form-select:focus{
 background:#10161c;
 border-color:#6d8ca5;
 color:#f4f7fa;
 box-shadow:0 0 0 2px rgba(109,140,165,.2)!important;
}
.form-label{color:#c8d0d8;font-weight:700}
.form-check-input{background-color:#11161b;border-color:#53606d}
.form-check-input:checked{background-color:#3f7fbf;border-color:#75a4ce}

code{
 color:#e4edf6;
 background:#10151a;
 border:1px solid #303842;
 border-radius:2px;
 padding:2px 5px;
}
.formula-code{padding:6px 7px;line-height:1.38}
.badge,.metric-badge,.universe-pill,.rank-badge,.side-pill,.data-mini-pill,.data-stage-pill,.stock-panel-count,.stock-selected-code{
 border-radius:2px!important;
 box-shadow:none!important;
}
.rank-badge{width:24px;height:24px;background:#26303a;color:#d9e0e8}
.metric-badge,.universe-pill{background:#202832;border-color:#434e5a;color:#d1dae3}
.side-pill.long{background:#17271f;border-color:#47765a;color:#8fd6a6}
.side-pill.short{background:#2a171b;border-color:#80464c;color:#e58f96}

.table{
 --bs-table-bg:transparent;
 --bs-table-color:#d7dee7;
 --bs-table-border-color:#303741;
 --bs-table-striped-bg:#151a1f;
 --bs-table-hover-bg:#232a31;
 color:#d7dee7;
 border-color:#303741;
 margin-bottom:0;
}
.table>:not(caption)>*>*{padding:.48rem .58rem;border-bottom-color:#303741}
.table-sm>:not(caption)>*>*{padding:.34rem .48rem}
.table thead th{
 background:#20262d;
 color:#9eaab6;
 border-bottom-color:#48515c;
 font-size:.74rem;
 font-weight:850;
 white-space:nowrap;
}
.table-active{--bs-table-bg:#222b33;--bs-table-color:#f0f4f8}
.table-responsive,.position-table-wrap,.result-file-list,.data-catalog-table-wrap,.data-schema-wrap,.data-preview-wrap,.stock-facts,.stock-fundamental-panel .stock-panel-body{
 scrollbar-color:#56616d transparent;
}
.alert{
 border-radius:3px;
 border-width:1px;
 box-shadow:none;
}
.alert-secondary{background:#1b2026;border-color:#3c4650;color:#c8d1db}
.alert-danger{background:#27191d;border-color:#7d444d;color:#ffc1c7}

.dataTables_wrapper{color:#d8dee5}
.dataTables_wrapper .row{--bs-gutter-y:.5rem}
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{font-size:.82rem;color:#8d98a6}
.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{margin-left:.35rem}
.page-link{background:#171c21;border-color:#3a434d;color:#cbd5df}
.page-link:hover{background:#242b33;border-color:#56616d;color:#fff}
.active>.page-link,.page-link.active{background:#355f87;border-color:#5f86a8}

.scoreboard-panel .card-body{padding:11px}
.scoreboard-grid{gap:8px}
.scoreboard-tile{
 background:#151a1f;
 border-color:#303943;
 border-radius:3px;
 padding:11px 12px;
}
.scoreboard-value{font-size:1.45rem;font-weight:850}
.chart-canvas-wrap{height:280px;min-height:280px}
.chart-canvas-wrap,.stock-price-panel,.stock-price-stack,.stock-price-chart,.stock-volume-chart{min-width:0;max-width:100%;overflow:hidden}
.chart-canvas-wrap canvas,.stock-price-chart canvas,.stock-volume-chart canvas{width:100%!important}
canvas{max-height:320px}

.stock-page{
 --stock-border:#3a424a;
 --stock-border-soft:#2f3740;
 --stock-panel:#171c21;
 --stock-panel-soft:#12171c;
 --stock-head:#20262d;
 --stock-muted:#92a0ae;
 --stock-text:#e3e9ef;
 --stock-accent:#7caec1;
 --stock-accent-soft:rgba(124,174,193,.12);
 --stock-shadow:none;
}
.stock-workbench,.stock-content-grid,.stock-lower-grid,.stock-primary-stack,.stock-side-stack{gap:10px}
.stock-panel{border-radius:3px;box-shadow:none}
.stock-panel-head{background:#20262d;padding:10px 12px}
.stock-panel-head.compact{min-height:48px;padding:9px 11px}
.stock-toolbar{gap:10px;margin-bottom:12px;padding-bottom:10px}
.stock-eyebrow,.data-eyebrow{color:#8ba5af;font-size:.66rem;font-weight:850}
.stock-page-title,.data-title{font-size:1.22rem;font-weight:850}
.stock-list-panel{top:64px}
.stock-list-item{min-height:50px;padding:8px 9px 8px 11px}
.stock-list-item:hover{background:#202832}
.stock-list-item.active{background:#1c2b32}
.stock-instrument-head{padding:13px 14px}
.stock-selected-name{font-size:1.32rem}
.stock-quote-cell{padding:10px 12px}
.stock-quote-value{font-size:.98rem}
.stock-signal-metrics div,.stock-alpha-item{border-radius:2px;background:#151b21}

.data-page{
 --data-border:#3a424a;
 --data-border-soft:#2f3740;
 --data-panel:#171c21;
 --data-panel-soft:#12171c;
 --data-head:#20262d;
 --data-text:#e3e9ef;
 --data-muted:#92a0ae;
 --data-accent:#7caec1;
 --data-warn:#c59a4a;
 --data-good:#69ad80;
}
.data-toolbar{gap:10px;margin-bottom:12px;padding-bottom:10px}
.data-toolbar-meta div{background:#151a1f;border-radius:3px;padding:6px 8px}
.data-stage-strip{gap:8px;margin-bottom:12px}
.data-stage-card{
 min-height:84px;
 padding:10px;
 background:#171c21;
 border-radius:3px;
}
.data-stage-card:hover{background:#20262d}
.data-stage-card.active{background:#1c2b32;box-shadow:none}
.data-workbench{gap:10px}
.data-catalog-panel,.data-detail-panel,.data-section{border-radius:3px}
.data-catalog-panel{top:64px}
.data-panel-head,.data-section-head{background:#20262d;padding:10px 12px}
.data-detail-head{padding:12px 14px}
.data-detail-title{font-size:1.15rem}
.data-metric{border-radius:2px;background:#151a1f}
.data-detail-grid{gap:10px;padding:10px}

.report-image-frame{border-radius:3px;background:#11161b}
.report-image{border-radius:2px}
.vt-clone #top,.vt-clone .vt-modal-box{box-shadow:none}
.vt-clone #top_logo{background:#0d1319}
.vt-clone .vt-small-btn,.vt-clone .vt-modal button,.vt-clone #vt-open-order,.vt-clone select,.vt-clone input{border-radius:2px}

@media (max-width: 991.98px){
 .navbar-collapse{padding-top:.5rem}
 .navbar .ms-auto{align-items:stretch!important;flex-wrap:wrap;margin-top:.5rem}
 .container-fluid.mt-3{padding-left:14px!important;padding-right:14px!important}
 .dashboard-status{text-align:left!important;min-width:0}
 .chart-canvas-wrap{height:260px;min-height:260px}
 .data-workbench,.stock-workbench{gap:10px}
}
@media (max-width: 767.98px){
 body{font-size:13.5px}
 .container-fluid.mt-3{margin-top:10px!important;padding-left:10px!important;padding-right:10px!important}
 h2{font-size:1.2rem;margin-bottom:.75rem!important}
 h3{font-size:1.05rem}
 .row{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
 .card-header{padding:.56rem .66rem}
 .card-body{padding:.7rem}
 .metric-card .card-body{padding:.76rem}
 .metric-value{font-size:1.34rem}
 .metric-value.compact{font-size:1.05rem}
 .scoreboard-value{font-size:1.2rem}
 .btn-lg{padding:.42rem .7rem;font-size:.9rem}
 .table{font-size:.78rem}
 .table-responsive,.card-body.p-0,.position-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
 }
 .card-body:has(> table.table){
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
 }
 .card-body.p-0>table.table:has(thead),.card-body>table.table:has(thead){min-width:640px}
 #stbl{min-width:760px}
 #ict{min-width:860px}
 .data-catalog-table,.data-schema-table,.data-preview-table{min-width:720px}
 .stock-data-table{min-width:640px}
 .data-detail-title,.stock-selected-name{font-size:1.05rem}
 .stock-instrument-head{padding:11px}
 .stock-quote-cell{padding:.6rem .65rem}
 .stock-action-area{flex-wrap:wrap}
 .stock-action-area .btn{flex:1 1 auto}
 .data-detail-grid,.stock-content-grid,.stock-lower-grid{gap:8px}
 .data-detail-head{padding:10px 11px}
 .report-modal-image{min-width:560px}
 .dataTables_wrapper .row>*{margin-bottom:.35rem}
 .dataTables_wrapper .dataTables_filter{text-align:left}
 .dataTables_wrapper .dataTables_filter input{width:100%;margin:.25rem 0 0}
}
@media (max-width: 420px){
 .container-fluid.mt-3{padding-left:8px!important;padding-right:8px!important}
 .navbar .container-fluid{padding-left:10px;padding-right:10px}
 .navbar-brand{font-size:.9rem}
 .stock-quote-strip{grid-template-columns:1fr}
 .stock-signal-metrics,.stock-alpha-grid,.data-metric-grid{grid-template-columns:1fr}
 .data-toolbar-meta{gap:6px}
 .data-toolbar-meta div{min-width:calc(50% - 3px)}
 .data-toolbar-meta .btn{width:100%}
 .vt-clone{font-size:13px}
}

/* Low-fi terminal web pass: square, gray, table-first, minimal paint. */
:root,[data-bs-theme=dark]{
 --bs-body-bg:#bfbfbf;
 --bs-body-color:#050505;
 --bs-border-color:#707070;
 --bs-secondary-color:#404040;
 --bs-tertiary-bg:#d8d8d8;
 --bs-link-color:#0000ee;
 --bs-link-hover-color:#551a8b;
 --bs-primary:#000080;
 --bs-info:#004f5f;
 --bs-success:#006000;
 --bs-warning:#8a5a00;
 --bs-danger:#9a0000;
 --bs-light:#eeeeee;
 --bs-dark:#202020;
}
*{
 animation:none!important;
 transition:none!important;
 text-shadow:none!important;
 box-shadow:none!important;
 filter:none!important;
}
html,body{background:#bfbfbf!important}
body{
 color:#050505;
 font-family:Gulim,Dotum,Arial,Helvetica,sans-serif;
 font-size:13px;
 line-height:1.32;
}
.container-fluid.mt-3{
 max-width:none;
 margin-top:8px!important;
 padding-left:8px!important;
 padding-right:8px!important;
}
h1,h2,h3,h4,h5,h6{
 color:#000;
 font-family:Gulim,Dotum,Arial,Helvetica,sans-serif;
 font-weight:700;
 line-height:1.12;
}
h2{
 display:block;
 margin:0 0 8px!important;
 padding:4px 6px;
 background:#d7d7d7;
 border:2px solid;
 border-color:#fff #555 #555 #fff;
 font-size:18px;
}
h3{font-size:15px}
h5{font-size:13px}
a,.stock-link,.result-file-name,.data-cell-link,.stock-inline-link{
 color:#0000ee!important;
 text-decoration:underline!important;
 font-weight:700;
}
a:visited{color:#551a8b}
a:hover,.stock-link:hover,.result-file-name:hover,.data-cell-link:hover,.stock-inline-link:hover{
 color:#ff0000!important;
 background:#ffff99;
}
.text-secondary,.text-muted,.metric-sub,.formula-meta,.source-date,.result-file-meta,.stock-panel-sub,.data-panel-sub{
 color:#333!important;
}
.text-success{color:#006000!important}
.text-danger{color:#9a0000!important}
.text-info{color:#004f5f!important}
.text-warning{color:#7a4d00!important}

.navbar{
 min-height:34px;
 background:#c8c8c8!important;
 border:2px solid!important;
 border-color:#fff #555 #555 #fff!important;
 padding:2px 0!important;
}
.navbar .container-fluid{padding-left:6px;padding-right:6px}
.navbar-brand{
 margin-right:8px;
 padding:2px 5px;
 color:#000!important;
 background:#e8e8e8;
 border:1px solid #707070;
 font-size:13px;
 font-weight:800!important;
}
.navbar-nav{gap:0}
.navbar-dark .navbar-nav .nav-link{
 display:block;
 margin:1px 2px 1px 0;
 padding:3px 5px;
 color:#0000ee;
 background:#dcdcdc;
 border:1px solid #808080;
 font-size:12px;
 font-weight:700;
 text-decoration:underline;
}
.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{
 color:#ff0000;
 background:#ffff99;
}
.navbar-toggler{
 background:#d4d0c8;
 border:2px solid;
 border-color:#fff #555 #555 #fff;
 border-radius:0;
 padding:2px 5px;
}
.navbar-toggler-icon{filter:invert(0)!important}
footer{
 margin-top:8px!important;
 padding:6px 0!important;
 color:#303030!important;
 background:#c8c8c8;
 border-top:2px solid #707070!important;
}

.card,.modal-content,.dropdown-menu,.list-group-item-dark,.data-catalog-panel,.data-detail-panel,.data-section,.stock-panel,.scoreboard-tile{
 background:#d3d3d3!important;
 border:2px solid!important;
 border-color:#fff #555 #555 #fff!important;
 border-radius:0!important;
 color:#050505!important;
}
.card-header,.modal-header,.modal-footer,.stock-panel-head,.data-panel-head,.data-section-head{
 min-height:0!important;
 padding:4px 6px!important;
 background:#000080!important;
 border:0!important;
 border-bottom:2px solid #000!important;
 color:#fff!important;
 font-size:12px!important;
 font-weight:700!important;
 text-transform:none!important;
}
.card-header *,.stock-panel-head *,.data-panel-head *,.data-section-head *{
 color:inherit!important;
}
.card-body,.modal-body{padding:6px!important}
.dashboard-panel,.metric-card,.report-chart-card,.stock-panel,.data-catalog-panel,.data-detail-panel,.data-section{overflow:hidden}
.metric-card{border-left:2px solid #fff!important}
.metric-card .card-body{padding:6px!important}
.metric-label,.section-label,.stock-panel-title,.data-panel-title,.data-section-title{
 color:#000!important;
 font-size:11px!important;
 font-weight:700!important;
 text-transform:none!important;
}
.metric-value,.scoreboard-value{
 margin-top:2px;
 color:#000!important;
 font-family:"Courier New",Consolas,monospace;
 font-size:20px!important;
 font-weight:700!important;
 line-height:1.05;
}
.metric-value.compact{font-size:15px!important}
.scoreboard-panel .card-body{padding:5px!important}
.scoreboard-grid{gap:5px!important}
.scoreboard-tile{padding:5px!important;background:#cfcfcf!important}

.btn,.page-link,.vt-clone .vt-small-btn,.vt-clone .vt-modal button,.vt-clone #vt-open-order{
 min-height:22px;
 padding:2px 7px!important;
 color:#000!important;
 background:#d4d0c8!important;
 border:2px solid!important;
 border-color:#fff #404040 #404040 #fff!important;
 border-radius:0!important;
 font-family:Gulim,Dotum,Arial,Helvetica,sans-serif;
 font-size:12px!important;
 font-weight:700!important;
 text-decoration:none!important;
 line-height:1.2;
}
.btn:hover,.page-link:hover,.vt-clone .vt-small-btn:hover,.vt-clone .vt-modal button:hover,.vt-clone #vt-open-order:hover{
 background:#ffff99!important;
 color:#000!important;
}
.btn:active,.page-link:active{
 border-color:#404040 #fff #fff #404040!important;
 transform:translate(1px,1px);
}
.btn-primary,.btn-outline-info,.btn-outline-light,.btn-outline-secondary,.btn-success,.btn-danger,.btn-warning{
 color:#000!important;
 background:#d4d0c8!important;
 border-color:#fff #404040 #404040 #fff!important;
}
.btn.disabled,.btn:disabled,button:disabled{opacity:.55!important}

.form-control,.form-select,textarea,input,select,
.data-filter-grid .form-control,.data-filter-grid .form-select,
.stock-filter-wrap .form-control,.stock-filter-wrap .form-select,
.vt-clone select,.vt-clone input{
 min-height:24px;
 color:#000!important;
 background:#fff!important;
 border:2px inset #808080!important;
 border-radius:0!important;
 padding:2px 4px!important;
 font-family:Gulim,Dotum,Arial,Helvetica,sans-serif;
 font-size:12px!important;
}
.form-control:focus,.form-select:focus,textarea:focus,input:focus,select:focus{
 outline:1px dotted #000!important;
 outline-offset:1px;
 background:#fff!important;
 color:#000!important;
}
.form-label{margin-bottom:2px;color:#000!important;font-size:12px;font-weight:700}
.form-check-input{background-color:#fff!important;border:2px inset #808080!important;border-radius:0!important}
.form-check-input:checked{background-color:#000080!important;border-color:#000!important}

code,.formula-code,.stock-selected-code{
 color:#000!important;
 background:#e9e9e9!important;
 border:1px solid #707070!important;
 border-radius:0!important;
 padding:1px 3px!important;
 font-family:"Courier New",Consolas,monospace!important;
 font-size:12px!important;
}
.badge,.metric-badge,.universe-pill,.rank-badge,.side-pill,.data-mini-pill,.data-stage-pill,.stock-panel-count{
 display:inline-block;
 color:#000!important;
 background:#d4d0c8!important;
 border:1px solid #606060!important;
 border-radius:0!important;
 padding:1px 4px!important;
 font-family:Gulim,Dotum,Arial,Helvetica,sans-serif!important;
 font-size:11px!important;
 font-weight:700!important;
}
.rank-badge{width:auto;height:auto;min-width:18px}
.side-pill.long{background:#d8efd8!important;color:#004d00!important}
.side-pill.short{background:#efd8d8!important;color:#8b0000!important}

.table,.data-catalog-table,.data-schema-table,.data-preview-table,.stock-data-table,.stock-fact-table,.vt-clone table.datagrid,.vt-clone table.simple-tab{
 --bs-table-bg:#e0e0e0;
 --bs-table-color:#000;
 --bs-table-border-color:#606060;
 --bs-table-striped-bg:#d5d5d5;
 --bs-table-hover-bg:#ffffcc;
 width:100%;
 background:#e0e0e0!important;
 color:#000!important;
 border:2px solid #606060!important;
 border-collapse:collapse!important;
 font-size:12px!important;
}
.table>:not(caption)>*>*,.stock-fact-table th,.stock-fact-table td,.vt-clone table.datagrid th,.vt-clone table.datagrid td,.vt-clone table.simple-tab th,.vt-clone table.simple-tab td{
 padding:2px 4px!important;
 border:1px solid #606060!important;
 color:#000!important;
 vertical-align:top;
}
.table thead th,.data-catalog-table thead th,.data-schema-table thead th,.data-preview-table thead th,.stock-data-table thead th,.vt-clone table.datagrid thead th,.vt-clone table.simple-tab thead th{
 position:sticky;
 top:0;
 z-index:1;
 background:#000080!important;
 color:#fff!important;
 border:1px solid #000!important;
 font-size:11px!important;
 font-weight:700!important;
 text-transform:none!important;
 white-space:nowrap;
}
.table tbody tr:hover{background:#ffffcc!important}
.table-active,.table-active>*{background:#c6c6c6!important;color:#000!important}
.table-responsive,.position-table-wrap,.result-file-list,.data-catalog-table-wrap,.data-schema-wrap,.data-preview-wrap,.stock-list,.stock-facts,.stock-fundamental-panel .stock-panel-body{
 border:1px inset #808080;
 background:#e0e0e0;
 scrollbar-color:#808080 #d4d0c8;
}
.alert{
 padding:5px 7px!important;
 color:#000!important;
 background:#ffffcc!important;
 border:2px solid #808000!important;
 border-radius:0!important;
}
.alert-danger{background:#ffd6d6!important;border-color:#9a0000!important}
.alert-secondary{background:#dedede!important;border-color:#707070!important}

.dataTables_wrapper{color:#000!important;font-size:12px}
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{
 color:#000!important;
 font-size:12px;
}
.pagination{gap:2px}
.active>.page-link,.page-link.active{
 color:#fff!important;
 background:#000080!important;
 border-color:#000!important;
}

.chart-canvas-wrap,.stock-price-chart,.stock-volume-chart,.vt-clone .vt-chart-box,.vt-clone .vt-mini-chart,.vt-clone .vt-tab-chart{
 background:#fff!important;
 border:2px inset #808080!important;
 border-radius:0!important;
 overflow:hidden;
}
canvas{background:#fff!important}
.report-image-frame{background:#fff!important;border:2px inset #808080!important;border-radius:0!important}
.report-image{border-radius:0!important}

.stock-page{
 --stock-border:#606060;
 --stock-border-soft:#808080;
 --stock-panel:#d3d3d3;
 --stock-panel-soft:#c8c8c8;
 --stock-head:#000080;
 --stock-muted:#303030;
 --stock-text:#000;
 --stock-accent:#000080;
 --stock-accent-soft:#ffffcc;
 --stock-shadow:none;
}
.stock-toolbar,.data-toolbar{
 margin-bottom:6px!important;
 padding:4px!important;
 background:#c8c8c8;
 border:2px solid;
 border-color:#fff #555 #555 #fff;
}
.stock-eyebrow,.data-eyebrow{color:#000!important;font-size:11px!important}
.stock-page-title,.data-title{
 display:block;
 margin:2px 0 0!important;
 padding:0;
 background:transparent;
 border:0;
 color:#000!important;
 font-size:16px!important;
}
.stock-workbench,.stock-content-grid,.stock-lower-grid,.stock-primary-stack,.stock-side-stack,.data-workbench,.data-detail-grid{gap:6px!important}
.stock-list-panel,.data-catalog-panel{top:44px}
.stock-filter-wrap,.data-filter-grid{
 padding:4px!important;
 gap:4px!important;
 background:#c8c8c8!important;
 border-bottom:2px solid #707070!important;
}
.stock-list-head{
 padding:3px 5px!important;
 background:#000080!important;
 color:#fff!important;
 border-bottom:1px solid #000!important;
 font-size:11px!important;
}
.stock-list-item{
 min-height:38px!important;
 padding:4px 5px!important;
 color:#000!important;
 background:#e0e0e0!important;
 border-left:0!important;
 border-bottom:1px solid #808080!important;
}
.stock-list-item:hover,.stock-list-item.active,.data-catalog-table tbody tr:hover,.data-catalog-table tbody tr.active{
 background:#ffffcc!important;
}
.stock-list-name,.stock-selected-name,.data-detail-title,.data-dataset-name{
 color:#000!important;
 font-weight:700!important;
}
.stock-list-meta,.stock-list-rank,.stock-list-price,.stock-selected-meta,.stock-quote-sub,.data-dataset-path,.data-detail-path,.data-detail-updated{
 color:#303030!important;
 font-family:"Courier New",Consolas,monospace!important;
 font-size:11px!important;
}
.stock-instrument-head,.data-detail-head{
 padding:5px!important;
 background:#d3d3d3!important;
 border-bottom:2px solid #707070!important;
}
.stock-quote-strip{background:#d3d3d3!important}
.stock-quote-cell{
 padding:4px 5px!important;
 border-right:1px solid #606060!important;
 border-bottom:1px solid #606060!important;
}
.stock-quote-label{color:#000!important;font-size:10px!important;font-weight:700!important}
.stock-quote-value{
 color:#000!important;
 font-family:"Courier New",Consolas,monospace!important;
 font-size:12px!important;
}
.stock-summary,.stock-signal-note,.stock-signal-metrics div,.stock-alpha-item,.data-metric,.data-toolbar-meta div,.data-stage-card{
 color:#000!important;
 background:#d8d8d8!important;
 border:2px solid!important;
 border-color:#fff #555 #555 #fff!important;
 border-radius:0!important;
}
.data-stage-strip{gap:5px!important;margin-bottom:6px!important}
.data-stage-card{
 min-height:62px!important;
 padding:5px!important;
 text-align:left;
}
.data-stage-card.active{
 background:#ffffcc!important;
 border-color:#555 #fff #fff #555!important;
}
.data-stage-card span,.data-stage-card strong,.data-stage-card small,.data-stage-card em,.data-metric span,.data-metric strong{
 color:#000!important;
}
.data-metric-grid{gap:5px!important;padding:5px!important}
.data-detail-empty{color:#000!important;min-height:260px!important;background:#d3d3d3}

.vt-clone{
 --vt-bg:#bfbfbf;
 --vt-page:#d3d3d3;
 --vt-panel:#d8d8d8;
 --vt-panel-2:#e0e0e0;
 --vt-head:#000080;
 --vt-line:#606060;
 --vt-line-soft:#808080;
 --vt-text:#000;
 --vt-muted:#303030;
 --vt-blue:#0000ee;
 --vt-red:#9a0000;
 --vt-green:#006000;
 --vt-yellow:#8a5a00;
 background:#bfbfbf!important;
 color:#000!important;
}
.vt-clone #top,.vt-clone #top_logo,.vt-clone #top_menu{
 background:#c8c8c8!important;
 border-color:#606060!important;
}
.vt-clone #tabmenu a,.vt-clone .nav-tabs .nav-link{
 background:#d4d0c8!important;
 color:#0000ee!important;
 border-radius:0!important;
 text-decoration:underline;
}
.vt-clone #tabmenu a.selected,.vt-clone .nav-tabs .nav-link.active{
 background:#000080!important;
 color:#fff!important;
}

@media (max-width: 991.98px){
 .navbar-collapse{padding-top:3px}
 .navbar .ms-auto{margin-top:3px}
 .stock-list-panel,.data-catalog-panel{top:auto}
}
@media (max-width: 767.98px){
 body{font-size:12px}
 .container-fluid.mt-3{padding-left:4px!important;padding-right:4px!important}
 h2{font-size:15px}
 .row{--bs-gutter-x:5px;--bs-gutter-y:5px}
 .card-body{padding:4px!important}
 .metric-value,.scoreboard-value{font-size:16px!important}
 .table{font-size:11px!important}
 .card-body.p-0>table.table:has(thead),.card-body>table.table:has(thead){min-width:620px}
 #stbl{min-width:720px}
 #ict{min-width:820px}
 .data-catalog-table,.data-schema-table,.data-preview-table{min-width:680px}
 .stock-data-table{min-width:620px}
 .stock-quote-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .chart-canvas-wrap{height:230px!important;min-height:230px!important}
 .stock-price-chart{height:230px!important}
 .stock-volume-chart{height:90px!important}
 .data-stage-card{min-height:52px!important}
}
@media (max-width: 420px){
 .navbar-brand{font-size:12px}
 .navbar-dark .navbar-nav .nav-link{font-size:11px;padding:3px 4px}
 .stock-quote-strip{grid-template-columns:1fr}
 .data-toolbar-meta div{min-width:100%}
}

/* Dark low-fi contrast pass. Keeps the 90s square UI, fixes white text and chart contrast. */
:root,[data-bs-theme=dark]{
 --bs-body-bg:#050505;
 --bs-body-color:#f2f2f2;
 --bs-border-color:#777;
 --bs-secondary-color:#c8c8c8;
 --bs-tertiary-bg:#151515;
 --bs-link-color:#00e5ff;
 --bs-link-hover-color:#ffff66;
 --bs-primary:#003f9e;
 --bs-info:#00bcd4;
 --bs-success:#38e06f;
 --bs-warning:#ffd24a;
 --bs-danger:#ff5a66;
 --bs-light:#f0f0f0;
 --bs-dark:#050505;
}
html,body{background:#050505!important}
body{color:#f2f2f2!important}
h1,h2,h3,h4,h5,h6{color:#fff!important}
h2{
 background:#101010!important;
 border-color:#777 #000 #000 #777!important;
 color:#fff!important;
}
a,.stock-link,.result-file-name,.data-cell-link,.stock-inline-link{
 color:#00e5ff!important;
}
a:visited{color:#bda6ff!important}
a:hover,.stock-link:hover,.result-file-name:hover,.data-cell-link:hover,.stock-inline-link:hover{
 color:#ffff66!important;
 background:#303000!important;
}
.text-secondary,.text-muted,.metric-sub,.formula-meta,.source-date,.result-file-meta,.stock-panel-sub,.data-panel-sub{
 color:#c8c8c8!important;
}
.text-success{color:#62ff92!important}
.text-danger{color:#ff7b86!important}
.text-info{color:#72f0ff!important}
.text-warning{color:#ffe082!important}

.navbar,footer,.stock-toolbar,.data-toolbar{
 background:#090909!important;
 border-color:#777 #000 #000 #777!important;
 color:#f2f2f2!important;
}
.navbar-brand{
 color:#fff!important;
 background:#151515!important;
 border-color:#777!important;
}
.navbar-dark .navbar-nav .nav-link{
 color:#00e5ff!important;
 background:#101010!important;
 border-color:#565656!important;
}
.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{
 color:#ffff66!important;
 background:#303000!important;
}
.navbar-toggler{
 background:#181818!important;
 border-color:#777 #000 #000 #777!important;
}
.navbar-toggler-icon{filter:invert(1)!important}

.card,.modal-content,.dropdown-menu,.list-group-item-dark,.data-catalog-panel,.data-detail-panel,.data-section,.stock-panel,.scoreboard-tile{
 background:#151515!important;
 border-color:#777 #000 #000 #777!important;
 color:#f2f2f2!important;
}
.card-header,.modal-header,.modal-footer,.stock-panel-head,.data-panel-head,.data-section-head,.stock-list-head{
 background:#000066!important;
 border-bottom-color:#777!important;
 color:#fff!important;
}
.card-header *,.stock-panel-head *,.data-panel-head *,.data-section-head *,.stock-list-head *{color:#fff!important}
.metric-label,.section-label,.stock-panel-title,.data-panel-title,.data-section-title,.stock-quote-label{
 color:#f4f4f4!important;
}
.metric-value,.scoreboard-value,.stock-quote-value{
 color:#fff!important;
}
.scoreboard-tile,.stock-summary,.stock-signal-note,.stock-signal-metrics div,.stock-alpha-item,.data-metric,.data-toolbar-meta div,.data-stage-card{
 background:#111!important;
 border-color:#777 #000 #000 #777!important;
 color:#f2f2f2!important;
}
.data-stage-card.active,.stock-list-item.active,.stock-list-item:hover,.data-catalog-table tbody tr:hover,.data-catalog-table tbody tr.active{
 background:#222b34!important;
}
.data-stage-card span,.data-stage-card strong,.data-stage-card small,.data-stage-card em,.data-metric span,.data-metric strong{
 color:#f2f2f2!important;
}

.btn,.page-link,.vt-clone .vt-small-btn,.vt-clone .vt-modal button,.vt-clone #vt-open-order{
 color:#fff!important;
 background:#181818!important;
 border-color:#888 #000 #000 #888!important;
}
.btn-primary,.btn-outline-info,.btn-outline-light,.btn-outline-secondary,.btn-success,.btn-danger,.btn-warning{
 color:#fff!important;
 background:#181818!important;
 border-color:#888 #000 #000 #888!important;
}
.btn:hover,.page-link:hover,.vt-clone .vt-small-btn:hover,.vt-clone .vt-modal button:hover,.vt-clone #vt-open-order:hover{
 color:#ffff66!important;
 background:#303000!important;
}
.btn:active,.page-link:active{border-color:#000 #888 #888 #000!important}
.active>.page-link,.page-link.active{
 color:#fff!important;
 background:#000066!important;
 border-color:#888!important;
}

.form-control,.form-select,textarea,input,select,
.data-filter-grid .form-control,.data-filter-grid .form-select,
.stock-filter-wrap .form-control,.stock-filter-wrap .form-select,
.vt-clone select,.vt-clone input{
 color:#fff!important;
 background:#050505!important;
 border-color:#888!important;
 caret-color:#fff;
}
.form-control:focus,.form-select:focus,textarea:focus,input:focus,select:focus{
 background:#090909!important;
 color:#fff!important;
 outline-color:#fff!important;
}
.form-control::placeholder{color:#b8b8b8!important}
.form-label{color:#f2f2f2!important}
.form-check-input{background-color:#050505!important;border-color:#888!important}
.form-check-input:checked{background-color:#00e5ff!important;border-color:#fff!important}

code,.formula-code,.stock-selected-code{
 color:#eaffea!important;
 background:#000!important;
 border-color:#777!important;
}
.badge,.metric-badge,.universe-pill,.rank-badge,.side-pill,.data-mini-pill,.data-stage-pill,.stock-panel-count{
 color:#fff!important;
 background:#0c0c0c!important;
 border-color:#777!important;
}
.side-pill.long{background:#092214!important;color:#62ff92!important}
.side-pill.short{background:#2a090d!important;color:#ff7b86!important}

.table,.data-catalog-table,.data-schema-table,.data-preview-table,.stock-data-table,.stock-fact-table,.vt-clone table.datagrid,.vt-clone table.simple-tab{
 --bs-table-bg:#111;
 --bs-table-color:#f2f2f2;
 --bs-table-border-color:#666;
 --bs-table-striped-bg:#181818;
 --bs-table-hover-bg:#222b34;
 background:#111!important;
 color:#f2f2f2!important;
 border-color:#777!important;
}
.table>:not(caption)>*>*,.stock-fact-table th,.stock-fact-table td,.vt-clone table.datagrid th,.vt-clone table.datagrid td,.vt-clone table.simple-tab th,.vt-clone table.simple-tab td{
 border-color:#666!important;
 color:#f2f2f2!important;
}
.table thead th,.data-catalog-table thead th,.data-schema-table thead th,.data-preview-table thead th,.stock-data-table thead th,.vt-clone table.datagrid thead th,.vt-clone table.simple-tab thead th{
 background:#000066!important;
 color:#fff!important;
 border-color:#888!important;
}
.table tbody tr:hover{background:#222b34!important}
.table-active,.table-active>*{background:#253244!important;color:#fff!important}
.table-responsive,.position-table-wrap,.result-file-list,.data-catalog-table-wrap,.data-schema-wrap,.data-preview-wrap,.stock-list,.stock-facts,.stock-fundamental-panel .stock-panel-body{
 background:#090909!important;
 border-color:#777!important;
 scrollbar-color:#aaa #101010;
}
.alert{
 color:#fff!important;
 background:#241f00!important;
 border-color:#ffd24a!important;
}
.alert-danger{background:#2a090d!important;border-color:#ff5a66!important}
.alert-secondary{background:#151515!important;border-color:#777!important}
.dataTables_wrapper,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{
 color:#f2f2f2!important;
}

.chart-canvas-wrap,.stock-price-chart,.stock-volume-chart,.vt-clone .vt-chart-box,.vt-clone .vt-mini-chart,.vt-clone .vt-tab-chart,.report-image-frame{
 background:#050505!important;
 border-color:#888 #000 #000 #888!important;
}
canvas{background:#050505!important}
.stock-chart-empty{
 color:#f2f2f2!important;
 background:#050505!important;
}

.stock-page{
 --stock-border:#777;
 --stock-border-soft:#666;
 --stock-panel:#151515;
 --stock-panel-soft:#090909;
 --stock-head:#000066;
 --stock-muted:#c8c8c8;
 --stock-text:#f2f2f2;
 --stock-accent:#00e5ff;
 --stock-accent-soft:#222b34;
}
.data-page{
 --data-border:#777;
 --data-border-soft:#666;
 --data-panel:#151515;
 --data-panel-soft:#090909;
 --data-head:#000066;
 --data-text:#f2f2f2;
 --data-muted:#c8c8c8;
 --data-accent:#00e5ff;
 --data-warn:#ffd24a;
 --data-good:#62ff92;
}
.stock-eyebrow,.data-eyebrow,.stock-page-title,.data-title,.stock-list-name,.stock-selected-name,.data-detail-title,.data-dataset-name{
 color:#fff!important;
}
.stock-list-item{
 color:#f2f2f2!important;
 background:#111!important;
 border-bottom-color:#666!important;
}
.stock-list-meta,.stock-list-rank,.stock-list-price,.stock-selected-meta,.stock-quote-sub,.data-dataset-path,.data-detail-path,.data-detail-updated{
 color:#c8c8c8!important;
}
.stock-instrument-head,.data-detail-head,.stock-quote-strip,.stock-filter-wrap,.data-filter-grid{
 background:#111!important;
 border-color:#777!important;
}
.stock-quote-cell{border-color:#666!important}

.vt-clone{
 --vt-bg:#050505;
 --vt-page:#111;
 --vt-panel:#151515;
 --vt-panel-2:#111;
 --vt-head:#000066;
 --vt-line:#777;
 --vt-line-soft:#666;
 --vt-text:#f2f2f2;
 --vt-muted:#c8c8c8;
 --vt-blue:#00e5ff;
 --vt-red:#ff7b86;
 --vt-green:#62ff92;
 --vt-yellow:#ffd24a;
 background:#050505!important;
 color:#f2f2f2!important;
}
.vt-clone #top,.vt-clone #top_logo,.vt-clone #top_menu{background:#090909!important}
.vt-clone #tabmenu a,.vt-clone .nav-tabs .nav-link{
 color:#00e5ff!important;
 background:#101010!important;
}
.vt-clone #tabmenu a.selected,.vt-clone .nav-tabs .nav-link.active{
 color:#fff!important;
 background:#000066!important;
}

.ga-mini-card{min-width:190px}
.ga-note-list{display:grid;gap:8px}
.ga-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ga-summary-tile{min-height:102px}
@media (max-width: 1200px){.ga-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 768px){.ga-summary-grid{grid-template-columns:1fr;}}

.terminal-page-card{min-height:640px}
.terminal-toolbar{border-bottom:1px solid #666;padding-bottom:10px}
.terminal-tab-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.terminal-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;background:#101010;color:#f2f2f2;border:2px solid;border-color:#777 #000 #000 #777;white-space:nowrap}
.terminal-tab-btn.active{background:#000066;color:#fff}
.terminal-tab-exit{display:inline-block;padding:1px 4px;background:#151515;border:1px solid #777;color:#c8c8c8;font-size:11px}
.terminal-tab-close{min-width:18px;height:18px;padding:0!important;line-height:1;border:1px solid #888!important;background:#111!important;color:#f2f2f2!important}
.terminal-stage{position:relative;min-height:560px;background:#050505;border:2px inset #777;overflow:hidden}
.terminal-instance{position:absolute;inset:0;padding:8px}
.terminal-empty-state{min-height:560px;display:grid;place-items:center;text-align:center;color:#c8c8c8;padding:24px}
.terminal-empty-state strong{display:block;margin-bottom:6px;color:#fff;font-size:15px}
.terminal-status-row{min-height:20px}
.terminal-status-dot{display:inline-block;width:10px;height:10px;border-radius:999px;background:#777}
.terminal-status-live{background:#38e06f;box-shadow:0 0 0 3px rgba(56,224,111,.18)}
.terminal-status-dead{background:#ff5a66;box-shadow:0 0 0 3px rgba(255,90,102,.16)}
.terminal-status-idle{background:#777}
@media (max-width: 767.98px){
 .terminal-page-card{min-height:520px}
 .terminal-stage,.terminal-empty-state{min-height:420px}
 .terminal-instance{padding:4px}
 .terminal-toolbar{padding-bottom:8px}
}

/* Comfort dark pass: keep the square low-fi UI, soften black/white contrast. */
:root,[data-bs-theme=dark]{
 --bs-body-bg:#20262d;
 --bs-body-color:#d1d8df;
 --bs-border-color:#495663;
 --bs-secondary-color:#a2adb8;
 --bs-tertiary-bg:#2a333c;
 --bs-link-color:#9ccad6;
 --bs-link-hover-color:#d6c985;
 --bs-primary:#6f9fad;
 --bs-info:#8db8c6;
 --bs-success:#91c69f;
 --bs-warning:#d2b875;
 --bs-danger:#d88a8e;
 --bs-light:#d8e0e7;
 --bs-dark:#252d35;
}
html,body{background:#20262d!important}
body{color:#d1d8df!important}
h1,h2,h3,h4,h5,h6{color:#e5ebf0!important}
h2{
 background:#2b343e!important;
 border-color:#596674 #1c2228 #1c2228 #596674!important;
 color:#e5ebf0!important;
}
a,.stock-link,.result-file-name,.data-cell-link,.stock-inline-link{color:#9ccad6!important}
a:visited{color:#b8accf!important}
a:hover,.stock-link:hover,.result-file-name:hover,.data-cell-link:hover,.stock-inline-link:hover{
 color:#e2d48e!important;
 background:#39362a!important;
}
.text-secondary,.text-muted,.metric-sub,.formula-meta,.source-date,.result-file-meta,.stock-panel-sub,.data-panel-sub{color:#a2adb8!important}
.text-success{color:#9bd0aa!important}
.text-danger{color:#e19aa0!important}
.text-info{color:#a8d0da!important}
.text-warning{color:#ddc783!important}

.navbar,footer,.stock-toolbar,.data-toolbar{
 background:#242c34!important;
 border-color:#596674 #182026 #182026 #596674!important;
 color:#d1d8df!important;
}
.navbar-brand{
 color:#e5ebf0!important;
 background:#2c3540!important;
 border-color:#556270!important;
}
.navbar-dark .navbar-nav .nav-link{
 color:#b9c6d0!important;
 background:#28313a!important;
 border-color:#46525f!important;
}
.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{
 color:#f0e5a7!important;
 background:#34352d!important;
}
.navbar-toggler{background:#2c3540!important;border-color:#596674 #182026 #182026 #596674!important}
.navbar-toggler-icon{filter:invert(.85)!important}

.card,.modal-content,.dropdown-menu,.list-group-item-dark,.data-catalog-panel,.data-detail-panel,.data-section,.stock-panel,.scoreboard-tile{
 background:#2a333c!important;
 border-color:#596674 #1c2228 #1c2228 #596674!important;
 color:#d1d8df!important;
}
.card-header,.modal-header,.modal-footer,.stock-panel-head,.data-panel-head,.data-section-head,.stock-list-head{
 background:#303a44!important;
 border-bottom-color:#495663!important;
 color:#e5ebf0!important;
}
.card-header *,.stock-panel-head *,.data-panel-head *,.data-section-head *,.stock-list-head *{color:#e5ebf0!important}
.metric-label,.section-label,.stock-panel-title,.data-panel-title,.data-section-title,.stock-quote-label{color:#c1cad3!important}
.metric-value,.scoreboard-value,.stock-quote-value{color:#e9eef2!important}
.scoreboard-tile,.stock-summary,.stock-signal-note,.stock-signal-metrics div,.stock-alpha-item,.data-metric,.data-toolbar-meta div,.data-stage-card{
 background:#252e37!important;
 border-color:#4b5966 #1b2229 #1b2229 #4b5966!important;
 color:#d1d8df!important;
}
.data-stage-card.active,.stock-list-item.active,.stock-list-item:hover,.data-catalog-table tbody tr:hover,.data-catalog-table tbody tr.active{background:#31404a!important}
.data-stage-card span,.data-stage-card strong,.data-stage-card small,.data-stage-card em,.data-metric span,.data-metric strong{color:#d8e0e7!important}

.btn,.page-link,.vt-clone .vt-small-btn,.vt-clone .vt-modal button,.vt-clone #vt-open-order{
 color:#d8e0e7!important;
 background:#2b343d!important;
 border-color:#657382 #1b2229 #1b2229 #657382!important;
}
.btn-primary,.btn-outline-info,.btn-outline-light,.btn-outline-secondary,.btn-success,.btn-danger,.btn-warning{
 color:#e4ebf1!important;
 background:#2b343d!important;
 border-color:#657382 #1b2229 #1b2229 #657382!important;
}
.btn:hover,.page-link:hover,.vt-clone .vt-small-btn:hover,.vt-clone .vt-modal button:hover,.vt-clone #vt-open-order:hover{
 color:#f0e5a7!important;
 background:#39362a!important;
}
.btn:active,.page-link:active{border-color:#1b2229 #657382 #657382 #1b2229!important}
.active>.page-link,.page-link.active{color:#edf3f6!important;background:#40596a!important;border-color:#778898!important}

.form-control,.form-select,textarea,input,select,
.data-filter-grid .form-control,.data-filter-grid .form-select,
.stock-filter-wrap .form-control,.stock-filter-wrap .form-select,
.vt-clone select,.vt-clone input{
 color:#d4dce4!important;
 background:#242c34!important;
 border-color:#586674!important;
 caret-color:#e5ebf0;
}
.form-control:focus,.form-select:focus,textarea:focus,input:focus,select:focus{
 background:#27313a!important;
 color:#e6edf2!important;
 outline-color:#9fbfca!important;
}
.form-control::placeholder{color:#93a0ad!important}
.form-label{color:#d1d8df!important}
.form-check-input{background-color:#242c34!important;border-color:#586674!important}
.form-check-input:checked{background-color:#7faebd!important;border-color:#d8e0e7!important}

code,.formula-code,.stock-selected-code{
 color:#d8e9dc!important;
 background:#232b33!important;
 border-color:#4b5966!important;
}
.badge,.metric-badge,.universe-pill,.rank-badge,.side-pill,.data-mini-pill,.data-stage-pill,.stock-panel-count{
 color:#d8e0e7!important;
 background:#26303a!important;
 border-color:#53606d!important;
}
.side-pill.long{background:#24392b!important;color:#a9d8b3!important}
.side-pill.short{background:#3f282c!important;color:#e5a4a9!important}

.table,.data-catalog-table,.data-schema-table,.data-preview-table,.stock-data-table,.stock-fact-table,.vt-clone table.datagrid,.vt-clone table.simple-tab{
 --bs-table-bg:#252e37;
 --bs-table-color:#d1d8df;
 --bs-table-border-color:#3d4854;
 --bs-table-striped-bg:#2a333c;
 --bs-table-hover-bg:#31404a;
 background:#252e37!important;
 color:#d1d8df!important;
 border-color:#495663!important;
}
.table>:not(caption)>*>*,.stock-fact-table th,.stock-fact-table td,.vt-clone table.datagrid th,.vt-clone table.datagrid td,.vt-clone table.simple-tab th,.vt-clone table.simple-tab td{
 border-color:#3d4854!important;
 color:#d1d8df!important;
}
.table thead th,.data-catalog-table thead th,.data-schema-table thead th,.data-preview-table thead th,.stock-data-table thead th,.vt-clone table.datagrid thead th,.vt-clone table.simple-tab thead th{
 background:#303a44!important;
 color:#dce4eb!important;
 border-color:#596674!important;
}
.table tbody tr:hover{background:#31404a!important}
.table-active,.table-active>*{background:#344452!important;color:#e5ebf0!important}
.table-responsive,.position-table-wrap,.result-file-list,.data-catalog-table-wrap,.data-schema-wrap,.data-preview-wrap,.stock-list,.stock-facts,.stock-fundamental-panel .stock-panel-body{
 background:#242c34!important;
 border-color:#495663!important;
 scrollbar-color:#778492 #242c34;
}
.alert{color:#e5ebf0!important;background:#3a3422!important;border-color:#b99f54!important}
.alert-danger{background:#40282c!important;border-color:#c87980!important}
.alert-secondary{background:#2a333c!important;border-color:#596674!important}
.dataTables_wrapper,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{color:#d1d8df!important}

.chart-canvas-wrap,.stock-price-chart,.stock-volume-chart,.vt-clone .vt-chart-box,.vt-clone .vt-mini-chart,.vt-clone .vt-tab-chart,.report-image-frame{
 background:#242c34!important;
 border-color:#596674 #1c2228 #1c2228 #596674!important;
}
canvas{background:#242c34!important}
.stock-chart-empty{color:#cbd4dd!important;background:#242c34!important}

.stock-page{
 --stock-border:#495663;
 --stock-border-soft:#3d4854;
 --stock-panel:#2a333c;
 --stock-panel-soft:#242c34;
 --stock-head:#303a44;
 --stock-muted:#a2adb8;
 --stock-text:#d8e0e7;
 --stock-accent:#8db8c6;
 --stock-accent-soft:#31404a;
}
.data-page{
 --data-border:#495663;
 --data-border-soft:#3d4854;
 --data-panel:#2a333c;
 --data-panel-soft:#242c34;
 --data-head:#303a44;
 --data-text:#d8e0e7;
 --data-muted:#a2adb8;
 --data-accent:#8db8c6;
 --data-warn:#d2b875;
 --data-good:#91c69f;
}
.stock-eyebrow,.data-eyebrow,.stock-page-title,.data-title,.stock-list-name,.stock-selected-name,.data-detail-title,.data-dataset-name{color:#e5ebf0!important}
.stock-list-item{color:#d1d8df!important;background:#252e37!important;border-bottom-color:#3d4854!important}
.stock-list-meta,.stock-list-rank,.stock-list-price,.stock-selected-meta,.stock-quote-sub,.data-dataset-path,.data-detail-path,.data-detail-updated{color:#a2adb8!important}
.stock-instrument-head,.data-detail-head,.stock-quote-strip,.stock-filter-wrap,.data-filter-grid{background:#252e37!important;border-color:#495663!important}
.stock-quote-cell{border-color:#3d4854!important}
.stock-paper-history{background:#252e37!important;border-color:#4b5966 #1b2229 #1b2229 #4b5966!important;color:#d1d8df!important}
.stock-paper-history-head,.stock-paper-legend{color:#a2adb8!important}
.stock-paper-axis,.stock-paper-history-empty{color:#93a0ad!important}
.stock-paper-tick{border-color:rgba(216,224,231,.16)!important}
.stock-paper-tick.long,.stock-paper-legend i.long{background:#4f8f61!important;border-color:#8dc89a!important}
.stock-paper-tick.short,.stock-paper-legend i.short{background:#a45a60!important;border-color:#d98b91!important}
.stock-paper-tick.none,.stock-paper-legend i.none{background:#34404a!important;border-color:#4f5d69!important}
.stock-dart-item{background:#252e37!important;border-color:#4b5966 #1b2229 #1b2229 #4b5966!important;color:#d1d8df!important}
.stock-dart-title{color:#e5ebf0!important}
.stock-dart-title:hover{color:#e2d48e!important;background:#39362a!important}
.stock-dart-meta{color:#a2adb8!important}
.stock-dart-badge{background:#3a3422!important;border-color:#b99f54!important;color:#ddc783!important}
.stock-dart-action{color:#9ccad6!important}
.stock-dart-action:hover{color:#e2d48e!important;background:#39362a!important}
.dart-view-toolbar{background:#242c34!important;border-color:#596674 #182026 #182026 #596674!important}
.dart-view-source{background:#252e37!important;border-color:#495663!important;color:#93a0ad!important}
.dart-view-document{background:#2a333c!important;border-color:#596674 #1c2228 #1c2228 #596674!important;color:#d1d8df!important}
.dart-doc-title{background:#303a44!important;border-color:#495663!important;color:#e5ebf0!important}
.dart-doc-p{color:#d7dfe7!important}
.dart-doc-table-wrap{background:#242c34!important;border-color:#495663!important}
.dart-doc-table{color:#d1d8df!important}
.dart-doc-table th,.dart-doc-table td{border-color:#3d4854!important;color:#d1d8df!important}
.dart-doc-table th{background:#303a44!important;color:#e5ebf0!important}
.dart-doc-page-break{background:#495663!important}

.vt-clone{
 --vt-bg:#20262d;
 --vt-page:#252e37;
 --vt-panel:#2a333c;
 --vt-panel-2:#252e37;
 --vt-head:#303a44;
 --vt-line:#495663;
 --vt-line-soft:#3d4854;
 --vt-text:#d1d8df;
 --vt-muted:#a2adb8;
 --vt-blue:#9ccad6;
 --vt-red:#e19aa0;
 --vt-green:#9bd0aa;
 --vt-yellow:#ddc783;
 background:#20262d!important;
 color:#d1d8df!important;
}
.vt-clone #top,.vt-clone #top_logo,.vt-clone #top_menu{background:#242c34!important}
.vt-clone #tabmenu a,.vt-clone .nav-tabs .nav-link{color:#9ccad6!important;background:#28313a!important}
.vt-clone #tabmenu a.selected,.vt-clone .nav-tabs .nav-link.active{color:#e5ebf0!important;background:#40596a!important}
.terminal-toolbar{border-bottom-color:#3d4854}
.terminal-tab-btn{background:#28313a!important;color:#d1d8df!important;border-color:#596674 #1c2228 #1c2228 #596674!important}
.terminal-tab-btn.active{background:#40596a!important;color:#e5ebf0!important}
.terminal-tab-exit{background:#2a333c!important;border-color:#53606d!important;color:#a2adb8!important}
.terminal-tab-close{background:#2a333c!important;color:#d1d8df!important;border-color:#596674!important}
.terminal-stage{background:#20262d!important;border-color:#596674 #1c2228 #1c2228 #596674!important}
.terminal-empty-state{color:#a2adb8!important}
.terminal-empty-state strong{color:#e5ebf0!important}

.todo-page{--todo-border:#495663;--todo-border-soft:#3d4854;--todo-panel:#2a333c;--todo-panel-soft:#242c34;--todo-head:#303a44;--todo-text:#d8e0e7;--todo-muted:#a2adb8;--todo-accent:#8db8c6}
.todo-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--todo-border)}
.todo-eyebrow{color:#91b5c0;font-size:.68rem;font-weight:900;letter-spacing:.08em}
.todo-title{margin:1px 0 0;color:#f3f8fb;font-size:1.45rem;font-weight:850;line-height:1.15}
.todo-root-path{margin-top:5px;color:var(--todo-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;word-break:break-all}
.todo-toolbar-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}
.todo-toolbar-meta div{min-width:92px;background:#1b2229;border:1px solid var(--todo-border-soft);border-radius:8px;padding:7px 10px}
.todo-toolbar-meta span{display:block;color:var(--todo-muted);font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.todo-toolbar-meta strong{display:block;margin-top:2px;color:#eef7fb;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}
.todo-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 12px;color:var(--todo-muted);font-size:.82rem}
.todo-breadcrumbs a{color:#cfe4ed;text-decoration:none}
.todo-breadcrumbs a:hover{color:#e2d48e}
.todo-workbench{display:grid;grid-template-columns:minmax(300px,370px) minmax(0,1fr);gap:14px;align-items:start}
.todo-browser,.todo-preview-panel{background:var(--todo-panel);border:1px solid var(--todo-border);border-radius:8px;overflow:hidden;box-shadow:var(--ap-shadow)}
.todo-browser{position:sticky;top:76px;height:calc(100vh - 152px);min-height:560px;display:flex;flex-direction:column}
.todo-panel-head,.todo-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;background:var(--todo-head);border-bottom:1px solid var(--todo-border)}
.todo-panel-title{color:#f1f6fb;font-size:.78rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.todo-panel-sub{color:var(--todo-muted);font-size:.75rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.todo-filter-wrap{padding:10px;background:var(--todo-panel-soft);border-bottom:1px solid var(--todo-border-soft)}
.todo-entry-list{flex:1;min-height:0;overflow:auto;background:#242c34;scrollbar-color:#778492 #242c34}
.todo-entry{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;min-height:54px;padding:9px 12px;border-left:3px solid transparent;border-bottom:1px solid var(--todo-border-soft);color:var(--todo-text);text-decoration:none}
.todo-entry:hover{background:#303a44;color:#edf4fa}
.todo-entry.active{background:rgba(141,184,198,.14);border-left-color:var(--todo-accent)}
.todo-entry-kind{display:inline-flex;align-items:center;justify-content:center;width:44px;height:28px;border:1px solid #53606d;border-radius:6px;background:#202830;color:#dce6ed;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.66rem;font-weight:900}
.todo-entry-kind.dir{background:rgba(141,184,198,.13);border-color:rgba(141,184,198,.42);color:#cfeef5}
.todo-entry-main{min-width:0}
.todo-entry-name{display:block;color:#f0f5fa;font-size:.86rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.todo-entry-meta{display:block;margin-top:3px;color:var(--todo-muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.todo-preview-panel{min-width:0;min-height:560px}
.todo-preview-head{min-height:78px}
.todo-selected-name{margin:3px 0 0;color:#f4f8fb;font-size:1.05rem;font-weight:850;line-height:1.2;word-break:break-word}
.todo-selected-path{margin-top:4px;color:var(--todo-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem;word-break:break-all}
.todo-preview-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.todo-preview-body{height:calc(100vh - 230px);min-height:480px;overflow:auto;background:#20262d}
.todo-preview-meta{display:flex;gap:8px;align-items:center;padding:9px 12px;background:#252e37;border-bottom:1px solid var(--todo-border-soft);color:var(--todo-muted);font-size:.74rem;font-weight:800}
.todo-text-preview{min-height:100%;margin:0;padding:16px;background:#141b23;color:#dce6ed;font-size:.82rem;line-height:1.48;white-space:pre-wrap;word-break:break-word}
.todo-pdf-preview{display:block;width:100%;height:calc(100vh - 230px);min-height:520px;border:0;background:#242c34}
.todo-image-frame{min-height:520px;padding:14px;display:flex;align-items:flex-start;justify-content:center;background:#171d23}
.todo-image-frame img{display:block;max-width:100%;height:auto;border:1px solid var(--todo-border);border-radius:6px;background:#242c34}
.todo-empty-state{height:100%;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--todo-muted);text-align:center;padding:28px}
.todo-empty-state strong{color:#eef4f8;font-size:1rem}
.todo-empty-state span{font-size:.84rem}
@media (max-width: 992px){
 .todo-toolbar{align-items:flex-start;flex-direction:column}
 .todo-toolbar-meta{justify-content:flex-start}
 .todo-workbench{grid-template-columns:1fr}
 .todo-browser{position:relative;top:auto;height:auto;max-height:460px;min-height:320px}
 .todo-preview-body,.todo-pdf-preview{height:auto;min-height:460px}
}
