.station-checkin{min-height:100vh;padding:24px 16px 40px;background:var(--admin-background);color:var(--admin-ink);font-family:var(--font-sans)}.checkin-frame{width:min(100%,960px);margin:0 auto}.checkin-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.checkin-navigation .admin-button{min-height:44px;box-shadow:none}.checkin-session{display:inline-flex;align-items:center;gap:8px;min-width:0;min-height:44px;color:var(--admin-muted);font-size:14px;font-weight:600;overflow-wrap:anywhere}.checkin-header{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px;border:1px solid var(--admin-border);border-radius:var(--admin-radius) var(--admin-radius) 0 0;background:var(--surface)}.checkin-logo{width:64px;height:64px;object-fit:contain}.checkin-heading{min-width:0}.checkin-heading>p:first-child{margin-bottom:2px;color:var(--primary);font-size:14px;font-weight:700}.checkin-heading h1,.checkin-load-error h1,.checkin-loading h1{margin:0;color:var(--admin-ink);font-family:var(--font-display);font-size:32px;font-weight:700;line-height:1.2;letter-spacing:0;text-wrap:balance}.checkin-heading>p:last-child{max-width:68ch;margin-top:6px;color:var(--admin-muted);font-size:15px;line-height:1.6;text-wrap:pretty}.checkin-level{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;min-width:150px;padding:12px 14px;border:1px solid var(--admin-border-strong);border-radius:8px;color:var(--primary);background:var(--admin-surface-muted)}.checkin-level>svg{grid-row:1/span 2}.checkin-level span{color:var(--admin-muted);font-size:12px;font-weight:600}.checkin-level strong{font-size:20px;line-height:1.1;font-variant-numeric:tabular-nums}.checkin-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;border:1px solid var(--admin-border);border-top:0;border-radius:0 0 var(--admin-radius) var(--admin-radius);background:var(--admin-surface-muted);overflow:hidden}.checkin-progress li{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:10px 16px;color:var(--admin-muted);font-size:14px;font-weight:600}.checkin-progress li+li{border-left:1px solid var(--admin-border)}.checkin-progress span{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--admin-border-strong);border-radius:6px;background:var(--surface);color:var(--primary);font-variant-numeric:tabular-nums}.checkin-form{display:grid;gap:24px}.checkin-section{display:grid;gap:12px}.checkin-panel{border-color:var(--admin-border)!important;border-radius:var(--admin-radius)!important;box-shadow:none}.station-checkin h2{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.3;letter-spacing:0;text-wrap:balance}.station-checkin label,.station-checkin legend{font-family:var(--font-sans)}.station-checkin :is(input,select,textarea){color:var(--admin-ink)}.station-checkin :is(input,select,textarea)::placeholder{color:var(--admin-muted);opacity:1}.station-checkin :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--primary);outline-offset:3px;box-shadow:none}.station-checkin :is(button,a,input,select,textarea){transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.station-checkin button:disabled,.station-checkin input:disabled{cursor:not-allowed}.checkin-date fieldset>div{grid-template-columns:repeat(3,minmax(0,1fr))}.checkin-date label{display:grid;gap:6px;min-width:0;color:var(--admin-muted);font-size:14px}.checkin-date .admin-input{min-width:0;height:48px;background:var(--surface);font-size:15px;font-weight:600}.checkin-required{color:var(--admin-danger)}.checkin-field-hint,.checkin-location-status{display:flex;align-items:flex-start;gap:6px;color:var(--admin-muted);font-size:13px;line-height:1.55}.checkin-field-hint>svg,.checkin-location-status>svg{flex:0 0 auto;margin-top:2px}.checkin-photo-add{min-height:96px;text-align:center}.checkin-staff-remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-8px -8px -8px 0;border-radius:6px;color:var(--admin-muted)}.checkin-staff-remove:hover{color:var(--admin-danger);background:var(--admin-surface-muted)}.checkin-roster-status{display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--admin-border);border-radius:6px;color:var(--admin-muted);background:var(--admin-surface-muted);font-size:14px;line-height:1.55}.checkin-roster-status>svg{flex:0 0 auto;margin-top:2px}.checkin-roster-error{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--admin-danger);border-radius:6px;color:var(--admin-danger);background:#fff9fa;font-size:14px;line-height:1.55}.checkin-roster-error>div{display:flex;align-items:flex-start;gap:8px}.checkin-roster-error svg{flex:0 0 auto;margin-top:2px}.checkin-staff-dialog{width:min(100% - 32px,384px);max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:var(--admin-radius);background:transparent;color:var(--admin-ink);overflow:visible}.checkin-staff-dialog::backdrop{background:rgba(15,28,21,.58)}.checkin-submit-bar{position:relative;display:grid;grid-template-columns:minmax(170px,1fr) minmax(280px,auto);align-items:center;gap:12px 20px;padding:16px;border:1px solid var(--admin-border);border-radius:var(--admin-radius);background:var(--surface);box-shadow:0 -4px 8px rgba(15,28,21,.06)}.checkin-submit-summary small,.checkin-submit-summary span{display:block}.checkin-submit-summary span{color:var(--admin-ink);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.checkin-submit-summary small{margin-top:2px;color:var(--admin-muted);font-size:13px;line-height:1.4}.checkin-submit-button{width:100%;min-height:48px;padding-inline:24px}.checkin-form-error{grid-column:1/-1;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--admin-danger);border-radius:6px;color:var(--admin-danger);background:#fff9fa;font-size:14px;line-height:1.5}.checkin-form-error>svg{flex:0 0 auto;margin-top:1px}.checkin-selector-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:88px;padding:20px;color:var(--admin-muted);font-size:14px;font-weight:600;text-align:center}.checkin-selector-error{display:grid;justify-items:center;gap:12px;padding:20px;color:var(--admin-danger);font-size:14px;font-weight:600}.checkin-load-error,.checkin-loading{display:grid;justify-items:center;gap:12px;max-width:640px;margin-top:12vh;padding:32px;border:1px solid var(--admin-border);border-radius:var(--admin-radius);background:var(--surface);text-align:center}.checkin-load-error p,.checkin-loading p{max-width:58ch;color:var(--admin-muted);font-size:15px;line-height:1.6}.checkin-load-error>svg{color:var(--admin-danger)}.checkin-load-error>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.checkin-spinner{animation:checkin-spin .9s linear infinite}@keyframes checkin-spin{to{transform:rotate(1turn)}}@media (max-width:700px){.station-checkin{padding:16px 12px 28px}.checkin-navigation{align-items:flex-start;margin-bottom:16px}.checkin-session{max-width:52%;justify-content:flex-end;text-align:right}.checkin-header{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px;padding:18px 16px}.checkin-logo{width:48px;height:48px}.checkin-heading h1,.checkin-load-error h1,.checkin-loading h1{font-size:26px}.checkin-heading>p:last-child{font-size:14px}.checkin-level{grid-column:1/-1;grid-template-columns:auto 1fr auto;min-width:0;padding:10px 12px}.checkin-level>svg{grid-row:auto}.checkin-level strong{font-size:18px}.checkin-progress li{flex-direction:column;align-items:flex-start;min-height:78px;padding:10px;font-size:13px;line-height:1.35}.checkin-panel{padding:18px 16px!important}.station-checkin h2{font-size:20px}.checkin-submit-bar{grid-template-columns:minmax(0,1fr);padding:12px}.checkin-roster-error{align-items:stretch;flex-direction:column}.checkin-submit-button{grid-row:1}.checkin-submit-summary{grid-row:2}.checkin-form-error{grid-row:3}}@media (max-width:420px){.checkin-date fieldset>div{gap:6px}.checkin-date .admin-input{padding-inline:8px;font-size:14px}.checkin-photo-add{min-height:78px}}@media (prefers-reduced-motion:reduce){.station-checkin :is(button,a,input,select,textarea){transition:none}.checkin-spinner{animation:none}}