/* Round 2 density and security identity. Shared across the active product routes. */
@font-face { font-family:Inter; font-style:normal; font-weight:100 900; font-display:swap; src:url('./assets/email/inter.ttf') format('truetype'); }
body { font-size:var(--et-body); }
.workspace { padding-inline:32px; }
.terminal-header { min-height:72px; margin-bottom:24px; }
.view-title { margin-bottom:20px; }
.view-title h1 { font-size:var(--et-heading); }
.view-title p { margin-top:4px; }
.rail { background:var(--et-bg); }
.nav-item.active { background:#1d302a; }
.data-table th { font-size:var(--et-caption); padding-block:11px; }
.data-table td { padding-block:10px; font-size:13px; border-bottom-color:var(--et-subtle-border); }
.data-table tbody tr { height:var(--et-row-height); }
.data-table tbody tr:hover { background:#ffffff04; }
.data-table .security { min-height:44px; max-width:100%; }
.security-copy { min-width:0; }
.security-logo { flex:none; }
.security { gap:10px; }
.security small { font-size:12px; max-width:240px; line-height:1.5; }
.security-mark { width:36px; height:36px; flex:none; display:inline-grid; place-items:center; position:relative; overflow:hidden; vertical-align:middle; border:1px solid #ffffff14; border-radius:6px; background:#293239; color:#e6edf2; }
.security-mark-sm { width:28px; height:28px; }
.security-mark-lg { width:48px; height:48px; }
.security-fallback { display:grid; place-items:center; font-size:12px; font-weight:600; line-height:1; }
.security-fallback .icon { width:18px; height:18px; }
.security-mark[data-security-kind=ETF] { color:var(--et-info); background:#1c2b3a; }
.security-mark[data-security-kind=Index] { color:var(--et-warning); background:#302a20; }
.security-mark img { position:absolute; inset:0; width:100%; height:100%; padding:7px; object-fit:contain; background:#f3f5f6; opacity:0; }
.security-mark.has-logo img { opacity:1; }
.security-mark.has-logo .security-fallback { visibility:hidden; }
.security-mark-lg img { padding:9px; }
.security-mark-sm img { padding:5px; }
.security-mark.is-loading { border-color:var(--et-border); }
.security-mark img:not([src]) { display:none; }
.metrics { padding-block:0 20px; margin-bottom:16px; gap:20px; }
.metrics strong { font-size:22px; line-height:1.3; }
.metrics span { font-size:12px; }
.num,.quote-price,.portfolio-total,.holding-inspector-performance strong { font-variant-numeric:tabular-nums lining-nums; }
.section-head { min-height:48px; }
.section-note { line-height:1.6; padding-block:12px; }
.tabs { gap:22px; }
.tabs button { min-height:44px; }
.facts>div { padding-block:10px; }
.page-foot { margin-top:28px; }
dialog { border-radius:8px; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid var(--et-focus); outline-offset:3px; }
.market-account-context { display:flex; align-items:center; gap:24px; border-block:1px solid var(--et-border); padding:10px 0; margin-bottom:0; }
.market-account-context>span { display:flex; align-items:center; gap:8px; flex:1; min-width:0; font-size:13px; }
.market-account-context>span b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; }
.market-account-context>span small { white-space:nowrap; font-size:12px; }
.market-account-context button { display:flex; align-items:baseline; gap:10px; background:transparent; border:0; padding:6px 0; min-height:32px; }
.market-account-context button>span { color:var(--et-muted); font-size:12px; }
.market-account-context button strong { font-size:14px; font-weight:500; }
.market-index-strip { gap:0; border-bottom:1px solid var(--et-border); margin-bottom:16px; }
.market-index-strip .index-card { min-height:118px; border:0; border-radius:0; background:transparent; padding:16px 20px; }
.market-index-strip .index-card:first-child { padding-left:0; }
.market-index-strip .index-card+.index-card { border-left:1px solid var(--et-border); }
.index-identity { display:flex; gap:8px; align-items:center; }
.index-identity>span:last-child { display:flex; align-items:baseline; gap:8px; min-width:0; }
.index-identity b { font-size:13px; font-weight:600; }
.market-index-strip .index-card strong { font-size:24px; margin:8px 0 4px; }
.market-index-strip .index-card footer { font-size:12px; }
@media(min-width:900px){
  .view:has(.discovery-directory) .market-index-strip .index-card { display:grid; grid-template-columns:1fr auto; min-height:104px; padding-block:12px; }
  .market-index-strip .index-identity { grid-column:1/-1; }
  .market-index-strip .index-card footer { align-self:center; margin-left:16px; gap:16px; }
  .market-index-strip .index-card strong { font-size:22px; }
  .view-title:has(+.view .discovery-directory) p { display:none; }
}
.discovery-directory { padding-block:0 8px; border:0; }
.discovery-controls { margin-top:12px; }
.discovery-table td:first-child { width:29%; }
.discovery-table .security small { white-space:nowrap; max-width:210px; font-size:12px; }
.discovery-table td.num small { font-size:11px; }
.discovery-table .change-absolute { color:inherit; }
.watch-add-identity { flex:1; }
.search-results { width:min(560px,calc(100vw - 80px)); }
.search-row { gap:12px; padding:10px; }
.search-company { flex:1; min-width:0; }
.search-row .search-company small { max-width:100%; }
.search-symbol-line strong { font-size:14px; }
.search-listing { font-size:11px; margin-top:4px; }
.search-price { flex:none; font-size:14px; }
.search-price small { margin-top:5px; font-size:12px; }
.detail-grid { gap:28px; grid-template-columns:minmax(0,1fr) 304px; }
.quote-identity { min-width:0; }
.quote-heading>.inline { min-width:0; }
.quote-heading h2 { font-size:23px; line-height:1.3; overflow-wrap:anywhere; }
.quote-heading small { font-size:12px; line-height:1.6; }
.quote-heading small b { color:var(--et-text); font-weight:500; }
.quote-price { font-size:44px; margin-top:20px; }
.quote-change { row-gap:6px; }
.quote-source { font-size:12px; line-height:1.6; }
.quote-recovery { min-height:36px; padding-block:4px; margin-top:8px; }
.position-brief { display:flex; gap:12px; justify-content:space-between; padding-block:12px; margin-top:8px; border-block:1px solid var(--et-border); font-size:13px; }
.position-brief>span:first-child { display:flex; gap:6px; align-items:center; }
.position-brief b { font-weight:500; }
.position-brief small { font-size:11px; }
.chart-frame { margin-top:0; }
.chart-readout { display:flex; gap:8px 14px; flex-wrap:wrap; align-content:center; min-height:54px; padding-block:10px; color:var(--et-muted); font-size:11px; }
.chart-readout time { flex-basis:100%; }
.chart-readout b { color:var(--et-text); font-weight:500; }
.chart-toolbar { margin:12px 0; }
.history-context { padding:10px 0; gap:10px; }
.history-context>div { display:grid; grid-template-columns:1fr 1fr; gap:3px 12px; }
.history-context small { margin:0; line-height:1.5; }
.history-context>div>strong,.history-context>div>small:first-of-type { grid-column:1/-1; }
.history-context .history-cost { color:var(--et-warning); }
.history-context #etChartOrders { font-size:12px; justify-self:start; }
.quote-facts { margin:16px 0 24px; gap:20px 16px; }
.quote-facts strong { font-size:15px; }
.instrument-position-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; color:var(--et-muted); padding:0 0 20px; }
.instrument-position-actions button { color:var(--et-negative); }
.company-profile .section-head { flex-wrap:wrap; padding-block:8px; }
.company-profile h2 { font-size:16px; }
.company-fundamentals { margin-top:8px; padding:8px 0 24px; border-bottom:1px solid var(--et-border); }
.company-about-heading { margin-top:20px; }
.fundamental-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border:1px solid var(--et-border); border-radius:10px; overflow:hidden; }
.fundamental-grid>div { min-width:0; padding:14px 16px; border-right:1px solid var(--et-border); border-bottom:1px solid var(--et-border); }
.fundamental-grid>div:nth-child(3n) { border-right:0; }
.fundamental-grid>div:nth-last-child(-n+3) { border-bottom:0; }
.fundamental-grid span { display:block; min-height:30px; color:var(--et-muted); font-size:11px; line-height:1.4; }
.fundamental-grid strong { display:block; margin-top:5px; font-size:16px; font-weight:550; overflow-wrap:anywhere; }
.fundamentals-status { margin:12px 0 0; padding-left:10px; border-left:2px solid var(--et-warning); color:var(--et-muted); font-size:11px; line-height:1.6; }
.fundamentals-status.is-available { border-left-color:var(--et-positive); }
.company-description { font-size:13px; color:var(--et-muted); line-height:1.8; margin:16px 0; max-width:80ch; white-space:pre-line; }
.company-profile-state { font-size:13px; color:var(--et-muted); line-height:1.7; margin:16px 0; }
.company-profile-state button { margin-left:12px; }
.company-website { display:flex; align-items:center; gap:4px; font-size:12px; color:var(--et-info); min-height:32px; }
.instrument-reference { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 20px; margin:20px 0; }
.instrument-reference dt { font-size:12px; color:var(--et-muted); margin-bottom:4px; }
.instrument-reference dd { margin:0; font-size:13px; overflow-wrap:anywhere; }
.company-reference-source { font-size:11px; color:var(--et-muted); display:block; line-height:1.6; padding-bottom:16px; }
.trade-ticket { padding:20px; top:16px; }
.trade-ticket label { margin-block:14px; }
.trade-ticket .estimate { margin-top:16px; padding-block:8px; }
.trade-ticket .facts { margin-block:8px; }
.trade-ticket .facts>div { padding-block:8px; font-size:12px; }
.trade-ticket .facts>div:last-child { border-top:1px solid var(--et-border); padding-top:14px; margin-top:6px; }
.trade-ticket .facts>div:last-child strong { font-size:20px; font-weight:600; }
.trade-ticket .order-mode-switch { margin-block:10px 14px; }
.order-review-identity { display:flex; align-items:center; gap:12px; padding:20px 0 4px; }
.order-review-identity>div { min-width:0; }
.order-review-identity strong { font-size:20px; font-weight:600; }
.order-review-identity small { display:block; margin-top:4px; overflow-wrap:anywhere; }
.holdings-coverage { padding-bottom:12px; }
.holdings-toolbar { padding-top:16px; }
.holdings-table .holding-identity { max-width:220px; }
.holdings-table .security small { max-width:165px; }
.holdings-table td strong { font-size:13px; }
.holdings-table .holding-return strong,.holdings-table .holding-day strong { font-size:14px; }
.holding-definitions { max-width:100ch; }
.holding-definitions::first-line { color:var(--et-muted); }
.orders-table .order-mobile-time,.orders-table .order-mobile-price { display:none; }
.order-summary { padding-bottom:16px; }
.order-summary small { min-height:0; }
.order-filters { margin-block:16px; }
.orders-table td .security small { margin-top:3px; }
.portfolio-order-identity { display:flex; align-items:center; gap:12px; min-width:0; }
.portfolio-order-outcome { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.portfolio-order-outcome>strong { font-size:13px; font-weight:500; }
.allocation-security { display:flex; align-items:center; gap:8px; border:0; padding:0; background:none; min-height:36px; }
.allocation-cash { display:flex; align-items:center; gap:8px; min-height:36px; }
.allocation-cash .icon { width:20px; height:20px; color:var(--et-muted); }
.portfolio-main .section-note { font-size:12px; }
.mobile-trade-context { display:none; }
@media(min-width:1600px){.workspace{padding-inline:40px;}.view,.view-title,.terminal-header{max-width:1600px;}}
@media(max-width:1199px){.workspace{padding-inline:24px;}.security small{max-width:180px;}}
@media(max-width:1199px){
  .discovery-volume,.discovery-cap { display:none; }
  .detail-grid { gap:20px; grid-template-columns:minmax(0,1fr) 280px; }
  .quote-heading h2 { font-size:21px; }
  .index-identity>span:last-child { display:grid; gap:0; }
  .market-account-context { gap:16px; }
  .market-account-context>span small { display:none; }
  .holdings-table th { font-size:11px; }
}
@media(max-width:899px){
  .discovery-table .mobile-hide { display:none; }
  .discovery-table .security small { max-width:140px; }
  .detail-grid { grid-template-columns:1fr; }
  .instrument-reference { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fundamental-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fundamental-grid>div,.fundamental-grid>div:nth-child(3n) { border-right:1px solid var(--et-border); border-bottom:1px solid var(--et-border); }
  .fundamental-grid>div:nth-child(2n) { border-right:0; }
  .fundamental-grid>div:nth-last-child(-n+3) { border-bottom:1px solid var(--et-border); }
  .fundamental-grid>div:last-child { border-right:0; border-bottom:0; }
  .trade-ticket { max-width:none; }
  .market-account-context { flex-wrap:wrap; gap:6px 20px; }
  .market-account-context>span { flex-basis:100%; }
  .market-account-context button { min-height:36px; }
}
@media(max-width:599px){
  .workspace { padding-inline:16px; }
  .terminal-header { min-height:64px; margin-bottom:20px; }
  .view-title h1 { font-size:24px; }
  .view-title { margin-bottom:20px; }
  .data-table .security { gap:8px; }
  .security small { max-width:125px; }
  .security-mark { width:32px; height:32px; }
  .security-mark-lg { width:44px; height:44px; }
  .security-mark-sm { width:28px; height:28px; }
  .metrics strong { font-size:20px; }
  .data-table td { padding-block:12px; }
  .data-table tbody tr { height:auto; min-height:64px; }
  .ticket-open .detail-grid>.trade-ticket { border-radius:8px 8px 0 0; }
  input,textarea { font-size:16px; }
  .market-account-context { gap:4px 20px; padding-block:10px; }
  .market-account-context>span { font-size:12px; }
  .market-account-context button { min-height:32px; }
  .market-account-context button>span { font-size:11px; }
  .market-index-strip { margin-bottom:8px; }
  .view:has(.discovery-directory) .market-index-strip .index-card { min-height:108px; padding:12px 8px; }
  .view:has(.discovery-directory) .market-index-strip .index-card:first-child { padding-left:0; }
  .index-identity .security-mark { display:none; }
  .index-identity>span:last-child { gap:4px; }
  .market-index-strip .index-card .index-name { font-size:12px; }
  .market-index-strip .index-card strong { font-size:18px; }
  .market-index-strip .index-card footer { font-size:12px; }
  .market-index-strip footer .muted { display:none; }
  .discovery-table .security-logo { display:block; }
  .discovery-table td:first-child { width:42%; }
  .discovery-table .security small { white-space:nowrap; max-width:92px; font-size:11px; }
  .discovery-table .security { gap:7px; }
  .discovery-table th { font-size:11px; }
  .discovery-table td.num { font-size:13px; }
  .discovery-table td.num small { font-size:11px; }
  .discovery-table .security-mark { width:28px; height:28px; }
  .search-results { width:calc(100vw - 32px); max-width:none; left:-4px; }
  .search-row { padding:10px 6px; gap:10px; }
  .search-price { font-size:13px; min-width:62px; }
  .search-row .search-company small { font-size:12px; }
  .search-row .search-company .search-listing { font-size:11px; }
  .quote-heading { gap:12px; }
  .quote-heading>.inline { gap:10px; }
  .quote-heading h2 { font-size:21px; }
  .quote-price { font-size:40px; margin-top:20px; }
  .quote-change { font-size:13px; }
  .quote-source { font-size:11px; }
  .position-brief { flex-wrap:wrap; gap:8px; font-size:12px; }
  .chart-readout { gap:6px 12px; font-size:11px; min-height:64px; }
  .history-context>div { grid-template-columns:1fr; }
  .history-context small { font-size:11px; }
  .quote-facts { gap:18px; }
  .quote-facts strong { font-size:15px; }
  .quote-facts span { font-size:12px; }
  .company-profile .section-head { gap:4px; }
  .fundamental-grid>div { padding:12px; }
  .fundamental-grid span { min-height:32px; }
  .instrument-position-actions { align-items:flex-start; }
  .instrument-position-actions button { min-height:44px; flex:none; }
  .mobile-trade-bar { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; padding:10px 16px; }
  .mobile-trade-bar button { width:100%; }
  .mobile-trade-context { grid-column:1/-1; display:flex; justify-content:space-between; gap:8px; font-size:12px; color:var(--et-muted); }
  .mobile-trade-context b { color:var(--et-text); margin-left:6px; font-weight:500; }
  .detail-grid:has(.trade-ticket) { padding-bottom:100px; }
  .holdings-table .security { gap:8px; align-items:center; }
  .holdings-table .security small { display:none; }
  .holdings-table .holding-mobile-qty { font-size:11px; margin-top:8px; }
  .holdings-table tbody tr { gap:12px 14px; padding:16px 0; }
  .holdings-table .holding-actions { margin-top:2px; }
  .holding-cell-label { font-size:12px; text-transform:none; }
  .orders-table .order-mobile-time { display:block; font-size:12px; margin-top:6px; }
  .orders-table .order-mobile-price { display:block; font-size:13px; margin-top:8px; color:var(--et-text); }
  .order-mobile-price span { display:block; font-size:12px; color:var(--et-muted); margin-top:3px; }
  .orders-table .security { gap:7px; }
  .orders-table .security-mark { width:28px; height:28px; }
  .orders-table td { vertical-align:top; padding-block:16px; }
  .orders-table .status { font-size:11px; padding-inline:5px; }
  .order-summary strong { font-size:19px; }
  .order-summary small { min-height:30px; }
  .portfolio-order-outcome { flex-direction:column; gap:6px; align-items:flex-end; }
}
@media(max-width:359px){
  .workspace { padding-inline:12px; }
  .discovery-table .security-copy small { max-width:68px; }
  .discovery-table .security { gap:6px; }
  .discovery-table .security-mark { width:24px; height:24px; }
  .market-account-context { column-gap:12px; }
  .market-account-context button { gap:6px; }
  .orders-table .security-mark { display:none; }
  .market-index-strip .index-card strong { font-size:16px; }
}
