.prop-view { min-width: 0; }
.prop-head { align-items: center; }
.prop-source-status { display: inline-flex; align-items: center; gap: .45rem; color: var(--text-secondary); font-size: .6875rem; font-variant-numeric: tabular-nums; }
.prop-source-dot { width: .5rem; height: .5rem; background: var(--warning); border-radius: 50%; box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--warning) 18%, transparent); }
.prop-source-status[data-tone="ok"] .prop-source-dot { background: var(--success); box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--success) 18%, transparent); }
.prop-source-status[data-tone="error"] { color: var(--error); }
.prop-source-status[data-tone="error"] .prop-source-dot { background: var(--error); box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--error) 18%, transparent); }
.prop-scope-note, .prop-disclaimer { margin: .625rem 0 0; padding: .5rem .625rem; color: var(--text-tertiary); background: var(--bg-secondary); border: 1px solid var(--border-secondary); border-radius: var(--radius-sm); font-size: .625rem; line-height: 1.45; }
.prop-layout { display: grid; grid-template-columns: minmax(35rem, 1.2fr) minmax(22rem, .8fr); gap: .625rem; margin-top: .625rem; }
.prop-card { min-width: 0; overflow: hidden; background: var(--bg-primary); border: 1px solid var(--border-secondary); border-radius: var(--radius-md); }
.prop-card-head { display: flex; align-items: center; justify-content: space-between; min-height: 3rem; gap: .75rem; padding: .45rem .625rem; background: var(--bg-secondary); border-bottom: 1px solid var(--border-secondary); }
.prop-card-head > div { display: grid; gap: .12rem; }.prop-card-head strong { color: var(--text-primary); font-size: .8125rem; }
.prop-inline-state { padding: .55rem .625rem; color: var(--text-tertiary); border-bottom: 1px solid var(--border-secondary); font-size: .6875rem; }
.prop-inline-state[data-tone="error"] { color: var(--error); }
.prop-table-scroll { max-height: min(65vh, 42rem); overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.prop-table { width: 100%; min-width: 68rem; border-collapse: separate; border-spacing: 0; table-layout: fixed; color: var(--text-secondary); font-size: .6875rem; font-variant-numeric: tabular-nums; }
.prop-table thead { position: sticky; z-index: 2; top: 0; }.prop-table th { padding: .4rem .5rem; color: var(--text-tertiary); background: var(--bg-elevated); border-bottom: 1px solid var(--border-secondary); font-size: .6rem; font-weight: 650; letter-spacing: .025em; text-align: left; text-transform: uppercase; }
.prop-table th:nth-child(1) { width: 3.5rem; }.prop-table th:nth-child(2) { width: 10rem; }.prop-table th:nth-child(3) { width: 7rem; }.prop-table th:nth-child(4) { width: 12rem; }.prop-table th:nth-child(5) { width: 9rem; }.prop-table th:nth-child(6) { width: 8rem; }.prop-table th:nth-child(7) { width: 11rem; }
.prop-table th.numeric, .prop-table td.numeric { text-align: right; }
.prop-table td { height: 2.25rem; padding: .35rem .5rem; overflow: hidden; background: var(--bg-primary); border-bottom: 1px solid var(--border-secondary); text-overflow: ellipsis; white-space: nowrap; }
/* Only a confirmed verdict tints its row.  A preliminary estimate stays plain:
   it must never draw the eye more strongly than a measured one. */
.prop-table tbody tr.is-confirmed-long td { background: color-mix(in srgb, var(--success) 10%, var(--bg-primary)); }
.prop-table tbody tr.is-confirmed-short td { background: color-mix(in srgb, var(--error) 10%, var(--bg-primary)); }
.prop-table tbody tr.is-confirmed-long td:first-child { box-shadow: inset 2px 0 var(--success); }
.prop-table tbody tr.is-confirmed-short td:first-child { box-shadow: inset 2px 0 var(--error); }
.prop-table tbody tr { cursor: pointer; outline: 0; }.prop-table tbody tr:hover td, .prop-table tbody tr:focus td { background: var(--bg-secondary); }.prop-table tbody tr.is-selected td { background: color-mix(in srgb, var(--brand) 12%, var(--bg-primary)); box-shadow: inset 0 1px color-mix(in srgb, var(--brand) 45%, transparent), inset 0 -1px color-mix(in srgb, var(--brand) 45%, transparent); }
.prop-direction-long { color: var(--success); }.prop-direction-short { color: var(--error); }.prop-direction-not_detected, .prop-direction-undefined { color: var(--text-tertiary); }
/* Letters only: a preliminary side is named in its colour but carries no fill,
   because the row tint is what marks a confirmed verdict. */
.prop-direction-preliminary-long { color: var(--success); }
.prop-direction-preliminary-short { color: var(--error); }
.prop-direction-possible-close { color: var(--warning); font-weight: 650; }
.prop-direction-possible-open { color: var(--brand); font-weight: 650; }
.prop-flags { display: flex; flex-wrap: wrap; gap: .2rem; overflow: visible !important; white-space: normal !important; }.prop-flag { padding: .12rem .3rem; color: var(--warning); background: color-mix(in srgb, var(--warning) 10%, var(--bg-primary)); border: 1px solid color-mix(in srgb, var(--warning) 35%, var(--border-secondary)); border-radius: 999px; font-size: .5625rem; white-space: nowrap; }
.prop-flag[data-tone="brand"] { color: var(--brand); background: color-mix(in srgb, var(--brand) 10%, var(--bg-primary)); border-color: color-mix(in srgb, var(--brand) 35%, var(--border-secondary)); }
.prop-flag[data-tone="ok"] { color: var(--success); background: color-mix(in srgb, var(--success) 10%, var(--bg-primary)); border-color: color-mix(in srgb, var(--success) 35%, var(--border-secondary)); }
.prop-flag[data-tone="error"] { color: var(--error); background: color-mix(in srgb, var(--error) 9%, var(--bg-primary)); border-color: color-mix(in srgb, var(--error) 32%, var(--border-secondary)); }
.prop-sign-evidence { line-height: 1.35; white-space: normal !important; }.prop-sign-evidence strong { display: block; color: var(--text-secondary); font-size: .65rem; }.prop-sign-evidence span { color: var(--text-tertiary); font-size: .58rem; }.prop-sign-evidence[data-tone="ok"] span { color: var(--success); }.prop-sign-evidence[data-tone="warning"] span { color: var(--warning); }
.prop-participant-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border-secondary); background: var(--bg-primary); }
.prop-participant-detail > div { min-width: 0; padding: .55rem .625rem; border-right: 1px solid var(--border-secondary); }.prop-participant-detail > div:last-child { border-right: 0; }
.prop-participant-detail strong { display: block; margin-top: .15rem; color: var(--text-primary); font-size: .7rem; line-height: 1.35; }
/* Список изменений оценки бывает длинным: восемь событий, набранных как
   заголовок, забивают карточку и перетягивают внимание с самого вывода.
   Здесь это справочный текст, поэтому он спокойный и прокручивается. */
