/* web/monitor/monitor.css — ShowTheBill Monitor marketing property. Own styling,
   distinct from the consumer styles.css. Light with a prefers-color-scheme dark. */
:root { --bg:#fff; --fg:#1a1f24; --dim:#5b6570; --line:#e3e7eb; --accent:#0b6b57;
        --accent-fg:#fff; --ok:#0b6b57; --warn:#9a6a00; --fail:#b3261e; --card:#f7f9fa; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#12161a; --fg:#e7ecf0; --dim:#9aa4ae; --line:#2a323a; --accent:#3ba88c;
          --accent-fg:#08110d; --card:#1a2026; }
}
* { box-sizing: border-box; }
body { margin:0; font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
       color:var(--fg); background:var(--bg); }
a { color:var(--accent); }
.mon-header { border-bottom:1px solid var(--line); }
.mon-nav { max-width:960px; margin:0 auto; padding:.7rem 1rem; display:flex;
           align-items:center; gap:1rem; flex-wrap:wrap; }
.mon-brand { font-weight:700; text-decoration:none; color:var(--fg); }
.mon-links { list-style:none; display:flex; gap:1rem; margin:0; padding:0;
             flex-wrap:wrap; align-items:center; }
.mon-links a { text-decoration:none; color:var(--fg); }
.mon-cta { background:var(--accent); color:var(--accent-fg)!important; padding:.35rem .8rem;
           border-radius:6px; }
.mon-back { margin-left:auto; color:var(--dim); text-decoration:none; font-size:.9rem; }
main.mon { max-width:760px; margin:0 auto; padding:2rem 1rem 4rem; }
.mon-hero { text-align:center; padding:1rem 0 2rem; }
.mon-hero h1 { font-size:2rem; margin:.2rem 0; }
.mon-hero p.lede { color:var(--dim); font-size:1.15rem; }
.mon-card { background:var(--card); border:1px solid var(--line); border-radius:10px;
            padding:1.2rem 1.4rem; margin:1rem 0; }
.price { font-size:2.2rem; font-weight:700; }
.price small { font-size:1rem; font-weight:400; color:var(--dim); }
button, .cta { font:inherit; background:var(--accent); color:var(--accent-fg);
               border:0; border-radius:6px; padding:.6rem 1.1rem; cursor:pointer;
               text-decoration:none; display:inline-block; }
input, textarea, select { font:inherit; width:100%; padding:.55rem .7rem;
                          border:1px solid var(--line); border-radius:6px;
                          background:var(--bg); color:var(--fg); }
label.field { display:block; margin:.9rem 0; }
label.field span { display:block; color:var(--dim); font-size:.9rem; margin-bottom:.25rem; }
.dim { color:var(--dim); }
/* free-check widget (classes rendered by check.js) */
.check-form { display:flex; gap:.5rem; margin:1rem 0; }
.check-form input { flex:1; }
.check-result h2 { margin:.3rem 0; font-size:1.2rem; }
.findings { list-style:none; padding:0; margin:.5rem 0; }
.finding { padding:.35rem 0; border-left:3px solid var(--line); padding-left:.6rem; margin:.3rem 0; }
.finding.ok { border-color:var(--ok); }
.finding.warn { border-color:var(--warn); }
.finding.fail { border-color:var(--fail); }
.finding .label { font-weight:600; }
details.receipts { margin:.6rem 0; }
.demo-note { background:var(--card); border:1px dashed var(--accent); border-radius:10px;
             padding:1rem 1.2rem; margin:1.5rem 0; }
@media (max-width:600px) { .mon-back { margin-left:0; } }
