/* Shared look for every page: warm cream canvas, amber accents, white cards. Light theme only so the
   slip, the saved image and the printout all look the same everywhere. */
:root {
  color-scheme: light;
  --bg: #fff7de; --card: #ffffff; --ink: #1f1708; --muted: #7b6a49; --line: #f1e5c0; --line-strong: #e6d49c;
  --accent: #ffc400; --accent-ink: #2a1a00; --accent-deep: #f59e00; --red: #e8452c;
  --soft: #fff2bf; --link: #8a5a00; --ok: #1a7f4b; --bad: #b42318; --warn: #a35200; --warn-bg: #fff0d9; --mark: #ffe680;
  --male: #1f5fd1; --female: #c2338a; --other: #7a8494;
  --shadow: 0 1px 2px rgba(120, 80, 0, .08), 0 8px 22px rgba(120, 80, 0, .08);
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font: 15px/1.55 "Noto Sans Telugu", "Noto Sans", "Nirmala UI", "Segoe UI", system-ui, -apple-system, sans-serif;
}
/* Rounded display face for headings and big numbers, as on the reference (Telugu falls back to Noto Sans Telugu). */
h1, h2, .display, .brand b { font-family: "Baloo 2", "Noto Sans Telugu", "Noto Sans", "Nirmala UI", system-ui, sans-serif; }
a { color: var(--link); }
input, select, button, textarea { font: inherit; color: inherit; }
.Male { color: var(--male); } .Female { color: var(--female); } .Other { color: var(--other); }

/* ---- top bar ---- */
.topbar { position: sticky; top: 0; z-index: 20; background: #fffdf4; border-bottom: 1px solid var(--line); }
.topbar::before { content: ""; display: block; height: 4px; background: linear-gradient(90deg, #ff8f00, #e8452c 50%, #ffc400); }
.topbar .in { max-width: 1024px; margin: 0 auto; padding: 9px 16px; display: flex; align-items: center; gap: 12px; }
.brand .logo { flex: none; height: 36px; width: auto; display: block; }
.brand { display: flex; align-items: center; gap: 11px; min-width: 0; flex: 1; text-decoration: none; color: inherit; }
.emblem { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #ffd54f, #ff8f00); box-shadow: inset 0 0 0 2px #fff, 0 1px 4px rgba(120, 80, 0, .3); }
.emblem svg { width: 24px; height: 24px; }
.brand b { display: block; font-size: 18px; line-height: 1.2; }
.brand small { display: block; color: var(--muted); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pill { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; cursor: pointer; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--ink); white-space: nowrap; }
.pill svg { width: 18px; height: 18px; flex: none; }
.pill:hover { border-color: var(--accent-deep); }
.pill.primary { background: var(--accent); border-color: transparent; color: var(--accent-ink); }
.pill.primary:hover { background: #ffcf2e; }
.pill:disabled { opacity: .6; cursor: progress; }

/* ---- layout ---- */
.wrap { max-width: 980px; margin: 0 auto; padding: 0 16px 56px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
h2.sec { display: flex; align-items: center; gap: 8px; font-size: 19px; margin: 28px 0 12px; }
.hint { color: var(--muted); font-size: 12.5px; margin: 6px 0 0; }
.toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); background: var(--ink); color: #fff; padding: 9px 18px; border-radius: 999px; font-size: 13.5px; opacity: 0; transition: opacity .2s; pointer-events: none; z-index: 50; }
.toast.show { opacity: 1; }
footer.foot { margin-top: 34px; color: var(--muted); font-size: 12.5px; text-align: center; line-height: 1.8; }
mark { background: var(--mark); color: inherit; border-radius: 3px; padding: 0 1px; }
.badge { display: inline-block; padding: 0 9px; border-radius: 999px; font-size: 12px; border: 1px solid currentColor; }
.badge.review { color: var(--warn); background: var(--warn-bg); border-color: transparent; }
.badge.fam { color: var(--link); background: var(--soft); border-color: transparent; }