#prop-change-detail { max-height: 11rem; overflow-y: auto; color: var(--text-secondary); font-size: .6rem; font-weight: 400; line-height: 1.5; scrollbar-gutter: stable; }.prop-participant-detail p { margin: .2rem 0 0; color: var(--text-tertiary); font-size: .6rem; line-height: 1.45; }
.prop-position-history { border-bottom: 1px solid var(--border-secondary); }.prop-position-history > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 2.8rem; padding: .4rem .625rem; background: var(--bg-secondary); border-bottom: 1px solid var(--border-secondary); }.prop-position-history > header > div { display: grid; gap: .12rem; }.prop-position-history > header strong { color: var(--text-primary); font-size: .7rem; }
.prop-position-history-scroll { max-height: 15rem; overflow: auto; scrollbar-gutter: stable; }.prop-position-history table { width: 100%; min-width: 52rem; border-collapse: separate; border-spacing: 0; color: var(--text-secondary); font-size: .625rem; font-variant-numeric: tabular-nums; }.prop-position-history thead { position: sticky; z-index: 1; top: 0; }.prop-position-history th { padding: .35rem .45rem; color: var(--text-tertiary); background: var(--bg-elevated); border-bottom: 1px solid var(--border-secondary); font-size: .55rem; letter-spacing: .025em; text-align: left; text-transform: uppercase; }.prop-position-history td { padding: .38rem .45rem; background: var(--bg-primary); border-bottom: 1px solid var(--border-secondary); vertical-align: top; }.prop-position-history th.numeric, .prop-position-history td.numeric { text-align: right; }.prop-position-history td strong, .prop-position-history td span { display: block; }.prop-position-history td span { margin-top: .1rem; color: var(--text-tertiary); font-size: .55rem; }.prop-position-history .result-positive { color: var(--success); }.prop-position-history .result-negative { color: var(--error); }.prop-position-history > p { margin: 0; padding: .4rem .625rem; color: var(--text-tertiary); background: var(--bg-secondary); font-size: .575rem; line-height: 1.45; }
#prop-position-history-state[data-tone="warning"] { color: var(--warning); }
#prop-position-history-state[data-tone="brand"] { color: var(--brand); }
.prop-position-history .prop-interval-evidence { margin-top: .24rem; font-weight: 650; line-height: 1.35; }
.prop-position-history .prop-interval-evidence[data-tone="ok"] { color: var(--success); }
.prop-position-history .prop-interval-evidence[data-tone="warning"] { color: var(--warning); }
.prop-position-history .prop-interval-evidence[data-tone="error"] { color: var(--error); }
.prop-history-head { flex-wrap: wrap; }
.prop-date-control, .prop-participant-control { display: flex; align-items: center; gap: .35rem; color: var(--text-tertiary); font-size: .625rem; text-transform: uppercase; }
.prop-date-control input, .prop-participant-control select { min-height: 1.8rem; padding: 0 .4rem; color: var(--text-secondary); color-scheme: dark; background: var(--bg-primary); border: 1px solid var(--border-secondary); border-radius: var(--radius-sm); font: inherit; }
.prop-participant-control select { width: min(14rem, 34vw); text-transform: none; }
.prop-participant-control select:disabled { color: var(--text-tertiary); }
[data-theme="light"] .prop-date-control input, [data-theme="light"] .prop-participant-control select { color-scheme: light; }
.prop-chart-legend { display: flex; gap: 1rem; min-height: 2rem; align-items: center; padding: .3rem .625rem; color: var(--text-tertiary); background: var(--bg-secondary); border-bottom: 1px solid var(--border-secondary); font-size: .625rem; }.prop-chart-legend span { display: inline-flex; align-items: center; gap: .35rem; }.prop-chart-legend i { width: 1rem; height: .16rem; border-radius: 999px; }.prop-chart-legend .finres { background: var(--brand); }.prop-chart-legend .price { background: var(--warning); }
.prop-chart-stage { position: relative; height: clamp(22rem, 52vh, 38rem); }.prop-chart { position: absolute; inset: 0; }.prop-chart-state { position: absolute; z-index: 2; inset: 0; display: grid; align-content: center; justify-items: center; gap: .3rem; padding: 1.5rem; color: var(--text-tertiary); pointer-events: none; background: color-mix(in srgb, var(--bg-primary) 93%, transparent); text-align: center; }.prop-chart-state[hidden] { display: none; }.prop-chart-state strong { color: var(--text-primary); font-size: .8125rem; }.prop-chart-state[data-tone="error"] strong { color: var(--error); }
.prop-disclaimer { margin: 0; border: 0; border-top: 1px solid var(--border-secondary); border-radius: 0; }

@media (max-width: 78rem) { .prop-layout { grid-template-columns: 1fr; }.prop-table-scroll { max-height: 32rem; } }
@media (max-width: 48rem) { .prop-head, .prop-card-head, .prop-position-history > header { align-items: flex-start; flex-direction: column; }.prop-layout { grid-template-columns: minmax(0, 1fr); }.prop-history-head { gap: .4rem; }.prop-participant-detail { grid-template-columns: 1fr; }.prop-participant-detail > div { border-right: 0; border-bottom: 1px solid var(--border-secondary); }.prop-participant-detail > div:last-child { border-bottom: 0; }.prop-chart-stage { height: 26rem; } }
