:root{
  --navy:#09052c;
  --navy-2:#13084a;
  --purple:#4c178c;
  --orange:#d86a00;
  --gold:#c79520;
  --gold-light:#e0b64c;
  --ivory:#f4efe4;
  --ink:#1d1830;
  --muted:#756f7d;
  --card:#fffdf8;
  --danger:#8a1e1e;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--ivory);color:var(--ink)}
a{color:inherit}
.site-header{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:white;border-bottom:5px solid var(--orange)}
.header-inner{max-width:1180px;margin:auto;padding:22px 20px;display:flex;align-items:center;gap:18px;justify-content:space-between}
.brand{font-family:Georgia,serif;font-weight:700;letter-spacing:.04em}
.brand small{display:block;color:var(--gold-light);font-family:inherit;font-size:.78rem;letter-spacing:.12em;margin-top:3px}
nav{display:flex;gap:18px;flex-wrap:wrap}
nav a{text-decoration:none;font-weight:700}
.hero{background:radial-gradient(circle at 50% 10%,rgba(76,23,140,.72),transparent 40%),linear-gradient(180deg,var(--navy),#07031f);color:white;padding:78px 20px;text-align:center}
.hero h1{font-family:Georgia,serif;color:var(--gold-light);font-size:clamp(2.4rem,7vw,5.5rem);margin:0}
.hero .ribbon{display:inline-block;margin-top:16px;border:1px solid var(--gold);padding:12px 22px;border-radius:999px;background:rgba(216,106,0,.12);font-family:Georgia,serif;font-size:1.2rem}
.hero .purple{color:#c36cff}
.container{max-width:1180px;margin:auto;padding:34px 20px}
.section-title{font-family:Georgia,serif;font-size:2rem;color:var(--navy);margin:0 0 18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:var(--card);border:1px solid #ded4bd;border-top:4px solid var(--gold);border-radius:14px;padding:20px;box-shadow:0 6px 18px rgba(21,12,35,.06)}
.card h3{margin-top:0;color:var(--navy)}
.event-meta{color:var(--muted);font-size:.94rem;line-height:1.6}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}
.badge.public{background:#e8f4e8;color:#235f27}
.badge.district{background:#ede4f9;color:#4d2580}
.badge.lodge{background:#fff0dc;color:#804000}
.btn{display:inline-block;border:0;border-radius:9px;padding:11px 16px;font-weight:800;text-decoration:none;cursor:pointer;background:var(--navy);color:white}
.btn.gold{background:var(--gold);color:#170e00}
.btn.orange{background:var(--orange);color:white}
.btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--navy)}
.form-card{max-width:680px;margin:40px auto;background:white;padding:28px;border-radius:16px;border:1px solid #ddd0b5;box-shadow:0 12px 30px rgba(16,9,30,.08)}
label{display:block;font-weight:800;margin:14px 0 7px}
input,textarea,select{width:100%;padding:12px;border-radius:9px;border:1px solid #bdb3a1;background:#fff;font:inherit}
textarea{min-height:120px;resize:vertical}
.alert{padding:12px 14px;border-radius:10px;margin:12px 0}
.alert.error{background:#fae4e4;color:var(--danger)}
.dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
table{width:100%;border-collapse:collapse;background:white}
th,td{text-align:left;padding:12px;border-bottom:1px solid #eadfca}
th{background:#f3ead7;color:var(--navy)}
.footer{margin-top:60px;background:var(--navy);color:#ddd;padding:30px 20px;text-align:center;border-top:5px solid var(--purple)}
@media(max-width:720px){.header-inner{align-items:flex-start;flex-direction:column}.hero{padding:52px 18px}.hero h1{font-size:3.2rem}table{display:block;overflow-x:auto}}
