.checkin-admin-device{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px}.checkin-admin-device p{margin:8px 0}.checkin-admin-device .account-actions{flex-wrap:wrap}.checkin-admin-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}.checkin-code-list{max-height:460px;overflow:auto}.checkin-code-list>div,.checkin-visit-list>div,.member-checkin-codes>div{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line,#e4e8e1);gap:16px}.checkin-code-list>div[hidden],[data-checkin-device-link][hidden]{display:none}.checkin-code-list strong,.member-checkin-codes strong{font-size:24px;letter-spacing:4px;font-variant-numeric:tabular-nums}.checkin-visit-list{margin:12px 0 20px;max-height:460px;overflow:auto}.checkin-visit-list small{display:block;color:var(--muted,#788174);margin-top:4px}.member-checkin-codes{margin-bottom:20px}.member-checkin-codes h2{font-size:18px}.member-checkin-codes .tiny{margin-top:12px}
.checkin-kiosk{margin:0;background:#f5f7f2;color:#24352c;font-family:Arial,'Malgun Gothic',sans-serif;min-height:100dvh}.checkin-kiosk *{box-sizing:border-box}.checkin-kiosk header{display:flex;align-items:center;gap:12px;padding:20px 30px;font-size:12px;letter-spacing:1.5px;font-weight:700}.checkin-kiosk header img{width:30px}.checkin-kiosk header button{margin-left:auto;background:transparent;border:1px solid #dae1d8;border-radius:12px;padding:12px;color:#4c6254}.checkin-kiosk main{display:grid;place-items:center;padding:20px 20px 40px}.checkin-card{width:min(100%,540px);padding:36px;background:#fff;border:1px solid #e5eae1;border-radius:28px;box-shadow:0 16px 60px #29433209;text-align:center}.checkin-eyebrow{color:var(--checkin-accent,#058a81);font-weight:700;font-size:14px}.checkin-card h1{font-size:30px;line-height:1.35;letter-spacing:-1px;margin:18px 0 12px}.checkin-card p{color:#647266;line-height:1.7;font-size:14px}.checkin-digits{display:flex;gap:10px;justify-content:center;margin:26px 0}.checkin-digits span{display:grid;place-items:center;width:64px;height:72px;border-radius:16px;background:#f1f5ee;font-size:34px;font-weight:700}.checkin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.checkin-keypad button{border:1px solid #e3e8df;background:#fff;min-height:66px;border-radius:16px;font-size:24px;color:#24352c;cursor:pointer}.checkin-keypad button[data-key="지우기"]{font-size:14px}.checkin-keypad button:active,.checkin-purpose button:active{background:#edf3e9;transform:scale(.97)}.checkin-confirm{width:100%;padding:18px;border:0;border-radius:16px;background:var(--checkin-accent,#058a81);color:#fff;font-size:18px;font-weight:700;margin-top:16px;cursor:pointer}.checkin-confirm:disabled{opacity:.35;cursor:default}.checkin-error{min-height:24px;color:#a33c2f!important}.checkin-privacy,.checkin-success small{display:block;color:#849083;font-size:11px}.checkin-purpose{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0 20px}.checkin-purpose button{background:#f5f8f2;border:1px solid #e2e8db;border-radius:20px;padding:28px 14px;color:#263d30;cursor:pointer}.checkin-purpose span{display:block;font-size:22px;font-weight:700}.checkin-purpose small{display:block;margin-top:10px;font-size:12px;color:#6d7b6c}.checkin-back{border:0;background:transparent;color:#647366;padding:18px;cursor:pointer}.checkin-class{display:block;width:100%;text-align:left;padding:20px;border:1px solid #e1e8dd;border-radius:16px;margin:10px 0;background:#fff;color:#263d30;cursor:pointer}.checkin-class small{display:block;margin-top:8px;color:#69816b}.checkin-success-icon{display:grid;place-items:center;width:90px;height:90px;border-radius:50%;background:#edf6e5;color:var(--checkin-accent,#058a81);font-size:48px;margin:20px auto}.checkin-kiosk button:focus-visible{outline:3px solid #9bb773;outline-offset:3px}
@media(max-width:700px){.checkin-admin-layout{grid-template-columns:1fr}.checkin-admin-device{align-items:stretch;flex-direction:column}.checkin-kiosk header{padding:16px}.checkin-kiosk main{padding:10px 14px 24px}.checkin-card{padding:26px 20px}.checkin-card h1{font-size:26px}.checkin-purpose{grid-template-columns:1fr}.checkin-keypad button{min-height:60px}}

[data-checkin-device-link][hidden]{display:none!important}

@media(max-height:850px){.checkin-kiosk header{padding:12px 20px}.checkin-kiosk main{padding-top:8px}.checkin-card{padding:22px 26px}.checkin-card h1{font-size:26px;margin:12px 0 8px;line-height:1.25}.checkin-card p{margin:8px 0;font-size:13px}.checkin-digits{margin:18px 0}.checkin-digits span{height:56px;width:56px;font-size:30px}.checkin-keypad{gap:8px}.checkin-keypad button{min-height:50px}.checkin-confirm{padding:14px;margin-top:12px}.checkin-error{min-height:20px}.checkin-purpose{margin:20px 0 12px}}

.checkin-ranking{margin-bottom:20px}.checkin-ranking h2{font-size:20px}.checkin-ranking .account-section-head{align-items:center;gap:16px;flex-wrap:wrap}.checkin-ranking-controls{display:flex;align-items:end;gap:10px}.checkin-ranking-controls label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.checkin-ranking-controls input,.checkin-ranking-controls select{min-height:42px;border:1px solid var(--line);border-radius:10px;background:white;padding:10px 12px;font:inherit;color:var(--ink)}.checkin-rank-list{max-height:420px;overflow:auto;margin-top:12px}.checkin-rank-list>div{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.checkin-rank-number{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:#f0f4ec;font-size:13px;font-weight:700}.checkin-rank-list strong{font-size:12px;overflow-wrap:anywhere}.checkin-rank-score{margin-left:auto;text-align:right;flex:none}.checkin-rank-score b{font-size:18px;color:var(--box-ink,var(--ink))}.checkin-rank-score small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.checkin-code-list>article,.member-checkin-codes>article{padding:14px 0;border-bottom:1px solid var(--line)}.checkin-code-list>article>div,.member-checkin-codes>article>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.checkin-code-list strong,.member-checkin-codes article strong{font-size:19px;font-variant-numeric:tabular-nums}.checkin-code-editor{margin-top:9px}.checkin-code-editor summary{font-size:11px;color:var(--muted);cursor:pointer}.checkin-code-editor form{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.checkin-code-editor input{width:115px;min-height:42px;border:1px solid var(--line);border-radius:10px;background:white;padding:10px;font:inherit;font-size:16px}.checkin-code-editor .btn{min-height:42px}.checkin-code-editor .form-error{flex-basis:100%;font-size:11px;line-height:1.6}.checkin-code-editor .form-error:empty{display:none}[data-checkin-member][hidden]{display:none!important}@media(max-width:700px){.checkin-ranking-controls{width:100%}.checkin-ranking-controls label{min-width:0;flex:1}.checkin-ranking-controls input,.checkin-ranking-controls select{width:100%;min-width:0;font-size:14px}.checkin-rank-list{max-height:380px}.checkin-rank-list>div{gap:10px}.checkin-rank-score b{font-size:17px}}

.checkin-rank-list,.checkin-code-list,.checkin-visit-list{scrollbar-width:thin;scrollbar-color:#c7d2c2 transparent}

/* Attendance overview and operating-day rankings */
[data-checkin-pane][hidden]{display:none!important}.checkin-section-tabs{display:flex;gap:6px;background:var(--box-soft,#f2f5ef);padding:5px;border-radius:14px;width:fit-content;margin:0 0 22px}.checkin-section-tabs button{border:0;background:transparent;color:var(--muted,#728074);font:inherit;font-size:13px;font-weight:600;padding:11px 22px;border-radius:10px;cursor:pointer}.checkin-section-tabs button[aria-pressed="true"]{background:#fff;color:var(--box-ink,#243c30);box-shadow:0 2px 7px #243c300c}.checkin-section-tabs button:focus-visible{outline:2px solid var(--box-ink,#243c30);outline-offset:2px}.checkin-rank-score{display:flex;align-items:center;gap:12px}.checkin-rank-score small{margin:0;padding-left:12px;border-left:1px solid var(--line,#e4e8e1);font-size:12px;white-space:nowrap}.checkin-rank-person{min-width:0}.checkin-rank-person small{display:block;font-size:10px;color:var(--muted,#728074);margin-top:4px}.checkin-schedule-hint{font-size:12px;line-height:1.7;background:var(--box-soft,#f2f5ef);padding:12px;border-radius:10px}@media(max-width:700px){.checkin-section-tabs{width:100%}.checkin-section-tabs button{flex:1;padding:11px 12px}.checkin-rank-score{gap:8px}.checkin-rank-score small{padding-left:8px}.checkin-rank-person strong{overflow-wrap:anywhere}}

/* Selecting a class and confirming attendance are separate actions. */
.checkin-class-row{display:flex;align-items:center;gap:10px;margin:10px 0;padding:0 12px 0 0;border:1px solid #e1e8dd;border-radius:16px;background:#fff;transition:border-color .15s,background .15s}
.checkin-class-row .checkin-class{flex:1;min-width:0;width:auto;margin:0;border:0;background:transparent;padding:18px;text-align:left}
.checkin-class-row .checkin-class strong{display:block;overflow-wrap:anywhere}
.checkin-class-row.is-selected{border-color:var(--checkin-accent,#058a81);background:color-mix(in srgb,var(--checkin-accent,#058a81) 7%,white)}
.checkin-class-confirm{flex:none;border:0;border-radius:12px;min-height:46px;padding:12px 14px;background:var(--checkin-accent,#058a81);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.checkin-class-confirm:disabled{opacity:.5;cursor:wait}
.checkin-selection-hint{font-size:12px!important;margin:8px 0 14px!important}
@media(max-width:420px){.checkin-class-row{gap:4px;padding-right:8px}.checkin-class-row .checkin-class{padding:16px 12px}.checkin-class-confirm{padding:12px 10px;font-size:12px}}
