/* Report viewer (js/report.js) — the look the owner approved 2026-10-29. Always light: a report is a
   document people print and send, so it does not follow the app's dark theme. */
.rp-overlay {
  --red:#76132A; --red2:#53192B; --dk:#461C1D; --slate:#323447; --slate2:#4A4D63; --muted:#767A8C;
  --line:#E4E5EE; --bg:#F6F7FA; --card:#FFFFFF; --blush:#F4E7EA; --gold:#B08A55; --good:#2F6B4F;
  --radius:14px; --shadow:0 1px 2px rgba(50,52,71,.05),0 8px 24px -12px rgba(50,52,71,.18);
  position:fixed; inset:0; z-index:1000; overflow:auto; background:var(--bg); color:var(--slate);
  font-family:Roboto,system-ui,sans-serif; -webkit-font-smoothing:antialiased; color-scheme:light;
}
body.rp-open { overflow:hidden; }
.rp-overlay *, .rp-overlay *::before, .rp-overlay *::after { box-sizing:border-box; }
.rp-loading { display:flex; gap:12px; align-items:center; justify-content:center; min-height:60vh; color:var(--muted); font-size:15px; }
.rp-nav { background:var(--red); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 24px; border-bottom:3px solid var(--dk); position:sticky; top:0; z-index:5; }
.rp-nav .l { display:flex; align-items:center; gap:12px; min-width:0; }
.rp-badge { background:#fff; color:var(--red); font-weight:900; padding:4px 8px; border-radius:4px; letter-spacing:1px; font-size:14px; line-height:1; }
.rp-badge.sm { font-size:11px; padding:3px 6px; }
.rp-nav .co { font-size:10px; letter-spacing:2px; text-transform:uppercase; opacity:.75; }
.rp-nav .ti { font-size:15px; font-weight:700; line-height:1.25; overflow-wrap:anywhere; }
.rp-nav .r { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.rp-fresh { font-size:11px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); padding:5px 10px; border-radius:99px; display:inline-flex; gap:6px; align-items:center; }
.rp-fresh i { width:7px; height:7px; border-radius:50%; background:#F2C14E; display:inline-block; }
.rp-btn { font:500 12px Roboto,system-ui,sans-serif; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.45); border-radius:8px; padding:6px 11px; cursor:pointer; }
.rp-btn:hover { background:rgba(255,255,255,.1); }
.rp-btn.solid { background:#fff; color:var(--red); border-color:#fff; font-weight:700; }
.rp-btn:disabled { opacity:.6; cursor:progress; }
.rp-btn:focus-visible, .rp-chip:focus-visible, .rp-ask:focus-visible { outline:2px solid #F2C14E; outline-offset:2px; }

.rp-hero { position:relative; overflow:hidden; background:#fff; display:flex; }
.rp-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(100deg,var(--red) 0%,var(--red2) 100%); clip-path:polygon(0 0,74% 0,62% 100%,0 100%); }
.rp-hero::after { content:""; position:absolute; inset:0; background:var(--dk); clip-path:polygon(74% 0,75.5% 0,63.5% 100%,62% 100%); opacity:.85; }
.rp-hero .in { position:relative; z-index:1; padding:26px 28px 30px; max-width:62%; color:#fff; }
.rp-hero .eyebrow { font-size:11px; letter-spacing:2.5px; text-transform:uppercase; opacity:.72; margin-bottom:8px; }
.rp-hero .headline { font-family:"Bebas Neue",Roboto,sans-serif; font-weight:400; font-size:42px; line-height:1.02; letter-spacing:.5px; margin:0; text-wrap:balance; }
.rp-hero .headline em { font-style:normal; color:#F6D9DF; }
.rp-hero .sub { font-size:14px; line-height:1.55; opacity:.9; margin:10px 0 0; max-width:640px; }
.rp-hero .side { position:relative; z-index:1; margin-left:auto; width:23%; padding:22px 24px 22px 0; display:flex; flex-direction:column; justify-content:center; gap:10px; }
.rp-hero .q { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:1.5px; }
.rp-hero .chips { display:flex; flex-wrap:wrap; gap:6px; }
.rp-chip { font:400 12px Roboto,system-ui,sans-serif; border:1px solid var(--line); background:#fff; border-radius:99px; padding:6px 11px; color:var(--slate); cursor:pointer; text-align:left; transition:border-color .15s,color .15s; }
.rp-chip:hover { border-color:var(--red); color:var(--red); }

.rp-wrap { padding:18px 24px 40px; max-width:1440px; margin:0 auto; }
.rp-filters { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.rp-filter { background:#fff; border:1px solid var(--line); border-radius:10px; padding:7px 12px; font-size:12px; display:inline-flex; gap:8px; align-items:center; }
.rp-filter b { color:var(--muted); font-weight:500; font-size:10px; text-transform:uppercase; letter-spacing:.8px; }
.rp-kpis { display:grid; grid-template-columns:repeat(var(--n,4),minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.rp-kpi { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:14px 16px 10px; overflow:hidden; display:flex; flex-direction:column; }
.rp-kpi.accent { border-top:3px solid var(--red); }
.rp-kpi .k { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:1px; }
.rp-kpi .v { font-size:32px; font-weight:700; letter-spacing:-.5px; font-variant-numeric:tabular-nums; margin-top:4px; line-height:1.1; }
.rp-kpi .v small { font-size:15px; font-weight:500; color:var(--muted); margin-left:4px; letter-spacing:0; }
.rp-kpi .d { font-size:12px; margin-top:4px; display:flex; gap:6px; align-items:center; flex-wrap:wrap; color:var(--slate2); }
.rp-kpi .d.n { color:var(--muted); margin-top:2px; }
.rp-tag { font-size:11px; font-weight:700; padding:2px 7px; border-radius:99px; background:#EEF0F5; color:var(--slate2); }
.rp-spark { height:40px; margin:6px -6px -4px; }

.rp-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.rp-card { grid-column:span var(--span,6); background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:16px 18px; min-width:0; }
.rp-card .ch { margin-bottom:6px; }
.rp-card .ct { font-size:15px; font-weight:700; margin:0; }
.rp-card .cs { font-size:12px; color:var(--muted); margin-top:2px; }
.rp-chart { width:100%; height:300px; }
.rp-chart.rp-sankey { height:380px; }
.rp-chart.rp-donut { height:300px; }
.rp-err { color:var(--muted); font-size:13px; padding:24px 0; }
.rp-empty { color:var(--muted); font-size:13.5px; padding:36px 8px; text-align:center; border:1px dashed var(--line); border-radius:10px; }
.rp-emptynote { margin:0 0 16px; padding:10px 14px; border-radius:10px; background:#fbf3e4; border:1px solid #ecd9b4; color:#6b4e16; font-size:13px; line-height:1.45; }
.rp-table { overflow-x:auto; max-height:520px; }
.rp-table table { width:100%; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
.rp-table th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.8px; color:var(--muted); font-weight:500; padding:8px 10px; border-bottom:2px solid var(--line); position:sticky; top:0; background:#fff; }
.rp-table td { padding:8px 10px; border-bottom:1px solid var(--line); }
.rp-table td.n { text-align:right; }
.rp-table tbody tr:nth-child(even) td { background:#FAFAFC; }

.rp-insights { display:grid; grid-template-columns:repeat(var(--n,3),minmax(0,1fr)); gap:14px; }
.rp-ins { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; box-shadow:var(--shadow); border-left:4px solid var(--red); }
.rp-ins.slate { border-left-color:var(--slate); } .rp-ins.gold { border-left-color:var(--gold); } .rp-ins.good { border-left-color:var(--good); }
.rp-ins .n { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
.rp-ins h3 { margin:6px 0; font-size:15px; line-height:1.35; }
.rp-ins p { margin:0; font-size:13px; line-height:1.55; color:#4b4e60; }
.rp-ask { margin-top:10px; font:500 12px Roboto,system-ui,sans-serif; color:var(--red); background:none; border:0; padding:0; cursor:pointer; text-align:left; }
.rp-ask:hover { text-decoration:underline; }
.rp-foot { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:18px; font-size:11px; color:var(--muted); flex-wrap:wrap; }
.rp-ai { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:#fff; border-radius:99px; padding:5px 12px; }
.rp-ai b { color:var(--red); font-weight:900; letter-spacing:1px; }

/* Watch a number: a bell on each KPI card */
.rp-kpi { position:relative; }
.rp-watch { position:absolute; top:10px; right:10px; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--line); background:#fff; color:var(--slate); cursor:pointer; opacity:.75; }
.rp-watch:hover, .rp-watch:focus-visible { opacity:1; color:var(--red); border-color:var(--red); }
.rp-watch:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.rp-watch svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.rp-sched .rs-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.rp-sched .rs-row input { font:400 14px Roboto,system-ui,sans-serif; padding:6px 9px; border:1px solid var(--line); border-radius:6px; width:140px; }
.rp-sched .rs-check { display:flex; align-items:center; gap:8px; font-size:13px; }
.rp-kpi:has(.rp-watch) > .k { padding-right:38px; }
@media print { .rp-watch { display:none; } }

/* Schedule panel */
.rp-sched { position:sticky; top:52px; z-index:4; margin:0 24px; background:#fff; border:1px solid var(--line); border-top:0; border-radius:0 0 12px 12px; box-shadow:var(--shadow); padding:14px 18px; display:grid; gap:10px; max-width:520px; margin-left:auto; }
.rp-sched .rs-h { font-weight:700; }
.rp-sched .rs-days { display:flex; gap:6px; flex-wrap:wrap; }
.rp-sched .rs-day { font:500 12px Roboto,system-ui,sans-serif; border:1px solid var(--line); background:#fff; color:var(--slate); border-radius:99px; padding:6px 10px; cursor:pointer; }
.rp-sched .rs-day[aria-pressed="true"] { background:var(--red); border-color:var(--red); color:#fff; }
.rp-sched .rs-time { font-size:13px; display:flex; align-items:center; gap:8px; }
.rp-sched select { font:400 13px Roboto,system-ui,sans-serif; padding:4px 8px; border:1px solid var(--line); border-radius:6px; }
.rp-sched .rs-note { margin:0; font-size:12px; color:var(--muted); }
.rp-sched .rs-field { display:grid; gap:4px; font-size:12.5px; color:var(--slate2); }
.rp-sched .rs-field input, .rp-sched .rs-groups input[type=search] { font:400 13px Roboto,system-ui,sans-serif; padding:6px 9px; border:1px solid var(--line); border-radius:6px; width:100%; box-sizing:border-box; }
.rp-sched .rs-aud { display:flex; gap:16px; flex-wrap:wrap; font-size:13px; }
.rp-sched .rs-aud label { display:flex; align-items:center; gap:6px; }
.rp-sched .rs-groups { display:grid; gap:6px; }
.rp-sched .rs-glist { max-height:180px; overflow-y:auto; border:1px solid var(--line); border-radius:6px; padding:6px 8px; display:grid; gap:4px; font-size:12.5px; }
.rp-sched .rs-g { display:flex; align-items:center; gap:6px; }
.rp-sched .rs-g small { color:var(--muted); }
.rp-sched .rs-act { display:flex; gap:8px; justify-content:flex-end; }
.rp-sched .rs-act button { font:500 13px Roboto,system-ui,sans-serif; border-radius:8px; padding:7px 14px; cursor:pointer; border:1px solid var(--line); background:#fff; color:var(--slate); }
.rp-sched .rs-go { background:var(--red) !important; color:#fff !important; border-color:var(--red) !important; }
.rp-sched .rs-msg { font-size:12.5px; color:var(--slate2); }
.rp-sched button:focus-visible, .rp-sched select:focus-visible { outline:2px solid var(--red); outline-offset:2px; }

/* The card under an answer */
.rp-card-mini { position:relative; overflow:hidden; border-radius:14px; border:1px solid #E4E5EE; background:#fff; max-width:560px; margin:6px 0; box-shadow:0 1px 2px rgba(50,52,71,.05),0 8px 24px -14px rgba(50,52,71,.25); font-family:Roboto,system-ui,sans-serif; }
.rp-card-mini::before { content:""; position:absolute; left:0; right:0; top:0; height:120px; background:linear-gradient(100deg,#76132A,#53192B); clip-path:polygon(0 0,100% 0,100% 62%,0 100%); }
.rp-card-mini > * { position:relative; }
.rp-card-mini .rc-top { display:flex; align-items:center; gap:8px; padding:12px 16px 0; color:#fff; }
.rp-card-mini .rc-kind { font-size:10px; letter-spacing:2px; text-transform:uppercase; opacity:.8; }
.rp-card-mini .rc-title { color:#fff; font-weight:700; font-size:14px; padding:6px 16px 0; }
.rp-card-mini .rc-head { color:#F6D9DF; font-family:"Bebas Neue",Roboto,sans-serif; font-size:22px; line-height:1.05; padding:4px 16px 0; max-width:92%; }
.rp-card-mini .rc-head em { font-style:normal; color:#fff; }
.rp-card-mini .rc-kpis { display:flex; gap:10px; padding:26px 16px 0; flex-wrap:wrap; }
.rp-card-mini .rk { display:flex; flex-direction:column; font-size:11px; color:#767A8C; min-width:90px; }
.rp-card-mini .rk b { font-size:20px; color:#323447; font-variant-numeric:tabular-nums; }
.rp-card-mini .rc-actions { display:flex; align-items:center; gap:12px; padding:14px 16px 14px; }
.rp-card-mini .rc-open { font:700 13px Roboto,system-ui,sans-serif; background:#76132A; color:#fff; border:0; border-radius:9px; padding:9px 16px; cursor:pointer; }
.rp-card-mini .rc-open:hover { background:#53192B; }
.rp-card-mini .rc-sub { font-size:12px; color:#767A8C; }

@media (max-width:1100px) {
  .rp-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rp-card { grid-column:span 12; }
  .rp-insights { grid-template-columns:1fr; }
  .rp-hero { flex-direction:column; }
  .rp-hero .in { max-width:100%; }
  .rp-hero::before { clip-path:none; } .rp-hero::after { display:none; }
  .rp-hero .side { width:auto; padding:0 28px 22px; }
  .rp-hero .q { color:#F6D9DF; }
  .rp-nav { flex-wrap:wrap; }
}
@media (max-width:560px) { .rp-kpis { grid-template-columns:1fr; } .rp-hero .headline { font-size:32px; } .rp-wrap { padding:14px 16px 32px; } }
@media (prefers-reduced-motion:reduce) { .rp-overlay * { transition:none !important; animation:none !important; } }

/* PDF: print just the report, landscape, cards kept whole. */
@media print {
  @page { size:landscape; margin:10mm; }
  body.rp-open > *:not(.rp-overlay) { display:none !important; }
  body.rp-open { overflow:visible; }
  .rp-overlay { position:static; overflow:visible; background:#fff; }
  .rp-nav { position:static; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .rp-nav .r .rp-btn, .rp-hero .side, .rp-ask { display:none !important; }
  .rp-hero, .rp-badge, .rp-tag, .rp-kpi.accent, .rp-ins { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .rp-card, .rp-kpi, .rp-ins { box-shadow:none; break-inside:avoid; }
  .rp-chart svg { max-width:100%; }
}
