/* ==========================================================================
   Moustr sample reports — shared document system  (report.v1.css)
   Three reports, one chrome. Each is a sequence of .sheet blocks that
   paginate on screen and break cleanly in print. Per-report accent set by a
   body class: .r-board / .r-estate / .r-commercial.
   ========================================================================== */
:root{
  --sheet-w:940px;
  --acc:var(--sage-ink);
  --acc-soft:var(--sage-bg);
  --acc-line:#C6D6C8;
}
body.r-estate{--acc:#2B4A63;--acc-soft:#E8EEF3;--acc-line:#C2D2DE}
body.r-commercial{--acc:var(--amber-ink);--acc-soft:var(--amber-bg);--acc-line:#E7CFA2}

.rwrap{max-width:var(--sheet-w);margin:0 auto;padding:0 var(--gut)}

/* ---- the sheet ---- */
.sheet{
  background:#fff;border:1px solid var(--rule);border-radius:3px;
  padding:clamp(24px,3.4vw,46px) clamp(22px,3.4vw,48px) 0;
  box-shadow:0 1px 0 rgba(11,11,11,.04),0 10px 30px rgba(11,11,11,.055);
  margin-bottom:26px;position:relative;display:flex;flex-direction:column;min-height:0}
.sheet-foot{
  margin-top:auto;padding:16px 0 18px;border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  font-size:11px;letter-spacing:.05em;color:var(--slate);font-weight:600}
.sheet-foot .doc-id{font-variant-numeric:tabular-nums}

/* ---- running head ---- */
.rhead{border-bottom:2px solid var(--ink);padding-bottom:16px}
.rhead .for{font-size:11px;letter-spacing:.1em;color:var(--acc);font-weight:700}
.rhead h1{font-size:clamp(21px,2.5vw,29px);font-weight:800;letter-spacing:-.024em;
  margin-top:8px;line-height:1.14;max-width:30ch}
.rhead .sub{font-size:14.5px;color:var(--slate);margin-top:9px;max-width:72ch;line-height:1.5}
.contd{border-bottom:1px solid var(--rule);padding-bottom:13px;
  font-size:11px;letter-spacing:.09em;color:var(--slate);font-weight:700}

/* ---- meta strip ---- */
.rmeta{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rule);
  margin-bottom:8px}
.rmeta div{padding:12px 16px 12px 0;border-right:1px solid var(--rule)}
.rmeta div:last-child{border-right:0}
.rmeta dt{font-size:10px;letter-spacing:.08em;color:var(--slate);font-weight:700;margin-bottom:4px}
.rmeta dd{font-size:14px;font-weight:600;margin:0}

/* ---- illustrative banner ---- */
.illus{display:block;background:var(--amber-bg);border:1px solid #E7CFA2;border-radius:3px;
  padding:11px 14px;margin-bottom:26px}
.illus b{display:block;font-size:13.5px}
.illus p{font-size:13px;color:#7A4E0B;margin-top:3px;line-height:1.45;max-width:86ch}

/* ---- sections ---- */
.rsec{margin-top:30px;page-break-inside:avoid}
.rsec:first-of-type{margin-top:26px}
.rsec > h2{font-size:11px;letter-spacing:.1em;color:var(--slate);font-weight:700;
  padding-bottom:8px;border-bottom:1px solid var(--rule)}
.rsec > h3{font-size:clamp(17px,1.7vw,21px);font-weight:700;letter-spacing:-.016em;margin-top:14px;
  max-width:44ch}
.rsec p{font-size:15px;line-height:1.58;margin-top:11px;max-width:76ch}
.rsec p.q{color:var(--slate);font-size:14px;border-left:2px solid var(--acc-line);padding-left:13px}

/* ---- figure row ---- */
.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.figs.three{grid-template-columns:repeat(3,1fr)}
.fig{border:1px solid var(--rule);border-radius:3px;padding:13px 14px;background:var(--paper)}
.fig b{display:block;font-size:25px;font-weight:800;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;line-height:1.05}
.fig span{display:block;font-size:10.5px;letter-spacing:.05em;color:var(--slate);
  font-weight:700;margin-top:5px;line-height:1.35}
.fig.warn b{color:var(--terra)}
.fig.ok b{color:var(--sage-ink)}
.fig.acc b{color:var(--acc)}

/* ---- tables ---- */
table.rt{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}
table.rt th{text-align:left;font-size:10.5px;letter-spacing:.06em;color:var(--slate);font-weight:700;
  padding:8px 9px;background:var(--paper);border-bottom:1px solid var(--rule);white-space:nowrap}
table.rt td{padding:10px 9px;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.42}
table.rt tr:last-child td{border-bottom:0}
table.rt .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.rt .sm2{display:block;font-size:12.5px;color:var(--slate);margin-top:2px;line-height:1.4}
table.rt.dense{font-size:13px}
table.rt.dense td{padding:7px 9px}
table.rt.zebra tbody tr:nth-child(even){background:#FBFAF7}

/* ---- tags ---- */
.tag{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:3px;
  border:1px solid;white-space:nowrap;letter-spacing:.02em}
.t-hi{color:var(--terra);border-color:#DFAF9F;background:var(--terra-bg)}
.t-md{color:var(--amber-ink);border-color:#E7CFA2;background:var(--amber-bg)}
.t-ok{color:var(--sage-ink);border-color:#BFD2C3;background:var(--sage-bg)}
.t-no{color:var(--slate);border-color:var(--rule);background:var(--paper)}
.t-acc{color:var(--acc);border-color:var(--acc-line);background:var(--acc-soft)}

/* ---- list ---- */
ul.rl{margin-top:13px;padding-left:0;list-style:none}
ul.rl li{position:relative;padding:8px 0 8px 21px;border-bottom:1px solid var(--rule);
  font-size:14.5px;line-height:1.5;max-width:80ch}
ul.rl li:last-child{border-bottom:0}
ul.rl li::before{content:'';position:absolute;left:2px;top:15px;width:7px;height:7px;
  border:1.5px solid var(--slate);border-radius:1px}

/* ---- the ask / callout ---- */
.ask{background:var(--acc-soft);border:1px solid var(--acc-line);border-radius:3px;
  padding:18px 20px;margin-top:18px}
.ask h4{font-size:14.5px;font-weight:700;margin-bottom:8px}
.ask ol{margin:0;padding-left:19px;font-size:14.5px;line-height:1.55}
.ask li{margin-top:6px}
.wip{background:var(--paper);border:1px dashed #C9C5B6;border-radius:3px;padding:14px 16px;
  margin-top:16px}
.wip b{font-size:13.5px}
.wip p{font-size:13.5px;color:var(--slate);margin-top:4px;line-height:1.5;max-width:80ch}

/* ---- sign-off ---- */
.signoff{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;
  padding-top:18px;border-top:2px solid var(--ink)}
.signoff dt{font-size:10px;letter-spacing:.08em;color:var(--slate);font-weight:700}
.signoff dd{margin:5px 0 0;font-size:14px;font-weight:600}

/* ---- actions bar ---- */
.racts{display:flex;flex-wrap:wrap;gap:11px;margin:4px 0 8px}
.rnote{font-size:13.5px;color:var(--slate);margin-top:10px;max-width:76ch;line-height:1.5}

/* ---- sibling reports strip ---- */
.rsibs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px}
.rsib{display:block;text-decoration:none;background:#fff;border:1px solid var(--rule);
  border-radius:3px;padding:17px 18px;transition:border-color .15s ease,transform .15s ease,
  box-shadow .15s ease}
.rsib:hover{border-color:var(--ink);transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(11,11,11,.07)}
.rsib .ty{font-size:10px;letter-spacing:.09em;font-weight:700;color:var(--slate)}
.rsib h3{font-size:16.5px;font-weight:700;margin-top:6px;letter-spacing:-.012em}
.rsib p{font-size:13.5px;color:var(--slate);margin-top:5px;line-height:1.45}
.rsib .mt{font-size:12.5px;font-weight:600;color:var(--acc);margin-top:9px;display:block}

@media(max-width:820px){
  .rmeta,.figs,.figs.three,.signoff{grid-template-columns:repeat(2,1fr)}
  .rmeta div{border-right:0;border-bottom:1px solid var(--rule)}
  .rsibs{grid-template-columns:1fr}
  table.rt{font-size:13px}
}
@media(max-width:560px){
  .tblscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tblscroll table.rt{min-width:620px}
}

/* ==========================================================================
   PRINT — one .sheet per page
   ========================================================================== */
@media print{
  nav,.trail,footer,.racts,.rnote,.rsibs,.noprint,.consent,#consent{display:none!important}
  html,body{background:#fff!important}
  body{font-size:10.5pt;color:#000}
  .rwrap{max-width:none;padding:0}
  .sheet{border:0;box-shadow:none;border-radius:0;margin:0;padding:0;
    page-break-after:always;break-after:page;min-height:0}
  .sheet:last-of-type{page-break-after:auto;break-after:auto}
  .sheet-foot{border-top:1px solid #999;margin-top:20pt}
  .illus{background:#fff;border:1px solid #666}
  .ask,.wip{background:#fff;border:1px solid #666}
  .fig{background:#fff;border:1px solid #999}
  table.rt th{background:#fff;border-bottom:1px solid #000}
  table.rt.zebra tbody tr:nth-child(even){background:#fff}
  .rsec{margin-top:16pt}
  a{text-decoration:none;color:#000}
  @page{size:A4;margin:14mm 13mm}
}
