/* ContractorCost Pro — shared styles for the policy pages
   (privacy.html, terms.html, refund.html, qbo-disconnected.html). */
:root {
  --ink: #1f2933;
  --muted: #52606d;
  --brand: #4d5c63;
  --gold: #febf2e;
  --line: #e4e7eb;
  --bg: #ffffff;
  --panel: #f5f7fa;
  --link: #1d4ed8;
}
@media (prefers-color-scheme: dark) {
  :root {
    --ink: #e4e7eb;
    --muted: #9aa5b1;
    --brand: #cbd2d9;
    --line: #3e4c59;
    --bg: #12181d;
    --panel: #1b242b;
    --link: #93c5fd;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
header.site {
  border-bottom: 4px solid var(--gold);
  padding: 18px 16px;
}
header.site .inner, footer.site .inner { max-width: 760px; margin: 0 auto; }
main { max-width: 792px; margin: 0 auto; }   /* 760 of text + 16 px padding each side, lined up with the header */
header.site a.brand {
  color: var(--brand);
  font-weight: 800;
  font-size: 22px;
  text-decoration: none;
  letter-spacing: -0.01em;
}
header.site a.brand span { color: var(--gold); }
main { padding: 24px 16px 48px; }
h1 { font-size: 30px; line-height: 1.2; margin: 8px 0 4px; }
.updated { color: var(--muted); margin: 0 0 24px; }
h2 { font-size: 20px; margin: 32px 0 8px; padding-top: 8px; border-top: 1px solid var(--line); }
h3 { font-size: 17px; margin: 20px 0 4px; }
p, li { max-width: 70ch; }
ul { padding-left: 22px; }
li { margin: 4px 0; }
a { color: var(--link); }
.summary {
  background: var(--panel);
  border-left: 4px solid var(--gold);
  padding: 12px 16px;
  margin: 0 0 8px;
}
.summary p { margin: 6px 0; }
table { border-collapse: collapse; width: 100%; margin: 8px 0 16px; font-size: 15px; }
th, td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--line); }
th { background: var(--panel); }
.table-wrap { overflow-x: auto; }
.caps { text-transform: uppercase; font-size: 14px; letter-spacing: 0.01em; }
.button {
  display: inline-block;
  background: var(--brand);
  color: #fff;
  padding: 10px 18px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
}
@media (prefers-color-scheme: dark) { .button { color: #12181d; } }
footer.site {
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 14px;
  padding: 16px;
}
footer.site a { margin-right: 14px; }
@media print {
  header.site, footer.site { border: none; }
  a { color: inherit; }
}
