/* Shared styles for the simple pages (privacy, disclaimer, not found, admin
   sign-in). Colours and type follow the SteelX design. */
:root {
  --navy: #0d3346;
  --navy-deep: #092536;
  --gold: #f5b224;
  --ink: #16242c;
  --grey: #5b6a73;
  --line: #dfe5e9;
  --error: #b3452b;
}
* { box-sizing: border-box; }
body { margin: 0; background: #ffffff; color: var(--ink); font: 16px/1.7 Lato, system-ui, sans-serif; }
a { color: var(--navy); }
a:hover { color: var(--gold); }
.bar { background: var(--navy); }
.bar-inner, .content, .foot-inner { max-width: 880px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 40px); }
.bar-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; }
.bar img { height: 30px; width: auto; display: block; }
.bar a.back { color: #cddbe3; text-decoration: none; font: 600 14px/1 "Barlow Condensed", sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.bar a.back:hover { color: var(--gold); }
.content { padding-top: 56px; padding-bottom: 72px; }
.eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; font: 600 15px/1 "Barlow Condensed", sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.eyebrow::before { content: ""; width: 34px; height: 3px; background: var(--gold); }
h1 { font: 700 clamp(34px, 5vw, 56px)/1 "Barlow Condensed", sans-serif; text-transform: uppercase; color: var(--navy); margin: 0 0 24px; }
h2 { font: 700 24px/1.15 "Barlow Condensed", sans-serif; text-transform: uppercase; color: var(--navy); margin: 40px 0 10px; }
p, li { color: #3d4d56; }
ul { padding-left: 22px; }
.muted { color: #8a969d; font-size: 14px; }
.foot { background: var(--navy-deep); color: #9fb4c1; font-size: 14px; }
.foot-inner { padding-top: 28px; padding-bottom: 28px; display: flex; gap: 8px 24px; flex-wrap: wrap; }
.foot a { color: #cddbe3; }

/* Admin sign-in screens */
.auth { min-height: 100vh; display: grid; place-items: center; background: #eef1f3; padding: 24px 16px; }
.card { width: 100%; max-width: 420px; background: #ffffff; border-top: 4px solid var(--gold); padding: 36px 34px 32px; }
.card .logo { background: var(--navy); margin: -36px -34px 28px; padding: 18px 34px; display: flex; align-items: center; gap: 12px; }
.card .logo img { height: 26px; }
.card .logo span { font: 700 13px/1 "Barlow Condensed", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--navy); background: var(--gold); padding: 4px 9px; }
.card h1 { font-size: 34px; margin-bottom: 8px; }
.card p { margin: 0 0 22px; font-size: 15px; }
label { display: block; margin-bottom: 18px; }
label span { display: block; font: 700 14px/1 "Barlow Condensed", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--navy); margin-bottom: 8px; }
input { width: 100%; font: 16px Lato, sans-serif; color: var(--ink); background: #f4f6f7; border: 1px solid var(--line); padding: 13px 14px; }
input:focus { outline: 2px solid var(--gold); outline-offset: 0; border-color: var(--gold); }
button { width: 100%; border: 0; background: var(--gold); color: var(--navy); font: 700 17px/1 "Barlow Condensed", sans-serif; letter-spacing: .1em; text-transform: uppercase; padding: 17px 20px; cursor: pointer; }
button:hover { background: #ffc84d; }
button[disabled] { opacity: .6; cursor: default; }
.msg { display: none; margin: 0 0 18px; padding: 12px 14px; font-size: 14.5px; line-height: 1.55; }
.msg.show { display: block; }
.msg.error { border-left: 4px solid var(--error); background: #fbeeea; color: #6e2a1a; }
.msg.ok { border-left: 4px solid var(--gold); background: #fff8e6; color: var(--navy); }
.alt { margin-top: 20px; font-size: 14.5px; text-align: center; }
