:root{--blue:#2d6cdf;--blue-dark:#17479d;--navy:#14213d;--yellow:#ffc43d;--red:#f55a4a;--green:#2f9b55;--bg:#f5f7fb;--white:#fff;--soft:#5c677d;--line:#dfe4ec;--shadow:0 14px 38px rgba(20,33,61,.09);font-family:Nunito Rounded,Avenir Next,Nunito,system-ui,sans-serif;color:var(--navy);background:var(--bg)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg)}body{font-size:16px}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(45,108,223,.38);outline-offset:2px}.brand{display:flex;align-items:center;gap:10px;font-weight:900}.brand-shapes{display:grid;grid-template-columns:repeat(2,17px);grid-gap:3px;gap:3px}.shape{width:17px;height:17px;display:block}.triangle{background:var(--yellow);-webkit-clip-path:polygon(50% 12%,92% 88%,8% 88%);clip-path:polygon(50% 12%,92% 88%,8% 88%)}.square{background:var(--red);border-radius:5px}.circle{background:var(--blue);border-radius:50%;grid-column:2}.brand-name{font-size:18px}.brand-name b{color:var(--blue)}.button{min-height:50px;border:0;border-radius:15px;padding:0 19px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:disabled{opacity:.48;cursor:not-allowed}.button-primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(45,108,223,.22)}.button-secondary{background:var(--navy);color:#fff}.button-ghost{background:transparent;color:var(--navy)}.button-danger{background:#ffebe8;color:#9c3027}.card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.status{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.status-success{background:#e7f7ec;color:#21733c}.status-warning{background:#fff4d1;color:#795800}.status-danger{background:#ffebe8;color:#9c3027}.status-info{background:#e9f0ff;color:#2453ac}.status-neutral{background:#eef0f4;color:#566077}.volunteer-app{min-height:100vh;padding-bottom:88px}.station-header{height:74px;padding:0 max(20px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.93);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.station-state{text-align:right}.station-state span,.station-state strong{display:block}.station-state strong{font-size:14px}.station-state span{font-size:12px;color:var(--green);font-weight:850;margin-top:2px}.station-state .offline{color:#a33a2f;display:flex;align-items:center;justify-content:flex-end;gap:4px}.station-content{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:34px 0 70px}.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);height:76px;width:min(620px,100%);border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;background:rgba(255,255,255,.97);box-shadow:0 -8px 30px rgba(20,33,61,.08);display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px max(7px,env(safe-area-inset-bottom))}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;color:#738096;font-size:11px;font-weight:850}.bottom-nav a.active{background:#eaf1ff;color:var(--blue-dark)}.desktop-account{position:fixed;right:18px;bottom:18px;display:none;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:8px;box-shadow:var(--shadow)}.avatar,.child-avatar,.large-avatar{border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.avatar{width:38px;height:38px}.desktop-account span small,.desktop-account span strong{display:block}.desktop-account span small{font-size:11px;color:var(--soft)}.ready-hero{text-align:center;padding:12px 20px 28px}.service-line{display:flex;justify-content:center;align-items:center;gap:9px;color:var(--soft);font-weight:800;font-size:14px}.confirmation-head h1,.page-head h1,.ready-hero h1,.service-select h1{font-size:clamp(34px,6vw,58px);line-height:1;letter-spacing:-.05em;margin:20px 0 12px}.confirmation-head p,.page-head p,.ready-hero>p,.service-select>p{color:var(--soft);line-height:1.55;max-width:680px;margin:0 auto}.mode-switch{display:grid;grid-template-columns:1fr 1fr;background:#e8ecf3;border-radius:16px;padding:4px;width:min(420px,100%);margin:24px auto 0}.mode-switch button{border:0;background:transparent;min-height:48px;border-radius:12px;color:var(--soft);font-weight:900;cursor:pointer}.mode-switch button.active{background:#fff;color:var(--navy);box-shadow:0 3px 12px rgba(20,33,61,.09)}.form-error,.form-success,.offline-banner{border-radius:15px;padding:14px 16px;margin:0 0 18px}.offline-banner{background:#fff2ef;color:#8c3229;display:flex;gap:11px;align-items:center}.form-error{background:#ffebe8;color:#942f26}.form-success{background:#e7f7ec;color:#21733c}.station-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:20px;gap:20px}.manual-card,.scan-card{padding:28px}.scan-card{text-align:center}.scan-icon{width:84px;height:84px;border-radius:25px;background:#eaf1ff;color:var(--blue);display:grid;place-items:center;margin:0 auto 14px}.manual-card h2,.scan-card h2{font-size:24px;margin:7px 0}.manual-card p,.scan-card>p{color:var(--soft);line-height:1.5}.scan-card>.button{width:100%;margin-top:12px}.key-entry{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.key-entry>span{display:block;color:var(--soft);font-size:12px;font-weight:850;margin-bottom:9px}.key-entry form,.search-form{display:flex;gap:9px}.attendance-search input,.field textarea,.key-entry input,.search-form input{min-height:50px;border:1px solid var(--line);border-radius:14px;padding:11px 14px;color:var(--navy);background:#fff;min-width:0}.key-entry input,.search-form input{flex:1 1}.card-title{display:flex;align-items:flex-start;gap:12px}.card-title>svg{color:var(--blue);margin-top:8px}.card-title p{margin:3px 0 18px}.search-results{display:grid;grid-gap:7px;gap:7px;margin-top:15px}.search-results button{border:1px solid var(--line);background:#f8faff;border-radius:13px;padding:12px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.search-results button span small,.search-results button span strong{display:block}.search-results button span small{color:var(--soft);margin-top:3px}.station-summary{display:flex;align-items:center;justify-content:space-between;margin-top:18px;color:var(--soft);font-size:14px}.station-summary span{display:flex;align-items:center;gap:7px}.station-summary strong{font-size:20px;color:var(--navy)}.back-link,.station-summary button{border:0;background:transparent;color:var(--blue-dark);font-weight:900;cursor:pointer}.scanner-backdrop{position:fixed;inset:0;background:rgba(8,16,32,.75);display:grid;place-items:center;padding:15px;z-index:100}.scanner{width:min(560px,100%);background:#10192b;border-radius:25px;overflow:hidden;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.4)}.scanner-head{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 20px}.scanner-head>div{display:flex;align-items:center;gap:9px}.scanner-head .button{color:#fff}.camera-frame{position:relative;aspect-ratio:3/4;max-height:72vh;background:#05080e;overflow:hidden}.camera-frame video{width:100%;height:100%;object-fit:cover}.scan-target{position:absolute;width:68%;aspect-ratio:1;left:16%;top:22%;border:4px solid var(--yellow);border-radius:24px;box-shadow:0 0 0 2000px rgba(0,0,0,.34)}.camera-frame p{position:absolute;bottom:25px;left:0;right:0;text-align:center;font-weight:850}.scanner-error{text-align:center;padding:50px 25px}.scanner-error p{line-height:1.5}.service-select{max-width:760px;margin:0 auto;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--blue)!important;font-size:12px;font-weight:950}.service-list{display:grid;grid-gap:13px;gap:13px;margin-top:30px;text-align:left}.service-card{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.service-card h2{margin:10px 0 4px}.service-card p{margin:0;color:var(--soft)}.empty-card{text-align:center;padding:45px 25px;color:var(--soft)}.empty-card>svg{color:var(--blue)}.empty-card h2{color:var(--navy);margin:13px 0 7px}.empty-card p{line-height:1.5;max-width:500px;margin:0 auto}.confirmation{max-width:850px;margin:0 auto}.back-link{padding:10px 0;margin-bottom:10px}.confirmation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.confirmation-head h1{font-size:43px;margin:8px 0}.confirmation-head p{margin:0}.confirmation-head>svg{color:var(--blue);flex:none}.child-options{display:grid;grid-gap:11px;gap:11px}.child-option{display:flex;gap:14px;align-items:flex-start;background:#fff;border:2px solid var(--line);border-radius:18px;padding:18px;cursor:pointer}.child-option:has(input:checked){border-color:var(--blue);background:#f6f9ff}.child-option.disabled{opacity:.6;cursor:not-allowed}.child-option>input,.guardian-options input,.verify-check input{width:23px;height:23px;flex:none;accent-color:var(--blue)}.child-main,.child-main small,.child-main strong{display:block}.child-main{flex:1 1}.child-main strong{font-size:20px}.child-main small{color:var(--soft);margin-top:5px}.safety-alert{display:flex!important;align-items:flex-start;gap:7px;background:#fff0ed;color:#8f3028;border-radius:10px;padding:9px;margin-top:11px;font-size:13px;font-weight:800}.release-card{padding:24px;margin-top:20px}.release-card h2{margin:0 0 5px}.release-card>p{color:var(--soft);margin-top:0}.guardian-options{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:9px;gap:9px}.guardian-options label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:13px;cursor:pointer}.guardian-options label:has(input:checked){border-color:var(--blue);background:#f1f6ff}.guardian-options span small,.guardian-options span strong{display:block}.guardian-options span small{color:var(--soft);margin-top:2px}.verify-check{display:flex;align-items:flex-start;gap:11px;background:#fff9e7;border:1px solid #ead38c;border-radius:14px;padding:14px;margin:18px 0}.verify-check span small,.verify-check span strong{display:block}.verify-check span small{color:var(--soft);margin-top:4px;line-height:1.45}.field{display:grid;grid-gap:7px;gap:7px;margin:15px 0}.field label{font-size:13px;font-weight:900}.field label span{font-weight:600;color:var(--soft)}.field textarea{width:100%;min-height:86px;resize:vertical}.delegate-guidance{display:flex;align-items:flex-start;gap:10px;background:#ffefec;color:#823229;border-radius:14px;padding:14px;line-height:1.45}.delegate-guidance svg{flex:none}.commit-bar{position:-webkit-sticky;position:sticky;bottom:88px;background:rgba(245,247,251,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.commit-bar strong{font-size:23px}.success-screen{text-align:center;padding:10vh 20px}.success-mark{width:100px;height:100px;background:#e7f7ec;color:var(--green);border-radius:34px;display:grid;place-items:center;margin:0 auto 24px}.success-screen h1{font-size:45px;margin:8px 0}.success-screen>p:not(.eyebrow){color:var(--soft);font-size:18px;margin-bottom:27px}.operational-page{max-width:960px;margin:0 auto}.page-head{margin-bottom:25px}.page-head h1{font-size:46px;margin:8px 0}.page-head p{margin:0}.attendance-search{height:54px;background:#fff;border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;gap:10px;padding:0 15px;margin-bottom:16px}.attendance-search svg{color:var(--soft)}.attendance-search input{border:0;outline:0;flex:1 1;padding:0}.attendance-list{display:grid;grid-gap:9px;gap:9px}.attendance-row{padding:14px 16px;display:flex;align-items:center;gap:12px}.child-avatar{width:44px;height:44px;background:#dfe9ff;color:var(--blue-dark)}.attendance-person{flex:1 1}.attendance-person small,.attendance-person strong{display:block}.attendance-person small{color:var(--soft);margin-top:3px}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.room-card{padding:22px}.room-head{display:flex;align-items:center;justify-content:space-between}.room-icon{width:48px;height:48px;border-radius:15px;background:#eaf1ff;color:var(--blue);display:grid;place-items:center}.room-card h2{font-size:25px;margin:16px 0 3px}.room-card>p{color:var(--soft);margin:0}.room-count{display:flex;align-items:baseline;gap:7px;margin:18px 0}.room-count strong{font-size:42px;line-height:1}.room-count span{color:var(--soft)}.room-card ul{border-top:1px solid var(--line);margin:0;padding:14px 0 0;list-style:none}.room-card li{padding:6px 0;font-weight:800}.room-empty{border-top:1px solid var(--line);padding-top:14px!important}.account-grid{display:grid;grid-template-columns:.85fr 1.15fr;grid-gap:17px;gap:17px}.account-card,.guidance-card{padding:24px}.account-person{display:flex;align-items:center;gap:14px}.large-avatar{width:68px;height:68px;font-size:27px}.account-person h2{margin:0 0 3px}.account-person p{color:var(--soft);margin:0 0 8px}.account-card dl{margin:22px 0}.account-card dl div{border-top:1px solid var(--line);padding:12px 0}.account-card dt{color:var(--soft);font-size:12px;font-weight:850}.account-card dd{margin:4px 0 0;font-weight:850}.account-card>.button{width:100%;margin-top:7px}.guidance-title{display:flex;align-items:center;gap:10px}.guidance-title svg{color:var(--blue)}.guidance-title h2{margin:0}.guidance-card ol{padding-left:23px;line-height:1.55}.guidance-card li{padding:5px}.version{color:var(--soft);font-size:12px;margin-top:20px}.loading{min-height:220px;display:grid;place-items:center;text-align:center;color:var(--soft)}.spinner{width:32px;height:32px;border:3px solid #dfe4ec;border-top:3px solid var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 10px}@keyframes spin{to{transform:rotate(1turn)}}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-story{padding:7vw;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 25% 20%,#dce8ff,transparent 42%),var(--bg)}.auth-story h1{font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.05em;max-width:700px;margin:65px 0 20px}.auth-story p{font-size:18px;color:var(--soft);max-width:580px;line-height:1.6}.auth-tag{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:900}.auth-panel{background:#fff;padding:7vw;display:flex;align-items:center}.auth-form{width:min(430px,100%)}.auth-form h2{font-size:32px;margin:30px 0 8px}.auth-form>p{color:var(--soft);line-height:1.5;margin:0 0 25px}.auth-form .field{margin:0 0 15px}.auth-form .field input,.auth-form .field textarea{width:100%;min-height:50px;border:1px solid var(--line);border-radius:13px;padding:11px 14px}.auth-form .button{width:100%}.text-button{border:0;background:none;color:var(--blue);font-weight:900;cursor:pointer;padding:10px}.divider{display:flex;align-items:center;gap:12px;color:#8b91a0;margin:20px 0;font-size:12px}.divider:after,.divider:before{content:"";height:1px;background:var(--line);flex:1 1}.auth-switch{text-align:center!important;font-size:13px!important;margin-top:18px!important}.auth-switch a{color:var(--blue);font-weight:900}.access-page{min-height:100vh;display:grid;place-items:center;padding:24px}.access-card{padding:36px;width:min(560px,100%);text-align:center}.access-card h1{font-size:30px}.access-card p{color:var(--soft);line-height:1.55}.access-card .button{margin:6px}.setup-id{display:grid;grid-gap:9px;gap:9px;text-align:left;background:#f5f7fb;border:1px solid var(--line);border-radius:14px;padding:14px;margin:18px 0}.setup-id code{overflow-wrap:anywhere}@media(min-width:1250px){.volunteer-app{padding-left:0}.bottom-nav{left:18px;top:50%;bottom:auto;transform:translateY(-50%);width:92px;height:auto;grid-template-columns:1fr;border-radius:24px;border:1px solid var(--line);padding:9px}.bottom-nav a{min-height:72px}.station-content{padding-bottom:40px}.desktop-account{display:flex}.commit-bar{bottom:0}}@media(max-width:760px){.station-content{width:min(100% - 24px,1080px);padding-top:22px}.account-grid,.room-grid,.station-grid{grid-template-columns:1fr}.station-grid{gap:13px}.manual-card,.scan-card{padding:21px}.ready-hero h1{font-size:38px}.service-card{align-items:flex-start;flex-direction:column}.service-card .button{width:100%}.confirmation-head h1{font-size:36px}.confirmation-head>svg{display:none}.guardian-options{grid-template-columns:1fr}.commit-bar{margin-left:-12px;margin-right:-12px;padding:13px 12px}.commit-bar .button{flex:1 1}.station-summary{align-items:flex-start;gap:12px}.success-screen{padding-top:7vh}.attendance-row{align-items:flex-start;flex-wrap:wrap}.attendance-person{min-width:calc(100% - 60px)}.attendance-row .status{margin-left:56px}.auth-page{display:block}.auth-story{display:none}.auth-panel{min-height:100vh;padding:27px}}@media(max-width:480px){.station-header{padding:0 13px}.station-header .brand-name{display:none}.key-entry form,.search-form{display:grid}.key-entry form .button,.search-form .button{width:100%}.scan-icon{width:70px;height:70px}.child-option{padding:15px}.child-main strong{font-size:18px}.commit-bar{display:grid;grid-template-columns:auto 1fr}.commit-bar .button{padding:0 11px}.bottom-nav{height:72px}.volunteer-app{padding-bottom:82px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.join-service-dialog{width:min(580px,100%)}.join-service-dialog .field select,.serving-area-gate .field select{width:100%;min-height:50px;border:1px solid var(--line);border-radius:14px;padding:10px 13px;background:#fff;color:var(--navy)}.serving-area-field small,.serving-area-help{color:var(--soft);font-size:13px;line-height:1.45}.serving-area-field{border-top:1px solid var(--line);padding-top:17px}.serving-area-gate{max-width:560px;margin:25px auto 0;padding:24px;text-align:left}.serving-area-gate>.button{width:100%}.service-opener{margin-top:24px;padding:24px;text-align:left}.service-opener-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.service-opener-head h2{margin:4px 0 15px}.service-opener .mode-switch{margin:0 0 20px}.mapping-row select,.service-opener .field input,.service-opener .field select{width:100%;min-height:50px;border:1px solid var(--line);border-radius:14px;padding:10px 13px;background:#fff;color:var(--navy)}.service-opener form>.button{width:100%}.split-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px}.setup-banner{display:flex;align-items:center;gap:12px;background:#fff7dc;border:1px solid #ead38c;border-radius:16px;padding:14px 16px;margin-bottom:18px}.setup-banner>svg{color:#8a6400;flex:none}.setup-banner>span{flex:1 1}.setup-banner>span strong{display:block}.setup-banner .button{flex:none}.room-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.mapping-backdrop{position:fixed;inset:0;background:rgba(10,20,40,.58);display:grid;place-items:center;padding:18px;z-index:100}.mapping-dialog{width:min(760px,100%);max-height:92vh;overflow:auto;padding:25px}.mapping-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.mapping-head h1{font-size:34px;margin:5px 0}.mapping-head p:not(.eyebrow){color:var(--soft);margin:0 0 20px}.mapping-list{display:grid;grid-gap:9px;gap:9px}.mapping-row{display:grid;grid-template-columns:minmax(140px,1fr) auto minmax(210px,1fr);align-items:center;grid-gap:13px;gap:13px;border:1px solid var(--line);border-radius:15px;padding:13px}.mapping-row span small,.mapping-row span strong{display:block}.mapping-row span small{color:var(--soft);margin-top:3px}.mapping-row>svg{color:var(--blue)}.move-current{display:flex;align-items:flex-start;gap:11px;background:#fff4df;border:1px solid #ebd39e;border-radius:15px;padding:14px;margin-top:15px}.move-current>svg{color:#906300;flex:none}.move-current strong{display:block}.move-current p{color:var(--soft);line-height:1.45;margin:4px 0 10px}.move-current label{display:flex;align-items:flex-start;gap:8px;font-weight:850}.move-current input{width:20px;height:20px;accent-color:var(--blue)}.mapping-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:17px;margin-top:18px}.session-placement-setup{border:1px solid var(--line);border-radius:17px;padding:16px;margin:18px 0}.session-placement-setup legend{font-weight:950;padding:0 7px}.session-placement-setup>p{color:var(--soft);font-size:13px;margin:0 0 12px}.session-placement-setup .loading{min-height:100px}.session-placement-list{display:grid;grid-gap:9px;gap:9px}.session-placement-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(210px,1fr);grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;opacity:.65}.session-placement-row.selected{border-color:#a9c2f3;background:#f7faff;opacity:1}.session-placement-row>label{display:flex;align-items:center;gap:10px;cursor:pointer}.session-placement-row input{width:21px;height:21px;accent-color:var(--blue)}.session-placement-row span small,.session-placement-row span strong{display:block}.session-placement-row span small{color:var(--soft);margin-top:2px}.child-placement select,.session-placement-row select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:9px 11px;background:#fff;color:var(--navy)}.child-check{display:flex;gap:14px;align-items:flex-start;cursor:pointer}.child-check>input{width:23px;height:23px;flex:none;accent-color:var(--blue)}.child-placement{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:13px 0 0 37px}.child-placement label>span{display:block;font-size:12px;font-weight:900;margin-bottom:5px}.placement-note{grid-column:1/-1;color:var(--green)!important;font-weight:850}.placement-note.override{color:#8a6400!important}.child-option>.safety-alert{margin-left:37px}.mapping-row.selected{border-color:#a9c2f3;background:#f7faff}.mapping-group-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.mapping-group-toggle>input{width:21px;height:21px;flex:none;accent-color:var(--blue)}.mapping-group-toggle>input:disabled{cursor:not-allowed}.attendance-person .placement-override-label{color:#8a6400;font-weight:850}.attendance-room-groups{display:grid;grid-gap:18px;gap:18px}.attendance-room-group{background:#eef2f8;border:1px solid var(--line);border-radius:22px;padding:15px}.attendance-room-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:3px;cursor:pointer;list-style:none}.attendance-room-head::-webkit-details-marker{display:none}.attendance-room-group[open] .attendance-room-head{padding-bottom:14px}.attendance-room-title{display:flex;align-items:center;gap:12px;min-width:0}.attendance-room-title .room-icon{flex:none}.attendance-room-title span>small{display:block;color:var(--blue);font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.attendance-room-title h3{font-size:23px;margin:1px 0}.attendance-room-title p{color:var(--soft);font-size:13px;font-weight:800;margin:0}.attendance-room-summary{display:flex;align-items:center;gap:15px;flex:none}.attendance-room-totals{display:flex;align-items:center;gap:18px}.attendance-room-totals>span{display:grid;text-align:center}.attendance-room-totals strong{font-size:22px;line-height:1}.attendance-room-totals small{color:var(--soft);font-size:10px;font-weight:850;margin-top:3px}.attendance-room-chevron{color:var(--soft);transition:transform .18s ease}.attendance-room-group[open] .attendance-room-chevron{transform:rotate(180deg)}.attendance-room-group .attendance-row{box-shadow:0 5px 14px rgba(20,33,61,.05)}summary:focus-visible{outline:3px solid rgba(45,108,223,.38);outline-offset:2px}.attendance-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.attendance-head-actions{display:flex;gap:9px;flex:none}.report-status-line{display:flex;align-items:center;gap:10px;margin-bottom:15px}.report-status-line>span:not(.status){color:var(--soft);font-size:13px;font-weight:750}.attendance-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.attendance-summary-grid .card{padding:18px;display:grid;grid-template-columns:auto 1fr;align-items:center;grid-column-gap:12px;column-gap:12px}.attendance-summary-grid svg{grid-row:1/3;color:var(--blue)}.attendance-summary-grid strong{font-size:29px;line-height:1}.attendance-summary-grid span{color:var(--soft);font-size:12px;font-weight:850;margin-top:4px}.attendance-section{margin-top:30px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:13px}.section-heading h2{font-size:27px;margin:3px 0 0}.section-heading .eyebrow{margin:0}.volunteer-assignment-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.volunteer-assignment-card{padding:16px;display:flex;align-items:center;gap:13px}.volunteer-assignment-card .large-avatar{width:50px;height:50px;font-size:19px;flex:none}.volunteer-assignment-card div small,.volunteer-assignment-card div span,.volunteer-assignment-card div strong{display:block}.volunteer-assignment-card div span{font-weight:850;margin-top:2px}.volunteer-assignment-card div small{color:var(--soft);margin-top:3px}.empty-team-card{padding:17px;color:var(--soft)}.empty-team-card p{margin:0}.attendance-operation{font-size:12px}.history-menu-backdrop{position:fixed;inset:0;z-index:120;background:rgba(10,20,40,.68);display:grid;place-items:center;padding:18px}.history-menu{width:min(720px,100%);max-height:min(820px,92vh);overflow:auto;background:var(--bg);border-radius:25px;padding:25px;box-shadow:0 30px 100px rgba(0,0,0,.3)}.history-menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.history-menu-head h2{font-size:34px;margin:4px 0 7px}.history-menu-head p:not(.eyebrow){color:var(--soft);margin:0 0 22px}.history-service-list{display:grid;grid-gap:9px;gap:9px}.history-service-list>button{border:1px solid var(--line);background:#fff;border-radius:17px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;color:var(--navy);cursor:pointer}.history-service-list>button:disabled{opacity:.65}.history-service-list>button>span:first-child small,.history-service-list>button>span:first-child strong{display:block}.history-service-list>button strong{font-size:19px;margin:8px 0 3px}.history-service-list>button small{color:var(--soft)}.history-open-label{display:flex;align-items:center;gap:4px;color:var(--blue);font-size:13px;font-weight:900;white-space:nowrap}.close-summary-actions{display:flex;justify-content:center;gap:10px}.close-summary-actions .button{min-width:210px}.close-service-backdrop{position:fixed;inset:0;z-index:110;background:rgba(10,20,40,.64);display:grid;place-items:center;padding:18px}.close-service-dialog{width:min(600px,100%);padding:25px}.close-service-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.close-service-head h2{font-size:30px;margin:5px 0 12px}.close-service-dialog>p{color:var(--soft);line-height:1.55}.close-service-totals,.session-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin:20px 0}.close-service-totals>div,.session-summary-grid>div{background:#f5f7fb;border:1px solid var(--line);border-radius:15px;padding:16px}.close-service-totals span,.close-service-totals strong,.session-summary-grid span,.session-summary-grid strong{display:block}.close-service-totals strong,.session-summary-grid strong{font-size:31px}.close-service-totals span,.session-summary-grid span{color:var(--soft);font-size:13px;font-weight:800}.close-service-totals .safe strong{color:var(--green)}.close-service-totals .unsafe strong{color:var(--red)}.close-service-dialog .form-error{display:flex;align-items:flex-start;gap:10px}.close-service-dialog .form-error svg{flex:none}.close-service-dialog .form-error strong{display:block}.close-acknowledgement{display:flex;align-items:flex-start;gap:11px;background:#eaf6ed;border:1px solid #aad2b5;border-radius:15px;padding:15px;cursor:pointer}.close-acknowledgement input{width:22px;height:22px;flex:none;accent-color:var(--green)}.close-acknowledgement span small,.close-acknowledgement span strong{display:block}.close-acknowledgement span small{color:var(--soft);line-height:1.4;margin-top:4px}.close-summary{text-align:center;padding:6vh 0}.close-summary h1{font-size:clamp(38px,7vw,58px);letter-spacing:-.04em;margin:8px 0}.close-summary>p:not(.eyebrow){color:var(--soft);font-size:18px;line-height:1.55;max-width:650px;margin:0 auto 25px}.session-summary-card{max-width:650px;margin:0 auto 24px;padding:25px}.session-summary-card h2{font-size:29px;margin:0 0 5px}.session-summary-card>p{color:var(--soft);margin:0}.session-summary-grid{grid-template-columns:repeat(3,1fr)}.session-summary-grid>div{text-align:left}.close-summary>.button{min-width:250px}@media(max-width:760px){.child-placement,.split-fields{grid-template-columns:1fr}.attendance-page-head,.room-page-head,.service-opener-head{align-items:flex-start;flex-direction:column}.attendance-head-actions{width:100%}.attendance-head-actions .button{flex:1 1}.room-page-head .button{width:100%}.setup-banner{align-items:flex-start;flex-wrap:wrap}.setup-banner .button{width:100%}.close-service-backdrop,.history-menu-backdrop,.mapping-backdrop{padding:8px;align-items:end}.close-service-dialog,.history-menu,.mapping-dialog{border-radius:22px 22px 0 0;padding:19px;max-height:92vh;overflow:auto}.mapping-row,.session-placement-row{grid-template-columns:1fr auto}.mapping-row select,.session-placement-row select{grid-column:1/-1}.mapping-actions{display:grid;grid-template-columns:1fr}.mapping-actions .button{width:100%}.attendance-summary-grid,.session-summary-grid,.volunteer-assignment-grid{grid-template-columns:1fr}.session-summary-grid>div{text-align:center}.history-service-list>button{align-items:flex-start}.history-open-label{font-size:0}.history-open-label svg{font-size:medium}.close-summary-actions{display:grid}.close-summary-actions .button{width:100%}.attendance-room-group{padding:11px}.attendance-room-head,.attendance-room-title{align-items:flex-start}.attendance-room-title .room-icon{width:42px;height:42px}.attendance-room-totals{gap:10px}.attendance-room-totals strong{font-size:19px}.attendance-room-title h3{font-size:20px}}.close-service-ready{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px;border-color:#aad2b5;background:#f2fbf4}.close-service-ready>div{display:flex;align-items:center;gap:13px}.close-service-ready-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;flex:none;background:#dcefe1;color:var(--green)}.close-service-ready small,.close-service-ready strong{display:block}.close-service-ready strong{font-size:19px}.close-service-ready small{color:var(--soft);margin-top:3px;line-height:1.4}@media(max-width:760px){.close-service-ready{align-items:stretch;flex-direction:column}.close-service-ready .button{width:100%}}@media(max-width:560px){.pwa-notice{bottom:calc(84px + env(safe-area-inset-bottom))}}.pwa-notice{position:fixed;z-index:1000;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:min(430px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border:1px solid #c8d7f2;border-radius:17px;background:#fff;color:#14213d;box-shadow:0 18px 55px rgba(20,33,61,.2);font-family:Nunito Rounded,Avenir Next,Nunito,system-ui,sans-serif}.pwa-notice small,.pwa-notice span,.pwa-notice strong{display:block}.pwa-notice small{margin-top:3px;color:#5c677d;line-height:1.35}.pwa-notice>div{display:flex;gap:7px;flex:none}.pwa-notice button{min-height:42px;border:0;border-radius:12px;padding:0 14px;background:#2d6cdf;color:#fff;font:inherit;font-weight:900;cursor:pointer;touch-action:manipulation}.pwa-notice button.pwa-notice-secondary{background:#eef1f6;color:#33405a}.pwa-notice-offline{border-color:#ead38c;background:#fff8df}.pwa-notice-offline strong{color:#795800}@media(max-width:560px){.pwa-notice{left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:auto;align-items:stretch;flex-direction:column}.pwa-notice>div{justify-content:flex-end}.pwa-notice button{flex:1 1}}@media(prefers-reduced-motion:no-preference){.pwa-notice{animation:pwa-notice-enter .22s ease-out}}@keyframes pwa-notice-enter{0%{opacity:0;transform:translateY(10px)}}.support-report-trigger{position:fixed;right:18px;bottom:18px;z-index:80;border:1px solid var(--line,#dfe4ec);border-radius:999px;background:#fff;color:var(--navy,#14213d);box-shadow:0 14px 38px rgba(20,33,61,.16);padding:10px 15px;font:inherit;font-weight:900;cursor:pointer;display:flex;align-items:center;gap:8px}.support-report-trigger>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--blue,#2d6cdf);color:#fff}.support-report-link{border:0;background:transparent;color:var(--blue,#2d6cdf);font:inherit;font-size:13px;font-weight:850;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:7px}.support-report-backdrop{position:fixed;inset:0;z-index:200;background:rgba(8,16,32,.7);display:grid;place-items:center;padding:16px}.support-report-dialog{width:min(580px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:24px;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.35);color:var(--navy,#14213d)}.support-report-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.support-report-head small{color:var(--blue,#2d6cdf);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.support-report-head h2{margin:5px 0 0;font-size:29px}.support-report-head>button{border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;color:var(--soft,var(--ink-soft,#5c677d))}.support-report-dialog>p{color:var(--soft,var(--ink-soft,#5c677d));line-height:1.5}.support-report-dialog a:not(.button){color:var(--blue,#2d6cdf);text-decoration:underline}.support-report-field{display:grid;grid-gap:7px;gap:7px;margin-top:16px}.support-report-field>span{font-weight:900;font-size:13px}.support-report-field select,.support-report-field textarea{width:100%;border:1px solid var(--line,#dfe4ec);border-radius:13px;padding:11px 13px;background:#fff;color:var(--navy,#14213d);font:inherit}.support-report-field textarea{min-height:120px;resize:vertical}.support-detected-error,.support-privacy-note{display:grid;grid-gap:3px;gap:3px;border-radius:13px;padding:12px 14px;margin-top:15px}.support-privacy-note{background:#fff8df;color:#664b00}.support-detected-error{background:#ffebe8;color:#8c3229}.support-detected-error span,.support-privacy-note span{font-size:13px;line-height:1.4}.support-report-meta{font-size:12px}.support-report-success{background:#e7f7ec;color:#21733c!important;padding:10px 12px;border-radius:11px}.support-report-error{background:#ffebe8;color:#942f26!important;padding:10px 12px;border-radius:11px}.support-report-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.support-report-actions .disabled{opacity:.48;pointer-events:none}.support-attribution{text-align:center;font-size:11px;margin:17px 0 0!important}@media(max-width:760px){.support-report-trigger{right:12px;bottom:12px}.support-report-dialog{padding:20px}.support-report-actions{display:grid;grid-template-columns:1fr 1fr}}.support-error-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg,#f5f7fb);color:var(--navy,#14213d)}.support-error-screen>section{width:min(560px,100%);text-align:center;background:#fff;border:1px solid var(--line,#dfe4ec);border-radius:24px;padding:36px;box-shadow:0 14px 38px rgba(20,33,61,.1)}.support-error-screen>section>span{width:62px;height:62px;border-radius:20px;background:#ffebe8;color:#942f26;display:grid;place-items:center;margin:0 auto 18px;font-size:34px;font-weight:900}.support-error-screen h1{font-size:36px;margin:0 0 10px}.support-error-screen p{color:var(--soft,var(--ink-soft,#5c677d));line-height:1.55}.support-error-screen section>div{display:flex;justify-content:center;gap:10px;margin-top:22px}@media(max-width:560px){.support-error-screen>section{padding:26px 18px}.support-error-screen section>div{display:grid}.support-error-screen section>div .button{width:100%}}.support-public-help{position:fixed;z-index:60;left:50%;bottom:10px;transform:translateX(-50%);color:var(--soft,var(--ink-soft,#5c677d));background:rgba(255,255,255,.9);border-radius:999px;padding:7px 12px;white-space:nowrap}body:has(.app-frame) .support-public-help,body:has(.support-error-screen) .support-public-help,body:has(.volunteer-app) .support-public-help{display:none}.sidebar-support{width:100%;min-height:42px;border:0;border-radius:11px;background:transparent;color:#566077;padding:9px 11px;margin-bottom:8px;font:inherit;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:10px;text-align:left}.sidebar-support:hover{background:#f8f5f0;color:var(--navy,#14213d)}.creator-credit{display:block;color:var(--soft,var(--ink-soft,#738096));font-size:11px;line-height:1.4;text-align:center;text-decoration:none;padding:8px 6px}.creator-credit strong{color:var(--navy,#14213d);font-weight:900}.creator-credit:hover strong{text-decoration:underline;text-underline-offset:3px}.more-support-entry{width:100%;margin-top:17px;padding:17px 19px;border:1px solid var(--line,#dfe4ec);background:#fff;color:var(--navy,#14213d);font:inherit;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer}.more-support-entry>svg{color:var(--blue,#2d6cdf);flex:none}.more-support-entry>span:nth-child(2){flex:1 1}.more-support-entry small,.more-support-entry strong{display:block}.more-support-entry small{color:var(--soft,#5c677d);margin-top:3px}.more-support-entry>span:last-child{font-size:28px;color:var(--soft,#5c677d)}.more-utilities>.creator-credit{margin:7px 0 0}