/* V8 Database tab, asset cards and the source drawer. Uses the terminal palette from terminal.css. */

.v8-subnav { display: flex; gap: 2px; }
.v8-subnav a { padding: 2px 10px; border: 1px solid var(--line-strong); color: var(--ink-2) !important; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; text-decoration: none !important; }
.v8-subnav a[aria-current] { color: #000 !important; background: var(--amber); border-color: var(--amber); }

.v8-filters { align-items: center; }
.v8-select { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 0 0 8px; border: 1px solid var(--line-strong); background: var(--surface); font-size: 11px; }
.v8-select span { color: var(--ink-3); font-size: 10px; }
.v8-select select { height: 22px; border: 0; color: var(--ink); background: transparent; font: 11px var(--sans); }
.v8-select select option { color: var(--ink); background: var(--surface); }
.v8-select input[type="date"] { height: 22px; border: 0; color: var(--ink); background: transparent; font: 11px var(--sans); color-scheme: light dark; padding-right: 4px; }
.v8-check { display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 8px; border: 1px solid var(--line-strong); color: var(--ink-2); font-size: 11px; }

.v8-toolbar { gap: 6px 14px; }
.v8-presets { display: inline-flex; flex-wrap: wrap; gap: 0; }
.v8-presets button { height: 22px; padding: 0 9px; border: 1px solid var(--line-strong); margin-left: -1px; color: var(--ink-2); background: var(--surface); cursor: pointer; font: 600 10.5px var(--sans); }
.v8-presets button[aria-pressed="true"] { position: relative; color: #000; background: var(--amber); border-color: var(--amber); }
.v8-toolbar-right { display: inline-flex; gap: 12px; align-items: center; margin-left: auto; font-size: 10.5px; }
.v8-toolbar-right .term-link-button:disabled { color: var(--ink-3); cursor: default; }

.v8-scroll { max-height: calc(100vh - 190px); overflow: auto; }
.v8-table tbody tr[data-ticker], .v8-table tbody tr[data-asset-id] { cursor: pointer; }
.v8-table .ticker-cell a { color: var(--amber); font-family: var(--mono); font-weight: 600; }
.v8-table .name-cell { max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.v8-table .v8-pick { width: 22px; padding-right: 0; }
.v8-row-open { padding: 0; border: 0; color: var(--ink); background: transparent; cursor: pointer; font: inherit; font-weight: 600; text-align: left; }
.v8-row-open:hover { color: var(--blue); }
[data-basis="attrib"] [data-basis-col="100"], [data-basis="100"] [data-basis-col="attrib"] { display: none; }

.v8-mk { margin-left: 2px; color: var(--ink-3); font: 600 8.5px var(--mono); vertical-align: super; cursor: help; }
.v8-mk-derived { color: var(--blue); }
.v8-mk-research { color: var(--amber); }
.v8-mk-guidance, .v8-mk-study_forecast { color: #b48cff; }
.v8-mk-market { color: var(--green); }
.v8-gap { color: var(--ink-3); border-bottom: 1px dotted var(--ink-3); cursor: help; }
.v8-val[title=""] { cursor: default; }

.v8-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 4px; color: var(--ink-3); font-size: 10.5px; }
.v8-foot p:last-child { margin: 0; color: var(--ink-3); font-size: 10.5px; }
.v8-deck { border-bottom: 1px dotted var(--ink-3); cursor: help; }
.v8-stale-dot { margin-left: 4px; color: var(--amber); font-size: 8px; vertical-align: middle; cursor: help; }
.v8-stale { display: block; margin-top: 1px; color: var(--amber); font: 500 10px var(--sans); white-space: nowrap; cursor: help; }
.v8-drawer-sub .v8-stale { display: inline; }

.v8-type-tabs { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 8px; border-bottom: 1px solid var(--line); }
.v8-type-tabs a { padding: 5px 12px; border-bottom: 2px solid transparent; color: var(--ink-2) !important; font-size: 11.5px; font-weight: 600; text-decoration: none !important; }
.v8-type-tabs a span { color: var(--ink-3); font: 10px var(--mono); }
.v8-type-tabs a.is-empty { color: var(--ink-3) !important; }
.v8-type-tabs a[aria-current] { color: var(--amber) !important; border-bottom-color: var(--amber); }

.v8-compare-panel { margin-top: 8px; }
.v8-compare-table tbody th { font-weight: 500; color: var(--ink-2); }
.v8-admin { margin-top: 8px; }
.v8-admin .v8-wrap { white-space: normal; min-width: 260px; font-size: 11px; }

/* Asset cards on the company page */
.v8-card { margin: 8px 0; border: 1px solid var(--line); background: var(--surface-2); }
.v8-card-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 4px 8px; border-bottom: 1px solid var(--line); }
.v8-card-title { color: var(--amber); font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.v8-card-title b { color: var(--ink); text-transform: none; letter-spacing: 0; }
.v8-card-head .term-link-button { margin-left: auto; }
.v8-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0; margin: 0; }
.v8-card-grid > div { padding: 4px 8px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v8-card-grid dt { color: var(--ink-3); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.v8-card-grid dd { margin: 1px 0 0; font: 12.5px var(--mono); font-variant-numeric: tabular-nums; }
.v8-unmatched { margin-top: 12px; }
.v8-company-legend { margin: 6px 0; }

/* Drawer */
.v8-drawer { position: fixed; top: 62px; right: 0; bottom: 0; z-index: 60; width: min(560px, 100vw); display: flex; flex-direction: column; border-left: 1px solid var(--line-strong); background: var(--surface); }
.v8-drawer[hidden] { display: none; }
.v8-drawer-head { display: flex; gap: 8px; align-items: flex-start; padding: 8px 12px; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.v8-drawer-eyebrow { margin: 0; color: var(--amber); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.v8-drawer-head h2 { margin: 2px 0; font-size: 15px; }
.v8-drawer-sub { margin: 0; color: var(--ink-3); font-size: 11px; }
.v8-drawer-close { margin-left: auto; width: 26px; height: 26px; border: 1px solid var(--line-strong); color: var(--ink-2); background: transparent; cursor: pointer; font-size: 16px; line-height: 1; }
.v8-drawer-body { flex: 1; overflow: auto; padding: 4px 12px 24px; }
.v8-drawer-body h3 { margin: 12px 0 4px; color: var(--amber); font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.v8-drawer-body dl { margin: 0; }
.v8-detail-row { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 8px; padding: 5px 0; border-bottom: 1px solid var(--line); }
.v8-detail-row dt { color: var(--ink-2); font-size: 11.5px; }
.v8-detail-row dd { margin: 0; min-width: 0; }
.v8-detail-row.is-gap dt { color: var(--ink-3); }
.v8-detail-value { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; font: 12.5px var(--mono); }
.v8-detail-value .muted { font: 10.5px var(--sans); }
.v8-note { margin: 2px 0 0; color: var(--ink-3); font-size: 11px; }
.v8-source { margin-top: 3px; font-size: 11px; }
.v8-source blockquote { margin: 3px 0 0; padding: 3px 8px; border-left: 2px solid var(--line-strong); color: var(--ink-2); background: var(--surface-2); font: 10.5px/1.4 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.v8-history summary { color: var(--blue); cursor: pointer; font-size: 10.5px; }
.v8-history ul { margin: 2px 0 0; padding-left: 16px; font: 10.5px var(--mono); }
.v8-history time { color: var(--ink-3); }

@media (max-width: 700px) {
  .v8-toolbar-right { margin-left: 0; }
  .v8-filters { flex: 1 1 100%; }
  .v8-scroll { max-height: none; }
  .v8-drawer { top: 38px; width: 100vw; border-left: 0; }
  .v8-detail-row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .v8-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.gw-tag { margin-left: 4px; padding: 0 4px; border: 1px solid var(--line-strong); border-radius: 3px; color: var(--ink-2); font-size: 9px; letter-spacing: .02em; white-space: nowrap; }
.gw-muted { color: var(--ink-3); }
