:root { --tool-bg:#050b14; --tool-panel:#0a1522; --tool-panel-2:#0e1c2d; --tool-line:#26384f; --tool-text:#eef4fc; --tool-muted:#8d9db2; --tool-blue:#2f7dff; --tool-green:#29d391; --tool-red:#ff6670; }
.tool-page { min-width: 320px; background: var(--tool-bg); color: var(--tool-text); }
.tool-main { width:min(1440px,calc(100% - 36px)); margin:0 auto; padding:54px 0 90px; }
.tool-hero { min-height:280px; padding:42px clamp(24px,5vw,64px); border:1px solid var(--tool-line); border-radius:24px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; position:relative; overflow:hidden; background:radial-gradient(circle at 90% 0,rgba(47,125,255,.2),transparent 36%),linear-gradient(145deg,#0d1b2d,#07111d); }
.tool-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(126,153,194,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(126,153,194,.05) 1px,transparent 1px); background-size:48px 48px; }
.tool-hero > * { position:relative; }.tool-kicker { margin:0 0 12px; color:#67a1fc; font-size:.7rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.tool-hero h1 { margin:0; max-width:850px; font-size:clamp(2.8rem,7vw,6rem); line-height:.94; letter-spacing:-.065em; }.tool-hero-copy>p:last-child { max-width:760px; color:var(--tool-muted); line-height:1.7; }
.tool-live-badge { min-width:190px; padding:18px; border:1px solid rgba(41,211,145,.34); border-radius:17px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; color:#bfeedd; background:rgba(41,211,145,.07); }.tool-live-badge i { width:10px; height:10px; border-radius:50%; background:var(--tool-green); box-shadow:0 0 15px var(--tool-green); }.tool-live-badge strong,.tool-live-badge small { display:block; }.tool-live-badge small { margin-top:4px; color:#789589; font-size:.68rem; }
.tool-notice { margin:18px 0; padding:14px 16px; border:1px solid #33557f; border-radius:12px; color:#a9c8f4; background:rgba(47,125,255,.08); font-size:.82rem; }.tool-notice.error { border-color:rgba(255,102,112,.45); color:#ffabb1; background:rgba(255,102,112,.08); }.tool-notice.success { border-color:rgba(41,211,145,.4); color:#8ce9c5; background:rgba(41,211,145,.08); }
.tool-grid { margin-top:20px; display:grid; grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr); gap:20px; align-items:start; }
.tool-panel { min-width:0; border:1px solid var(--tool-line); border-radius:20px; background:linear-gradient(145deg,#0b1725,#08121e); box-shadow:0 24px 60px rgba(0,0,0,.18); overflow:hidden; }.tool-panel-body { padding:22px; }.tool-panel-heading { padding:20px 22px; border-bottom:1px solid var(--tool-line); display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.tool-panel-heading h2,.tool-panel-heading h3 { margin:0; font-size:1.12rem; }.tool-panel-heading p { margin:7px 0 0; color:var(--tool-muted); font-size:.76rem; line-height:1.5; }
.tool-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.tool-field { min-width:0; display:grid; gap:7px; }.tool-field-wide { grid-column:1/-1; }.tool-field label { color:#a7b5c8; font-size:.73rem; font-weight:800; }.tool-field input,.tool-field select { width:100%; min-height:44px; border:1px solid #2a3d55; border-radius:10px; padding:0 12px; color:#edf4fd; background:#07121e; font:inherit; font-size:.85rem; }.tool-field input:focus,.tool-field select:focus { outline:0; border-color:#4289f3; box-shadow:0 0 0 3px rgba(47,125,255,.13); }.tool-field small { color:#6f8199; font-size:.66rem; line-height:1.45; }
.tool-button { min-height:46px; border:1px solid transparent; border-radius:11px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; gap:10px; color:white; background:linear-gradient(135deg,#216ce8,#348bff); font:inherit; font-size:.82rem; font-weight:850; cursor:pointer; transition:transform .2s,border-color .2s,background .2s; }.tool-button:hover { transform:translateY(-1px); }.tool-button:disabled { cursor:not-allowed; opacity:.48; transform:none; }.tool-button-secondary { border-color:#304762; color:#bed0e7; background:#102034; }.tool-button-danger { border-color:rgba(255,102,112,.42); color:#ffabb1; background:rgba(255,102,112,.08); }.tool-button-green { color:#041710; background:linear-gradient(135deg,#24bf83,#49e2aa); }
.tool-actions { margin-top:18px; display:flex; flex-wrap:wrap; gap:10px; }.tool-actions .tool-button:first-child:last-child { width:100%; }
.scanner-builder-intro { margin:18px 0 10px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }.scanner-builder-intro strong { font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }.scanner-builder-intro span { color:#71839b; font-size:.65rem; text-align:right; }.scanner-conditions { display:grid; gap:12px; }.scanner-condition { border:1px solid #263950; border-radius:14px; overflow:hidden; background:#091522; }.scanner-condition-head { padding:10px 12px; border-bottom:1px solid #22344a; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:10px; }.scanner-condition-head strong { font-size:.72rem; }.scanner-condition-head span { padding:4px 8px; border:1px solid #315678; border-radius:999px; color:#bcdcff; background:#0b2032; font-size:.61rem; }.scanner-condition-head button { min-height:36px; padding:0 4px; border:0; color:#ff929a; background:transparent; cursor:pointer; }.scanner-condition-grid { padding:12px; display:grid; grid-template-columns:78px 105px minmax(170px,1.35fr) 110px minmax(145px,1fr); gap:9px; align-items:end; }.scanner-control,.scanner-param { min-width:0; display:grid; gap:4px; }.scanner-control>span,.scanner-param span { color:#71839b; font-size:.6rem; }.scanner-condition-grid select,.scanner-condition-grid input { width:100%; min-width:0; min-height:40px; border:1px solid #293c54; border-radius:9px; padding:0 9px; color:#e8f0fa; background:#07121e; font:inherit; font-size:.72rem; }.scanner-right-indicator { grid-column:2/5; }.scanner-right-offset { grid-column:5; }.scanner-right { grid-column:2/-1; }.scanner-params { grid-column:1/-1; padding:0; border:1px solid #20354b; border-radius:10px; background:#07131f; overflow:hidden; }.scanner-params>summary { padding:10px 12px; color:#9bacc1; font-size:.67rem; font-weight:800; cursor:pointer; user-select:none; }.scanner-params[open]>summary { border-bottom:1px solid #20354b; }.scanner-param-grid { padding:10px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.scanner-empty { padding:28px; border:1px dashed #344862; border-radius:13px; text-align:center; color:#75869d; font-size:.78rem; }.scanner-condition-summary { margin-top:12px; padding:11px 12px; border:1px solid #263950; border-radius:11px; background:#081421; }.scanner-condition-summary>strong { display:block; margin-bottom:7px; color:#9bacc1; font-size:.61rem; letter-spacing:.06em; text-transform:uppercase; }.scanner-condition-summary>div { display:flex; flex-wrap:wrap; gap:6px; }.scanner-condition-summary span { padding:5px 8px; border:1px solid #315678; border-radius:999px; color:#bcdcff; background:#0b2032; font-size:.62rem; line-height:1.35; }
.job-progress { margin-top:16px; }.job-progress-track { height:8px; border-radius:99px; overflow:hidden; background:#16263a; }.job-progress-track span { height:100%; width:0; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--tool-blue),var(--tool-green)); transition:width .25s; }.job-progress-meta { margin-top:8px; display:flex; justify-content:space-between; gap:12px; color:#75869b; font-size:.68rem; }.job-progress-counts { margin-top:5px; color:#71839b; font-size:.64rem; }.scanner-value { display:inline-block; margin:2px 5px 2px 0; padding:4px 7px; border:1px solid #2b4059; border-radius:999px; color:#bdcadb; background:#0a1725; font-size:.68rem; }
.scanner-issues { margin-top:12px; border:1px solid #30445c; border-radius:11px; padding:10px 12px; color:#9bacc1; background:#0a1725; font-size:.68rem; }.scanner-issues summary { color:#c7d3e2; font-weight:800; cursor:pointer; }.scanner-issue-list { max-height:220px; margin-top:8px; overflow:auto; }.scanner-issue-list p { margin:0; padding:6px 0; border-top:1px solid #203248; line-height:1.45; }.scanner-issue-list span { margin-left:6px; text-transform:capitalize; color:#f1bc67; }.scanner-issue-list span.negative { color:#ff929a; }
.results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; }.result-count { display:grid; }.result-count strong { font-size:1.6rem; }.result-count small { color:var(--tool-muted); font-size:.68rem; }.tool-table-wrap { width:100%; overflow:auto; }.tool-table { width:100%; border-collapse:collapse; font-size:.78rem; }.tool-table th,.tool-table td { padding:12px 13px; border-bottom:1px solid #203248; text-align:left; white-space:nowrap; }.tool-table th { color:#74869e; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; }.tool-table td { color:#bdcadb; }.tool-table strong { color:#edf3fc; }.tool-table .positive { color:var(--tool-green); }.tool-table .negative { color:var(--tool-red); }.tool-table input[type=checkbox] { width:17px; height:17px; accent-color:var(--tool-blue); }
.batch-settings { margin-top:18px; padding-top:18px; border-top:1px solid var(--tool-line); }.batch-settings h3 { margin:0 0 14px; font-size:.92rem; }.tool-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.tool-metric { min-width:0; padding:15px; border:1px solid #25384f; border-radius:12px; background:#091521; }.tool-metric small,.tool-metric strong { display:block; }.tool-metric small { color:#70839a; font-size:.61rem; text-transform:uppercase; letter-spacing:.06em; }.tool-metric strong { margin-top:8px; overflow-wrap:anywhere; font-size:1rem; }
.paper-layout { margin-top:20px; display:grid; grid-template-columns:390px minmax(0,1fr); gap:20px; align-items:start; }.paper-terminal { min-width:0; display:grid; gap:14px; }.ticker-strip { padding:18px 20px; border:1px solid var(--tool-line); border-radius:16px; display:grid; grid-template-columns:minmax(150px,1fr) auto auto; align-items:center; gap:14px 20px; background:#091522; }.ticker-name small,.ticker-price small { display:block; color:#71849c; font-size:.65rem; }.ticker-name strong { display:block; margin-top:4px; overflow-wrap:anywhere; }.ticker-name span { display:block; margin-top:6px; color:#71849c; font-size:.65rem; }.ticker-price { text-align:right; }.ticker-price strong { display:block; margin-top:4px; font-size:1.5rem; }.connection-status { min-width:112px; padding:8px 11px; border:1px solid #40516a; border-radius:99px; display:flex; align-items:center; justify-content:center; gap:8px; color:#91a2b9; background:#101d2c; font-size:.7rem; font-weight:850; }.connection-status i { width:8px; height:8px; border-radius:50%; background:#75859a; }.connection-status.live { border-color:rgba(41,211,145,.4); color:#72e5b9; background:rgba(41,211,145,.08); }.connection-status.live i { background:var(--tool-green); box-shadow:0 0 13px var(--tool-green); }.connection-status.connecting,.connection-status.reconnecting { border-color:rgba(47,125,255,.45); color:#94bbfa; background:rgba(47,125,255,.09); }.connection-status.connecting i,.connection-status.reconnecting i { background:var(--tool-blue); box-shadow:0 0 10px var(--tool-blue); animation:connectionPulse 1.15s ease-in-out infinite; }.connection-status.disconnected { border-color:rgba(255,102,112,.35); color:#ff9ca4; background:rgba(255,102,112,.07); }.connection-status.disconnected i { background:var(--tool-red); }@keyframes connectionPulse{50%{opacity:.35;transform:scale(.75)}}
.position-card { padding:20px; border:1px solid var(--tool-line); border-radius:16px; background:#091522; }.position-card h3 { margin:0; font-size:.92rem; }.position-card-heading { margin-bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:16px; }.position-card-heading p { margin:6px 0 0; color:var(--tool-muted); font-size:.7rem; }.paper-order-actions { display:flex; gap:8px; }.paper-order-button { min-height:42px; border:1px solid transparent; border-radius:9px; padding:0 16px; color:#06150f; font:inherit; font-size:.75rem; font-weight:900; cursor:pointer; }.paper-order-button.buy { background:var(--tool-green); }.paper-order-button.sell { color:#fff; background:var(--tool-red); }.paper-order-button:disabled { cursor:not-allowed; opacity:.36; }.order-safety-note { margin:12px 0 0; color:#708198; font-size:.65rem; line-height:1.5; }.position-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }.position-grid div { padding:12px; border-radius:10px; background:#101f31; }.position-grid small,.position-grid strong { display:block; }.position-grid small { color:#74869c; font-size:.6rem; }.position-grid strong { margin-top:6px; overflow-wrap:anywhere; font-size:.78rem; }.empty-state { padding:32px; text-align:center; color:#75879e; font-size:.78rem; }
.instrument-picker { position:relative; }.tool-autocomplete { max-height:260px; overflow:auto; border:1px solid #30455f; border-radius:11px; position:absolute; left:0; right:0; top:calc(100% + 5px); z-index:20; background:#081421; box-shadow:0 20px 40px rgba(0,0,0,.35); }.tool-option { padding:11px 12px; display:flex; justify-content:space-between; gap:12px; cursor:pointer; }.tool-option:hover { background:#10233a; }.tool-option small { color:#70839b; }
.tool-footer { margin-top:60px; padding-top:25px; border-top:1px solid var(--tool-line); display:flex; justify-content:space-between; gap:20px; color:#6f8197; font-size:.74rem; }.tool-footer nav { display:flex; flex-wrap:wrap; gap:15px; }.tool-footer a { color:#94acd0; text-decoration:none; }
@media(max-width:1100px){.tool-grid,.paper-layout{grid-template-columns:1fr}.tool-metrics{grid-template-columns:repeat(2,1fr)}.paper-layout>.tool-panel{position:static}.scanner-condition-grid{grid-template-columns:78px 105px 1fr 110px 1fr}.position-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.tool-main{width:min(100% - 16px,1440px);padding-top:18px}.tool-hero{min-height:auto;padding:24px 18px;grid-template-columns:1fr}.tool-live-badge{width:100%}.tool-form-grid{grid-template-columns:1fr}.tool-panel-heading{align-items:center}.tool-panel-heading .tool-button{flex:0 0 auto;min-height:44px}.scanner-builder-intro{align-items:flex-start;flex-direction:column}.scanner-builder-intro span{text-align:left}.scanner-condition-grid{grid-template-columns:1fr 1fr;padding:10px;gap:10px}.scanner-left-indicator,.scanner-right,.scanner-right-indicator,.scanner-params{grid-column:1/-1}.scanner-right-offset{grid-column:auto}.scanner-control>span,.scanner-param span{font-size:.72rem}.scanner-condition-grid select,.scanner-condition-grid input{min-height:48px;padding:0 11px;font-size:16px}.scanner-params>summary{min-height:46px;display:flex;align-items:center;font-size:.75rem}.scanner-param-grid{grid-template-columns:1fr 1fr}.scanner-condition-head{min-height:52px}.scanner-condition-head strong{font-size:.8rem}.scanner-condition-head button{min-width:64px;min-height:44px}.tool-actions .tool-button{width:100%;min-height:46px}.tool-metrics,.position-grid{grid-template-columns:1fr 1fr}.ticker-strip{grid-template-columns:1fr auto}.ticker-price{grid-column:1/-1;text-align:left}.position-card-heading{align-items:flex-start;flex-direction:column}.paper-order-actions,.paper-order-button{width:100%}.tool-footer{flex-direction:column}.tool-panel-body,.tool-panel-heading{padding:15px}}
@media(max-width:420px){.scanner-param-grid{grid-template-columns:1fr}.scanner-condition-head span{display:none}}
@media(max-width:430px){.tool-metrics,.position-grid{grid-template-columns:1fr}.tool-hero h1{font-size:2.65rem}}
[data-theme="light"] .tool-page { --tool-bg:#f3f7fb; --tool-panel:#fff; --tool-panel-2:#edf3f9; --tool-line:#d1dce8; --tool-text:#13253b; --tool-muted:#5f7289; }
[data-theme="light"] .tool-hero,[data-theme="light"] .tool-panel { background:linear-gradient(145deg,#fff,#edf3f9); box-shadow:0 24px 60px rgba(35,58,91,.1); }
[data-theme="light"] .tool-live-badge { color:#126846; background:#e9f8f2; }
[data-theme="light"] .tool-field input,[data-theme="light"] .tool-field select,[data-theme="light"] .scanner-condition-grid select,[data-theme="light"] .scanner-condition-grid input { border-color:#c8d5e3; color:#172b43; background:#fff; }
[data-theme="light"] .scanner-condition,[data-theme="light"] .scanner-condition-summary,[data-theme="light"] .tool-metric,[data-theme="light"] .ticker-strip,[data-theme="light"] .position-card { border-color:#d1dce8; background:#fff; }
[data-theme="light"] .scanner-params { border-color:#d1dce8; background:#f8fbfe; }[data-theme="light"] .scanner-condition-head span,[data-theme="light"] .scanner-condition-summary span { border-color:#a9c5df; color:#244d70; background:#edf6fe; }
[data-theme="light"] .scanner-issues { border-color:#d1dce8; color:#53677f; background:#fff; }[data-theme="light"] .scanner-issues summary { color:#20354d; }[data-theme="light"] .scanner-issue-list p { border-color:#e0e7ef; }
[data-theme="light"] .scanner-condition-head,[data-theme="light"] .tool-table th,[data-theme="light"] .tool-table td { border-color:#dae3ed; }
[data-theme="light"] .tool-table td,[data-theme="light"] .dashboard-tool-card ul { color:#465c75; }[data-theme="light"] .tool-table strong { color:#172a42; }
[data-theme="light"] .position-grid div { background:#edf3f9; }[data-theme="light"] .tool-autocomplete { border-color:#c7d5e4; background:#fff; box-shadow:0 18px 35px rgba(35,58,91,.16); }[data-theme="light"] .tool-option:hover { background:#edf4fc; }
.custom-scanner-panel { margin-bottom: 22px; }
.custom-scanner-panel textarea { width: 100%; min-height: 150px; resize: vertical; padding: 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: var(--surface); font: inherit; line-height: 1.55; }
.custom-scanner-panel textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(47,125,255,.13); }
.custom-scanner-review { margin: 18px 0; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: rgba(47,125,255,.045); }
.custom-scanner-review ol { margin: 12px 0; padding-left: 24px; }
.custom-scanner-review li { margin: 8px 0; overflow-wrap: anywhere; }
.custom-scanner-confirm { display: flex; align-items: center; gap: 9px; margin-top: 14px; font-weight: 700; }
.custom-scanner-confirm input { width: 18px; height: 18px; }
.custom-scanner-results-wrap { margin-top: 20px; }
.scanner-result-actions { align-items: center; padding: 12px 0; }
.scanner-result-actions-bottom { margin-top: 10px; border-top: 1px solid var(--tool-line); }
.paper-wallet-panel { margin-top: 20px; }
.paper-wallet-metrics { padding: 0 20px 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.paper-virtual-badge { padding: 7px 10px; border: 1px solid rgba(41,211,145,.35); border-radius: 999px; color: var(--tool-green); background: rgba(41,211,145,.08); font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; }
.paper-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:20px; padding:5px; border:1px solid var(--tool-line); border-radius:13px; background:var(--tool-panel-2); }
.paper-mode-button { min-height:44px; border:0; border-radius:9px; color:var(--tool-muted); background:transparent; font:inherit; font-weight:850; cursor:pointer; }
.paper-mode-button.active { color:#fff; background:linear-gradient(135deg,#216ce8,#348bff); box-shadow:0 8px 22px rgba(33,108,232,.2); }
.paper-picker-panel { display:grid; gap:14px; }
.paper-option-grid { display:grid; gap:12px; margin-top:16px; }
.paper-selected-option { margin:12px 0 0; color:var(--tool-muted); font-size:.72rem; line-height:1.5; }
.paper-option-chain { margin-top:14px; border:1px solid var(--tool-line); border-radius:12px; overflow:hidden; }
.paper-spot-price { display:flex; align-items:center; gap:12px; padding:14px; background:var(--tool-panel-2); }
.paper-spot-price small { color:var(--tool-muted); font-size:.62rem; font-weight:850; }
.paper-spot-price strong { font-size:1.2rem; }
.paper-spot-price span { margin-left:auto; color:var(--tool-muted); font-size:.65rem; }
.option-chain-table th,.option-chain-table td { text-align:center; }
.option-chain-premium { width:100%; min-height:38px; border:1px solid var(--tool-line); border-radius:8px; color:var(--tool-text); background:var(--tool-panel-2); font:inherit; font-weight:800; cursor:pointer; }
.option-chain-premium:disabled { cursor:wait; opacity:.55; }
.option-chain-premium.ce { color:var(--tool-green); }.option-chain-premium.pe { color:#ff8f98; }
.paper-order-form { margin:0 0 16px; padding:16px; border:1px solid var(--tool-line); border-radius:12px; background:var(--tool-panel-2); }
.paper-order-form-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.paper-order-form-title button { width:34px; height:34px; border:0; border-radius:8px; color:var(--tool-text); background:transparent; font-size:1.3rem; cursor:pointer; }
.paper-order-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.paper-order-form>.tool-button { margin-top:12px; }
.paper-order-form>p { margin:10px 0 0; color:var(--tool-muted); font-size:.65rem; }
@media(max-width:1100px){.paper-wallet-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.paper-wallet-metrics{grid-template-columns:1fr 1fr;padding:0 15px 15px}.paper-virtual-badge{display:none}.paper-order-fields{grid-template-columns:1fr 1fr}}
.custom-scanner-description-actions { margin-top: 10px; }
.custom-scanner-review-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 14px; }
.custom-scanner-review-heading h3, .custom-scanner-final h4 { margin: 0 0 6px; }
.custom-scanner-review-heading p { margin: 0; color: var(--muted); }
.custom-scanner-rules-table { min-width: 1180px; }
.custom-scanner-rules-table td { vertical-align: top; }
.custom-rule-status { display: block; font-weight: 800; line-height: 1.35; }
.custom-rule-status.complete { color: var(--positive, #25a665); }
.custom-rule-status.incomplete { color: var(--negative, #d34747); }
.custom-rule-status.disabled { color: var(--muted); }
.custom-rule-disabled { opacity: .55; background: rgba(126, 145, 168, .08); }
.custom-confidence { display: inline-block; margin-top: 5px; padding: 3px 7px; border-radius: 999px; background: rgba(47,125,255,.1); white-space: nowrap; }
.custom-confidence.needs-review { background: rgba(211,71,71,.12); color: var(--negative, #d34747); }
.custom-rule-actions { display: flex; flex-wrap: wrap; gap: 5px; min-width: 154px; }
.custom-rule-actions button { border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; background: var(--surface); color: var(--text); cursor: pointer; }
.custom-rule-actions button:disabled { opacity: .4; cursor: default; }
.custom-rule-editor-row td { padding: 0 !important; }
.custom-rule-editor { padding: 18px; background: rgba(47,125,255,.04); border-top: 2px solid var(--accent); }
.custom-rule-editor fieldset { margin: 14px 0 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.custom-rule-editor legend { padding: 0 7px; font-weight: 800; }
.custom-rule-editor-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.custom-rule-editor-grid label { display: grid; gap: 6px; min-width: 0; }
.custom-rule-editor-grid label > span { font-size: .85rem; font-weight: 750; }
.custom-rule-editor-grid input, .custom-rule-editor-grid select { width: 100%; min-height: 42px; border: 1px solid var(--line); border-radius: 9px; padding: 8px 10px; background: var(--surface); color: var(--text); font: inherit; }
.custom-nested-fields { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--line); }
.custom-field-required { color: var(--negative, #d34747); font-weight: 800; }
.custom-scanner-final { margin: 16px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.custom-scanner-final p { margin: 7px 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.custom-scanner-final pre { max-height: 340px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.custom-scanner-stock-picker { margin: 14px 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.custom-scanner-picker-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.custom-scanner-picker-heading > div:first-child { display: grid; gap: 3px; }
.custom-scanner-picker-heading small, .custom-scanner-stock-option small { color: var(--muted); }
.custom-scanner-stock-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; max-height: 360px; overflow: auto; margin-top: 10px; padding: 4px; }
.custom-scanner-stock-option { display: flex; align-items: center; gap: 9px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
.custom-scanner-stock-option:hover { border-color: var(--accent); }
.custom-scanner-stock-option input { width: 17px; height: 17px; flex: 0 0 auto; }
.custom-scanner-stock-option span { display: grid; min-width: 0; }

.scanner-mode-switch { display:flex; gap:.65rem; flex-wrap:wrap; margin-bottom:1rem; }
.scanner-builtin-settings { margin-top:.8rem; border:1px solid var(--line); border-radius:12px; padding:.75rem 1rem; }
.scanner-builtin-settings summary { cursor:pointer; font-weight:700; }
.scanner-builtin-settings .tool-form-grid { margin-top:1rem; }
.scanner-signal-buy { color:#34d399; }
.scanner-signal-sell { color:#fb7185; }
#scannerResults td small { display:block; margin-top:.2rem; color:var(--muted); }
@media(max-width:720px){.scanner-mode-switch .tool-button{flex:1 1 0}#builtInScannerFields .tool-form-grid{grid-template-columns:1fr}}
.scanner-individual-picker { position:relative; margin-top:1rem; padding:1rem; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.scanner-stock-search-results { position:absolute; z-index:20; left:1rem; right:1rem; top:76px; max-height:280px; overflow:auto; border:1px solid var(--line); border-radius:10px; background:#0b1725; box-shadow:0 18px 45px rgba(0,0,0,.4); }
.scanner-stock-search-results button { width:100%; padding:10px 12px; display:flex; justify-content:space-between; gap:12px; border:0; border-bottom:1px solid var(--line); color:var(--ink); background:transparent; text-align:left; cursor:pointer; }
.scanner-stock-search-results button:hover { background:rgba(47,125,255,.1); }
.scanner-stock-search-results button span,.scanner-selected-stock { color:var(--muted); }
.scanner-selected-stock { margin:.6rem 0 0; font-size:.8rem; }
.scanner-job-state { display:flex; align-items:center; gap:.65rem; margin-top:1rem; color:var(--muted); font-size:.76rem; }
.scanner-job-state strong { padding:.35rem .65rem; border-radius:999px; color:#bcdcff; background:rgba(47,125,255,.12); }
.scanner-job-state strong[data-status="completed"] { color:#78e4ba; background:rgba(41,211,145,.1); }
.scanner-job-state strong[data-status="failed"],.scanner-job-state strong[data-status="stopped"] { color:#ffadb3; background:rgba(255,98,109,.1); }
[data-theme="light"] .scanner-stock-search-results { background:#fff; }
