/* Valuation tab ----------------------------------------------------------- */
.val-note { color: var(--faint); font-size: 12.5px; line-height: 1.5; margin: 0 0 14px; }

/* interactive DCF */
.dcf-grid { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 22px; align-items: start; }
@media (max-width: 720px) { .dcf-grid { grid-template-columns: 1fr; } }
.dcf-controls { display: flex; flex-direction: column; gap: 16px; }
.dcf-ctl label { display: flex; justify-content: space-between; align-items: baseline; font-size: 12.5px; color: var(--muted); margin-bottom: 6px; }
.dcf-val { font-family: var(--mono); font-size: 13px; color: var(--text); }
.dcf-ctl input[type=range] { width: 100%; accent-color: var(--accent); cursor: pointer; }
.dcf-reset-btn { background: none; border: 1px solid var(--line); color: var(--muted); border-radius: var(--r-sm); padding: 6px 12px; font-family: var(--mono); font-size: 11.5px; cursor: pointer; }
.dcf-reset-btn:hover { border-color: var(--line-2); color: var(--text); }
.dcf-out { background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-md); padding: 16px; }
.dcf-iv .k, .dcf-mos .k { font-family: var(--mono); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--faint); }
.dcf-iv .v { font-family: var(--mono); font-size: 30px; margin: 3px 0 12px; }
.dcf-mos .v { font-family: var(--mono); font-size: 18px; margin-top: 2px; }
.dcf-assume { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 11px; color: var(--faint); line-height: 1.5; }

/* reverse DCF */
.rev-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 640px) { .rev-grid { grid-template-columns: 1fr; } }
.rev-cell { background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-md); padding: 13px 15px; }
.rev-cell.hero { border-color: var(--accent); background: var(--accent-dim); }
.rev-cell .k { font-family: var(--mono); font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--faint); }
.rev-cell .v { font-family: var(--mono); font-size: 22px; margin: 4px 0 2px; }
.rev-cell .sub { font-size: 11.5px; color: var(--muted); }
.rev-read { margin: 14px 0 0; font-size: 13px; color: var(--muted); line-height: 1.55; }
.rev-read b { color: var(--text); }

/* peer table */
.val-tbl td, .val-tbl th { white-space: nowrap; }
.val-tbl .num { text-align: right; font-variant-numeric: tabular-nums; }

/* football field */
.ff { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.ff-row { display: grid; grid-template-columns: 132px 1fr 108px; align-items: center; gap: 10px; }
.ff-lbl { font-size: 12px; color: var(--muted); }
.ff-track { position: relative; height: 16px; background: var(--surface-3); border-radius: 5px; }
.ff-bar { position: absolute; top: 0; height: 16px; border-radius: 5px; opacity: .85; }
.ff-bar.dcf { background: var(--accent); } .ff-bar.peer { background: var(--cat-2); }
.ff-bar.anlst { background: var(--brass); } .ff-bar.wk { background: var(--faint); }
.ff-tick { position: absolute; top: -3px; width: 2px; height: 22px; background: var(--text); border-radius: 2px; }
.ff-rng { font-family: var(--mono); font-size: 11px; color: var(--faint); text-align: right; }
.ff-legend { margin-top: 12px; font-family: var(--mono); font-size: 11.5px; color: var(--muted); display: flex; align-items: center; gap: 7px; }
.ff-tickmark { display: inline-block; width: 2px; height: 13px; background: var(--text); border-radius: 2px; }

/* ---- peer comparables (comps table) ---- */
.comps-tbl { min-width: 720px; }
.comps-tbl th { white-space: nowrap; }
.comps-tbl .cmp-tk { font-family: var(--mono); color: var(--brass); letter-spacing: .04em; }
.comps-tbl .cmp-nm { color: var(--muted); max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.comps-tbl tbody tr[data-href] { cursor: pointer; transition: background .12s; }
.comps-tbl tbody tr[data-href]:hover { background: var(--panel-2); }
.comps-tbl .is-self { background: var(--accent-dim); }
.comps-tbl .is-self td { border-color: rgba(53,217,138,.2); }
.comps-tbl .is-self .cmp-tk { color: var(--accent-2); }
.comps-tbl .is-self .cmp-nm { color: var(--text); }
.comps-tbl .cmp-sc { color: var(--accent-2); font-weight: 500; }
.comps-tbl .is-med { border-top: 1px solid var(--line-2); }
.comps-tbl .is-med td { color: var(--faint); background: rgba(180,214,206,.02); }
.comps-tbl .is-med .cmp-tk { color: var(--faint); }
