.Button_button__hMNEn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:600;font-family:var(--font-ui);border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-standard);border:1px solid transparent}.Button_button__hMNEn:disabled{cursor:not-allowed;opacity:.5}.Button_sm__h9eWB{height:32px;padding:0 12px;font-size:13px}.Button_md__exKk_{height:var(--control-height);padding:0 16px;font-size:14px}.Button_lg__PdjsY{height:var(--touch-target-min);padding:0 20px;font-size:15px}.Button_primary__oSpWt{background:var(--color-primary);color:#fff}.Button_primary__oSpWt:hover:not(:disabled){background:var(--color-primary-hover)}.Button_secondary__lRe7Q{background:var(--teal);color:#fff}.Button_secondary__lRe7Q:hover:not(:disabled){background:var(--teal-hover)}.Button_outline__Zj6Ls{background:var(--surface);color:var(--color-primary);border-color:var(--line)}.Button_outline__Zj6Ls:hover:not(:disabled){background:var(--canvas)}.Button_ghost__mZ9vJ{background:transparent;color:var(--color-primary)}.Button_ghost__mZ9vJ:hover:not(:disabled){background:var(--canvas)}.Button_danger__1ocl9{background:var(--danger);color:#fff}.Button_danger__1ocl9:hover:not(:disabled){background:#a02b23}.Button_spinner____7ub{width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:Button_spin__0uF6_ .7s linear infinite}@keyframes Button_spin__0uF6_{to{transform:rotate(1turn)}}.EmptyState_wrap__rpQre{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:56px 24px;font-family:var(--font-ui)}.EmptyState_medallion__uZ15B{width:56px;height:56px;border-radius:50%;background:var(--indigo-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.EmptyState_heading__K0lH6{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.EmptyState_message__YyEbQ{margin:0;font-size:14px;color:var(--text-secondary);max-width:340px}.EmptyState_action__8gqJk{margin-top:12px}.RoleGuard_wrap__fcm0W{display:flex;min-height:60vh;align-items:center;justify-content:center}.Input_field__Z5Ma1{display:flex;flex-direction:column;gap:6px;width:100%;font-family:var(--font-ui)}.Input_label__83Pis{font-size:13px;font-weight:500;color:var(--text-primary)}.Input_required__2bj38{color:var(--danger)}.Input_inputWrap__vpYQK{position:relative;display:flex;align-items:center}.Input_icon__ttdjQ{position:absolute;left:12px;display:flex;color:var(--text-muted);pointer-events:none}.Input_input__h6Yry{height:var(--control-height);width:100%;padding:0 12px;border-radius:var(--radius-control);border:1px solid var(--line);font-size:14px;font-family:var(--font-ui);color:var(--text-primary);background:var(--surface);outline:none;box-sizing:border-box;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.Input_input__h6Yry:focus{box-shadow:0 0 0 2px var(--indigo-bg)}.Input_input__h6Yry:focus:not(.Input_error__KqG2Y){border-color:var(--color-primary)}.Input_input__h6Yry:disabled{background:var(--canvas);cursor:not-allowed}.Input_withIcon__cDNqB{padding-left:38px}.Input_withEndAdornment__BJjNY{padding-right:38px}.Input_endAdornment__HZO_C{position:absolute;right:6px;display:flex;color:var(--text-muted)}.Input_error__KqG2Y{border-color:var(--danger)}.Input_hint__g0kVw{font-size:12px;color:var(--text-muted)}.Input_errorText__P97RI{font-size:12px;color:var(--danger)}.Checkbox_label__v4TO7{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--font-ui);min-height:var(--touch-target-min)}.Checkbox_label__v4TO7[data-disabled=true]{cursor:not-allowed;opacity:.5}.Checkbox_input__N_urK{position:absolute;opacity:0;width:20px;height:20px}.Checkbox_box__sqSIA{width:20px;height:20px;flex-shrink:0;border-radius:4px;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.Checkbox_input__N_urK:checked+.Checkbox_box__sqSIA{border-color:var(--color-primary);background:var(--color-primary)}.Checkbox_input__N_urK:focus-visible+.Checkbox_box__sqSIA{outline:2px solid var(--focus-ring);outline-offset:2px}.Checkbox_text__J7dbv{font-size:14px;color:var(--text-primary)}.AttendanceRoster_wrap__5G55J{display:flex;flex-direction:column;gap:16px}.AttendanceRoster_emptyWrap__lqoV1{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.AttendanceRoster_summaryRow__9VcSR{display:flex;align-items:baseline;gap:8px}.AttendanceRoster_summaryLabel__hC37Q{font-size:13px;color:var(--text-secondary)}.AttendanceRoster_summaryValue__8i1uQ{font-size:15px;font-weight:700;color:var(--text-primary);font-feature-settings:"tnum" 1}.AttendanceRoster_rosterCard__IfNoA{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}.AttendanceRoster_row__M_1LH{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--line)}.AttendanceRoster_row__M_1LH:last-child{border-bottom:none}.AttendanceRoster_info__MJjMw{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.AttendanceRoster_name__g2cFw{font-size:14px;font-weight:600;color:var(--text-primary)}.AttendanceRoster_sourceBadge__eRoWu{font-size:11px;font-weight:600;color:var(--color-primary)}.AttendanceRoster_actions__YpU0i{display:flex;justify-content:flex-end}.page_page__hTtjb{max-width:760px;margin:0 auto;padding:20px 28px 48px;display:flex;flex-direction:column;gap:16px}.page_headerCard__ykRGi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:20px 24px;display:flex;flex-direction:column;gap:12px}.page_headerTop__hCofz{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.page_headerTitleBlock__eYcaQ{display:flex;flex-direction:column;gap:4px}.page_headerName__MerZj{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.page_headerMeta__F6kkG{font-size:13px;color:var(--text-secondary)}