/* ════════════════════════════════════════════
   REPORT BUILDER & RENDERER — Phase 3B
   Palette-adaptive via CSS vars yang sudah ada di portal klien:
   --bg, --paper, --cream, --gold, --gold-2, --teal, --green, --rust,
   --muted, --line, --border, --border2
   ════════════════════════════════════════════ */

.rb-root{ font-family:'Instrument Sans',sans-serif; color:var(--cream,#EEF3FF); }
.rb-root *{ box-sizing:border-box; }

/* ─── TOP BAR (bulan picker + status + actions) ─── */
.rb-topbar{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:14px 18px; border:1px solid var(--border,rgba(238,243,255,.07));
  border-radius:14px; background:rgba(17,31,53,.55); backdrop-filter:blur(12px);
  margin-bottom:18px;
}
.rb-topbar-left{ display:flex; align-items:center; gap:12px; flex:1; min-width:240px; }
.rb-topbar-right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rb-bulan-select{
  background:rgba(238,243,255,.05); border:1px solid var(--border2,rgba(238,243,255,.12));
  color:var(--cream,#EEF3FF); padding:9px 14px; border-radius:10px;
  font-family:'Instrument Sans',sans-serif; font-size:13px; font-weight:600;
  min-width:200px; cursor:pointer;
}
.rb-bulan-select option{ background:var(--bg,#0C1829); color:var(--cream,#EEF3FF); }
.rb-status-badge{
  font-family:monospace; font-size:10px; font-weight:700; letter-spacing:.08em;
  padding:5px 9px; border-radius:99px; text-transform:uppercase;
}
.rb-status-draft{ background:rgba(255,193,7,.15); color:#FFC93C; border:1px solid rgba(255,193,7,.3); }
.rb-status-published{ background:rgba(34,201,122,.15); color:#22C97A; border:1px solid rgba(34,201,122,.3); }
.rb-status-archived{ background:rgba(238,243,255,.07); color:var(--muted,rgba(238,243,255,.42)); border:1px solid var(--border2); }
.rb-mode-badge{
  font-family:monospace; font-size:10px; font-weight:700; letter-spacing:.08em;
  padding:5px 9px; border-radius:99px; background:var(--gold-l,rgba(244,162,41,.12));
  color:var(--gold,#F4A229); border:1px solid rgba(244,162,41,.3); text-transform:uppercase;
}
/* Date range period badge in topbar + inline period chip in report view */
.rb-period-badge{
  display:inline-flex; align-items:center; gap:5px;
  font-family:monospace; font-size:10px; font-weight:700; letter-spacing:.06em;
  padding:5px 10px; border-radius:99px;
  background:rgba(24,184,206,.12); color:var(--teal,#18B8CE);
  border:1px solid rgba(24,184,206,.3);
}
.rb-period-custom{
  display:inline-flex; align-items:center; gap:5px;
  font-family:monospace; font-size:12px; font-weight:700;
  color:var(--teal,#18B8CE); background:rgba(24,184,206,.08);
  border:1px solid rgba(24,184,206,.25); border-radius:8px;
  padding:4px 10px;
}
.rb-btn{
  font-family:'Bricolage Grotesque',sans-serif; font-weight:700; letter-spacing:.04em;
  padding:9px 16px; border-radius:10px; cursor:pointer; font-size:12px;
  border:1px solid transparent; transition:all .15s;
}
.rb-btn-primary{ background:var(--gold,#F4A229); color:#0C1829; border-color:var(--gold,#F4A229); }
.rb-btn-primary:hover{ background:var(--gold-2,#FFBE5C); }
.rb-btn-secondary{ background:transparent; color:var(--cream,#EEF3FF); border-color:var(--border2,rgba(238,243,255,.12)); }
.rb-btn-secondary:hover{ background:rgba(238,243,255,.05); }
.rb-btn-danger{ background:rgba(244,67,54,.12); color:#FF6B5A; border-color:rgba(244,67,54,.3); }
.rb-btn-danger:hover{ background:rgba(244,67,54,.2); }
.rb-btn-ghost{ background:transparent; color:var(--muted,rgba(238,243,255,.42)); border-color:transparent; padding:6px 10px; }
.rb-btn-ghost:hover{ color:var(--cream,#EEF3FF); background:rgba(238,243,255,.04); }
.rb-btn:disabled{ opacity:.5; cursor:not-allowed; }

/* ─── EMPTY / LOADING STATES ─── */
.rb-empty{ text-align:center; padding:80px 30px; color:var(--muted,rgba(238,243,255,.42)); }
.rb-empty-num{ font-family:'Bricolage Grotesque',sans-serif; font-size:64px; color:var(--gold,#F4A229); margin-bottom:14px; }
.rb-empty-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:22px; color:var(--cream,#EEF3FF); margin-bottom:10px; }
.rb-empty-desc{ font-size:13px; max-width:480px; margin:0 auto; line-height:1.6; }
.rb-loading{ text-align:center; padding:40px; color:var(--muted); font-family:monospace; font-size:11px; letter-spacing:.08em; }

/* ─── BUILDER LAYOUT (left nav + right content) ─── */
.rb-builder{ display:grid; grid-template-columns:240px 1fr; gap:18px; align-items:flex-start; }
@media(max-width:900px){ .rb-builder{ grid-template-columns:1fr; } }
.rb-nav{
  position:sticky; top:80px; border:1px solid var(--border,rgba(238,243,255,.07));
  border-radius:14px; background:rgba(17,31,53,.55); backdrop-filter:blur(12px);
  padding:10px; max-height:calc(100vh - 100px); overflow-y:auto;
}
.rb-nav-group{
  font-family:'Bricolage Grotesque',sans-serif; font-size:10px; font-weight:800;
  color:var(--muted,rgba(238,243,255,.42)); letter-spacing:.12em; text-transform:uppercase;
  padding:12px 12px 6px;
}
.rb-nav-item{
  display:flex; align-items:center; gap:10px; padding:10px 12px;
  border-radius:9px; cursor:pointer; font-size:13px; color:var(--cream,#EEF3FF);
  transition:all .15s; border:1px solid transparent;
}
.rb-nav-item:hover{ background:rgba(238,243,255,.05); }
.rb-nav-item.active{
  background:var(--gold-l,rgba(244,162,41,.12)); border-color:var(--gold,#F4A229);
  color:var(--gold,#F4A229); font-weight:700;
}
.rb-nav-icon{ width:20px; height:20px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.rb-nav-icon svg{ display:block; transition:transform .2s; }
.rb-nav-item:hover .rb-nav-icon svg{ transform:scale(1.12); }
.rb-nav-item.active .rb-nav-icon svg{ filter:drop-shadow(0 0 4px currentColor); }
.rb-nav-progress{ margin-left:auto; font-size:9px; color:var(--muted); font-family:monospace; }
.rb-nav-progress.ok{ color:#22C97A; }

.rb-section{
  border:1px solid var(--border,rgba(238,243,255,.07));
  border-radius:14px; background:rgba(17,31,53,.55); backdrop-filter:blur(12px);
  padding:24px 26px;
}
.rb-section-head{ border-bottom:1px solid var(--line,rgba(238,243,255,.07)); padding-bottom:14px; margin-bottom:20px; }
.rb-section-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:20px; font-weight:800; color:var(--cream,#EEF3FF); display:flex; align-items:center; gap:10px; }
.rb-section-icon{ width:28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:rgba(244,162,41,.1); border:1px solid rgba(244,162,41,.2); flex-shrink:0; }
.rb-section-sub{ font-size:12px; color:var(--muted,rgba(238,243,255,.42)); margin-top:6px; }

/* ─── FIELD ROW ─── */
.rb-field{ margin-bottom:16px; }
.rb-field-row{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:12px; }
.rb-field-label{
  display:flex; align-items:baseline; gap:8px; margin-bottom:6px;
  font-family:'Bricolage Grotesque',sans-serif; font-size:11px; font-weight:700;
  color:var(--cream,#EEF3FF); letter-spacing:.04em;
}
.rb-field-required{ color:#FF6B5A; font-size:14px; line-height:0; }
.rb-field-optional{ font-family:monospace; font-size:9px; color:var(--muted,rgba(238,243,255,.42)); font-weight:400; letter-spacing:.08em; text-transform:uppercase; }
.rb-field-help{ font-size:11px; color:var(--muted,rgba(238,243,255,.42)); margin-top:5px; line-height:1.4; }
.rb-input, .rb-textarea, .rb-select{
  width:100%; background:rgba(238,243,255,.04); border:1px solid var(--border2,rgba(238,243,255,.12));
  color:var(--cream,#EEF3FF); padding:10px 12px; border-radius:8px;
  font-family:'Instrument Sans',sans-serif; font-size:13px;
  transition:border-color .15s, background .15s;
}
.rb-input:focus, .rb-textarea:focus, .rb-select:focus{
  outline:none; border-color:var(--gold,#F4A229); background:rgba(238,243,255,.07);
}
.rb-input::placeholder, .rb-textarea::placeholder{ color:rgba(238,243,255,.25); }
.rb-input[data-autofilled="1"]{ border-color:var(--gold,#F4A229); background:rgba(244,162,41,.06); }
.rb-textarea{ min-height:80px; resize:vertical; font-family:'Instrument Sans',sans-serif; line-height:1.55; }
.rb-select option{ background:var(--bg,#0C1829); color:var(--cream,#EEF3FF); }
.rb-computed{
  background:var(--gold-l,rgba(244,162,41,.12)); border:1px solid rgba(244,162,41,.3);
  color:var(--gold,#F4A229); padding:10px 12px; border-radius:8px;
  font-family:monospace; font-size:13px; font-weight:700;
}
.rb-computed::before{ content:'AUTO  '; font-size:9px; opacity:.6; letter-spacing:.08em; }

/* Multiselect chips */
.rb-multi{ display:flex; flex-wrap:wrap; gap:8px; padding:6px; background:rgba(238,243,255,.04); border:1px solid var(--border2); border-radius:8px; }
.rb-chip{
  font-size:12px; font-weight:600; padding:6px 12px; border-radius:99px; cursor:pointer;
  background:rgba(238,243,255,.06); border:1px solid var(--border2,rgba(238,243,255,.12));
  color:var(--cream,#EEF3FF); transition:all .12s;
}
.rb-chip:hover{ background:rgba(238,243,255,.10); }
.rb-chip.active{ background:var(--gold,#F4A229); color:#0C1829; border-color:var(--gold,#F4A229); font-weight:700; }

/* KV / URL list (rows of paired inputs) */
.rb-list{ display:flex; flex-direction:column; gap:6px; }
.rb-list-row{ display:grid; grid-template-columns:1.4fr 1fr auto; gap:8px; align-items:center; }
.rb-list-row .rb-input{ padding:8px 10px; font-size:12px; }
.rb-list-rm{ background:transparent; border:1px solid var(--border2); color:var(--muted); cursor:pointer; padding:6px 10px; border-radius:6px; font-size:12px; }
.rb-list-rm:hover{ color:#FF6B5A; border-color:rgba(244,67,54,.3); }
.rb-list-add{ background:transparent; border:1px dashed var(--border2); color:var(--muted); cursor:pointer; padding:8px; border-radius:8px; font-size:12px; margin-top:4px; }
.rb-list-add:hover{ color:var(--gold); border-color:var(--gold); }

/* Post repeater (top/low 3 posts) */
.rb-posts{ display:flex; flex-direction:column; gap:14px; }
.rb-post{
  border:1px solid var(--border2,rgba(238,243,255,.12)); border-radius:12px; padding:14px;
  background:rgba(238,243,255,.025); transition:border-color .2s;
}
.rb-post:focus-within{ border-color:rgba(244,162,41,.25); }
.rb-post-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.rb-post-rank{
  font-family:'Bricolage Grotesque',sans-serif; font-size:11px; font-weight:800;
  background:var(--gold-l,rgba(244,162,41,.12)); color:var(--gold,#F4A229);
  padding:4px 10px; border-radius:99px; letter-spacing:.08em; text-transform:uppercase;
}
.rb-post-rank.low{ background:rgba(244,67,54,.12); color:#FF6B5A; }
/* Side-by-side layout: thumb col + field grid */
.rb-post-body{ display:grid; grid-template-columns:112px 1fr; gap:14px; align-items:start; }
@media(max-width:600px){ .rb-post-body{ grid-template-columns:1fr; } }
.rb-post-thumb-col{ display:flex; flex-direction:column; align-items:center; gap:6px; }
/* Builder thumbnail preview — mirrors the aspect ratio of client view */
.rb-post-thumbprev{
  width:100%; aspect-ratio:4/5; max-width:112px;
}
.rb-post-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:10px; }
.rb-thumb-preview{
  display:block; max-width:100%; max-height:120px; border-radius:8px;
  border:1px solid var(--border2); margin-top:6px; object-fit:cover;
}

/* Campaign repeater */
.rb-campaign{
  border:1px solid var(--border2); border-radius:12px; padding:14px;
  background:rgba(238,243,255,.025); margin-bottom:12px;
}
.rb-campaign-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.rb-campaign-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:12px; font-weight:800; color:var(--cream); letter-spacing:.06em; text-transform:uppercase; }
.rb-campaign-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:10px; }

/* SOW Table */
.rb-sow-table{ width:100%; border-collapse:collapse; margin-top:8px; }
.rb-sow-table th, .rb-sow-table td{ padding:10px 12px; text-align:left; border-bottom:1px solid var(--line); font-size:12px; }
.rb-sow-table th{ font-family:'Bricolage Grotesque',sans-serif; font-size:10px; font-weight:800; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; }
.rb-sow-table td{ color:var(--cream); }
.rb-sow-table .rb-pct{ font-family:monospace; font-weight:700; }
.rb-sow-table .rb-pct.high{ color:#22C97A; }
.rb-sow-table .rb-pct.mid{ color:var(--gold); }
.rb-sow-table .rb-pct.low{ color:#FF6B5A; }

/* Section action bar */
.rb-section-actions{ display:flex; justify-content:space-between; align-items:center; margin-top:24px; padding-top:18px; border-top:1px solid var(--line); }
.rb-section-actions-left, .rb-section-actions-right{ display:flex; gap:10px; }

/* Collapsible group (optional fields) */
.rb-collapse{ border:1px dashed var(--border2); border-radius:10px; padding:0; margin-top:14px; overflow:hidden; }
.rb-collapse-head{
  display:flex; align-items:center; gap:10px; padding:10px 14px; cursor:pointer;
  font-family:'Bricolage Grotesque',sans-serif; font-size:11px; font-weight:700;
  color:var(--muted); letter-spacing:.06em; text-transform:uppercase; user-select:none;
}
.rb-collapse-head:hover{ color:var(--cream); }
.rb-collapse-head::before{ content:'▸'; font-size:10px; transition:transform .15s; }
.rb-collapse.open .rb-collapse-head::before{ transform:rotate(90deg); }
.rb-collapse-body{ display:none; padding:0 14px 14px; }
.rb-collapse.open .rb-collapse-body{ display:block; }

/* Toast notification */
.rb-toast{
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%);
  background:var(--bg,#0C1829); color:var(--cream); border:1px solid var(--border2);
  padding:14px 20px; border-radius:12px; font-size:13px; font-weight:600;
  box-shadow:0 8px 24px rgba(0,0,0,.4); z-index:9999;
  opacity:0; transition:opacity .25s, transform .25s;
}
.rb-toast.show{ opacity:1; transform:translateX(-50%) translateY(-6px); }
.rb-toast.success{ border-color:rgba(34,201,122,.5); }
.rb-toast.error{ border-color:rgba(244,67,54,.5); }

/* Admin PIN modal */
.rb-pin-bg{
  position:fixed; inset:0; background:rgba(12,24,41,.85); backdrop-filter:blur(8px);
  z-index:9998; display:none; align-items:center; justify-content:center;
}
.rb-pin-bg.show{ display:flex; }
.rb-pin-modal{
  background:var(--bg,#0C1829); border:1px solid var(--border2); border-radius:14px;
  padding:28px; min-width:340px; max-width:90vw;
}
.rb-pin-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:18px; font-weight:800; margin-bottom:8px; color:var(--cream); }
.rb-pin-desc{ font-size:12px; color:var(--muted); margin-bottom:16px; }
.rb-pin-input{ width:100%; margin-bottom:14px; letter-spacing:.2em; text-align:center; font-size:16px; font-family:monospace; }
.rb-pin-error{ color:#FF6B5A; font-size:11px; margin-bottom:10px; display:none; }
.rb-pin-error.show{ display:block; }
.rb-pin-actions{ display:flex; gap:10px; justify-content:flex-end; }

/* ════════════════════════════════════════════
   REPORT RENDERER (klien view)
   ════════════════════════════════════════════ */
.rb-report{ font-family:'Instrument Sans',sans-serif; color:var(--cream); max-width:none; }
.rb-report-cover{
  border:1px solid var(--border); border-radius:14px; overflow:hidden;
  background:rgba(17,31,53,.55); backdrop-filter:blur(12px); margin-bottom:18px;
}
.rb-report-cover-img{ width:100%; max-height:260px; object-fit:cover; display:block; border-bottom:1px solid var(--line); }
.rb-report-cover-body{ padding:24px 26px; }
.rb-report-cover-eyebrow{ font-family:monospace; font-size:10px; letter-spacing:.12em; color:var(--gold); text-transform:uppercase; margin-bottom:8px; }
.rb-report-cover-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:30px; font-weight:800; color:var(--cream); margin-bottom:10px; line-height:1.2; }
.rb-report-cover-meta{ font-size:12px; color:var(--muted); display:flex; gap:14px; flex-wrap:wrap; }
.rb-report-summary{
  margin-top:14px; padding:14px 16px; border-left:3px solid var(--gold);
  background:var(--gold-l); border-radius:0 8px 8px 0; font-size:14px; line-height:1.7;
}
.rb-r-section{
  --sec-accent:var(--gold,#F4A229);
  position:relative; border:1px solid var(--border); border-radius:20px;
  background:rgba(17,31,53,.55); backdrop-filter:blur(12px);
  padding:30px 34px 34px; margin-bottom:30px; overflow:hidden;
}
/* glowing accent bar down the left edge */
.rb-r-section::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg, var(--sec-accent), transparent 78%); opacity:.85; }
/* faint accent wash bleeding from the header */
.rb-r-section::after{ content:''; position:absolute; left:0; right:0; top:0; height:120px; pointer-events:none;
  background:radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--sec-accent) 12%, transparent), transparent 70%); }

.rb-r-section-head{
  position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:-30px -34px 24px; padding:22px 34px 20px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, color-mix(in srgb, var(--sec-accent) 9%, transparent), transparent);
}
.rb-r-section-head-l{ display:flex; align-items:center; gap:16px; min-width:0; }
.rb-r-plat-icon{ width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  background:color-mix(in srgb, var(--sec-accent) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--sec-accent) 40%, transparent);
  box-shadow:0 8px 22px color-mix(in srgb, var(--sec-accent) 22%, transparent); }
.rb-r-plat-icon svg{ width:22px; height:22px; }
.rb-r-section-headings{ min-width:0; }
.rb-r-section-eyebrow{ font-family:monospace; font-size:10.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--sec-accent); margin-bottom:5px; }
.rb-r-section-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:27px; font-weight:800; line-height:1.1;
  letter-spacing:-.02em; color:var(--cream); }
/* big editorial ghost number, right aligned */
.rb-r-section-ghost{ font-family:'Bricolage Grotesque',sans-serif; font-size:64px; font-weight:800; line-height:.8;
  color:color-mix(in srgb, var(--sec-accent) 26%, transparent); flex-shrink:0; letter-spacing:-.04em;
  -webkit-text-stroke:1px color-mix(in srgb, var(--sec-accent) 30%, transparent); }
@media(max-width:600px){
  .rb-r-section{ padding:22px 20px 24px; border-radius:16px; }
  .rb-r-section-head{ margin:-22px -20px 20px; padding:18px 20px 16px; }
  .rb-r-section-title{ font-size:21px; }
  .rb-r-section-ghost{ font-size:42px; }
  .rb-r-plat-icon{ width:40px; height:40px; }
}

/* website-style sub-headers with hairline rule */
.rb-r-sublabel{ display:flex; align-items:center; gap:12px; margin:28px 0 14px; }
.rb-r-sublabel-dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0;
  background:var(--sec-accent,var(--gold)); box-shadow:0 0 0 4px color-mix(in srgb, var(--sec-accent,var(--gold)) 16%, transparent); }
.rb-r-sublabel-txt{ font-family:'Bricolage Grotesque',sans-serif; font-size:13px; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:var(--cream); white-space:nowrap; }
.rb-r-sublabel-rule{ flex:1; height:1px; background:linear-gradient(90deg, var(--line), transparent); }

.rb-r-kpi-row{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:10px; margin-bottom:16px; }
.rb-r-kpi{
  border:1px solid var(--border2); border-radius:12px; padding:14px;
  background:rgba(238,243,255,.025);
}
.rb-r-kpi-lbl{ font-family:'Bricolage Grotesque',sans-serif; font-size:9px; font-weight:800; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; margin-bottom:6px; }
.rb-r-kpi-num{ font-family:'Bricolage Grotesque',sans-serif; font-size:24px; font-weight:800; color:var(--cream); line-height:1.1; }
.rb-r-kpi-sub{ font-family:monospace; font-size:10px; color:var(--muted); margin-top:5px; letter-spacing:.04em; }
.rb-r-kpi-delta{ font-family:monospace; font-size:10px; font-weight:700; padding:3px 7px; border-radius:6px; display:inline-block; margin-top:6px; letter-spacing:.04em; }
.rb-r-delta-up{ color:#22C97A; background:rgba(34,201,122,.12); }
.rb-r-delta-down{ color:#FF6B5A; background:rgba(244,67,54,.12); }
.rb-r-delta-equal{ color:var(--muted); background:rgba(238,243,255,.05); }

.rb-r-narrative{
  background:rgba(238,243,255,.03); border-left:3px solid var(--gold);
  padding:12px 16px; border-radius:0 8px 8px 0; font-size:13px; line-height:1.7;
  margin-top:10px; white-space:pre-wrap;
}
.rb-r-narrative.what-works{ border-color:#22C97A; background:rgba(34,201,122,.06); }
.rb-r-narrative.what-not{ border-color:#FF6B5A; background:rgba(244,67,54,.06); }
.rb-r-narrative.lessons{ border-color:var(--teal,#18B8CE); background:rgba(24,184,206,.06); }
.rb-r-narrative-label{ font-family:'Bricolage Grotesque',sans-serif; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; opacity:.7; margin-bottom:5px; display:block; }

.rb-r-demo{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:14px; }
.rb-r-demo-card{ border:1px solid var(--border2); border-radius:12px; padding:14px; background:rgba(238,243,255,.025); }
.rb-r-demo-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:11px; font-weight:800; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
.rb-r-demo-row{ display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid var(--line); font-size:13px; }
.rb-r-demo-row:last-child{ border-bottom:none; }
.rb-r-demo-row strong{ font-family:monospace; font-weight:700; color:var(--gold); }

/* ─── Mini bar charts (Phase 3B.5 — visual report) ─── */
.rb-r-chart{ border:1px solid var(--border2,rgba(238,243,255,.12)); border-radius:12px; padding:16px; background:rgba(238,243,255,.025); margin-bottom:16px; }
.rb-r-chart-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:11px; font-weight:800; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.rb-r-chart-body{ display:flex; flex-direction:column; gap:11px; }
.rb-r-chart-row{ display:grid; grid-template-columns:108px 1fr auto; align-items:center; gap:12px; }
.rb-r-chart-lbl{ font-family:monospace; font-size:11px; color:var(--cream,#EEF3FF); letter-spacing:.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rb-r-chart-track{ position:relative; height:10px; border-radius:99px; background:rgba(238,243,255,.06); overflow:hidden; }
.rb-r-chart-fill{ position:absolute; inset:0 auto 0 0; height:100%; border-radius:99px; background:var(--gold,#F4A229); min-width:3px; transition:width .5s cubic-bezier(.4,0,.2,1); }
.rb-r-chart-val{ font-family:'Bricolage Grotesque',sans-serif; font-size:13px; font-weight:800; color:var(--cream,#EEF3FF); min-width:54px; text-align:right; }
@media(max-width:600px){
  .rb-r-chart-row{ grid-template-columns:84px 1fr auto; gap:8px; }
  .rb-r-chart-lbl{ font-size:10px; }
  /* break/donut: stack vertically on small screens */
  .rb-r-break{ flex-direction:column; align-items:flex-start; }
  .rb-r-break-donut{ align-self:center; }
  .rb-r-break-tbl{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; min-width:0; width:100%; }
  /* KPI strip tighter */
  .rb-r-kpi-strip{ grid-template-columns:repeat(2,1fr); }
}

.rb-r-posts{ display:flex; flex-direction:column; gap:18px; }
.rb-r-post{
  display:grid; grid-template-columns:230px 1fr; gap:22px;
  border:1px solid var(--border2); border-radius:18px; padding:18px;
  background:linear-gradient(180deg,rgba(238,243,255,.035),rgba(238,243,255,.012));
  align-items:start; position:relative; overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.3,1), border-color .35s, box-shadow .35s, background .35s;
  animation:rbPostIn .6s cubic-bezier(.2,.8,.3,1) both;
}
.rb-r-post::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3px; transform:scaleY(0); transform-origin:top; transition:transform .4s cubic-bezier(.2,.8,.3,1); }
.rb-r-post.is-top::before{ background:linear-gradient(180deg,var(--gold,#F4A229),var(--gold-2,#FFBE5C)); }
.rb-r-post.is-low::before{ background:linear-gradient(180deg,#FF6B5A,#A0390C); }
.rb-r-post:hover{ transform:translateY(-4px); border-color:rgba(244,162,41,.35); box-shadow:0 18px 44px rgba(0,0,0,.34); background:linear-gradient(180deg,rgba(244,162,41,.05),rgba(238,243,255,.015)); }
.rb-r-post:hover::before{ transform:scaleY(1); }
@media(max-width:600px){ .rb-r-post{ grid-template-columns:1fr; gap:16px; } }

.rb-r-post-thumb{
  position:relative; width:100%; aspect-ratio:4/5; max-width:230px; margin:0 auto;
  border-radius:14px; overflow:hidden; background:radial-gradient(120% 120% at 30% 20%,rgba(238,243,255,.08),rgba(238,243,255,.02));
  display:flex; align-items:center; justify-content:center; color:var(--muted);
  box-shadow:inset 0 0 0 1px rgba(238,243,255,.06);
}
.rb-r-post-thumb.is-portrait{ max-width:184px; }
.rb-r-post-thumb img{ width:100%; height:100%; object-fit:contain; display:block; transition:transform .6s cubic-bezier(.2,.8,.3,1); }
.rb-r-post:hover .rb-r-post-thumb img{ transform:scale(1.06); }
.rb-r-thumb-link{ position:absolute; inset:0; z-index:3; }
.rb-r-thumb-ph{ display:flex; align-items:center; justify-content:center; }
.rb-r-thumb-ph svg{ width:34px; height:34px; opacity:.5; }
.rb-r-post-thumb.is-empty{ background:repeating-linear-gradient(135deg,rgba(238,243,255,.03),rgba(238,243,255,.03) 10px,rgba(238,243,255,.05) 10px,rgba(238,243,255,.05) 20px); }
.rb-r-post-thumb.is-loading .rb-r-thumb-ph svg{ opacity:.28; }
.rb-r-thumb-spin{ position:absolute; z-index:4; width:26px; height:26px; border-radius:50%;
  border:2.5px solid rgba(238,243,255,.18); border-top-color:var(--gold,#F4A229); animation:rbThumbSpin .8s linear infinite; }
@keyframes rbThumbSpin{ to{ transform:rotate(360deg); } }
/* floating rank badge over the cover */
.rb-r-thumb-rank{
  position:absolute; top:10px; left:10px; z-index:2;
  font-family:'Bricolage Grotesque',sans-serif; font-size:10px; font-weight:800;
  padding:4px 10px; border-radius:99px; letter-spacing:.06em; text-transform:uppercase;
  backdrop-filter:blur(8px); box-shadow:0 4px 14px rgba(0,0,0,.3);
}
.rb-r-thumb-rank.top{ background:linear-gradient(135deg,rgba(244,162,41,.95),rgba(255,190,92,.92)); color:#0C1829; }
.rb-r-thumb-rank.low{ background:rgba(20,12,12,.72); color:#FF8A7A; border:1px solid rgba(255,107,90,.5); }
/* video play glyph */
.rb-r-thumb-play{ position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; color:#fff; opacity:.92; pointer-events:none; transition:transform .35s, opacity .35s; }
.rb-r-thumb-play svg{ width:46px; height:46px; filter:drop-shadow(0 4px 12px rgba(0,0,0,.5)); }
.rb-r-post:hover .rb-r-thumb-play{ transform:scale(1.12); opacity:1; }

.rb-r-post-body{ display:flex; flex-direction:column; gap:10px; min-width:0; }
.rb-r-post-caption{ font-family:'Bricolage Grotesque',sans-serif; font-size:16px; font-weight:800; color:var(--cream); line-height:1.32; letter-spacing:-.01em; }
.rb-r-post-metrics{ display:flex; gap:8px; flex-wrap:wrap; font-family:monospace; font-size:11px; color:var(--muted); align-items:center; }
.rb-r-post-metrics b{ color:var(--cream); font-weight:700; }
.rb-r-post-why{ font-size:12.5px; color:var(--cream); line-height:1.62; padding:11px 14px; background:rgba(238,243,255,.04); border-radius:10px; border:1px solid var(--border); }
.rb-r-post-why strong{ color:var(--gold); font-family:'Bricolage Grotesque',sans-serif; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

.rb-r-camp-table{ width:100%; border-collapse:collapse; font-size:12px; margin-top:6px; }
.rb-r-camp-table th, .rb-r-camp-table td{ padding:8px 10px; text-align:left; border-bottom:1px solid var(--line); }
.rb-r-camp-table th{ font-family:'Bricolage Grotesque',sans-serif; font-size:10px; font-weight:800; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; background:rgba(238,243,255,.025); }
.rb-r-camp-table td{ color:var(--cream); }
.rb-r-camp-table .rb-r-num{ font-family:monospace; text-align:right; }

.rb-r-pillars{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.rb-r-pillar{ font-size:11px; font-weight:600; padding:4px 10px; border-radius:99px; background:var(--gold-l); color:var(--gold); border:1px solid rgba(244,162,41,.3); }

.rb-r-screenshots{ display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:10px; }
.rb-r-screenshots a{ display:block; border:1px solid var(--border2); border-radius:8px; padding:8px; font-size:11px; color:var(--cream); text-decoration:none; text-align:center; }
.rb-r-screenshots a:hover{ border-color:var(--gold); color:var(--gold); }

/* ════════════════════════════════════════════
   AI AUDIT MODAL (Phase 3B.2)
   ════════════════════════════════════════════ */
.rb-audit-bg{
  position:fixed; inset:0; background:rgba(12,24,41,.85); backdrop-filter:blur(8px);
  z-index:9998; display:flex; align-items:center; justify-content:center; padding:20px;
}
.rb-audit-modal{
  background:var(--bg,#0C1829); border:1px solid var(--border2,rgba(238,243,255,.12));
  border-radius:14px; width:880px; max-width:100%; max-height:92vh;
  display:flex; flex-direction:column; box-shadow:0 24px 64px rgba(0,0,0,.5);
}
.rb-audit-header{ display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid var(--line,rgba(238,243,255,.07)); }
.rb-audit-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:18px; font-weight:800; color:var(--cream,#EEF3FF); }
.rb-audit-sub{ font-size:11.5px; color:var(--muted,rgba(238,243,255,.42)); margin-top:3px; font-family:monospace; letter-spacing:.04em; }
.rb-audit-body{ padding:18px 24px; overflow-y:auto; flex:1; }
.rb-audit-section{ margin-bottom:18px; }
.rb-audit-section-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:11px; font-weight:800; color:var(--muted,rgba(238,243,255,.42)); letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; display:flex; gap:8px; align-items:center; }
.rb-audit-context{ background:rgba(238,243,255,.04); border:1px solid var(--border2); border-radius:8px; padding:10px 14px; font-size:12px; line-height:1.55; color:var(--cream); }
.rb-audit-context strong{ color:var(--cream); font-weight:700; }
.rb-audit-footer{ display:flex; align-items:center; gap:10px; padding:14px 24px; border-top:1px solid var(--line); }
@media(max-width:600px){
  .rb-audit-modal{ max-height:96vh; }
  .rb-audit-footer{ flex-wrap:wrap; }
  .rb-audit-footer #audit-status{ width:100%; margin-bottom:6px; }
}

.rb-audit-scores{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:10px; }
.rb-audit-score-card{ padding:12px 14px; border-radius:10px; border:1px solid var(--border2); background:rgba(238,243,255,.025); }
.rb-audit-score-card.rb-audit-score-good{ border-color:rgba(34,201,122,.4); background:rgba(34,201,122,.06); }
.rb-audit-score-card.rb-audit-score-mid { border-color:rgba(244,162,41,.4); background:rgba(244,162,41,.06); }
.rb-audit-score-card.rb-audit-score-poor{ border-color:rgba(244,67,54,.4);  background:rgba(244,67,54,.06); }
.rb-audit-score-card.rb-audit-score-na  { opacity:.45; }
.rb-audit-score-head{ display:flex; align-items:center; gap:8px; font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:12px; margin-bottom:8px; color:var(--cream); }
.rb-audit-score-pill{ margin-left:auto; font-family:monospace; font-size:11px; font-weight:800; padding:2px 10px; border-radius:99px; background:rgba(238,243,255,.1); color:var(--cream); }
.rb-audit-score-good .rb-audit-score-pill{ background:rgba(34,201,122,.18); color:#22C97A; }
.rb-audit-score-mid  .rb-audit-score-pill{ background:rgba(244,162,41,.18); color:var(--gold,#F4A229); }
.rb-audit-score-poor .rb-audit-score-pill{ background:rgba(244,67,54,.18);  color:#FF6B5A; }
.rb-audit-score-evidence, .rb-audit-score-impact{ font-size:11.5px; line-height:1.55; margin-top:5px; color:var(--cream); }
.rb-audit-score-evidence strong, .rb-audit-score-impact strong{ font-weight:800; color:var(--muted); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; display:inline-block; margin-right:5px; }

.rb-audit-conclusion{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
@media(max-width:600px){ .rb-audit-conclusion{ grid-template-columns:1fr; } }
.rb-audit-conc-col{ padding:12px 14px; border:1px solid var(--border2); border-radius:10px; background:rgba(238,243,255,.025); }
.rb-audit-conc-title{ font-family:'Bricolage Grotesque',sans-serif; font-size:11px; font-weight:800; color:var(--gold,#F4A229); letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px; }
.rb-audit-conc-list{ list-style:none; padding:0; margin:0; }
.rb-audit-conc-list li{ font-size:12.5px; line-height:1.55; padding:7px 0 7px 18px; border-bottom:1px solid var(--line); position:relative; color:var(--cream); }
.rb-audit-conc-list li:before{ content:'→'; color:var(--gold); position:absolute; left:0; font-weight:700; }
.rb-audit-conc-list li:last-child{ border-bottom:none; }

.rb-audit-narrative-wrap{ margin-top:14px; }

/* ════════════════════════════════════════════
   FULLSCREEN MODE (Phase 3B.4)
   ════════════════════════════════════════════ */
.rb-root:fullscreen, .rb-root.rb-fullscreen{
  background:var(--bg,#0C1829); padding:32px 40px; overflow-y:auto;
}
.rb-root:fullscreen .rb-report, .rb-root.rb-fullscreen .rb-report{
  max-width:1100px; margin:0 auto;
}
.rb-root:fullscreen .rb-topbar, .rb-root.rb-fullscreen .rb-topbar{
  max-width:1100px; margin:0 auto 18px;
}
@media(max-width:768px){
  .rb-root:fullscreen, .rb-root.rb-fullscreen{ padding:16px 12px; }
  .rb-topbar{ flex-direction:column; align-items:flex-start; gap:10px; padding:12px 14px; }
  .rb-topbar-left,.rb-topbar-right{ width:100%; }
  .rb-bulan-select{ width:100%; min-width:0; }
  .rb-btn{ min-height:44px; }
}
@media(max-width:480px){
  .rb-section{ padding:16px 14px; }
  .rb-section-title{ font-size:16px; }
  .rb-sow-table,.rb-r-camp-table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .rb-field-row{ grid-template-columns:1fr; }
  .rb-topbar-left{ min-width:0; }
  .rb-multi{ gap:5px; }
  .rb-chip{ padding:5px 11px; font-size:11px; }
  .rb-nav{ display:none; }
  .rb-r-kpi-strip{ grid-template-columns:repeat(2,1fr); }
  .rb-r-demo-bar-row{ grid-template-columns:80px 1fr 40px; gap:7px; }
  .rb-r-kpi-row{ grid-template-columns:repeat(2,1fr); }
}

/* ── Phase 3B.5 Enhanced charts ── */
/* KPI strip with hover/delta (ads-monitor quality) */
.rb-r-kpi-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(148px,1fr)); gap:10px; margin-bottom:16px; }
.rb-r-kpi-e { position:relative; overflow:hidden; background:linear-gradient(180deg,rgba(238,243,255,.05),rgba(238,243,255,.02)); border:1px solid var(--border2); border-radius:14px; padding:16px; cursor:default; transition:transform .22s,border-color .22s,background .22s,box-shadow .22s; }
.rb-r-kpi-e::after { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--gold); transform:scaleY(0); transform-origin:bottom; transition:transform .25s; }
.rb-r-kpi-e:hover { transform:translateY(-4px); border-color:var(--gold); background:linear-gradient(180deg,rgba(244,162,41,.1),rgba(244,162,41,.03)); box-shadow:0 10px 26px rgba(0,0,0,.3); }
.rb-r-kpi-e:hover::after { transform:scaleY(1); }
.rb-r-kpi-e .rb-r-kpi-lbl { transition:color .22s; }
.rb-r-kpi-e:hover .rb-r-kpi-lbl { color:var(--cream); }
.rb-r-kpi-e .rb-r-kpi-num { font-size:clamp(22px,2.2vw,28px); transition:color .22s; }
.rb-r-kpi-e:hover .rb-r-kpi-num { color:var(--gold); }
.rb-r-delta { font-family:monospace; font-size:11px; font-weight:700; padding:3px 9px; border-radius:100px; display:inline-block; margin-top:6px; letter-spacing:.04em; }
.rb-r-delta-up { color:#22C97A; background:rgba(34,201,122,.12); }
.rb-r-delta-down { color:#FF6B6B; background:rgba(255,107,107,.12); }
.rb-r-delta-equal { color:var(--muted); background:rgba(238,243,255,.08); }

/* Chart block panel */
.rb-r-chart-block { background:rgba(238,243,255,.025); border:1px solid var(--border); border-radius:14px; padding:18px; margin-bottom:16px; transition:border-color .25s,background .25s; }
.rb-r-chart-block:hover { border-color:var(--border2); background:rgba(238,243,255,.04); }
.rb-r-chart-h { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; font-family:'Bricolage Grotesque',sans-serif; }
.rb-r-svg-wrap { width:100%; overflow-x:auto; }

/* Donut + horizontal breakdown */
.rb-r-break { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.rb-r-break-donut { flex-shrink:0; transition:transform .3s; }
.rb-r-chart-block:hover .rb-r-break-donut { transform:scale(1.03); }
.rb-r-break-tbl { width:100%; border-collapse:collapse; font-size:13px; min-width:260px; color:var(--cream); }
.rb-r-break-tbl td { border-top:1px solid var(--line); transition:background .18s; padding:9px 8px; }
.rb-r-break-tbl tbody tr:hover td { background:rgba(244,162,41,.07); }
.rb-r-break-tbl th { padding:6px 8px; font-family:'Bricolage Grotesque',sans-serif; font-size:10px; font-weight:800; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; text-align:left; }
.rb-r-break-tbl .rb-r-num { text-align:right; font-family:monospace; font-weight:700; color:var(--gold); }
.rb-r-dot { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:8px; vertical-align:middle; flex-shrink:0; }
.rb-r-bar-track { background:rgba(238,243,255,.06); border-radius:100px; height:9px; overflow:hidden; }
.rb-r-bar-fill { height:100%; border-radius:100px; transition:filter .2s; }
.rb-r-break-tbl tbody tr:hover .rb-r-bar-fill { filter:brightness(1.3); }

/* Animated SVG */
.rb-r-svg-anim { animation:rbSvgIn .7s ease both; }
@keyframes rbSvgIn { from{opacity:0;transform:scaleY(.85)} to{opacity:1;transform:scaleY(1)} }
@media(prefers-reduced-motion:reduce){.rb-r-svg-anim{animation:none}}

/* Demographics bar */
.rb-r-demo-bars { display:flex; flex-direction:column; gap:8px; }
.rb-r-demo-bar-row { display:grid; grid-template-columns:110px 1fr 44px; align-items:center; gap:10px; font-size:12px; }
.rb-r-demo-bar-row .rb-r-bar-track { height:8px; }
.rb-r-demo-bar-label { font-family:monospace; color:var(--cream); font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rb-r-demo-bar-val { font-family:monospace; font-size:11px; font-weight:700; color:var(--gold); text-align:right; }

/* ─── Phase 3C.1 — Pro polish: metric chips, entrance & hover animations ─── */
.rb-r-metric{ display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:99px;
  background:rgba(238,243,255,.05); border:1px solid var(--border2); transition:border-color .25s, background .25s, transform .25s; }
.rb-r-metric i{ font-style:normal; font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.rb-r-metric b{ font-size:12.5px; font-weight:800; color:var(--cream); font-family:'Bricolage Grotesque',sans-serif; }
.rb-r-post:hover .rb-r-metric{ border-color:rgba(244,162,41,.28); background:rgba(244,162,41,.06); }
.rb-r-post:hover .rb-r-metric:first-child{ transform:translateY(-1px); }

/* staggered card entrance */
@keyframes rbPostIn{ from{opacity:0;transform:translateY(16px) scale(.985)} to{opacity:1;transform:none} }

/* section entrance reveal */
.rb-r-section{ animation:rbSectionIn .6s cubic-bezier(.2,.8,.3,1) both; }
@keyframes rbSectionIn{ from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }
.rb-report > .rb-r-section:nth-child(1){ animation-delay:.02s }
.rb-report > .rb-r-section:nth-child(2){ animation-delay:.08s }
.rb-report > .rb-r-section:nth-child(3){ animation-delay:.14s }
.rb-report > .rb-r-section:nth-child(4){ animation-delay:.20s }
.rb-report > .rb-r-section:nth-child(5){ animation-delay:.26s }
.rb-report > .rb-r-section:nth-child(n+6){ animation-delay:.30s }

/* section hover lift + accent glow */
.rb-r-section{ transition:border-color .35s, box-shadow .35s, transform .35s; }
.rb-r-section:hover{ border-color:var(--border2); box-shadow:0 14px 40px rgba(0,0,0,.22); }

/* animated platform icon + accent underline on section head */
.rb-r-plat-icon{ transition:transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s; }
.rb-r-section:hover .rb-r-plat-icon{ transform:scale(1.08) rotate(-4deg); }
.rb-r-section-ghost{ transition:color .3s, transform .35s, opacity .35s; }
.rb-r-section:hover .rb-r-section-ghost{ transform:translateY(-2px) scale(1.04); }

/* section sub-labels: animated gold tick */
.rb-r-sublabel-anim{ position:relative; }

/* shimmer sweep on rank badge */
.rb-r-thumb-rank.top::after{ content:''; position:absolute; inset:0; border-radius:99px;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);
  background-size:220% 100%; animation:rbShimmer 3.2s ease-in-out infinite; mix-blend-mode:overlay; }
@keyframes rbShimmer{ 0%{background-position:140% 0} 60%,100%{background-position:-40% 0} }

/* cover entrance */
.rb-report-cover{ animation:rbCoverIn .8s cubic-bezier(.2,.8,.3,1) both; }
@keyframes rbCoverIn{ from{opacity:0;transform:scale(.985)} to{opacity:1;transform:none} }

/* KPI strip stagger already animates per-card; add a gentle glow on hover group */
.rb-r-kpi-strip:hover .rb-r-kpi-e:not(:hover){ opacity:.82; }
.rb-r-kpi-e{ transition:transform .22s,border-color .22s,background .22s,box-shadow .22s,opacity .22s; }

@media(prefers-reduced-motion:reduce){
  .rb-r-post,.rb-r-section,.rb-report-cover{ animation:none; }
  .rb-r-thumb-rank.top::after{ animation:none; display:none; }
}

@media print{
  .rb-topbar, .rb-builder, .rb-nav, .rb-audit-bg{ display:none !important; }
  .rb-r-section{ break-inside:avoid; background:white; color:black; border-color:#ccc; page-break-inside:avoid; }
  .rb-r-section-title, .rb-r-kpi-num, .rb-report-cover-title, .rb-r-post-caption,
  .rb-r-kpi-lbl, .rb-r-post-metrics b, .rb-r-demo-row strong{ color:black; }
  .rb-r-narrative{ background:#f5f5f5; color:black; }
  .rb-r-kpi{ background:white; border-color:#ccc; }
  .rb-r-post{ background:white; border-color:#ccc; break-inside:avoid; }
  .rb-r-post-caption{ color:black; }
  .rb-r-metric{ background:#f3f3f3; border-color:#ccc; }
  .rb-r-metric b{ color:black; }
  .rb-r-post-why{ background:#f5f5f5; color:black; border-color:#ddd; }
  .rb-r-thumb-rank.top::after{ display:none; }
  .rb-r-chart{ background:white; border-color:#ccc; break-inside:avoid; }
  .rb-r-chart-lbl, .rb-r-chart-val{ color:black; }
  .rb-r-chart-track{ background:#eee; }
  .rb-r-demo-card{ background:white; border-color:#ccc; }
  .rb-r-pillar{ background:#fff5e0; color:#a67000; border-color:#cc8800; }
  .rb-report-cover{ background:white; border-color:#ccc; }
  .rb-r-narrative.what-works{ background:#e6f7ec; }
  .rb-r-narrative.what-not{ background:#fde6e3; }
  .rb-r-narrative.lessons{ background:#e1f3f8; }
  body{ background:white !important; }
  @page{ margin:15mm; }
  .rb-r-kpi-e { background:white; border-color:#ccc; break-inside:avoid; }
  .rb-r-chart-block { background:white; border-color:#ccc; break-inside:avoid; }
  .rb-r-bar-track { background:#eee; }
}
