.report-section{min-width:0;margin-block-start:var(--space-2)}.report-heading,.report-result-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .75rem;display:flex}.report-heading h2{overflow-wrap:anywhere;font-size:1.2rem}.report-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-block:.6rem;display:grid}.report-summary>div{background:#eef7f7;border:1px solid #cfe2e5;border-radius:.8rem;align-content:start;gap:.2rem;min-width:0;padding:.45rem .55rem;display:grid;position:relative}.report-summary dt{color:#3f596a;order:2;font-size:.75rem;line-height:1.35}.report-summary dd{order:1;margin:0;padding-inline-end:1.4rem;font-size:1.4rem;font-weight:780;line-height:1.15}.report-summary .icon{color:#33717b;width:1.15rem;height:1.15rem;position:absolute;inset-block-start:.5rem;inset-inline-end:.55rem}.report-summary .report-summary-valid_meetings{background:#f0f3f8;border-color:#d9e1ed}.report-summary .report-summary-active_warnings{background:#fff6e8;border-color:#eddfc4}.report-summary-active_warnings .icon{color:#876021}.report-tabs{background:#eaf0f3;border-radius:.9rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-block:.6rem;padding:.2rem;display:grid}.report-tabs a{text-align:center;color:#425c6e;border-radius:.65rem;justify-content:center;align-items:center;gap:.35rem;min-height:2.75rem;padding:.35rem .25rem;font-size:.875rem;font-weight:650;display:flex}.report-tabs .icon{width:1.1rem;height:1.1rem}.report-tabs a[aria-current]{color:#fff;background:var(--teal)}.report-filter-panel{border:1px solid var(--line);background:#fff;border-radius:.8rem;margin-block:.55rem}.report-filter-panel>summary,.report-help>summary{cursor:pointer;align-items:center;gap:.5rem;min-height:2.75rem;padding:.4rem .65rem;font-size:.85rem;font-weight:600;list-style:none;display:flex}.report-filter-panel>summary::marker{content:""}.report-card>summary::marker{content:""}.report-help>summary::marker{content:""}.report-filter-panel>summary::-webkit-details-marker{display:none}.report-card>summary::-webkit-details-marker{display:none}.report-help>summary::-webkit-details-marker{display:none}.report-filter-label{flex-shrink:0}.report-filter-period{color:var(--muted);overflow-wrap:anywhere;flex:1;min-width:0;font-size:.78rem;font-weight:400}.report-chevron{color:#527080;flex-shrink:0;width:1rem;height:1rem;transition:transform .15s}details[open]>summary>.report-chevron{transform:rotate(180deg)}.report-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;padding:.2rem .65rem .7rem;display:grid}.report-filters>:first-of-type,.report-filters .member-actions,.report-search{grid-column:1/-1}.report-filters .member-input{background:#f8fafb;padding-inline:.45rem}.report-filters .member-actions{margin:0}.report-result-heading{margin-block:.5rem}.report-result-count{color:var(--muted);font-size:.8rem}.report-result-count b{color:var(--navy);font-size:.9rem}.report-download{gap:.4rem;font-size:.85rem}.report-history-switch{flex-wrap:wrap;gap:.4rem;display:flex}.report-history-switch .button{padding:.4rem .6rem;font-size:.8rem}.report-history-switch a[aria-current]{color:#77530e;background:#fff4df;border-color:#e0c892}.report-cards{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.report-cards>li{min-width:0}.report-card,.report-warning-card{border:1px solid var(--line);background:#fff;border-radius:.9rem;min-width:0}.report-card>summary{cursor:pointer;border-radius:.85rem;grid-template-columns:minmax(0,1fr) auto 1rem;align-items:center;gap:.5rem;min-height:4.6rem;padding:.65rem;list-style:none;display:grid}.report-card>summary:hover{background:#f8fbfc}.report-card[open]{border-color:#a8cbcf}.report-card[open]>summary{border-end-end-radius:0;border-end-start-radius:0}.report-card-name{color:var(--navy);overflow-wrap:anywhere;min-width:0;font-size:.94rem;font-weight:700;line-height:1.4;display:block}.report-card-identity{min-width:0}.report-card-meta{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;margin-block-start:.3rem;display:flex}.report-ratio{color:var(--muted);font-size:.8rem;line-height:1.4}.report-ratio bdi{color:#415869;white-space:nowrap;font-weight:650}.report-rate{white-space:nowrap;border-radius:.7rem;justify-content:center;align-items:center;min-width:4.7rem;padding:.5rem .45rem;font-size:1.2rem;font-weight:780;line-height:1.25;display:inline-flex}.report-rate-high{color:#17675f;background:#e8f6f0}.report-rate-medium{color:#805718;background:#fff4dc}.report-rate-low{color:#964132;background:#fff0eb}.report-rate-neutral{color:#536371;background:#f0f3f5}.report-status{color:#526270;background:#eef2f5;border-radius:.45rem;align-items:center;gap:.3rem;padding:.15rem .4rem;font-size:.75rem;line-height:1.35;display:inline-flex}.report-status:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:.3rem;height:.3rem}.report-status-active{color:#775315;background:#fff3df}.report-card .report-status-active,.report-status-saved,.report-status-resolved{color:#236449;background:#eaf6f0}.report-card-cancelled{background:#fafbfc}.report-card-cancelled .report-card-name{color:#536371}.report-card-content{background:#fbfdfe;border-block-start:1px solid #e3edef;border-end-end-radius:.85rem;border-end-start-radius:.85rem;padding:.75rem}.report-card-context{flex-wrap:wrap;gap:.6rem 1.2rem;margin:0 0 .7rem;display:flex}.report-card-context dt{color:var(--muted);margin-block-end:.15rem;font-size:.75rem}.report-card-context dd{overflow-wrap:anywhere;margin:0;font-size:.85rem}.report-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin:.5rem 0 .65rem;display:grid}.report-stat{background:#edf2f6;border-radius:.65rem;min-width:0;padding:.5rem}.report-stat dt{color:#3f5667;font-size:.75rem;line-height:1.35}.report-stat dd{margin:.2rem 0 0;font-size:1.2rem;font-weight:750;line-height:1.25}.report-stat-P{color:#236449;background:#eaf6f1}.report-stat-A{color:#964132;background:#fff0ed}.report-stat-E{color:#805718;background:#fff6e4}.report-stat-total,.report-stat-roster_count{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.report-stat-total dd,.report-stat-roster_count dd{margin:0;font-size:1rem}.report-card-actions{flex-wrap:wrap;gap:.45rem;display:flex}.report-card-actions .button{gap:.4rem;min-width:0;padding:.4rem .6rem;font-size:.85rem}.report-card-note{color:#536371;margin:.4rem 0 .65rem;font-size:.8rem}.report-warning-card{border-inline-start:3px solid #c69a45;padding:.45rem .65rem .6rem}.report-warning-link{grid-template-columns:minmax(0,1fr) auto 1rem;align-items:center;gap:.4rem;min-height:2.75rem;display:grid}.report-warning-link .icon{width:1rem;height:1rem}.report-warning-meta{color:#526575;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.report-warning-meta>span>bdi{color:var(--navy)}.report-warning-group{color:var(--muted);margin-block-start:.35rem;font-size:.75rem}.report-recovery{color:#31666c;white-space:nowrap;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.report-recovery-dots{gap:.2rem;display:flex}.report-recovery-dots span{background:#fff;border:1px solid #729ba0;border-radius:50%;width:.5rem;height:.5rem}.report-recovery-dots .is-complete{background:#087f8c;border-color:#087f8c}.report-period{color:var(--muted);margin-block:.4rem;font-size:.85rem}.report-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-block:.7rem;display:grid}.report-totals>div{border:1px solid var(--line);background-color:#f1f5f7;border-radius:.75rem;min-width:0;padding:.6rem}.report-totals>.report-stat-P{background-color:#eaf6f1}.report-totals>.report-stat-A{background-color:#fff0ed}.report-totals>.report-stat-E{background-color:#fff6e4}.report-totals dt{color:#3f5667;font-size:.8rem}.report-totals dd{overflow-wrap:anywhere;margin:.25rem 0 0;font-weight:700}.report-totals .report-rate{padding:.2rem .4rem}.report-subheading{margin-block:1rem .5rem;font-size:1rem}.report-list{border:1px solid var(--line);background:#fff;border-radius:.8rem;margin:0;padding:0;list-style:none}.report-list li{border-block-end:1px solid var(--line)}.report-list li:last-child{border:0}.report-list-link{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .7rem;min-height:2.75rem;padding:.55rem .75rem;font-size:.9rem;display:flex}.report-list-link>bdi{overflow-wrap:anywhere;min-width:0}.report-roster .report-list-link>bdi{flex:12rem}.report-list-link>span{color:var(--muted);font-size:.8rem}.report-history-note{margin:0;padding:0 .75rem .55rem}.report-empty{color:var(--muted);text-align:center;background:#eef5f6;border:1px dashed #b7d0d5;border-radius:.8rem;padding:1rem;font-size:.9rem}.report-empty>.icon{color:var(--teal)}.report-empty p{margin:.4rem 0 0}.report-help{color:var(--muted);border-block-start:1px solid var(--line);margin-block:.75rem}.report-help summary{padding-inline:0;font-size:.8rem;font-weight:500}.report-help summary>span{flex:1}.report-help>div{background:#eef4f6;border-radius:.6rem;padding:.25rem .65rem .5rem;font-size:.85rem}.report-help p{margin-block:.4rem}.report-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.report-section :is(summary,a,input,select,button){scroll-margin-block-end:6rem}@media (width>=768px){.report-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.report-filters>:first-of-type,.report-search{grid-column:auto}.report-summary{max-width:43rem}.report-summary>div{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.7rem;padding:.55rem .75rem}.report-summary dd{padding:0;font-size:1.6rem}.report-summary dt{padding-inline-end:1.4rem}.report-summary .icon{inset-block-start:.75rem}.report-tabs{max-width:43rem}.report-card>summary{grid-template-columns:minmax(0,1fr) 6.2rem 1rem;gap:1rem;min-height:3.125rem;padding:.35rem .85rem}.report-card-identity{grid-template-columns:minmax(0,1fr) 14rem;align-items:center;gap:1rem;display:grid}.report-card-meta{justify-content:space-between;margin:0}.report-rate{padding-block:.35rem;font-size:1.15rem}.report-card-content{grid-template-columns:minmax(0,1fr) minmax(20rem,1.3fr);align-items:start;gap:.5rem 1.5rem;padding-inline:.85rem;display:grid}.report-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.report-stat-total,.report-stat-roster_count{grid-column:auto;display:block}.report-stat-total dd,.report-stat-roster_count dd{margin:.2rem 0 0;font-size:1.2rem}.report-card-actions,.report-card-note{grid-column:1/-1}.report-warning-link{grid-template-columns:minmax(0,1fr) auto 1rem}.report-warning-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem 1.5rem;display:grid}.report-warning-meta{gap:1.25rem}.report-warning-group{grid-column:1/-1}.report-totals{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.report-chevron{transition:none}}.workspace-navigation{grid-template-columns:repeat(4,minmax(0,1fr))}.event-section{min-width:0;margin-block-start:.6rem}.event-section h2{overflow-wrap:anywhere;font-size:1.15rem}.event-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.event-progress{text-align:center;color:#17675f;background:#edf7f6;border-radius:.7rem;gap:.1rem;padding:.35rem .45rem;font-size:1.1rem;font-weight:750;display:grid}.event-progress small{max-width:5rem;font-size:.65rem;font-weight:500}.event-group-states{gap:.4rem;margin-block:.5rem;padding:0;list-style:none;display:grid}.event-group-states li{border-block-end:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.35rem .6rem;min-height:2.75rem;padding-block:.3rem;display:flex}.event-group-states li>:first-child{flex:1}.event-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-block:.65rem;display:grid}.event-metrics .report-stat{padding:.4rem}.event-metrics dd{font-size:1.1rem}.event-form{gap:.65rem;max-width:38rem;padding-block:.6rem;display:grid}.event-form label{gap:.25rem;display:grid}.event-section fieldset{border:1px solid var(--line);border-radius:.7rem;min-width:0;padding:.5rem}.event-check{cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:.6rem;min-height:2.75rem;display:flex!important}.event-check input,.event-include input{width:1.4rem;height:1.4rem;accent-color:var(--teal);flex-shrink:0}.event-context{color:var(--muted);margin-block:.3rem;font-size:.85rem}.event-checklist{gap:.3rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.event-checklist li{border:1px solid var(--line);background:#fff;border-radius:.65rem;padding:.25rem .55rem}.event-checklist li:has([data-event-status]:checked){background:#edf8f3;border-color:#93c9bb}.event-checklist .event-check bdi{flex:1;min-width:0;font-size:.94rem}.event-checklist .event-check span{font-size:.75rem}.event-include{align-items:center;gap:.4rem;min-height:2.75rem;font-size:.8rem;display:flex}.event-live{background:#eaf5f4;border-radius:.65rem;gap:1rem;padding:.5rem .65rem;font-size:.85rem;display:flex}.event-live b{font-size:1.1rem}.event-save{border:1px solid var(--line);z-index:2;background:#fffffff5;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:.6rem;padding:.55rem;display:flex;position:sticky;inset-block-end:5rem}.event-save span{font-size:.8rem}.event-save [data-event-feedback]{border:0;flex-basis:100%;margin:0;padding:.25rem;font-size:.8rem}.event-section :is(.event-check bdi,.event-roster bdi,h2 bdi,.report-card-name bdi){white-space:pre-wrap}.event-roster{margin:0;padding:.4rem;list-style:none}.event-roster li{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:2.75rem;padding-block:.4rem;display:flex}.event-roster a{align-items:center;min-height:2.75rem;display:inline-flex}.event-dialog{border:1px solid var(--line);max-width:min(38rem,100% - 1.5rem);max-height:85dvh;color:var(--navy);border-radius:1rem;padding:1rem;overflow:auto}.event-dialog::backdrop{background:#17324b80}.event-dialog bdi{white-space:pre-wrap}.event-audit{white-space:pre-wrap;overflow-wrap:anywhere;padding:.6rem;font-size:.75rem}.event-section [data-event-row]{scroll-margin-block-end:10rem}.event-page .event-save{inset-block-end:calc(var(--event-nav-height) + .5rem)}.event-page .event-section :is(input,select,button,[data-event-row]){scroll-margin-block-end:calc(var(--event-nav-height) + var(--event-save-height) + 1rem)}@media (width<=360px){.event-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-navigation a{font-size:.7rem}}@media (width>=768px){.event-card>summary{min-height:3.7rem}}:root{--motion-fast:.15s;--motion-duration:.2s;--motion-ease:cubic-bezier(.2,.7,.2,1)}@keyframes motion-in{0%{opacity:0}to{opacity:1}}.attendance-app :is(.button,.icon-button,.group-card,.language-switch a,.group-switch-links a,.report-tabs a,summary,.attendance-row,.event-row,.report-status,.report-rate,.report-stat,.report-recovery-dots span){transition:background-color var(--motion-duration) var(--motion-ease), border-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease), box-shadow var(--motion-duration) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease)}.attendance-app .workspace-navigation a{transition:background-color .18s var(--motion-ease)}@media (hover:hover){.attendance-app :is(.button,.icon-button):hover:not(:disabled){box-shadow:0 2px 7px #17324b14}}.attendance-app :is(.button,.icon-button):active:not(:disabled){transform:scale(.985)}.attendance-app input[type=checkbox]{transition:box-shadow var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease)}.attendance-app input[type=checkbox]:active{transform:scale(.95)}.attendance-app input[type=checkbox]:checked{box-shadow:0 0 0 2px #087f8c12}.report-chevron{transition:transform var(--motion-duration) var(--motion-ease)}details[data-motion-expanded=false]>summary>.report-chevron{transform:rotate(0)}details[data-motion-expanded=true]>summary>.report-chevron{transform:rotate(180deg)}.attendance-app [aria-busy=true] .button-primary{opacity:.72}.message,[data-attendance-error]:not([hidden]),[data-event-feedback]:not([hidden]){animation:motion-in var(--motion-duration) var(--motion-ease)}.message-success{padding-inline-end:3.75rem;position:relative}.message-dismiss{background:0 0;border:0;font-size:1.2rem;position:absolute;inset-block-start:.25rem;inset-inline-end:.4rem}dialog[open]{animation:dialog-in var(--motion-duration) var(--motion-ease)}dialog[open]::backdrop{animation:motion-in var(--motion-duration) var(--motion-ease)}@keyframes dialog-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.attendance-app *,.attendance-app :before,.attendance-app :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.calendar-date-control{width:100%;min-width:0;display:inline-block;position:relative}.attendance-app .calendar-date-control>[data-calendar-date]{width:100%;max-width:none;padding-inline-end:2.95rem}.calendar-date-trigger{width:2.75rem;color:var(--teal);border-inline-start:1px solid var(--line);border-radius:0 .65rem .65rem 0;place-items:center;display:grid;position:absolute;inset-block:1px;inset-inline-end:1px}.calendar-date-trigger>[data-calendar-picker]{opacity:0;cursor:pointer;border:0;width:100%;max-width:none;height:100%;min-height:2.75rem;margin:0;padding:0;position:absolute;inset:0}.calendar-date-trigger>[data-calendar-picker]::-webkit-calendar-picker-indicator{cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.calendar-date-trigger:focus-within{outline:2px solid var(--teal);outline-offset:2px}.calendar-date-trigger:has(:disabled){opacity:.5}.calendar-date-trigger[hidden]{display:none}.attendance-date-bar>.calendar-date-control{flex:10rem;width:10.5rem;min-width:9.5rem;max-width:14rem}.attendance-secondary .calendar-date-control{width:12rem;max-width:100%}@media (width<=430px){.report-filters>.field:has(.calendar-date-control){grid-column:1/-1}.report-filters>label:has(.calendar-date-control){grid-column:1/-1}.member-period-row>.field:has(.calendar-date-control){grid-column:1/-1}}:root{--forest:#234e3b;--forest-hover:#193e2e;--ivory:#f7f3e9;--honey:#d4aa58;--sage:#a6b7a3;--sage-light:#e9eee4;--sage-line:#cbd4c3;--warm-surface:#fcfaf4;--soft-elevation:0 3px 12px #234e3b08}.attendance-app{background:linear-gradient(155deg,#faf9f5 0%,#f3f5ef 62%,#eaf0e8 100%)}.attendance-app:is(.home-page,.login-page){background:radial-gradient(at 50% 28%,#a6b7a326,#0000 55%),linear-gradient(155deg,#faf9f5 0%,#f3f5ef 68%,#eaf0e8 100%)}.attendance-app:not(.login-page) :focus-visible{outline-color:var(--forest)}.attendance-app .site-header{background:#faf9f5;border-block-end:1px solid #d8e4d7;flex-shrink:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;width:100%;height:76px;padding:9px 8px;display:grid;position:relative;box-shadow:0 1px 4px #234e3b04}.attendance-app .site-header .brand{max-width:100%;color:var(--forest);justify-self:start;gap:4px}.attendance-app .site-header .brand-mark{background:#fff;border:1px solid #c5d6c3;border-radius:9px;width:56px;height:56px;box-shadow:0 1px 3px #234e3b08}.attendance-app .site-header .brand-mark img{border-radius:8px}.attendance-app .site-header .brand-text{gap:2px;min-width:0}.attendance-app .site-header .brand-text>:is(strong,span){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-app .site-header .brand-text strong{font-size:clamp(.82rem,3.7vw,1rem);font-weight:750;line-height:1.3}.attendance-app .site-header .brand-text>span{color:#596d5e;font-size:.75rem;line-height:1.4}.attendance-app .site-header :focus-visible{outline-color:var(--forest)}.franciscan-tau{visibility:hidden;pointer-events:none;width:28px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.franciscan-tau[data-visible=true]{visibility:visible}.attendance-app .site-header .header-tools{justify-self:end;gap:0}.attendance-app .site-header .language-switch{isolation:isolate;background:0 0;border:0;border-radius:2rem;padding:0;position:relative}.attendance-app .site-header .language-switch:before{content:"";z-index:-1;pointer-events:none;background:#e8efe6;border:1px solid #c5d6c3;border-radius:2rem;position:absolute;inset:7px 2px}.attendance-app .site-header .language-switch a{isolation:isolate;color:#596d5e;letter-spacing:0;background:0 0;border-radius:2rem;width:44px;height:44px;padding:0;font-size:.72rem;font-weight:600;position:relative}.attendance-app .site-header .language-switch a:before{content:"";z-index:-1;pointer-events:none;transition:background-color var(--motion-fast) var(--motion-ease);border-radius:2rem;position:absolute;inset:9px 4px}.attendance-app .site-header .language-switch a[aria-current=true]{color:var(--forest)}.attendance-app .site-header .language-switch a[aria-current=true]:before{background:#faf9f5;box-shadow:0 1px 2px #234e3b0a}.attendance-app .site-header .language-switch a:not([aria-current]):hover{color:var(--forest)}.attendance-app .site-header .language-switch a:not([aria-current]):hover:before{background:#dce7d9}.attendance-app .site-header .logout-button{isolation:isolate;width:44px;height:44px;color:var(--forest);box-shadow:none;background:0 0;border:0;border-radius:9px;gap:0;padding:0;position:relative}.attendance-app .site-header .logout-button:before{content:"";z-index:-1;pointer-events:none;border:1px solid #c5d6c3;border-radius:7px;position:absolute;inset:7px}.attendance-app .site-header .logout-button .icon{width:1rem;height:1rem}.attendance-app .site-header .logout-button>span{display:none}.attendance-app .site-header .logout-button:hover:not(:disabled){box-shadow:none;background:0 0}.attendance-app .site-header .logout-button:hover:not(:disabled):before{background:#e8efe6}@media (width>=400px){.attendance-app .site-header{padding-inline:16px}.attendance-app .site-header .brand{gap:8px}.attendance-app .site-header .header-tools{gap:4px}}@media (width>=640px){.attendance-app .site-header{padding-inline:24px}}.attendance-app:not(.login-page) :is(.group-card,.credential-panel,.workspace-placeholder,.report-filter-panel,.report-list,.attendance-checklist){background-color:var(--warm-surface);border-color:var(--sage-line);box-shadow:var(--soft-elevation)}.attendance-app .report-card:not(.report-card-cancelled){background:var(--warm-surface);border-color:var(--sage-line);box-shadow:var(--soft-elevation)}.attendance-app .report-card:not(.report-card-cancelled)>summary:hover{background:#f3f4eb}.attendance-app .report-card-content{border-block-start-color:var(--sage-line);background:#f9f8f0}.attendance-app :is(.workspace-heading h1,.section-heading h2,.report-heading h2,.settings-heading h1){color:var(--forest);position:relative}.attendance-app :is(.workspace-heading h1,.section-heading h2,.report-heading h2,.settings-heading h1):after{content:"";background:var(--honey);pointer-events:none;width:1.6rem;height:1px;position:absolute;inset-block-end:-.25rem;inset-inline-start:0}.attendance-app:not(.login-page) .button-primary{color:#fff;background:var(--forest);box-shadow:0 2px 6px #234e3b0a}.attendance-app:not(.login-page) .button-primary:hover:not(:disabled){background:var(--forest-hover);box-shadow:0 0 0 2px #d4aa5824}.attendance-app:not(.login-page) .button-primary:focus-visible{box-shadow:0 0 0 3px #d4aa5833}.attendance-app:not(.login-page) .button-outline:not(.attendance-excused[aria-pressed=true]){background:var(--ivory);border-color:var(--sage);color:var(--forest)}.attendance-app:not(.login-page) .button-outline:not(.attendance-excused[aria-pressed=true]):hover:not(:disabled){background:var(--sage-light)}.attendance-app:not(.login-page) .member-input:not([aria-invalid=true]){background:var(--ivory);border-color:var(--sage)}.attendance-app:not(.login-page) .password-field:not(:has(input[aria-invalid=true])){background:var(--ivory);border-color:var(--sage)}.attendance-app:not(.login-page) .password-field:focus-within{border-color:var(--forest);box-shadow:0 0 0 3px #234e3b16}.attendance-app .report-tabs{background:#edf0e7}.attendance-app .report-tabs a{color:#4e6254}.attendance-app :is(.report-tabs a[aria-current],.group-switch-links a[aria-current=true]){color:var(--forest);border-color:var(--sage);background:#dee8d8}.attendance-app .group-switch-links a:not([aria-current]){background:var(--warm-surface);border-color:var(--sage-line)}.attendance-app .workspace-navigation{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f3e9f5;border:1px solid #c2cdb9;border-radius:1rem;padding:.25rem .5rem;inset-block-end:calc(.5rem + env(safe-area-inset-bottom));inset-inline:.5rem;box-shadow:0 3px 16px #234e3b0d}.attendance-app .workspace-navigation a{color:#506250}.attendance-app .workspace-navigation a[aria-current=page]{color:var(--forest);background:#dee8d8}.workspace-page:not(.attendance-page){padding-block-end:calc(5.5rem + env(safe-area-inset-bottom))}.attendance-app.workspace-page:not(.attendance-page):not(.event-page) :is(input,select,button,summary,a){scroll-margin-block-end:calc(5.5rem + env(safe-area-inset-bottom))}.attendance-app :is(.attendance-save-bar,.event-save){background:var(--warm-surface);border-color:var(--sage-line);box-shadow:var(--soft-elevation)}.franciscan-cord{inset-block-end:calc(.25px + env(safe-area-inset-bottom));pointer-events:none;z-index:1;opacity:.8;width:min(70vw,30rem);height:auto;position:fixed;left:50%;transform:translate(-50%)}@media (width<=430px){.franciscan-cord{display:none}}@media (width>=900px){.attendance-app .workspace-navigation{padding:.25rem;inset-inline:max(1.5rem,50% - 36.5rem)}}.attendance-app .message-success{background:var(--forest);width:fit-content;max-width:100%;min-height:3.1rem;color:var(--ivory);border-color:var(--forest);border-radius:1.6rem;margin-inline:auto;padding-inline:2rem 3.75rem;animation-name:dialog-in;box-shadow:0 3px 12px #234e3b16}.attendance-app .message-success:before{content:"";border:solid var(--honey);border-width:0 2px 2px 0;width:.35rem;height:.6rem;position:absolute;inset-block-start:1.1rem;inset-inline-start:.8rem;transform:rotate(45deg)}.attendance-app .message-success .message-dismiss{color:var(--ivory);background:0 0;border:0}.attendance-app .message-success .message-dismiss:hover{background:#ffffff12}.attendance-app .message-success .message-dismiss:focus-visible{outline-color:var(--honey);outline-offset:0}.attendance-app :is(.attendance-confirm-dialog,.event-dialog){background:var(--ivory);border-color:var(--sage);box-shadow:0 12px 36px #17324b1a}.attendance-app :is(.attendance-confirm-dialog,.event-dialog) h2{color:var(--forest)}.attendance-app .report-empty{position:relative}.attendance-app .report-empty:after{content:"";opacity:.18;pointer-events:none;background:url(/build/assets/franciscan-olive-BoJylZt6.svg) 50%/contain no-repeat;width:1.5rem;height:.8rem;position:absolute;inset-block-end:.1rem;inset-inline-end:.35rem}html[dir=rtl] .report-empty:after{transform:scaleX(-1)}.attendance-app .page-content{position:relative}.franciscan-margin-art,.franciscan-rest-ornament{pointer-events:none;-webkit-user-select:none;user-select:none;display:none}.franciscan-margin-art{position:absolute;inset:0}.franciscan-margin-art__olive{opacity:.32;width:44px;height:auto;position:absolute;inset-block-start:8rem;inset-inline-start:-3.5rem}.franciscan-margin-art__tau{opacity:.5;justify-items:center;gap:.6rem;width:44px;display:grid;position:absolute;inset-block-start:19rem;inset-inline-end:-3.5rem}.franciscan-margin-art__tau img:first-child{width:26px;height:auto}.franciscan-margin-art__tau img:last-child{opacity:.7;width:40px;height:auto}html[dir=rtl] .franciscan-margin-art__olive,html[dir=rtl] .franciscan-margin-art__tau img:last-child,html[dir=rtl] .franciscan-rest-ornament img:not(:nth-child(2)){transform:scaleX(-1)}@media (width>=1344px){.franciscan-margin-art{display:block}}@media (width>=768px){.login-page .franciscan-margin-art{display:block}}@media (height>=800px){.franciscan-rest-ornament{justify-content:center;align-items:center;gap:.6rem;width:fit-content;margin:2.5rem auto 0;display:flex}.franciscan-rest-ornament img{opacity:.38;width:36px;height:auto}.franciscan-rest-ornament img:nth-child(2){opacity:.65;width:22px}}.attendance-app [aria-busy=true] .button-primary,.attendance-app [aria-busy=true]>button[type=submit],.attendance-app [aria-busy=true] .logout-button{position:relative}.attendance-app [aria-busy=true] .button-primary:after,.attendance-app [aria-busy=true]>button[type=submit]:after,.attendance-app [aria-busy=true] .logout-button:after{content:"";inset-block-end:1px;pointer-events:none;background-image:radial-gradient(circle,currentColor 1.2px,#0000 1.5px),radial-gradient(circle,currentColor 1.2px,#0000 1.5px),radial-gradient(circle,currentColor 1.2px,#0000 1.5px);background-position:0 65%,50% 65%,100% 65%;background-repeat:no-repeat;background-size:3px 3px;width:1rem;height:.45rem;animation:1s ease-in-out infinite flowing-dots;position:absolute;left:50%;transform:translate(-50%)}@keyframes flowing-dots{0%,70%,to{opacity:.75;background-position:0 65%,50% 65%,100% 65%}20%{opacity:1;background-position:0 15%,50% 65%,100% 65%}35%{opacity:1;background-position:0 65%,50% 15%,100% 65%}50%{opacity:1;background-position:0 65%,50% 65%,100% 15%}}@media (prefers-reduced-transparency:reduce){.attendance-app .workspace-navigation{background:var(--ivory);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.attendance-app [aria-busy=true] button:after{animation:none}}.meeting-calendar{max-width:32rem;margin-block-end:.5rem}.meeting-date-toggle{color:#234e3b;text-align:start;width:100%;min-height:76px;font:inherit;cursor:pointer;background:#faf9f5;border:1px solid #c5d6c3;border-radius:.9rem;align-items:center;gap:.75rem;padding:.65rem .8rem;display:flex;box-shadow:0 2px 6px #234e3b07}.meeting-calendar-icon{background:#e8efe6;border-radius:.65rem;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.meeting-calendar-icon .icon{width:22px;height:22px}.meeting-date-copy{flex:1;gap:.15rem;min-width:0;display:grid}.meeting-date-caption{text-transform:uppercase;flex-wrap:wrap;gap:.2rem .35rem;font-size:.69rem;font-weight:650;line-height:1.5;display:flex}[data-selected-weekday]:not(:empty):after{content:" ·"}[data-selected-date]{font-size:1.2rem;font-weight:700}.meeting-date-chevron{transition:transform .15s var(--motion-ease);font-size:1.3rem}[aria-expanded=true]>.meeting-date-chevron{transform:rotate(180deg)}.meeting-calendar-panel{animation:motion-in .15s var(--motion-ease);background:#faf9f5;border:1px solid #c5d6c3;border-radius:.9rem;margin-block:.45rem;padding:.6rem;box-shadow:0 2px 6px #234e3b05}.meeting-calendar-header{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;display:grid}.meeting-calendar :is(.meeting-calendar-arrow,.meeting-month-title,.meeting-day,.meeting-month){color:#234e3b;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.65rem;min-height:44px}.meeting-calendar-arrow{width:44px;font-size:1.65rem!important}[dir=rtl] .meeting-calendar-arrow span{display:inline-block;transform:rotate(180deg)}.meeting-month-title{min-width:0;padding-inline:.1rem;font-weight:700!important}.meeting-calendar :is(button,a):focus-visible{outline-offset:2px;outline:2px solid #234e3b}.meeting-calendar :is(.meeting-day,.meeting-month):hover{border-color:#c5d6c3}.meeting-weekdays,.meeting-day-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.meeting-weekdays{text-align:center;color:#596d5e;font-size:.71rem;line-height:2rem}.meeting-calendar .meeting-day{place-content:center;gap:2px;min-width:0;padding:3px 0 9px;font-size:.88rem;display:grid;position:relative}.meeting-dot{background:#d4aa58;border-radius:50%;width:5px;height:5px;display:inline-block}.meeting-day .meeting-dot,.meeting-day .meeting-cancel-mark{position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.meeting-cancel-mark{color:#935551;font-size:.8rem;font-weight:650;line-height:.8rem}.meeting-calendar .meeting-day.is-today{border-color:#92b49b}.meeting-calendar .meeting-day.is-cancelled{color:#935551;background:#f8e9e5;border-color:#efd5d0}.meeting-calendar .meeting-day.is-today.is-cancelled:not(.is-selected){box-shadow:inset 0 0 0 1px #92b49b}.meeting-calendar .meeting-day.is-selected{color:#fff;background:#234e3b;border-color:#234e3b}.meeting-calendar .meeting-day.is-selected .meeting-cancel-mark{color:#fff}.meeting-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;display:grid}.meeting-calendar .meeting-month{min-width:0;padding:.5rem .15rem;font-size:.82rem}.meeting-calendar .meeting-month[aria-pressed=true]{color:#fff;background:#234e3b}.meeting-calendar-legend{color:#596d5e;flex-wrap:wrap;gap:.2rem .65rem;margin-block-start:.6rem;font-size:.7rem;display:flex}.meeting-calendar-legend>span{align-items:center;gap:.25rem;display:inline-flex}.meeting-today-key{border:1px solid #92b49b;border-radius:50%;width:10px;height:10px}[data-calendar-status]{margin-block:.1rem;font-size:.8rem}[data-calendar-status]:empty,[data-reason-status]:empty{display:none}.meeting-empty-card{background:#f3f5ef;border:1px solid #c5d6c3;border-radius:.7rem;margin-block-start:.65rem;padding:.65rem;font-size:.85rem}.meeting-empty-card bdi{margin-block:.25rem;display:block}.meeting-empty-card p{margin-block:.3rem .6rem}.attendance-app .meeting-cancellation-dialog{color:#234e3b;background:#faf9f5;border-color:#c5d6c3}.meeting-cancellation-symbol{color:#935551;background:#f8e9e5;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.6rem;display:grid}.meeting-reason-text{white-space:pre-wrap;overflow-wrap:anywhere}.meeting-cancellation-dialog textarea{resize:vertical;max-height:35dvh}.meeting-calendar [hidden],.meeting-cancellation-dialog [hidden]{display:none!important}@media (prefers-reduced-motion:reduce){.meeting-date-chevron,.meeting-calendar-panel{transition:none;animation:none}}:root{color:#17324b;font-synthesis:none;--navy:#17324b;--teal:#087f8c;--gold:#b38632;--muted:#5b6d7a;--line:#dce5e9;--paper:#f6f8fa;--radius:1.25rem;--space-1:.375rem;--space-2:.625rem;--space-3:.875rem;--space-4:1.125rem;--space-5:1.5rem;background:#f6f8fa;font-family:system-ui,-apple-system,Segoe UI,Tahoma,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--teal)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}input,button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}[hidden]{display:none!important}.icon{vertical-align:middle;flex-shrink:0}html[dir=rtl] .directional{transform:scaleX(-1)}.foundation{padding:1.5rem}.foundation main{background:#fff;border-radius:1rem;max-width:38rem;margin:8vh auto;padding:2rem}.foundation h1{font-size:clamp(1.6rem,5vw,2.2rem)}.foundation p{line-height:1.6}.foundation a{padding-block:.75rem;display:inline-block}.foundation strong{color:var(--teal)}.attendance-app{flex-direction:column;min-height:100dvh;display:flex}.attendance-app p{line-height:1.6}.attendance-app h1,.attendance-app h2,.attendance-app h3{text-wrap:balance;margin:0;line-height:1.3}.attendance-app a{text-decoration:none}.attendance-app button,.attendance-app input{font-size:1rem}.skip-link{z-index:10;border:2px solid var(--teal);background:#fff;border-radius:.5rem;padding:1rem;position:fixed;inset-block-start:-6rem;inset-inline-start:1rem}.skip-link:focus{inset-block-start:.75rem}.site-header{justify-content:space-between;align-items:center;gap:var(--space-2);width:min(100%,80rem);padding:var(--space-2) 1rem;margin-inline:auto;display:flex}.brand{min-width:0;min-height:2.75rem;color:var(--navy);align-items:center;gap:.65rem;display:flex}.brand-mark{flex-shrink:0;width:2.25rem;height:2.25rem;display:block}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand-text{flex-direction:column;gap:.15rem;display:flex}.brand-text strong{font-size:.92rem;font-weight:750;line-height:1.35}.brand-text>span{color:var(--muted);font-size:.75rem}.header-tools{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.language-switch{border:1px solid var(--line);background:#fff;border-radius:.7rem;padding:.125rem;display:flex}.language-switch a{min-width:2.75rem;min-height:2.75rem;color:var(--muted);border-radius:.5rem;justify-content:center;align-items:center;padding-inline:.5rem;font-size:.8rem;font-weight:650;display:flex}.language-switch a[aria-current=true]{color:var(--navy);background:#edf3f5}.icon-button{border:1px solid var(--line);min-width:2.75rem;min-height:2.75rem;color:var(--navy);background:#fff;border-radius:.7rem;justify-content:center;align-items:center;gap:.45rem;padding:.6rem;display:inline-flex}.logout-form{margin:0}.logout-button>span{display:none}.logout-button .icon{width:1.2rem;height:1.2rem}.page-content{width:min(100%,76rem);padding:var(--space-3) 1rem var(--space-4);outline:none;flex:1;margin-inline:auto}.home-intro{max-width:44rem;margin:.125rem auto var(--space-4);text-align:center}.home-logo-surround{isolation:isolate;width:min(100%,16rem);margin:0 auto var(--space-2);place-items:center;display:grid;position:relative}.home-logo-surround:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#b3863214 0%,#b3863208 48%,#0000 72%);border-radius:50%;position:absolute;inset:-.25rem 1rem}.home-logo{width:clamp(7rem,18vw,9.5rem);display:block}.home-logo img{width:100%;height:auto;display:block}.logo-sprig{width:clamp(1.5rem,4vw,2.25rem);height:auto;color:var(--gold);opacity:.6;pointer-events:none;position:absolute;top:34%}.logo-sprig-start{left:0;transform:rotate(-12deg)}.logo-sprig-end{right:0;transform:scaleX(-1)rotate(-12deg)}.eyebrow{color:var(--teal);letter-spacing:.03em;margin-block-end:var(--space-1);font-size:.8rem;font-weight:700;display:block}.home-intro h1{letter-spacing:-.025em;font-size:clamp(1.4rem,4.5vw,2rem)}html[dir=rtl] .home-intro h1{letter-spacing:0}.home-intro>p{color:var(--muted);margin:.85rem 0 0;font-size:1rem}.session-label,.scope-label{color:var(--teal);align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:inline-flex}.session-label{background:#e9f5f4;border:1px solid #cee7e5;border-radius:2rem;margin-block-start:1rem;padding:.5rem .8rem}.session-label .icon,.scope-label .icon{width:1.1rem;height:1.1rem}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-block-end:var(--space-2);display:flex}.section-heading h2{font-size:1.05rem}.section-heading>span{color:var(--muted);text-align:end;font-size:.75rem}.group-grid{gap:var(--space-2);display:grid}.group-card{--group-accent:var(--teal);--group-soft:#e8f4f3;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(0,1fr) auto;display:grid;box-shadow:0 3px 8px #17324b03}.group-card-heading{align-items:center;gap:var(--space-2);min-width:0;display:flex}.group-secondary,.login-card.group-secondary{--group-accent:#346e9a;--group-soft:#edf3fa}.group-preparatory,.login-card.group-preparatory{--group-accent:#886726;--group-soft:#faf4e7}.group-card-top{justify-content:space-between;align-items:center;margin-block-end:1.1rem;display:flex}.group-icon,.admin-icon{width:2.5rem;height:2.5rem;color:var(--group-accent);background:var(--group-soft);border-radius:.9rem;flex-shrink:0;place-items:center;display:grid}.group-icon .icon{width:1.55rem;height:1.55rem}.group-number{color:#8799a5;letter-spacing:.12em;font-size:.75rem;font-weight:600}.group-card h3{font-size:1.05rem}.group-card p{color:var(--muted);margin:.55rem 0 1.1rem;font-size:.85rem}.group-card-link{min-width:2.75rem;min-height:2.75rem;color:var(--group-accent);justify-content:center;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.group-card-link .icon{width:1.1rem;height:1.1rem}.group-unavailable{background:#fcfdfe}.unavailable-label{color:var(--muted);justify-content:flex-start;font-size:.78rem;font-weight:400}.admin-card{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:#eef3f6;border:1px solid #d4e0e6;margin-block-start:var(--space-3);display:flex}.admin-icon{color:var(--navy);background:#dce7ed;width:2.75rem;height:2.75rem}.admin-card>div{flex:1;min-width:0}.admin-card h2{font-size:1rem}.admin-card p{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.admin-card .button{flex-shrink:0}.button{text-align:center;border:1px solid #0000;border-radius:.7rem;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.6rem .875rem;font-weight:650;line-height:1.4;display:inline-flex}.button .icon{width:1.15rem;height:1.15rem}.button-primary{background:var(--teal);color:#fff;box-shadow:0 4px 8px #087f8c12}.button-primary:hover{background:#076a75}.button-outline{color:var(--navy);background:#fff;border-color:#bdcdd7;font-size:.85rem}.button-outline:hover{background:#f7fafc}.button-full{width:100%}.button[disabled]{opacity:.7}.back-link{min-height:2.75rem;color:var(--muted);align-items:center;gap:.5rem;padding-block:.5rem;font-size:.85rem;font-weight:600;display:inline-flex}.back-link .icon{width:1.1rem;height:1.1rem}.login-page .page-content{max-width:31rem;padding-block-start:.25rem}.login-card{--group-accent:var(--teal);--group-soft:#e8f4f3;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);text-align:start;background:#fff;margin-block-start:var(--space-1)}.login-heading-row{align-items:center;gap:var(--space-3);margin-block-end:var(--space-4);display:flex}.login-symbol{background:var(--group-soft);width:2.75rem;height:2.75rem;color:var(--group-accent);border-radius:1.1rem;flex-shrink:0;place-items:center;display:grid}.login-symbol .icon{width:1.9rem;height:1.9rem}.admin-login{--group-accent:var(--navy);--group-soft:#e9eff3}.login-card .eyebrow{margin-block-end:.45rem}.login-card h1{font-size:1.4rem}.login-intro{color:var(--muted);margin:.85rem 0 1.6rem;font-size:.92rem}.password-form{gap:var(--space-3);display:grid}.field{min-width:0}.field label{margin-block-end:var(--space-1);font-size:.9rem;font-weight:650;display:block}.password-field{background:#fff;border:1px solid #b7c7d1;border-radius:.7rem;align-items:stretch;display:flex}.password-field:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #087f8c18}.password-field:has(input[aria-invalid=true]){border-color:#b53636}.password-field input{width:100%;min-width:0;min-height:2.875rem;color:var(--navy);background:0 0;border:0;border-radius:.7rem;outline:none;padding:.65rem .75rem}.password-field input:focus-visible{outline:none}.password-toggle{min-width:2.75rem;min-height:2.75rem;color:var(--muted);background:0 0;border:0;border-radius:.5rem;place-items:center;display:grid}.password-toggle:hover{background:var(--paper)}.password-toggle[aria-pressed=true]{color:var(--teal);background:#edf7f6}.field-hint{color:var(--muted);margin:.6rem 0 0;font-size:.78rem}.security-caption{margin:var(--space-3) 0 0;border-block-start:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:.4rem;padding-block-start:var(--space-3);font-size:.75rem;display:flex}.security-caption .icon{width:1rem;height:1rem;margin-block-start:.2rem}.message{padding:var(--space-3);overflow-wrap:anywhere;border:1px solid;border-radius:.8rem;margin-block-end:var(--space-3);font-size:.87rem}.message p{margin:.35rem 0 0}.message p:first-child{margin:0}.message strong{font-size:.92rem}.message-error{color:#862f32;background:#fff4f3;border-color:#efc7c6}.message-success{color:#236649;background:#eaf7f2;border-color:#b7dfce}.message-notice{color:#345e77;background:#eef5f8;border-color:#cddfe9}.message-notice p{align-items:flex-start;gap:.6rem;display:flex}.message-notice .icon{width:1.3rem;height:1.3rem;margin-block-start:.15rem}.workspace-page{padding-block-end:calc(5rem + env(safe-area-inset-bottom))}.workspace-page .page-content{padding-block-start:var(--space-1)}.workspace-heading{align-items:flex-start;gap:var(--space-1);border-block-end:1px solid var(--line);flex-direction:column;padding-block-end:var(--space-2);display:flex}.workspace-heading .eyebrow{margin-block-end:.5rem}.workspace-heading h1{font-size:clamp(1.125rem,3vw,1.5rem)}.admin-workspace-tools{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-3);padding-block:var(--space-1);border-block-end:1px solid var(--line);flex-wrap:wrap;display:flex}.settings-link{align-items:center;gap:.4rem;min-height:2.75rem;font-size:.82rem;font-weight:600;display:inline-flex}.settings-link .icon{width:1.1rem;height:1.1rem}.group-switch-links{flex-wrap:wrap;align-items:center;gap:.3rem;width:100%;display:flex}.group-switch-links>span{width:100%;color:var(--muted);margin-block-end:.25rem;font-size:.75rem}.group-switch-links a{border:1px solid var(--line);min-height:2.75rem;color:var(--muted);background:#fff;border-radius:.6rem;align-items:center;padding:.6rem .7rem;font-size:.75rem;font-weight:600;display:inline-flex}.group-switch-links a[aria-current=true]{color:var(--teal);background:#eaf5f4;border-color:#b3d9d8}.workspace-placeholder{gap:var(--space-2);text-align:start;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-block-start:var(--space-3);display:grid}.placeholder-icon{width:2.75rem;height:2.75rem;color:var(--teal);background:#eaf5f4;border-radius:1rem;place-items:center;display:grid}.placeholder-icon .icon{width:2rem;height:2rem}.phase-badge{color:#795f28;background:#fbf5e8;border:1px solid #e9dcb9;border-radius:2rem;padding:.25rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}.workspace-placeholder h2{font-size:1.2rem}.workspace-placeholder>p{color:var(--muted);margin:0;font-size:.9rem}.workspace-shell-heading{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.placeholder-note{background:var(--paper);color:var(--muted);border-radius:.7rem;align-items:flex-start;gap:.5rem;padding:.8rem 1rem;font-size:.76rem;line-height:1.6;display:flex}.placeholder-note .icon{width:1rem;height:1rem;margin-block-start:.15rem}.workspace-navigation{border-block-start:1px solid var(--line);padding:.25rem .5rem calc(.25rem + env(safe-area-inset-bottom));z-index:3;background:#fffffffa;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;inset-block-end:0;inset-inline:0}.workspace-navigation a{min-height:2.875rem;color:var(--muted);border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.25rem;font-size:.75rem;font-weight:600;display:flex}.workspace-navigation .icon{width:1.3rem;height:1.3rem}.workspace-navigation a[aria-current=page]{color:var(--teal);background:#eaf5f4}.settings-heading{margin-block:.25rem var(--space-3);max-width:45rem}.settings-heading h1{font-size:clamp(1.4rem,4vw,1.75rem)}.settings-heading p{color:var(--muted);font-size:.95rem}.password-settings{gap:var(--space-2);align-items:start;display:grid}.credential-panel{border:1px solid var(--line);background:#fff;border-radius:1rem}.credential-panel summary{align-items:center;gap:var(--space-2);padding:.75rem var(--space-3);cursor:pointer;min-height:3.75rem;list-style:none;display:flex}.credential-panel summary::-webkit-details-marker{display:none}.credential-icon{color:var(--teal);background:#eaf5f4;border-radius:.75rem;flex-shrink:0;place-items:center;width:2.6rem;height:2.6rem;display:grid}.credential-panel summary strong{font-size:1rem;display:block}.summary-caption{color:var(--muted);margin-block-start:.25rem;font-size:.78rem;display:block}.details-chevron{color:var(--muted);margin-inline-start:auto;font-size:1.35rem}.credential-panel[open] .details-chevron{transform:rotate(45deg)}.credential-form-content{padding:0 var(--space-3) var(--space-3)}.credential-form-content .password-form{max-width:35rem}.credential-form-content .button{width:100%}.admin-rotation-note{color:#86602f;border-block-start:1px solid var(--line);margin:0 0 1.25rem;padding-block-start:1rem;font-size:.85rem}.site-footer{text-align:center;color:#667b89;padding:var(--space-2) 1rem var(--space-3)}.site-footer p{margin:0 0 .3rem;font-size:.75rem;font-weight:600}.site-footer>span{font-size:.7rem}.session-screen{display:none}.attendance-app[data-session-checking=true] .page-content,.attendance-app[data-session-checking=true] .workspace-navigation{visibility:hidden}.attendance-app[data-session-checking=true] .session-screen{z-index:8;background:var(--paper);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex;position:fixed;inset:0}.session-spinner{border:3px solid #d3e6e6;border-block-start-color:var(--teal);border-radius:50%;width:2rem;height:2rem;animation:1s linear infinite session-spin;display:block}@keyframes session-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.session-spinner{animation:none}}@media (width<=359px){.site-header{gap:.4rem;padding:.5rem .75rem}.brand-mark{width:2rem;height:2rem}.brand-text strong{font-size:.77rem}.brand-text>span{font-size:.68rem}.brand{gap:.45rem}.header-tools{gap:.3rem}.language-switch a{min-width:2.75rem;padding-inline:.25rem;font-size:.72rem}.page-content{padding-inline:1rem}}@media (width>=640px){.site-header{padding:var(--space-2) 1.5rem}.brand-mark{width:2.5rem;height:2.5rem}.brand-text strong{font-size:1rem}.header-tools{gap:.7rem}.logout-button>span{font-size:.8rem;display:inline}.page-content{padding-inline:1.5rem}.home-intro{margin-block:.25rem var(--space-5)}.group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.group-card{padding:var(--space-3)}.group-card h3{font-size:1.05rem}.admin-card{gap:var(--space-3);padding:var(--space-3)}.admin-card .button{width:auto}.login-page .page-content{padding-block-start:var(--space-2)}.login-card{padding:var(--space-5)}.workspace-heading{flex-direction:row;justify-content:space-between;align-items:center}.workspace-placeholder{padding:var(--space-4)}.credential-panel summary{padding:.75rem var(--space-3)}.credential-form-content{padding:0 var(--space-3) var(--space-3)}.credential-form-content .button{justify-self:start;width:auto}}@media (width>=900px){.group-card{padding:var(--space-4)}.group-card h3{font-size:1.1rem}.workspace-navigation{border:1px solid var(--line);border-radius:1rem;padding:.25rem;inset-block-end:.5rem;inset-inline:max(1.5rem,50% - 36.5rem);box-shadow:0 8px 24px #17324b08}.workspace-navigation a{flex-direction:row;gap:.5rem}.password-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.group-switch-links{width:auto}.group-switch-links>span{width:auto;margin:0}}.member-section,.member-panel{margin-block-start:var(--space-3)}.member-panel{padding:var(--space-4)}.member-panel h2{font-size:1.2rem}.member-panel .password-form{margin-block-start:var(--space-3)}.member-toolbar{align-items:center;gap:.2rem var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.member-toolbar .section-heading{display:contents}.member-toolbar h2{grid-column:1}.member-toolbar .button{grid-area:1/2/span 2}.member-counts{grid-column:1;margin:0}.member-search{align-items:end;gap:var(--space-2);margin-block:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.member-search .field:first-child{grid-column:1/-1}.member-input{width:100%;min-width:0;min-height:2.875rem;color:var(--navy);font:inherit;background:#fff;border:1px solid #b7c7d1;border-radius:.7rem;padding:.65rem .75rem;display:block}.member-list{gap:var(--space-2);display:grid}.member-row{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.member-row>div:first-child{flex:12rem;min-width:0}.member-name{overflow-wrap:anywhere;white-space:pre-wrap}a.member-name{align-items:center;min-height:2.75rem;padding-block:.375rem;font-weight:650;display:inline-flex}.member-row .member-actions{margin:0}.member-identity{flex-wrap:wrap;align-items:center;gap:.2rem .65rem;display:flex}.member-identity .summary-caption{margin:0}.member-actions{margin-block:var(--space-2);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.member-confirm{align-items:center;gap:.7rem;min-height:2.75rem;line-height:1.6;display:flex}.member-confirm input{flex-shrink:0;width:1.2rem;height:1.2rem}.membership-periods{margin-block:var(--space-2);padding-inline-start:1.3rem;line-height:1.75}.member-period-row{gap:var(--space-2);padding-block:var(--space-2);border-block-end:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.member-period-row .member-input{padding-inline:.4rem}.member-period-row>button{grid-column:1/-1;justify-self:start}.member-status{margin-block:var(--space-2);color:var(--muted)}.member-form-panel{max-width:38rem}.member-profile-grid{gap:var(--space-3);margin-block-start:var(--space-3);display:grid}.member-profile-grid .member-panel{margin:0}.workspace-page :is(input,select,button){scroll-margin-block:5rem}html{scroll-padding-block-end:calc(5rem + env(safe-area-inset-bottom))}.button,.icon-button,.group-card-link,.language-switch a{transition:background-color .12s,box-shadow .12s}.button:active,.icon-button:active,.group-card-link:active{box-shadow:inset 0 0 0 2px #17324b18}@media (width>=640px){.member-search{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto}.member-search .field:first-child{grid-column:auto}.member-toolbar{grid-template-columns:auto minmax(0,1fr) auto}.member-counts{grid-area:1/2;justify-self:start}.member-toolbar .button{grid-area:1/3}.member-period-row{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.member-period-row>button{grid-column:auto}}@media (width>=900px){.member-profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}}@media (prefers-reduced-motion:reduce){.button,.icon-button,.group-card-link,.language-switch a{transition:none}}.attendance-page{--attendance-nav-height:4.5rem;--attendance-save-height:4rem;padding-block-end:calc(var(--attendance-nav-height) + var(--attendance-save-height) + 1rem)}.attendance-section{margin-block-start:var(--space-2)}.attendance-date-bar{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;display:flex}.attendance-date-bar label{font-size:.85rem;font-weight:650}.attendance-date-bar input{flex:10rem;width:10.5rem;max-width:14rem;padding-inline:.4rem}.attendance-summary{flex-wrap:wrap;gap:.35rem 1rem;padding-block:.5rem;font-size:.85rem;display:flex}.attendance-summary>span:first-child{color:var(--muted)}.attendance-checklist{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%}.attendance-row{border-block-end:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.2rem .5rem;padding:.3rem .6rem;display:grid}.attendance-row:last-child{border:0}.attendance-mark{cursor:pointer;align-items:center;gap:.7rem;min-width:0;min-height:2.75rem;display:flex}.attendance-mark input{width:1.5rem;height:1.5rem;accent-color:var(--teal);flex-shrink:0}.attendance-name{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.95rem;line-height:1.45}.attendance-status{color:var(--muted);font-size:.8rem}.attendance-row[data-status=P] .attendance-status{color:#236649;font-weight:650}.attendance-row[data-status=E] .attendance-excused{border-color:var(--gold);background:#faf4e7}.attendance-excused{padding-inline:.55rem;font-size:.8rem}.attendance-save-bar{z-index:2;border:1px solid var(--line);background:#fff;border-radius:.8rem;align-items:center;gap:.5rem;padding:.5rem;display:flex;position:fixed;inset-block-end:calc(var(--attendance-nav-height) + .35rem);inset-inline:max(1rem,50% - 36.5rem);box-shadow:0 4px 12px #17324b10}.attendance-save-bar>.button-primary{flex:1}.attendance-secondary{align-items:start}.attendance-secondary .member-input{width:12rem;max-width:100%}.attendance-recent ul{margin:0;padding-inline-start:1.3rem}.attendance-confirm-dialog{width:min(36rem,100% - 2rem);max-height:calc(100dvh - 2rem);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);color:var(--navy)}.attendance-confirm-dialog::backdrop{background:#17324b66}.attendance-confirm-dialog p,.attendance-confirm-dialog li{overflow-wrap:anywhere}.attendance-confirm-dialog [hidden]{display:none}.roster-correction-row{grid-template-columns:minmax(0,1fr) minmax(7rem,auto)}.roster-correction-row select{max-width:12rem}.message-info{color:#345e77;background:#eef5f8;border-color:#cddfe9;margin-block:.5rem}.attendance-page :is(input,select,button,.attendance-row){scroll-margin-block-end:calc(var(--attendance-nav-height) + var(--attendance-save-height) + 1rem)}.attendance-page [data-attendance-error]{margin-block:.5rem}@media (width<=430px){.attendance-row{grid-template-columns:minmax(0,1fr) auto}.attendance-status{grid-column:1;margin-block-start:-.35rem;padding-inline-start:2.2rem}.attendance-excused{grid-area:1/2/span 2}.roster-correction-row{grid-template-columns:minmax(0,1fr) minmax(6.5rem,auto)}.attendance-save-bar{gap:.3rem;padding:.35rem}.attendance-save-bar .button{padding-inline:.5rem;font-size:.85rem}}
