:root {
  --maroon: #7A2420; --maroon-deep: #521612; --gold: #E5A823; --gold-pale: #FBEFC8; --gold-dark: #8A5A00;
  --ivory: #FFFBF2; --ink: #2E2A2B; --quiet: #6B6366; --line: #EADFCB;
  --good: #2E7D4F; --warn: #B26A00; --bad: #C62828;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--ivory); color: var(--ink); font: 15px/1.5 'Noto Sans', system-ui, sans-serif; }
.bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 12px 16px;
  background: linear-gradient(135deg, var(--maroon), var(--maroon-deep)); color: var(--ivory); }
.brand { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.brand .name { font: 700 19px/1.1 'Cinzel', serif; letter-spacing: .12em; }
.brand .tag { font-size: 12px; color: var(--gold); }
:lang(mr) .brand .name, .brand.mr .name { font: 600 21px/1.2 'Noto Serif Devanagari', serif; letter-spacing: 0; }
.brand.mr .tag { font-family: 'Noto Serif Devanagari', serif; font-size: 13px; }
.lang { background: transparent; border: 1px solid rgba(229,168,35,.6); color: var(--gold); border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; }
main { max-width: 720px; margin: 0 auto; padding: 16px; display: grid; gap: 14px; }
.intro { margin: 4px 2px; color: var(--quiet); }
.card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 16px; box-shadow: 0 1px 2px rgba(82,22,18,.06); }
.card h2 { margin: 0 0 12px; font-size: 16px; color: var(--maroon-deep); display: flex; align-items: center; gap: 10px; }
.step { width: 26px; height: 26px; border-radius: 50%; background: var(--gold-pale); color: var(--gold-dark); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }
.note { margin: 0 0 12px; color: var(--quiet); font-size: 14px; }
.field { display: grid; gap: 4px; margin-bottom: 12px; font-size: 13px; color: var(--quiet); }
.field input { font: inherit; color: var(--ink); padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--ivory); }
.field input:focus { outline: 2px solid var(--gold); border-color: var(--gold); }
.row { display: flex; gap: 10px; flex-wrap: wrap; }
button.primary, button.secondary { font: 600 15px 'Noto Sans', sans-serif; border-radius: 12px; padding: 11px 18px; cursor: pointer; border: 0; }
button.primary { background: var(--maroon); color: var(--ivory); }
button.primary:hover:not(:disabled) { background: var(--maroon-deep); }
button.secondary { background: var(--gold-pale); color: var(--maroon-deep); border: 1px solid var(--gold); }
button:disabled { opacity: .45; cursor: not-allowed; }
.status { margin: 10px 0 0; font-size: 14px; }
.status.good { color: var(--good); } .status.warn { color: var(--warn); } .status.bad { color: var(--bad); }
.status a { color: var(--maroon); font-weight: 600; }
.tablewrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 14px; }
th { text-align: left; font-weight: 600; color: var(--quiet); border-bottom: 2px solid var(--line); padding: 6px 8px; }
td { border-bottom: 1px solid var(--line); padding: 8px; vertical-align: top; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
td.missing { color: var(--warn); }
.checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.checks li { padding-left: 30px; position: relative; color: var(--quiet); }
.checks li::before { content: ''; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line); }
.checks li.done { color: var(--ink); }
.checks li.done::before { background: var(--good); border-color: var(--good); }
.checks li.done::after { content: ''; position: absolute; left: 7px; top: 5px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.checks li.fail::before { border-color: var(--bad); }
footer { text-align: center; color: var(--quiet); font-size: 12px; padding: 24px 16px 40px; }
td.date { white-space: nowrap; }
