.install-step{display:block;padding:12px;color:#9c8173}.install-step.active{background:#fff0e6;border-radius:8px;color:#8c1d38;font-weight:700}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.summary-grid strong{font-size:27px;color:#8a1d39}.form-layout{grid-template-columns:330px 1fr}input[type=checkbox]{accent-color:#8a1d39}.badge.ok{color:#2b7b4b;background:#eff9ef}pre{white-space:pre-wrap;overflow-wrap:anywhere}.nowrap{white-space:nowrap}.credential-list{padding:12px;border-top:1px solid #eee} @media(max-width:1000px){.form-layout{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}}.aws-note{font-size:12px;color:#8a6745}

.face-enrollment{max-width:820px}.face-camera{position:relative;background:#101b24;border-radius:14px;overflow:hidden;aspect-ratio:4/3;margin:18px 0}.face-camera video{width:100%;height:100%;object-fit:contain;max-height:none;margin:0;border-radius:0;transform:scaleX(-1)}.face-camera p{position:absolute;inset:45% 15px auto;text-align:center;color:#c9d4df;font-size:14px}.reference-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.reference-previews figure{margin:0}.reference-previews img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.reference-previews figcaption{font-size:12px;color:#80675d}.reference-previews:empty{display:none}

.attendance-panel{max-width:960px;border-top:5px solid #e9be42;padding:28px}.attendance-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.attendance-heading h2{margin:7px 0 0;font-size:23px}.attendance-heading .badge{max-width:45%;white-space:normal}.gps-step{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1.5px solid #d5a421;background:#fff8df;border-radius:14px;margin:24px 0}.gps-step-copy{min-width:0}.gps-step strong{font-size:15px;color:#6e2438}.gps-step p{margin:4px 0;font-size:12px;color:#8d7259}.gps-step small{color:#9c805a}.gps-step p.success{color:#256a46}.gps-step p.error{color:#a22139}.gps-check-button{background:white;border:1px solid #921e3b;color:#921e3b;flex-shrink:0}.method-title{text-align:center;font-size:18px;margin:24px 0 12px}.scan-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.scan-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#fff;color:#463337;border:2px solid #e9e1db;border-radius:16px;padding:24px 16px;min-height:210px;transition:border-color .15s,background .15s}.scan-card:hover{background:#fffaf2;filter:none}.scan-card.selected{border-color:#9b2242;background:#fff5f6;box-shadow:0 0 0 2px #9b224210}.scan-icon{font-size:38px;line-height:1.3}.scan-card strong{font-size:18px}.scan-card>span:not(.scan-icon){font-size:12px;font-weight:400}.method-badge{background:#fff2d3;color:#896426;border-radius:30px;padding:4px 12px}.method-badge.ready{background:#e9f5ec;color:#2f7551}.attendance-actions{justify-content:center;margin:15px 0 20px}.method-guide{text-align:center;min-height:22px;margin-top:16px}.attendance-links{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid #eee2dc;padding-top:14px;margin:16px 0}.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 24px}.profile-fields dt{font-size:12px;color:#9c8075}.profile-fields dd{margin:3px 0 0;font-size:16px;overflow-wrap:anywhere}@media(max-width:640px){.attendance-panel{padding:20px 16px}.attendance-heading{display:block}.attendance-heading .badge{max-width:100%;margin-top:12px}.gps-step{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.scan-cards{grid-template-columns:1fr}.scan-card{min-height:175px}.attendance-actions button{flex:1;min-width:140px}.profile-fields{grid-template-columns:1fr}}

.attendance-camera-panel{border:1px solid #eadad0;border-radius:12px;padding:18px;margin:18px 0}.attendance-camera-panel video{max-height:360px;transform:scaleX(-1)}#scan-success-dialog{border:0;border-radius:20px;padding:30px;max-width:440px;width:calc(100% - 36px);font-family:inherit;text-align:center;box-shadow:0 20px 90px #32112240}#scan-success-dialog::backdrop{background:#24161bb3}.scan-success-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#edf7ee;color:#2b8050;font-size:36px;margin:0 auto 18px}#scan-success-dialog .button-row{justify-content:center}#daily-attendance-status{text-align:center;color:#8e2340;font-size:13px}

.status-form{margin:7px 0}.work-status{padding:5px 12px;border-radius:30px;font-size:12px}.work-status.working{background:#eaf6ed;color:#247348;border:1px solid #b9dcc5}.work-status.not-working{background:#fff0f1;color:#a62744;border:1px solid #edc2cb}.department-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.department-tags .badge{white-space:normal}

.schedule-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:24px;align-items:start}.schedule-choice{border:1px solid #e8ded7;border-radius:14px;padding:18px;min-width:0}.schedule-picks{max-height:330px;overflow:auto;display:grid;gap:8px;margin-top:12px}.schedule-pick{display:flex;align-items:center;gap:12px;border:1px solid #e8ded7;border-radius:10px;padding:12px;margin:0;cursor:pointer}.schedule-pick input{width:18px;height:18px;flex:0 0 auto}.schedule-pick small{display:block;color:#8b7b71;margin-top:5px}.schedule-pick:has(input:checked){background:#fbf0f3;border-color:#9e183b}.schedule-pick[hidden]{display:none}.schedule-builder h3{margin:24px 0 14px}.schedule-builder .notice{margin-top:22px}.schedule-layout .panel{min-width:0}@media(max-width:1000px){.schedule-layout{grid-template-columns:1fr}}@media(max-width:650px){.schedule-builder>.grid.two{grid-template-columns:1fr}.schedule-choice{padding:12px}}
.person-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.person-tabs [role=tab]{background:#fff;color:#783144;border:1px solid #e8d9dc;padding:10px 15px}.person-tabs [aria-selected=true]{background:#981b3e;color:white}.person-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.person-tags>span{border-radius:20px;background:#f5eee3;color:#775a2b;padding:4px 8px;font-size:11px}.monthly-rule-editor{margin-top:20px;border-top:1px solid #e8ded7;padding-top:18px}.monthly-rule-editor summary{font-weight:700;cursor:pointer;color:#8f1b3d}[role=tabpanel][hidden]{display:none}
.history-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #e8ded7;padding-bottom:12px;margin:20px 0}.history-tabs a{border:1px solid #e8ded7;border-radius:10px;padding:12px 18px;color:#783144;text-decoration:none}.history-tabs a[aria-current=page]{background:#981b3e;border-color:#981b3e;color:white}.history-group{padding:20px 0;border-bottom:1px solid #eee5df}.history-group:last-of-type{border-bottom:0}.history-group h3{margin:0}.history-group .muted{margin:6px 0 12px}.history-today{background:#fffaf0;border:1px solid #ead6a7;border-radius:14px;padding:18px;margin-top:15px}.history-days{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 24px}.history-days a{border:1px solid #e8ded7;border-radius:8px;padding:9px 12px;color:#783144;text-decoration:none}.history-days a[aria-current=date]{background:#981b3e;color:white}.history-search{margin-top:20px}@media(max-width:650px){.personal-history .attendance-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}.history-tabs a{flex:1;text-align:center;padding:11px}.history-today{padding:12px}}
.reason-options{border:1px solid #e8ded7;border-radius:14px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.reason-options legend{font-weight:700;padding:0 6px}.reason-option{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e8ded7;border-radius:10px;margin:0;cursor:pointer}.reason-option input{width:18px;height:18px;flex:0 0 auto}.reason-option:has(input:checked){background:#fbf0f3;border-color:#981b3e}#reason-other-fields[hidden]{display:none}@media(max-width:650px){.reason-options{grid-template-columns:1fr}}
