/* Kirby Racing Vitals - public pages brand theme (navy + cream, per logo). */
:root{
  --navy:#173a5c;
  --navy-deep:#0f2942;
  --navy-soft:#2f6094;
  --cream:#f4f1e9;
  --card:#ffffff;
  --ink:#173a5c;
  --text:#33424f;
  --muted:#6b7a88;
  --border:#e4dece;
  --field:#fbfaf6;
  --ok-bg:#e9f5ee;--ok-bd:#bfe3cd;--ok-fg:#1f6f43;
  --err-bg:#fdeceb;--err-bd:#f1c3c1;--err-fg:#a3282b;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family:'Segoe UI',system-ui,Arial,sans-serif;
  background:var(--cream);
  background-image:radial-gradient(1100px 460px at 50% -10%, rgba(23,58,92,.07), transparent 70%);
  color:var(--text);margin:0;
}
.wrap{max-width:456px;margin:0 auto;padding:7vh 18px 6vh}
.card{
  background:var(--card);border:1px solid var(--border);border-radius:16px;
  padding:30px 28px;box-shadow:0 18px 46px rgba(23,58,92,.10);
}
.logo{display:block;height:78px;width:auto;max-width:80%;margin:2px auto 16px}
.brand{font-size:20px;font-weight:700;color:var(--ink);text-align:center;margin:0 0 5px}
.sub{color:var(--muted);font-size:13.5px;text-align:center;margin:0 auto 18px;max-width:37ch;line-height:1.5}
label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin:15px 0 6px}
input{
  width:100%;padding:12px 13px;background:var(--field);border:1px solid var(--border);
  border-radius:10px;color:var(--ink);font-size:15px;
}
input::placeholder{color:#aab2ba}
input:focus{outline:none;border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(23,58,92,.12)}
.btn{
  width:100%;margin-top:22px;padding:13px;border:0;border-radius:10px;background:var(--navy);
  color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,transform .05s;
}
.btn:hover{background:var(--navy-deep)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:default}
.msg{margin-top:16px;padding:11px 13px;border-radius:10px;font-size:14px;line-height:1.45;display:none}
.msg.ok{display:block;background:var(--ok-bg);border:1px solid var(--ok-bd);color:var(--ok-fg)}
.msg.err{display:block;background:var(--err-bg);border:1px solid var(--err-bd);color:var(--err-fg)}
.hint{font-size:12px;color:var(--muted);margin-top:6px}
.foot{margin-top:20px;font-size:13px;color:var(--muted);text-align:center;line-height:1.5}
a{color:var(--navy-soft);font-weight:600;text-decoration:none}
a:hover{text-decoration:underline}
.seats{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:2px}
.seats button{
  width:44px;height:44px;border:1px solid var(--border);background:var(--field);color:var(--navy);
  font-size:20px;font-weight:700;border-radius:10px;cursor:pointer;line-height:1;
}
.seats button:hover{border-color:var(--navy)}
.seats input{width:92px;text-align:center;font-size:19px;font-weight:700;padding:11px 8px}
.note{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.55;text-align:center}
