@charset "UTF-8";
/* Sponsor preview thank-you message */
.sponsor-preview-thanks{display:grid;grid-template-columns:82px minmax(0,1fr);gap:20px;max-width:1040px;margin:28px auto 0;padding:25px 28px;background:linear-gradient(135deg,#fffaf0,#fff2c6);border:4px solid var(--gold);border-radius:17px;box-shadow:0 7px 0 var(--red);color:var(--deep-green)}
.sponsor-preview-thanks>span{display:grid;place-items:center;width:82px;height:82px;background:var(--red);border:4px solid #fff;border-radius:50%;box-shadow:0 4px 0 #8b1425;font-size:2.7rem}
.sponsor-preview-thanks div>p:first-child{margin:0;color:var(--red);font-size:.68rem;font-weight:950;letter-spacing:.16em}
.sponsor-preview-thanks h2{margin:5px 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.65rem,3vw,2.3rem)}
.sponsor-preview-thanks strong{display:block;color:var(--green);font-size:1.02rem}
.sponsor-preview-thanks div>p:last-child{margin:9px 0 0;color:#52675d;line-height:1.6}
@media(max-width:580px){.sponsor-preview-thanks{grid-template-columns:1fr;padding:21px 18px;text-align:center}.sponsor-preview-thanks>span{width:70px;height:70px;margin:auto;font-size:2.3rem}}
:root{font-family:Arial,Helvetica,sans-serif;color:#163528;background:#edf5f0;font-synthesis:none;font-size:16px;--red:#b51f32;--deep-red:#861422;--green:#0b5b3c;--deep-green:#073c29;--gold:#f5c453;--cream:#fffaf0;--muted:#4d685c;--line:#c8d9cf}
*{box-sizing:border-box}html{background:var(--deep-green)}body{margin:0;background-color:#edf5f0;background-image:radial-gradient(circle at 20px 20px,#fff 0 3px,transparent 4px),radial-gradient(circle at 75px 60px,#fff9 0 2px,transparent 3px);background-size:100px 100px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:inherit}button,summary{cursor:pointer}[hidden]{display:none!important}
.masthead{position:relative;background:linear-gradient(135deg,#06472f,var(--green) 48%,#07412d);color:#fff;border-top:6px solid var(--red);box-shadow:0 5px 18px #06352255}.masthead-inner{max-width:1120px;margin:auto;padding:25px 32px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;line-height:1.2;font-size:.8rem;letter-spacing:.16em}.brand strong{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;letter-spacing:.06em;color:var(--gold)}.brand-logo{display:block;width:64px;height:80px;object-fit:contain;background:#fff;border-radius:50%;border:3px solid var(--gold);box-shadow:0 4px 0 #052e20}.season{max-width:310px;font-size:.69rem;letter-spacing:.14em;line-height:1.45;text-align:right;color:#dcece4}.season strong{display:block;margin-top:4px;font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;color:var(--gold);letter-spacing:.035em}.candy-stripe{height:13px;background:repeating-linear-gradient(135deg,#fff 0 12px,var(--red) 12px 24px,#fff 24px 36px,var(--green) 36px 48px)}
.festive-lights{position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(900px,80%);display:flex;justify-content:space-between;color:var(--gold);font-size:1.2rem;text-shadow:0 0 8px currentColor}.festive-lights span:nth-child(3n+1){color:#ff596b}.festive-lights span:nth-child(3n+2){color:#72dca8}.festive-lights span:nth-child(3n){color:#ffd76e}
main{max-width:1120px;margin:auto;padding:36px 32px 34px}.intro{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:28px;text-align:left;margin:0 auto 30px}.intro-copy-wrap{text-align:center}.snow-cheer{font-size:1.15rem;letter-spacing:.5em;color:#7a9e8e;margin-bottom:9px}.eyebrow{display:inline-block;font-size:.75rem;letter-spacing:.16em;font-weight:800;color:#fff;background:var(--red);margin:0 0 14px;padding:7px 13px;border-radius:999px;box-shadow:0 3px 0 var(--deep-red)}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.55rem,5vw,4.25rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 15px;color:var(--deep-green);text-shadow:0 2px 0 #fff}h1 span{color:var(--red);font-style:italic}.intro-copy{font-size:1.0625rem;line-height:1.6;max-width:650px;margin:0 auto;color:var(--muted)}.santa-portrait{position:relative;margin:0;background:#fff;border:5px solid var(--red);border-radius:50% 50% 46% 46%;box-shadow:0 0 0 5px var(--gold),0 10px 0 #bdd5c8;overflow:hidden;transform:rotate(2deg)}.santa-portrait img{display:block;width:100%;height:auto}.santa-portrait figcaption{position:absolute;left:50%;bottom:10px;transform:translateX(-50%) rotate(-3deg);width:max-content;padding:7px 13px;background:var(--red);color:#fff6cf;border:2px solid #fff;border-radius:999px;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:1rem;letter-spacing:.05em;box-shadow:0 3px 0 var(--deep-red)}
.workspace{display:block}.checker{position:relative;background:var(--cream);border:3px solid var(--green);border-radius:14px;padding:31px 28px 28px;box-shadow:0 9px 0 #c5dbce,0 17px 34px #173e2b18;overflow:hidden}.checker:before{content:"";position:absolute;inset:0 0 auto;height:11px;background:repeating-linear-gradient(135deg,var(--red) 0 10px,#fff 10px 20px,var(--green) 20px 30px,#fff 30px 40px)}label{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:1.28rem;margin-bottom:12px;color:var(--deep-green)}.input-row{display:flex;gap:10px;flex-wrap:wrap}input{min-width:0;flex:1 1 160px;width:100%;border:2px solid #7c9d8d;border-radius:8px;padding:14px 16px;font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;color:var(--deep-green);background:#fff;min-height:57px;box-shadow:inset 0 2px 4px #0b5b3c10}input::placeholder{text-transform:none;font-size:1rem;letter-spacing:normal;color:#788b81}button{flex:0 1 auto;border:2px solid #073c29;border-radius:8px;padding:14px 20px;min-height:57px;background:linear-gradient(#14764f,var(--green));color:#fff;font-weight:800;font-size:1rem;box-shadow:0 4px 0 #063b28;transition:transform .15s,background .15s}button:hover{background:linear-gradient(#17875b,#096444);transform:translateY(-1px)}button:active{transform:translateY(3px);box-shadow:0 1px 0 #063b28}.field-help{font-size:.875rem;line-height:1.55;margin:16px 0 0;color:var(--muted)}.field-help strong{font-weight:700;color:var(--green)}.error{color:#9e1828;font-size:.9375rem;font-weight:700;line-height:1.5;margin:12px 0 0}input[aria-invalid=true]{border:2px solid var(--red)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}#result-title:focus{outline:none}
.check-quick-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:-12px 0 20px}.check-quick-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:8px 15px;border:2px solid #fff;border-radius:999px;color:#fff;text-decoration:none;font-size:.82rem;font-weight:950;box-shadow:0 3px 0 #6b1020;transition:transform .15s,filter .15s}.check-quick-actions a:hover{transform:translateY(-1px);filter:brightness(1.08)}.check-quick-actions a:active{transform:translateY(2px);box-shadow:0 1px 0 #6b1020}.check-dates-button{background:#c79629;color:#073c29!important}.check-dates-button>span{color:#b51f32}.check-donate-button{background:#cf2e4d}.check-sponsor-button{background:var(--green)}
.test-schedule{margin:16px 0 0;padding:11px 13px;background:#fff0c5;color:#64460b;border:1px dashed #c28a19;border-radius:7px;font-size:.875rem;line-height:1.5}.result{position:relative;border:2px dashed var(--red);background:#eef8f1;border-radius:10px;margin-top:25px;padding:23px}.result:after{content:"★";position:absolute;right:18px;top:14px;color:var(--gold);font-size:1.5rem;text-shadow:0 1px 0 #9d6a00}.result-code{font-size:.875rem;font-weight:800;letter-spacing:.1em;color:var(--red);margin:0 0 10px}.result h2{font-family:Georgia,'Times New Roman',serif;font-size:1.8rem;line-height:1.18;letter-spacing:-.02em;color:var(--deep-green);margin:0 34px 12px 0}.result>p{font-size:1rem;color:var(--muted);line-height:1.6;margin:0}.visit-details{margin:19px 0 0;padding:0}.visit-details div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #cfe0d6;font-size:.9375rem}.visit-details div:last-child{border:0;padding-bottom:0}dt{color:var(--muted)}dd{font-weight:700;margin:0;text-align:right;color:var(--deep-green)}.visit-details .arrival-row{align-items:center;padding-top:17px}.arrival-row dd{color:var(--red);font-size:1.3rem}.test-label{font-size:.875rem}.result>p.arrival-note{font-size:.875rem;margin:18px 0 0;line-height:1.6;color:var(--muted)}
.public-route-card{margin:22px -9px -9px;background:#fffaf0;border:3px solid var(--gold);border-radius:12px;overflow:hidden;box-shadow:0 5px 0 #c9dcd1}.public-route-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px}.public-route-heading span{display:block;color:var(--red);font-size:.68rem;font-weight:900;letter-spacing:.14em}.public-route-heading h3{margin:3px 0 0;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:1.18rem}.public-route-heading>strong{flex:0 0 auto;padding:7px 9px;background:var(--green);color:#fff;border-radius:999px;font-size:.75rem}.public-route-map{height:390px;background:#dbe8df;border-block:2px solid #c8d9cf}.public-home-marker{display:grid!important;place-items:center;background:#fff;border:3px solid var(--red);border-radius:50% 50% 50% 0;box-shadow:0 3px 8px #0007;font-size:22px;transform:rotate(-45deg)}.public-home-marker span{transform:rotate(45deg)}.public-route-key{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin:0!important;padding:10px 12px;color:var(--muted)!important;font-size:.78rem!important;font-weight:800}.public-key-route{width:28px;height:0;border-top:5px solid var(--red)}.public-key-home{font-size:1.1rem}.leaflet-popup-content{color:#173f2a;line-height:1.4}.leaflet-popup-content strong{color:var(--red)}
.night-card{position:relative;background:linear-gradient(145deg,#a9172a,var(--red));color:#fff;border:3px solid var(--gold);border-radius:14px;padding:24px;box-shadow:0 9px 0 #e4b33e,0 16px 30px #65101c22}.night-card:after{content:"❄";position:absolute;right:16px;top:12px;font-size:2.3rem;color:#ffffff40}.night-card-top{display:flex;align-items:center;gap:10px}.night-card-top p{font-size:.75rem;font-weight:800;letter-spacing:.15em;margin:0;color:#fff4c9}.star{font-size:1.85rem}.night-card h2{font-family:Georgia,'Times New Roman',serif;font-size:1.75rem;margin:12px 0;color:#fff6cf}.night-card>p{font-size:1rem;line-height:1.6;color:#fff;margin:0}.tracker-status{border:1px dashed #fff2c0;background:#7b1020aa;border-radius:7px;margin-top:22px;padding:13px;font-size:.875rem;line-height:1.5;font-weight:700}.night-card p.small{font-size:.875rem;color:#ffe9ec;margin-top:12px}
.route-details{margin:27px 0 0;background:var(--cream);border:3px solid var(--green);border-radius:12px;overflow:hidden;box-shadow:0 6px 0 #c5dbce}.route-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:19px 24px;gap:15px;font-family:Georgia,'Times New Roman',serif;font-size:1.08rem;font-weight:700;color:var(--deep-green);background:#f8fff9}.route-details summary::-webkit-details-marker{display:none}.expand-icon{color:var(--red);font-size:1.8rem;line-height:1}.route-details[open] .expand-icon{transform:rotate(45deg)}.route-content{padding:5px 24px 24px}.route-content>p{font-size:.9375rem;color:var(--muted);line-height:1.6;max-width:760px;margin:0 0 18px}.route-content img{display:block;max-width:100%;height:auto;background:#fafaf7;border:3px solid #d8e4dd;border-radius:7px}.route-content .map-credit{font-size:.8rem;margin:12px 0 0}
.disclaimer{margin-top:31px;background:#fff6db;border:2px solid var(--gold);border-radius:10px;padding:18px 20px;max-width:100%;box-shadow:0 4px 0 #e3bb5c}.disclaimer h2{font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;color:#704707;margin:0 0 8px}.disclaimer p{font-size:.875rem;line-height:1.7;color:#64563b;margin:0}footer{background:var(--deep-green);color:#fff8d9;margin:0;padding:20px max(20px,calc((100% - 1056px)/2));display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:.8125rem;letter-spacing:.04em;border-top:10px solid transparent;border-image:repeating-linear-gradient(135deg,#fff 0 12px,var(--red) 12px 24px,#fff 24px 36px,var(--green) 36px 48px) 10}.footer-identity{display:flex;align-items:center;gap:10px}.footer-identity img{display:block;width:42px;height:52px;object-fit:contain;background:#fff;border-radius:50%;border:2px solid var(--gold)}
@media(max-width:820px){.workspace{grid-template-columns:1fr}.night-card{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.night-card-top,.night-card h2,.night-card>p:not(.small){grid-column:1}.night-card .tracker-status{grid-column:2;grid-row:1/3;align-self:center;margin:0}.night-card p.small{grid-column:2;grid-row:3;margin:0}.intro{grid-template-columns:minmax(0,1fr) 155px;margin-bottom:25px}}
@media(max-width:520px){.masthead-inner{padding:22px 20px 18px}.brand{gap:9px;font-size:.66rem;letter-spacing:.1em}.brand strong{font-size:.9rem}.brand-logo{width:48px;height:60px;border-width:2px}.season{max-width:130px;font-size:.55rem}.season strong{font-size:.95rem}.festive-lights{width:88%;font-size:.9rem}.festive-lights span:nth-child(even){display:none}main{padding:28px 20px 30px}.intro{grid-template-columns:1fr;gap:22px}.santa-portrait{width:132px;grid-row:1;margin:0 auto;border-width:4px}.santa-portrait figcaption{font-size:.8rem;padding:5px 10px;bottom:7px}.snow-cheer{font-size:.9rem}.eyebrow{font-size:.68rem;line-height:1.5}.checker{padding:27px 18px 22px}.input-row{display:block}.input-row button{width:100%;margin-top:11px;font-size:1rem}.input-row input{font-size:1.125rem}.public-route-card{margin:20px -7px -7px}.public-route-heading{align-items:flex-start}.public-route-heading h3{font-size:1.05rem}.public-route-heading>strong{max-width:115px;text-align:center}.public-route-map{height:330px}.night-card{display:block}.night-card .tracker-status{margin-top:18px}.night-card p.small{margin-top:10px}.route-details summary{padding:18px}.route-content{padding:0 14px 18px}.visit-details div{display:block}dd{text-align:left;margin-top:5px}.disclaimer{padding:16px}footer{display:block;text-align:center;line-height:1.7}.footer-identity{justify-content:center}.footer-identity img{width:38px;height:48px}footer>span+span{margin-top:8px}}
@media(max-width:520px){.check-quick-actions{margin-top:-8px;margin-bottom:17px;gap:8px}.check-quick-actions a{flex:1;min-height:38px;padding:7px 10px;font-size:.78rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Missing postcode route report */
.postcode-enquiry{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:22px;padding:17px;background:#fff6db;border:3px solid var(--gold);border-radius:12px;color:var(--deep-green)}.postcode-enquiry>span{font-size:2.4rem}.postcode-enquiry>div>p:first-child{margin:0;color:var(--red);font-size:.65rem;font-weight:950;letter-spacing:.12em}.postcode-enquiry h3{margin:3px 0 6px;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem}.postcode-enquiry>div>p:last-child{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}.postcode-enquiry form{grid-column:1/-1;display:grid;gap:8px;margin-top:4px;padding-top:14px;border-top:2px dashed #d5a52f}.postcode-enquiry label{margin:3px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:.8rem}.postcode-enquiry label small{font-weight:500}.postcode-enquiry input,.postcode-enquiry textarea{width:100%;min-height:48px;padding:10px 11px;background:#fff;border:2px solid #8ead9e;border-radius:8px;color:var(--deep-green);font:inherit;text-transform:none;letter-spacing:normal}.postcode-enquiry textarea{min-height:82px;resize:vertical}.postcode-enquiry button{width:100%;margin-top:5px}.postcode-enquiry button:disabled{opacity:.6;cursor:wait}.postcode-enquiry-privacy{color:#52675d;font-size:.72rem;line-height:1.45;text-align:center}.postcode-enquiry-status{padding:9px;background:#e0f4e6;border:1px solid #0b7b50;border-radius:7px;color:#075636;font-size:.78rem;line-height:1.4;text-align:center}.postcode-enquiry-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important}@media(max-width:520px){.postcode-enquiry{grid-template-columns:1fr;padding:15px 12px}.postcode-enquiry>span{font-size:2rem}.postcode-enquiry form{grid-column:1}}

/* Live Barton route */
.night-card.is-live{background:linear-gradient(145deg,#08734b,#0b5b3c);box-shadow:0 9px 0 #e4b33e,0 0 30px #0b5b3c55}.live-map{margin:16px 0 6px;border:2px solid #ffffff80;border-radius:10px;background:linear-gradient(#edf8f1,#d7eddf);overflow:hidden}.live-map svg{display:block;width:100%;height:auto}.route-shadow{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.route-line{fill:none;stroke:#b51f32;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 5}.santa-ring{fill:#f5c453;stroke:#fff;stroke-width:3}.santa-moving{filter:drop-shadow(0 3px 3px #073c2966)}

/* Sleigh phone controls */
.admin-shell{min-height:100vh;padding:24px;background:#073c29 radial-gradient(circle at 30px 30px,#ffffff22 0 3px,transparent 4px);background-size:90px 90px}.admin-card{width:min(680px,100%);margin:0 auto;padding:24px;background:#fffaf0;border:4px solid #f5c453;border-radius:18px;box-shadow:0 10px 0 #861422}.admin-heading{display:flex;align-items:center;gap:16px}.admin-heading img{width:68px;height:84px;object-fit:contain;background:#fff;border:2px solid #b51f32;border-radius:50%}.admin-kicker{margin:0 0 4px;color:#b51f32;font-size:.78rem;font-weight:900;letter-spacing:.13em}.admin-card h1{margin:0;font-size:clamp(2rem,7vw,3.2rem);text-align:left}.admin-welcome{margin:18px 0;color:#4d685c;line-height:1.55}.admin-status{display:flex;flex-direction:column;gap:4px;margin:18px 0;padding:14px;border:2px solid #c8d9cf;border-radius:10px;background:#edf5f0;color:#073c29}.admin-status.sharing{border-color:#0b5b3c;background:#daf2e2}.admin-status span{font-size:.9rem;color:#4d685c}.admin-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.admin-facts div{display:flex;flex-direction:column;gap:5px;padding:12px;background:#fff;border:1px solid #c8d9cf;border-radius:9px}.admin-facts span{font-size:.76rem;color:#4d685c}.admin-facts strong{font-size:1.1rem;color:#073c29}.admin-actions{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-top:18px}.admin-actions button{width:100%;min-height:58px}.admin-actions button[data-variant=destructive]{background:#b51f32}.admin-note{margin-top:18px;padding:13px;background:#fff0c5;border:1px dashed #c28a19;border-radius:8px;color:#64460b;line-height:1.55}.admin-link{display:inline-block;margin-top:18px;color:#0b5b3c;font-weight:800;text-decoration:underline;text-underline-offset:3px}

@media(max-width:520px){.admin-shell{padding:12px}.admin-card{padding:18px}.admin-heading img{width:54px;height:68px}.admin-facts{grid-template-columns:1fr}.admin-actions{grid-template-columns:1fr 1fr}.admin-actions button:first-child{grid-column:1/-1}}

/* Family live countdown */
.countdown-link{display:block;margin:14px 0 4px;padding:12px 13px;background:#fff6cf;color:#7d1321;border:2px solid #fff;border-radius:8px;font-weight:900;text-decoration:none;box-shadow:0 3px 0 #6f101d}.countdown-link:hover{background:#fff;text-decoration:underline;text-underline-offset:3px}
.countdown-main{max-width:1120px;min-height:calc(100vh - 210px)}.countdown-intro{text-align:center;margin:0 auto 28px}.countdown-intro h1{margin-bottom:12px}.countdown-intro>p:last-child{max-width:670px;margin:0 auto;color:var(--muted);font-size:1.05rem;line-height:1.6}.countdown-grid{display:grid;grid-template-columns:minmax(320px,.88fr) minmax(360px,1.12fr);gap:24px;align-items:stretch}.countdown-setup{position:relative;padding:29px 27px;background:var(--cream);border:3px solid var(--green);border-radius:15px;box-shadow:0 9px 0 #c5dbce;overflow:hidden}.countdown-setup:before{content:"";position:absolute;inset:0 0 auto;height:10px;background:repeating-linear-gradient(135deg,var(--red) 0 10px,#fff 10px 20px,var(--green) 20px 30px,#fff 30px 40px)}.countdown-setup label:not(:first-child){margin-top:20px}.countdown-setup input{text-transform:none;letter-spacing:normal}.countdown-setup button{width:100%;margin-top:13px}.or-divider{display:flex;align-items:center;gap:10px;margin:13px 0 0;color:#70867a;font-size:.82rem;font-weight:800;text-transform:uppercase}.or-divider:before,.or-divider:after{content:"";height:1px;flex:1;background:#cadbd1}.privacy-note{margin:17px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}.countdown-stage{position:relative;display:flex;min-height:510px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:31px 25px;background:linear-gradient(150deg,#0a593c,#063b29);color:#fff;border:4px solid var(--gold);border-radius:17px;box-shadow:0 9px 0 #b51f32,0 19px 34px #173e2b2b;overflow:hidden}.countdown-stage:before{content:"❄  ✦  ❄  ✦  ❄";position:absolute;left:0;right:0;top:18px;color:#ffffff38;font-size:1.2rem;letter-spacing:.4em}.countdown-stage.final-kilometre{background:linear-gradient(150deg,#b51f32,#7d1020);animation:final-glow 2s ease-in-out infinite}.countdown-empty img{display:block;width:140px;height:194px;object-fit:cover;object-position:top;margin:0 auto 20px;background:#fff;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 5px var(--gold)}.countdown-stage h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.75rem,4vw,2.45rem);line-height:1.15;color:#fff6cf;margin:16px 0 10px}.countdown-stage p{max-width:540px;margin:0;color:#fff;font-size:1rem;line-height:1.6}.waiting-place{position:absolute;top:55px;left:20px;right:20px;font-size:.85rem!important;color:#dcf0e5!important}.waiting-place strong{display:block;margin-top:3px;color:#fff}.countdown-number{display:flex;flex-direction:column;align-items:center;justify-content:center;width:250px;height:250px;margin:54px auto 0;background:#fff8dc;color:var(--red);border:9px solid var(--gold);border-radius:50%;box-shadow:0 0 0 8px #fff,0 12px 0 #052e20}.countdown-number span{font-family:Georgia,'Times New Roman',serif;font-size:9rem;font-weight:900;line-height:.78;letter-spacing:-.08em}.countdown-number small{margin-top:17px;font-size:.73rem;font-weight:900;letter-spacing:.16em;color:var(--deep-green)}.countdown-sleigh{margin:55px 0 0;font-size:6rem;filter:drop-shadow(0 5px 2px #052e20)}.countdown-updated{margin-top:12px!important;color:#d7e9df!important;font-size:.8rem!important}.countdown-stage .voice-button{margin-top:17px;min-height:45px;padding:9px 15px;background:#fff6cf;color:#7d1321;border-color:#fff;box-shadow:0 3px 0 #5a0b16}.back-link{display:inline-block;margin:22px 0 0;color:var(--green);font-weight:900;text-underline-offset:4px}@keyframes final-glow{50%{box-shadow:0 9px 0 #f5c453,0 0 38px #b51f3277}}
@media(max-width:760px){.countdown-grid{grid-template-columns:1fr}.countdown-stage{min-height:480px}.countdown-setup{order:1}.countdown-stage{order:2}}
@media(max-width:520px){.countdown-main{padding-top:26px}.countdown-grid{gap:20px}.countdown-setup{padding:27px 18px 22px}.countdown-stage{min-height:440px;padding:26px 16px}.countdown-number{width:210px;height:210px;border-width:7px}.countdown-number span{font-size:7.5rem}.countdown-number small{margin-top:14px}.waiting-place{top:48px}.countdown-stage:before{letter-spacing:.2em}}

/* Driver route and timing view */
.admin-links{display:flex;flex-wrap:wrap;gap:8px 22px}.driver-shell{max-width:none;min-height:100vh;padding:18px;background:#052e20;color:#fff}.driver-header{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1180px;margin:0 auto 14px}.driver-header p{margin:0 0 4px;color:#f5c453;font-size:.78rem;font-weight:900;letter-spacing:.14em}.driver-header h1{margin:0;color:#fff;font-size:clamp(2rem,5vw,3.7rem);text-shadow:none}.driver-clock{font-variant-numeric:tabular-nums;font-size:clamp(1.4rem,4vw,2.3rem);font-weight:900;color:#fff6cf}.driver-timing{max-width:1180px;margin:0 auto 14px;padding:15px 22px;border:4px solid #fff;border-radius:16px;text-align:center;box-shadow:0 7px 0 #021d14}.driver-timing span{display:block;font-size:.78rem;font-weight:900;letter-spacing:.18em}.driver-timing strong{display:block;margin:2px 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.5rem,8vw,5.8rem);line-height:1}.driver-timing p{margin:5px 0 0;font-size:.95rem;font-weight:700}.driver-timing.ontime{background:#0b7b50}.driver-timing.early{background:#1769aa}.driver-timing.behind{background:#b51f32}.driver-timing.waiting{background:#66551b}.driver-timing.finished{background:#7d1321}.driver-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:1180px;margin:0 auto 14px}.driver-facts div{padding:12px 14px;background:#fffaf0;color:#073c29;border:3px solid #f5c453;border-radius:11px}.driver-facts span{display:block;font-size:.75rem;font-weight:800;color:#4d685c}.driver-facts strong{display:block;margin-top:4px;font-size:clamp(1.2rem,3vw,2rem);font-variant-numeric:tabular-nums}.driver-map-card{max-width:1180px;margin:0 auto;background:#fffaf0;color:#073c29;border:4px solid #f5c453;border-radius:16px;overflow:hidden}.driver-map-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px}.driver-map-heading span{display:block;color:#b51f32;font-size:.7rem;font-weight:900;letter-spacing:.15em}.driver-map-heading strong{display:block;font-size:1.25rem}.driver-map-heading button{min-height:44px;padding:8px 14px;box-shadow:0 3px 0 #063b28}.driver-road-map{height:min(54vh,560px);min-height:340px;background:#dbe8df;border-block:2px solid #c8d9cf}.driver-sleigh-icon{display:flex!important;align-items:center;justify-content:center;background:#f5c453;border:4px solid #fff;border-radius:50%;box-shadow:0 3px 8px #0008;font-size:26px}.driver-map-key{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;margin:0;padding:10px 14px;font-size:.8rem;font-weight:700}.driver-map-key span{display:inline-flex;align-items:center;gap:5px}.key-route,.key-guide{width:28px;height:0;border-top:5px solid #b51f32}.key-guide{border-top-color:#c69200;border-top-style:dashed}.driver-safety{max-width:1180px;margin:14px auto 0;padding:11px 14px;background:#fff0c5;color:#64460b;border:2px solid #f5c453;border-radius:9px;line-height:1.45}.driver-nav{display:flex;justify-content:center;gap:24px;max-width:1180px;margin:14px auto 0}.driver-nav a{color:#fff6cf;font-weight:800;text-underline-offset:3px}
@media(max-width:700px){.driver-shell{padding:10px}.driver-header{align-items:flex-end}.driver-facts{grid-template-columns:1fr 1fr}.driver-timing{padding:13px}.driver-road-map{height:48vh;min-height:320px}.driver-map-key{justify-content:flex-start}.driver-safety{font-size:.86rem}}
@media(max-width:430px){.driver-header p{font-size:.64rem}.driver-clock{font-size:1.2rem}.driver-facts div{padding:10px}.driver-map-heading{padding:10px}.driver-map-heading button{font-size:.8rem;padding:7px 10px}.driver-road-map{min-height:300px}.driver-nav{font-size:.9rem}}

/* Parent what3words stop finder */
.mention-link{display:block;margin:14px 0 9px;padding:12px 13px;background:#fff;color:#7d1321;border:2px solid #fff6cf;border-radius:8px;font-weight:900;text-decoration:none;box-shadow:0 3px 0 #6f101d}.mention-link:hover{text-decoration:underline;text-underline-offset:3px}.mention-link+.countdown-link{margin-top:9px}
.stop-finder-shell{max-width:1180px;min-height:100vh;margin:auto;padding:28px 28px 38px}.stop-finder-heading{text-align:center;max-width:800px;margin:0 auto 25px}.mini-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;color:var(--deep-green);font-size:.7rem;font-weight:800;letter-spacing:.11em;text-align:left;text-decoration:none}.mini-brand img{width:52px;height:65px;object-fit:contain;background:#fff;border:3px solid var(--gold);border-radius:50%}.mini-brand strong{font-family:Georgia,'Times New Roman',serif;font-size:1rem;color:var(--red);letter-spacing:.04em}.stop-finder-heading .eyebrow{display:table;margin:0 auto 13px}.stop-finder-heading h1{margin-bottom:13px}.stop-finder-heading h1 span{display:inline-block}.stop-finder-heading>p:last-child{max-width:650px;margin:auto;color:var(--muted);font-size:1.05rem;line-height:1.6}
.stop-finder-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:24px;align-items:stretch}.stop-map-card,.stop-result-card{position:relative;background:var(--cream);border:4px solid var(--green);border-radius:17px;box-shadow:0 9px 0 #c5dbce;overflow:hidden}.stop-map-card{padding-bottom:20px}.stop-map-instructions{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;background:#fffaf0}.stop-map-instructions strong{font-family:Georgia,'Times New Roman',serif;font-size:1.22rem;color:var(--deep-green)}.stop-map-instructions span{color:var(--muted);font-size:.84rem}.stop-road-map{height:500px;background:#dbe8df;border-block:2px solid #b9d0c2;cursor:crosshair;touch-action:pan-x pan-y}.parent-stop-pin{display:flex!important;align-items:center;justify-content:center;background:#b51f32;border:4px solid #fff;border-radius:50% 50% 50% 10%;box-shadow:0 4px 8px #0008;font-size:25px;transform:rotate(-45deg)}.parent-stop-pin span{transform:rotate(45deg)}.location-button{display:block;width:calc(100% - 36px);margin:18px auto 0}.location-button:disabled{opacity:.7;cursor:wait}.map-tip{margin:15px 20px 0;color:var(--muted);font-size:.84rem;line-height:1.55}.map-tip strong{color:var(--green)}
.stop-result-card{padding:27px 23px 23px;border-color:var(--red);box-shadow:0 9px 0 #e7b93e;background:#fffaf0}.result-step{position:absolute;right:18px;top:17px;display:grid;place-items:center;width:34px;height:34px;background:var(--red);color:#fff;border:3px solid var(--gold);border-radius:50%;font-weight:900}.result-kicker{margin:2px 45px 17px 0;color:var(--red);font-size:.75rem;font-weight:900;letter-spacing:.16em}.stop-empty{padding:45px 5px;text-align:center}.stop-empty>span{font-size:4.2rem}.stop-empty h2{margin:13px 0 8px;font-family:Georgia,'Times New Roman',serif;color:var(--deep-green)}.stop-empty p{margin:0;color:var(--muted);line-height:1.5}.route-check{display:flex;align-items:center;gap:11px;padding:12px;border-radius:9px}.route-check>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;color:#fff;font-weight:900}.route-check strong,.route-check small{display:block}.route-check strong{font-size:.88rem}.route-check small{margin-top:3px;font-size:.76rem}.route-check.near{background:#dbf2e3;color:#075636}.route-check.near>span{background:#08734b}.route-check.far{background:#fff0c5;color:#704707}.route-check.far>span{background:#b27708}.words-label{margin:24px 0 8px;color:var(--muted);font-size:.8rem;font-weight:800}.three-words{padding:15px 12px;background:#fff;border:2px dashed var(--red);border-radius:9px;color:var(--deep-green);font-size:clamp(1rem,2.1vw,1.35rem);font-weight:900;line-height:1.35;overflow-wrap:anywhere;user-select:all}.copy-words{width:100%;margin-top:11px}.words-loading{padding:20px 8px;color:var(--green);font-family:Georgia,'Times New Roman',serif;font-weight:700;text-align:center}.stop-message{margin:12px 0 0;padding:11px;background:#fff0c5;border:1px dashed #c28a19;border-radius:7px;color:#704707;font-size:.84rem;line-height:1.55}.stop-coordinate{margin:12px 0 0;color:#71847a;font-size:.7rem}.parent-note{margin-top:22px;padding:13px;background:#eef6f1;border:1px solid #c8d9cf;border-radius:8px;color:var(--muted);font-size:.8rem;line-height:1.55}.parent-note strong{color:var(--deep-green)}.stop-finder-nav{display:flex;justify-content:center;gap:30px;margin-top:28px}.stop-finder-nav a{color:var(--green);font-weight:900;text-underline-offset:4px}
.stop-finder-grid.is-single,.stop-finder-grid.is-confirmed{grid-template-columns:minmax(0,900px);justify-content:center}.stop-finder-grid.is-confirmed .stop-map-card{border-color:var(--red);box-shadow:0 9px 0 var(--gold)}.stop-map-instructions.confirmed{padding:19px 22px;background:#fff6db;border-bottom:2px solid #e8c95f}.stop-map-instructions.confirmed strong{font-size:1.45rem}.confirmed-stop-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px 16px;align-items:center;margin:20px;padding:18px;background:#fffaf0;border:3px solid var(--green);border-radius:14px;box-shadow:0 5px 0 #b8d1c2}.confirmed-stop-tick{display:grid;place-items:center;width:48px;height:48px;background:var(--green);color:#fff;border:4px solid var(--gold);border-radius:50%;font-size:1.55rem;font-weight:900}.confirmed-stop-copy p{margin:0 0 3px;color:var(--red);font-size:.7rem;font-weight:900;letter-spacing:.13em}.confirmed-stop-copy h2{margin:0;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:1.35rem}.confirmed-stop-copy span,.confirmed-stop-copy strong{display:block;margin-top:3px;color:var(--muted);font-size:.82rem}.confirmed-stop-copy strong{color:var(--green);font-size:.95rem}.confirmed-stop-continue{min-width:280px;background:linear-gradient(#c7263c,#a7142a);border-color:#7d1020;box-shadow:0 4px 0 #6f101d}.confirmed-stop-change{grid-column:3;background:#fff;color:var(--green);border-color:var(--green);box-shadow:0 3px 0 #a8c3b4;font-size:.78rem}.confirmed-stop-change:hover{background:#eef8f1}.stop-inline-result,.stop-inline-booking{margin:20px;padding:20px;background:#fffaf0;border:3px solid var(--green);border-radius:14px;box-shadow:0 5px 0 #b8d1c2}.stop-inline-result .route-check{margin-bottom:14px}.stop-inline-result .selected-street{margin-top:0}.stop-inline-result .three-words{font-size:1.25rem}.stop-inline-result .secondary-copy{max-width:420px}.stop-inline-booking{max-width:620px;margin-inline:auto;border-color:var(--red);box-shadow:0 5px 0 var(--gold)}.stop-inline-booking .result-kicker{margin-bottom:12px}.stop-inline-booking .mention-form{margin-top:17px}.stop-inline-message{margin:14px 20px 0}
@media(max-width:820px){.stop-finder-grid{grid-template-columns:1fr}.stop-road-map{height:480px}.stop-result-card{min-height:360px}.confirmed-stop-panel{grid-template-columns:auto minmax(0,1fr)}.confirmed-stop-continue,.confirmed-stop-change{grid-column:1/-1;width:100%;min-width:0}}
@media(max-width:520px){.stop-finder-shell{padding:20px 14px 30px}.stop-finder-heading{margin-bottom:20px}.mini-brand{margin-bottom:17px}.stop-finder-heading>p:last-child{font-size:.95rem}.stop-finder-grid{gap:20px}.stop-map-instructions{display:block;padding:14px 15px}.stop-map-instructions span{display:block;margin-top:4px}.stop-road-map{height:420px}.location-button{width:calc(100% - 28px)}.stop-result-card{padding:24px 17px 19px}.stop-finder-nav{display:grid;gap:15px;text-align:center;font-size:.9rem}.confirmed-stop-panel,.stop-inline-result,.stop-inline-booking{margin:14px;padding:15px;gap:11px}.confirmed-stop-tick{width:42px;height:42px}.confirmed-stop-copy h2{font-size:1.15rem}.confirmed-stop-continue{font-size:.9rem}.stop-inline-result .three-words{font-size:1.05rem}}

/* Santa mention booking */
.secondary-copy{background:#fff;color:var(--green);border-color:var(--green);box-shadow:0 3px 0 #a8c3b4}.secondary-copy:hover{background:#eef8f1}.mention-start{width:100%;margin-top:12px;background:linear-gradient(#c7263c,#a7142a);border-color:#7d1020;box-shadow:0 4px 0 #6f101d}.mention-start:disabled{opacity:.52;cursor:not-allowed;transform:none}.mention-form{margin-top:18px;padding-top:18px;border-top:2px dashed #d8cda9}.mention-form h2{margin:0 0 16px;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;color:var(--deep-green)}.mention-form label{font-size:1rem;margin-bottom:8px}.mention-form .booking-name{text-transform:none;letter-spacing:normal}.mention-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.mention-form button[type=submit]{width:100%;margin-top:14px}.mention-form>p{margin:13px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}.booking-success{margin-top:18px;padding:19px 15px;background:#e0f4e6;border:2px solid var(--green);border-radius:11px;text-align:center}.booking-success>span{font-size:3rem}.booking-success h2{margin:7px 0 8px;font-family:Georgia,'Times New Roman',serif;color:var(--deep-green)}.booking-success>p{margin:0;color:var(--muted);line-height:1.5}.booking-success dl{margin:15px 0 0;padding:10px 12px;background:#fff;border-radius:8px}.booking-success dl div{display:block;padding:5px 0}.booking-success dt{font-size:.72rem}.booking-success dd{margin:3px 0 0;text-align:center;font-size:.95rem;overflow-wrap:anywhere;user-select:all}.booking-success .no-payment{margin-top:12px;font-size:.75rem}

/* Santa's private mention display */
.mention-display-shell{max-width:none;min-height:100vh;padding:18px;background:#052e20 radial-gradient(circle at 30px 30px,#ffffff16 0 3px,transparent 4px);background-size:95px 95px;color:#fff}.mention-display-header{display:flex;justify-content:space-between;align-items:center;gap:18px;max-width:1180px;margin:0 auto 14px}.mention-display-header p{margin:0 0 4px;color:var(--gold);font-size:.78rem;font-weight:900;letter-spacing:.14em}.mention-display-header h1{margin:0;color:#fff;text-shadow:none;font-size:clamp(1.7rem,4vw,3rem)}.mention-display-header>span{padding:8px 13px;background:#b51f32;border:2px solid #fff;border-radius:999px;font-weight:900;letter-spacing:.14em}.mention-hero{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(300px,1fr);align-items:center;min-height:55vh;max-width:1180px;margin:auto;padding:28px;background:linear-gradient(145deg,#b51f32,#7d1020);border:6px solid var(--gold);border-radius:22px;box-shadow:0 10px 0 #021d14;text-align:center}.mention-hero.right{grid-template-columns:minmax(300px,1fr) minmax(150px,.55fr)}.mention-arrow{font-family:Arial,sans-serif;font-size:clamp(8rem,22vw,18rem);font-weight:900;line-height:.75;color:#fff6cf;text-shadow:0 8px 0 #5a0b16}.mention-name small{display:block;color:#fff6cf;font-size:clamp(1rem,2.3vw,1.5rem);font-weight:900;letter-spacing:.2em}.mention-name strong{display:block;margin:14px 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(4rem,12vw,10rem);line-height:.85;overflow-wrap:anywhere;text-shadow:0 7px 0 #5a0b16}.mention-name span{font-size:clamp(1rem,2vw,1.45rem);font-weight:800}.mention-hero.empty{display:flex;justify-content:center;background:linear-gradient(145deg,#0b6f4a,#07442f)}.mention-queue{max-width:1180px;margin:18px auto 0;padding:18px 20px;background:#fffaf0;color:var(--deep-green);border:3px solid var(--gold);border-radius:14px}.mention-queue h2{margin:0 0 12px;font-family:Georgia,'Times New Roman',serif}.mention-queue>p{margin:0;color:var(--muted)}.mention-queue ol{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none}.mention-queue li{padding:12px;background:#eef6f1;border:2px solid #c8d9cf;border-radius:9px}.mention-queue li span,.mention-queue li strong,.mention-queue li small{display:block}.mention-queue li span{color:var(--red);font-size:.72rem;font-weight:900}.mention-queue li strong{margin:4px 0;font-size:1.15rem}.mention-queue li small{color:var(--muted)}.mention-display-footer{display:flex;justify-content:space-between;gap:20px;max-width:1180px;margin:14px auto 0;color:#d9ede2;font-size:.85rem}.mention-display-footer nav{display:flex;gap:20px}.mention-display-footer a{color:#fff6cf;font-weight:800}
@media(max-width:720px){.mention-hero,.mention-hero.right{grid-template-columns:1fr;min-height:55vh;padding:22px}.mention-hero.right .mention-name{order:2}.mention-hero.right .mention-arrow{order:1}.mention-arrow{font-size:9rem}.mention-name strong{font-size:clamp(4rem,18vw,7rem)}.mention-queue ol{grid-template-columns:1fr 1fr}.mention-display-footer{display:block}.mention-display-footer nav{margin-top:10px}}

/* Martin's Mission Control */
.mission-shell{min-height:100vh;padding:18px;background:#031d15 radial-gradient(circle at 28px 28px,#ffffff12 0 3px,transparent 4px);background-size:86px 86px;color:#fff}.mission-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;max-width:1280px;margin:0 auto 14px;padding:2px 4px}.mission-header p{margin:0 0 5px;color:#f5c453;font-size:.75rem;font-weight:900;letter-spacing:.16em}.mission-header h1{margin:0;color:#fff;font-size:clamp(2rem,5vw,3.6rem);line-height:1}.mission-header>div>span{display:block;margin-top:7px;color:#bcd4c8}.mission-clock{text-align:right;font-variant-numeric:tabular-nums}.mission-clock strong{display:block;font-size:clamp(1.5rem,3vw,2.5rem)}.mission-clock span{font-size:.84rem;color:#bcd4c8}.mission-status-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:1280px;margin:0 auto 12px}.mission-status-tile{display:flex;flex-direction:column;min-height:116px;padding:13px 15px;background:#102f25;border:2px solid #355f4f;border-radius:13px}.mission-status-tile>span{font-size:.7rem;font-weight:900;letter-spacing:.15em;color:#bcd4c8}.mission-status-tile strong{margin:8px 0 3px;font-size:clamp(1.25rem,2.4vw,2rem);line-height:1}.mission-status-tile small{margin-top:auto;color:#d8e7df;font-size:.8rem}.mission-status-tile.good{border-color:#32b273;background:#0b4a34}.mission-status-tile.warn{border-color:#f5c453;background:#594817}.mission-status-tile.danger{border-color:#ff6b72;background:#721522}.mission-status-tile.info{border-color:#63b3ed;background:#124c76}.mission-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);gap:12px;max-width:1280px;margin:auto}.mission-panel{padding:18px;background:#fffaf0;color:#073c29;border:3px solid #f5c453;border-radius:15px;box-shadow:0 6px 0 #010f0b}.mission-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px}.mission-panel-heading span{display:block;color:#b51f32;font-size:.69rem;font-weight:900;letter-spacing:.15em}.mission-panel-heading h2{margin:2px 0 0;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem}.mission-live-pill,.mission-side{padding:7px 10px;background:#0b5b3c;color:#fff;border-radius:999px;font-size:.75rem;letter-spacing:.08em}.mission-live-pill.paused{background:#8b6815}.mission-live-pill.finished{background:#861422}.mission-live-pill.idle{background:#60756b}.mission-progress>div{height:24px;overflow:hidden;background:#dce9e2;border:2px solid #8ead9e;border-radius:999px}.mission-progress>div span{display:block;height:100%;min-width:3px;background:linear-gradient(90deg,#0b5b3c,#25a86e);border-radius:999px;transition:width .4s ease}.mission-progress p{margin:8px 0 15px;color:#4d685c}.mission-run-actions,.mission-callout-actions{display:flex;gap:10px}.mission-run-actions button,.mission-callout-actions button,.mission-recovery-panel button{min-height:50px}.mission-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.mission-metrics div{padding:11px;background:#edf5f0;border:1px solid #c8d9cf;border-radius:9px}.mission-metrics span,.mission-metrics strong{display:block}.mission-metrics span{font-size:.72rem;color:#4d685c}.mission-metrics strong{margin-top:4px;font-size:1.15rem}.mission-next-name{text-align:center;padding:14px;background:#b51f32;color:#fff;border-radius:12px}.mission-next-name strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.95;overflow-wrap:anywhere}.mission-next-name span{display:block;margin-top:9px;color:#fff6cf;font-weight:800}.mission-cluster{margin:12px 0;padding:10px;background:#fff0c5;border:1px solid #d5a52f;border-radius:8px;color:#64460b;font-weight:700}.mission-callout-actions{margin-top:12px}.mission-callout-actions button{flex:1}.mission-mini-queue{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0 0;padding:0;list-style:none}.mission-mini-queue li{padding:9px;background:#edf5f0;border:1px solid #c8d9cf;border-radius:8px}.mission-mini-queue b,.mission-mini-queue span{display:block}.mission-mini-queue span{margin-top:2px;color:#4d685c;font-size:.75rem;text-transform:capitalize}.mission-undo{margin-top:10px;padding:0;background:none;border:0;box-shadow:none;color:#0b5b3c;text-decoration:underline;font-weight:800}.mission-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:140px;background:#edf5f0;border-radius:10px}.mission-empty strong{font-size:1.4rem}.mission-empty span{margin-top:4px;color:#4d685c}.mission-recovery-panel p{color:#4d685c;line-height:1.45}.mission-recovery-panel input[type=range]{width:100%;accent-color:#b51f32}.mission-manual-value{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 12px}.mission-manual-value strong{font-size:1.5rem}.mission-manual-value span{color:#4d685c;font-size:.85rem}.mission-screens-panel nav{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mission-screens-panel a{display:flex;flex-direction:column;padding:12px;background:#073c29;color:#fff;border:2px solid #0b5b3c;border-radius:9px;text-decoration:none}.mission-screens-panel a:hover{background:#0b5b3c}.mission-screens-panel a span{margin-top:3px;color:#cce0d5;font-size:.75rem}.mission-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;max-width:1280px;margin:13px auto 0;color:#cce0d5;font-size:.84rem}.mission-footer span:before{content:'●';margin-right:7px;color:#f5c453}.mission-footer span.connected:before{color:#32b273}.mission-footer button{padding:7px 12px;background:#143b2e;border:1px solid #527664;box-shadow:none;font-size:.82rem}
@media(max-width:860px){.mission-status-row{grid-template-columns:1fr 1fr}.mission-grid{grid-template-columns:1fr}.mission-callout-panel{order:-1}}@media(max-width:520px){.mission-shell{padding:10px}.mission-header{align-items:flex-start}.mission-header>div>span{font-size:.78rem}.mission-clock span{display:none}.mission-status-row{gap:7px}.mission-status-tile{min-height:100px;padding:10px}.mission-status-tile small{font-size:.72rem}.mission-panel{padding:14px}.mission-metrics{grid-template-columns:1fr}.mission-screens-panel nav{grid-template-columns:1fr}.mission-mini-queue{grid-template-columns:1fr}.mission-run-actions{display:grid;grid-template-columns:1fr 1fr}.mission-footer{align-items:flex-start}}

.mission-usage-panel{grid-column:1/-1}.mission-usage-reset{min-height:40px;padding:7px 11px;background:#fff;color:#861422;border-color:#b51f32;box-shadow:0 3px 0 #e2b7bd;font-size:.78rem}.mission-usage-periods{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mission-usage-periods article{padding:13px;background:#edf5f0;border:2px solid #c8d9cf;border-radius:10px}.mission-usage-periods article.people-first{background:#073c29;border-color:#f5c453;color:#fff}.mission-usage-periods span,.mission-usage-periods strong,.mission-usage-periods b,.mission-usage-periods small{display:block}.mission-usage-periods span{color:#4d685c;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.mission-usage-periods strong{margin-top:6px;color:#b51f32;font-size:2.5rem;line-height:1}.mission-usage-periods b{margin-top:2px}.mission-usage-periods small{margin-top:6px;color:#4d685c}.mission-usage-periods .people-first span,.mission-usage-periods .people-first small{color:#cce0d5}.mission-usage-periods .people-first strong{color:#f5c453}.mission-usage-periods .people-first b{color:#fff}.mission-usage-detail{margin-top:12px;padding:13px;background:#fff6db;border:1px solid #e5c04f;border-radius:9px}.mission-usage-detail>p{margin:0;color:#64460b}.mission-usage-detail>p strong,.mission-usage-detail>p span{display:block}.mission-usage-detail>p span{margin-top:3px;font-size:.78rem}.mission-usage-routes{display:grid;grid-template-columns:repeat(5,minmax(115px,1fr));gap:7px;margin-top:11px}.mission-usage-routes span{padding:8px 9px;background:#fff;border:1px solid #dfc26a;border-radius:8px;font-size:.72rem}.mission-usage-routes strong,.mission-usage-routes b,.mission-usage-routes small{display:block}.mission-usage-routes strong{color:#073c29;font-size:.77rem}.mission-usage-routes b{margin-top:3px;color:#b51f32}.mission-usage-routes small{margin-top:2px;color:#5b6d64}.mission-usage-note,.mission-usage-loading{margin:11px 0 0;color:#4d685c;font-size:.78rem;line-height:1.5}
.mission-unmatched-list{margin-top:12px;padding:12px 13px;background:#fff1f2;border:1px solid #e6afb7;border-radius:9px}.mission-unmatched-list>strong{color:var(--deep-red);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.mission-unmatched-list ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:9px 0 0;padding:0;list-style:none}.mission-unmatched-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:#fff;border:1px solid #ecc9ce;border-radius:7px}.mission-unmatched-list li b{color:var(--deep-red)}.mission-unmatched-list li span{color:var(--muted);font-size:.72rem;text-align:right}.mission-unmatched-list>p{margin:8px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45}
@media(max-width:860px){.mission-usage-panel{grid-column:auto}.mission-usage-periods{grid-template-columns:1fr 1fr}.mission-usage-routes{grid-template-columns:1fr 1fr}.mission-unmatched-list ul{grid-template-columns:1fr}}@media(max-width:520px){.mission-usage-panel .mission-panel-heading{display:block}.mission-usage-reset{margin-top:10px}.mission-usage-periods{grid-template-columns:1fr}.mission-usage-routes{grid-template-columns:1fr 1fr}.mission-unmatched-list li{display:block}.mission-unmatched-list li span{display:block;margin-top:3px;text-align:left}}

/* Little Helper */
.helper-shell{min-height:100vh;padding:14px;background:#04261b;color:#fff;transition:background .3s ease}.helper-shell.helper-soon{background:#4a3b0d}.helper-shell.helper-close{background:#69320d}.helper-shell.helper-now{background:#77111f}.helper-header{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:760px;margin:0 auto 10px}.helper-header p{margin:0 0 2px;color:#f5c453;font-size:.7rem;font-weight:900;letter-spacing:.14em}.helper-header h1{margin:0;color:#fff;font-size:clamp(1.65rem,6vw,2.5rem)}.helper-header>span{padding:7px 10px;background:#4e655a;border:2px solid #fff;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.12em}.helper-header>span.live{background:#b51f32}.helper-countdown{display:flex;flex-direction:column;align-items:center;max-width:760px;margin:0 auto 10px;padding:10px;background:#ffffff12;border:2px solid #ffffff35;border-radius:13px;text-align:center}.helper-countdown>span{color:#fff6cf;font-size:.75rem;font-weight:900;letter-spacing:.16em}.helper-countdown strong{font-size:clamp(2.6rem,11vw,5.7rem);line-height:1;font-variant-numeric:tabular-nums}.helper-countdown small{font-size:.9rem;color:#d9ede2}.helper-name-card{display:grid;grid-template-columns:.55fr 1fr;align-items:center;min-height:270px;max-width:760px;margin:auto;padding:18px;background:linear-gradient(145deg,#b51f32,#78101e);border:5px solid #f5c453;border-radius:18px;box-shadow:0 8px 0 #010f0b;text-align:center}.helper-name-card.right{grid-template-columns:1fr .55fr}.helper-name-card.right .helper-direction{order:2}.helper-name-card.right>div:last-child{order:1}.helper-direction{font-size:clamp(7rem,28vw,13rem);font-weight:900;line-height:.7;color:#fff6cf;text-shadow:0 6px 0 #510914}.helper-name-card div>span{display:block;color:#fff6cf;font-size:.9rem;font-weight:900;letter-spacing:.16em}.helper-name-card div>strong{display:block;margin:10px 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.3rem,15vw,7.5rem);line-height:.82;overflow-wrap:anywhere;text-shadow:0 5px 0 #510914}.helper-name-card div>small{font-size:1rem;font-weight:800}.helper-cluster{display:flex;flex-direction:column;max-width:760px;margin:10px auto 0;padding:10px 13px;background:#fff0c5;color:#64460b;border:2px solid #f5c453;border-radius:10px;text-align:center}.helper-cluster span{font-size:.85rem}.helper-next-button{display:block;width:min(760px,100%);min-height:88px;margin:12px auto 0;padding:14px;background:#0c8a56;border:4px solid #fff;border-radius:16px;box-shadow:0 7px 0 #02140e;color:#fff;font-size:clamp(1.4rem,6vw,2.5rem);font-weight:950;letter-spacing:.02em}.helper-next-button:active{transform:translateY(5px);box-shadow:0 2px 0 #02140e}.helper-secondary-actions{display:flex;justify-content:center;gap:18px;max-width:760px;margin:14px auto 0}.helper-secondary-actions button{padding:4px;background:none;border:0;box-shadow:none;color:#fff6cf;text-decoration:underline;font-weight:800}.helper-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:330px;max-width:760px;margin:auto;background:#0b5b3c;border:5px solid #f5c453;border-radius:18px;text-align:center}.helper-empty strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,12vw,6rem)}.helper-empty span{padding:0 20px;color:#d9ede2}.helper-up-next{max-width:760px;margin:14px auto 0;padding:12px;background:#fffaf0;color:#073c29;border:3px solid #f5c453;border-radius:12px}.helper-up-next h2{margin:0 0 8px;font-size:1.1rem}.helper-up-next p{margin:0;color:#4d685c}.helper-up-next ol{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}.helper-up-next li{padding:9px;background:#edf5f0;border-radius:8px}.helper-up-next b,.helper-up-next span{display:block}.helper-up-next span{margin-top:2px;color:#4d685c;font-size:.76rem}.helper-footer{display:flex;justify-content:space-between;gap:15px;max-width:760px;margin:12px auto 0;color:#cce0d5;font-size:.8rem}.helper-footer span:before{content:'●';margin-right:6px;color:#f5c453}.helper-footer span.connected:before{color:#32b273}.helper-footer a{color:#fff6cf;font-weight:800}
@media(max-width:560px){.helper-shell{padding:9px}.helper-name-card,.helper-name-card.right{grid-template-columns:1fr;min-height:250px;padding:14px}.helper-name-card.right .helper-direction,.helper-name-card.right>div:last-child{order:initial}.helper-direction{font-size:6.5rem}.helper-name-card div>strong{font-size:clamp(3.5rem,20vw,6rem)}.helper-up-next ol{grid-template-columns:1fr}.helper-next-button{min-height:82px}.helper-footer{align-items:flex-start}}

/* Sunday Test Centre */
.test-shell{min-height:100vh;padding:20px;background:#052e20 radial-gradient(circle at 30px 30px,#ffffff12 0 3px,transparent 4px);background-size:90px 90px;color:#fff}.test-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;max-width:1080px;margin:0 auto 14px}.test-header p{margin:0 0 4px;color:#f5c453;font-size:.76rem;font-weight:900;letter-spacing:.15em}.test-header h1{margin:0;color:#fff;font-size:clamp(2.2rem,6vw,4rem);line-height:1}.test-header span{display:block;margin-top:7px;color:#cce0d5}.test-header button{min-height:46px;padding:9px 15px;background:#fffaf0;color:#073c29;border:2px solid #f5c453;box-shadow:0 4px 0 #02150f;font-weight:900}.test-roles{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;max-width:1080px;margin:0 auto 12px}.test-roles article{display:flex;flex-direction:column;padding:12px;background:#0b4a34;border:2px solid #34705a;border-radius:10px}.test-roles b{color:#fff6cf}.test-roles span{margin-top:3px;color:#d9ede2;font-size:.82rem}.test-access{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:12px;max-width:1080px;margin:0 auto 12px;padding:14px;background:#fffaf0;color:#073c29;border:3px solid #f5c453;border-radius:12px}.test-access>div{display:flex;flex-direction:column}.test-access>div span{margin-top:3px;color:#4d685c;font-size:.84rem}.test-access label span,.test-feedback-form label>span{display:block;margin-bottom:4px;color:#4d685c;font-size:.75rem;font-weight:800}.test-access input{width:170px;min-height:44px;padding:8px 10px;background:#fff;border:1px solid #7c9d8d;border-radius:7px;color:#073c29;font-size:1rem}.test-access button{min-height:44px;padding:8px 14px}.test-summary{display:flex;gap:10px;max-width:1080px;margin:0 auto 12px}.test-summary span{flex:1;padding:10px;background:#fffaf0;color:#073c29;border:2px solid #c8d9cf;border-radius:9px;text-align:center}.test-summary b{font-size:1.35rem}.test-summary span:nth-child(2){background:#fff0c5;border-color:#f5c453}.test-summary span:nth-child(3){background:#ffe4e7;border-color:#d94a5b;color:#7d1020}.test-start{display:flex;gap:16px;max-width:1080px;margin:0 auto 12px;padding:12px 15px;background:#fff0c5;color:#64460b;border:2px solid #f5c453;border-radius:10px}.test-stops{max-width:1080px;margin:0 auto 12px;padding:14px;background:#0b4a34;border:2px solid #34705a;border-radius:12px}.test-stops>div{display:flex;justify-content:space-between;gap:18px}.test-stops>div strong{color:#fff6cf;font-size:1.05rem}.test-stops>div span{max-width:590px;color:#d9ede2;font-size:.88rem;text-align:right}.test-stops ol{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 0;padding:0;list-style:none}.test-stops li{display:flex;align-items:center;gap:8px;padding:9px;background:#073c29;border:1px solid #34705a;border-radius:8px;color:#eef9f2;font-size:.86rem}.test-stops li b{display:grid;place-items:center;flex:0 0 25px;height:25px;background:#f5c453;color:#073c29;border-radius:50%}.test-plan{display:flex;flex-direction:column;gap:12px;max-width:1080px;margin:0 auto;padding:0;list-style:none}.test-step{display:grid;grid-template-columns:62px 1fr;background:#fffaf0;color:#073c29;border:3px solid #f5c453;border-radius:14px;overflow:hidden;box-shadow:0 5px 0 #02150f}.test-step-number{display:flex;align-items:flex-start;justify-content:center;padding-top:18px;background:#b51f32;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;font-weight:900}.test-step-body{padding:16px}.test-step-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.test-step-heading span{display:block;color:#b51f32;font-size:.72rem;font-weight:900;letter-spacing:.1em}.test-step-heading h2{margin:3px 0 0;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem}.test-step-heading a{flex:0 0 auto;padding:8px 11px;background:#073c29;color:#fff;border-radius:7px;font-size:.82rem;font-weight:800;text-decoration:none}.test-step-body>p{margin:12px 0;color:#284b3b;line-height:1.5}.test-pass{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:10px;background:#e2f3e9;border-left:5px solid #15945e;border-radius:7px}.test-pass b{color:#087247;font-size:.75rem;letter-spacing:.08em}.test-pass span{font-size:.9rem}.test-feedback-form{margin-top:14px;padding:12px;background:#edf5f0;border:1px solid #c8d9cf;border-radius:9px}.test-feedback-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.test-feedback-form select,.test-feedback-form textarea{width:100%;padding:8px 10px;background:#fff;border:1px solid #7c9d8d;border-radius:7px;color:#073c29;font-size:1rem}.test-feedback-form select{min-height:44px}.test-feedback-form textarea{min-height:82px;margin-bottom:8px;resize:vertical}.test-feedback-form>label{display:block;margin-top:9px}.test-feedback-form button{min-height:44px;padding:8px 14px}.test-feedback-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}.test-feedback-list article{display:grid;grid-template-columns:150px 1fr auto;gap:10px;padding:9px 11px;background:#e2f3e9;border-left:5px solid #15945e;border-radius:7px}.test-feedback-list article.minor{background:#fff0c5;border-left-color:#d39a17}.test-feedback-list article.fail{background:#ffe4e7;border-left-color:#d94a5b}.test-feedback-list article span{font-size:.88rem}.test-feedback-list article small{color:#4d685c}.test-footer{display:flex;justify-content:space-between;gap:20px;max-width:1080px;margin:14px auto 0;color:#cce0d5;font-size:.84rem}.test-footer a{color:#fff6cf;font-weight:900}
@media(max-width:760px){.test-shell{padding:12px}.test-roles{grid-template-columns:1fr 1fr}.test-access{grid-template-columns:1fr}.test-access input{width:100%}.test-stops>div{display:block}.test-stops>div span{display:block;margin-top:4px;text-align:left}.test-stops ol{grid-template-columns:1fr 1fr}.test-step{grid-template-columns:44px 1fr}.test-step-number{font-size:1.15rem}.test-step-heading{display:block}.test-step-heading a{display:inline-block;margin-top:9px}.test-feedback-list article{grid-template-columns:1fr}.test-footer{display:block}.test-footer span{display:block;margin-top:8px}}@media(max-width:480px){.test-header{align-items:flex-start}.test-header button{padding:7px 9px;font-size:.76rem}.test-roles{grid-template-columns:1fr}.test-summary{display:grid;grid-template-columns:1fr 1fr}.test-summary span:last-child{grid-column:1/-1}.test-start{display:block}.test-start span{display:block;margin-top:4px}.test-stops ol{grid-template-columns:1fr}.test-feedback-fields{grid-template-columns:1fr}.test-pass{grid-template-columns:1fr}}
@media print{.test-shell{padding:0;background:#fff;color:#000}.test-header h1,.test-header span,.test-footer{color:#000}.test-header button,.test-access,.test-summary,.test-feedback-form,.test-feedback-list{display:none!important}.test-roles article,.test-stops{border-color:#777;background:#fff}.test-roles b,.test-roles span,.test-stops>div strong,.test-stops>div span,.test-stops li{color:#000}.test-stops li{border-color:#aaa;background:#fff}.test-step{break-inside:avoid;box-shadow:none}.test-step-number{background:#ddd;color:#000}.test-step-heading a{display:none}}

/* Shared public sponsor carousel */
.sponsor-showcase{position:relative;z-index:45;height:0}.sponsor-rail{position:fixed;top:176px;width:205px;z-index:45}.sponsor-rail-left{left:max(12px,calc(50vw - 825px))}.sponsor-rail-right{right:max(12px,calc(50vw - 825px))}.sponsor-display-card{display:flex;min-height:285px;padding:16px 14px;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(155deg,#fffdf5,#fff4cb);border:4px solid var(--gold);border-radius:20px;box-shadow:0 8px 0 var(--red),0 16px 31px #001c124d;color:var(--deep-green);text-align:center;text-decoration:none;overflow:hidden}.sponsor-display-card:hover{transform:translateY(-3px)}.sponsor-card-left{animation:sponsor-move-left .65s ease both}.sponsor-card-right{animation:sponsor-arrive-right .65s ease both}.sponsor-card-kicker{display:block;color:var(--red);font-size:.63rem;font-weight:950;letter-spacing:.12em;line-height:1.35}.sponsor-logo-wrap{display:grid;place-items:center;width:164px;height:142px;margin:12px 0 10px;padding:9px;background:#fff;border:1px solid #e4d7b0;border-radius:12px}.sponsor-logo-wrap img{display:block;width:100%;height:100%;object-fit:contain}.sponsor-display-card>strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.08rem;line-height:1.12;overflow-wrap:anywhere}.sponsor-display-card>small{display:block;margin-top:8px;color:var(--green);font-size:.76rem;font-weight:900}.sponsor-placeholder-icon{display:grid;place-items:center;width:112px;height:112px;margin:13px 0 11px;background:var(--deep-green);border:4px solid var(--gold);border-radius:50%;font-size:3.7rem}.sponsor-mobile-pair{display:none}@keyframes sponsor-move-left{from{opacity:.25;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}@keyframes sponsor-arrive-right{from{opacity:.2;transform:translateX(40px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}
@media(max-width:1599px){.sponsor-showcase{height:auto}.sponsor-rail{display:none}.sponsor-mobile-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1160px;margin:18px auto 0;padding:0 24px}.sponsor-mobile-pair .sponsor-display-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:14px;min-height:145px;padding:12px 16px;text-align:left}.sponsor-mobile-pair .sponsor-card-kicker{grid-column:2}.sponsor-mobile-pair .sponsor-logo-wrap,.sponsor-mobile-pair .sponsor-placeholder-icon{grid-column:1;grid-row:1/4;width:126px;height:108px;margin:0}.sponsor-mobile-pair .sponsor-placeholder-icon{font-size:2.9rem}.sponsor-mobile-pair .sponsor-display-card>strong,.sponsor-mobile-pair .sponsor-display-card>small{grid-column:2}.sponsor-mobile-pair .sponsor-display-card>small{margin-top:3px}}
@media(max-width:620px){.sponsor-mobile-pair{gap:9px;margin-top:12px;padding:0 10px}.sponsor-mobile-pair .sponsor-display-card{display:flex;min-height:180px;padding:10px 7px;text-align:center;border-width:3px;border-radius:14px}.sponsor-mobile-pair .sponsor-logo-wrap,.sponsor-mobile-pair .sponsor-placeholder-icon{width:104px;height:84px;margin:8px 0 6px}.sponsor-mobile-pair .sponsor-placeholder-icon{font-size:2.4rem}.sponsor-mobile-pair .sponsor-card-kicker{font-size:.5rem}.sponsor-mobile-pair .sponsor-display-card>strong{font-size:.87rem}.sponsor-mobile-pair .sponsor-display-card>small{font-size:.65rem}}

/* Sponsor controls in MC */
.mission-sponsor-manager{grid-column:1/-1}.mission-sponsor-manager>.mission-panel-heading>b{max-width:280px;color:#0b7b50;font-size:.78rem;text-align:right}.mission-sponsor-intro{margin:0 0 15px;color:#4d685c;line-height:1.5}.mission-sponsor-timing{display:grid;grid-template-columns:minmax(190px,280px) auto 1fr;align-items:end;gap:10px;margin-bottom:12px;padding:13px 14px;background:#fff7d8;border:2px solid #d7ad3e;border-radius:11px}.mission-sponsor-timing label>span{display:block;margin-bottom:6px;color:#073c29;font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.mission-sponsor-timing select{width:100%;min-height:45px;padding:8px 10px;background:#fff;border:2px solid #b4943c;border-radius:8px;color:#073c29;font:inherit;font-weight:800}.mission-sponsor-timing button{min-height:45px}.mission-sponsor-timing>small{align-self:center;color:#6e6547;font-size:.72rem;line-height:1.4}.mission-sponsor-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;align-items:end;gap:10px;padding:14px;background:#edf5f0;border:2px solid #c8d9cf;border-radius:11px}.mission-sponsor-form label>span{display:block;margin-bottom:6px;color:#073c29;font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.mission-sponsor-form label>span small{text-transform:none;letter-spacing:normal;font-weight:600}.mission-sponsor-form input{width:100%;min-height:47px;padding:9px 10px;background:#fff;border:2px solid #8ead9e;border-radius:8px;color:#073c29;font:inherit}.mission-sponsor-form input[type=file]{padding:7px;font-size:.78rem}.mission-sponsor-file>small{display:block;margin-top:5px;color:#60766b;font-size:.66rem}.mission-sponsor-form button{min-height:47px}.mission-sponsor-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.mission-sponsor-list>article{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:11px;padding:10px;background:#fff;border:2px solid #c8d9cf;border-radius:10px}.mission-sponsor-list>article.hidden-sponsor{opacity:.62;background:#f1f1f1}.mission-sponsor-list>article>img{display:block;width:76px;height:58px;padding:5px;background:#fff;border:1px solid #dfe7e2;border-radius:7px;object-fit:contain}.mission-sponsor-list strong,.mission-sponsor-list span{display:block}.mission-sponsor-list span{margin-top:4px;color:#4d685c;font-size:.7rem}.mission-sponsor-order{display:grid;grid-template-columns:38px 38px auto;gap:5px}.mission-sponsor-order button{min-height:37px;padding:5px 8px;background:#0b5b3c;border:1px solid #073c29;border-radius:6px;box-shadow:none;color:#fff;font-weight:900}.mission-sponsor-order button:last-child{background:#fff;color:#0b5b3c}.mission-sponsor-order button:disabled{opacity:.35}.mission-sponsor-empty{grid-column:1/-1;padding:24px;background:#edf5f0;border-radius:10px;text-align:center}.mission-sponsor-empty>span{display:block;font-size:3rem}.mission-sponsor-empty strong{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem}.mission-sponsor-empty p{margin:5px 0 0;color:#4d685c}
@media(max-width:900px){.mission-sponsor-timing{grid-template-columns:1fr auto}.mission-sponsor-timing>small{grid-column:1/-1}.mission-sponsor-form{grid-template-columns:1fr 1fr}.mission-sponsor-form button{width:100%}.mission-sponsor-list{grid-template-columns:1fr}}@media(max-width:560px){.mission-sponsor-timing{grid-template-columns:1fr}.mission-sponsor-timing button{width:100%}.mission-sponsor-form{grid-template-columns:1fr}.mission-sponsor-list>article{grid-template-columns:62px 1fr}.mission-sponsor-list>article>img{width:62px;height:52px}.mission-sponsor-order{grid-column:1/-1}.mission-sponsor-order button:last-child{width:100%}.mission-sponsor-manager>.mission-panel-heading>b{display:block;margin-top:5px;text-align:left}}

/* Potential sponsor tour */
.sponsor-preview-shell{min-height:100vh;padding:26px 24px 40px;background:#052e20 radial-gradient(circle at 32px 32px,#ffffff12 0 3px,transparent 4px);background-size:88px 88px;color:#fff}.sponsor-preview-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) 230px;align-items:center;gap:28px;max-width:1180px;margin:0 auto;padding:29px 34px;background:linear-gradient(135deg,#fffaf0 0 68%,#fff1bd 68%);border:5px solid var(--gold);border-radius:24px;box-shadow:0 10px 0 var(--red),0 25px 55px #00180f99;color:var(--deep-green);overflow:hidden}.sponsor-preview-brand{align-self:start;display:flex;align-items:center;gap:11px;min-width:230px}.sponsor-preview-brand img{width:66px;height:82px;object-fit:contain;border-radius:50%;background:#fff}.sponsor-preview-brand span{font-family:Georgia,'Times New Roman',serif;font-size:.78rem;letter-spacing:.1em;line-height:1.35}.sponsor-preview-brand strong{color:var(--red);font-size:1.03rem}.sponsor-preview-hero-copy{padding:12px 0}.sponsor-preview-hero-copy>p:first-child,.sponsor-preview-heading>p,.sponsor-preview-cta p{margin:0;color:var(--red);font-size:.7rem;font-weight:950;letter-spacing:.16em}.sponsor-preview-hero h1{margin:7px 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.35rem,4.6vw,4.6rem);line-height:.94}.sponsor-preview-hero h1 span{color:var(--red)}.sponsor-preview-hero-copy>strong{display:block;color:var(--green);font-size:1.08rem}.sponsor-preview-intro{max-width:660px;margin:10px 0 0;color:#52675d;line-height:1.55}.sponsor-preview-santa{align-self:end;display:block;width:210px;height:265px;object-fit:contain;mix-blend-mode:multiply}.sponsor-preview-warning{display:flex;justify-content:center;gap:10px;max-width:760px;margin:21px auto 0;padding:13px 16px;background:#ffe4e7;border:3px solid var(--red);border-radius:11px;color:#7d1020;text-align:center}.sponsor-preview-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1080px;margin:27px auto 0}.sponsor-preview-benefits article{display:grid;grid-template-columns:55px 1fr;column-gap:12px;padding:16px;background:#0b4a34;border:2px solid #34705a;border-radius:13px}.sponsor-preview-benefits article>span{grid-row:1/3;display:grid;place-items:center;width:55px;height:55px;background:var(--gold);border-radius:50%;color:var(--deep-green);font-size:1.35rem;font-weight:950}.sponsor-preview-benefits strong{color:#fff6cf}.sponsor-preview-benefits small{margin-top:4px;color:#cde1d6;line-height:1.35}.sponsor-preview-tour{max-width:1180px;margin:35px auto 0}.sponsor-preview-heading{text-align:center}.sponsor-preview-heading>p{color:var(--gold)}.sponsor-preview-heading h2{margin:6px 0;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,4vw,3.6rem)}.sponsor-preview-heading>span{display:block;max-width:730px;margin:0 auto;color:#cde1d6;line-height:1.55}.sponsor-preview-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}.sponsor-preview-card{display:flex;min-height:395px;padding:22px;flex-direction:column;background:#fffaf0;border:4px solid var(--gold);border-radius:18px;box-shadow:0 8px 0 #021a12;color:var(--deep-green)}.sponsor-preview-card-top{display:flex;justify-content:space-between;align-items:center}.sponsor-preview-card-top>span{color:#879c91;font-size:.72rem;font-weight:900;letter-spacing:.15em}.sponsor-preview-card-top>b{display:grid;place-items:center;width:57px;height:57px;border-radius:50%;background:var(--green);color:#fff;font-size:1.8rem}.sponsor-preview-red .sponsor-preview-card-top>b{background:var(--red)}.sponsor-preview-gold .sponsor-preview-card-top>b{background:var(--gold);color:var(--deep-green)}.sponsor-preview-card>p{margin:20px 0 5px;color:var(--red);font-size:.68rem;font-weight:950;letter-spacing:.16em}.sponsor-preview-card h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.9rem}.sponsor-preview-card>span{margin-top:10px;color:#52675d;line-height:1.55}.sponsor-preview-mini-panels{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;margin:18px 0;padding:11px;background:#edf5f0;border:2px dashed #8ead9e;border-radius:10px}.sponsor-preview-mini-panels i{display:grid;place-items:center;min-height:58px;padding:7px;background:#fff;border:2px solid var(--gold);border-radius:7px;color:var(--red);font-size:.65rem;font-style:normal;font-weight:950;text-align:center}.sponsor-preview-mini-panels em{color:var(--green);font-size:1.4rem;font-style:normal;font-weight:950}.sponsor-preview-card>a{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:13px 15px;background:var(--green);border:2px solid var(--deep-green);border-radius:8px;box-shadow:0 4px 0 var(--deep-green);color:#fff;font-weight:950;text-decoration:none}.sponsor-preview-red>a{background:var(--red);border-color:#8b1425;box-shadow:0 4px 0 #8b1425}.sponsor-preview-gold>a{background:var(--gold);border-color:#9f7414;box-shadow:0 4px 0 #9f7414;color:var(--deep-green)}.sponsor-preview-card>a:hover{transform:translateY(-2px)}.sponsor-preview-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;max-width:1080px;margin:34px auto 0;padding:25px 28px;background:linear-gradient(135deg,#fff0bd,#fffaf0);border:4px solid var(--gold);border-radius:17px;box-shadow:0 7px 0 var(--red);color:var(--deep-green)}.sponsor-preview-cta h2{margin:5px 0;font-family:Georgia,'Times New Roman',serif;font-size:2rem}.sponsor-preview-cta div>span{display:block;max-width:720px;color:#52675d;line-height:1.5}.sponsor-preview-cta>a{padding:14px 18px;background:var(--red);border:2px solid #8b1425;border-radius:9px;box-shadow:0 4px 0 #8b1425;color:#fff;font-weight:950;text-decoration:none;white-space:nowrap}.sponsor-preview-footer{display:flex;justify-content:space-between;gap:20px;max-width:1080px;margin:25px auto 0;color:#bed2c7;font-size:.76rem}.sponsor-preview-footer strong{color:#fff6cf}
@media(max-width:900px){.sponsor-preview-hero{grid-template-columns:1fr 180px}.sponsor-preview-brand{grid-column:1/-1}.sponsor-preview-santa{width:165px;height:220px}.sponsor-preview-benefits,.sponsor-preview-cards{grid-template-columns:1fr}.sponsor-preview-benefits{max-width:620px}.sponsor-preview-card{min-height:0}.sponsor-preview-cta{grid-template-columns:1fr}.sponsor-preview-cta>a{text-align:center}.sponsor-preview-footer{display:block;text-align:center}.sponsor-preview-footer strong{display:block;margin-top:5px}}
@media(max-width:580px){.sponsor-preview-shell{padding:14px 10px 30px}.sponsor-preview-hero{display:block;padding:20px 17px}.sponsor-preview-brand{min-width:0}.sponsor-preview-brand img{width:55px;height:68px}.sponsor-preview-hero-copy{padding-bottom:0}.sponsor-preview-hero h1{font-size:2.45rem}.sponsor-preview-santa{width:125px;height:150px;margin:5px auto 0}.sponsor-preview-benefits article{grid-template-columns:45px 1fr}.sponsor-preview-benefits article>span{width:45px;height:45px}.sponsor-preview-card{padding:18px}.sponsor-preview-cta{padding:21px 18px}.sponsor-preview-warning{display:block}.sponsor-preview-warning span{display:block;margin-top:4px}}

/* Precise what3words pin confirmation */
.parent-stop-pin-v2{background:transparent!important;border:0!important}.parent-stop-pin-v2 .pin-bubble{position:absolute;left:2px;top:0;display:grid;place-items:center;width:48px;height:48px;background:#b51f32;border:4px solid #fff;border-radius:50%;box-shadow:0 4px 10px #0008;font-size:25px}.parent-stop-pin-v2 .pin-tip{position:absolute;left:18px;top:39px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:19px solid #fff;filter:drop-shadow(0 4px 2px #0005)}.parent-stop-pin-v2 .pin-tip:after{content:"";position:absolute;left:-5px;top:-19px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:13px solid #b51f32}.square-confirmation{margin-top:17px;padding:15px;background:#fff6db;border:2px solid var(--gold);border-radius:10px}.square-confirmation>strong{display:block;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:1.05rem}.square-confirmation>p{margin:7px 0 13px;color:#64563b;font-size:.82rem;line-height:1.5}.square-confirmation button{width:100%;min-height:49px;padding:10px 12px;font-size:.86rem}.square-confirmation .move-pin-button{margin-top:10px;background:#fff;color:var(--green);border-color:var(--green);box-shadow:0 3px 0 #a8c3b4}.square-confirmation .move-pin-button:hover{background:#eef8f1}.place-confirmed{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:14px;padding:11px;background:#dbf2e3;color:#075636;border:2px solid #0b7b50;border-radius:9px}.place-confirmed span{display:grid;place-items:center;width:25px;height:25px;background:#0b7b50;color:#fff;border-radius:50%;font-weight:900}.stop-road-map:focus{outline:4px solid var(--gold);outline-offset:2px}
.zoom-selected-button{display:block;width:calc(100% - 36px);min-height:49px;margin:11px auto 0;padding:10px 14px;background:#fff;color:var(--green);border-color:var(--green);box-shadow:0 3px 0 #a8c3b4}.zoom-selected-button:hover{background:#eef8f1}

/* Postcode-first Santa stop finder */
.postcode-map-search{padding:20px 18px 18px;background:#fff6db;border-bottom:3px solid var(--gold)}.postcode-map-search label{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--deep-green)}.postcode-map-search label span{display:grid;place-items:center;flex:0 0 34px;height:34px;background:var(--red);color:#fff;border:3px solid var(--gold);border-radius:50%;font-weight:900}.postcode-map-search label strong{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem}.postcode-map-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.postcode-map-row input{min-height:54px;background:#fff;border:3px solid var(--green);font-size:1.15rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.postcode-map-row button{min-height:54px;padding:10px 20px;white-space:nowrap}.postcode-map-row button:disabled{opacity:.7;cursor:wait}.postcode-found,.postcode-error{margin:12px 0 0;padding:10px 12px;border-radius:8px;font-size:.86rem;font-weight:800;line-height:1.45}.postcode-found{background:#dbf2e3;color:#075636;border:1px solid #0b7b50}.postcode-error{background:#ffe4df;color:#8b1425;border:1px solid #b51f32}.postcode-or{display:flex;align-items:center;gap:10px;margin:14px 18px 0;color:#71847a;font-size:.75rem;font-weight:900;text-transform:uppercase}.postcode-or:before,.postcode-or:after{content:"";height:1px;flex:1;background:#c8d9cf}.postcode-or span{padding:0 6px}.postcode-or+.location-button{margin-top:11px}.address-choice{margin-top:15px;padding:15px;background:#fff;border:2px solid #c7dacf;border-radius:10px}.postcode-map-search .address-choice>label{margin-bottom:10px}.postcode-map-search .address-choice>label span{flex-basis:34px}.address-choice select{width:100%;min-height:56px;padding:10px 42px 10px 12px;background:#fff;color:var(--deep-green);border:3px solid var(--green);border-radius:8px;font-size:1rem;font-weight:800}.address-choice select:focus{outline:4px solid #f5c45366;outline-offset:2px}.address-choice small{display:block;margin-top:9px;color:#52675d;font-size:.78rem;line-height:1.45}
@media(max-width:520px){.postcode-map-search{padding:17px 14px 15px}.postcode-map-row{grid-template-columns:1fr}.postcode-map-row button{width:100%}.postcode-map-search label strong{font-size:1.12rem}}
.selected-street{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 13px;background:#eaf3ff;color:#173f66;border:2px solid #4c82b5;border-radius:9px}.selected-street>span{font-size:1.45rem}.selected-street small,.selected-street strong,.selected-street em{display:block}.selected-street small{font-size:.68rem;font-weight:900;letter-spacing:.12em}.selected-street strong{margin-top:2px;font-family:Georgia,'Times New Roman',serif;font-size:1.12rem}.selected-street em{margin-top:2px;font-size:.76rem;font-style:normal}.selected-street.loading{display:block;color:var(--muted);font-size:.84rem;font-weight:800}

/* Full countdown view after a waiting place is selected */
.countdown-main-active{padding-top:34px}.countdown-grid-active{display:block;max-width:820px;margin:0 auto}.countdown-grid-active .countdown-stage{min-height:620px}.countdown-stage .countdown-change-place{width:auto;margin-top:20px;padding:7px 13px;background:#ffffff18;color:#fff6cf;border:1px solid #ffffff88;box-shadow:none;font-size:.78rem}.countdown-stage .countdown-change-place:hover{background:#ffffff2b}
@media(max-width:520px){.countdown-main-active{padding-top:22px}.countdown-grid-active .countdown-stage{min-height:520px}}

/* Postcode and address selection for the public countdown */
.countdown-postcode-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}.countdown-postcode-row input{min-height:50px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.countdown-postcode-row button{width:auto;min-height:50px;margin-top:0;padding-inline:15px;white-space:nowrap}.countdown-address-choice{margin-top:18px;padding:15px;background:#fff;border:2px solid #c7dacf;border-radius:10px}.countdown-address-choice label{margin-top:0!important}.countdown-address-choice select{width:100%;min-height:54px;padding:10px 42px 10px 12px;background:#fff;color:var(--deep-green);border:3px solid var(--green);border-radius:8px;font-size:.95rem;font-weight:800}.countdown-address-choice select:focus{outline:4px solid #f5c45366;outline-offset:2px}.countdown-address-choice button{margin-top:12px}.countdown-address-choice small{display:block;margin-top:10px;color:#52675d;font-size:.76rem;line-height:1.45}.countdown-address-choice button:disabled{opacity:.55;cursor:not-allowed}

/* The Facebook cover artwork now gives every screen a shared festive backdrop.
   Light public pages keep the picture visible; operational screens use a strong
   green veil so live names, timings and controls stay readable at a glance. */
:root{--santa-cover-art:url("/santa-sleigh-cover.webp")}
body{background-color:#edf5f0;background-image:linear-gradient(#edf5f0dc,#edf5f0ed),var(--santa-cover-art);background-position:center top;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}
.admin-shell,.driver-shell,.mention-display-shell,.mission-shell,.test-shell{background-color:#052e20;background-image:linear-gradient(#031d15e8,#052e20f2),var(--santa-cover-art);background-position:center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}
.helper-shell{background-color:#04261b;background-image:linear-gradient(#04261be5,#04261bf2),var(--santa-cover-art);background-position:center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}
.helper-shell.helper-soon{background-color:#4a3b0d;background-image:linear-gradient(#4a3b0de8,#4a3b0df3),var(--santa-cover-art)}
.helper-shell.helper-close{background-color:#69320d;background-image:linear-gradient(#69320de8,#69320df3),var(--santa-cover-art)}
.helper-shell.helper-now{background-color:#77111f;background-image:linear-gradient(#77111fe8,#77111ff3),var(--santa-cover-art)}
@media(max-width:700px){body,.admin-shell,.driver-shell,.mention-display-shell,.mission-shell,.helper-shell,.test-shell{background-position:center top;background-attachment:scroll}}
@media print{body,.test-shell{background:#fff!important}}
@media(max-width:520px){.countdown-postcode-row{grid-template-columns:1fr}.countdown-postcode-row button{width:100%}}

/* Santa and Rudolph sponsorship */
.sponsor-home-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:22px 25px;background:linear-gradient(135deg,#8b1323,#bd2035);color:#fff;border:4px solid var(--gold);border-radius:15px;box-shadow:0 7px 0 #c79629}.sponsor-home-card>div{display:grid;grid-template-columns:auto 1fr;column-gap:13px}.sponsor-home-card>div>span{grid-row:1/4;font-size:3rem}.sponsor-home-card p{margin:0;color:#ffe99d;font-size:.7rem;font-weight:900;letter-spacing:.14em}.sponsor-home-card h2{margin:4px 0;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem}.sponsor-home-card small{color:#ffeef0;line-height:1.5}.sponsor-home-card>a{flex:0 0 auto;padding:13px 16px;background:#fffaf0;color:var(--deep-green);border:2px solid #fff;border-radius:9px;box-shadow:0 4px 0 #5e0d19;text-decoration:none;font-weight:900}
.sponsor-main{max-width:1000px}.sponsor-hero{text-align:center;max-width:780px;margin:0 auto 30px}.sponsor-rudolph{display:block;font-size:4.4rem}.sponsor-hero h1{margin-top:4px}.sponsor-hero>p:last-child{margin:0 auto;color:var(--muted);font-size:1.08rem;line-height:1.65}.sponsor-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:24px;align-items:start}.sponsor-form-card,.sponsor-benefits{position:relative;background:var(--cream);border:3px solid var(--green);border-radius:16px;box-shadow:0 8px 0 #c5dbce;overflow:hidden}.sponsor-form-card:before{content:"";position:absolute;inset:0 0 auto;height:11px;background:repeating-linear-gradient(135deg,var(--red) 0 10px,#fff 10px 20px,var(--green) 20px 30px,#fff 30px 40px)}.sponsor-card-heading{display:flex;align-items:center;gap:13px;padding:30px 25px 10px}.sponsor-card-heading>span{font-size:2.2rem}.sponsor-card-heading p,.sponsor-benefits>p{margin:0;color:var(--red);font-size:.7rem;font-weight:900;letter-spacing:.14em}.sponsor-card-heading h2,.sponsor-benefits h2{margin:3px 0 0;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:1.65rem}.sponsor-form{padding:10px 25px 26px}.sponsor-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sponsor-field{margin-bottom:17px}.sponsor-field label{margin-bottom:7px;font-family:Arial,Helvetica,sans-serif;font-size:.83rem}.sponsor-field label b,.sponsor-consent b{color:var(--red)}.sponsor-field input,.sponsor-field textarea{width:100%;min-height:50px;padding:11px 12px;background:#fff;border:2px solid #8ead9e;border-radius:8px;color:var(--deep-green);font:inherit;letter-spacing:normal;text-transform:none}.sponsor-field textarea{min-height:115px;resize:vertical}.sponsor-consent{display:flex;align-items:flex-start;gap:10px;margin:2px 0 17px;font-family:Arial,Helvetica,sans-serif;font-size:.82rem;line-height:1.45}.sponsor-consent input{flex:0 0 21px;width:21px;height:21px;margin:0}.sponsor-form>button{width:100%}.sponsor-privacy{margin:11px 0 0;color:var(--muted);font-size:.75rem;text-align:center}.sponsor-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.sponsor-error{padding:10px 12px;background:#ffe4e7;color:#8b1425;border:1px solid var(--red);border-radius:7px;font-weight:800}.sponsor-benefits{padding:27px 23px;background:linear-gradient(145deg,#06472f,#0b5b3c);border-color:var(--gold);box-shadow:0 8px 0 #d2a435;color:#fff}.sponsor-benefits>p{color:#ffe99d}.sponsor-benefits h2{color:#fff6cf}.sponsor-benefits ul{margin:20px 0;padding:0;list-style:none}.sponsor-benefits li{display:grid;grid-template-columns:26px 1fr;gap:9px;margin:0 0 15px;line-height:1.5}.sponsor-benefits li span{display:grid;place-items:center;width:24px;height:24px;background:var(--gold);color:var(--deep-green);border-radius:50%;font-weight:900}.sponsor-feature{padding:15px;background:#ffffff13;border:1px dashed #fff2c0;border-radius:9px}.sponsor-feature strong,.sponsor-feature span{display:block}.sponsor-feature strong{color:#ffe99d;letter-spacing:.08em}.sponsor-feature span{margin-top:5px;color:#e3f0e8;font-size:.84rem;line-height:1.45}.sponsor-back{display:inline-block;margin-top:24px;color:var(--green);font-weight:900}.sponsor-thanks{padding:25px;text-align:center}.sponsor-thanks>span{font-size:4rem}.sponsor-thanks h2{margin:5px 0;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:2rem}.sponsor-thanks p{color:var(--muted);line-height:1.6}.sponsor-thanks a{display:inline-block;margin-top:8px;color:var(--green);font-weight:900}
.sponsor-admin-shell{min-height:100vh;padding:20px;background:#052e20 radial-gradient(circle at 30px 30px,#ffffff12 0 3px,transparent 4px);background-size:90px 90px;color:#fff}.sponsor-admin-shell>header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;max-width:980px;margin:0 auto 15px}.sponsor-admin-shell header p{margin:0;color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.14em}.sponsor-admin-shell header h1{margin:3px 0;color:#fff;font-size:clamp(2.2rem,6vw,3.7rem)}.sponsor-admin-shell header span{color:#cce0d5}.sponsor-admin-shell header nav{display:flex;align-items:center;gap:10px}.sponsor-admin-shell header a{color:#fff6cf;font-weight:900}.sponsor-admin-shell header button{min-height:43px;padding:8px 13px}.sponsor-admin-list{display:flex;flex-direction:column;gap:12px;max-width:980px;margin:auto}.sponsor-admin-list>article{padding:20px;background:#fffaf0;color:var(--deep-green);border:3px solid var(--gold);border-radius:13px;box-shadow:0 5px 0 #02150f}.sponsor-admin-top{display:flex;justify-content:space-between;gap:18px}.sponsor-admin-top span{color:var(--red);font-size:.68rem;font-weight:900;letter-spacing:.13em}.sponsor-admin-top h2{margin:3px 0;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem}.sponsor-admin-top time{color:var(--muted);font-size:.78rem}.sponsor-admin-list dl{display:flex;flex-wrap:wrap;gap:8px 24px;margin:13px 0}.sponsor-admin-list dl div{display:flex;gap:7px}.sponsor-admin-list dt{color:var(--muted)}.sponsor-admin-list dd{margin:0;font-weight:800}.sponsor-admin-list>article>p{margin:12px 0 0;padding:12px;background:#edf5f0;border-radius:8px;line-height:1.55}.sponsor-admin-empty{padding:55px 20px;text-align:center;background:#0b4a34;border:3px solid #34705a;border-radius:14px}.sponsor-admin-empty span,.sponsor-admin-empty strong{display:block}.sponsor-admin-empty span{font-size:4rem}.sponsor-admin-empty strong{margin-top:6px;color:#fff6cf;font-family:Georgia,'Times New Roman',serif;font-size:2rem}.sponsor-admin-empty p{color:#cce0d5}
@media(max-width:760px){.sponsor-layout{grid-template-columns:1fr}.sponsor-benefits{grid-row:1}.sponsor-admin-shell>header{align-items:flex-start}.sponsor-admin-shell header nav{flex-direction:column;align-items:flex-end}}@media(max-width:560px){.sponsor-home-card{display:block;text-align:center}.sponsor-home-card>div{display:block}.sponsor-home-card>div>span{display:block}.sponsor-home-card>a{display:block;margin-top:15px}.sponsor-form-row{grid-template-columns:1fr}.sponsor-card-heading,.sponsor-form{padding-left:18px;padding-right:18px}.sponsor-admin-shell>header{display:block}.sponsor-admin-shell header nav{align-items:flex-start;margin-top:13px}.sponsor-admin-top{display:block}.sponsor-admin-top time{display:block;margin-top:6px}.sponsor-admin-list dl{display:block}.sponsor-admin-list dl div{margin-top:7px}}

/* Parent volunteer booking portal */
.parent-volunteer-home-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:22px 25px;background:linear-gradient(135deg,#06472f,#0b6947);color:#fff;border:4px solid var(--gold);border-radius:15px;box-shadow:0 7px 0 #c79629}.parent-volunteer-home-card>div{display:grid;grid-template-columns:auto 1fr;column-gap:13px}.parent-volunteer-home-card>div>span{grid-row:1/4;font-size:3rem}.parent-volunteer-home-card p{margin:0;color:#ffe99d;font-size:.7rem;font-weight:900;letter-spacing:.14em}.parent-volunteer-home-card h2{margin:4px 0;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem}.parent-volunteer-home-card small{color:#e1f3e9;line-height:1.5}.parent-volunteer-home-card>a{flex:0 0 auto;padding:13px 16px;background:#fffaf0;color:var(--deep-green);border:2px solid #fff;border-radius:9px;box-shadow:0 4px 0 #032d1e;text-decoration:none;font-weight:900}

/* Public GoFundMe call to action */
.donation-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:17px;margin-top:22px;padding:21px 24px;background:linear-gradient(135deg,#fffaf0,#fff2d1);border:4px solid var(--red);border-radius:15px;box-shadow:0 7px 0 var(--deep-red),0 15px 28px #173e2b22}.donation-present{display:grid;place-items:center;width:60px;height:60px;background:var(--red);border:3px solid var(--gold);border-radius:50%;font-size:2rem}.donation-banner p{margin:0;color:var(--red);font-size:.7rem;font-weight:950;letter-spacing:.14em}.donation-banner h2{margin:4px 0 3px;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:1.55rem}.donation-banner small{display:block;color:var(--muted);font-size:.85rem;line-height:1.45}.donation-banner>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:52px;padding:12px 17px;background:#cf2e4d;color:#fff;border:2px solid #fff;border-radius:10px;box-shadow:0 4px 0 #7f1028;text-decoration:none;text-align:center;font-weight:950}.donation-banner>a:hover{background:#df3859;transform:translateY(-1px)}.donation-banner>a span{color:#fff1a8;font-size:1.15rem}.donation-banner-compact{margin-top:24px}.donation-holding-main{display:grid;place-items:center;min-height:calc(100vh - 150px);padding:30px}.donation-holding-card{width:min(680px,100%);padding:36px 30px;background:var(--cream);border:5px solid var(--gold);border-radius:20px;box-shadow:0 10px 0 var(--red),0 22px 45px #173e2b33;text-align:center}.donation-holding-card>span{display:block;font-size:5rem}.donation-holding-card>p:first-of-type{margin:5px 0 10px;color:var(--red);font-size:.72rem;font-weight:950;letter-spacing:.15em}.donation-holding-card h1{font-size:clamp(2.2rem,6vw,3.7rem)}.donation-holding-card>p:last-of-type{max-width:560px;margin:0 auto;color:var(--muted);font-size:1rem;line-height:1.65}.donation-holding-card>a{display:inline-block;margin-top:22px;color:var(--green);font-weight:900;text-underline-offset:4px}
@media(max-width:680px){.donation-banner{grid-template-columns:auto 1fr;padding:18px}.donation-banner>a{grid-column:1/-1;width:100%}.donation-present{width:52px;height:52px;font-size:1.7rem}.donation-banner h2{font-size:1.35rem}.donation-holding-main{padding:22px 16px}.donation-holding-card{padding:28px 19px}}
.parent-volunteer-shell{max-width:1060px;padding-top:25px}.parent-volunteer-hero{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr);background:#fffaf0;border:4px solid var(--gold);border-radius:20px;box-shadow:0 9px 0 #c5dbce;overflow:hidden}.parent-volunteer-hero>img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}.parent-volunteer-hero>div{display:flex;flex-direction:column;justify-content:center;padding:32px}.parent-volunteer-hero p{margin:0 0 10px;color:var(--red);font-size:.73rem;font-weight:900;letter-spacing:.14em}.parent-volunteer-hero h1{font-size:clamp(2.5rem,5vw,4rem)}.parent-volunteer-hero>div>strong{color:var(--deep-green);font-size:1.16rem;line-height:1.45}.parent-volunteer-hero>div>span{margin-top:10px;color:var(--muted);line-height:1.6}.parent-volunteer-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.parent-volunteer-summary article{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;background:var(--deep-green);color:#fff;border:3px solid var(--gold);border-radius:12px}.parent-volunteer-summary b{color:var(--gold);font-family:Georgia,'Times New Roman',serif;font-size:1.75rem}.parent-volunteer-summary span{font-size:.86rem;font-weight:800}.parent-volunteer-form{display:flex;flex-direction:column;gap:22px}.parent-volunteer-details,.parent-volunteer-choose,.parent-volunteer-fine-print{padding:25px;background:var(--cream);border:3px solid var(--green);border-radius:15px;box-shadow:0 7px 0 #c5dbce}.parent-volunteer-details h2,.parent-volunteer-choose h2,.parent-volunteer-fine-print h2{margin:0;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:1.65rem}.parent-volunteer-details>p,.parent-volunteer-intro{margin:7px 0 20px;color:var(--muted);line-height:1.55}.parent-volunteer-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.parent-volunteer-fields label{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:.84rem}.parent-volunteer-fields label.wide{grid-column:1/-1}.parent-volunteer-fields label span{display:block;margin-bottom:7px}.parent-volunteer-fields label b,.parent-volunteer-consent b{color:var(--red)}.parent-volunteer-fields input,.parent-volunteer-fine-print textarea{width:100%;min-height:51px;padding:11px 12px;background:#fff;border:2px solid #8ead9e;border-radius:8px;color:var(--deep-green);font:inherit;letter-spacing:normal;text-transform:none}.parent-volunteer-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.parent-volunteer-section-title p{margin:0;color:var(--red);font-size:.7rem;font-weight:900;letter-spacing:.14em}.parent-volunteer-section-title>span{padding:6px 10px;background:var(--green);color:#fff;border-radius:999px;font-size:.78rem;font-weight:900}.parent-volunteer-routes{display:grid;grid-template-columns:1fr 1fr;gap:14px}.parent-volunteer-routes>article{background:#fff;border:2px solid var(--line);border-radius:11px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.parent-volunteer-routes>article.selected{border-color:var(--green);box-shadow:0 0 0 3px #0b5b3c22}.parent-volunteer-routes>article.full{opacity:.68}.parent-volunteer-routes>article>button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;width:100%;min-height:78px;padding:12px;background:#fff;color:var(--deep-green);border:0;border-radius:0;box-shadow:none;text-align:left}.parent-volunteer-routes>article.selected>button{background:#e2f3e9}.parent-volunteer-routes>article>button:hover{transform:none;background:#edf7f1}.parent-volunteer-number{display:grid;place-items:center;width:39px;height:39px;background:var(--red);color:#fff;border-radius:50%;font-family:Georgia,'Times New Roman',serif;font-weight:900}.parent-volunteer-route-main strong,.parent-volunteer-route-main small{display:block}.parent-volunteer-route-main strong{font-family:Georgia,'Times New Roman',serif;font-size:1.02rem}.parent-volunteer-route-main small{margin-top:4px;color:var(--muted);font-size:.73rem}.parent-volunteer-tick{display:grid;place-items:center;min-width:37px;height:37px;padding:0 6px;background:var(--green);color:#fff;border-radius:50%;font-size:1.3rem;font-weight:900}.full .parent-volunteer-tick{border-radius:7px;background:var(--muted);font-size:.62rem}.parent-volunteer-route-info{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}.parent-volunteer-route-info span{padding:9px 8px;background:#f8fbf9;color:var(--deep-green);font-size:.75rem}.parent-volunteer-route-info b{display:block;margin-bottom:3px;color:var(--muted);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.parent-volunteer-route-info span.low{background:#fff0c5;color:#7c4f06;font-weight:900}.parent-volunteer-fine-print ul{margin:14px 0 20px;padding-left:22px;color:#355c48;line-height:1.6}.parent-volunteer-fine-print li{margin-bottom:7px}.parent-volunteer-fine-print>label{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:.84rem}.parent-volunteer-fine-print>label>span{display:block;margin-bottom:7px}.parent-volunteer-fine-print textarea{min-height:100px;resize:vertical}.parent-volunteer-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.parent-volunteer-consent{display:flex!important;align-items:flex-start;gap:10px;margin-top:17px!important;line-height:1.45}.parent-volunteer-consent input{flex:0 0 21px;width:21px;height:21px;margin:0}.parent-volunteer-consent span{margin:0!important}.parent-volunteer-submit{position:sticky;bottom:10px;z-index:20;display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:18px 20px;background:var(--deep-green);color:#fff;border:3px solid var(--gold);border-radius:14px;box-shadow:0 7px 20px #052e2055}.parent-volunteer-submit strong,.parent-volunteer-submit span{display:block}.parent-volunteer-submit strong{color:#fff6cf}.parent-volunteer-submit span{margin-top:3px;color:#cce0d5;font-size:.78rem}.parent-volunteer-submit button{min-height:50px}.parent-volunteer-submit>p{grid-column:1/-1;margin:0;padding:9px 11px;background:#ffe4e7;color:#8b1425;border-radius:7px;font-weight:900}.parent-volunteer-back{display:inline-block;margin-top:25px;color:var(--green);font-weight:900}.parent-volunteer-thanks{padding:45px 28px;background:var(--cream);border:4px solid var(--gold);border-radius:18px;box-shadow:0 9px 0 #c5dbce;text-align:center}.parent-volunteer-thanks>span{font-size:4rem}.parent-volunteer-thanks>p:first-of-type{margin:8px 0;color:var(--red);font-size:.73rem;font-weight:900;letter-spacing:.14em}.parent-volunteer-thanks h2{margin:0;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:2rem}.parent-volunteer-thanks>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:750px;margin:20px auto}.parent-volunteer-thanks article{padding:12px;background:#edf5f0;border:1px solid var(--line);border-radius:8px;text-align:left}.parent-volunteer-thanks article strong,.parent-volunteer-thanks article small{display:block}.parent-volunteer-thanks article small{margin-top:4px;color:var(--muted)}.parent-volunteer-thanks>p:last-of-type{color:var(--muted);line-height:1.6}.parent-volunteer-thanks>a{color:var(--green);font-weight:900}
.parent-volunteer-admin-shell{min-height:100vh;padding:20px;background:#052e20 radial-gradient(circle at 30px 30px,#ffffff12 0 3px,transparent 4px);background-size:90px 90px;color:#fff}.parent-volunteer-admin-shell>header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;max-width:1080px;margin:0 auto 15px}.parent-volunteer-admin-shell header p{margin:0;color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.14em}.parent-volunteer-admin-shell header h1{margin:3px 0;color:#fff;font-size:clamp(2.2rem,6vw,3.7rem)}.parent-volunteer-admin-shell header span{color:#cce0d5}.parent-volunteer-admin-shell header nav{display:flex;align-items:center;gap:10px}.parent-volunteer-admin-shell header a{color:#fff6cf;font-weight:900}.parent-volunteer-admin-shell header button{min-height:43px;padding:8px 13px}.parent-volunteer-admin-routes{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1080px;margin:auto}.parent-volunteer-admin-routes>article{background:#fffaf0;color:var(--deep-green);border:3px solid var(--gold);border-radius:13px;overflow:hidden}.parent-volunteer-admin-routes>article.full{border-color:#e74b5e}.parent-volunteer-admin-routes>article>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px;background:#edf5f0}.parent-volunteer-admin-routes header span{color:var(--red);font-size:.68rem;font-weight:900}.parent-volunteer-admin-routes header h2{margin:3px 0;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem}.parent-volunteer-admin-routes header small{color:var(--muted)}.parent-volunteer-admin-routes header>b{display:grid;place-items:center;flex:0 0 55px;height:55px;background:var(--green);color:#fff;border-radius:50%;font-size:1.05rem}.parent-volunteer-admin-routes>article.full header>b{background:var(--red)}.parent-volunteer-admin-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;border-top:1px solid var(--line)}.parent-volunteer-admin-list>div.cancelled{opacity:.55}.parent-volunteer-admin-list strong,.parent-volunteer-admin-list span,.parent-volunteer-admin-list small{display:block}.parent-volunteer-admin-list span{margin-top:3px;color:var(--muted);font-size:.76rem}.parent-volunteer-admin-list small{margin-top:5px;padding:6px;background:#fff0c5;border-radius:6px;color:#6c510f}.parent-volunteer-admin-list button{min-height:38px;padding:6px 10px;font-size:.72rem}.parent-volunteer-admin-list>div.cancelled button{background:var(--green)}.parent-volunteer-admin-empty{margin:0;padding:20px;color:var(--muted);text-align:center}
@media(max-width:800px){.parent-volunteer-hero{grid-template-columns:1fr}.parent-volunteer-hero>img{max-height:390px}.parent-volunteer-routes,.parent-volunteer-admin-routes{grid-template-columns:1fr}}@media(max-width:560px){.parent-volunteer-home-card{display:block;text-align:center}.parent-volunteer-home-card>div{display:block}.parent-volunteer-home-card>div>span{display:block}.parent-volunteer-home-card>a{display:block;margin-top:15px}.parent-volunteer-shell{padding:14px}.parent-volunteer-hero>img{min-height:250px}.parent-volunteer-hero>div{padding:23px}.parent-volunteer-summary{grid-template-columns:1fr}.parent-volunteer-fields{grid-template-columns:1fr}.parent-volunteer-fields label.wide{grid-column:auto}.parent-volunteer-routes{grid-template-columns:1fr}.parent-volunteer-route-info{grid-template-columns:1fr 1fr}.parent-volunteer-submit{position:static;grid-template-columns:1fr}.parent-volunteer-submit button{width:100%}.parent-volunteer-thanks>div{grid-template-columns:1fr}.parent-volunteer-admin-shell>header{display:block}.parent-volunteer-admin-shell header nav{margin-top:12px}.parent-volunteer-admin-list>div{display:block}.parent-volunteer-admin-list button{margin-top:10px}}

/* Mission Control route selection */
.mission-route-select{display:block;margin:0 0 14px}.mission-route-select>span{display:block;margin-bottom:6px;color:#4d685c;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mission-route-select select{width:100%;min-height:48px;padding:9px 40px 9px 12px;background:#fff;border:2px solid #8ead9e;border-radius:9px;color:#073c29;font:inherit;font-weight:800}.mission-route-select select:disabled{opacity:.65}.mission-route-warning{margin:0 0 14px;padding:10px 12px;background:#fff0c5;border:1px solid #d5a52f;border-radius:8px;color:#64460b!important;font-weight:700}

/* Waiting-place confirmation */
.location-confirm-overlay{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:18px;background:#052e20b8;backdrop-filter:blur(3px)}.location-confirm-card{width:min(440px,100%);padding:25px 22px 22px;background:#fffaf0;border:5px solid var(--gold);border-radius:18px;box-shadow:0 10px 0 var(--deep-red),0 20px 50px #0007;text-align:center}.confirm-present{display:block;font-size:3.5rem}.location-confirm-card>p:first-of-type{margin:5px 0 8px;color:var(--red);font-size:.73rem;font-weight:900;letter-spacing:.16em}.location-confirm-card h2{margin:0 0 16px;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;line-height:1.15}.confirm-street{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px;background:#eaf3ff;color:#173f66;border:2px solid #4c82b5;border-radius:10px;text-align:left}.confirm-street>span{font-size:1.5rem}.confirm-street small,.confirm-street strong,.confirm-street em{display:block}.confirm-street small{font-size:.68rem;font-weight:900;letter-spacing:.11em}.confirm-street strong{margin-top:2px;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem}.confirm-street em{margin-top:2px;font-size:.8rem;font-style:normal}.confirm-street.loading{display:block;text-align:center;color:var(--muted);font-weight:800}.confirm-help{margin:14px 0!important;color:var(--muted)!important;font-size:.86rem!important;line-height:1.5!important;letter-spacing:normal!important}.location-confirm-card button{width:100%;min-height:52px}.location-confirm-card button:disabled{opacity:.62;cursor:wait}.location-confirm-card .confirm-cancel{margin-top:10px;background:#fff;color:var(--green);border-color:var(--green);box-shadow:0 3px 0 #a8c3b4}.location-confirm-card .confirm-cancel:hover{background:#eef8f1}

/* Friendly Shout no-match state */
.stop-finder-grid.is-unavailable{grid-template-columns:minmax(0,760px);justify-content:center}.callout-unavailable{margin:24px;padding:28px 24px;background:#fffaf0;border:3px solid var(--red);border-radius:16px;box-shadow:0 6px 0 var(--gold);color:var(--deep-green);text-align:center}.callout-unavailable-santa{display:block;font-size:4.5rem;line-height:1}.callout-unavailable>p:first-of-type{margin:12px 0 6px;color:var(--red);font-size:.75rem;font-weight:900;letter-spacing:.14em}.callout-unavailable h2{margin:0 0 9px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,6vw,3rem);color:var(--red)}.callout-unavailable>strong{display:block;font-size:1.1rem;line-height:1.4}.callout-unavailable>p:not(:first-of-type){max-width:610px;margin:14px auto 0;color:var(--muted);line-height:1.6}.callout-unavailable-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0 14px}.callout-unavailable-actions a{display:inline-block;padding:12px 18px;background:var(--green);border:2px solid var(--deep-green);border-radius:8px;box-shadow:0 4px 0 var(--deep-green);color:#fff;font-weight:900;text-decoration:none}.callout-unavailable-actions a:last-child{background:var(--red);border-color:#8b1425;box-shadow:0 4px 0 #8b1425}.callout-unavailable small{display:block;color:#65796e;line-height:1.45}@media(max-width:520px){.callout-unavailable{margin:18px 14px;padding:24px 17px}.callout-unavailable-actions a{width:100%}}

/* BillyUX capacity and overflow enquiry */
.mission-callout-capacity{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 13px;padding:11px;background:#edf5f0;border:2px solid #8ead9e;border-radius:10px}.mission-callout-capacity>div:not(.mission-capacity-bar){padding:4px 7px}.mission-callout-capacity span,.mission-callout-capacity strong,.mission-callout-capacity small{display:block}.mission-callout-capacity>div>span{color:#b51f32;font-size:.64rem;font-weight:900;letter-spacing:.11em}.mission-callout-capacity strong{margin-top:3px;color:#073c29;font-size:1.05rem}.mission-callout-capacity small{margin-top:2px;color:#4d685c;font-size:.7rem}.mission-callout-capacity.full{background:#ffe4df;border-color:#b51f32}.mission-capacity-bar{grid-column:1/-1;height:11px;overflow:hidden;background:#c8d9cf;border-radius:999px}.mission-capacity-bar span{display:block;height:100%;background:linear-gradient(90deg,#0b7b50,#f5c453,#b51f32);border-radius:999px}.mention-limit-card{margin-top:18px;padding:19px 15px;background:#fff6db;border:3px solid var(--gold);border-radius:12px;text-align:center}.mention-limit-card>span{display:block;font-size:3.2rem}.mention-limit-card>p:first-of-type{margin:5px 0;color:var(--red);font-size:.7rem;font-weight:900;letter-spacing:.13em}.mention-limit-card h2{margin:0 0 8px;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:1.65rem}.mention-limit-card>strong{display:block;color:#8b1425;line-height:1.45}.mention-limit-card>p:not(:first-of-type){margin:10px 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}.mention-enquiry-form{display:grid;gap:8px;margin-top:17px;padding-top:16px;border-top:2px dashed #d5a52f;text-align:left}.mention-enquiry-form label{margin:4px 0 0;color:var(--deep-green);font-family:Arial,Helvetica,sans-serif;font-size:.82rem;font-weight:900}.mention-enquiry-form label small{font-weight:500}.mention-enquiry-form input,.mention-enquiry-form textarea{width:100%;min-height:48px;padding:10px 11px;background:#fff;border:2px solid #8ead9e;border-radius:8px;color:var(--deep-green);font:inherit;text-transform:none;letter-spacing:normal}.mention-enquiry-form textarea{min-height:84px;resize:vertical}.mention-enquiry-form button{width:100%;margin-top:6px}.mention-enquiry-form button:disabled{opacity:.65;cursor:wait}.mention-enquiry-privacy{display:block;color:#52675d;font-size:.72rem;line-height:1.45;text-align:center}.mention-enquiry-status{margin:2px 0 0!important;padding:9px;background:#e0f4e6;border:1px solid #0b7b50;border-radius:7px;color:#075636!important;font-weight:800;text-align:center}@media(max-width:520px){.mission-callout-capacity{grid-template-columns:1fr}.mission-capacity-bar{grid-column:auto}.mention-limit-card{padding:17px 12px}}

/* MC selected-route shout-out report */
.mission-report-panel{grid-column:1/-1}.mission-report-actions{display:flex;gap:8px}.mission-report-actions button{min-height:42px;padding:8px 12px}.mission-report-actions button:disabled{opacity:.5;cursor:not-allowed}.mission-report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:13px}.mission-report-summary article{padding:11px 13px;background:#edf5f0;border:1px solid #c8d9cf;border-radius:9px}.mission-report-summary span,.mission-report-summary strong{display:block}.mission-report-summary span{color:#4d685c;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mission-report-summary strong{margin-top:4px;color:#073c29;font-size:1.55rem}.mission-report-table-wrap{overflow-x:auto;border:1px solid #c8d9cf;border-radius:9px}.mission-report-table{width:100%;border-collapse:collapse;background:#fff;font-size:.82rem}.mission-report-table th{padding:10px 9px;background:#073c29;color:#fff;text-align:left;white-space:nowrap}.mission-report-table td{padding:10px 9px;border-top:1px solid #dfe9e3;vertical-align:top}.mission-report-table tbody tr:nth-child(even){background:#f6faf7}.mission-report-table tr.called,.mission-report-table tr.skipped{opacity:.7}.mission-report-table td>a{display:block;color:#0b5b3c;font-weight:900;overflow-wrap:anywhere}.mission-report-table td small{display:block;margin-top:4px;color:#61766b;font-size:.7rem;line-height:1.35}.mission-report-table td small a{color:#0b5b3c}.mission-report-side{font-weight:900;white-space:nowrap}.mission-report-status{display:inline-block;padding:5px 7px;border-radius:999px;background:#e2f3e9;color:#075636;font-size:.67rem;font-weight:900;text-transform:uppercase}.mission-report-status.called{background:#dceafa;color:#174d78}.mission-report-status.skipped{background:#eee;color:#555}.mission-report-empty{padding:34px 18px;background:#edf5f0;border-radius:9px;text-align:center}.mission-report-empty>span{display:block;font-size:3rem}.mission-report-empty strong{display:block;margin-top:6px;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem}.mission-report-empty p{margin:7px 0 0;color:#4d685c}.mission-report-note{margin:12px 0 0;color:#4d685c;font-size:.74rem;line-height:1.45}@media(max-width:700px){.mission-report-panel .mission-panel-heading{display:block}.mission-report-actions{margin-top:11px}.mission-report-actions button{flex:1}.mission-report-summary{grid-template-columns:1fr 1fr}}@media print{body{background:#fff!important}.mission-shell>*{display:none!important}.mission-shell>.mission-grid{display:block!important}.mission-grid>*{display:none!important}.mission-grid>.mission-report-panel{display:block!important;border:0!important;box-shadow:none!important;padding:0!important}.mission-report-actions{display:none!important}.mission-report-table-wrap{overflow:visible;border:0}.mission-report-table{font-size:9pt}.mission-report-table th,.mission-report-table td{padding:6px}.mission-report-panel a{color:#000!important;text-decoration:none}.mission-report-note{font-size:8pt}}

+
/* Public 2026 route-date bauble tree */
.route-dates-shell{min-height:100vh;padding:34px 18px 55px;background:#052e20 radial-gradient(circle at 35px 35px,#ffffff12 0 3px,transparent 4px);background-size:92px 92px;color:#fff}.route-dates-heading{max-width:920px;margin:0 auto 24px;text-align:center}.route-dates-heading>p{margin:0;color:#f5c453;font-size:.74rem;font-weight:950;letter-spacing:.18em}.route-dates-heading h1{margin:7px 0 8px;color:#fffaf0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,7vw,5.3rem);line-height:.95;text-shadow:0 4px 0 #8b1425}.route-dates-heading>strong{display:block;color:#ffe99d;font-size:clamp(1.05rem,2vw,1.35rem)}.route-dates-heading>span{display:block;max-width:680px;margin:9px auto 0;color:#d8e9df;line-height:1.55}.route-tree-card{max-width:1120px;margin:0 auto;background:#fffaf0;border:5px solid #f5c453;border-radius:24px;box-shadow:0 10px 0 #b51f32,0 24px 55px #00180f80;overflow:hidden}.route-tree-instructions{display:flex;align-items:center;justify-content:center;gap:11px;padding:13px 18px;background:linear-gradient(90deg,#fff1bd,#fffaf0,#fff1bd);color:#073c29;text-align:left}.route-tree-instructions>span{font-size:2rem}.route-tree-instructions b,.route-tree-instructions small{display:block}.route-tree-instructions b{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem}.route-tree-instructions small{margin-top:2px;color:#5f7167}.route-tree-stage{position:relative;aspect-ratio:3/2;background:#073c29 url('/santa-route-tree-2026.png') center/cover no-repeat}.route-bauble-rows{position:absolute;inset:15% 13% 7%;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.route-bauble-row{display:flex;align-items:center;justify-content:center;gap:clamp(7px,1.7vw,24px);width:100%}.route-bauble{position:relative;display:flex;flex:0 0 clamp(78px,8.7vw,118px);width:clamp(78px,8.7vw,118px);height:clamp(78px,8.7vw,118px);flex-direction:column;align-items:center;justify-content:center;padding:12px 8px 8px;border:3px solid #fff7cf;border-radius:50%;box-shadow:inset -10px -12px 18px #0003,inset 8px 8px 13px #fff4,0 5px 0 #31120b99,0 8px 16px #001d1477;color:#fff;text-align:center;text-decoration:none;transform-origin:50% -14px;transition:transform .18s,filter .18s;isolation:isolate}.route-bauble:hover{transform:translateY(-4px) scale(1.06) rotate(-1deg);filter:brightness(1.12);z-index:5}.route-bauble:focus-visible{outline:5px solid #fff;outline-offset:5px}.route-bauble>i{position:absolute;top:-10px;left:50%;width:25px;height:13px;background:linear-gradient(90deg,#b27d18,#ffe9a0,#b27d18);border:2px solid #fff0ae;border-radius:4px 4px 1px 1px;transform:translateX(-50%);z-index:-1}.route-bauble>i:before{content:"";position:absolute;left:50%;bottom:8px;width:1px;height:22px;background:#f6dd8a;transform:translate(-50%,-100%)}.route-bauble>span{font-size:clamp(.55rem,.75vw,.7rem);font-weight:950;letter-spacing:.08em}.route-bauble>strong{display:block;margin-top:3px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(.62rem,.86vw,.84rem);line-height:1.05}.route-bauble>small{display:block;margin-top:4px;color:#fff5c8;font-size:clamp(.43rem,.58vw,.58rem);font-weight:900}.route-bauble-long>strong{font-size:clamp(.54rem,.74vw,.72rem)}.route-bauble-red{background:radial-gradient(circle at 34% 25%,#ef7180,#b51f32 54%,#6f0a17)}.route-bauble-gold{background:radial-gradient(circle at 34% 25%,#fff0a1,#d09b25 54%,#845b08);color:#073c29}.route-bauble-gold>small{color:#173d2b}.route-bauble-blue{background:radial-gradient(circle at 34% 25%,#87c9ef,#2676a9 54%,#15436e)}.route-bauble-berry{background:radial-gradient(circle at 34% 25%,#e48cb0,#a81e58 54%,#650b32)}.route-bauble-green{background:radial-gradient(circle at 34% 25%,#61c993,#0b7b50 54%,#06462e)}.route-dates-note{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;max-width:900px;margin:25px auto 0;padding:18px 20px;background:#fffaf0;border:3px solid #f5c453;border-radius:15px;box-shadow:0 6px 0 #b51f32;color:#073c29}.route-dates-note>span{font-size:2.8rem}.route-dates-note strong{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem}.route-dates-note p{margin:4px 0 0;color:#52695e;font-size:.86rem;line-height:1.45}.route-dates-note a{padding:11px 14px;background:#0b7b50;border:2px solid #075636;border-radius:8px;box-shadow:0 4px 0 #043b27;color:#fff;font-weight:900;text-decoration:none;white-space:nowrap}.route-dates-disclaimer{max-width:820px;margin:23px auto 0;color:#bed2c7;font-size:.78rem;line-height:1.55;text-align:center}.route-dates-back{display:block;width:max-content;margin:18px auto 0;color:#fff6cf;font-weight:900;text-underline-offset:4px}.selected-route-prompt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:0 0 22px;padding:13px 14px;background:linear-gradient(135deg,#fff0bd,#fff8dd);border:2px solid #d0a22c;border-radius:10px;color:#073c29}.selected-route-prompt>span{font-size:2.1rem}.selected-route-prompt small,.selected-route-prompt strong,.selected-route-prompt b{display:block}.selected-route-prompt small{color:#b51f32;font-size:.62rem;font-weight:950;letter-spacing:.13em}.selected-route-prompt strong{margin-top:2px;font-family:Georgia,'Times New Roman',serif;font-size:1.07rem}.selected-route-prompt b{margin-top:2px;color:#527064;font-size:.72rem}.selected-route-prompt>a{color:#0b5b3c;font-size:.78rem;font-weight:900}
@media(max-width:760px){.route-dates-shell{padding:24px 10px 42px}.route-tree-card{border-width:4px;border-radius:18px}.route-tree-stage{min-height:1320px;aspect-ratio:auto;background-size:auto 100%;background-position:center top}.route-bauble-rows{inset:11% 7% 4%;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:17px 9px}.route-bauble-row{display:contents}.route-bauble-row-1 .route-bauble{grid-column:1/-1}.route-bauble{justify-self:center;flex-basis:132px;width:132px;height:132px;padding:15px 9px 9px}.route-bauble>span{font-size:.7rem}.route-bauble>strong{font-size:.83rem}.route-bauble-long>strong{font-size:.72rem}.route-bauble>small{font-size:.56rem}.route-dates-note{grid-template-columns:auto 1fr;margin-left:5px;margin-right:5px}.route-dates-note>a{grid-column:1/-1;text-align:center}.route-dates-heading>span{font-size:.9rem}}
@media(max-width:380px){.route-tree-stage{min-height:1200px}.route-bauble{flex-basis:116px;width:116px;height:116px}.route-bauble>strong{font-size:.73rem}.route-bauble-long>strong{font-size:.65rem}.route-bauble>small{font-size:.5rem}}

/* Temporary public Testing Mode */
.route-dates-shell{max-width:none;margin:0;min-height:100vh;padding:34px 18px 55px;background-color:#052e20;background-image:radial-gradient(circle at 35px 35px,#ffffff12 0 3px,transparent 4px);background-size:92px 92px;color:#fff}
.public-test-shell{display:grid;place-items:center;min-height:100vh;padding:24px;background:#063924 radial-gradient(circle at 28px 28px,#ffffff14 0 3px,transparent 4px);background-size:82px 82px}.public-test-card{width:min(520px,100%);padding:31px 28px;background:#fffaf0;border:5px solid var(--gold);border-radius:22px;box-shadow:0 10px 0 var(--red),0 24px 55px #001c1266;text-align:center}.public-test-card>img{display:block;width:98px;height:120px;margin:0 auto 14px;object-fit:contain}.public-test-card>p{margin:0 0 8px;color:var(--red);font-size:.72rem;font-weight:950;letter-spacing:.16em}.public-test-card h1{margin:0;color:var(--deep-green);font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,7vw,3rem);line-height:1.05}.public-test-card>span{display:block;margin:13px auto 0;color:var(--muted);line-height:1.6}.public-test-card form{display:grid;gap:9px;margin-top:22px;padding:18px;background:#fff6db;border:2px solid #d9c78b;border-radius:12px;text-align:left}.public-test-card label{margin:0;color:var(--deep-green);font-family:Arial,Helvetica,sans-serif;font-size:.84rem;font-weight:900}.public-test-card input{width:100%;min-height:54px;padding:10px 12px;background:#fff;border:3px solid var(--green);border-radius:9px;color:var(--deep-green);font:inherit;font-size:1.15rem;letter-spacing:.1em}.public-test-card button{width:100%;min-height:52px;margin-top:3px}.public-test-card button:disabled{opacity:.58;cursor:wait}.public-test-card form strong{padding:9px 10px;background:#ffe4df;border:1px solid var(--red);border-radius:7px;color:#8b1425;font-size:.82rem;line-height:1.4;text-align:center}.public-test-card>small{display:block;margin-top:16px;color:#61766b;line-height:1.45}.public-test-loading{margin-top:22px;padding:18px;background:#edf5f0;border-radius:10px;color:var(--green);font-weight:900}@media(max-width:520px){.public-test-shell{padding:16px}.public-test-card{padding:25px 18px}.public-test-card>img{width:82px;height:100px}}

/* Shared crew test entrance */
.crew-entrance-shell{min-height:100vh;padding:28px 18px 45px;background:#052e20 radial-gradient(circle at 30px 30px,#ffffff12 0 3px,transparent 4px);background-size:90px 90px;color:#fff}.crew-entrance-header{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px;max-width:850px;margin:0 auto 22px}.crew-entrance-header>img{width:92px;height:112px;padding:5px;background:#fff;border:4px solid var(--gold);border-radius:50%;object-fit:contain}.crew-entrance-header p{margin:0 0 5px;color:#f5c453;font-size:.72rem;font-weight:950;letter-spacing:.16em}.crew-entrance-header h1{margin:0;color:#fffaf0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,6vw,3.8rem);line-height:1}.crew-entrance-header span{display:block;margin-top:8px;color:#d5e8dc;line-height:1.5}.crew-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:850px;margin:0 auto}.crew-role-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:142px;padding:18px;background:#fffaf0;border:4px solid var(--gold);border-radius:16px;box-shadow:0 6px 0 #8b1425;color:#073c29;text-decoration:none;transition:transform .16s,filter .16s}.crew-role-card:hover{transform:translateY(-3px);filter:brightness(1.04)}.crew-role-card>span{font-size:2.7rem}.crew-role-card small,.crew-role-card strong{display:block}.crew-role-card small{color:#b51f32;font-size:.7rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.crew-role-card strong{margin-top:3px;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem}.crew-role-card p{margin:6px 0 0;color:#52695e;font-size:.82rem;line-height:1.42}.crew-role-card>b{color:#b51f32;font-size:2.4rem}.crew-security-note{display:flex;align-items:center;justify-content:center;gap:13px;max-width:850px;margin:21px auto 0;padding:13px 16px;background:#fff0c5;border:2px solid var(--gold);border-radius:10px;color:#64460b;text-align:center}.crew-security-note span{font-size:.84rem}.crew-entrance-nav{display:flex;justify-content:center;gap:24px;margin-top:20px}.crew-entrance-nav a{color:#fff6cf;font-weight:900;text-underline-offset:4px}@media(max-width:680px){.crew-entrance-shell{padding:20px 13px 38px}.crew-entrance-header{grid-template-columns:1fr;text-align:center}.crew-entrance-header>img{width:78px;height:95px;margin:auto}.crew-role-grid{grid-template-columns:1fr}.crew-role-card{min-height:122px;padding:15px}.crew-security-note{display:block}.crew-security-note span{display:block;margin-top:4px}.crew-entrance-nav{display:grid;gap:12px;text-align:center}}

/* Isolated raw GPS diagnostic */
.raw-gps-link-secondary{margin-top:10px!important;font-size:.85rem;color:#c9ded2}
.raw-gps-shell{min-height:100vh;padding:28px 18px 45px;background:#052e20;color:#fff}.raw-gps-shell>header{max-width:760px;margin:0 auto 20px;text-align:center}.raw-gps-shell>header p{margin:0 0 5px;color:#f5c453;font-size:.72rem;font-weight:950;letter-spacing:.16em}.raw-gps-shell>header h1{margin:0;color:#fffaf0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,9vw,5rem);line-height:1}.raw-gps-shell>header span{display:block;margin-top:9px;color:#d4e8dd;line-height:1.5}.raw-gps-status,.raw-gps-age{max-width:760px;margin:0 auto 15px;padding:24px;background:#fffaf0;border:5px solid #f5c453;border-radius:18px;box-shadow:0 8px 0 #8b1425;color:#073c29;text-align:center}.raw-gps-status small,.raw-gps-age small{display:block;color:#b51f32;font-size:.72rem;font-weight:950;letter-spacing:.14em}.raw-gps-status strong,.raw-gps-age strong{display:block;margin-top:5px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,7vw,4.2rem);line-height:1}.raw-gps-status span,.raw-gps-age span{display:block;margin-top:9px;color:#52695e}.raw-gps-status.live,.raw-gps-age.fresh{border-color:#45d58b;box-shadow:0 8px 0 #08734b}.raw-gps-status.error,.raw-gps-age.lost{border-color:#ff6678;box-shadow:0 8px 0 #8b1425}.raw-gps-age.slow{border-color:#f5c453;box-shadow:0 8px 0 #b27708}.raw-gps-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:760px;margin:0 auto 15px}.raw-gps-facts article{padding:15px 10px;background:#fffaf0;border:2px solid #c8d9cf;border-radius:11px;color:#073c29;text-align:center}.raw-gps-facts span,.raw-gps-facts strong{display:block}.raw-gps-facts span{color:#61766b;font-size:.72rem;font-weight:800}.raw-gps-facts strong{margin-top:5px;font-size:1.35rem}.raw-gps-coordinates{max-width:760px;margin:0 auto 15px;padding:18px;background:#0b4a34;border:2px solid #3f7d64;border-radius:12px;text-align:center}.raw-gps-coordinates span,.raw-gps-coordinates strong,.raw-gps-coordinates small{display:block}.raw-gps-coordinates span{color:#f5c453;font-size:.68rem;font-weight:950;letter-spacing:.12em}.raw-gps-coordinates strong{margin-top:7px;font-size:clamp(1rem,4vw,1.5rem);overflow-wrap:anywhere}.raw-gps-coordinates small{margin-top:6px;color:#cee3d8}.raw-gps-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px;max-width:760px;margin:0 auto 15px}.raw-gps-actions button{min-height:58px;font-size:1rem}.raw-gps-actions button.secondary{background:#fff;color:#073c29;border-color:#c8d9cf;box-shadow:0 4px 0 #789687}.raw-gps-actions button:disabled{opacity:.5}.raw-gps-shell>aside{max-width:760px;margin:0 auto;padding:13px 15px;background:#fff0c5;border:2px solid #f5c453;border-radius:10px;color:#64460b;text-align:center}.raw-gps-link{display:block;width:max-content;margin:20px auto 0;color:#fff6cf;font-weight:900;text-underline-offset:4px}.raw-gps-hidden{max-width:760px;margin:0 auto 15px;padding:14px;background:#ffe4df;border:3px solid #d52d42;border-radius:10px;color:#7d1020;font-weight:900;text-align:center}@media(max-width:650px){.raw-gps-shell{padding:20px 12px 35px}.raw-gps-facts{grid-template-columns:1fr 1fr}.raw-gps-actions{grid-template-columns:1fr}.raw-gps-status,.raw-gps-age{padding:21px 12px}}

/* Isolated raw GPS live map */
.raw-map-route-key{position:absolute;z-index:450;left:10px;bottom:10px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 20px);padding:7px 10px;background:#fffaf0e8;border:2px solid #073c29;border-radius:9px;box-shadow:0 3px 8px #001b1240;color:#073c29;font-size:.72rem;font-weight:900;pointer-events:none}.raw-map-route-key>span{display:block;flex:0 0 auto;width:30px;height:0;border-top:6px solid #b51f32;box-shadow:0 -2px 0 #fff,0 2px 0 #fff}
.raw-route-direction-arrow{display:grid!important;place-items:center;background:transparent;border:0}.raw-route-direction-arrow span{display:grid;place-items:center;width:24px;height:24px;background:#fffaf0;border:2px solid #073c29;border-radius:50%;box-shadow:0 2px 5px #001b1260;color:#b51f32;font-size:17px;font-weight:950;line-height:1;transform-origin:center}
.raw-route-direction-arrow.is-next span{background:#16a568;border-color:#064a31;box-shadow:0 0 0 4px #bdf5d9,0 3px 8px #001b1270;color:#fff}
.raw-route-direction-arrow.is-passed{display:none!important}
.raw-map-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;max-width:none;height:100dvh;margin:0;padding:0;background:#052e20;overflow:hidden}.raw-map-status{z-index:500;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:10px 10px 0;padding:12px 14px;background:#fffaf0;border:3px solid #f5c453;border-radius:13px;box-shadow:0 5px 0 #8b1425;color:#073c29}.raw-map-status small,.raw-map-status strong,.raw-map-status div>span{display:block}.raw-map-status small{color:#b51f32;font-size:.6rem;font-weight:950;letter-spacing:.13em}.raw-map-status strong{margin-top:1px;font-family:Georgia,'Times New Roman',serif;font-size:1.12rem}.raw-map-status div>span{margin-top:2px;color:#52695e;font-size:.72rem}.raw-map-status>b{min-width:57px;color:#073c29;font-size:1.25rem;text-align:right}.raw-map-pulse{width:18px;height:18px;background:#d4a21f;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 3px #d4a21f}.raw-map-status.fresh{border-color:#45d58b;box-shadow:0 5px 0 #08734b}.raw-map-status.fresh .raw-map-pulse{background:#13ad66;box-shadow:0 0 0 3px #13ad66;animation:raw-map-pulse 1.4s ease-out infinite}.raw-map-status.slow .raw-map-pulse{background:#e7a818;box-shadow:0 0 0 3px #e7a818}.raw-map-status.lost{border-color:#ff6678;box-shadow:0 5px 0 #8b1425}.raw-map-status.lost .raw-map-pulse{background:#cf263b;box-shadow:0 0 0 3px #cf263b}.raw-map-stage{position:relative;min-height:0;margin:10px;border:4px solid #f5c453;border-radius:16px;box-shadow:0 7px 0 #8b1425;overflow:hidden;background:#dce9e1}.raw-map-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%}.raw-map-waiting{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:7px;background:#dce9e1;color:#073c29;text-align:center}.raw-map-waiting>span{font-size:4rem}.raw-map-waiting>strong{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem}.raw-map-waiting>small{color:#52695e}.raw-gps-santa-marker{display:grid!important;place-items:center;background:#fff;border:3px solid #b51f32;border-radius:50%;box-shadow:0 0 0 4px #f5c453,0 4px 11px #001b1266;font-size:26px;transition:transform .2s}.raw-gps-santa-marker span{display:block;line-height:1}.raw-map-footer{display:flex;align-items:center;justify-content:center;gap:9px 22px;min-height:62px;margin:0;padding:8px 12px 10px;background:#052e20;border:0;color:#fff;flex-wrap:wrap}.raw-map-footer span{display:flex;gap:5px;font-size:.78rem}.raw-map-footer strong{color:#f5c453}.raw-map-footer a{color:#fff6cf;font-size:.78rem;font-weight:900;text-underline-offset:3px}@keyframes raw-map-pulse{0%{box-shadow:0 0 0 3px #13ad66}70%{box-shadow:0 0 0 10px #13ad6600}100%{box-shadow:0 0 0 3px #13ad6600}}@media(max-width:520px){.raw-map-status{margin:6px 6px 0;padding:9px 10px;gap:9px}.raw-map-status div>span{display:none}.raw-map-status>b{min-width:45px;font-size:1rem}.raw-map-stage{margin:7px 6px 6px;border-width:3px}.raw-map-footer{gap:7px 13px;min-height:53px;padding:7px 8px}.raw-map-footer a{width:100%;text-align:center}}

/* Live Driver / Leader screen: Billy Stops first, route guidance second. */
.driver-live-clock{display:grid;justify-items:end;gap:4px}.driver-live-clock strong{font-variant-numeric:tabular-nums;font-size:clamp(1.35rem,4vw,2.3rem);color:#fff6cf}.driver-live-clock span{padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:950;letter-spacing:.08em}.driver-live-clock span.fresh{background:#13ad66;color:#fff}.driver-live-clock span.lost{background:#b51f32;color:#fff}.driver-route-alert{display:flex;align-items:center;justify-content:center;gap:12px;max-width:1180px;margin:0 auto 14px;padding:12px 16px;background:#ffdfdf;color:#7d1321;border:4px solid #e32d44;border-radius:13px;box-shadow:0 5px 0 #7d1321;text-align:center}.driver-route-alert strong{font-size:1.15rem;letter-spacing:.08em}.driver-route-alert span{font-weight:800}.driver-billy-stop{display:grid;grid-template-columns:minmax(100px,.45fr) minmax(0,1fr);align-items:center;max-width:1180px;margin:0 auto 14px;background:#fffaf0;color:#073c29;border:5px solid #f5c453;border-radius:18px;box-shadow:0 8px 0 #8b1425;overflow:hidden}.driver-billy-side{display:grid;place-items:center;align-self:stretch;min-height:170px;background:#b51f32;color:#fff;font-size:clamp(5rem,14vw,10rem);font-weight:950;line-height:1}.driver-billy-copy{display:grid;justify-items:center;padding:18px;text-align:center}.driver-billy-copy span{color:#b51f32;font-size:clamp(.78rem,2vw,1.15rem);font-weight:950;letter-spacing:.13em}.driver-billy-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.2rem,10vw,7.5rem);line-height:.95}.driver-billy-copy small{margin-top:8px;color:#073c29;font-size:clamp(1rem,3vw,1.7rem);font-weight:950;letter-spacing:.06em}.driver-billy-stop.close{border-color:#ff9f1c;box-shadow:0 8px 0 #a14d00}.driver-billy-stop.close .driver-billy-side{background:#e66f00}.driver-billy-stop.stop{border-color:#ff4459;box-shadow:0 8px 0 #730d1a;animation:driver-stop-pulse 1s ease-in-out infinite}.driver-billy-stop.stop .driver-billy-side{background:#d4142b}.driver-billy-stop.empty{display:block;border-color:#2ba873;box-shadow:0 8px 0 #075c3d}.driver-billy-stop.empty .driver-billy-copy strong{font-size:clamp(2.5rem,7vw,5rem)}.driver-pace-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1180px;margin:0 auto 14px;padding:10px 16px;border:3px solid #fff;border-radius:12px;box-shadow:0 4px 0 #021d14;color:#fff}.driver-pace-strip>div{display:flex;align-items:baseline;gap:10px}.driver-pace-strip span{font-size:.7rem;font-weight:950;letter-spacing:.12em}.driver-pace-strip strong{font-size:1.35rem}.driver-pace-strip p{margin:0;font-size:.8rem;font-weight:750;text-align:right}.driver-pace-strip.ontime{background:#0b7b50}.driver-pace-strip.early{background:#1769aa}.driver-pace-strip.behind{background:#b51f32}.driver-pace-strip.waiting{background:#66551b}.driver-live-shell .driver-road-map{height:min(58vh,620px)}.driver-live-shell .driver-sleigh-icon{font-size:22px;border-width:3px}.key-next,.key-stop{width:28px;height:0;border-top:5px solid #16a568}.key-stop{border-top-color:#d4142b}.driver-billy-map-marker{display:flex!important;align-items:center;justify-content:center;gap:2px;background:#d4142b;color:#fff;border:3px solid #fff;border-radius:8px;box-shadow:0 3px 8px #0008;font-size:15px;font-weight:950}.driver-billy-map-marker b{font-size:10px;letter-spacing:.04em}@keyframes driver-stop-pulse{0%,100%{transform:scale(1)}50%{transform:scale(.995);filter:brightness(1.12)}}
@media(max-width:700px){.driver-billy-stop{grid-template-columns:82px minmax(0,1fr)}.driver-billy-side{min-height:132px;font-size:5.4rem}.driver-billy-copy{padding:12px}.driver-billy-copy strong{font-size:clamp(2.8rem,13vw,5rem)}.driver-pace-strip{display:block;text-align:center}.driver-pace-strip>div{justify-content:center}.driver-pace-strip p{margin-top:4px;text-align:center}.driver-route-alert{display:grid;gap:2px}.driver-live-shell .driver-road-map{height:48vh}}

/* Personal Elf availability reports and calendar downloads. */
.availability-person-report{max-width:1180px;margin:0 auto 22px;padding:20px;background:#fffaf0;border:4px solid #f5c453;border-radius:16px;box-shadow:0 7px 0 #8b1425;color:#073c29}.availability-person-report>header{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:2px solid #d8e2db}.availability-person-report>header span,.availability-person-result-heading span,.availability-calendar-actions span{display:block;color:#b51f32;font-size:.68rem;font-weight:950;letter-spacing:.14em}.availability-person-report>header h2,.availability-person-result-heading h3{margin:3px 0 0;font-family:Georgia,'Times New Roman',serif}.availability-person-report>header h2{font-size:1.8rem}.availability-person-report>header p{max-width:510px;margin:0;color:#52695e;line-height:1.45;text-align:right}.availability-person-picker{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:12px;margin-top:17px}.availability-person-picker>span{font-weight:900}.availability-person-picker select{width:100%;min-height:50px;padding:8px 12px;background:#fff;border:3px solid #14734e;border-radius:9px;color:#073c29;font:inherit;font-weight:800}.availability-person-result{margin-top:17px;padding:16px;background:#edf5f0;border:2px solid #b8d0c2;border-radius:12px}.availability-person-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.availability-person-result-heading h3{font-size:1.55rem}.availability-person-result-heading>b{padding:7px 10px;background:#08734b;border-radius:999px;color:#fff;font-size:.76rem}.availability-person-routes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.availability-person-routes article{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;padding:10px;background:#fff;border:2px solid #cbd9d1;border-radius:9px}.availability-person-routes article.yes{border-color:#45b97f}.availability-person-routes article.maybe{border-color:#e4ad39}.availability-person-routes article.no{opacity:.72}.availability-person-routes strong,.availability-person-routes small{display:block}.availability-person-routes small{margin-top:3px;color:#52695e;font-size:.74rem}.availability-choice-badge{padding:5px 7px;background:#68716c;border-radius:999px;color:#fff;font-size:.7rem;font-weight:950;text-align:center}.availability-person-routes .yes .availability-choice-badge{background:#08734b}.availability-person-routes .maybe .availability-choice-badge{background:#d88c00}.availability-person-routes .no .availability-choice-badge{background:#a71930}.availability-person-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.availability-person-actions button{min-height:43px;padding:8px 12px;font-size:.8rem;box-shadow:0 3px 0 #063b28}.availability-calendar-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px;padding:14px;background:#fff6d8;border:2px solid #e2bc51;border-radius:10px}.availability-calendar-actions strong,.availability-calendar-actions small{display:block}.availability-calendar-actions small{margin-top:4px;color:#6d5b27}.availability-calendar-actions>div:last-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.availability-calendar-actions a,.availability-calendar-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:8px 12px;background:#b51f32;border:2px solid #790f20;border-radius:8px;box-shadow:0 3px 0 #790f20;color:#fff;font-size:.8rem;font-weight:900;text-decoration:none}.availability-calendar-actions button{background:#08734b;border-color:#064a31;box-shadow:0 3px 0 #064a31}.availability-calendar-actions .disabled,.availability-calendar-actions button:disabled{opacity:.45;pointer-events:none}.availability-person-empty{margin:16px 0 0;padding:16px;background:#edf5f0;border-radius:9px;color:#52695e;text-align:center}
@media(max-width:720px){.availability-person-report>header,.availability-calendar-actions{display:block}.availability-person-report>header p{margin-top:8px;text-align:left}.availability-person-picker{grid-template-columns:1fr}.availability-person-routes{grid-template-columns:1fr}.availability-calendar-actions>div:last-child{justify-content:flex-start;margin-top:12px}.availability-person-actions{display:grid}.availability-person-actions button{width:100%}}

/* Edit sponsor spelling and website directly from Mission Control. */
.mission-sponsor-list>article.editing-sponsor{grid-template-columns:76px minmax(0,1fr);align-items:start}
.mission-sponsor-edit{display:grid;gap:8px;min-width:0}
.mission-sponsor-edit label>span{display:block;margin-bottom:4px;color:#073c29;font-size:.67rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.mission-sponsor-edit label>span small{text-transform:none;letter-spacing:normal;font-weight:600}
.mission-sponsor-edit input{width:100%;min-height:40px;padding:7px 9px;background:#fff;border:2px solid #8ead9e;border-radius:7px;color:#073c29;font:inherit;font-size:.8rem}
.mission-sponsor-edit-actions{display:flex;gap:7px}
.mission-sponsor-edit-actions button{flex:1;min-height:39px;padding:6px 8px;font-size:.76rem}
.mission-sponsor-order{grid-template-columns:38px 38px auto auto}
@media(max-width:520px){.mission-sponsor-list>article.editing-sponsor{grid-template-columns:62px minmax(0,1fr)}.mission-sponsor-order{grid-template-columns:1fr 1fr}}

.mission-callout-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.mission-clear-queue{min-height:36px;padding:6px 10px;background:#fff;border:1px solid #b51f32;border-radius:7px;box-shadow:none;color:#8a1624;font:inherit;font-size:.72rem;font-weight:900}
.mission-clear-queue:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:520px){.mission-callout-heading-actions{justify-content:space-between;margin-top:8px}}
