:root{
  --bg:#f7f3ee;
  --paper:#fffdf9;
  --ink:#2f2822;
  --muted:#6c6259;
  --brown:#594737;
  --brown2:#7b6049;
  --line:#ddd4ca;
  --green:#25633b;
  --greenbg:#edf8f0;
  --amber:#8a5b09;
  --amberbg:#fff7df;
  --red:#9b2d25;
  --redbg:#fff0ef;
  --blue:#315b73;
  --bluebg:#edf6fb;
}
*{box-sizing:border-box}
html{font-size:18px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:var(--brown)}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);padding:18px 22px;text-align:center;position:sticky;top:0;z-index:20}
.brand{text-decoration:none;color:var(--brown);font-family:Georgia,serif;font-size:1.35rem;letter-spacing:.05em;font-weight:700}
.page-shell{max-width:1180px;margin:0 auto;padding:34px 22px 60px}
.intro{text-align:center;max-width:820px;margin:10px auto 24px}
.eyebrow{font-size:.9rem;letter-spacing:.13em;text-transform:uppercase;color:var(--brown2);font-weight:800;margin-bottom:8px}
h1,h2,h3{font-family:Georgia,serif;line-height:1.15;color:#382c23}
h1{font-size:clamp(2rem,5vw,3.25rem);margin:8px 0 18px}
h2{font-size:1.65rem}.lead{font-size:1.15rem;color:var(--muted)}
.important-box,.alert{border-radius:14px;padding:18px 20px;margin:20px 0;font-size:1.05rem}
.important-box,.warning{background:var(--amberbg);border:2px solid #e5c77e;color:#5f4514}
.wait-alert{background:var(--bluebg);border:2px solid #9ac3d8;color:#25495d}
.danger{background:var(--redbg);border:2px solid #e5a8a3;color:#751e18}.success{background:var(--greenbg);border:2px solid #abd1b7;color:#1f572f}
.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:30px}
.event-card{background:var(--paper);border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(50,36,25,.10);border:1px solid #eee5dc}
.event-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.event-card-body{padding:24px}.event-card-body h2{margin-top:0}
.event-meta{font-size:1.08rem}.event-meta.big{font-size:1.25rem}.availability{padding:12px 14px;border-radius:10px;font-weight:800;margin:18px 0}.availability.good{background:var(--greenbg);color:var(--green)}.availability.wait{background:var(--bluebg);color:var(--blue)}.availability.full{background:#eee;color:#555}
.primary-btn,.admin-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 22px;border-radius:11px;background:var(--brown);color:#fff;text-decoration:none;border:0;font-size:1.05rem;font-weight:800;cursor:pointer}.primary-btn:hover,.admin-btn:hover{background:#46372c}.primary-btn.secondary{background:var(--blue)}.form-btn{width:100%;min-height:62px;font-size:1.15rem;margin-top:12px}
.back-link{display:inline-block;margin-bottom:20px;font-weight:700;text-decoration:none}
.event-detail{display:grid;grid-template-columns:minmax(280px,460px) minmax(0,1fr);gap:40px;align-items:start}.event-poster img{width:100%;border-radius:20px;box-shadow:0 12px 34px rgba(50,36,25,.12);display:block}.event-form-wrap{background:var(--paper);padding:30px;border-radius:20px;border:1px solid #eee5dc}.event-form-wrap h1{font-size:2.45rem}
.large-form label{display:block;font-weight:800;margin:20px 0 8px}.large-form input,.large-form select,.filter-bar input,.filter-bar select{width:100%;padding:16px;border:2px solid #cfc5bb;border-radius:11px;background:#fff;font-size:1rem;color:var(--ink)}.large-form input:focus,.filter-bar input:focus,.filter-bar select:focus{outline:3px solid rgba(89,71,55,.18);border-color:var(--brown)}.help-text{color:var(--muted);font-size:.92rem;margin-top:7px}.check-row{display:flex!important;gap:12px;align-items:flex-start;background:#f3eee8;padding:16px;border-radius:11px;font-weight:400!important}.check-row input{width:24px!important;height:24px;flex:0 0 24px;margin-top:3px}.check-row span{font-size:1rem}
.simple-card{max-width:720px;margin:28px auto;background:var(--paper);border-radius:20px;padding:32px;border:1px solid #eee5dc;box-shadow:0 12px 34px rgba(50,36,25,.08)}.status-card{text-align:center}.large-copy{font-size:1.15rem}.status-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:var(--amberbg);color:var(--amber);font-size:2.2rem;font-weight:900}.status-icon.confirmed{background:var(--greenbg);color:var(--green)}.status-icon.waiticon{background:var(--bluebg);color:var(--blue)}.text-link{display:inline-block;margin-top:18px;font-weight:800}.site-footer{text-align:center;padding:28px;color:var(--muted);border-top:1px solid var(--line)}
/* Admin */
.admin-body{background:#f4f5f7}.admin-header{background:#27231f;color:#fff;padding:16px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.admin-header strong{font-size:1.2rem}.admin-user{margin-left:12px;color:#cfc7bf;font-size:.9rem}.admin-header nav{display:flex;gap:8px;flex-wrap:wrap}.admin-header nav a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:7px}.admin-header nav a:hover{background:rgba(255,255,255,.1)}.admin-shell{max-width:1320px;margin:0 auto;padding:28px 20px 60px}.admin-title-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:18px}.admin-title-row h1{margin-bottom:5px}.admin-card{background:#fff;padding:22px;border-radius:15px;border:1px solid #e2e3e6;margin-bottom:22px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.mini-stats div{background:#f6f3ef;border-radius:10px;padding:12px;text-align:center;font-size:.82rem}.mini-stats span{display:block;font-size:1.65rem;font-weight:900;color:var(--brown)}.filter-bar{display:grid;grid-template-columns:1.1fr 1fr 1.7fr auto auto;gap:10px;background:#fff;padding:15px;border-radius:13px;border:1px solid #e2e3e6;margin-bottom:15px}.filter-bar select,.filter-bar input{padding:11px;font-size:.92rem}.admin-btn{min-height:44px;padding:10px 15px;font-size:.92rem}.admin-link-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid #bbb;border-radius:9px;text-decoration:none;color:#444}.table-wrap{overflow:auto;background:#fff;border-radius:14px;border:1px solid #e2e3e6}.admin-table{width:100%;border-collapse:collapse;min-width:1100px;font-size:.86rem}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}.admin-table th{background:#f6f3ef;position:sticky;top:0}.status-pill{display:inline-block;padding:5px 8px;border-radius:999px;font-weight:800;white-space:nowrap}.s-confirmed{background:var(--greenbg);color:var(--green)}.s-pending{background:var(--amberbg);color:var(--amber)}.s-waitlist,.s-offered{background:var(--bluebg);color:var(--blue)}.s-cancelled,.s-expired{background:#eee;color:#555}.link-danger{background:none;border:0;color:var(--red);text-decoration:underline;cursor:pointer;font-weight:700}.empty-cell{text-align:center!important;padding:28px!important;color:#666}.admin-login-card{max-width:560px}
@media (max-width:800px){
  html{font-size:17px}.page-shell{padding:22px 16px 45px}.event-grid,.event-detail,.stats-grid{grid-template-columns:1fr}.event-card img{aspect-ratio:4/3}.event-detail{gap:22px}.event-poster img{max-height:480px;object-fit:cover}.event-form-wrap{padding:22px}.event-form-wrap h1{font-size:2.1rem}.filter-bar{grid-template-columns:1fr}.mini-stats{grid-template-columns:repeat(2,1fr)}.admin-header{align-items:flex-start}.admin-header nav{width:100%}
}
@media (max-width:480px){
  html{font-size:17px}.brand{font-size:1.05rem}.site-header{padding:14px}.intro h1{font-size:2rem}.event-card-body{padding:20px}.event-card img{aspect-ratio:3/4}.event-form-wrap{padding:19px}.large-form input{padding:16px}.primary-btn{width:100%}.simple-card{padding:22px 18px}.admin-shell{padding:20px 12px 45px}
}

.optional{font-weight:400;color:var(--muted);font-size:.9rem}.inline-action{display:inline-block;margin-right:6px}.link-confirm{background:none;border:0;color:var(--green);text-decoration:underline;cursor:pointer;font-weight:700}
