/* Confidential Reporting — public pages.
   Cornerstone Design System build. Drop-in replacement for
   inc/modules/confidential-reporting/assets/reporting.css

   Fonts: copy the 9 .woff2 files into assets/fonts/ alongside this file.
   Everything below works against the EXISTING markup unless marked [NEW],
   which needs the small PHP edits listed in PORTING.md. */

/* ── Fonts ──────────────────────────────────────────────────────────────── */

@font-face { font-family:'Poppins'; src:url('fonts/poppins-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('fonts/poppins-500.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('fonts/poppins-600.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('fonts/poppins-700.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('fonts/poppins-800.woff2') format('woff2'); font-weight:800; font-display:swap; }
@font-face { font-family:'Open Sauce Sans'; src:url('fonts/open-sauce-sans-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Open Sauce Sans'; src:url('fonts/open-sauce-sans-500.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Open Sauce Sans'; src:url('fonts/open-sauce-sans-600.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Open Sauce Sans'; src:url('fonts/open-sauce-sans-700.woff2') format('woff2'); font-weight:700; font-display:swap; }

/* ── Tokens (subset of the design system, inlined so this file stands alone) ─ */

:root {
	--cs-blue:#0171DF; --cs-blue-600:#0160c0; --cs-blue-700:#014fa0; --cs-blue-400:#3a92e8;
	--cs-blue-100:#d6e8fb; --cs-blue-50:#eff6fe;
	--cs-navy:#102B3B; --cs-navy-800:#16384c; --cs-navy-700:#21506b; --cs-navy-500:#3c5d75; --cs-navy-200:#b9c7d0;
	--cs-green:#00FD8E; --cs-green-600:#00d977; --cs-green-100:#d2fde9;
	--cs-red:#E13B3B; --cs-red-100:#fbe0e0; --cs-amber:#F5A623; --cs-amber-100:#fdeccc;
	--cs-gray-50:#f6f8fa; --cs-gray-100:#eef1f5; --cs-gray-200:#e1e6ec; --cs-gray-300:#cdd5de;
	--cs-gray-400:#9aa7b4; --cs-gray-500:#6b7986; --cs-gray-600:#4d5a66; --cs-gray-700:#34424e;

	--font-heading:'Poppins', system-ui, sans-serif;
	--font-body:'Open Sauce Sans','Poppins', system-ui, sans-serif;

	--text-strong:var(--cs-navy); --text-body:var(--cs-gray-700); --text-muted:var(--cs-gray-500);
	--surface-page:var(--cs-gray-50); --surface-sunken:var(--cs-gray-100); --surface-tint:var(--cs-blue-50);
	--border-subtle:var(--cs-gray-200); --border-strong:var(--cs-gray-300);

	--radius-md:10px; --radius-lg:16px; --radius-pill:999px;
	--shadow-sm:0 1px 2px rgba(16,43,59,.06), 0 2px 8px -4px rgba(16,43,59,.14);
	--shadow-md:0 2px 4px rgba(16,43,59,.07), 0 12px 28px -12px rgba(16,43,59,.26);
	--shadow-focus:0 0 0 3px rgba(1,113,223,.28);
	--ease-standard:cubic-bezier(.2,0,.2,1);
}

/* ── Base ───────────────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing:border-box; margin:0; }
html { -webkit-text-size-adjust:100%; }
body { font-family:var(--font-body); background:var(--surface-page); color:var(--text-body); line-height:1.6; overflow-x:hidden; }
a { color:var(--cs-blue); text-decoration:none; }
a:hover { color:var(--cs-blue-600); text-decoration:underline; }
h1,h2,h3,h4 { font-family:var(--font-heading); color:var(--text-strong); letter-spacing:-.015em; }

.cs-cr-page { width:100%; margin:0 auto; padding:32px 40px 64px; }
/*.cs-cr-page--wide { max-width:1440px; }*/
/*.cs-cr-page--doc { max-width:900px; }*/
@media (max-width:900px) { .cs-cr-page { padding:24px 24px 56px; } }
@media (max-width:560px) { .cs-cr-page { padding:18px 16px 48px; } }

/* Brand bar above the page [NEW markup in cs_cr_page_open] */
.cs-cr-topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; height:68px; padding:0 40px; background:#fff; border-bottom:1px solid var(--border-subtle); }
.cs-cr-topbar-brand { display:flex; align-items:center; gap:16px; }
.cs-cr-topbar-brand img { height:24px; width:auto; }
.cs-cr-topbar-sep { width:1px; height:24px; background:var(--border-subtle); }
.cs-cr-topbar-name { font-family:var(--font-heading); font-size:15px; font-weight:600; color:var(--text-strong); }
.cs-cr-topbar-meta { display:flex; align-items:center; gap:14px; font-size:13.5px; color:var(--text-muted); }
@media (max-width:560px) { .cs-cr-topbar { height:auto; padding:14px 16px; flex-wrap:wrap; } }

.cs-cr-head { margin-bottom:24px; }
.cs-cr-head-logo { display:block; max-width:160px; max-height:64px; width:auto; height:auto; margin-bottom:10px; }
.cs-cr-co { font-family:var(--font-heading); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cs-blue); }
.cs-cr-head h1 { font-size:30px; font-weight:700; margin:6px 0 8px; }
@media (max-width:560px) { .cs-cr-head h1 { font-size:24px; } }

.cs-cr-foot { margin-top:40px; padding-top:20px; border-top:1px solid var(--border-subtle); font-size:12.5px; color:var(--text-muted); }

/* ── Cards ──────────────────────────────────────────────────────────────── */

.cs-cr-card { background:#fff; border:1px solid var(--border-subtle); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:24px 28px; margin-bottom:20px; }
.cs-cr-card h2 { font-size:19px; font-weight:700; margin-bottom:10px; }
.cs-cr-card h3 { font-size:16px; font-weight:600; margin:16px 0 6px; }
.cs-cr-card ul, .cs-cr-card ol { margin:8px 0 8px 20px; }
.cs-cr-card li { margin:5px 0; }
@media (max-width:560px) { .cs-cr-card { padding:20px 18px; } }

/* The pitch / promise block — navy panel, not a blue-outlined box */
.cs-cr-promise { background:var(--cs-navy); border:0; color:#dfe7ec; }
.cs-cr-promise h2 { color:#fff; }
.cs-cr-promise p { color:var(--cs-navy-200); }
.cs-cr-promise ul { list-style:none; margin-left:0; }
.cs-cr-promise li { position:relative; padding-left:30px; margin:12px 0; line-height:1.55; }
.cs-cr-promise li::before { content:'\2713'; position:absolute; left:0; top:0; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:rgba(0,253,142,.14); color:var(--cs-green); font-size:12px; font-weight:700; }
.cs-cr-promise strong { display:block; font-family:var(--font-heading); font-weight:600; color:#fff; }
.cs-cr-promise .cs-cr-small { color:var(--cs-navy-200); }

/* ── Notices ────────────────────────────────────────────────────────────── */

.cs-cr-notice { border-radius:var(--radius-md); padding:14px 18px; margin-bottom:20px; border:1px solid; font-size:14.5px; }
.cs-cr-notice--info { background:var(--surface-tint); border-color:var(--cs-blue-100); color:var(--cs-blue-700); }
.cs-cr-notice--ok { background:var(--cs-green-100); border-color:#9be9c6; color:#02894e; }
.cs-cr-notice--warn { background:var(--cs-amber-100); border-color:#f6d79a; color:#9a6206; }
.cs-cr-notice--error { background:var(--cs-red-100); border-color:#f2b5b5; color:#a51f1f; }

/* ── Forms ──────────────────────────────────────────────────────────────── */

.cs-cr-label { display:block; font-family:var(--font-heading); font-size:13px; font-weight:600; color:var(--text-strong); margin:16px 0 5px; }
.cs-cr-opt { font-family:var(--font-body); font-weight:400; color:var(--text-muted); font-size:.9em; }
.cs-cr-hint { font-size:12.5px; line-height:1.5; color:var(--text-muted); margin:0 0 7px; }
.cs-cr-small { font-size:12.5px; color:var(--text-muted); margin-top:10px; }

input, input[type="text"], input[type="email"], input[type="number"], select, textarea {
	width:100%; padding:10px 14px; min-height:44px; border:1.5px solid var(--border-strong);
	border-radius:var(--radius-md); font-size:15px; font-family:var(--font-body); background:#fff; color:var(--text-body);
	transition:border-color 200ms var(--ease-standard), box-shadow 200ms var(--ease-standard);
}
textarea { resize:vertical; line-height:1.55; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--cs-blue); box-shadow:var(--shadow-focus); }

.cs-cr-two { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:560px) { .cs-cr-two { grid-template-columns:1fr; } }

/* Numbered field groups [NEW] */
.cs-cr-group { padding-top:18px; margin-top:18px; border-top:1px solid var(--border-subtle); }
.cs-cr-group:first-of-type { padding-top:0; margin-top:0; border-top:0; }
.cs-cr-group-label { display:block; font-family:var(--font-heading); font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cs-blue); }

/* ── Buttons ────────────────────────────────────────────────────────────── */

.cs-cr-btn {
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	height:44px; padding:0 22px; border:1.5px solid var(--cs-blue); border-radius:var(--radius-pill);
	background:var(--cs-blue); color:#fff; font-family:var(--font-heading); font-size:15px; font-weight:600;
	line-height:1; letter-spacing:.01em; cursor:pointer; text-decoration:none; text-align:center;
	transition:filter 200ms var(--ease-standard), transform 120ms var(--ease-standard);
}
.cs-cr-btn:hover { filter:brightness(.93); color:#fff; text-decoration:none; }
.cs-cr-btn:active { transform:scale(.97); }
.cs-cr-btn:focus-visible { outline:none; box-shadow:var(--shadow-focus); }
.cs-cr-btn--ghost { background:transparent; color:var(--text-strong); border-color:var(--border-strong); }
.cs-cr-btn--ghost:hover { color:var(--text-strong); background:var(--surface-sunken); filter:none; }
.cs-cr-btn--lg { height:50px; padding:0 28px; font-size:16px; }
.cs-cr-btn--block { width:100%; }

.cs-cr-inlineform { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:6px; }
.cs-cr-inlineform input { flex:1 1 220px; width:auto; }
.cs-cr-inlineform .cs-cr-btn { flex:0 0 auto; }
@media (max-width:420px) { .cs-cr-inlineform input, .cs-cr-inlineform .cs-cr-btn { flex-basis:100%; } }

/* Consent block — tick box aligned to its own label [NEW wrapper] */
.cs-cr-consent { background:var(--surface-tint); border:1px solid var(--cs-blue-100); border-radius:12px; padding:16px 18px; margin:20px 0; }
.cs-cr-consent h3 { font-family:var(--font-heading); font-size:13px; font-weight:600; color:var(--text-strong); margin:0 0 10px; }
.cs-cr-consent ul { list-style:none; margin:0 0 12px; padding:0; display:flex; flex-direction:column; gap:8px; }
.cs-cr-consent li { position:relative; padding-left:14px; font-size:13px; line-height:1.55; color:var(--cs-navy-700); }
.cs-cr-consent li::before { content:'\00B7'; position:absolute; left:0; color:var(--cs-blue); font-weight:700; }
.cs-cr-agree { display:flex; gap:10px; align-items:flex-start; padding-top:12px; border-top:1px solid var(--cs-blue-100); font-family:var(--font-heading); font-size:13.5px; font-weight:600; line-height:1.5; color:var(--text-strong); }
.cs-cr-agree input { flex:0 0 auto; width:17px; height:17px; min-height:0; margin:2px 0 0; accent-color:var(--cs-blue); }

.cs-cr-hp { position:absolute; left:-5000px; width:1px; height:1px; opacity:0; }
.cs-cr-alt { margin:4px 0 20px; font-size:14px; font-weight:600; }

/* ── Case codes ─────────────────────────────────────────────────────────── */

.cs-cr-keycard { border:1.5px solid var(--cs-blue); }
.cs-cr-codes { display:flex; gap:24px; flex-wrap:wrap; margin:16px 0; }
.cs-cr-code-label { display:block; font-family:var(--font-heading); font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:5px; }
.cs-cr-code { display:inline-block; background:var(--surface-sunken); border:1px solid var(--border-strong); border-radius:var(--radius-md); padding:9px 16px; font-family:var(--font-heading); font-size:20px; font-weight:600; letter-spacing:.08em; color:var(--text-strong); }
.cs-cr-code--url { font-size:14.5px; font-weight:600; letter-spacing:0; word-break:break-all; }

/* ── Case / report detail ───────────────────────────────────────────────── */

.cs-cr-case-head { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.cs-cr-case-head h2 { font-size:26px; font-weight:700; letter-spacing:-.02em; }
.cs-cr-meta { color:var(--text-muted); font-size:13.5px; margin:8px 0; }
.cs-cr-detailbox { background:var(--surface-sunken); border:0; border-radius:12px; padding:16px 18px; margin-top:14px; font-size:15.5px; line-height:1.65; color:var(--text-body); }

/* Two-column detail: main + rail [NEW wrapper] */
.cs-cr-layout { display:grid; grid-template-columns:1.7fr 1fr; gap:20px; align-items:start; }
@media (max-width:1000px) { .cs-cr-layout { grid-template-columns:1fr; } }

/* Received / where / when strip [NEW] */
.cs-cr-metagrid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding-bottom:18px; border-bottom:1px solid var(--border-subtle); }
.cs-cr-metagrid dt { font-size:11.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.cs-cr-metagrid dd { margin:4px 0 0; font-family:var(--font-heading); font-size:15px; font-weight:600; color:var(--text-strong); }
@media (max-width:560px) { .cs-cr-metagrid { grid-template-columns:1fr; } }

/* Audit-evidence checklist [NEW] */
.cs-cr-checklist { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.cs-cr-checklist li { position:relative; padding-left:22px; font-size:14px; line-height:1.5; color:var(--text-muted); }
.cs-cr-checklist li::before { content:'\25CB'; position:absolute; left:0; color:var(--cs-gray-300); font-weight:700; }
.cs-cr-checklist li.done { color:var(--text-body); }
.cs-cr-checklist li.done::before { content:'\2713'; color:var(--cs-green-600); }

/* ── Pills ──────────────────────────────────────────────────────────────── */

.cs-cr-pill { display:inline-flex; align-items:center; gap:7px; padding:4px 12px 4px 10px; border-radius:var(--radius-pill); font-family:var(--font-heading); font-size:12.5px; font-weight:600; background:var(--cs-gray-100); color:var(--cs-gray-600); white-space:nowrap; }
.cs-cr-pill::before { content:''; width:8px; height:8px; border-radius:50%; background:currentColor; opacity:.85; }
.cs-cr-pill--new { background:var(--cs-blue-50); color:var(--cs-blue-700); }
.cs-cr-pill--assessing { background:var(--cs-amber-100); color:#9a6206; }
.cs-cr-pill--investigating { background:var(--cs-amber-100); color:#8a5200; }
.cs-cr-pill--closed { background:var(--cs-green-100); color:#02894e; }
.cs-cr-pill--due-gray { background:var(--cs-gray-100); color:var(--cs-gray-600); }
.cs-cr-pill--due-amber { background:var(--cs-amber-100); color:#9a6206; }
.cs-cr-pill--due-red { background:var(--cs-red-100); color:#a51f1f; }

/* ── Timeline messages ──────────────────────────────────────────────────── */

.cs-cr-msg { border:1px solid var(--border-subtle); border-radius:12px; padding:14px 18px; margin:12px 0; background:#fff; }
.cs-cr-msg--reporter { background:var(--surface-sunken); border-color:transparent; }
.cs-cr-msg--management { background:var(--surface-tint); border-color:var(--cs-blue-100); }
.cs-cr-msg--platform { background:var(--cs-amber-100); border-color:#f6d79a; }
.cs-cr-msg-who { font-family:var(--font-heading); font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin-bottom:6px; }
.cs-cr-msgform { margin-top:20px; }

/* ── Dashboard tiles / actions / table ──────────────────────────────────── */

.cs-cr-tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin-bottom:20px; }
.cs-cr-tile { background:#fff; border:1px solid var(--border-subtle); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:16px 20px; font-size:13px; color:var(--text-muted); }
.cs-cr-tile-n { display:block; font-family:var(--font-heading); font-size:30px; font-weight:700; line-height:1.15; color:var(--text-strong); }
.cs-cr-tile--alert { border-color:#f2b5b5; background:#fffafa; }
.cs-cr-tile--alert .cs-cr-tile-n { color:var(--cs-red); }

.cs-cr-actions { margin-bottom:20px; display:flex; gap:10px; flex-wrap:wrap; }
@media (max-width:560px) { .cs-cr-actions .cs-cr-btn { flex:1 1 100%; } }

.cs-cr-tablewrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.cs-cr-table { width:100%; border-collapse:collapse; font-size:14.5px; }
.cs-cr-table th { text-align:left; font-family:var(--font-heading); font-size:11.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); padding:10px 12px; border-bottom:1px solid var(--border-strong); white-space:nowrap; }
.cs-cr-table td { padding:14px 12px; border-bottom:1px solid var(--border-subtle); vertical-align:middle; }
.cs-cr-table tr:last-child td { border-bottom:0; }
.cs-cr-table a { font-family:var(--font-heading); font-weight:600; }
@media (max-width:560px) { .cs-cr-table { font-size:13.5px; } .cs-cr-table td, .cs-cr-table th { padding:10px 8px; } }

/* ── Tabs → segmented pills (no PHP change needed) ──────────────────────── */

.cs-cr-tabnav { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px; border:0; padding:0; }
.cs-cr-tabbtn { height:36px; padding:0 16px; border:0; border-radius:var(--radius-pill); background:var(--surface-sunken); font-family:var(--font-heading); font-size:13.5px; font-weight:600; color:var(--cs-gray-600); cursor:pointer; transition:background 200ms var(--ease-standard); }
.cs-cr-tabbtn + .cs-cr-tabbtn { margin-left:0; }
.cs-cr-tabbtn:hover { background:var(--cs-gray-200); color:var(--text-strong); }
.cs-cr-tabbtn.active { background:var(--cs-navy); color:#fff; }
.cs-cr-tabbtn--dirty::after { content:'\25CF'; color:var(--cs-amber); font-size:.55rem; margin-left:6px; vertical-align:middle; }
.cs-cr-tabpanel[hidden] { display:none; }

/* ── Settings bits ──────────────────────────────────────────────────────── */

.cs-cr-sla-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:14px; max-width:560px; margin-bottom:8px; }
.cs-cr-a2hs { margin:4px 0 20px; font-size:13.5px; color:var(--text-body); }
.cs-cr-a2hs summary { cursor:pointer; font-family:var(--font-heading); font-weight:600; color:var(--cs-blue); }
.cs-cr-a2hs p { margin:8px 0 0; }
.cs-cr-logo-preview { max-width:140px; max-height:90px; width:auto; height:auto; border:1px solid var(--border-subtle); border-radius:var(--radius-md); padding:6px; background:#fff; }
.cs-cr-steps li { margin:8px 0; }

/* ── QR ─────────────────────────────────────────────────────────────────── */

.cs-cr-qrrow { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.cs-cr-qr svg { width:150px; height:150px; display:block; border:1px solid var(--border-subtle); border-radius:var(--radius-md); }
.cs-cr-doc-urlrow { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.cs-cr-doc-urlrow .cs-cr-urlbox { flex:1 1 300px; }
.cs-cr-doc-qr svg { width:92px; height:92px; display:block; border:1.5px solid var(--border-strong); border-radius:8px; }
.cs-cr-poster-qr { margin:0; }
.cs-cr-poster-qr svg { width:214px; height:214px; display:block; border:1.5px solid var(--border-strong); border-radius:12px; }
.cs-cr-poster-qr p { font-size:13px; color:var(--text-muted); margin-top:8px; }
.cs-cr-urlbox { background:var(--surface-sunken); border:1.5px solid var(--cs-navy); border-radius:var(--radius-md); padding:12px 16px; font-family:var(--font-heading); font-size:15px; font-weight:600; color:var(--text-strong); word-break:break-all; margin:12px 0; }

/* ── Printable QMS document ─────────────────────────────────────────────── */

.cs-cr-doc { background:#fff; border:1px solid var(--border-subtle); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:56px 64px 64px; }
.cs-cr-doc h2 { font-family:var(--font-heading); font-size:15px; font-weight:700; margin:26px 0 6px; }
.cs-cr-doc h3 { font-family:var(--font-heading); font-size:13.5px; font-weight:600; margin:16px 0 6px; }
.cs-cr-doc p, .cs-cr-doc li { font-size:13.5px; line-height:1.65; }
.cs-cr-doc ul, .cs-cr-doc ol { margin:6px 0 6px 20px; }
.cs-cr-doc li { margin:5px 0; }
.cs-cr-doc-control { width:100%; border-collapse:collapse; margin-bottom:20px; border-radius:0!important; overflow:hidden; }
.cs-cr-doc-control td { border:1px solid var(--border-strong); padding:11px 14px; font-size:13px; vertical-align:top; }
.cs-cr-doc-logo { display:block; max-width:140px; max-height:56px; width:auto; height:auto; margin-bottom:8px; }

/* Fill-in fields — brand blue dotted, not highlighter yellow */
.cs-cr-fill { color:var(--cs-blue); font-weight:600; border-bottom:1.5px dotted var(--cs-blue-400); padding:0 2px; }
.cs-cr-fill:focus { outline:none; background:var(--surface-tint); border-bottom-style:solid; }
.cs-cr-fill-line { display:inline-block; min-width:180px; border-bottom:1px solid var(--cs-gray-300); height:1.1em; vertical-align:bottom; }
.cs-cr-fill-line:focus { outline:none; border-bottom-color:var(--cs-blue); background:var(--surface-tint); }
.cs-cr-doc--editing { outline:2px dashed var(--cs-blue); outline-offset:8px; }

@media (max-width:700px) {
	.cs-cr-doc { padding:24px 20px; }
	.cs-cr-doc-control, .cs-cr-doc-control tbody, .cs-cr-doc-control tr, .cs-cr-doc-control td { display:block; width:100%; }
	.cs-cr-doc-control td { border-bottom:0; }
	.cs-cr-doc-control tr:last-child td:last-child { border-bottom:1px solid var(--border-strong); }
	.cs-cr-fill-line { min-width:60%; }
}

/* ── Staff notice / poster ──────────────────────────────────────────────── */

.cs-cr-poster { background:#fff; border:1px solid var(--border-subtle); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:52px 56px; text-align:left; }
.cs-cr-poster-brandrow { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:20px; border-bottom:2px solid var(--cs-navy); }
.cs-cr-poster-logo { display:block; max-width:180px; max-height:70px; width:auto; height:auto; }
.cs-cr-poster-co { font-family:var(--font-heading); font-size:18px; font-weight:700; color:var(--text-strong); }
.cs-cr-poster-site { font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.cs-cr-poster-kicker { display:block; margin-top:34px; font-family:var(--font-heading); font-size:14px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cs-blue); }
.cs-cr-poster h2 { font-size:54px; font-weight:800; line-height:1.06; letter-spacing:-.03em; margin:14px 0 0; }
.cs-cr-poster-lead { font-size:20px; line-height:1.55; max-width:620px; margin:20px 0 0; }
.cs-cr-poster-linkrow { display:flex; align-items:center; gap:32px; margin-top:32px; flex-wrap:wrap; }
.cs-cr-poster-url { background:var(--cs-navy); color:#fff; border-radius:12px; padding:18px 22px; font-family:var(--font-heading); font-size:21px; font-weight:700; word-break:break-all; }
.cs-cr-poster-points { list-style:none; margin:36px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:20px 32px; }
.cs-cr-poster-points li { position:relative; padding-left:28px; font-size:16.5px; line-height:1.5; }
.cs-cr-poster-points li::before { content:'\2713'; position:absolute; left:0; top:-1px; color:var(--cs-blue); font-size:19px; font-weight:700; }
.cs-cr-poster-points strong { display:block; font-family:var(--font-heading); color:var(--text-strong); }
.cs-cr-poster-foot { margin-top:36px; padding-top:24px; border-top:1px solid var(--border-subtle); font-size:15px; line-height:1.5; }
.cs-cr-poster-docref { margin-top:8px; font-size:12.5px; color:var(--text-muted); }

@media (max-width:700px) {
	.cs-cr-poster { padding:28px 20px; }
	.cs-cr-poster h2 { font-size:32px; }
	.cs-cr-poster-lead { font-size:17px; }
	.cs-cr-poster-points { grid-template-columns:1fr; }
	.cs-cr-poster-qr svg { width:170px; height:170px; }
}

/* ── Print ──────────────────────────────────────────────────────────────── */

.cs-cr-print-only { display:none; }

@page { size:A4 portrait; margin:14mm; }

@media print {
	body { background:#fff; }
	.cs-cr-page { max-width:none; padding:0; }
	.cs-cr-noprint, .cs-cr-foot, .cs-cr-head, .cs-cr-topbar, .cs-cr-msgform, .cs-cr-a2hs { display:none !important; }
	.cs-cr-print-only { display:block; font-weight:600; margin-bottom:10px; }
	.cs-cr-card, .cs-cr-doc, .cs-cr-poster { border:0; border-radius:0; box-shadow:none; padding:0; margin-bottom:16px; max-width:none; }
	.cs-cr-layout { display:block; }
	.cs-cr-doc-control, .cs-cr-doc-control tbody, .cs-cr-doc-control tr, .cs-cr-doc-control td { display:table-row-group !important; }
	.cs-cr-doc-control { display:table; width:100%; border-collapse:collapse; margin-bottom:20px; }
	.cs-cr-doc-control tr { display:table-row; }
	.cs-cr-doc-control td { display:table-cell !important; border:1px solid #333; }
	.cs-cr-doc h2, .cs-cr-doc h3 { break-after:avoid; }
	.cs-cr-doc li, .cs-cr-msg, .cs-cr-table tr { break-inside:avoid; }
	.cs-cr-fill { color:#000; border-bottom:1px solid #666; }
	.cs-cr-fill-line { background:none; outline:none; }
	.cs-cr-poster { padding:0; }
	.cs-cr-poster-url, .cs-cr-promise, .cs-cr-pill { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
