.existing-import{flex-direction:column;max-height:94dvh;display:flex;width:min(1180px,96vw)!important;padding:24px!important}.existing-import .drawer-heading{flex-shrink:0}.existing-import h2{font-size:26px}.existing-import p{font-size:16px;line-height:1.55}.existing-import-body{min-height:0;padding:4px;overflow:auto}.import-file-actions,.import-source-links{flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0;display:flex}.import-file-actions label{gap:8px;font-size:14px;display:grid}.import-file-actions input[type=file]{width:220px}.existing-import input:not([type=checkbox]),.existing-import select{color:#30233c;min-width:0;max-width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #d6c9e3;border-radius:8px;padding:10px}.import-row-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.import-row-fields label{gap:7px;font-size:14px;display:grid}.import-review-heading,.import-assignment header{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-assignment-list{gap:16px;margin:18px 0;display:grid}.import-assignment{background:#fff;border:1px solid #ddcfe9;border-radius:12px;padding:18px}.import-assignment.needs-review{border-left:4px solid #b77a10}.import-assignment header span{color:#675275;font-size:14px}.import-assignment .import-source-quote{color:#665773;white-space:pre-wrap;background:#f6f2fa;border-radius:6px;padding:10px;font-size:14px}.import-alert{background:#fff4df;border:1px solid #e5bf7c;border-radius:10px;margin:16px 0;padding:16px;font-size:16px}.import-check{align-items:flex-start;gap:10px;margin:20px 0;font-size:16px;line-height:1.5;display:flex}.import-check input{flex-shrink:0;width:20px;height:20px}.import-hint{color:#73637c}.import-review-summary{background:#f2edf9;border-radius:12px;margin:20px 0;padding:18px}.import-footer{flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;display:flex}.import-footer p{flex:1;min-width:230px}.import-photo-preview{gap:12px;display:grid}.import-photo-preview img{max-width:100%;height:auto}.existing-import button:disabled{opacity:.5;cursor:not-allowed}.existing-import button{min-height:44px}.existing-import details{margin:14px 0}.existing-import summary{cursor:pointer;font-size:16px}@media (max-width:760px){.existing-import{max-height:97dvh;width:98vw!important;padding:15px!important}.existing-import h2{font-size:22px}.import-row-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.existing-import input,.existing-import select{font-size:16px!important}.import-file-actions{flex-direction:column;align-items:stretch}.import-review-heading,.import-assignment header{flex-wrap:wrap}.import-footer button{width:100%}.import-assignment{padding:12px}}@media (max-width:400px){.import-row-fields{grid-template-columns:1fr}}.existing-import fieldset{border:0;min-width:0;margin:0;padding:0}.import-camera-action{align-content:start;gap:10px;max-width:280px;display:grid}.import-camera-action small{font-size:.875rem;line-height:1.5}.import-paste-target{outline:none}.import-paste-target:focus{box-shadow:0 0 0 3px #8d55b838}.import-paste-target small{color:#675b6d;font-size:.78rem;line-height:1.35;display:block}.import-phone-help{background:#f5f6f3;border:1px solid #ccd6d0;border-radius:12px;align-items:flex-start;gap:24px;margin:20px 0;padding:20px;display:flex}.import-phone-help img{background:#fff;flex-shrink:0;max-width:100%;height:auto}.import-phone-help h3{margin:0 0 12px;font-size:1.25rem}.import-phone-help p,.import-phone-help li{line-height:1.5;font-size:1rem!important}.import-phone-help li{margin-bottom:10px}.import-phone-help a{overflow-wrap:anywhere}@media (max-width:650px){.import-phone-help{flex-direction:column}.import-phone-help img{align-self:center}}.import-batch-progress{background:#f5f6f3;border:1px solid #ccd6d0;border-radius:10px;margin:16px 0;padding:16px}.import-batch-progress progress{width:100%;height:14px;margin:12px 0;display:block}.existing-import .import-batch-progress p{font-size:1rem;line-height:1.5}.import-time-hints{gap:8px;margin:16px 0;font-size:1rem;display:grid}.import-time-hints input{width:100%;font:inherit;border:1px solid #ccd6d0;border-radius:8px;padding:12px}.import-missing-weekend-note{background:#f2edf9;border-color:#c9b3dc;gap:5px;display:grid}.import-missing-weekend-note span{line-height:1.45}.attendance-page{gap:18px;display:grid}.attendance-tabs{gap:8px;display:flex}.attendance-tabs button{border:1px solid var(--line);min-height:46px;color:var(--muted);background:#fff;border-radius:12px;padding:0 20px;font-weight:800}.attendance-tabs button[aria-selected=true]{background:var(--primary);border-color:var(--primary);color:#fff}.attendance-error{color:#8f3030;background:#fff0f0;border-radius:12px;margin:0;padding:13px 16px;font-weight:750}.attendance-service-picker{justify-content:space-between;align-items:end;gap:18px;padding:16px 18px;display:flex}.attendance-service-picker label,.attendance-report-controls label{gap:6px;display:grid}.attendance-service-picker label{min-width:min(520px,100%)}.attendance-service-picker label span,.attendance-report-controls label span{color:var(--muted);font-size:12px;font-weight:800}.attendance-service-picker select,.attendance-report-controls select,.attendance-report-controls input{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:48px;padding:0 13px;font:700 15px/1 inherit}.attendance-summary{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.attendance-summary span{text-align:center;text-transform:capitalize;background:#f2f0f5;border-radius:9px;min-width:68px;padding:8px;font-size:11px}.attendance-summary b{font-size:20px;display:block}.attendance-roster{gap:10px;display:grid}.attendance-person{border-left:6px solid #c9c5ce;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.attendance-person.present{border-left-color:#3b8b68}.attendance-person.late{border-left-color:#cf8c2e}.attendance-person.absent{border-left-color:#b84b4b}.attendance-person.substitute{border-left-color:#4d6fa8}.attendance-state{text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:850}.attendance-person h2{margin:4px 0;font-size:19px}.attendance-person p{color:var(--muted);margin:0;font-size:14px}.attendance-person-copy>strong{color:#365c96;margin-top:6px;font-size:13px;display:block}.attendance-actions{grid-template-columns:repeat(4,minmax(92px,1fr));gap:7px;display:grid}.attendance-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;min-height:52px;padding:6px 10px;font-weight:850}.attendance-actions button.present{color:#28704f}.attendance-actions button.late{color:#9a641e}.attendance-actions button.absent{color:#963939}.attendance-actions button.substitute{color:#365c96}.attendance-actions button[aria-pressed=true]{background:#f7f7f7;box-shadow:inset 0 0 0 2px}.attendance-actions button:disabled{opacity:.55}.attendance-empty{text-align:center;color:var(--muted);padding:28px}.attendance-report-controls{grid-template-columns:160px 160px minmax(220px,1fr) auto;align-items:end;gap:12px;padding:16px;display:grid}.attendance-report-controls button{min-height:48px}.attendance-report-stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.attendance-report-stats article{border:1px solid var(--line);background:#fff;border-radius:13px;padding:17px}.attendance-report-stats b{color:var(--primary);font-size:26px;display:block}.attendance-report-stats span{color:var(--muted);font-size:12px}.attendance-report-table{overflow:hidden}.attendance-table-head,.attendance-table-row{grid-template-columns:1.15fr 1.3fr 1fr .9fr;align-items:center;gap:12px;padding:13px 16px;display:grid}.attendance-table-head{color:var(--muted);text-transform:uppercase;background:#f3eff8;font-size:11px;font-weight:850}.attendance-table-row{border-top:1px solid var(--line);font-size:13px}.attendance-table-row span{min-width:0}.attendance-table-row small{color:var(--muted);margin-top:3px;display:block}.attendance-table-row em{text-transform:capitalize;background:#eee;border-radius:20px;padding:5px 8px;font-style:normal;font-weight:800;display:inline-block}.attendance-table-row em.present{color:#286c4c;background:#e2f3eb}.attendance-table-row em.late{color:#925d18;background:#fff0d8}.attendance-table-row em.absent{color:#913737;background:#fde4e4}.attendance-table-row em.substitute{color:#345b94;background:#e6edfa}@media (max-width:900px){.attendance-person{grid-template-columns:1fr}.attendance-actions{grid-template-columns:repeat(2,1fr)}.attendance-service-picker{flex-direction:column;align-items:stretch}.attendance-summary{justify-content:flex-start}.attendance-report-controls{grid-template-columns:1fr 1fr}.attendance-report-controls label:nth-child(3){grid-column:1/-1}.attendance-report-stats{grid-template-columns:1fr 1fr}.attendance-table-head{display:none}.attendance-table-row{grid-template-columns:1fr 1fr}}@media (max-width:540px){.attendance-tabs button{flex:1;padding:0 10px}.attendance-actions button{min-height:58px;font-size:14px}.attendance-report-controls,.attendance-table-row{grid-template-columns:1fr}.attendance-report-controls label:nth-child(3){grid-column:auto}.attendance-report-stats{grid-template-columns:1fr 1fr}.attendance-print{display:none}}@media print{.attendance-page .page-heading button,.attendance-tabs,.attendance-report-controls,.attendance-error,.attendance-page .attendance-roster{display:none!important}.attendance-report-table{box-shadow:none}.attendance-table-row{break-inside:avoid}}.attendance-qr-modal{max-width:620px}.attendance-qr-card{text-align:center;justify-items:center;gap:8px;padding:24px;display:grid}.attendance-qr-card img{aspect-ratio:1;background:#fff;border:12px solid #fff;border-radius:16px;width:min(100%,360px)}.attendance-qr-card h3{margin:8px 0 0;font-size:1.5rem}.attendance-qr-card p{color:#6c6074;margin:0}.attendance-qr-card strong{color:#50158d;font-size:1.05rem}@media print{body:has(.attendance-qr-modal) .attendance-page>:not(.modal-backdrop){display:none!important}:is(body:has(.attendance-qr-modal) .workspace,body:has(.attendance-qr-modal) .content,body:has(.attendance-qr-modal) .attendance-page,body:has(.attendance-qr-modal) .modal-backdrop){background:#fff!important;width:100%!important;margin:0!important;padding:0!important;display:block!important;position:static!important}.attendance-qr-modal{width:100%!important;max-width:none!important;box-shadow:none!important;border:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;transform:none!important}.attendance-qr-modal .drawer-heading,.attendance-qr-modal .modal-actions{display:none!important}.attendance-qr-modal .attendance-qr-card{align-content:center;min-height:9in;color:#111!important;display:grid!important}.attendance-qr-modal .attendance-qr-card img{width:4.5in!important;max-width:4.5in!important;display:block!important}}
