.attendance-content{max-width:1120px}
.attendance-content .welcome-row{gap:18px;margin-bottom:16px}
.attendance-content .welcome-row .muted{max-width:540px}
.attendance-link{color:#225a54;font-size:.9rem;font-weight:650;text-decoration:none;white-space:nowrap;padding:12px 0}
.attendance-link:hover{text-decoration:underline}
.attendance-card{background:#fffefa;border:1px solid #dce6dc;border-radius:18px;padding:22px;margin:16px 0;min-width:0}
.attendance-card h2{font-size:1.2rem;color:#173d32;letter-spacing:-.02em;margin:0}
.attendance-card h3{font-size:1rem}
.attendance-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.attendance-heading .attendance-muted{margin-bottom:0}
.attendance-muted{color:#4c6057;font-size:.9rem;line-height:1.6}
.attendance-error{color:#9d302a;line-height:1.6;background:#fff0ed;border-radius:10px;padding:12px}
#status:empty{display:none}
.attendance-card label{display:block;margin:14px 0;font-size:.9rem;font-weight:600}
.attendance-card input,.attendance-card select{display:block;width:100%;max-width:100%;min-width:0;min-height:46px;margin-top:8px;padding:11px 12px;border:1px solid #a6bbad;border-radius:10px;background:#fff;font:inherit;color:#1c332b}
.attendance-card button,.attendance-tabs button{min-height:46px;padding:11px 16px;border:1px solid transparent;border-radius:10px;font-family:inherit;font-size:.9rem;font-weight:600;line-height:1.4;cursor:pointer}
.attendance-card button{background:#225a54;color:#fff;font-family:inherit;font-size:.9rem}
.attendance-card button.attendance-secondary{background:#f4f7f2;color:#225a54;border-color:#cddccf}
.attendance-card button:disabled{opacity:.5;cursor:not-allowed}
.attendance-content :is(input,select,button,summary,a,[role=tabpanel]):focus-visible{outline:3px solid #6ca991;outline-offset:3px}
.session-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:16px;align-items:end}
.session-fields label{margin:16px 0 0}
.readiness{border-radius:20px;padding:7px 10px;background:#f5ebd8;color:#70501d;font-size:.8rem;font-weight:650;text-align:center}
.readiness[data-ready=true]{background:#e6f3e9;color:#20543a}
#session-help{margin:12px 0 0}
.attendance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.attendance-metrics article{padding:16px 18px;border:1px solid #dce6dc;border-radius:14px;background:#fffefa;min-width:0}
.attendance-metrics article:first-child{background:#eaf3ec;border-color:#b8d5c1}
.attendance-metrics span{display:block;font-size:.85rem;color:#4c6057}
.attendance-metrics strong{display:block;margin-top:6px;font-size:1.8rem;color:#20543a}
.attendance-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sync-details{padding:0}
.sync-details summary{cursor:pointer;padding:16px 20px;font-size:.85rem;line-height:1.6}
.sync-details summary::marker{color:#225a54}
.details-label{float:right;color:#4c6057}
.sync-details>p,.sync-details>.attendance-controls,.sync-details>.recovery-panel{margin:12px 20px 16px}
.sync-details[data-attention=true]{border-color:#c68454;background:#fff9f1}
.attendance-controls{display:flex;gap:10px;flex-wrap:wrap}
.recovery-panel{border-top:1px solid #dce6dc;padding-top:6px}
#attention article{border:1px solid #e2c3a8;border-radius:10px;padding:14px;margin:10px 0;overflow-wrap:anywhere}
#attention p{font-size:.9rem;line-height:1.5}
.attendance-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-bottom:1px solid #cbdace;padding-bottom:8px;margin-top:22px}
.attendance-tabs button{background:transparent;color:#4c6057;font-family:inherit;font-size:.95rem;font-weight:650;padding:12px 8px;white-space:nowrap}
.attendance-tabs button[aria-selected=true]{background:#225a54;color:#fff}
.attendance-tabs button:not([aria-selected=true]):hover{background:#eaf1e9}
#register-count{display:inline-block;min-width:22px;background:#edf3eb;color:#225a54;border-radius:12px;padding:1px 6px;font-size:.75rem;margin-left:3px}
.attendance-panel{margin-top:14px}
.member-search{margin-top:22px!important}
.search-controls{display:flex;align-items:end;gap:8px}
.search-controls input{flex:1;min-width:0}
.search-controls button{flex:none}
.attendance-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e0e8df;border-radius:12px;background:#f8faf6;padding:14px;margin:8px 0;min-width:0}
.attendance-card label.attendance-item{display:flex;flex-direction:row;font-weight:500;cursor:pointer;margin:8px 0;min-height:68px}
.attendance-card label.attendance-item:has(input:checked){border-color:#8cba9d;background:#edf6ef}
.attendance-person{flex:1;min-width:0;overflow-wrap:anywhere}
.attendance-person strong,.attendance-person small{display:block}
.attendance-person strong{font-size:1rem;font-weight:600}
.attendance-person small{font-size:.8rem;line-height:1.5;margin-top:4px}
.attendance-card input[type=checkbox]{width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px;margin:0;padding:0;accent-color:#225a54;flex:none}
.attendance-item button{flex:none;min-width:70px}
.attendance-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:20px}
#page-info{text-align:center;font-size:.85rem;line-height:1.6;color:#4c6057}
.attendance-empty{padding:28px 16px;text-align:center;line-height:1.6;background:#f4f7f1;border-radius:12px;color:#4c6057}
.attendance-empty strong{display:block;color:#264f3b;margin-bottom:6px}
.returning-visitor{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}
.returning-visitor label{margin-bottom:0}
.attendance-section-heading{border-top:1px solid #e0e8df;padding-top:22px;margin-top:28px}
.visitor-names{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.consent-label{display:flex!important;align-items:center;gap:12px;line-height:1.5;padding:14px;border-radius:10px;background:#f4f7f1}
.optional{font-weight:400;color:#4c6057}
#print-info{display:none}
@media(max-width:760px){.attendance-content .welcome-row{margin-bottom:12px}
.attendance-content .welcome-row h1{font-size:1.8rem}
.attendance-content .welcome-row .muted{font-size:.9rem}
.attendance-content .welcome-row .attendance-link{padding:0}
.attendance-card{padding:16px}
.session-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px}
.session-fields button{grid-column:1/-1}
.attendance-card input,.attendance-card select{font-size:16px}
.attendance-metrics{gap:8px}
.attendance-metrics article{padding:12px}
.attendance-metrics span{font-size:.78rem;min-height:2.8em;line-height:1.4}
.attendance-metrics strong{font-size:1.6rem;margin-top:2px}
.attendance-tabs{margin-top:18px}
.attendance-tabs button{font-size:.85rem}
.details-label{float:none;display:block;margin-left:15px;font-size:.78rem}
.sync-details{padding:0}
.sync-details summary{padding:12px 16px}
.sync-details>p,.sync-details>.attendance-controls,.sync-details>.recovery-panel{margin-left:16px;margin-right:16px}
.attendance-toolbar{grid-template-columns:1fr 1fr;gap:10px}
.attendance-toolbar #prev-page{grid-column:1;grid-row:1}
.attendance-toolbar #next-page{grid-column:2;grid-row:1}
.attendance-toolbar #page-info{grid-column:1/-1;grid-row:2}
.returning-visitor,.visitor-names{grid-template-columns:1fr;gap:0}
.returning-visitor button{margin-top:12px;width:100%}
.attendance-heading{align-items:flex-start}
.attendance-controls button{flex:1;min-width:130px}
.attendance-item{padding:12px}
.attendance-person strong{font-size:.95rem}
.attendance-card label.attendance-item{gap:12px}
.attendance-tabs #register-count{margin-left:0}
.readiness{font-size:.75rem}
.attendance-card h2{font-size:1.1rem}
}
@media print{.sidebar,.topbar,.mobile-bottom-nav,.welcome-row,#status,.session-card,.attendance-metrics,#totals,#sync-details,.attendance-tabs,#editor,#visitor-panel,#print{display:none!important}
#register-panel[hidden]{display:block!important}
.main,.content{margin:0!important;padding:0!important}
.attendance-card{border:0;box-shadow:none;padding:0}
#print-info{display:block;font-size:12px;line-height:1.6}
#register button{display:none}
.attendance-item{break-inside:avoid;border:0;border-bottom:1px solid #ccc}
.attendance-panel .attendance-muted{display:none}
}
.session-card>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;list-style:none;min-height:50px}
.session-card>summary::-webkit-details-marker{display:none}
.session-title{min-width:0}
.session-title strong{display:block;font-size:1.1rem;color:#173d32;letter-spacing:-.02em}
#session-selected{display:block;font-size:.85rem;line-height:1.5;color:#4c6057;margin-top:6px;overflow-wrap:anywhere}
.session-state{display:grid;justify-items:end;gap:8px;flex:none}
.session-toggle{font-size:.78rem;color:#225a54;font-weight:650}
.session-toggle::after{content:" ⌄"}
.session-card[open] .session-toggle::after{content:" ⌃"}
@media(max-width:360px){.session-fields{grid-template-columns:1fr}
.session-state .readiness{font-size:.7rem;padding:6px}
.attendance-tabs button{font-size:.8rem}
}
.topbar .attendance-link{margin-left:auto}
@media(max-width:760px){.attendance-content .eyebrow{display:none}
.attendance-content .welcome-row h1{font-size:1.65rem}
.attendance-content .welcome-row .muted{font-size:.85rem}
.session-card{padding:12px 16px}
.attendance-metrics span{min-height:0}
.attendance-tabs{margin-top:14px}
}
.topbar>a:first-child{color:#225a54;text-decoration:none;font-size:.9rem;font-weight:600}
.topbar>a:first-child:hover{text-decoration:underline}
