@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/nunito-sans-latin-ext-400-normal-BoHsJHPR.woff2) format("woff2"),url(/build/assets/nunito-sans-latin-ext-400-normal-CHwj-NZB.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/nunito-sans-latin-ext-600-normal-nHO2odcJ.woff2) format("woff2"),url(/build/assets/nunito-sans-latin-ext-600-normal-DEh-VjuY.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/nunito-sans-latin-ext-700-normal-DBq_Pukt.woff2) format("woff2"),url(/build/assets/nunito-sans-latin-ext-700-normal-jHN8vCOt.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/nunito-sans-latin-ext-800-normal-DWckPAf3.woff2) format("woff2"),url(/build/assets/nunito-sans-latin-ext-800-normal-DG0lbXwA.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/lora-latin-ext-400-normal-CyviI4c-.woff2) format("woff2"),url(/build/assets/lora-latin-ext-400-normal-B9GmMl5M.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/lora-latin-ext-500-normal-CVMwgWlS.woff2) format("woff2"),url(/build/assets/lora-latin-ext-500-normal-CmiMDADN.woff) format("woff")}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/lora-latin-ext-400-italic-D02B-RQB.woff2) format("woff2"),url(/build/assets/lora-latin-ext-400-italic-2Cu7DU_m.woff) format("woff")}:root{--cream:#faf7f0;--paper:#fffdf9;--ink:#293f35;--green:#264b3d;--red:#a43e37;--red-dark:#8a2f2a;--gold:#94702e;--muted:#6c7066;--line:#e7e3d8;--soft-green:#edf1e8;--soft-red:#f6eae4;--shadow:0 8px 28px #293f3508;--radius:18px;font-family:Nunito Sans,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:1rem;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}button:disabled,.disabled{opacity:.55;cursor:not-allowed}svg.lucide{width:21px;height:21px;stroke-width:1.7;flex-shrink:0}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Lora,Georgia,serif;font-weight:500;line-height:1.25;letter-spacing:-.035em}h1{font-size:clamp(2.2rem,4.7vw,4.15rem)}h2{font-size:clamp(1.7rem,2.7vw,2.35rem)}h3{font-size:1.35rem}p{color:var(--muted)}strong{font-weight:800}em{color:var(--red);font-weight:400}small{font-size:.875rem}.gold{color:var(--gold)}.muted{color:var(--muted)}.text-red{color:var(--red)}.eyebrow{font-family:Nunito Sans,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.17em;line-height:1.6;display:block}.tiny-star{font-size:1.1rem;color:var(--gold);margin-right:8px}.page-shell{max-width:1220px;padding:0 38px;margin:0 auto;min-height:65vh}.site-header{height:91px;position:sticky;top:0;z-index:40;background:#faf7f0ed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-shell{max-width:1320px;margin:auto;height:100%;padding:0 38px;display:flex;align-items:center;gap:34px}.brand{display:flex;gap:11px;align-items:center;flex-shrink:0}.brand>span{font-family:Lora,serif;font-size:1.5rem;font-weight:500;line-height:1.15;letter-spacing:-.06em}.brand-red{color:var(--red)}.brand small{display:block;font-family:Nunito Sans,sans-serif;font-size:.56rem;letter-spacing:.14em;margin-top:6px;color:var(--muted);font-weight:800}.desktop-nav{display:flex;gap:29px;align-items:center;flex:1;justify-content:center;font-size:.875rem;font-weight:700;white-space:nowrap}.desktop-nav>a{height:91px;display:flex;align-items:center;border-bottom:2px solid transparent}.desktop-nav a.active{color:var(--red);border-color:var(--red)}.nav-actions{display:flex;gap:20px;align-items:center;font-size:.875rem;font-weight:800}.nav-actions form{margin:0}.nav-login{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:50px;padding:12px 24px;border-radius:8px;border:1px solid var(--line);font-weight:800;font-size:.9rem;line-height:1.5;background:var(--paper);color:var(--green);transition:background .15s,transform .15s}.btn:hover{background:#f0eee6;color:var(--green);transform:translateY(-1px)}.btn-red{background:var(--red);color:#fffaf3;border-color:var(--red);box-shadow:0 5px 12px #a43e3714}.btn-red:hover{background:var(--red-dark);color:#fff}.btn-green{background:var(--green);color:#fffaf3;border-color:var(--green)}.btn-green:hover{background:#173b2d;color:#fff}.btn-small{min-height:42px;padding:9px 17px;font-size:.85rem}.btn-wide{width:100%}.btn-quiet{background:transparent}.text-link{display:inline-flex;gap:10px;align-items:center;font-size:.9rem;font-weight:800}.icon-button{width:44px;height:44px;border:0;display:grid;place-items:center;background:transparent;color:var(--muted);border-radius:8px}.icon-button:hover{background:var(--soft-green)}.avatar{display:grid;place-items:center;border:1px solid #d4decf;background:var(--soft-green);width:37px;height:37px;border-radius:50%;font-size:1rem}.profile-link{display:flex;align-items:center;gap:10px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding:59px 0 50px}.hero-copy{padding:15px 0}.hero-copy .eyebrow{margin-bottom:23px;font-size:.68rem}.hero h1{line-height:1.19;margin-bottom:25px}.hero p{font-size:1rem;line-height:1.9}.hero-actions{display:flex;gap:26px;align-items:center;margin:30px 0 34px}.hero-note{display:flex;gap:13px;align-items:center;color:var(--muted);font-size:.82rem;line-height:1.65}.hero-note strong{color:var(--ink);font-weight:700}.round-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #dadfd3;border-radius:50%;color:var(--green)}.hero-visual{position:relative;margin:0;padding:0 0 14px}.hero-image{height:475px;width:100%;object-fit:cover;object-position:57% center;border-radius:130px 130px 18px 18px;box-shadow:var(--shadow)}.image-tag{position:absolute;bottom:39px;left:-19px;display:flex;align-items:center;gap:10px;background:var(--paper);border-radius:8px;padding:13px 21px;font-size:.8rem;font-weight:800;box-shadow:0 8px 25px #172a3220}.image-tag svg{color:var(--red);width:18px}.hero-visual figcaption{text-align:right;font-size:.7rem;color:var(--muted);padding:8px 5px 0}.hero-sparkle{position:absolute;right:-20px;top:5px;font-size:4.3rem;color:var(--gold);line-height:1}.countdown-band{background:var(--green);color:var(--cream);border-radius:var(--radius);padding:30px 37px;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:var(--shadow)}.countdown-intro{display:flex;align-items:center;gap:20px}.countdown-icon{width:49px;height:60px;border:1px solid #ffffff35;display:grid;place-items:center;border-radius:28px 28px 8px 8px;color:#e7c783}.countdown-icon svg{width:27px;height:27px}.countdown-intro .eyebrow{color:#d2bd8e;font-size:.62rem;margin-bottom:8px}.countdown-intro h2{font-size:1.4rem;letter-spacing:-.025em}.countdown-intro p{color:#e0e4d8;font-size:.82rem;margin-top:8px}.countdown{display:flex;gap:16px;align-items:center;flex-shrink:0}.countdown>div{min-width:44px;text-align:center}.countdown strong{font-family:Lora,serif;font-size:2.7rem;font-weight:400;line-height:1}.countdown span{display:block;font-size:.58rem;font-weight:700;letter-spacing:.16em;color:#d8ddcf;margin-top:8px}.countdown .count-separator{font-family:Lora,serif;font-size:1.7rem;margin:-10px 0 0;color:#b6bdaf;letter-spacing:0}.opening-note{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;font-size:.8rem;margin:16px 0 0}.opening-note svg{width:16px}.inline-countdown{color:var(--gold)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.section-heading .eyebrow{color:var(--gold);margin-bottom:12px;font-size:.65rem}.section-heading .text-link{font-size:.8rem;white-space:nowrap}.how-section{padding:61px 0 24px}.how-section h2{font-size:1.95rem}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.step-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:27px 25px 22px;box-shadow:var(--shadow)}.step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.step-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:12px}.red{background:var(--soft-red);color:var(--red)}.green{background:var(--soft-green);color:var(--green)}.gold-bg{background:#f5eedb;color:#89682b}.step-number{font-family:Lora,serif;color:#d8d6c9;font-size:1.5rem}.step-card h3{font-size:1.23rem;letter-spacing:-.035em;margin-bottom:13px}.step-card p{font-size:.86rem;line-height:1.8}.step-foot{display:block;font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-top:22px;font-weight:800}.community-note{text-align:center;margin:32px auto 43px;display:flex;justify-content:center;gap:13px;align-items:center;font-size:.85rem}.community-note svg{color:var(--red)}.community-note strong{color:var(--green)}.site-footer{border-top:1px solid var(--line);padding:27px 38px;margin-top:40px}.footer-inner{max-width:1144px;margin:auto;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.72rem;color:var(--muted)}.footer-brand{font-family:Lora,serif;color:var(--green);font-size:1rem}.footer-brand span{font-family:Nunito Sans,sans-serif;font-size:.72rem;color:var(--muted);margin-left:9px}.footer-inner>div{display:flex;gap:24px}.bottom-nav{display:none}.notice{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:17px 21px;display:flex;gap:13px;align-items:center;margin:24px 0;color:var(--ink);font-size:.9rem}.notice.success{background:#eef3e9;border-color:#d6e0cb}.notice.danger{background:#f9eae7;border-color:#e3bdb4;color:#8a3029}.notice.warning{background:#f8f0da;border-color:#e1d0a3;color:#69521f}.notice ul{margin:4px 0 0;padding-left:18px}.notice .text-link{margin-left:auto}.welcome{padding:39px 0 29px}.welcome .eyebrow{color:var(--gold);margin-bottom:12px}.welcome h1{font-size:2.7rem;margin-bottom:14px}.welcome p{max-width:750px}.member-hero{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);margin-bottom:30px}.member-hero>div{padding:40px}.member-hero h2{font-size:2.65rem;margin:16px 0}.member-hero p{margin-bottom:24px}.member-hero img{width:100%;height:100%;object-fit:cover}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 35px}.stat-card{display:flex;gap:18px;align-items:center;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.stat-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--soft-red);border-radius:12px;color:var(--red)}.stat-card:nth-child(2) .stat-icon{background:#f5eedb;color:var(--gold)}.stat-card:nth-child(3) .stat-icon{background:var(--soft-green);color:var(--green)}.stat-card p{font-size:.8rem}.stat-card strong{font-family:Lora,serif;font-size:2rem;font-weight:500}.stat-card small{font-family:Nunito Sans,sans-serif;font-size:.85rem;font-weight:600;color:var(--muted)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.card h2{font-size:1.6rem;margin-bottom:18px}.card h3{margin-bottom:15px}.card p+p{margin-top:12px}.card-header{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header h2{margin:0}.content-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.stack{display:grid;gap:24px}.badge{display:inline-flex;align-items:center;gap:7px;border-radius:30px;padding:6px 12px;font-size:.75rem;font-weight:800;white-space:nowrap}.badge svg{width:16px;height:16px}.badge.gray{background:#edece6;color:#5b6058}.badge.yellow{background:#f7edcd;color:#75571d}.badge.red{color:var(--red)}.auth-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;margin:54px 0 65px;align-items:start}.auth-aside{position:sticky;top:135px;padding:18px 0}.auth-aside h1{font-size:3rem;margin:18px 0 24px}.auth-aside>p{max-width:370px}.auth-photo{width:100%;height:280px;object-fit:cover;border-radius:95px 95px 14px 14px;margin-top:33px}.auth-card{background:var(--paper);border:1px solid var(--line);padding:34px 38px;border-radius:20px;box-shadow:var(--shadow)}.auth-card h2{font-size:1.7rem;margin-bottom:9px}.auth-card>.muted{font-size:.9rem;margin-bottom:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:span 2}.field{margin-bottom:18px;min-width:0}.form-grid .field{margin-bottom:0}.field label{display:block;font-size:.875rem;font-weight:800;margin-bottom:7px}.required{color:var(--red)}input,select,textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #dcded3;border-radius:8px;background:#fffefb;color:var(--ink);outline:none;line-height:1.5}input[readonly]{background:#f1f2e9;color:#64715f}input::placeholder,textarea::placeholder{color:#8a8d82}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #264b3d12}input[aria-invalid=true]{border-color:var(--red)}.field small{display:block;font-size:.78rem;color:var(--muted);margin-top:6px}.field-error{color:var(--red);font-size:.8rem;margin-top:6px;display:block}.password-wrap{position:relative}.password-wrap input{padding-right:48px}.password-toggle{border:0;position:absolute;right:2px;top:2px;bottom:2px;width:44px;display:grid;place-items:center;background:transparent;color:var(--muted)}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;cursor:pointer;margin:18px 0}.checkbox input{width:19px;min-height:19px;height:19px;margin:3px 0 0;flex-shrink:0;accent-color:var(--green)}.checkbox a{color:var(--red);text-decoration:underline}.form-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.form-row a{font-size:.875rem;text-decoration:underline}.form-divider{border-top:1px solid var(--line);margin:24px 0 19px;padding-top:23px}.form-subtitle{font-family:Nunito Sans,sans-serif;font-weight:800;font-size:.9rem;letter-spacing:0;margin-bottom:16px}.auth-switch{text-align:center;padding-top:23px;font-size:.85rem}.auth-switch a{color:var(--red);font-weight:800}.auth-trust{font-size:.75rem;display:flex;gap:10px;align-items:center;margin-top:18px;color:var(--muted)}.auth-trust svg{width:17px}.prose{max-width:800px;margin:45px auto;line-height:1.9}.prose h1{font-size:2.6rem;margin:12px 0 26px}.prose h2{font-size:1.5rem;margin:32px 0 13px}.prose p{margin-bottom:17px}.prose li{color:var(--muted);margin-bottom:9px}.prose a{text-decoration:underline;color:var(--red)}.empty-state{text-align:center;padding:65px 25px}.empty-state>svg{width:48px;height:48px;margin:15px auto;color:var(--gold)}.empty-state h1,.empty-state h2{margin:12px 0}.empty-state p{max-width:550px;margin:15px auto 25px}.completion-card{text-align:center;background:var(--soft-green);padding:42px;border-radius:var(--radius);margin-bottom:25px}.completion-card>svg{color:var(--gold);width:40px;height:40px}.completion-card h2{margin:15px 0}.leaderboard{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}.leaderboard-row{padding:20px 25px;display:flex;align-items:center;gap:23px;border-bottom:1px solid var(--line)}.leaderboard-row:last-child{border:0}.leaderboard-row strong{flex:1}.rank{font-family:Lora,serif;font-size:1.5rem;color:var(--gold);min-width:23px}.day-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.day-card{width:100%;min-height:131px;background:var(--paper);border:1px solid #d8ded1;border-radius:13px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);box-shadow:var(--shadow);transition:transform .2s,border-color .2s}.day-card:not(:disabled):hover{transform:translateY(-3px);border-color:var(--green);background:#f0f4eb}.day-card .day-month{font-size:.61rem;text-transform:uppercase;letter-spacing:.12em}.day-card strong{font-family:Lora,serif;font-size:2.5rem;font-weight:500;line-height:1.2;margin:5px 0}.day-card .day-status{font-size:.7rem;font-weight:800;display:flex;align-items:center;gap:4px}.day-card svg{width:13px;height:13px}.day-card.booked{background:#eeede7;color:#74786e;border-color:#e1e2d9;opacity:1}.day-card.held,.day-card.holding{background:#f9f0d9;color:#806229;opacity:1}.day-card.mine{background:var(--green);color:#fff;opacity:1}.day-card.church{background:var(--soft-red);color:var(--red);border-color:#e6cec1;opacity:1}.day-card:disabled.available{opacity:.8}.calendar-panel{padding:28px;margin:22px 0}.calendar-panel>.section-heading h2{font-size:1.8rem}.legend{display:flex;gap:21px;flex-wrap:wrap;margin:20px 0 0;font-size:.75rem;color:var(--muted)}.legend span{display:flex;gap:7px;align-items:center}.legend b{width:10px;height:10px;border-radius:3px;background:var(--soft-green);border:1px solid #c9d4c1}.legend .booked{background:#b9bdb1}.legend .held{background:#d8b45e}.legend .mine{background:var(--green)}.calendar-note{font-size:.85rem;display:flex;gap:10px;margin-top:20px}.live-status{display:flex;gap:7px;align-items:center;font-size:.75rem;color:var(--muted)}.live-status svg{width:14px}.map-card{height:370px;background:#ebece5;border:1px solid var(--line);border-radius:15px;overflow:hidden;position:relative;z-index:1}.map-loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;height:100%;padding:25px;text-align:center}.map-note{display:flex;gap:9px;align-items:center;font-size:.8rem;margin:13px 0 25px}.map-note svg{width:16px}.leaflet-container{font-family:Nunito Sans,sans-serif!important}.profile-details{display:grid;grid-template-columns:1fr 1fr;gap:21px;margin:0}.profile-details dt{font-size:.75rem;color:var(--muted);margin-bottom:5px}.profile-details dd{margin:0;font-weight:700;word-break:break-word}.profile-details .full{grid-column:1/-1}.booking-number{display:flex;align-items:center;gap:22px;margin:17px 0 25px}.booking-number strong{display:grid;place-items:center;background:var(--soft-red);color:var(--red);font-family:Lora,serif;font-weight:500;width:82px;height:88px;border-radius:40px 40px 9px 9px;font-size:2.8rem}.qr-mini{display:flex;align-items:center;gap:22px}.qr-symbol{width:80px;height:80px;padding:19px;background:var(--soft-green);border-radius:13px;color:var(--green)}.qr-symbol svg{width:42px;height:42px}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.danger-zone{border-top:1px solid var(--line);margin:38px 0;padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.danger-zone h3{font-family:Nunito Sans,sans-serif;font-size:1rem;font-weight:800;letter-spacing:0}.dialog{width:min(640px,calc(100vw - 30px));max-height:90dvh;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);padding:0;box-shadow:0 20px 100px #152a3750;animation:dialog-in .2s ease}.dialog::backdrop{background:#1b302967;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 28px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:1.55rem}.dialog-body{padding:25px 28px}.dialog-body>p{margin-bottom:20px}.dialog-body form{margin:0}.review-list{padding:18px;background:var(--soft-green);border-radius:10px;margin-bottom:18px;font-size:.9rem}.review-list strong{display:block}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.scanner-card{text-align:center}.scanner-card .scanner-icon{width:65px;height:65px;background:var(--soft-red);display:grid;place-items:center;border-radius:16px;color:var(--red);margin:0 auto 20px}.scanner-card .scanner-icon svg{width:34px;height:34px}.scanner-card p{font-size:.9rem;margin-bottom:20px}#qr-reader{max-width:500px;margin:auto;overflow:hidden;border-radius:12px}#qr-reader video{max-width:100%}.prior-days{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0}.prior-day{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-size:.8rem}.prior-day.found{background:var(--green);color:#fff;border-color:var(--green)}.result-card{max-width:640px;margin:60px auto;text-align:center}.result-card>.result-icon{width:84px;height:84px;display:grid;place-items:center;margin:0 auto 24px;background:var(--soft-green);color:var(--green);border-radius:50%}.result-icon svg{width:43px;height:43px}.result-card h1{font-size:2.4rem;margin-bottom:20px}.result-card p{margin-bottom:25px}.qr-print{text-align:center;max-width:640px;margin:45px auto}.qr-print h1{font-size:2.3rem;margin:10px 0 20px}.qr-print svg{max-width:100%;height:auto}.qr-frame{background:#fff;padding:20px;max-width:400px;margin:24px auto;border-radius:15px}.qr-frame svg{width:100%}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:38px}.admin-heading .eyebrow{color:var(--gold);margin-bottom:14px}.admin-heading h1{font-size:2.3rem}.admin-nav{display:flex;gap:7px;margin:24px 0 30px;overflow-x:auto;padding-bottom:6px;max-width:100%}.admin-nav a{white-space:nowrap;font-size:.8rem;font-weight:800;padding:10px 15px;border-radius:7px}.admin-nav a:hover,.admin-nav a.active{background:var(--green);color:#fff}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.admin-stat{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.admin-stat strong{display:block;font-family:Lora,serif;font-size:2.5rem;color:var(--green);font-weight:500;margin-top:7px}.admin-stat p{font-size:.8rem}.admin-links{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:27px}.admin-links a{display:block;padding:25px;border:1px solid var(--line);background:var(--paper);border-radius:14px}.admin-links h2{font-size:1.4rem;margin-bottom:12px}.admin-links p{font-size:.9rem}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px;align-items:flex-end}.toolbar .field{margin:0;flex:1;min-width:150px}.toolbar input,.toolbar select{min-height:44px}.table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:12px;background:var(--paper)}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;padding:17px 20px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:#f0f1e8;color:var(--muted)}tr:last-child td{border:0}td small{display:block;color:var(--muted);font-size:.75rem}.pagination{display:flex;align-items:center;justify-content:center;gap:25px;margin:27px 0;font-size:.85rem}.admin-form{max-width:800px}.admin-form .card{margin-bottom:25px}.request-list{display:grid;gap:20px}.request-card .form-grid{margin-top:20px}.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:25px 0}.health-item{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.85rem}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.map-grid .map-card{height:240px}.map-grid .card-header h2{font-size:1.3rem}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);max-width:90vw;background:var(--green);color:#fff;border-radius:10px;padding:15px 23px;z-index:100;box-shadow:0 5px 30px #0003;font-size:.9rem}.skip-link{position:fixed;top:-80px;left:20px;padding:12px;background:var(--green);color:#fff;z-index:999}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #9f7130;outline-offset:4px}details summary{cursor:pointer;font-weight:800;min-height:44px;padding:10px 0}details[open] summary{margin-bottom:12px}.print-only{display:none}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.page-shell{max-width:1320px}.hero-image{height:525px}.hero{gap:80px}.hero h1{font-size:4.5rem}}@media(max-width:1150px){.desktop-nav{gap:18px}.nav-shell{gap:22px;padding:0 25px}.nav-actions{gap:12px}.desktop-nav a{font-size:.8rem}.hero{gap:35px}.hero h1{font-size:3.5rem}.hero-actions{gap:18px}.hero-image{height:450px}.countdown-band{padding:28px}.countdown-intro h2{font-size:1.2rem}.countdown{gap:10px}.countdown strong{font-size:2.4rem}.auth-shell{gap:35px}}@media(max-width:900px){.desktop-nav{display:none}.nav-shell{justify-content:space-between}.site-header{height:77px}.page-shell{padding:0 25px}.hero{gap:25px;padding-top:40px}.hero h1{font-size:2.9rem}.hero-copy .eyebrow{font-size:.61rem}.hero p{font-size:.9rem}.hero-image{height:390px;border-radius:100px 100px 14px 14px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px}.hero-note{font-size:.75rem}.countdown-band{gap:20px}.countdown-icon{display:none}.countdown-intro h2{max-width:270px}.steps-grid{gap:13px}.step-card{padding:22px 18px}.step-card h3{font-size:1.1rem}.how-section h2{font-size:1.7rem}.site-footer{padding:25px}.footer-inner{flex-direction:column}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(70px + env(safe-area-inset-bottom));padding:5px 10px env(safe-area-inset-bottom);justify-content:space-around;border-top:1px solid var(--line);background:#fffdf9f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:45}.bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:64px;border-radius:9px;font-size:.65rem;font-weight:800;color:var(--muted)}.bottom-nav a.active{color:var(--red);background:var(--soft-red)}body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.auth-aside h1{font-size:2.6rem}.auth-card{padding:28px}.auth-shell{grid-template-columns:.8fr 1.2fr;gap:27px}.content-grid{grid-template-columns:1fr 1fr}.day-grid{grid-template-columns:repeat(4,1fr)}.admin-stats{grid-template-columns:repeat(2,1fr)}.stats-grid{gap:10px}.stat-card{padding:17px;gap:12px}.stat-icon{width:35px;height:35px}.stat-card p{font-size:.72rem}.stat-card strong{font-size:1.7rem}.toast{bottom:90px}.member-hero h2{font-size:2.15rem}.member-hero>div{padding:28px}.member-hero p{font-size:.9rem}}@media(max-width:650px){.page-shell{padding:0 20px}.nav-shell{padding:0 20px;gap:10px}.brand img{width:35px;height:35px}.brand>span{font-size:1.35rem}.brand small{font-size:.49rem}.nav-login{display:none}.nav-actions .btn{padding:8px 12px;font-size:.78rem;min-height:40px}.nav-actions .btn svg{width:16px}.site-header{height:73px}.nav-actions{gap:5px}.hero{grid-template-columns:1fr;padding:31px 0 28px;gap:30px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:.58rem;letter-spacing:.12em;margin-bottom:18px}.hero h1{font-size:clamp(2.7rem,10.5vw,3.5rem);margin-bottom:19px;line-height:1.19}.hero p{font-size:.95rem;line-height:1.8}.hero-actions{flex-direction:row;align-items:center;gap:19px;margin:25px 0 24px}.hero-actions .btn{font-size:.85rem;padding:12px 17px}.hero-actions .text-link{font-size:.78rem;gap:6px}.hero-actions .text-link svg{width:17px}.hero-note{font-size:.76rem}.round-icon{width:36px;height:36px}.hero-image{height:300px;border-radius:95px 95px 13px 13px}.hero-visual{margin:0 8px;padding-bottom:0}.hero-sparkle{right:-10px;top:0;font-size:3.6rem}.image-tag{left:-8px;bottom:36px;font-size:.74rem;padding:11px 16px}.hero-visual figcaption{font-size:.65rem}.countdown-band{padding:27px 22px;flex-direction:column;align-items:flex-start;gap:23px;border-radius:14px}.countdown-intro h2{font-size:1.42rem;max-width:none}.countdown-intro p{font-size:.75rem}.countdown-intro .eyebrow{font-size:.58rem}.countdown{justify-content:center;width:100%;padding-top:20px;border-top:1px solid #fff2;gap:28px}.countdown strong{font-size:2.6rem}.countdown .count-separator{font-size:1.5rem}.opening-note{font-size:.74rem;line-height:1.6;padding:0 4px}.opening-note .inline-countdown{width:100%;text-align:center}.how-section{padding:40px 0 10px}.section-heading{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:22px}.section-heading h2,.how-section h2{font-size:1.75rem}.section-heading .eyebrow{font-size:.58rem;margin-bottom:9px}.steps-grid{grid-template-columns:1fr;gap:15px}.step-card{padding:23px}.step-top{margin-bottom:18px}.step-card h3{font-size:1.35rem}.step-card p{font-size:.9rem}.step-foot{font-size:.67rem;margin-top:19px}.community-note{font-size:.78rem;margin:28px 0}.footer-brand span{display:block;margin:6px 0 0;text-align:center}.footer-inner>div{gap:15px;flex-wrap:wrap;justify-content:center;font-size:.68rem}.site-footer{margin-top:28px;padding:23px 20px}.desktop-only{display:none!important}.welcome{padding:27px 0 23px}.welcome h1{font-size:2.3rem}.welcome p{font-size:.9rem}.member-hero{grid-template-columns:1fr}.member-hero>div{padding:25px}.member-hero h2{font-size:2.15rem}.member-hero img{height:200px}.member-hero .btn{font-size:.8rem}.stats-grid{grid-template-columns:1fr;margin:20px 0}.stat-card{padding:17px 20px;gap:18px}.stat-card>div{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:1}.stat-card p{font-size:.84rem}.stat-icon{width:42px;height:42px}.stat-card strong{font-size:1.9rem;white-space:nowrap}.content-grid{grid-template-columns:1fr}.card{padding:23px}.auth-shell{display:block;margin:29px 0 40px}.auth-aside{position:static;padding:0 0 28px}.auth-aside h1{font-size:2.6rem;margin:12px 0 16px}.auth-aside p{font-size:.9rem}.auth-photo{display:none}.auth-card{padding:26px 21px}.auth-card h2{font-size:1.6rem}.form-grid{gap:15px}.form-grid .field{grid-column:span 2}.form-grid .field.half{grid-column:span 1}.form-grid .span-2{grid-column:span 2}.form-row a{font-size:.8rem}.auth-card .checkbox{font-size:.82rem}.prose{margin:28px auto}.prose h1{font-size:2.15rem}.prose h2{font-size:1.4rem}.notice{padding:15px;font-size:.85rem;align-items:flex-start;flex-wrap:wrap}.notice svg{width:18px}.notice>span{flex:1}.notice .text-link{margin-left:31px}.calendar-panel{padding:19px 15px}.day-grid{grid-template-columns:repeat(3,1fr);gap:9px}.day-card{min-height:115px;padding:11px 5px}.day-card strong{font-size:2.2rem}.day-card .day-status{font-size:.63rem}.day-card .day-month{font-size:.55rem}.legend{gap:13px;font-size:.67rem}.calendar-note{font-size:.8rem}.map-card{height:315px}.profile-details{grid-template-columns:1fr}.profile-details .full{grid-column:auto}.card-header h2{font-size:1.4rem}.card-header .btn{font-size:.75rem;padding:8px 12px}.danger-zone{align-items:flex-start;gap:15px;flex-direction:column}.dialog-header{padding:19px 20px}.dialog-header h2{font-size:1.35rem}.dialog-body{padding:22px 20px}.dialog-footer{flex-wrap:wrap}.dialog-footer .btn{flex:1;font-size:.8rem}.admin-heading{padding-top:28px;align-items:flex-start;flex-direction:column;gap:15px}.admin-heading h1{font-size:2rem}.admin-nav{margin:20px 0;font-size:.75rem}.admin-nav a{padding:9px 12px}.admin-links,.health-grid,.map-grid{grid-template-columns:1fr}.admin-stats{gap:12px}.admin-stat{padding:20px}.admin-stat strong{font-size:2.2rem}.admin-stat p{font-size:.75rem}.toolbar .field{min-width:100%;flex-basis:100%}.toolbar .btn{width:100%}th,td{padding:14px}.pagination{gap:13px;font-size:.75rem}.pagination .btn{font-size:.75rem;padding:10px 15px}.leaderboard-row{gap:12px;padding:16px;font-size:.8rem;flex-wrap:wrap}.leaderboard-row .muted{margin-left:35px}.qr-print h1{font-size:1.9rem}.result-card{margin:32px auto}.result-card h1{font-size:2rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.site-header,.site-footer,.bottom-nav,.no-print,.toast,.skip-link{display:none!important}body{background:#fff;color:#000;padding:0}.page-shell{padding:0}.qr-print{max-width:100%;margin:0}.qr-print .card{border:0;box-shadow:none}.qr-print h1{font-size:28pt}.qr-print p{color:#000}.qr-frame{width:95mm;max-width:95mm;padding:0}.print-only{display:block}.card{break-inside:avoid}}.map-tile-error{position:absolute;bottom:30px;left:10px;right:10px;z-index:700;background:#fff9e9;padding:9px;border-radius:8px;font-size:.8rem;color:#72521b}.scanner-card #scanner-message:not(:empty){padding:12px;margin:12px 0;background:var(--soft-green);border-radius:8px;font-size:.9rem}.hero p,.step-card p,.member-hero p,.prose p,.auth-aside>p,.scanner-card p,.admin-links p{font-size:1rem}.bottom-nav a{font-size:.75rem}.brand small{font-size:.625rem}.field label,.text-link,.day-card .day-status,.badge{font-size:.875rem}.day-card .day-month{font-size:.75rem}@media(max-width:650px){.brand small{font-size:.54rem}.day-card .day-status{font-size:.75rem}.day-card .day-month{font-size:.65rem}}.qr-preview{width:120px;height:120px;flex-shrink:0;border:1px solid var(--line);border-radius:10px;background:#fff}.qr-mini{flex-wrap:wrap}.qr-mini>div{flex:1;min-width:170px}.booking-control{padding:22px;margin:22px 0;border-radius:16px;background:var(--cream);border:1px solid var(--line)}.booking-control .card-header{flex-wrap:wrap;gap:12px}.booking-control .button-row{flex-wrap:wrap}.map-editor{min-height:420px}.map-home-button{font-family:inherit;font-size:13px;font-weight:700;background:#fff;color:#264b3d;padding:8px 12px;border:0;cursor:pointer}.placing-circle{cursor:crosshair!important}.hold-countdown{background:#f6eee1;padding:12px 16px;border-radius:12px}.hold-countdown strong{font-variant-numeric:tabular-nums}.simulation-window{padding:20px 0;border-bottom:1px solid #e9e5df}.test-steps{padding-left:24px;line-height:1.8}.circle-editor-layout{align-items:start}@media(max-width:720px){.map-editor{min-height:330px}.circle-editor-layout .form-grid{grid-template-columns:1fr}}@media(max-width:960px){.circle-editor-layout,#dummy-window-form .content-grid{grid-template-columns:1fr}.circle-editor-layout>section:last-child{grid-row:1}.circle-editor-layout .form-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.circle-editor-layout .form-grid{grid-template-columns:1fr}}.christmas-card{position:relative;overflow:hidden;text-align:center;border:1px solid #d9c79c;border-radius:24px;background:radial-gradient(ellipse at 50% 0,#fff9e2 0,transparent 60%),#f4edde;padding:38px clamp(20px,5vw,70px);color:#35513f;isolation:isolate}.christmas-card:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid #c6ad7370;border-radius:15px;pointer-events:none}.christmas-stars{font-size:25px;color:#93702f;letter-spacing:18px;margin:0 0 8px;padding-left:18px}.christmas-stars span{font-size:36px}.christmas-card>.eyebrow{color:#7c612e;font-size:.72rem;letter-spacing:.2em}.christmas-church{width:220px;max-width:65%;margin:14px auto 18px;color:#7d6a40}.christmas-church svg{display:block;width:100%;height:auto}.christmas-card h2{font-size:clamp(1.7rem,3.5vw,2.65rem);line-height:1.25;margin:0 auto 20px;max-width:680px}.christmas-card>p{max-width:650px;margin:0 auto;color:#536151;line-height:1.85}.christmas-location{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-top:1px solid #ccb78c;border-bottom:1px solid #ccb78c;padding:12px 0;margin:24px auto;color:#405642;font-weight:800;font-size:.875rem}.christmas-card .christmas-wish{font-family:Lora,Georgia,serif;color:#91443a;font-size:clamp(1.6rem,3vw,2.2rem);font-style:italic;line-height:1.4;margin-bottom:18px}.christmas-card .christmas-signature{font-size:.85rem;line-height:1.75}.christmas-signature span{color:#91443a}.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin:24px 0 0;background:#fcf0d4;border:1px solid #c8ac6a;border-radius:14px;color:#5a481f}.preview-banner .eyebrow{display:flex;align-items:center;gap:7px}.preview-banner strong{font-size:1.15rem}.preview-banner p{font-size:.82rem;color:#6a582e}.preview-banner .button-row{margin:0;gap:8px;flex-wrap:wrap}.preview-banner form{margin:0}.plain-fieldset{border:0;padding:0;margin:0;min-width:0}@media(max-width:760px){.preview-banner{align-items:flex-start;flex-direction:column}.preview-banner .button-row{width:100%}.christmas-card{padding:26px 23px}.christmas-location{font-size:.8rem}.christmas-church{width:180px}.christmas-card h2 br{display:none}}[hidden]{display:none!important}
