:root{--bg:#faf3e6;--paper:#fffaf1;--ink:#271e15;--muted:#76634c;--gold:#a47940;--line:#bfa57b55}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-.045em;font-weight:550;margin-bottom:18px}h2{font-size:25px;letter-spacing:-.025em;font-weight:550;margin-bottom:14px}h3{font-size:18px;font-weight:550}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:650;color:var(--gold);text-transform:uppercase}small,.muted{color:var(--muted);font-size:12px}.notice,.error{padding:14px 18px;border:1px solid var(--line);border-radius:8px;background:#f2e5ce;margin:16px 0}.error{background:#fff0e9;color:#983b28;border-color:#b55b4444}.notice p:last-child{margin-bottom:0}button,input,select,textarea{font:inherit}button,a{color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}input:not([type=checkbox]),select,textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #c7b28f;background:#fffdf8;color:var(--ink);border-radius:6px;font-size:16px}textarea{min-height:80px;resize:vertical}label{display:block;font-size:12px;font-weight:550;margin-bottom:18px}label input,label select,label textarea{margin-top:7px}label small{display:block;margin-top:5px;font-weight:400}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px}.check input{margin-top:5px}input:focus,select:focus,textarea:focus{outline:2px solid #b79154;outline-offset:2px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #a27a3c;outline-offset:4px}.primary,.secondary,.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 20px;border:1px solid var(--ink);border-radius:5px;text-decoration:none;font-size:13px;font-weight:550;background:var(--ink);color:#fff9ec}.secondary{background:transparent;color:var(--ink);border-color:#bda37c}.text-btn{background:transparent;border:0;color:var(--ink);padding:8px 10px;min-height:38px}.primary:hover{background:#493520}.secondary:hover{background:#eeddc2}.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.setup,.gate{min-height:100svh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 25% 10%,#f5dfb8,transparent 55%),radial-gradient(ellipse at 90% 80%,#efd9b4,transparent 55%),#fbf6ed}.setup-card{width:min(850px,100%);border:1px solid #c9aa774d;background:#fffbf2e8;padding:44px;border-radius:16px;box-shadow:0 20px 70px #9d723c18}.gate-card{width:min(440px,100%);padding:44px 36px 32px;text-align:center;border:1px solid #b4966855;border-radius:15px;background:#fffaf0cf;box-shadow:0 25px 80px #9d723c18}.gate-card h1{font-family:Georgia,serif;font-size:43px;letter-spacing:-.045em;font-weight:400}.gate-card p{font-size:13px;color:var(--muted)}.gate-card .eyebrow{font-size:9px;color:var(--gold);margin-top:18px}.gate-card label{text-align:left;margin-bottom:5px}.gate-card input{text-align:center;letter-spacing:.08em}.gate-card .primary{width:100%;margin:15px 0 4px}.gate-knot{height:40px;display:flex;align-items:center;justify-content:center}.gate-knot span{width:60px;height:28px;border:3px solid #2a2118;border-radius:70% 35%;transform:rotate(14deg);box-shadow:inset 0 -5px 5px #5c4c3d22}.gate-knot span:last-child{transform:scaleX(-1) rotate(14deg)}.gate-knot i{width:13px;height:19px;background:linear-gradient(100deg,#17130f,#72604b,#17130f);border-radius:4px;margin:0 -5px;z-index:1}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw);border-bottom:1px solid var(--line);background:#fffaf1}.brand{font-size:12px;font-weight:650;letter-spacing:.15em}.brand span{color:var(--gold);font-weight:400}.admin-shell{max-width:1350px;padding:40px 30px 70px;margin:auto}.dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:25px 0}.stat{background:#fffaf1;border:1px solid var(--line);border-radius:8px;padding:18px 20px}.stat b{display:block;font:35px/1.3 Georgia,serif}.stat span{font-size:11px;color:var(--muted)}.panel{padding:26px;background:#fffaf1;border:1px solid var(--line);border-radius:10px;margin:20px 0}.panel>summary{font-size:18px;font-weight:550;cursor:pointer;list-style:none}.panel>summary::after{content:'＋';float:right;color:var(--gold)}.panel[open]>summary{margin-bottom:24px}.panel[open]>summary::after{content:'−'}.toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:20px 0}.toolbar label{flex:1;min-width:210px;margin:0}.toolbar select{max-width:230px}.bulk{background:#eee0c8;padding:12px 16px;border-radius:7px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;background:#fffbf4}th{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding:14px;background:#f2e7d5}td{padding:15px 14px;border-top:1px solid var(--line);vertical-align:top;max-width:270px;overflow-wrap:anywhere}td b{font-size:13px}td small{display:block;font-size:11px}td .text-btn{font-size:11px;padding:3px 7px;min-height:32px}.badge{display:inline-block;padding:3px 7px;font-size:10px;border-radius:4px;background:#ebe2d1}.badge.verified{background:#e0e9d9;color:#354c2a}.badge.pending{background:#f4e0b8;color:#705018}.badge.excluded{background:#eddad1;color:#7c3329}.share-code{font-size:22px;letter-spacing:.12em}.share-message{min-height:160px}.pagination{display:flex;align-items:center;gap:16px;justify-content:flex-end;margin:15px 0}.pagination span{font-size:11px;color:var(--muted)}.inline-message{min-height:24px;font-size:12px;color:var(--muted)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9b692d;margin-right:7px}.status-dot.on{background:#4c7340}dialog{padding:0;width:min(700px,calc(100vw - 24px));max-height:90dvh;border:1px solid #bea576;background:#fffaf0;border-radius:12px;box-shadow:0 35px 100px #1d170f44;color:var(--ink)}dialog::backdrop{background:#30231699}dialog header{display:flex;justify-content:space-between;align-items:center;padding:18px 25px;border-bottom:1px solid var(--line)}dialog header h2{font-size:22px;margin:0}dialog .dialog-content{padding:25px;overflow:auto;max-height:calc(90dvh - 85px)}.close{font-size:28px;border:0;background:none;width:42px;height:42px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#2b2218;color:#fff7e9;border-radius:6px;padding:12px 20px;font-size:12px;max-width:90vw;z-index:100}.admin-login{max-width:460px;margin:70px auto}.empty{text-align:center;padding:40px!important;color:var(--muted)}.small-space{margin-top:10px}.footer{border-top:1px solid var(--line);text-align:center;padding:25px;color:var(--muted);font-size:12px}code{font-size:13px;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1e6d2;padding:16px;border-radius:6px;font-size:12px}.login-wrap{padding:0 20px}@media(max-width:800px){.stats{grid-template-columns:repeat(3,1fr)}.columns{grid-template-columns:1fr}.setup-card{padding:28px 23px}.admin-shell{padding:28px 16px}.panel{padding:20px}.topbar{padding:0 18px}.dashboard-head{align-items:flex-start}.toolbar{gap:10px}.toolbar label{min-width:100%}.toolbar select{flex:1}.gate-card{padding:32px 25px}.stat{padding:14px}.stat b{font-size:30px}}@media(max-width:440px){.stats{grid-template-columns:repeat(2,1fr)}.stats .stat:last-child{grid-column:span 2}.topbar .muted{display:none}.dashboard-head{display:block}.panel .button-row button{width:100%}.setup{padding:15px}.gate-card h1{font-size:40px}}

/* Guest access keeps the event private, with a neutral Gold & Silver motif. */
.gate:has(#accessForm) {
  background:
    url("gold-silver-lights.svg") center / cover no-repeat,
    radial-gradient(ellipse at 50% 36%, #fff8e6 5%, #efd3a1 48%, transparent 73%),
    linear-gradient(132deg, #967044, #d8a766 26%, #e7e8ec 71%, #a47d52);
}
.gate-card:has(#accessForm) {
  border: 1px solid #ffe6af;
  border-radius: 24px;
  background: linear-gradient(150deg, #fffefa 6%, #fff7e9 65%, #eeeef1);
  box-shadow: 0 30px 90px #472d2550, 0 0 0 6px #fff8e64d, inset 0 0 0 5px #e6c68834;
}
.gate-card:has(#accessForm) .eyebrow { color: #805019; }
.gate-card:has(#accessForm) input { border-color: #bda16d; background: #fffefa; }
.gate-card:has(#accessForm) .primary {
  min-height: 51px;
  border-color: #a87429;
  background: linear-gradient(113deg, #c5944d, #ffe7ae 48%, #e3bb76 77%, #c18c42);
  color: #2b1a0b;
  font-weight: 700;
  box-shadow: inset 0 1px #fff9dc, 0 6px 15px #92582226;
}
.gate-card:has(#accessForm) .primary:hover { background: linear-gradient(113deg, #d5a456, #fff0c7 48%, #e9c585 77%, #d59d4f); }
.gate-card:has(#accessForm) .gate-knot span { border-color: #a57530; }
.gate-card:has(#accessForm) .gate-knot i { background: linear-gradient(100deg, #946226, #edce91, #946226); }
