/* Forecast review (Phase 4, Task 20): js/forecast-review.js on Cash & Liquidity and Data Input.
   Colours and spacing come from the page tokens, so light and dark themes follow them. */
.fr-hint { font-size: var(--font-size-xs); color: var(--color-text-secondary); margin: var(--space-sm) 0 0; }
.fr-empty { font-size: var(--font-size-sm); color: var(--color-text-secondary); margin: var(--space-sm) 0; }
.fr-sub { font-size: var(--font-size-xs); color: var(--color-text-secondary); }
.fr-notice { font-size: var(--font-size-sm); padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); margin: var(--space-sm) 0; }
.fr-notice-info { background: var(--color-tertiary-bg); color: var(--color-text); }
.fr-notice-success { background: rgba(16,185,129,0.12); color: var(--color-text); }
.fr-notice-warn { background: rgba(255,192,0,0.16); color: var(--warn-ink, var(--color-text)); }
.fr-notice-error { background: rgba(239,68,68,0.12); color: var(--color-text); }
.fr-tabs { display: flex; gap: var(--space-sm); margin: var(--space-md) 0; flex-wrap: wrap; }
.fr-scroll { overflow-x: auto; }
.fr-table td.num, .fr-table th.num { text-align: right; white-space: nowrap; }
.fr-selected td { background: rgba(29,184,141,0.08); }
.fr-kind { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 10px; }
.fr-kind-approved { background: rgba(16,185,129,0.15); color: var(--color-success); }
.fr-kind-auto { background: var(--color-tertiary-bg); color: var(--color-text-secondary); border: 1px solid var(--color-border); }
.fr-detail { border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-md); margin-top: var(--space-md); }
.fr-detail-head { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; }
.fr-detail-head .btn { margin-left: auto; }
.fr-card { border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-md); margin: var(--space-sm) 0; background: var(--color-surface); }
.fr-card-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-sm); flex-wrap: wrap; }
.fr-card-title { font-weight: 600; font-size: var(--font-size-sm); }
.fr-msg { margin: var(--space-sm) 0; font-size: var(--font-size-sm); }
.fr-proposed { margin: 0 0 var(--space-xs); font-size: var(--font-size-sm); font-weight: 500; }
.fr-evidence { margin: 0 0 var(--space-sm); font-size: var(--font-size-xs); color: var(--color-text-secondary); }
.fr-actions { display: flex; gap: var(--space-sm); flex-wrap: wrap; margin-top: var(--space-sm); }
.fr-accepted { margin-top: var(--space-md); border-top: 1px solid var(--color-border); padding-top: var(--space-sm); }
.fr-accepted-head { font-size: var(--font-size-sm); font-weight: 600; }
.fr-card-accepted { background: var(--color-tertiary-bg); }
.fr-reason { margin-top: var(--space-sm); }
.fr-reason-input { width: 100%; min-height: 56px; resize: vertical; font-size: var(--font-size-sm); }
.fr-count { display: block; text-align: right; font-size: 11px; color: var(--color-text-secondary); }
.fr-chip { display: inline-block; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 10px; background: var(--color-tertiary-bg); border: 1px solid var(--color-border); color: var(--color-text); white-space: nowrap; }
.fr-conf-high { background: rgba(16,185,129,0.15); border-color: transparent; color: var(--color-success); }
.fr-conf-low { background: rgba(255,192,0,0.16); border-color: transparent; color: var(--warn-ink, var(--color-text)); }
.fr-acc-none { color: var(--color-text-secondary); cursor: help; }
.fr-acc-list { list-style: none; padding: 0; margin: var(--space-sm) 0 var(--space-md); display: grid; gap: var(--space-xs); }
.fr-acc-name { font-size: var(--font-size-sm); }
.fr-main { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; margin: 0 0 var(--space-md); }
.fr-main .fr-hint, .fr-main .fr-notice { flex-basis: 100%; }
.fr-main-label { font-weight: 600; font-size: var(--font-size-sm); }
.fr-main-select { width: auto; min-width: 220px; padding: var(--space-xs) var(--space-sm); font-size: var(--font-size-sm); }
.fr-exposure { margin: 0 0 var(--space-md); }
.fr-exposure-head { font-size: var(--font-size-sm); font-weight: 600; margin: 0 0 var(--space-xs); }
.fr-badge-row { margin-top: 2px; white-space: nowrap; }
.fr-badge { display: inline-block; font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 8px; background: rgba(29,184,141,0.12); color: var(--color-primary); }
.fr-edited { display: inline-block; font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 8px; background: rgba(255,192,0,0.16); color: var(--warn-ink, var(--color-text)); }
