/* Production watchlist workspace. Existing quote, research and source components keep their states. */
/* Four reading choices have their own row; search is a separate task below. */
.watchlist-view .watch-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:12px 0;gap:10px}
.watchlist-view .watch-modes{grid-column:1/-1;grid-row:1;justify-self:stretch;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.watchlist-view .watch-modes .btn{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:78px;min-width:0;padding:12px 16px;border:0;border-radius:0;border-bottom:3px solid transparent;background:transparent;white-space:normal;text-align:left;color:var(--text);box-shadow:none}
.watchlist-view .watch-modes .btn+.btn{border-left:1px solid var(--border)}
.watchlist-view .watch-modes .btn:hover{background:var(--surface-2)}
.watchlist-view .watch-modes [aria-pressed=true]{background:var(--surface-2);border-bottom-color:var(--accent)}
.watchlist-view .watch-mode-title{font-size:17px;font-weight:700;line-height:1.3}
.watchlist-view [aria-pressed=true] .watch-mode-title{color:var(--accent-text,var(--accent))}
.watchlist-view .watch-mode-purpose{font-size:13px;font-weight:400;line-height:1.4;color:var(--muted)}
.watchlist-view .watch-modes .btn:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.watchlist-view .watch-controls .watch-search{grid-column:1;grid-row:1;width:100%;min-width:0}
.watchlist-view .watch-controls>button{grid-column:2;grid-row:1;min-height:44px}
.watchlist-view .watch-controls>select{grid-column:1/-1;grid-row:2}
.watch-mode-note{margin:0 0 12px;line-height:1.6;max-width:100ch}
.watch-mode-note a{white-space:nowrap}
.watch-stock-actions{display:flex;gap:3px;align-items:center;flex-wrap:wrap;margin-top:5px}
.watch-stock-actions>a,.watch-compact-table .watch-stock-actions .watch-map-link{display:flex;position:static;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;min-width:44px;width:auto;border:0;padding:4px;margin:0;text-decoration:none;color:var(--muted);border-radius:6px;font-size:10px;line-height:1.25}
.watch-stock-actions>a:hover,.watch-stock-actions>a:focus-visible{background:var(--surface-2);color:var(--accent-text,var(--accent))}
.watch-stock-actions .app-icon,.watch-compact-table .watch-stock-actions .app-icon{width:16px;height:16px}
.watch-stock-actions>a>span,.watch-compact-table .watch-stock-actions .watch-map-link>span{position:static;width:auto;height:auto;clip-path:none;overflow:visible}
.watch-daily-table.watch-compact-table{min-width:640px;font-size:13px}
.watch-daily-table.watch-compact-table tr>:first-child{width:172px}
.watch-daily-table.watch-compact-table tr>:nth-child(2){width:112px}
.watch-daily-table.watch-compact-table tr>:nth-child(3){width:auto}
.watch-daily-table.watch-compact-table tr>.watch-view-col,.watch-daily-table.watch-compact-table tr>.watch-view-cell{width:233px}
.watch-daily-table.watch-compact-table.watch-selectable tr>:first-child{width:188px;padding-left:44px;padding-right:8px}
.watch-daily-table.watch-compact-table.watch-selectable thead tr>:first-child{padding-left:44px}
.watch-daily-table .watch-select{left:0;width:44px}
.watch-daily-table.watch-compact-table .stock-name{padding-right:0}
.watch-daily-table.watch-compact-table .watch-company{max-width:135px;font-size:11px}
.watch-daily-table .watch-reading-preview{-webkit-line-clamp:3;font-size:13px;line-height:1.6}
.watch-daily-table .watch-view-text{line-height:1.6}
.watch-row-disclosures{display:flex;align-items:center;min-height:44px;width:fit-content;font-size:11px;margin-top:3px}
.watch-comparison-table.watch-compact-table tr>:first-child{min-width:176px;width:176px}
.watch-comparison-table.watch-compact-table.watch-selectable tr>:first-child{width:194px;padding-left:42px}
.watch-comparison-table.watch-selectable .watch-stock-actions{flex-wrap:nowrap;margin-left:-30px}
.watch-comparison-table.watch-compact-table .stock-name{padding-right:0}
.watch-comparison-table.watch-compact-table .watch-company{max-width:138px}
.watch-comparison-table.watch-compact-table tr>.watch-help-col,.watch-comparison-table.watch-compact-table tr>.watch-metric-cell{width:96px;text-align:right}
.watch-comparison-table.watch-compact-table tr>.watch-overview-col,.watch-comparison-table.watch-compact-table tr>.watch-overview-cell{width:300px;text-align:left}
.watch-scroll-hint{display:none;margin:0 0 6px}
.watch-view-open{display:none}
.watch-action-short{display:none}
.watch-view-dialog .watch-view-text{font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.watch-view-dialog .watch-view{padding:10px 12px}
.watchlist-view .watch-add-options.is-first-use[open]{flex-basis:100%;max-width:100%;width:100%;margin:0;float:none}
.watch-add-options.is-first-use .view-intro{margin:0 0 10px;font-size:14px;line-height:1.5}
.watch-add-options.is-first-use .add-row{margin:0;max-width:100%}
.watch-add-options.is-first-use .symbol-picker{width:100%;flex:1}
.watch-add-options.is-first-use .input{font-family:inherit;font-size:16px;min-height:44px}
/* First visit: a stock selection workspace, using the available content width. */
.watch-first-use{width:100%;margin:8px 0 20px;text-align:left}
.watch-starters-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.watch-starters-heading h2{font-size:18px;margin:0;line-height:1.4}
.watch-starters-heading>a{display:flex;align-items:center;min-height:44px;font-size:13px}
.watch-starters-date,.watch-starters-basis{display:inline;margin:0;font-size:12px;line-height:1.5}
.watch-starters-date:not([hidden])+.watch-starters-basis::before{content:' · '}
.watch-starters-status p{margin:6px 0;font-size:13px;line-height:1.5}
.watch-starters-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.watch-starter{min-width:0;display:flex;flex-direction:column;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}
.watch-starter-open{min-width:0;min-height:44px;display:flex;align-items:center;text-decoration:none;color:var(--text)}
.watch-starter-identity{display:flex;flex-direction:column;gap:3px;min-width:0}
.watch-starter-identity strong{font-size:18px;line-height:1.25}
.watch-starter-identity>span{font-size:13px;color:var(--muted);overflow-wrap:anywhere;line-height:1.4}
.watch-starter-count{font-size:13px;line-height:1.5;margin:10px 0;display:flex;flex-wrap:wrap;gap:2px 10px}
.watch-starter-reading{margin:0 0 10px;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.watch-starter-reading p{margin:0 0 5px}
.watch-starter-reading small{font-size:12px}
.watch-starter-reading>summary{cursor:pointer;min-height:44px;align-content:center;font-size:13px;font-weight:600;color:var(--text)}
.watch-starter-count-full{display:flex;flex-wrap:wrap;gap:2px 10px}
.watch-starter-count-compact{display:none}
.watch-starter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:auto}
.watch-starter-actions a{display:flex;align-items:center;min-height:44px;font-size:12px;text-decoration:none;color:var(--text)}
.watch-starter-actions .btn{min-height:44px;font-size:13px;padding:8px 12px;white-space:nowrap}
.watch-starter-add.is-added{background:var(--surface-2);color:var(--text);border-color:var(--border);opacity:1}
.watch-starter-feedback{font-size:13px;line-height:1.5;margin:8px 0 0;color:var(--red)}
.watch-starters-done{min-height:44px;font-size:13px;padding:7px 10px;line-height:1.3;max-width:65%}
.watch-starter a:hover,.watch-starter a:focus-visible{color:var(--accent-text,var(--accent))}
@media(max-width:1180px){.watch-starters-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.watch-starters-list{grid-template-columns:1fr}}
.watch-research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.watch-research-card{min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}
.watch-research-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 14px}
.watch-research-heading .stock-name{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:44px}
.watch-research-heading .stock-name strong{font-size:20px;letter-spacing:.01em}
.watch-research-heading .stock-name>span{font-size:12px;line-height:1.5}
.watch-research-price{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:3px 8px;text-align:right;min-width:110px}
.watch-research-price .watch-price-link{min-height:32px;display:flex;align-items:center;font-size:20px}
.watch-research-price>small{width:100%;font-size:10px;line-height:1.4}
.watch-reference-strip{padding:12px 18px;background:var(--surface-2);border-block:1px solid var(--border)}
.watch-reference-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.watch-reference-level{display:flex;flex-direction:column;gap:5px;min-height:44px;text-decoration:none;line-height:1.45}
.watch-reference-level>span{font-size:11px}
.watch-reference-level>strong{font-size:16px;font-weight:600}
.watch-reference-level:hover>strong{color:var(--accent-text,var(--accent))}
.watch-reference-date{margin:7px 0 0;font-size:10px;line-height:1.5}
.watch-research-reading{padding:16px 18px 0;min-width:0}
.watch-research-reading .stock-reading{margin:0}
.watch-research-reading .stock-overall{margin:0 0 10px}
.watch-research-reading .stock-overall-text{font-size:15px;line-height:1.65}
.watch-research-reading .stock-card{padding:0;background:none;border:0;box-shadow:none}
.watch-research-reading .stock-one-sentence{font-size:13px;line-height:1.7;margin:8px 0}
.watch-research-reading .stock-citations{font-size:12px}
.watch-research-lenses{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px 18px 18px}
.watch-research-lenses>section{min-width:0}
.watch-research-lenses h3{font-size:11px;font-weight:600;line-height:1.5;margin:0 0 7px;color:var(--muted)}
.watch-research-lenses .watch-view-text,.watch-research-lenses .watch-view-pending{font-size:13px;line-height:1.7;margin:0}
.watch-research-lenses .watch-view-date{font-size:10px;line-height:1.5;margin-top:7px}
.watch-research-footer{border-top:1px solid var(--border);padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.watch-research-footer .watch-stock-actions{margin:0}
.watch-research-footer .watch-stock-actions>a{flex-direction:row;font-size:12px;padding:6px 9px;gap:6px}
.watch-disclosures-link{font-size:12px;min-height:44px;display:flex;align-items:center}
@media(max-width:1180px){.watch-scroll-hint{display:block}}
@media(max-width:980px){.watch-research-grid{grid-template-columns:1fr}}
@media(max-width:580px){
 .watchlist-view{font-size:13px;line-height:1.5}
 .watchlist-view>.view-head{gap:6px;margin-bottom:2px}
 .watchlist-view>.view-head h1{font-size:18px;line-height:1.25;margin:0}
 .watchlist-view>.view-head .count{font-size:11px}
 .watchlist-view .watch-add-options>summary{font-size:12px;min-height:44px;display:flex;align-items:center}
 .watchlist-view .watch-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;margin:4px 0 6px}
 .watchlist-view .watch-modes{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
 .watchlist-view .watch-modes .btn{min-height:44px;padding:6px 3px;align-items:center;text-align:center}
 .watchlist-view .watch-mode-title{font-size:12px}
 .watchlist-view .watch-mode-purpose{display:none}
 .watchlist-view .watch-controls .watch-search{grid-column:1;grid-row:1;min-width:0;width:100%}
 .watchlist-view .watch-controls>button{grid-column:2;grid-row:1;min-width:44px;padding-inline:9px}
 .watchlist-view .watch-controls .watch-filter{font-size:16px;min-height:44px}
 .watch-mode-note{font-size:11px;line-height:1.4;margin:0 0 5px}
 .watchlist-view .watch-strip{font-size:11px;line-height:1.4;gap:2px 8px;margin:2px 0 5px}
 .watchlist-view .watch-session{font-size:11px;line-height:1.4;margin:4px 0}
 .watch-daily-table.watch-compact-table{min-width:560px;font-size:13px}
 .watchlist-view .watch-compact-table th,.watchlist-view .watch-compact-table td{padding:5px 6px}
 .watchlist-view .watch-compact-table thead th{height:44px;padding-block:0;font-size:11px}
 .watch-daily-table.watch-compact-table tr>:first-child,.watch-daily-table.watch-compact-table.watch-selectable tr>:first-child{width:150px;padding-left:44px;padding-right:5px}
 .watch-daily-table.watch-compact-table.watch-selectable thead tr>:first-child{padding-left:44px}
 .watch-daily-table .watch-select{width:44px;left:0}
 .watch-daily-table.watch-compact-table tr>:nth-child(2){width:86px}
 .watch-daily-table.watch-compact-table tr>:nth-child(3){width:auto}
 .watch-daily-table.watch-compact-table tr>.watch-view-col,.watch-daily-table.watch-compact-table tr>.watch-view-cell{width:185px}
 .watch-daily-table.watch-compact-table .watch-company{max-width:101px;font-size:11px;line-height:1.35}
 .watchlist-view .watch-compact-table .stock-name strong{font-size:14px;line-height:1.3}
 .watchlist-view .watch-compact-table .watch-price-link{min-height:44px;display:inline-flex;align-items:center;padding:0;font-size:13px}
 .watchlist-view .watch-compact-table .watch-change{font-size:12px;margin-bottom:2px}
 .watchlist-view .watch-compact-table .watch-quote-cell>small{font-size:11px;line-height:1.35}
 .watch-daily-table .watch-reading-preview{font-size:13px;line-height:1.5;-webkit-line-clamp:2}
 .watchlist-view .watch-compact-table .watch-view-text,.watchlist-view .watch-compact-table .watch-view-pending{font-size:13px;line-height:1.5;margin:0}
 .watchlist-view .watch-reading-date,.watchlist-view .watch-view-date{font-size:11px;line-height:1.35;margin-top:3px}
 .watchlist-view .watch-row-disclosures{font-size:11px;margin-top:0}
 .watch-comparison-table.watch-compact-table tr>:first-child,.watch-comparison-table.watch-compact-table.watch-selectable tr>:first-child{min-width:150px;width:150px;padding-left:44px;padding-right:5px}
 .watch-comparison-table.watch-compact-table .watch-company{max-width:101px;font-size:11px;line-height:1.35}
 .watch-comparison-table .watch-select{width:44px;left:0}
 /* Reuse the selection gutter below the identity, keeping all three 44px actions. */
 .watchlist-view .watch-compact-table .watch-stock-actions{gap:0;flex-wrap:nowrap;margin:0 0 0 -38px}
 .watch-compact-table .watch-stock-actions>a{font-size:11px;min-width:44px;min-height:44px;padding:3px}
 .watchlist-view .watch-compact-table tbody .watch-select{top:5px}
 .watchlist-view .watch-table-scroll,.watchlist-view .watch-table-scroll:has(.watch-selectable){scroll-padding-left:150px;border-radius:8px}
 .watch-scroll-hint{font-size:11px;line-height:1.35;margin:0 0 4px}
 .watchlist-view .watch-compact-table .watch-metric-value{font-size:13px}
 .watchlist-view .watch-compact-table .watch-metric-note,.watchlist-view .watch-compact-table .watch-metric-status{font-size:11px;line-height:1.35}
 .watch-add-options.is-first-use .view-intro{font-size:13px;margin-bottom:8px}
 .watch-first-use{margin:4px 0 12px}
 .watch-starters-heading{gap:6px;position:sticky;top:0;z-index:2;background:var(--bg);min-height:44px}
 .watch-starter a,.watch-starter button{scroll-margin-block:68px}
 .watch-starters-heading h2{font-size:16px}
 .watch-starters-heading>a,.watch-starters-date,.watch-starters-basis{font-size:12px}
 .watch-starters-list{margin-top:6px;gap:0;border-top:1px solid var(--border)}
 .watch-starter{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:10px;padding:3px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none}
 .watch-starter-open{grid-column:1/3;grid-row:1;min-height:44px}
 .watch-starter-identity{flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:3px 8px;width:100%}
 .watch-starter-identity strong{font-size:17px}
 .watch-starter-identity>span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .watch-starter-count{grid-column:1;grid-row:2;align-self:center;margin:0;font-size:11px;line-height:1.3}
 .watch-starter-count-full{display:none}
 .watch-starter-count-compact{display:inline}
 .watch-starter-reading{grid-column:2;grid-row:2;font-size:13px;margin:0;align-self:center}
 .watch-starter-reading>summary{font-size:12px;min-height:44px;min-width:44px;text-align:center}
 .watch-starter-reading[open]{grid-column:1/-1;grid-row:3;padding:0 8px 8px;border-left:2px solid var(--border)}
 .watch-starter-reading[open]>summary{text-align:left}
 .watch-starter-actions{display:contents}
 .watch-starter-actions .btn{grid-column:3;grid-row:1;padding:6px 10px;font-size:12px;min-width:72px;justify-self:end}
 .watch-starter-actions .watch-starter-research{display:none}
 .watch-starter-actions .watch-starter-map{grid-column:3;grid-row:2;justify-self:end;justify-content:center;min-width:72px;min-height:44px;font-size:12px;color:var(--muted)}
 .watch-starter-feedback{grid-column:1/-1;margin:4px 0}
 .watch-research-grid{gap:8px}
 .watch-research-card{border-radius:9px}
 .watch-research-heading{padding:10px 10px 8px;gap:8px}
 .watch-research-heading .stock-name{gap:2px}
 .watch-research-heading .stock-name strong{font-size:18px}
 .watch-research-heading .stock-name>span{font-size:11px;line-height:1.35}
 .watch-research-price{gap:0 6px;min-width:100px;font-size:12px}
 .watch-research-price .watch-price-link{font-size:18px;min-height:44px}
 .watch-research-price>small{font-size:11px;line-height:1.35}
 .watch-reference-strip{padding:6px 10px}
 .watch-reference-values{gap:6px}
 .watch-reference-level{gap:2px}
 .watch-reference-level>span{font-size:11px;line-height:1.35}
 .watch-reference-level>strong{font-size:14px;line-height:1.35}
 .watch-reference-date{font-size:11px;line-height:1.35;margin-top:4px}
 .watch-research-reading{padding:8px 10px 0}
 .watch-research-reading .stock-overall{margin-bottom:6px}
 .watch-research-reading .stock-overall-text,.watch-research-reading .stock-one-sentence,.watch-research-reading .stock-digest{font-size:13px;line-height:1.5;margin:0 0 6px}
 .watch-research-reading .stock-citations{gap:4px;margin:6px 0}
 .watch-research-reading .stock-citation{grid-template-columns:20px minmax(0,1fr) auto;gap:6px;min-height:44px;padding:5px 6px;border-radius:6px}
 .watch-research-reading .stock-citation-title{font-size:11px;line-height:1.4}
 .watch-research-reading .stock-citation-when,.watch-research-reading .stock-analysis-date,.watch-research-reading .stock-digest-note{font-size:11px;line-height:1.35;margin-block:4px}
 .watch-research-lenses{grid-template-columns:1fr;padding:8px 10px 10px;gap:7px}
 .watch-research-lenses h3{font-size:11px;line-height:1.35;margin:0 0 3px}
 .watch-research-lenses .watch-view-text,.watch-research-lenses .watch-view-pending{font-size:13px;line-height:1.5}
 .watch-research-lenses .watch-view-date{font-size:11px;line-height:1.35;margin-top:3px}
 .watch-research-lenses>section+section{border-top:1px solid var(--border);padding-top:7px}
 .watch-research-footer{padding:3px 6px;gap:0}
 .watch-research-footer .watch-stock-actions>a{padding-inline:5px;font-size:11px}
 .watch-disclosures-link{font-size:11px}
}
/* A phone can read one complete column beside the frozen stock identity.
   Native two-axis gestures remain available; only the table pans horizontally. */
@media(max-width:580px){
 body.page-app .watchlist-view .watch-table-scroll{overscroll-behavior-x:contain;scrollbar-width:thin}
 body.page-app .watchlist-view .watch-table-scroll:has(.watch-daily-table){scroll-padding-left:138px}
 body.page-app .watchlist-view .watch-daily-table{--watch-reading-width:clamp(144px,calc(100vw - 164px),224px);min-width:calc(224px + var(--watch-reading-width))}
 body.page-app .watchlist-view .watch-daily-table.watch-selectable tr>:first-child{width:138px}
 body.page-app .watchlist-view .watch-daily-table tr>:nth-child(3),body.page-app .watchlist-view .watch-daily-table tr>.watch-view-col,body.page-app .watchlist-view .watch-daily-table tr>.watch-view-cell{width:var(--watch-reading-width)}
 body.page-app .watchlist-view .watch-daily-table .watch-company{max-width:89px}
 body.page-app .watchlist-view .watch-daily-table .watch-stock-actions{margin-left:-43px}
 body.page-app .watchlist-view .watch-daily-table .watch-stock-actions>a{width:44px;min-width:44px;padding-inline:0;font-size:11px}
 body.page-app .watchlist-view .watch-daily-table .watch-action-full{display:none}
 body.page-app .watchlist-view .watch-daily-table .watch-action-short{display:inline}
}
/* Short phone landscape viewports also need a bounded row and full-width reader. */
@media(max-width:580px),(max-width:1000px) and (max-height:500px) and (pointer:coarse){
 body.page-app .watchlist-view .watch-daily-table .watch-view-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
 body.page-app .watchlist-view .watch-daily-table .watch-view-state,body.page-app .watchlist-view .watch-daily-table .watch-view-basis{font-size:11px;line-height:1.35;margin:0 0 4px}
 body.page-app .watchlist-view .watch-daily-table .watch-view-basis{margin:4px 0 0}
 body.page-app .watchlist-view .watch-daily-table .watch-view-open{display:flex;align-items:center;min-height:44px;min-width:44px;max-width:100%;padding:4px 0;border:0;background:none;color:var(--accent-text,var(--accent));font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer}
}

/* Distinct, readable states; wording carries meaning without relying on color. */
.watch-view-state{font-weight:650;line-height:1.5;margin:0 0 .4rem}
.watch-view-basis{margin:.5rem 0 0;overflow-wrap:anywhere}

/* U-01 (upgrade pack 2026-10-11): the collapsed row is price, one verdict sentence and the latest
   event badge; the full reading, both perspectives and the recorded-data line open below it. */
.watch-daily-table .watch-reading-preview{-webkit-line-clamp:2}
.watch-reading-preview.is-muted{color:var(--muted)}
.watch-event-badge{display:inline-flex;align-items:center;gap:4px;width:fit-content;max-width:100%;margin-top:5px;padding:1px 8px;border:1px solid var(--border);border-radius:999px;font-size:11px;line-height:1.6;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.watch-event-badge time{font-variant-numeric:tabular-nums}
.watch-event-badge.is-buy,.watch-event-badge.is-add{border-color:color-mix(in srgb,var(--bull) 55%,var(--border));color:var(--bull)}
.watch-event-badge.is-sell,.watch-event-badge.is-trim{border-color:color-mix(in srgb,var(--bear) 55%,var(--border));color:var(--bear)}
.watch-inline-reading>summary>.watch-row-toggle{display:inline-flex;flex:none;align-items:center;margin-left:auto;padding-left:8px;font-size:12px;color:var(--accent-text,var(--accent));white-space:nowrap}
.watch-inline-reading>summary::after{margin-left:2px}
.watch-inline-reading[open]>summary>.watch-row-toggle{display:inline-flex}
.watch-row-toggle .is-open,.watch-inline-reading[open] .watch-row-toggle .is-closed{display:none}
.watch-inline-reading[open] .watch-row-toggle .is-open{display:inline}
.watch-row-expanded{display:grid;gap:10px;padding:4px 0 6px}
.watch-row-lenses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.watch-row-lenses>section{min-width:0;padding:6px 0 0 10px;border-left:3px solid var(--border)}
.watch-row-lenses>section.is-left{border-left-color:var(--yellow)}
.watch-row-lenses>section.is-right{border-left-color:var(--blue)}
.watch-row-lenses h3{margin:0 0 4px;font-size:12px;line-height:1.4;color:var(--muted)}
.watch-row-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.watch-row-links>a{display:inline-flex;align-items:center;min-height:44px}
.watch-row-links .watch-row-disclosures{margin-top:0}
.watch-column-chooser{margin:0 0 8px}
.watch-column-chooser>summary{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:13px}
.watch-column-chooser fieldset{margin:6px 0 0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
.watch-column-chooser legend{padding:0 4px;font-size:12px;color:var(--muted)}
.watch-column-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 12px}
.watch-column-option{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;cursor:pointer}
.watch-column-option input{width:18px;height:18px;margin:0;flex:none}
.watch-column-foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px}
.watch-column-foot .btn{min-height:44px}
.watch-column-foot p{margin:0}
@media(max-width:580px){
 .watch-row-lenses{grid-template-columns:1fr}
 .watch-column-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .watch-column-option{font-size:12px}
}
/* Indicators width follows the chosen columns: stock + price (~300px) and ~110px per comparison. */
body.page-app .watchlist-view .watch-indicators-table{min-width:calc(300px + var(--watch-optional-columns,12) * 110px)}

/* Connected Watchlist beta: Ducky green stays in navigation while the dense data workbench
   uses the earlier navy / mint / orange financial palette. The regular #/watchlist route is
   unchanged; this layer is enabled only by #/watchlist?ui=beta. */
.watch-beta-badge{display:inline-flex;align-items:center;min-height:26px;padding:2px 9px;border-radius:999px;background:#d9efc8;color:#234d3b;font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
body.watchlist-beta-route .app-top{background:#f6f3ea}
body.watchlist-beta-route .app-top .brand{color:#183c30}
body.watchlist-beta-route .app-nav{background:#214f40;border-color:#326454}
body.watchlist-beta-route .app-nav>a{color:#dbece4}
body.watchlist-beta-route .app-nav>a:hover{background:#2a5d4c;color:#fff}
body.watchlist-beta-route .app-nav>a.on{background:#d8efc7;color:#173f32}
body.watchlist-beta-route .app-nav>a.on:before{background:#f4cf58}
.watchlist-beta .watch-modes{border-color:#b9cabc;background:#f2f4ed}
.watchlist-beta .watch-modes .btn+.btn{border-color:#cbd7cd}
.watchlist-beta .watch-modes [aria-pressed=true]{background:#dfeadf;border-bottom-color:#285c49}
.watchlist-beta .watch-modes [aria-pressed=true] .watch-mode-title{color:#204f3e}
.watchlist-beta .watch-column-chooser{margin:0 0 10px}
.watchlist-beta .watch-column-chooser>summary{border-color:#aebeb2;background:#f7f5ee;color:#27463a;font-weight:650}
.watchlist-beta .watch-column-chooser fieldset{padding:10px;border-color:#b9c8bc;background:#eef2eb}
.watch-column-presets{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.watch-column-preset{min-height:38px;padding:7px 12px;border:1px solid #9fb3a5;border-radius:999px;background:#f9f7ef;color:#304c41;font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.watch-column-preset:hover{border-color:#285c49;background:#e5eee5}
.watch-column-preset[aria-pressed=true]{border-color:#285c49;background:#285c49;color:#f6fbf8}
.watch-column-preset:focus-visible{outline:2px solid #f0b43f;outline-offset:2px}
.watch-column-custom{border-top:1px solid #c6d2c9;padding-top:7px}
.watch-column-custom>summary{display:inline-flex;align-items:center;min-height:38px;color:#365448;font-size:12px;font-weight:650;cursor:pointer}
.watch-column-custom[open]>.watch-column-options{margin-top:4px}

.watchlist-beta .watch-table-scroll{
 --surface:#101b29;--surface-2:#17283a;--border:#2c4358;--text:#edf4f5;--muted:#a9bac7;--faint:#8fa1b0;
 --green:#59d5ad;--red:#ff6f78;--orange:#ff9148;--accent:#a7df76;--accent-text:#b8e88f;--focus-ring:#f5c84c;
 --watch-buy:#59d5ad;--watch-sell:#ff9148;
 border-color:#2c4358;border-radius:9px;background:#101b29;box-shadow:0 12px 34px rgb(15 27 41 / .18);
 scrollbar-color:#526b7e #101b29;
}
.watchlist-beta .watch-compact-table th,.watchlist-beta .watch-compact-table td{background:#101b29;border-color:#2c4358;color:#edf4f5}
.watchlist-beta .watch-compact-table tr:nth-child(even)>*{background:#17283a}
.watchlist-beta .watch-compact-table tbody tr:hover>*{background:#1d3347}
.watchlist-beta .watch-compact-table thead th{background:#1a3042;color:#b8c7d1;border-bottom-color:#395167}
.watchlist-beta .watch-compact-table tr>:first-child{border-right-color:#395167}
.watchlist-beta .watch-compact-table .ticker-symbol{color:#ffad5f}
.watchlist-beta .watch-compact-table .watch-company{color:#a9bac7}
.watchlist-beta .watch-compact-table .stock-name,.watchlist-beta .watch-compact-table .watch-price-link{color:#edf4f5}
.watchlist-beta .watch-compact-table .watch-stock-actions>a{color:#9fb2c0}
.watchlist-beta .watch-compact-table .watch-stock-actions>a:hover{background:#243b4f;color:#b8e88f}
.watchlist-beta .watch-compact-table .watch-up{color:#59d5ad}
.watchlist-beta .watch-compact-table .watch-down{color:#ff6f78}
.watchlist-beta .watch-signal-flag.is-yes{color:var(--watch-buy);border-color:color-mix(in srgb,var(--watch-buy) 55%,#2c4358);background:color-mix(in srgb,var(--watch-buy) 13%,transparent)}
.watchlist-beta .watch-signal-flag.is-sell{color:var(--watch-sell);border-color:color-mix(in srgb,var(--watch-sell) 55%,#2c4358);background:color-mix(in srgb,var(--watch-sell) 13%,transparent)}
.watchlist-beta .watch-signal-event.is-sell,.watchlist-beta .watch-signal-event.is-trim{color:var(--watch-sell)}
.watchlist-beta .watch-signal-item.is-sell,.watchlist-beta .watch-signal-item.is-trim{border-color:color-mix(in srgb,var(--watch-sell) 45%,#2c4358)}
.watchlist-beta .watch-balance-buy{background:var(--watch-buy)}
.watchlist-beta .watch-balance-sell{background:var(--watch-sell)}
.watchlist-beta .watch-event-badge.is-buy,.watchlist-beta .watch-event-badge.is-add{color:var(--watch-buy);border-color:color-mix(in srgb,var(--watch-buy) 55%,#2c4358)}
.watchlist-beta .watch-event-badge.is-sell,.watchlist-beta .watch-event-badge.is-trim{color:var(--watch-sell);border-color:color-mix(in srgb,var(--watch-sell) 55%,#2c4358)}
.watchlist-beta .watch-range-track{background:linear-gradient(90deg,color-mix(in srgb,var(--watch-buy) 72%,#2c4358),#52677a 50%,color-mix(in srgb,var(--watch-sell) 72%,#2c4358))}
.watchlist-beta .watch-range-dot{background:#eef5f5;border-color:#101b29}
.watchlist-beta .watch-signal-help{background:#16283a;border-color:#446078;color:#c0cdd5}
.watchlist-beta .watch-sort:focus-visible,.watchlist-beta .watch-signal-help:focus-visible{outline-color:#f5c84c}

@media(prefers-color-scheme:dark){
 :root:not([data-theme=light]) body.watchlist-beta-route .app-top{background:#15261f}
 :root:not([data-theme=light]) body.watchlist-beta-route .app-top .brand{color:#e5f2e9}
 :root:not([data-theme=light]) .watchlist-beta .watch-modes{background:#17241f;border-color:#365144}
 :root:not([data-theme=light]) .watchlist-beta .watch-modes [aria-pressed=true]{background:#20392e}
 :root:not([data-theme=light]) .watchlist-beta .watch-column-chooser>summary{background:#17241f;color:#d8e8de;border-color:#3f594d}
 :root:not([data-theme=light]) .watchlist-beta .watch-column-chooser fieldset{background:#13231c;border-color:#365144}
 :root:not([data-theme=light]) .watch-column-preset{background:#18271f;color:#d8e8de;border-color:#476457}
 :root:not([data-theme=light]) .watch-column-preset[aria-pressed=true]{background:#a9db77;border-color:#a9db77;color:#163427}
 :root:not([data-theme=light]) .watch-column-custom{border-color:#365144}
 :root:not([data-theme=light]) .watch-column-custom>summary{color:#bed1c5}
}
:root[data-theme=dark] body.watchlist-beta-route .app-top{background:#15261f}
:root[data-theme=dark] body.watchlist-beta-route .app-top .brand{color:#e5f2e9}
:root[data-theme=dark] .watchlist-beta .watch-modes{background:#17241f;border-color:#365144}
:root[data-theme=dark] .watchlist-beta .watch-modes [aria-pressed=true]{background:#20392e}
:root[data-theme=dark] .watchlist-beta .watch-column-chooser>summary{background:#17241f;color:#d8e8de;border-color:#3f594d}
:root[data-theme=dark] .watchlist-beta .watch-column-chooser fieldset{background:#13231c;border-color:#365144}
:root[data-theme=dark] .watch-column-preset{background:#18271f;color:#d8e8de;border-color:#476457}
:root[data-theme=dark] .watch-column-preset[aria-pressed=true]{background:#a9db77;border-color:#a9db77;color:#163427}
:root[data-theme=dark] .watch-column-custom{border-color:#365144}
:root[data-theme=dark] .watch-column-custom>summary{color:#bed1c5}

@media(max-width:999px){
 body.watchlist-beta-route .app-nav{background:#214f40;border-top-color:#326454}
 body.watchlist-beta-route .app-nav>a.on{background:#d8efc7;color:#173f32}
}
@media(max-width:580px){
 .watch-beta-badge{min-height:22px;padding-inline:7px;font-size:10px}
 .watchlist-beta .watch-column-chooser fieldset{padding:8px}
 .watch-column-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 .watch-column-preset{min-width:0;min-height:44px;padding:5px 3px;border-radius:7px;font-size:11px;line-height:1.2}
}
