/* Sub-headings and callout inside split copy (mirrors uploaded HTML) */
.rp-sub-h { font: 600 18px/1.3 var(--font-display); color: var(--ink); margin: 28px 0 8px; letter-spacing: -0.01em; }
.rp-callout { background: var(--band, #F0F3F8); border-left: 3px solid #FF5F1F; padding: 16px 20px; border-radius: 4px; margin: 20px 0 0; font: 500 15px/1.55 var(--font-body); color: var(--ink); }

/* ─────────────────────────────────────────────────────────
   Standard-reports guide (right column of RStandard split)
   Two grouped lists with a colored tag per report row.
   ───────────────────────────────────────────────────────── */
.rp-guide { margin: 28px 0 0; display: flex; flex-direction: column; gap: 22px; }
.rp-guide-group { }
.rp-guide-h {
  display: flex; align-items: center; gap: 10px;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--rule);
}
.rp-guide-h b { font: 600 15px/1.2 var(--font-display); color: var(--ink); letter-spacing: -0.005em; }
.rp-guide-h small { color: var(--ink-3); font-size: 12.5px; margin-left: auto; }
.rp-guide-count {
  font: 600 11px/1 var(--font-body); color: var(--ink-2);
  background: #F0F3F8; padding: 3px 8px; border-radius: 999px;
  letter-spacing: 0.02em;
}
.rp-guide-dot { width: 8px; height: 8px; border-radius: 999px; flex-shrink: 0; }
.rp-guide-dot-audit  { background: #FF5F1F; box-shadow: 0 0 0 3px rgba(255,95,31,0.15); }
.rp-guide-dot-period { background: #1497BA; box-shadow: 0 0 0 3px rgba(20,151,186,0.15); }
.rp-guide-list { list-style: none; padding: 0; margin: 4px 0 0; }
.rp-guide-list li {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px dashed var(--rule);
}
.rp-guide-list li:last-child { border-bottom: 0; }
.rp-guide-tag {
  flex-shrink: 0;
  min-width: 44px;
  height: 24px; padding: 0 8px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 6px;
  font: 700 10.5px/1 var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);
  letter-spacing: 0.04em;
  background: #F0F3F8; color: var(--ink-2);
  border: 1px solid rgba(0,23,56,0.06);
  margin-top: 2px;
}
.rp-guide-group:nth-child(1) .rp-guide-tag { background: rgba(255,95,31,0.08); color: #C24810; border-color: rgba(255,95,31,0.18); }
.rp-guide-group:nth-child(2) .rp-guide-tag { background: rgba(20,151,186,0.09); color: #0D6F87; border-color: rgba(20,151,186,0.20); }
.rp-guide-tag-audit  { background: rgba(255,95,31,0.08) !important; color: #C24810 !important; border-color: rgba(255,95,31,0.18) !important; }
.rp-guide-tag-period { background: rgba(20,151,186,0.09) !important; color: #0D6F87 !important; border-color: rgba(20,151,186,0.20) !important; }
.rp-row-std { grid-template-columns: 48px minmax(0, 1fr) auto auto !important; align-items: center; gap: 14px !important; padding: 12px 4px !important; }
.rp-row-std .rp-guide-tag { margin-top: 0; min-width: 48px; height: 22px; padding: 0 6px; font-size: 10px; }
.rp-row-std .rp-std-ver { margin-left: 4px; }
.rp-row-std .rp-std-dl { width: 26px; height: 26px; }
.rp-guide-list li > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rp-guide-list li b { font: 600 14.5px/1.35 var(--font-body); color: var(--ink); letter-spacing: -0.005em; }
.rp-guide-list li small { font: 400 13.5px/1.55 var(--font-body); color: var(--ink-2); }

/* Info card replacing the old orange-bar callout */
.rp-info-card {
  margin: 26px 0 0;
  display: flex; gap: 14px; align-items: flex-start;
  background: linear-gradient(180deg, #FFF9F6 0%, #FDFBF9 100%);
  border: 1px solid rgba(255,95,31,0.22);
  border-radius: 14px;
  padding: 18px 20px;
}
.rp-info-ic {
  flex-shrink: 0;
  width: 32px; height: 32px; border-radius: 10px;
  background: #FFFFFF;
  border: 1px solid rgba(255,95,31,0.28);
  color: #FF5F1F;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 10px -6px rgba(255,95,31,0.35);
}
.rp-info-ic svg { width: 16px; height: 16px; }
.rp-info-card > div { display: flex; flex-direction: column; gap: 4px; }
.rp-info-card b { font: 600 13.5px/1.2 var(--font-display); color: var(--ink); letter-spacing: -0.005em; }
.rp-info-card p { margin: 0; font: 400 14px/1.6 var(--font-body); color: var(--ink-2); }

/* Reports page-specific styles (extends overview.css / employee-database.css tokens) */

/* Hero panel */
.rp-hero-wrap { position: relative; width: 100%; min-width: 0; max-width: 640px; margin-left: auto; }
.rp-hero-panel { background: linear-gradient(180deg, rgba(15,25,50,0.94), rgba(11,20,42,0.94)); border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; padding: 16px; backdrop-filter: blur(24px) saturate(140%); -webkit-backdrop-filter: blur(24px) saturate(140%); box-shadow: 0 30px 60px -30px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.05); color: #fff; }
.rp-hero-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.rp-hero-title { display: inline-flex; align-items: center; gap: 8px; font: 700 14px/1.2 var(--font-display); }
.rp-hero-title b { color: #fff; }
.rp-hero-ic { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; background: rgba(255,95,31,0.16); color: #FF7A3D; }
.rp-hero-count { color: rgba(255,255,255,0.55); font: 500 12px/1.2 var(--font-mono); }
.rp-hero-tabs { display: flex; flex-wrap: wrap; gap: 3px; padding: 3px; border-radius: 999px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); }
.rp-hero-tabs span { font: 600 10px/1 var(--font-body); padding: 5px 8px; border-radius: 999px; color: rgba(255,255,255,0.6); white-space: nowrap; }
.rp-hero-tabs .is-on { background: rgba(255,255,255,0.10); color: #fff; }
.rp-hero-table { margin-top: 10px; }
.rp-hero-th, .rp-hero-tr { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(0, 0.45fr) minmax(0, 0.7fr) 22px; align-items: center; gap: 8px; padding: 8px 10px; }
.rp-hero-th { font: 600 10px/1 var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.5); padding-top: 4px; padding-bottom: 6px; }
.rp-hero-tr { border-top: 1px solid rgba(255,255,255,0.06); font: 500 12.5px/1.2 var(--font-body); color: rgba(255,255,255,0.85); }
.rp-hero-tr:hover { background: rgba(255,255,255,0.03); }
.rp-hero-name { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: #fff; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-hero-doc { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 6px; background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.75); flex: none; }
.rp-hero-lock { display: none; }
.rp-hero-grp { font: 600 10px/1 var(--font-mono); letter-spacing: 0.04em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.10); color: rgba(255,255,255,0.75); background: rgba(255,255,255,0.04); width: max-content; }
.rp-hero-grp-audit { color: #FFB37D; border-color: rgba(255,95,31,0.30); background: rgba(255,95,31,0.10); }
.rp-hero-grp-payroll { color: #7DE0A1; border-color: rgba(15,133,41,0.35); background: rgba(15,133,41,0.10); }
.rp-hero-grp-statutory { color: #7DC8CE; border-color: rgba(20,151,186,0.35); background: rgba(20,151,186,0.10); }
.rp-hero-grp-period { color: #A9B6D0; }
.rp-hero-mono { font: 500 12px/1 var(--font-mono); color: rgba(255,255,255,0.65); letter-spacing: 0.02em; }
.rp-hero-dl { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.6); }
.rp-hero-foot { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding-top: 10px; border-top: 1px dashed rgba(255,255,255,0.10); font: 500 11px/1.2 var(--font-mono); color: rgba(255,255,255,0.55); }
.rp-hero-foot i { width: 6px; height: 6px; border-radius: 999px; background: #0F8529; box-shadow: 0 0 0 3px rgba(15,133,41,0.18); }
@media (max-width: 720px) {
  .rp-hero-th, .rp-hero-tr { grid-template-columns: 1.6fr 0.9fr 0.5fr 24px; }
  .rp-hero-th > :nth-child(3), .rp-hero-tr > :nth-child(3),
  .rp-hero-th > :nth-child(5), .rp-hero-tr > :nth-child(5) { display: none; }
}

/* Shared slice paddings */
.rp-slice { padding: 20px; }

/* Custom-reports slice */
/* Custom-reports slice — real-app tabs */
.rp-app-tabs { display: flex; align-items: center; gap: 4px; border-bottom: 1px solid var(--rule); padding-bottom: 0; margin-bottom: 14px; }
.rp-app-tab { appearance: none; background: transparent; border: 0; padding: 12px 4px; margin-right: 22px; font: 600 12.5px/1 var(--font-body); color: var(--ink-3); cursor: pointer; display: inline-flex; align-items: center; gap: 8px; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color 120ms ease, border-color 120ms ease; }
.rp-app-tab:hover { color: var(--ink); }
.rp-app-tab.is-on { color: var(--ink); border-bottom-color: #FF5F1F; }
.rp-app-tab-c { font: 700 10px/1 var(--font-mono); padding: 3px 6px; border-radius: 999px; background: rgba(0,23,56,0.06); color: var(--ink-2); }
.rp-app-tab.is-on .rp-app-tab-c { background: rgba(255,95,31,0.10); color: #FF5F1F; }
.rp-app-tabs-spacer { flex: 1; }
.rp-app-cta { appearance: none; border: 0; cursor: default; pointer-events: none; font: 600 12px/1 var(--font-body); color: #fff; background: #FF5F1F; padding: 8px 14px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 4px 10px -4px rgba(255,95,31,0.55); }
.rp-app-cta b { font-weight: 700; }
.rp-panel { border: 1px solid var(--rule); border-radius: 12px; background: #fff; padding: 12px 14px 6px; }
.rp-panel-h { display: flex; align-items: baseline; gap: 10px; padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid var(--rule); }
.rp-panel-h b { font: 700 13px/1.2 var(--font-display); color: var(--ink); }
.rp-panel-h small { font: 500 11px/1 var(--font-mono); color: var(--ink-3); letter-spacing: 0.02em; }
.rp-panel-list { padding: 0; }

.rp-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 720px) { .rp-cols { grid-template-columns: 1fr; } }
.rp-col { background: #fff; border: 1px solid var(--rule); border-radius: 12px; padding: 14px 14px 10px; min-width: 0; }
.rp-col-h { display: flex; align-items: baseline; gap: 10px; justify-content: space-between; padding-bottom: 10px; margin-bottom: 6px; border-bottom: 1px solid var(--rule); }
.rp-col-h b { font: 700 13px/1.2 var(--font-display); color: var(--ink); }
.rp-col-h small { font: 500 10.5px/1 var(--font-mono); color: var(--ink-3); letter-spacing: 0.03em; }
.rp-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 4px; }
.rp-row + .rp-row { border-top: 1px solid var(--rule); }
.rp-row-ic { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; background: rgba(0,23,56,0.05); color: var(--ink-2); flex-shrink: 0; }
.rp-row-body { min-width: 0; }
.rp-row-body b { display: block; font: 600 12.5px/1.3 var(--font-body); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-row-body small { display: block; font: 500 10.5px/1.3 var(--font-mono); color: var(--ink-3); margin-top: 3px; letter-spacing: 0.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-tag { flex-shrink: 0; font: 700 9px/1 var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 8px; border-radius: 999px; align-self: center; }
.rp-tag-draft { color: #B27A00; background: #FFF8E7; border: 1px solid #F1D68A; }
.rp-tag-shared { color: #007AA4; background: #EAF6FB; border: 1px solid #B8DDEA; }
.rp-tag-common { color: #1A3E6D; background: #EEF2F8; border: 1px solid #C9D2E1; }
.rp-tag-cfg { color: #0F8529; background: #E7F7EC; border: 1px solid #B9E4C4; }
.rp-tag-signoff { color: #D22A2A; background: #FDEDED; border: 1px solid #F1BFBF; }

/* Standard slice */
.rp-std-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid var(--rule); margin-bottom: 12px; }
.rp-std-eyebrow { font: 600 11px/1 var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: #FF5F1F; }
.rp-std-status { display: inline-flex; align-items: center; gap: 6px; font: 500 11px/1 var(--font-mono); color: var(--ink-2); }
.rp-std-status i { width: 6px; height: 6px; border-radius: 999px; background: #0F8529; box-shadow: 0 0 0 3px rgba(15,133,41,0.18); }
.rp-std-group { margin-bottom: 14px; }
.rp-std-group:last-child { margin-bottom: 0; }
.rp-std-group-h { display: flex; align-items: baseline; justify-content: space-between; margin: 4px 0 8px; }
.rp-std-group-h b { font: 700 13px/1.2 var(--font-display); color: var(--ink); }
.rp-std-group-h small { font: 500 11px/1 var(--font-mono); color: var(--ink-3); }
.rp-std-row { display: grid; grid-template-columns: 26px 1fr 40px 22px; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid var(--rule); background: #fff; border-radius: 10px; }
.rp-std-row + .rp-std-row { margin-top: 6px; }
.rp-std-ic { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; background: rgba(255,95,31,0.08); color: #FF5F1F; }
.rp-std-body b { display: block; font: 600 12.5px/1.2 var(--font-body); color: var(--ink); }
.rp-std-body small { display: block; font: 500 11px/1.3 var(--font-body); color: var(--ink-2); margin-top: 2px; }
.rp-std-ver { font: 600 11px/1 var(--font-mono); color: var(--ink-3); text-align: center; }
.rp-std-dl { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: rgba(0,23,56,0.05); color: var(--ink-2); }

/* Payroll (configured) slice */
.rp-cfg-head { padding-bottom: 10px; border-bottom: 1px solid var(--rule); margin-bottom: 12px; }
.rp-cfg-head b { display: block; font: 700 13px/1.2 var(--font-display); color: var(--ink); }
.rp-cfg-head small { display: block; font: 500 11px/1.3 var(--font-body); color: var(--ink-2); margin-top: 2px; }
.rp-cfg-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
@media (max-width: 900px) { .rp-cfg-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .rp-cfg-grid { grid-template-columns: 1fr; } }
.rp-cfg-card { border: 1px solid var(--rule); border-radius: 12px; padding: 10px; background: #fff; display: flex; flex-direction: column; }
.rp-cfg-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.rp-cfg-ic { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; background: rgba(0,23,56,0.05); color: var(--ink-2); }
.rp-cfg-ver { font: 600 10px/1 var(--font-mono); letter-spacing: 0.04em; color: var(--ink-3); padding: 3px 6px; border-radius: 999px; border: 1px solid var(--rule); }
.rp-cfg-ver.is-locked { color: #D22A2A; border-color: #F1BFBF; background: #FDEDED; }
.rp-cfg-n { font: 700 12.5px/1.2 var(--font-display); color: var(--ink); }
.rp-cfg-d { font: 500 11px/1.35 var(--font-body); color: var(--ink-2); margin-top: 2px; display: block; }
.rp-cfg-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
.rp-cfg-dl { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: rgba(0,23,56,0.05); color: var(--ink-2); }

/* Hero grid: match employee-database ratio so the panel gets breathing room */
.ovh.ed-hero-dark:has(.rp-hero-wrap) .ovh-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
@media (max-width: 900px) {
  .ovh.ed-hero-dark:has(.rp-hero-wrap) .ovh-grid { grid-template-columns: 1fr !important; }
  .rp-hero-wrap { max-width: 100%; margin-left: 0; }
}


/* ─────────────────────────────────────────────────────────
   RPayroll · centered stack layout (breaks the L/R rhythm)
   ───────────────────────────────────────────────────────── */
.rp-stack { display: flex; flex-direction: column; gap: 40px; }
.rp-stack-head { text-align: center; max-width: 860px; margin: 0 auto; }
.rp-stack-showcase { max-width: 900px; width: 100%; margin: 0 auto; }
.rp-stack-showcase .ov-stage { border-radius: 20px; }
.rp-feature-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.rp-feature-tile {
  background: #fff;
  border: 1px solid var(--rule);
  border-radius: 14px;
  padding: 20px 20px 22px;
  display: flex; flex-direction: column; gap: 6px;
  transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);
}
.rp-feature-tile:hover { transform: translateY(-2px); border-color: rgba(255,95,31,0.35); box-shadow: 0 12px 24px -18px rgba(0,23,56,0.22); }
.rp-feature-num {
  display: inline-flex; align-items: center; justify-content: flex-start;
  font: 700 11px/1 var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);
  letter-spacing: 0.08em;
  color: #FF5F1F;
  margin-bottom: 6px;
}
.rp-feature-tile b { font: 600 15px/1.35 var(--font-display); color: var(--ink); letter-spacing: -0.005em; }
.rp-feature-tile small { font: 400 13.5px/1.55 var(--font-body); color: var(--ink-2); }

@media (max-width: 900px) {
  .rp-feature-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .rp-feature-strip { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────────────
   RStatutory · country-grid panel + benefits row
   ───────────────────────────────────────────────────────── */
.rp-stat-section { display: flex; flex-direction: column; gap: 40px; margin-top: clamp(60px,6.8vw,105px); }
.rp-stat-panel {
  background: linear-gradient(180deg, #F4FFF7 0%, #FFFFFF 60%);
  border: 1px solid rgba(15,133,41,0.16);
  border-radius: 20px;
  padding: 26px 26px 22px;
  box-shadow: 0 30px 60px -40px rgba(0,23,56,0.15);
}
.rp-stat-panel-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0,23,56,0.06);
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.rp-stat-panel-head b { font: 600 16px/1.25 var(--font-display); color: var(--ink); }
.rp-stat-panel-head small { display: block; margin-top: 4px; font: 400 13px/1.4 var(--font-body); color: var(--ink-2); }
.rp-stat-legend {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px; border-radius: 999px;
  background: rgba(15,133,41,0.08);
  border: 1px solid rgba(15,133,41,0.22);
  color: #0F8529;
  font: 600 12px/1 var(--font-body);
}
.rp-stat-legend i { width: 7px; height: 7px; border-radius: 999px; background: #0F8529; box-shadow: 0 0 0 3px rgba(15,133,41,0.20); }

.rp-stat-country-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.rp-stat-country-card {
  background: #fff;
  border: 1px solid var(--rule);
  border-radius: 14px;
  padding: 16px 18px;
  display: flex; flex-direction: column; gap: 6px;
  transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);
}
.rp-stat-country-card:hover { transform: translateY(-2px); border-color: rgba(15,133,41,0.30); box-shadow: 0 10px 22px -18px rgba(0,23,56,0.25); }
.rp-stat-country-top { display: flex; align-items: center; justify-content: space-between; }
.rp-stat-flag {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 24px; border-radius: 5px;
  background: linear-gradient(135deg, #001738 0%, #1A3E6D 100%);
  color: #fff;
  font: 700 11px/1 var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);
  letter-spacing: 0.05em;
}
.rp-stat-ok-chip {
  display: inline-flex; align-items: center; gap: 4px;
  font: 600 10.5px/1 var(--font-body);
  padding: 4px 8px; border-radius: 999px;
  background: rgba(15,133,41,0.08);
  color: #0F8529;
  border: 1px solid rgba(15,133,41,0.20);
}
.rp-stat-ok-chip svg { width: 11px; height: 11px; }
.rp-stat-country-n { font: 600 15px/1.25 var(--font-display); color: var(--ink); letter-spacing: -0.005em; margin-top: 4px; }
.rp-stat-country-forms { font: 400 12.5px/1.5 var(--font-body); color: var(--ink-2); }

.rp-stat-panel-foot {
  margin-top: 20px; padding-top: 16px;
  border-top: 1px solid rgba(0,23,56,0.06);
  display: flex; align-items: center; gap: 10px;
  font: 400 13px/1.4 var(--font-body); color: var(--ink-2);
}
.rp-stat-panel-foot i {
  width: 8px; height: 8px; border-radius: 999px; background: #0F8529;
  box-shadow: 0 0 0 3px rgba(15,133,41,0.18);
  animation: rp-stat-pulse 2s ease-in-out infinite;
}
@keyframes rp-stat-pulse { 0%,100% { box-shadow: 0 0 0 3px rgba(15,133,41,0.18); } 50% { box-shadow: 0 0 0 6px rgba(15,133,41,0.06); } }

.rp-stat-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.rp-stat-benefit {
  background: #fff;
  border: 1px solid var(--rule);
  border-radius: 14px;
  padding: 20px 20px 22px;
  display: flex; flex-direction: column; gap: 8px;
}
.rp-stat-benefit-i {
  width: 36px; height: 36px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,95,31,0.09);
  color: #FF5F1F;
  border: 1px solid rgba(255,95,31,0.18);
  margin-bottom: 4px;
}
.rp-stat-benefit-i svg { width: 18px; height: 18px; }
.rp-stat-benefit b { font: 600 14.5px/1.3 var(--font-display); color: var(--ink); letter-spacing: -0.005em; }
.rp-stat-benefit small { font: 400 13px/1.55 var(--font-body); color: var(--ink-2); }

.rp-stat-callout {
  display: flex; gap: 14px; align-items: center;
  padding: 20px 24px;
  background: linear-gradient(90deg, #001738 0%, #1A3E6D 100%);
  color: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 40px -24px rgba(0,23,56,0.5);
}
.rp-stat-callout-i {
  width: 40px; height: 40px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,95,31,0.20);
  border: 1px solid rgba(255,95,31,0.35);
  color: #FFB794;
  flex-shrink: 0;
}
.rp-stat-callout-i svg { width: 20px; height: 20px; }
.rp-stat-callout p { margin: 0; font: 400 15px/1.55 var(--font-body); color: rgba(255,255,255,0.88); }
.rp-stat-callout p b { color: #fff; font-weight: 600; }

@media (max-width: 900px) {
  .rp-stat-country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp-stat-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .rp-stat-country-grid { grid-template-columns: 1fr; }
  .rp-stat-benefits { grid-template-columns: 1fr; }
}


/* ─────────────────────────────────────────────────────────
   Glass morphism on report mockup surfaces
   Applies over the tinted ov-stage backgrounds.
   ───────────────────────────────────────────────────────── */
.ov-stage .rp-panel {
  background: rgba(255,255,255,0.62);
  backdrop-filter: blur(22px) saturate(140%);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.55);
  box-shadow: 0 20px 40px -28px rgba(0,23,56,0.18), inset 0 1px 0 rgba(255,255,255,0.6);
}
.ov-stage .rp-cfg-card {
  background: rgba(255,255,255,0.60);
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.55);
  box-shadow: 0 10px 24px -20px rgba(0,23,56,0.18), inset 0 1px 0 rgba(255,255,255,0.6);
}
.ov-stage .rp-cfg-card:hover {
  background: rgba(255,255,255,0.78);
}
/* Rows inside glass panel: soften borders */
.ov-stage .rp-panel .rp-row + .rp-row { border-top-color: rgba(0,23,56,0.06); }

/* Statutory glass panel — layered over green gradient */
.rp-stat-panel {
  background: linear-gradient(180deg, rgba(244,255,247,0.72) 0%, rgba(255,255,255,0.60) 60%) !important;
  backdrop-filter: blur(24px) saturate(150%);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  border: 1px solid rgba(255,255,255,0.65) !important;
  box-shadow: 0 30px 60px -40px rgba(0,23,56,0.18), inset 0 1px 0 rgba(255,255,255,0.7) !important;
}
.rp-stat-country-card {
  background: rgba(255,255,255,0.72) !important;
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid rgba(15,133,41,0.22) !important;
  box-shadow: 0 8px 20px -18px rgba(0,23,56,0.20), inset 0 1px 0 rgba(255,255,255,0.7);
}
.rp-stat-country-card:hover {
  background: rgba(255,255,255,0.90) !important;
  border-color: rgba(15,133,41,0.42) !important;
  box-shadow: 0 12px 26px -18px rgba(0,23,56,0.28), inset 0 1px 0 rgba(255,255,255,0.8);
}
/* Feature tiles glass hint */
.rp-feature-tile {
  background: rgba(255,255,255,0.72) !important;
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.55) !important;
  box-shadow: 0 8px 20px -18px rgba(0,23,56,0.18), inset 0 1px 0 rgba(255,255,255,0.6) !important;
}
.rp-stat-benefit {
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}


/* ─────────────────────────────────────────────────────────
   RPayroll · horizontal journey ribbon
   4 numbered steps on a connecting hairline track.
   ───────────────────────────────────────────────────────── */
.rp-journey {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  padding: 20px 0 0;
}
.rp-journey-track {
  position: absolute;
  top: 56px;
  left: calc((100% - 60px) / 8); right: calc((100% - 60px) / 8);
  height: 2px; margin-top: -1px;
  background: rgba(0,23,56,0.08);
  border-radius: 2px;
  z-index: 0;
  overflow: visible;
}
.rp-journey-fill {
  position: absolute; inset: -1px 0 -1px 0;
  width: 0%;
  border-radius: 2px;
  background: linear-gradient(90deg, #FF5F1F 0%, #FF8A50 100%);
  box-shadow: 0 0 12px rgba(255,95,31,0.35);
  will-change: width;
}
.rp-journey-comet {
  position: absolute; top: 50%; left: 0;
  width: 10px; height: 10px; margin-top: -5px; margin-left: -5px;
  border-radius: 999px;
  background: #FF5F1F;
  box-shadow: 0 0 0 3px rgba(255,95,31,0.20), 0 0 12px rgba(255,95,31,0.55);
  will-change: left;
}
.rp-journey-step .rp-journey-node {
  transition: border-color 180ms var(--ease-standard), box-shadow 220ms var(--ease-standard), transform 220ms var(--ease-standard);
}
.rp-journey-step.is-lit .rp-journey-node {
  border-color: #FF5F1F;
  box-shadow: 0 0 0 10px rgba(255,95,31,0.18), 0 0 30px rgba(255,95,31,0.40), 0 12px 24px -18px rgba(0,23,56,0.25);
  transform: translateY(-4px) scale(1.08);
}
@media (prefers-reduced-motion: reduce) {
  .rp-journey-fill, .rp-journey-comet { transition: none !important; }
}
.rp-journey-step {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 6px;
  padding: 0 6px;
}
.rp-journey-node {
  position: relative;
  width: 72px; height: 72px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(0,23,56,0.10);
  display: grid; place-items: center;
  color: #FF5F1F;
  box-shadow: 0 12px 24px -18px rgba(0,23,56,0.25), inset 0 1px 0 rgba(255,255,255,0.9);
  margin-bottom: 8px;
  transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);
}
.rp-journey-step:hover .rp-journey-node { transform: translateY(-2px); border-color: rgba(255,95,31,0.45); }
.rp-journey-ic { width: 28px; height: 28px; }
.rp-journey-ic svg { width: 100%; height: 100%; }
.rp-journey-num {
  position: absolute; top: -6px; right: -6px;
  background: #001738; color: #fff;
  font: 700 10px/1 var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);
  padding: 5px 7px; border-radius: 999px;
  letter-spacing: 0.06em;
  border: 2px solid #fff;
}
.rp-journey-cap {
  font: 700 12px/1 var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);
  letter-spacing: 0.14em; text-transform: uppercase;
  color: #FF5F1F;
  margin-top: 4px;
}
.rp-journey-h { font: 600 20px/1.3 var(--font-display); color: var(--ink); letter-spacing: -0.008em; max-width: 22ch; min-height: 2.6em; text-wrap: balance; }
.rp-journey-d { font: 400 16px/1.55 var(--font-body); color: var(--ink-2); max-width: 32ch; min-height: 4.65em; text-wrap: pretty; }

@media (max-width: 900px) {
  .rp-journey { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp-journey-track { display: none; }
}
@media (max-width: 520px) {
  .rp-journey { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────────────
   RStatutory · compact benefit chips (replaces big tiles)
   ───────────────────────────────────────────────────────── */
.rp-stat-chips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.rp-stat-chip {
  display: flex; gap: 14px; align-items: flex-start;
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border: 1px solid rgba(0,23,56,0.06);
  border-radius: 14px;
  padding: 16px 18px;
  transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);
}
.rp-stat-chip:hover { transform: translateY(-1px); background: rgba(255,255,255,0.85); border-color: rgba(15,133,41,0.30); }
.rp-stat-chip-i {
  flex-shrink: 0;
  width: 34px; height: 34px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(15,133,41,0.10);
  color: #0F8529;
  border: 1px solid rgba(15,133,41,0.20);
}
.rp-stat-chip-i svg { width: 16px; height: 16px; }
.rp-stat-chip > div { display: flex; flex-direction: column; gap: 3px; }
.rp-stat-chip b { font: 600 14.5px/1.3 var(--font-display); color: var(--ink); letter-spacing: -0.005em; }
.rp-stat-chip small { font: 400 13px/1.55 var(--font-body); color: var(--ink-2); }

@media (max-width: 640px) {
  .rp-stat-chips { grid-template-columns: 1fr; }
}


/* ─────────────────────────────────────────────────────────
   RStatutory · redesigned split — copy on left, live
   compliance dashboard on right (modern SaaS composition).
   ───────────────────────────────────────────────────────── */
.rp-stat2 { margin-top: clamp(60px,6.8vw,105px); overflow: visible; padding-bottom: 80px; }
.rp-stat2-copy .display-m em { color: #FF5F1F; font-style: italic; }
.rp-stat2-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
  overflow: visible;
}
.rp-stat2-copy .lede { color: var(--ink-2); }
.rp-stat2-bullets { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-direction: column; gap: 12px; }
.rp-stat2-bullets li { display: flex; gap: 12px; align-items: flex-start; font: 400 18px/1.55 var(--font-body); color: var(--ink); }
.rp-stat2-check {
  flex-shrink: 0;
  width: 20px; height: 20px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #0F8529;
  margin-top: 2px;
}
.rp-stat2-check svg { width: 16px; height: 16px; }
.rp-stat2-cta { display: flex; align-items: center; gap: 20px; margin-top: 32px; flex-wrap: wrap; }
.rp-stat2-meta { font: 500 13px/1 var(--font-body); color: var(--ink-3); }

/* Visual — floating card with stack + sparkles */
.rp-stat2-visual { position: relative; padding: 20px 20px 40px; overflow: visible; }
.rp-stat2-stack {
  position: absolute;
  top: 22px; right: -14px;
  width: calc(100% - 20px); height: calc(100% - 44px);
  background: #fff;
  border: 1px solid rgba(0,23,56,0.08);
  border-radius: 22px;
  box-shadow: 0 20px 40px -30px rgba(0,23,56,0.20);
  transform: rotate(3deg);
  z-index: 0;
  pointer-events: none;
}
.rp-stat2-sparkle {
  position: absolute;
  color: #FF5F1F;
  z-index: 2;
  pointer-events: none;
  animation: rp-stat2-sparkle 3s ease-in-out infinite;
}
.rp-stat2-sparkle-1 { top: -6px; right: 24px; width: 22px; height: 22px; opacity: 0.9; }
.rp-stat2-sparkle-2 { bottom: 30px; left: -14px; width: 16px; height: 16px; opacity: 0.7; animation-delay: 1.4s; }
.rp-stat2-sparkle svg { width: 100%; height: 100%; }
@keyframes rp-stat2-sparkle {
  0%, 100% { transform: scale(0.9) rotate(0deg); opacity: 0.5; }
  50%      { transform: scale(1.15) rotate(20deg); opacity: 1; }
}
.rp-stat2-card {
  position: relative; z-index: 1;
  padding: 26px;
  border-radius: 22px;
  background: #FFFFFF;
  border: 1px solid rgba(0,23,56,0.08);
  box-shadow: 0 30px 60px -30px rgba(0,23,56,0.22), 0 4px 20px -12px rgba(15,133,41,0.10);
  overflow: hidden;
}
/* subtle dot-grid "world map" background */
.rp-stat2-map {
  position: absolute; inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(15,133,41,0.10) 1px, transparent 1.4px);
  background-size: 14px 14px;
  mask-image: radial-gradient(ellipse at center, #000 40%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 40%, transparent 78%);
  opacity: 0.6;
}
.rp-stat2-card > * { position: relative; z-index: 1; }
.rp-stat2-card-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 12px;
  padding-bottom: 18px;
  margin-bottom: 16px;
}
.rp-stat2-card-head b { display: block; font: 600 15.5px/1.2 var(--font-display); color: var(--ink); letter-spacing: -0.005em; }
.rp-stat2-card-head small { display: block; margin-top: 4px; font: 400 12.5px/1.4 var(--font-body); color: var(--ink-2); }
.rp-stat2-live {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 11px; border-radius: 999px;
  background: rgba(15,133,41,0.10);
  border: 1px solid rgba(15,133,41,0.26);
  color: #0F8529;
  font: 600 11.5px/1 var(--font-body); white-space: nowrap;
}
.rp-stat2-live i {
  width: 7px; height: 7px; border-radius: 999px; background: #0F8529;
  animation: rp-stat2-pulse 1.8s ease-in-out infinite;
}
@keyframes rp-stat2-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(15,133,41,0.55); }
  70%      { box-shadow: 0 0 0 8px rgba(15,133,41,0); }
}
.rp-stat2-list { display: flex; flex-direction: column; gap: 10px; }
.rp-stat2-row {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border: 1px solid rgba(15,133,41,0.16);
  border-radius: 12px;
  transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);
}
.rp-stat2-row:hover { transform: translateX(2px); border-color: rgba(15,133,41,0.35); background: #fff; }
.rp-stat2-row .rp-stat-flag {
  position: static !important;
  width: 34px; height: 24px; border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #001738 0%, #1A3E6D 100%);
  color: #fff;
  font: 700 11px/1 var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);
  letter-spacing: 0.05em;
}
.rp-stat2-flag {
  flex-shrink: 0;
  width: 36px; height: 36px;
  border-radius: 999px;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(0,23,56,0.10);
  box-shadow: 0 2px 6px -2px rgba(0,23,56,0.15);
  background: #fff;
}
.rp-stat2-row[data-cc="ae"] .rp-stat2-flag { object-position: left center; }
.rp-stat2-row-body { min-width: 0; }
.rp-stat2-row-body b { display: block; font: 600 14px/1.25 var(--font-display); color: var(--ink); }
.rp-stat2-row-body small { display: block; margin-top: 3px; font: 400 12.5px/1.4 var(--font-body); color: var(--ink-2); }
.rp-stat2-foot {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding-top: 16px; margin-top: 16px;
  border-top: 1px solid rgba(15,133,41,0.14);
  font: 500 12.5px/1.3 var(--font-body); color: var(--ink-2);
}
.rp-stat2-foot-l { display: inline-flex; align-items: center; gap: 8px; color: #0F8529; font-weight: 600; }
.rp-stat2-foot-l i { width: 7px; height: 7px; border-radius: 999px; background: #0F8529; box-shadow: 0 0 0 3px rgba(15,133,41,0.18); }
.rp-stat2-foot-r { color: var(--ink-3); font-size: 12px; }

@media (max-width: 960px) {
  .rp-stat2-grid { grid-template-columns: 1fr; gap: 40px; }
}


/* ── Mobile responsive polish (Reports page) ── */
@media (max-width: 900px) {
  .rp-row-body b { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
  .rp-row-body small { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
  .rp-hero-name { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
  .rp-hero-panel { padding: 14px !important; }
  .rp-hero-head { gap: 8px !important; }
  .rp-hero-title { font-size: 13px !important; }
  .rp-hero-tabs { flex-wrap: nowrap !important; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .rp-guide-h { flex-wrap: wrap; }
  .rp-guide-h b { font-size: 14px !important; }
  .rp-guide-h small { flex-basis: 100%; margin-left: 0 !important; }
  .rp-row-std { grid-template-columns: 40px minmax(0,1fr) auto !important; gap: 10px !important; }
  .rp-row-std .rp-std-ver { display: none !important; }
  .rp-cfg-card { padding: 12px !important; }
  html, body { overflow-x: hidden !important; }
}
@media (max-width: 560px) {
  .rp-guide-list li { flex-wrap: wrap; }
  .rp-guide-tag { min-width: 42px !important; font-size: 10px !important; }
  .rp-hero-wrap { padding: 0 !important; }
}


/* ── FORCEFUL mobile responsive overrides for Reports page ── */
@media (max-width: 900px) {
  html, body { overflow-x: hidden !important; max-width: 100vw !important; }

  /* Every rp-* element clamps to container */
  [class*="rp-"] { max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }

  /* Kill all text-truncation on rp rows so descriptions wrap */
  .rp-row-body b,
  .rp-row-body small,
  .rp-hero-name,
  .rp-cfg-card b,
  .rp-cfg-card small,
  .rp-guide-list li b,
  .rp-guide-list li small,
  .rp-guide-h b,
  .rp-guide-h small {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Hero card: shrink padding, wrap tabs */
  .rp-hero-panel { padding: 14px !important; }
  .rp-hero-head { flex-wrap: wrap !important; gap: 8px !important; }
  .rp-hero-title { font-size: 13px !important; }
  .rp-hero-count { font-size: 11px !important; }
  .rp-hero-tabs { flex-wrap: nowrap !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; max-width: 100%; }
  .rp-hero-tabs span { font-size: 10px !important; padding: 4px 8px !important; }

  /* Hero mini-table: collapse extra cols */
  .rp-hero-th, .rp-hero-tr { grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.7fr) 24px !important; gap: 8px !important; }
  .rp-hero-th > :nth-child(3), .rp-hero-tr > :nth-child(3),
  .rp-hero-th > :nth-child(4), .rp-hero-tr > :nth-child(4),
  .rp-hero-th > :nth-child(5), .rp-hero-tr > :nth-child(5) { display: none !important; }
  .rp-hero-th > :nth-child(6), .rp-hero-tr > :nth-child(6) { display: grid !important; }

  /* Guide tabs and headings: keep title on one line */
  .rp-guide-h { flex-wrap: wrap !important; padding-bottom: 10px !important; }
  .rp-guide-h b { font-size: 14px !important; }
  .rp-guide-h small { flex-basis: 100% !important; margin-left: 0 !important; margin-top: 2px !important; font-size: 12px !important; }

  /* Rows compact: hide version pill on mobile so download is visible */
  .rp-row-std { grid-template-columns: 40px minmax(0,1fr) auto !important; gap: 10px !important; padding: 10px 4px !important; }
  .rp-row-std .rp-std-ver { display: none !important; }
  .rp-guide-list li { gap: 10px !important; padding: 10px 0 !important; }
  .rp-guide-tag { min-width: 42px !important; font-size: 10px !important; }

  /* Configured card grid */
  .rp-cfg-card { padding: 12px !important; }
  .rp-cfg-top { flex-wrap: wrap !important; gap: 6px !important; }
  .rp-cfg-head b { font-size: 14px !important; }

  /* Journey/steps: side-by-side row layout with vertical animated line */
  .rp-journey { display: grid !important; grid-template-columns: 1fr !important; gap: 32px !important; padding-left: 0 !important; position: relative; }
  .rp-journey-step { display: grid !important; grid-template-columns: 72px minmax(0, 1fr) !important; column-gap: 18px !important; row-gap: 4px !important; align-items: start !important; text-align: left !important; padding: 0 !important; }
  .rp-journey-step > .rp-journey-node { grid-column: 1 !important; grid-row: 1 / span 3 !important; margin: 0 !important; align-self: start !important; }
  .rp-journey-step > .rp-journey-cap,
  .rp-journey-step > .rp-journey-h,
  .rp-journey-step > .rp-journey-d { grid-column: 2 !important; text-align: left !important; max-width: none !important; min-height: 0 !important; }
  .rp-journey-cap { margin-top: 8px !important; }
  .rp-journey-h { margin-top: 4px !important; }
  .rp-journey-d { margin-top: 6px !important; }
  /* Vertical connecting line running through the icon column, animated top→bottom */
  .rp-journey-track { display: block !important; position: absolute !important; top: 72px !important; bottom: 72px !important; left: 36px !important; width: 2px !important; height: auto !important; background: rgba(0,23,56,0.10) !important; overflow: hidden !important; border-radius: 2px !important; }
  .rp-journey-fill { display: none !important; }
  .rp-journey-comet { display: none !important; }
  .rp-journey-track::after {
    content: "";
    position: absolute; left: -3px; right: -3px; top: 0; height: 40%;
    background: linear-gradient(180deg, transparent 0%, rgba(255,95,31,0.55) 40%, #FF5F1F 70%, rgba(255,95,31,0.55) 100%);
    border-radius: 4px;
    animation: rp-journey-vline 2.6s linear infinite;
  }
}
@keyframes rp-journey-vline {
  0%   { transform: translateY(-40%); opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { transform: translateY(250%); opacity: 0; }
}
@media (max-width: 900px) {

  /* Stat blocks stack */
  .rp-stat-country-grid, .rp-stat-benefits, .rp-stat-chips, .rp-stat2-grid, .rp-stack-showcase, .rp-tabs-grid, .rp-cols, .rp-feature-strip { grid-template-columns: 1fr !important; gap: 14px !important; }

  /* Feature strip tiles */
  .rp-feature-tile { padding: 14px !important; }

  /* Hero grid stacks on mobile */
  .ovh.ed-hero-dark:has(.rp-hero-wrap) .ovh-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .rp-hero-wrap { max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }

  /* Compliance/statutory cards padding + wrap */
  .rp-stat2-card, .rp-stat-callout { padding: 16px !important; }
}
@media (max-width: 560px) {
  .rp-guide-list li { flex-wrap: wrap !important; }
  .rp-hero-th, .rp-hero-tr { grid-template-columns: minmax(0, 1fr) 24px !important; }
  .rp-hero-th > :nth-child(2), .rp-hero-tr > :nth-child(2) { display: none !important; }
  .rp-cfg-grid { grid-template-columns: 1fr !important; }
}


/* ── Reports mobile: tighten stage padding, let inner UI use full width ── */
@media (max-width: 900px) {
  .rp-stack-showcase .ov-stage,
  .split-media .ov-stage { padding: 4px !important; border-radius: 16px !important; }
  .rp-stack-showcase .ov-stage-inner,
  .split-media .ov-stage-inner { padding: 0 !important; }
  .rp-panel { padding: 12px !important; }
  .rp-stack-showcase .ov-stage::before,
  .rp-stack-showcase .ov-stage::after { opacity: 0.4; }
  .rp-panel { padding: 12px !important; border-radius: 14px !important; }
  .rp-panel .rp-guide-h b { font-size: 15px !important; }
  .rp-panel .rp-row-body b { font-size: 13.5px !important; }
  .rp-panel .rp-guide-list li { padding: 12px 0 !important; }
  /* Tabs at top of panel: keep on single row */
  .rp-panel .rp-tabs-head, .rp-panel .rp-tabs { flex-wrap: nowrap !important; overflow-x: auto !important; }
}
