/* Sign-in, sign-up and People: one card on the page. */
body.account .card { max-width: 30rem; margin: 32px auto; padding: 26px 24px; background: var(--card);
  border: 1px solid var(--line); border-radius: 12px; }
body.account.wide .card { max-width: 64rem; }
body.account h1 { margin: 0 0 8px; font-size: 1.45rem; color: var(--green); }
body.account .lead { margin: 0 0 20px; color: var(--muted); }
body.account label { display: block; margin: 0 0 14px; font-weight: 600; font-size: .92rem; }
body.account label small { font-weight: 400; color: var(--muted); }
body.account label .field { display: block; margin-top: 6px; font-size: 1.05rem; }
body.account .field.code { font-size: 1.6rem; letter-spacing: .3em; font-variant-numeric: tabular-nums; max-width: 12rem; font-family: var(--font-mono); }
body.account .btn + .btn { margin-left: 8px; }
body.account .error { margin: 6px 0 12px; padding: 10px 12px; border-radius: 8px; background: var(--red-soft); color: var(--red); }
body.account .alt { margin: 18px 0 0; color: var(--muted); font-size: .92rem; }
@media (max-width: 420px) { body.account .card { margin: 0; border-radius: 0; border-left: 0; border-right: 0; } }
.people-wrap { overflow-x: auto; }
table.people { width: 100%; border-collapse: collapse; margin-top: 10px; min-width: 40rem; }
table.people th { text-align: left; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
  padding: 8px 6px; border-bottom: 1px solid var(--line); }
table.people td { padding: 10px 6px; border-bottom: 1px solid var(--line); vertical-align: middle; }
table.people tr.pending td { background: #F2F7F5; }
table.people .actions { text-align: right; white-space: nowrap; }
table.people .actions .btn { margin-left: 6px; }
table.people select { min-height: 36px; padding: 4px 8px; font-size: .9rem; }
.pill.pending { background: var(--amber-soft); color: var(--amber); }
.pill.active { background: var(--green-soft); color: var(--green); }
.pill.disabled { background: #EEE; color: #666; }
/* Plan 3 (R1): unsent reports kept through an expired session - count and masked owner only. */
body.account .waiting { color: var(--amber); font-weight: 600; }
/* Plan 3b: Owners and email. */
body.account .settings-part { margin: 28px 0 0; }
body.account .settings-part h2 { margin: 0 0 6px; font-size: 1.1rem; color: var(--navy); }
body.account .settings-part h3 { margin: 16px 0 6px; font-size: .95rem; }
body.account .settings-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0 0; }
body.account .settings-form .field { flex: 1 1 14rem; width: auto; }
body.account .settings-form .btn + .btn { margin-left: 0; }
body.account ul.plain { list-style: none; margin: 0; padding: 0; }
body.account ul.plain li { margin: 0 0 6px; }
body.account ul.plain .btn { margin-left: 8px; }
body.account p[role="status"]:empty { margin: 0; }
body.account p[role="status"]:focus, body.account p[role="alert"]:focus { outline: none; }
/* Review M8: a pull no later than the last data load - greyed, and labelled in its own words. */
table.people tr.stale td { color: var(--muted); background: #F4F4F2; }
