/* Friendly venue pages: one small design system for the scanner, the application
   form, the approval and confirmation pages, the staff guide and the table card.
   Built for a phone held in one hand at a busy counter: large targets, high
   contrast, one primary action per screen, light and dark, reduced motion. */
:root{
  --bg:#f6f3ee;--card:#fff;--ink:#1c1917;--ink2:#44403c;--mute:#78716c;--line:#e7e2d9;--soft:#f1ede6;
  --brand:#c2410c;--brand-ink:#fff;--brand-soft:#fff1e6;
  --ok:#15803d;--ok-soft:#e8f6ec;--bad:#b91c1c;--bad-soft:#fdeceb;--warn:#b45309;--warn-soft:#fff4e0;
  --r:16px;--r-sm:12px;--sh:0 1px 2px rgba(28,25,23,.06),0 6px 20px rgba(28,25,23,.07);
  --safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);
}
@media(prefers-color-scheme:dark){:root{
  --bg:#12100e;--card:#1c1917;--ink:#f5f1ea;--ink2:#d6d0c5;--mute:#a39b8f;--line:#322e29;--soft:#26221e;
  --brand:#fb923c;--brand-ink:#1c1917;--brand-soft:#2e2118;
  --ok:#4ade80;--ok-soft:#14301f;--bad:#f87171;--bad-soft:#341a1a;--warn:#fbbf24;--warn-soft:#33260f;
  --sh:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35)}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;min-height:100dvh}
h1{font-size:24px;line-height:1.2;margin:0 0 6px;letter-spacing:-.01em}
h2{font-size:18px;margin:0 0 6px}p{margin:8px 0}a{color:var(--brand)}
.mute{color:var(--mute)}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main{max-width:520px;margin:0 auto;padding:calc(20px + var(--safe-t)) 16px calc(40px + var(--safe-b))}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:8px}

/* Brand header used by the plain pages */
.brandbar{display:flex;align-items:center;gap:10px;margin:0 0 22px;font-weight:700;letter-spacing:-.01em}
.mark{width:34px;height:34px;border-radius:11px;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-size:18px;font-weight:800}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:14px 0;box-shadow:var(--sh)}
.card.flat{box-shadow:none}
.notice{display:flex;gap:12px;align-items:flex-start;border-radius:var(--r-sm);padding:12px 14px;background:var(--warn-soft);color:var(--ink)}
.notice.ok{background:var(--ok-soft)}.notice.bad{background:var(--bad-soft)}

button,.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;padding:0 18px;border:0;border-radius:var(--r-sm);
  background:var(--brand);color:var(--brand-ink);font-family:inherit;font-weight:700;font-size:17px;line-height:1;cursor:pointer;text-align:center;text-decoration:none;
  transition:transform .08s ease,filter .15s ease}
button:active:not(:disabled),.btn:active{transform:scale(.985)}
button:hover:not(:disabled){filter:brightness(1.05)}
button.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
button.soft{background:var(--soft);color:var(--ink)}
button.danger{background:var(--bad);color:#fff}
button.link{background:none;border:0;color:var(--brand);min-height:44px;font-weight:600;width:auto;padding:0 6px}
button:disabled{opacity:.5;cursor:not-allowed}
.btnrow{display:grid;gap:10px;margin-top:14px}

label{display:block;margin:16px 0 6px;font-weight:650;font-size:15px}
input,textarea{width:100%;min-height:52px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);font:inherit}
input:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 22%,transparent)}
.help{font-size:13.5px;color:var(--mute);margin:6px 0 0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{margin:0;font-weight:550}
.chips input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);cursor:pointer;transition:all .12s}
.chips input:checked+span{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:700}
.chips input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}
.badge{display:inline-block;font-size:12px;padding:3px 10px;border-radius:999px;background:var(--soft);color:var(--mute);font-weight:650}
ol.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:14px}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start}
ol.steps li::before{content:counter(s);width:36px;height:36px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800;display:grid;place-items:center}
.big{font-size:20px;font-weight:750;line-height:1.3}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
