:root{--cream:#fffdf7;--paper:#f4f0e6;--green:#294b3a;--ink:#202c24;--muted:#657064;--line:#dedfd3;--rust:#75452f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green)}button,input,select{font:inherit}button,a.button{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad7137;outline-offset:4px}[hidden]{display:none!important}.shell{max-width:940px;margin:auto;padding:28px 32px 20px}header{display:flex;justify-content:space-between;align-items:center;padding:4px 0 30px;border-bottom:1px solid var(--line)}.wordmark{font:italic 29px Georgia,serif;text-decoration:none;line-height:1}.wordmark span{display:block;font:10px system-ui;letter-spacing:.25em;margin-top:8px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.17em;color:var(--rust)}.intro{padding:42px 0 26px;text-align:center}h1,h2,h3,p{margin-top:0}h1{font:48px/1.15 Georgia,serif;margin:12px 0 16px;letter-spacing:-1.4px}h2{font:30px/1.25 Georgia,serif;margin-bottom:6px}h3{font-size:16px;font-weight:600;margin:22px 0 12px}.intro p,.section-title p{color:var(--muted)}.steps{display:flex;justify-content:center;gap:38px;list-style:none;padding:0;margin:0 0 28px;font-size:13px;color:var(--muted)}.steps li{display:flex;gap:8px;align-items:center}.steps span{border:1px solid #bdc4b7;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:11px}.steps .active{color:var(--green);font-weight:650}.steps .active span{background:var(--green);color:white;border-color:var(--green)}.card{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:32px 36px;box-shadow:0 8px 30px #29392306}.section-title{margin-bottom:24px}.section-title p{margin-bottom:0}fieldset{border:0;padding:0;margin:0 0 24px}legend,label{font-size:13px;font-weight:650;margin-bottom:8px}legend small{font-size:12px;color:var(--muted);font-weight:400;display:block;margin-top:3px}.party-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.choice{border:1px solid #c8cebf;background:transparent;border-radius:8px;min-height:47px;color:var(--green);font-weight:600}.choice:hover:not(:disabled){background:#edf0e6}.choice[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.choice:disabled{background:#eeeee8;color:#898d82;border-color:#e1e2d9}.choice small{display:block;font-size:10px;font-weight:400;margin-top:3px}label{display:block}input,select{width:100%;border:1px solid #cbd0c4;background:#fffefa;border-radius:8px;padding:12px;color:var(--ink);min-height:48px}input::placeholder{color:#8a9086;font-size:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.fine{font-size:12px;color:var(--muted);margin:17px 0;line-height:1.6}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;background:var(--green);color:var(--cream);border:1px solid var(--green);border-radius:8px;padding:13px 22px;text-decoration:none;font-size:14px;font-weight:600;min-height:49px}.button:hover{background:#1d3b2b}.button:disabled{opacity:.55}.wide{width:100%;margin-top:4px}.secondary{background:transparent;color:var(--green)}.secondary:hover{background:#edf0e6}footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;padding:24px 2px}.demo{font-size:11px;text-align:center;background:#f7e7bd;color:#694820;border-radius:7px;padding:8px;margin-bottom:18px;letter-spacing:.06em}.notice{padding:18px;border:1px solid #d5c5a7;background:#faf0dc;border-radius:9px;margin:16px 0;color:#584626}.notice h3{margin-top:0}.error{background:#fff1e9;border-color:#c98972;color:#713721}.back{padding:0;border:0;background:none;color:var(--green);font-size:12px;margin-bottom:22px}.schedule-note{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.07em;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.schedule-note strong{font-weight:500;letter-spacing:0}.date-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-height:245px;overflow:auto;padding:4px}.date-grid button{padding:12px}.date-grid strong{display:block;font:24px Georgia,serif}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.time-grid button{padding:13px 5px}.time-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.live{font-size:10px;color:var(--muted);white-space:nowrap}.live i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#50845c;margin-right:5px}.review{margin-top:25px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;align-items:center}.review strong{display:block;font-size:15px;margin:6px 0}.review div>span:last-child{font-size:12px;color:var(--muted)}.success{text-align:center;padding:42px}.check{display:grid;place-items:center;background:#e6ecdf;width:54px;height:54px;border-radius:50%;margin:0 auto 20px;font-size:25px;color:var(--green)}.success h2{margin:12px 0 18px}.success p{color:var(--muted)}.confirmation-code{background:var(--paper);padding:15px;border-radius:8px;font-size:12px;margin:22px 0}.confirmation-code strong{display:block;letter-spacing:.1em;margin-top:5px;color:var(--green)}.admin-shell{max-width:1100px}.admin-tools{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-shell .card{margin-top:20px}.admin-shell button{margin-top:12px}.stats{display:flex;gap:30px;margin:20px 0}.stats strong{font:32px Georgia,serif;display:block}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block}td button{padding:5px 10px}.slot-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.admin-shell input,.admin-shell select{margin-bottom:9px}@media(max-width:600px){.shell{padding:18px 16px}.eyebrow{font-size:9px}header{padding-bottom:20px}h1{font-size:36px;letter-spacing:-.7px}.intro{padding:30px 0 18px}.intro p{font-size:14px}.desktop{display:none}.steps{gap:16px;font-size:11px;margin-bottom:20px}.steps span{width:21px;height:21px}.card{padding:24px 20px;border-radius:12px}h2{font-size:26px}.party-grid{grid-template-columns:repeat(5,1fr)}.two,.admin-tools{grid-template-columns:1fr;gap:12px}.time-grid{grid-template-columns:repeat(3,1fr)}.date-grid{grid-template-columns:repeat(3,1fr)}.schedule-note{display:block}.schedule-note strong{display:block;margin-top:4px}.review{align-items:stretch;flex-direction:column}footer{flex-direction:column;gap:5px}.time-heading{align-items:baseline}.time-heading h3{font-size:14px}.success{padding:30px 20px}.stats{gap:16px}}@media print{header,.intro,.steps,footer,.demo,.success button{display:none}.success{border:0;box-shadow:none}body{background:white}}
.choice[aria-pressed=true]:hover:not(:disabled){background:var(--green);color:var(--cream)}
/* GIS standard-button fallback: strict CSP can reject Google's injected style tag.
   Keep the official interactive button, logo and callback; scope to admin login. */
#google-signin{width:280px;max-width:100%;margin-top:24px}
#google-signin .S9gUrf-YoZ4jf{position:relative;border:0;margin:0;padding:0}
#google-signin .S9gUrf-YoZ4jf *{box-sizing:border-box}
#google-signin .L6cTce{display:none}
#google-signin .nsm7Bb-HzV7m-LgbsSe{border-radius:4px;box-sizing:border-box;background:#fff;border:1px solid #dadce0;color:#3c4043;cursor:pointer;font-family:Arial,sans-serif;font-size:14px;font-weight:500;height:40px;letter-spacing:.25px;overflow:hidden;padding:0 12px;position:relative;text-align:center;white-space:nowrap;width:100%}
#google-signin .nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;height:100%;position:relative;width:100%;gap:8px}
#google-signin .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:18px;width:18px;min-width:18px;flex:0 0 18px;margin:0;padding:0}
#google-signin svg{display:block;width:18px;height:18px}
#google-signin .nsm7Bb-HzV7m-LgbsSe-BPrWId{flex-grow:1;overflow:hidden;text-overflow:ellipsis}
#google-signin .nsm7Bb-HzV7m-LgbsSe-MJoBVe{position:absolute;inset:0;transition:background-color .2s}
#google-signin [role=button]:hover{border-color:#d2e3fc}
#google-signin [role=button]:hover .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(66,133,244,.08)}
#google-signin [role=button]:focus-visible{outline:2px solid #00639b;outline-offset:2px}
.opt-in{display:flex;align-items:flex-start;gap:12px;margin:14px 0;font-weight:400}.opt-in input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:2px 0;accent-color:var(--green)}.communications{margin-top:20px}
