/* 共有端末（現場のタブレット）。手袋でも押しやすい大きなボタン。 */
body.kiosk { min-height: 100dvh; display: grid; grid-template-rows: auto auto 1fr auto; background: #eef2ef; }
.k-top { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-3) var(--space-6); background: var(--surface); border-bottom: 1px solid var(--border); }
.k-site { flex: 1; font-weight: 700; font-size: var(--text-base); min-width: 0; overflow-wrap: anywhere; }
.k-clock { font-size: var(--text-lg); font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.k-main { width: 100%; max-width: 980px; margin: 0 auto; padding: var(--space-6); display: grid; align-content: start; gap: var(--space-6); }
.k-lead { font-size: var(--text-lg); text-align: center; font-weight: 600; }
.k-buttons { display: grid; gap: var(--space-4); grid-template-columns: 1fr 1fr; }
.k-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-2); min-height: 200px; border-radius: 18px; border: 0; font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); font-weight: 800; cursor: pointer; color: #fff; box-shadow: 0 2px 0 rgba(0,0,0,.12), 0 6px 18px rgba(0,0,0,.08); transition: transform .08s; touch-action: manipulation; }
.k-btn:active { transform: scale(.98); }
.k-btn:disabled { opacity: .5; }
.k-btn .k-ico { font-size: 0.8em; opacity: .9; }
.k-btn.in { background: #0e6b53; }
.k-btn.out { background: #2f4a63; }
.k-btn.check { grid-column: 1 / -1; min-height: 110px; background: #fff; color: var(--primary); border: 2px solid var(--primary); box-shadow: none; flex-direction: row; font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem); }
.k-note { text-align: center; color: var(--muted); font-size: var(--text-sm); }
.k-stage { display: grid; gap: var(--space-4); }
.k-status { text-align: center; font-size: var(--text-lg); font-weight: 700; min-height: 2em; }
.k-status .sub { display: block; font-size: var(--text-sm); font-weight: 400; color: var(--muted); margin-top: var(--space-1); }
.k-status.ok { color: var(--primary); }
.k-status.warn { color: var(--caution); }
.k-status.err { color: var(--danger); }
.k-camera { min-height: 0; }
.k-camera:empty { display: none; }
.k-picker { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.k-picker button { min-height: 64px; font-size: var(--text-base); justify-content: flex-start; }
.k-picker .k-face { grid-column: 1 / -1; min-height: 56px; }
.k-actions { display: flex; justify-content: center; }
.k-done { display: grid; gap: var(--space-3); justify-items: center; text-align: center; padding: var(--space-6); background: var(--surface); border-radius: var(--radius); border: 1px solid var(--border); }
.k-done .big { font-size: var(--text-xl); font-weight: 800; }
.k-foot { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) var(--space-6); font-size: var(--text-xs); color: var(--muted); }
@media (max-width: 640px) {
  .k-top, .k-foot { padding-inline: var(--space-4); }
  .k-main { padding: var(--space-4); }
  .k-btn { min-height: 150px; }
  .k-top .brand span { display: none; }
}
