/* Portal chrome: sign-in, the client's report list, the bar above a report, and the comments drawer.
   Colours come from each client's brand (set as --rp-* on :root by the Worker). */
:root{--rp-bg:#141414;--rp-surface:#1c1c1c;--rp-line:#2f2f2f;--rp-ink:#f6f7f8;--rp-muted:#8e9196;--rp-accent:#c6a553;--rp-accent-ink:#141414;
  --rp-display:Georgia,serif;--rp-body:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--rp-new:#62c48a;color-scheme:dark}
body.rp-page{margin:0;background:var(--rp-bg);color:var(--rp-ink);font-family:var(--rp-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.rp-page a{color:var(--rp-accent)}
.rp-wrap{max-width:1040px;margin:0 auto;padding-block:32px 64px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.rp-page h1{font-family:var(--rp-display);font-weight:600;font-size:clamp(36px,6vw,52px);line-height:1.05;margin:28px 0 8px}
.rp-page .lead{color:#c4c6c9;font-size:17px;margin:0 0 8px}
.rp-page .small{font-size:13px}.rp-page .muted{color:var(--rp-muted)}
.rp-page .eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rp-accent);margin:40px 0 12px}
.rp-page header.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--rp-accent);padding-bottom:18px}
.rp-page .logo{display:block;width:190px;max-width:60%;height:auto}
.rp-page .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:14px}
.rp-page .hist{display:grid;gap:10px}
.rp-page .rep{background:var(--rp-surface);border:1px solid var(--rp-line);padding:20px 22px;min-width:0;display:flex;flex-direction:column}
.rp-page .grid .rep .acts{margin-top:auto;padding-top:16px}
.rp-page .rep.new{border-color:color-mix(in srgb,var(--rp-new) 55%,var(--rp-line))}
.rp-page .rep h2{font-family:var(--rp-display);font-weight:600;font-size:28px;line-height:1.15;margin:10px 0 2px}
.rp-page .rep h2 a{color:var(--rp-ink);text-decoration:none}.rp-page .rep h2 a:hover{color:var(--rp-accent)}
.rp-page .rep p{margin:6px 0 0;color:#c4c6c9}.rp-page .rep .period{color:var(--rp-muted);font-size:14px;margin-top:0}
.rp-page .rep-top{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--rp-muted)}
.rp-page .tag{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--rp-new);color:#0f2a1a}
.rp-page .tag.wait{background:#e3a04f;color:#2a1a05}
.rp-page .tag.read{background:transparent;border:1px solid var(--rp-line);color:var(--rp-muted)}
.rp-page .acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.rp-page .btn{display:inline-block;padding:10px 16px;border-radius:4px;background:var(--rp-accent);color:var(--rp-accent-ink);font-weight:600;font-size:14px;text-decoration:none}
.rp-page .btn.ghost{background:transparent;color:var(--rp-ink);border:1px solid var(--rp-line)}
.rp-page .btn:hover{filter:brightness(1.08)}
.rp-page .hist .rep h2{font-size:22px}
.rp-page footer{margin-top:56px;border-top:1px solid var(--rp-line);padding-top:16px}
.rp-page .login{max-width:420px;margin:8vh auto 0;display:grid;gap:6px}
.rp-page .login h1{margin-top:20px}
.rp-page .form{display:grid;gap:10px;margin-top:6px}
.rp-page label{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rp-muted)}
.rp-page input{font:inherit;font-size:17px;padding:12px 14px;background:var(--rp-surface);color:var(--rp-ink);border:1px solid var(--rp-line);border-radius:4px}
.rp-page input:focus,.rp-page button:focus-visible,.rp-page a:focus-visible{outline:2px solid var(--rp-accent);outline-offset:2px}
.rp-page #code{letter-spacing:.4em;font-size:22px;text-align:center}
.rp-page button{font:inherit;font-weight:600;padding:12px 16px;border:0;border-radius:4px;background:var(--rp-accent);color:var(--rp-accent-ink);cursor:pointer}
.rp-page .msg{background:color-mix(in srgb,#e5675a 14%,var(--rp-surface));border:1px solid #e5675a;padding:10px 12px;border-radius:4px;font-size:15px}

/* bar above a report */
.rp-bar{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:10px max(20px,env(safe-area-inset-left,0px));
  background:color-mix(in srgb,var(--rp-bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rp-line);font:500 14px/1.3 Inter,system-ui,sans-serif}
.rp-bar a{color:var(--rp-ink);text-decoration:none}.rp-bar a:hover{color:var(--rp-accent)}
.rp-bar .rp-title{color:var(--rp-muted)}.rp-bar .rp-sp{flex:1}
.rp-bar button{font:inherit;cursor:pointer;background:var(--rp-accent);color:var(--rp-accent-ink);border:0;border-radius:4px;padding:6px 12px;font-weight:600}

/* per-section comment buttons + drawer */
.rp-cbtn{font:500 12px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;margin-left:12px;vertical-align:middle;cursor:pointer;background:transparent;color:var(--rp-muted);border:1px solid var(--rp-line);border-radius:999px;padding:5px 10px}
.rp-cbtn:hover,.rp-cbtn.has{color:var(--rp-accent);border-color:var(--rp-accent)}
.rp-drawer{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(420px,100vw);background:var(--rp-surface);border-left:1px solid var(--rp-line);box-shadow:-20px 0 40px rgba(0,0,0,.4);
  display:flex;flex-direction:column;font:15px/1.5 Inter,system-ui,sans-serif;color:var(--rp-ink)}
.rp-drawer[hidden]{display:none}
.rp-dh{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--rp-line)}
.rp-dh b{flex:1;font-size:15px}.rp-dh button{background:transparent;border:0;color:var(--rp-muted);font-size:22px;cursor:pointer;line-height:1}
.rp-list{flex:1;overflow:auto;padding:8px 18px}
.rp-c{padding:12px 0;border-bottom:1px solid var(--rp-line)}
.rp-c .m{font-size:12px;color:var(--rp-muted)}.rp-c .s{font-size:12px;color:var(--rp-accent);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.rp-c p{margin:4px 0 0;white-space:pre-wrap}
.rp-empty{color:var(--rp-muted);padding:16px 0}
.rp-form{padding:14px 18px;border-top:1px solid var(--rp-line);display:grid;gap:8px}
.rp-form textarea{font:inherit;min-height:92px;resize:vertical;padding:10px 12px;background:var(--rp-bg);color:var(--rp-ink);border:1px solid var(--rp-line);border-radius:4px}
.rp-form button{justify-self:end;font:inherit;font-weight:600;padding:9px 16px;border:0;border-radius:4px;background:var(--rp-accent);color:var(--rp-accent-ink);cursor:pointer}
.rp-form .rp-on{font-size:12px;color:var(--rp-muted)}
@media print{.rp-bar,.rp-cbtn,.rp-drawer{display:none!important}}

/* ---------- light theme (switch at the top of every page; starts from the device setting) ---------- */
.rp-theme,.rp-page .rp-theme,.rp-bar .rp-theme{font:500 13px/1 Inter,system-ui,sans-serif;cursor:pointer;background:transparent;color:var(--rp-ink);border:1px solid var(--rp-line);border-radius:999px;padding:6px 12px;margin-right:6px}
.rp-theme:hover,.rp-page .rp-theme:hover,.rp-bar .rp-theme:hover{border-color:var(--rp-accent);color:var(--rp-accent)}
.rp-page .login .rp-theme{justify-self:start;margin-top:10px}
html[data-theme="light"]{--rp-bg:#f3f3f1;--rp-surface:#ffffff;--rp-line:#e0dfdb;--rp-ink:#17181a;--rp-muted:#6a6e74;--rp-accent:#8a6d1f;--rp-accent-ink:#ffffff;--rp-new:#1e8a4c;color-scheme:light}
html[data-theme="light"] .rp-page .lead,html[data-theme="light"] .rp-page .rep p{color:#3f4247}
html[data-theme="light"] .rp-page .tag{color:#fff}
html[data-theme="light"] .rp-page .tag.wait{background:#b26b0e;color:#fff}
html[data-theme="light"] .rp-page .rep{box-shadow:0 1px 2px rgba(0,0,0,.05)}
html[data-theme="light"] img.logo{filter:invert(1) brightness(.12)}

/* reports: their own colour tokens, re-pointed for light (covers both report families) */
html[data-theme="light"]{
  --bg:#f3f3f1;--surface:#ffffff;--surface-2:#efeeeb;--ink:#17181a;--ink-2:#3f4247;--muted:#6a6e74;--line:#e0dfdb;
  --gold:#8a6d1f;--gold-hi:#7a5f14;--gold-soft:#f1e9d4;--accent:#8a6d1f;--accent-ink:#7a5f14;
  --good:#1e8a4c;--amber:#b26b0e;--warn:#b26b0e;--bad:#c0392b;--blue:#2f74b5;--plain:#2f74b5;--bar:#2f74b5;--bar-soft:#e6e6e3;--o:#c4621d;--x:#7f1d1d;
  --rm-bg:#f3f3f1;--rm-surface:#ffffff;--rm-surface-2:#efeeeb;--rm-line:#e0dfdb;--rm-ink:#17181a;--rm-muted:#6a6e74;--rm-gold:#8a6d1f;--rm-good:#1e8a4c;--rm-bad:#c0392b;
}
html[data-theme="light"] body{background:var(--bg);color:var(--ink)}
html[data-theme="light"] .tip{background:#fff;color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.15)}
html[data-theme="light"] .heat td.c.r1,html[data-theme="light"] .heat td.c.r2,html[data-theme="light"] .heat td.c.r4{color:#fff}
html[data-theme="light"] .heat td.c.zero{color:#8f2219}
html[data-theme="light"] .pill.good,html[data-theme="light"] .pill.accent,html[data-theme="light"] .pill.warn{color:#fff}
html[data-theme="light"] .card,html[data-theme="light"] .tile,html[data-theme="light"] .step,html[data-theme="light"] .short .f{box-shadow:0 1px 2px rgba(0,0,0,.05)}
@media print{.rp-theme{display:none!important}}
