/* PJ Rodeo 2027 — design tokens (black + slate #324a6d, sparing red). Square corners. */
:root{
  --slate:#324a6d; --slate2:#22344e; --black:#000; --ink:#0a0a0a; --red:#e00000;
  --card:#fff; --line:#e4e9f0; --muted:#5f6b7c; --bg:#f2f4f8;
  --inputline:#cfd7e2; --dash:#a6afbd; --dashtxt:#7a8699;
  --meal:#2e7d5b; --social:#8e44ad; --competition:#c0392b; --expo:#b8860b;
  --vendor:#1d6fb8; --ceremony:#34495e; --award:#c8a24a; --admin:#7a8699;
  --ok:#2e7d5b; --okbg:#eaf4ef; --err:#b3261e; --errbg:#fdecea;
  --dk:#0a0f18; --dk2:#101a2b; --dk3:#152238; --dkline:#1c2740; --dkline2:#25314a;
  --dkmuted:#8fa3c2; --dktext:#c9d4e4; --dkhead:#17233a; --gold:#c8a24a; --silver:#aab6c8; --bronze:#9c7b4e;
  --synced:#6fcf97; --queued:#e0a800;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.45}
a{color:var(--slate);text-decoration:none}
img{display:block}
.mono{font-family:ui-monospace,Menlo,monospace}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
button,input,select,textarea{font-family:inherit;font-size:14px}

/* header/nav */
header.site{background:#000;color:#fff}
header.site .bar{display:flex;align-items:center;gap:22px;height:64px;max-width:1240px;margin:0 auto;padding:0 24px}
header.site .bar img{height:42px;width:auto;filter:drop-shadow(0 0 1px #fff)}
header.site nav{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;font-weight:600;letter-spacing:.04em}
header.site nav a{color:#aab6c8;padding:20px 0;border-bottom:2px solid transparent;white-space:nowrap}
header.site nav a.active{color:#fff;border-bottom-color:var(--slate)}
header.site nav a:hover{color:#fff}
header.site .spacer{flex:1}
.btn-reg{background:var(--red);color:#fff;font-weight:700;font-size:13px;letter-spacing:.08em;padding:10px 20px;border:0;cursor:pointer;text-transform:uppercase}
.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer}
.hamburger span{width:20px;height:2px;background:#fff}

@media(max-width:820px){
  header.site nav{display:none;position:absolute;top:56px;left:0;right:0;background:#000;flex-direction:column;gap:0;padding:8px 24px 16px;z-index:40}
  header.site nav.open{display:flex}
  header.site nav a{padding:12px 0;border-bottom:1px solid #1c2740}
  header.site .bar{height:56px}
  .hamburger{display:flex}
}

/* buttons */
.btn{cursor:pointer;border:0;font-weight:700;letter-spacing:.06em;padding:12px 22px;font-size:13px}
.btn-red{background:var(--red);color:#fff}
.btn-slate{background:var(--slate);color:#fff}
.btn-ghost{background:#fff;border:1px solid var(--slate);color:var(--slate)}
.btn-dark{background:#000;color:#fff}
.btn-ok{background:var(--ok);color:#fff}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* cards / surfaces */
.card{background:#fff;border:1px solid var(--line);padding:22px 24px}
.page-title{font-size:26px;font-weight:800;margin:0}
.muted{color:var(--muted)}
.tbd{font:600 9.5px ui-monospace,monospace;color:var(--dashtxt);border:1px dashed var(--dash);padding:1px 5px;letter-spacing:.05em}
.chip{font-size:11px;font-weight:700;padding:2px 8px;letter-spacing:.06em;display:inline-block}
.chip-cat{color:var(--slate);border:1px solid var(--slate)}
.chip-plain{color:var(--muted);border:1px solid var(--inputline)}
.chip-paid{color:var(--ok);background:var(--okbg)}
.chip-pending{color:var(--err);background:var(--errbg)}
.chip-refunded{color:var(--muted);background:#eef1f5}

/* forms */
label.fld{display:block}
.fld .lbl{font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}
input.in,select.in,textarea.in{width:100%;border:1px solid var(--inputline);background:#fff;padding:10px 12px;font-size:14px;color:var(--ink)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}

/* footer */
footer.site{background:#000;color:#fff;display:flex;align-items:center;gap:24px;padding:24px;flex-wrap:wrap}
footer.site img{height:44px;width:auto}
footer.site .assoc{font-size:12px;color:#8fa3c2}
footer.site .motto{flex:1;text-align:center;font-size:15px;font-weight:700;letter-spacing:.3em;color:var(--dktext);min-width:200px}
footer.site .rights{font-size:10px;color:#5f6b7c;max-width:280px;text-align:right}

/* toast */
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#111;color:#fff;padding:12px 20px;font-size:13px;z-index:100;opacity:0;transition:opacity .2s;pointer-events:none;max-width:90%}
#toast.show{opacity:1}

/* dark scoring surfaces */
.dark{background:var(--dk);color:#fff}
