/* ============================================================
   REFLECTIONS — model reflection reports
   ============================================================ */

/* Entry table reuses .entry-* from leaderboard.css */

/* ---------- REPORT ---------- */
.rf-report{
  border-radius: var(--r-xl); overflow:hidden; border:1px solid var(--line-2);
  background: #08080e;
}
.rf-hero{ position:relative; padding:26px 30px; overflow:hidden; border-bottom:1px solid var(--line); }
.rf-hero-bg{ position:absolute; inset:0; background: url('/assets/am-hero-strip.jpg') 72% 60%/cover no-repeat; z-index:0; }
.rf-hero-bg::after{ content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(6,6,12,0.94) 0%, rgba(6,6,12,0.6) 45%, rgba(6,6,12,0.35) 100%); }
.rf-hero-inner{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.rf-hero-brand{ display:flex; align-items:center; gap:14px; }
.rf-hero-brand img{ width:48px; height:48px; border-radius:13px; }
.rf-hero-title{ font-family: var(--display); font-weight:700; font-size:23px; letter-spacing:-0.01em; }
.rf-hero-sub{ font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color: var(--text-3); margin-top:5px; }
.rf-hero-period{ text-align:right; }
.rf-hero-period .pd{ font-family: var(--display); font-weight:600; font-size:16px; }
.rf-hero-period .pc{ font-size:11px; color: var(--text-3); margin-top:3px; text-transform:uppercase; letter-spacing:0.06em; }

.rf-body{ padding: 24px 30px 28px; }

/* Overall headline */
.rf-overall{
  display:flex; align-items:flex-start; gap:26px; flex-wrap:wrap;
  padding: 18px 22px; margin-bottom:22px;
  background: var(--grad-soft); border:1px solid var(--line-2); border-radius: var(--r);
}
.rf-overall-item .rl{ font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color: var(--text-3); margin-bottom:5px; }
.rf-overall-item .rv{ font-family: var(--display); font-weight:700; font-size:26px; letter-spacing:-0.02em; }
.rf-overall-tgt{ font-size:11px; color: var(--text-4); margin-top:4px; }
.rf-overall-sep{ width:1px; align-self:stretch; background: var(--line-2); }

/* Per-model breakdown */
.rf-models{ margin-bottom:22px; }
.rf-models-title, .rf-money-title{ font-family: var(--display); font-weight:600; font-size:15px; margin-bottom:12px; }
.rf-mtable{ width:100%; border-collapse:collapse; }
.rf-mtable thead th{ text-align:right; font-size:10px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color: var(--text-4); padding:10px 12px; border-bottom:1px solid var(--line); }
.rf-mtable thead th.l{ text-align:left; }
.rf-mtable tbody td{ text-align:right; padding:11px 12px; border-bottom:1px solid rgba(255,255,255,0.04); font-family: var(--display); font-weight:500; font-size:13.5px; }
.rf-mtable tbody td.l{ text-align:left; font-family: var(--body); }
.rf-mtable tbody tr:last-child td{ border-bottom:none; }
.rf-mname{ font-weight:600; color: var(--text); display:flex; align-items:center; gap:8px; }
.rf-mname .pg{ font-size:10px; padding:2px 6px; border-radius:5px; background: var(--surface-3); color: var(--text-4); font-family: var(--body); }
.rf-result{ display:inline-block; font-family: var(--body); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; padding:3px 9px; border-radius:6px; }
.rf-result.good{ background: var(--good-dim); color: var(--good); }
.rf-result.mid{ background: var(--warn-dim); color: var(--warn); }
.rf-result.bad{ background: var(--bad-dim); color: var(--bad); }
.rf-noval{ color: var(--text-4); }

/* Money box */
.rf-money{ margin-bottom:24px; }
.rf-money-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
.rf-money-card{ background: var(--bg-2); border:1px solid var(--line); border-radius: var(--r); padding:18px 20px; }
.rf-money-card.loss{ background: linear-gradient(180deg, rgba(255,90,106,0.10), var(--bg-2)); border-color: rgba(255,90,106,0.3); }
.rf-money-card.gain{ background: linear-gradient(180deg, rgba(55,217,150,0.10), var(--bg-2)); border-color: rgba(55,217,150,0.3); }
.rf-money-card .ml{ font-size:11.5px; color: var(--text-3); margin-bottom:8px; }
.rf-money-card .mv{ font-family: var(--display); font-weight:700; font-size:24px; letter-spacing:-0.02em; }
.rf-money-card.loss .mv{ color: var(--bad); }
.rf-money-card.gain .mv{ color: var(--good); }
.rf-money-card .mv.have{ color: var(--text); }
.rf-money-card .mv.should{ color: var(--good); }

/* Text fields */
.rf-notes{ display:grid; grid-template-columns: repeat(3,1fr); gap:14px; }
.rf-note{ background: var(--surface); border:1px solid var(--line); border-radius: var(--r); padding:16px 18px; }
.rf-note-head{ display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color: var(--text-3); margin-bottom:10px; }
.rf-note-head .ic{ display:inline-flex; } .rf-note-head .ic svg{ width:15px; height:15px; }
.rf-note.problems .rf-note-head{ color: var(--bad); }
.rf-note.solve .rf-note-head{ color: var(--good); }
.rf-note.deadlines .rf-note-head{ color: var(--warn); }
.rf-note textarea{
  width:100%; min-height:96px; resize:vertical; background: var(--surface-2); border:1px solid var(--line-2);
  border-radius:10px; padding:11px 13px; color: var(--text); font-size:13.5px; line-height:1.6; font-family: var(--body);
}
.rf-note textarea:focus{ outline:none; border-color: var(--pink); box-shadow:0 0 0 3px rgba(236,30,121,0.12); }
.rf-note-static{ font-size:13.5px; color: var(--text-2); line-height:1.7; white-space:pre-wrap; min-height:20px; }
.rf-note-static.empty{ color: var(--text-4); font-style:italic; }

@media (max-width: 1000px){
  .rf-money-grid{ grid-template-columns: repeat(2,1fr); }
  .rf-notes{ grid-template-columns: 1fr; }
}
@media (max-width: 900px){
  .rf-hero-inner{ flex-direction:column; align-items:flex-start; }
  .rf-hero-period{ text-align:left; }
}
