/* ════════════════════════════════════════════════════════════════════════
   intake.css — Guest Intake (Issues-IntakeRedesign-001)
   Figma 'DSRT-Surf-Interfaces' node 212-2, light mode, using the frame's
   'DSRT Intake Foundations' tokens:
     Sidebar #041229 · Primary #0661F2 · Success #079752 · Warning #D97706
     Danger #DC2626 · Canvas #F7F9FC
   Styles ALL class names emitted by intake.js (rows, chips, reqs, rentals,
   lockers, return form, modals) — intake.js markup contract unchanged.
   Loads after pos.css and overrides its dark body defaults.
   ════════════════════════════════════════════════════════════════════════ */

:root {
    --ik-sidebar: #041229;
    --ik-primary: #0661F2;
    --ik-success: #079752;
    --ik-warning: #D97706;
    --ik-danger: #DC2626;
    --ik-canvas: #F7F9FC;
    --ik-ink: #0f172a;
    --ik-muted: #64748b;
    --ik-line: #e2e8f0;
}

body.intake-body {
    background: var(--ik-canvas);
    color: var(--ik-ink);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    overflow: hidden;
}

.ik-shell {
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
}

/* ── Top bar (matches the POS light chrome — no left sidebar) ── */
.ik-topbar {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 10px 20px;
    background: #fff;
    border-bottom: 1px solid var(--ik-line);
    flex-shrink: 0;
}
.ik-brand { color: var(--ik-ink); font-weight: 700; font-size: 16px; letter-spacing: 0.5px; white-space: nowrap; }
.ik-topnav { display: flex; gap: 6px; }
.ik-topnav a {
    color: var(--ik-muted);
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 10px;
}
.ik-topnav a:hover { color: var(--ik-ink); background: var(--ik-canvas); }
.ik-topnav a.active { color: #fff; background: var(--ik-primary); }
.ik-top-right { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.ik-top-right .cashier-name { font-size: 12.5px; color: var(--ik-muted); }
.ik-logout {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: transparent;
    border: 1px solid var(--ik-line);
    color: var(--ik-muted);
    border-radius: 8px;
    padding: 7px 12px;
    font-size: 12.5px;
    cursor: pointer;
    font-family: inherit;
}
.ik-logout:hover { color: var(--ik-ink); border-color: #94a3b8; }

/* ── Body grid: main + in-grid Customer Check-In card ── */
.ik-grid {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 430px;
    gap: 16px;
    padding: 0 20px 16px 0;
    min-height: 0;
}

/* Legacy shared header nav (index.html back-compat) */
.portal-nav { display: inline-flex; gap: 6px; margin-left: 18px; }
.portal-nav a {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    color: #cfe3ee;
    background: rgba(255, 255, 255, 0.10);
}
.portal-nav a:hover { background: rgba(255, 255, 255, 0.20); color: #fff; }
.portal-nav a.active { background: #fff; color: var(--ik-sidebar); }

/* ── Main column ── */
.ik-main {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    padding: 22px 26px 30px;
}
.ik-title h1 { font-size: 24px; font-weight: 700; color: var(--ik-ink); }
.ik-title p { font-size: 13px; color: var(--ik-muted); margin: 3px 0 16px; }

/* Issues-DayPassCheckin-002: Sessions / Beach-access-only list toggle, right of the title. */
.ik-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ik-title-text { min-width: 0; }
.ik-viewtoggle { display: inline-flex; flex-shrink: 0; border: 1px solid var(--ik-line); border-radius: 9px; overflow: hidden; background: #fff; }
.ik-vt { border: 0; background: transparent; padding: 9px 16px; font: inherit; font-size: 13px; font-weight: 600; color: var(--ik-muted); cursor: pointer; white-space: nowrap; transition: background .12s, color .12s; }
.ik-vt + .ik-vt { border-left: 1px solid var(--ik-line); }
.ik-vt:hover { color: var(--ik-ink); }
.ik-vt.active { background: var(--ik-primary); color: #fff; }
.ik-vt-n { font-weight: 700; opacity: .85; margin-left: 2px; }

.ik-toolbar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.ik-toolbar input[type="date"],
.ik-toolbar input[type="search"] {
    background: #fff;
    border: 1px solid var(--ik-line);
    border-radius: 10px;
    color: var(--ik-ink);
    font-size: 13.5px;
    padding: 10px 12px;
    font-family: inherit;
}
.ik-toolbar input[type="search"] { flex: 1; min-width: 220px; max-width: 460px; }
.ik-toolbar input:focus { outline: none; border-color: var(--ik-primary); }

/* Buttons (shared with detail/drawer/modals) */
.ik-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--ik-primary);
    border: 1px solid var(--ik-primary);
    color: #fff;
    border-radius: 10px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
}
.ik-btn:hover { background: #0550c8; }
.ik-btn:disabled { opacity: 0.55; cursor: not-allowed; }
.ik-btn.secondary {
    background: #fff;
    border: 1px solid var(--ik-line);
    color: #334155;
}
.ik-btn.secondary:hover { background: var(--ik-canvas); color: var(--ik-ink); }

/* ── Stat cards ── */
.ik-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.ik-stat {
    background: #fff;
    border: 1px solid var(--ik-line);
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.ik-stat-n {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    background: #eef2f7;
    color: var(--ik-ink);
    flex-shrink: 0;
}
.ik-stat-l { font-size: 12px; font-weight: 600; color: var(--ik-muted); line-height: 1.25; }
.ik-stat.good .ik-stat-n { background: rgba(7, 151, 82, 0.12); color: var(--ik-success); }
.ik-stat.warn .ik-stat-n { background: rgba(217, 119, 6, 0.14); color: var(--ik-warning); }
.ik-stat.alert .ik-stat-n { background: rgba(220, 38, 38, 0.1); color: var(--ik-danger); }

/* ── Sessions card + guest rows ── */
.ik-sessions-card { background: #fff; border: 1px solid var(--ik-line); border-radius: 14px; overflow: hidden; }
.ik-sessions-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    font-size: 15px;
    font-weight: 700;
    border-bottom: 1px solid var(--ik-line);
}
.ik-live {
    background: rgba(7, 151, 82, 0.12);
    color: var(--ik-success);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    border-radius: 10px;
}
.ik-session { border-bottom: 1px solid var(--ik-line); }
.ik-session:last-child { border-bottom: none; }
.ik-session-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 18px;
    background: var(--ik-canvas);
    font-size: 13px;
    font-weight: 700;
    color: var(--ik-ink);
}
.ik-session-head .count { font-size: 12px; font-weight: 500; color: var(--ik-muted); }
/* Owner 2026-10-12 (Issues-CheckinHourStats-001): pool-stress figures in each hour header + the checked-in % line */
.ik-session-head { flex-wrap: wrap; gap: 6px 12px; }
/* Owner 2026-10-12: the figures sit on their own full-width line under the time, five equal right-aligned
   columns (number over label), so every hour header has the same layout at any width */
.ik-session-head > span:first-child { flex: 1 1 auto; }
.ik-session-head .count { flex: 0 0 auto; text-align: right; white-space: nowrap; }
.ik-ci-stats { order: 3; flex: 0 0 100%; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0 10px; align-items: end; justify-items: end; padding-top: 2px; font-weight: 500; }
.ik-ci-stat { display: flex; flex-direction: column; align-items: flex-end; font-size: 10.5px; line-height: 1.15; color: var(--ik-muted); white-space: nowrap; text-align: right; }
.ik-ci-stat b { font-size: 15px; font-weight: 700; color: var(--ik-ink); font-variant-numeric: tabular-nums; }
.ik-ci-stat.good b { color: var(--ik-success); }
.ik-ci-stat.warn b { color: var(--ik-warning); }
.ik-ci-pct { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; font-size: 12px; font-weight: 700; color: var(--ik-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ik-ci-pct .ik-ci-pct-n { display: inline-block; min-width: 4ch; text-align: right; }
.ik-ci-track { display: inline-block; width: 64px; height: 6px; border-radius: 3px; background: #e2e8f0; overflow: hidden; }
.ik-ci-fill { display: block; height: 100%; background: var(--ik-success); }
.ik-ci-chart { padding: 10px 18px 4px; border-bottom: 1px solid var(--ik-line); background: #fff; }
.ik-ci-chart-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; font-size: 12px; font-weight: 700; color: var(--ik-ink); margin-bottom: 2px; }
.ik-ci-chart-tot { font-weight: 500; color: var(--ik-muted); }
.ik-ci-chart svg { width: 100%; height: auto; display: block; }
.ik-ci-toggle { margin-left: 8px; font-size: 12px; font-weight: 600; color: var(--ik-primary); text-decoration: underline; white-space: nowrap; }
.ik-ci-chart:not(.open) { padding-bottom: 8px; }
.ik-guest { border-top: 1px solid #eef2f7; }
.ik-guest-top {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    cursor: pointer;
}
.ik-guest-top:hover { background: #f4f7fb; }
.ik-guest.active .ik-guest-top { background: rgba(6, 97, 242, 0.06); box-shadow: inset 3px 0 0 var(--ik-primary); }
.ik-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e8eefc;
    color: var(--ik-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12.5px;
    font-weight: 700;
    flex-shrink: 0;
}
.ik-guest-name { font-size: 14px; font-weight: 600; color: var(--ik-ink); }
.ik-guest-sub { font-size: 12px; color: var(--ik-muted); }
/* Issues-OrderEditLateAddStax-001: Left / Right / Bay tag on Edit order sessions */
.ik-side-chip { display: inline-block; padding: 1px 7px; margin-left: 4px; border-radius: 999px; font-size: 11px; font-weight: 600; background: #e0f2fe; color: #075985; vertical-align: 1px; }
.ik-spacer { flex: 1; }
.ik-open-link { color: var(--ik-primary); font-size: 12.5px; font-weight: 600; }

/* Status chips (intake.js: ok / no / warn / muted) */
.chip {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 10px;
    white-space: nowrap;
}
.chip.ok { background: rgba(7, 151, 82, 0.12); color: var(--ik-success); }
.chip.no { background: rgba(220, 38, 38, 0.1); color: var(--ik-danger); }
.chip.warn { background: rgba(217, 119, 6, 0.14); color: var(--ik-warning); }
.chip.muted { background: #eef2f7; color: var(--ik-muted); }

.ik-empty { padding: 26px; text-align: center; color: var(--ik-muted); font-size: 13.5px; }

/* ── Customer Check-In card (in-grid right column, POS-rail style) ── */
.ik-drawer {
    margin-top: 22px;
    background: #fff;
    border: 1px solid var(--ik-line);
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    align-self: start;
    max-height: calc(100% - 22px);
}
.ik-drawer-empty { padding: 26px 18px; text-align: center; color: var(--ik-muted); font-size: 13px; }
.ik-drawer.open .ik-drawer-empty { display: none; }
.ik-drawer:not(.open) .ik-drawer-body { display: none; }
.ik-drawer:not(.open) .ik-drawer-x { visibility: hidden; }
.ik-drawer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px 12px;
    border-bottom: 1px solid var(--ik-line);
}
.ik-drawer-title { font-size: 17px; font-weight: 700; color: var(--ik-ink); }
.ik-drawer-sub { font-size: 12px; color: var(--ik-muted); margin-top: 2px; }
.ik-drawer-x {
    background: none;
    border: none;
    color: var(--ik-muted);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 8px;
}
.ik-drawer-x:hover { color: var(--ik-ink); background: var(--ik-canvas); }
.ik-drawer-body { flex: 1; overflow-y: auto; padding: 14px 18px 22px; }

/* ── Guest detail (intake.js-rendered, now inside the drawer) ── */
.ik-detail { display: none; }
.ik-detail.open { display: block; }
.ik-reqs { margin-bottom: 12px; }
.ik-req {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid var(--ik-line);
    border-radius: 10px;
    margin-bottom: 6px;
    font-size: 13px;
    background: #fff;
}
.ik-req .label { color: var(--ik-ink); font-weight: 500; }
.ik-note { font-size: 12px; color: var(--ik-muted); margin: 6px 0; }
.ik-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ik-rfid {
    background: #fff;
    border: 1px solid var(--ik-line);
    border-radius: 10px;
    color: var(--ik-ink);
    padding: 9px 12px;
    font-size: 13.5px;
    font-family: inherit;
}
.ik-rfid:focus { outline: none; border-color: var(--ik-primary); }

/* allow / deny result blocks */
.ik-block { border-radius: 10px; padding: 10px 12px; font-size: 13px; margin: 8px 0; }
.ik-block.allow { background: rgba(7, 151, 82, 0.1); color: #065f46; border: 1px solid rgba(7, 151, 82, 0.35); }
.ik-block.deny { background: rgba(220, 38, 38, 0.08); color: #991b1b; border: 1px solid rgba(220, 38, 38, 0.3); }

/* Rentals + return flow */
.ik-rentals { margin-top: 12px; }
.ik-rental {
    border: 1px solid var(--ik-line);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 8px;
    font-size: 13px;
    background: #fff;
}
.ik-return-form { background: var(--ik-canvas); border: 1px solid var(--ik-line); border-radius: 10px; padding: 12px; margin-top: 8px; }
.ik-return-fields { display: flex; flex-direction: column; gap: 8px; margin: 8px 0; }
.ik-return-fields input, .ik-return-fields select, .ik-return-fields textarea {
    background: #fff;
    border: 1px solid var(--ik-line);
    border-radius: 8px;
    color: var(--ik-ink);
    padding: 8px 10px;
    font-size: 13px;
    font-family: inherit;
}

/* Lockers */
.ik-locker-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid var(--ik-line);
    border-radius: 10px;
    padding: 9px 12px;
    margin-top: 8px;
    font-size: 13px;
    background: #fff;
}
.ik-locker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 8px; margin: 10px 0; }
.ik-lk-pick {
    background: #fff;
    border: 1px solid var(--ik-line);
    border-radius: 8px;
    color: var(--ik-ink);
    font-size: 13px;
    font-weight: 600;
    padding: 9px 0;
    cursor: pointer;
}
.ik-lk-pick:hover { border-color: var(--ik-primary); color: var(--ik-primary); }
.ik-lk-pick .ik-lk-sub { display: block; font-size: 10px; font-weight: 500; color: var(--ik-muted, #64748b); margin-top: 2px; line-height: 1.1; }

/* Issues-LockerPickerModal-001: grouped-by-area locker picker */
.ik-modal.ik-lk-modal { width: min(560px, 94vw); }
.ik-lk-zone { margin-top: 12px; }
.ik-lk-zone:first-of-type { margin-top: 6px; }
.ik-lk-zone-hd {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ik-muted, #64748b);
    border-bottom: 1px solid var(--ik-line);
    padding-bottom: 5px;
}
.ik-lk-zone-hd .ik-lk-zone-ct {
    margin-left: auto;
    background: var(--ik-line);
    color: var(--ik-ink);
    border-radius: 10px;
    padding: 1px 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
}
.ik-lk-zone .ik-locker-grid { margin-top: 8px; margin-bottom: 0; }
/* Visual locker-map modal (window.LockerMap) */
/* Issues-LockerPickerModal-001 follow-up (owner 2026-09-08): the generic .ik-modal rule
   below (480px) is declared LATER with equal specificity, so it was overriding this
   width on Guest Check-in — the Rentals desk got the wide map, Check-in did not. */
.ik-modal.ik-lk-mapmodal { width: min(1160px, 96vw); max-height: 94vh; }
.ik-lk-mapholder { margin: 6px 0 2px; }
.ik-lk-modal .ik-modal-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; }

/* ── Modals (approval / refund / customer / locker pick) ── */
.ik-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(2, 12, 27, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 120;
}
.ik-modal {
    background: #fff;
    color: var(--ik-ink);
    border-radius: 14px;
    box-shadow: 0 22px 60px rgba(2, 12, 27, 0.28);
    width: min(480px, 92vw);
    max-height: 88vh;
    overflow-y: auto;
    padding: 18px 20px;
    font-size: 13.5px;
}
.ik-modal h3 { font-size: 16px; margin-bottom: 10px; }
.ik-modal input, .ik-modal select, .ik-modal textarea {
    width: 100%;
    background: #fff;
    border: 1px solid var(--ik-line);
    border-radius: 8px;
    color: var(--ik-ink);
    padding: 9px 10px;
    font-size: 13.5px;
    font-family: inherit;
    margin-top: 4px;
}
.ik-modal-err { color: var(--ik-danger); font-size: 12.5px; margin-top: 8px; min-height: 16px; }
.ik-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }

/* Customer quick-view modal (openCustomer) */
.ik-cust-modal { max-width: 520px; }
.ik-cust-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.ik-cust-x { background: none; border: none; font-size: 22px; color: var(--ik-muted); cursor: pointer; }
.ik-cust-x:hover { color: var(--ik-ink); }
.ik-cust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; font-size: 13px; }
.ik-cust-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--ik-muted); }
.ik-cust-edit { color: var(--ik-primary); font-size: 12.5px; cursor: pointer; }
.ik-cust-context { font-size: 12px; color: var(--ik-muted); }
.ik-phase2 { opacity: 0.75; }

/* Date group with ◀ ▶ day-step buttons */
.ik-dategroup { display: inline-flex; align-items: center; gap: 6px; }
.ik-daynav {
    width: 40px;
    height: 40px;
    background: #fff;
    border: 1px solid var(--ik-line);
    border-radius: 10px;
    color: var(--ik-ink);
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
}
.ik-daynav:hover { border-color: var(--ik-primary); color: var(--ik-primary); }

/* ── Owner 2026-09-30: the guest list scrolls on its own, with a scrollbar you can see ──
   The whole main column used to be the only scroller, and pos.css paints every scrollbar as a 6px
   dark-navy strip (made for the dark POS) -- on this light page it barely showed. Desktop only; the
   narrow layouts below keep the plain page scroll. */
@media (min-width: 1001px) {
    .ik-page-checkin .ik-main { display: flex; flex-direction: column; overflow: hidden; }
    .ik-page-checkin .ik-main > * { flex-shrink: 0; }
    .ik-page-checkin .ik-main > .ik-sessions-card { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
    .ik-page-checkin .ik-sessions-card > .ik-sessions-head { flex-shrink: 0; }
    .ik-page-checkin #ikResults { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
}
#ikResults { scrollbar-width: auto; scrollbar-color: #94a3b8 #eef2f6; }
#ikResults::-webkit-scrollbar { width: 12px; }
#ikResults::-webkit-scrollbar-track { background: #eef2f6; }
#ikResults::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 6px; border: 2px solid #eef2f6; }
#ikResults::-webkit-scrollbar-thumb:hover { background: #64748b; }

/* Issues-CheckinAllDatesSearch-001: All dates button + cross-date search results */
.ik-daynav.ik-alldates { width: auto; padding: 0 10px; font-size: 12.5px; white-space: nowrap; }
.ik-daynav.ik-alldates.active { background: #0661F2; border-color: #0661F2; color: #fff; }
.ik-adlist { display: flex; flex-direction: column; }
.ik-adrow { display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 16px; border-bottom: 1px solid var(--ik-line); }
.ik-adrow:hover { background: #f8fafc; }
.ik-adwhen { font-weight: 600; color: var(--ik-ink); font-size: 13.5px; }
@media (max-width: 700px) { .ik-adrow { grid-template-columns: 1fr auto; } .ik-adwhen { grid-column: 1 / -1; } }

/* ── Narrow viewports ── */
@media (max-width: 1000px) {
    .ik-grid { grid-template-columns: 1fr; padding: 0 16px 16px; }
    /* The check-in card becomes an overlay when a guest is open. */
    .ik-drawer { display: none; }
    .ik-drawer.open {
        display: flex;
        position: fixed;
        inset: 0;
        margin: 0;
        max-height: none;
        border-radius: 0;
        z-index: 60;
    }
}
@media (max-width: 700px) {
    .ik-topbar { flex-wrap: wrap; gap: 10px; }
    .ik-top-right { margin-left: 0; }
}

/* ── Phone (Issues-AdminMobileDesign-001 step 4, owner 2026-09-29): the Office phone nav's
   "Check-in" opens this page. Scoped to the check-in page (body.ik-page-checkin) because
   intake.css is shared by every POS page. ── */
@media (max-width: 700px) {
    .ik-page-checkin .ik-topbar { padding: 8px 12px; gap: 8px; }
    .ik-page-checkin .ik-brand { font-size: 14px; }
    .ik-page-checkin .ik-top-right { margin-left: auto; }
    .ik-page-checkin .ik-top-right .cashier-name { display: none; }
    .ik-page-checkin .ik-logout { min-height: 40px; }
    .ik-page-checkin .ik-topnav { order: 3; flex: 1 1 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
    .ik-page-checkin .ik-topnav a { flex: 0 0 auto; padding: 8px 12px; white-space: nowrap; }
    .ik-page-checkin .ik-grid { padding: 0; }
    .ik-page-checkin .ik-main { padding: 14px 12px 24px; }
    .ik-page-checkin .ik-title h1 { font-size: 20px; }
    .ik-page-checkin .ik-title p { margin-bottom: 10px; }
    .ik-page-checkin .ik-title .ik-viewtoggle { width: 100%; display: flex; }
    .ik-page-checkin .ik-viewtoggle .ik-vt { flex: 1 1 0; min-height: 40px; }
    .ik-page-checkin .ik-toolbar { gap: 8px; }
    .ik-page-checkin .ik-dategroup { display: flex; flex: 1 1 100%; gap: 6px; }
    .ik-page-checkin .ik-dategroup input[type="date"] { flex: 1 1 auto; min-width: 0; min-height: 44px; font-size: 16px; }
    .ik-page-checkin .ik-daynav { min-width: 44px; min-height: 44px; }
    .ik-page-checkin .ik-toolbar > .ik-viewtoggle { flex: 1 1 100%; display: flex; }
    .ik-page-checkin .ik-toolbar input[type="search"] { flex: 1 1 100%; min-width: 0; max-width: none; min-height: 44px; font-size: 16px; }   /* 16px: no iOS zoom */
    .ik-page-checkin .ik-toolbar > .ik-btn { flex: 1 1 calc(50% - 4px); min-height: 40px; }
    .ik-page-checkin .ik-summary { grid-template-columns: 1fr 1fr; gap: 8px; }
    .ik-page-checkin .ik-session-head { padding: 10px 12px; flex-wrap: wrap; gap: 4px; }
    .ik-page-checkin .ik-guest-top { flex-wrap: wrap; gap: 6px 8px; padding: 12px 12px 12px 56px; position: relative; }
    .ik-page-checkin .ik-guest-top > .ik-avatar { position: absolute; left: 12px; top: 12px; }
    .ik-page-checkin .ik-guest-top > div:not(.ik-spacer) { flex: 1 1 100%; min-width: 0; }
    .ik-page-checkin .ik-guest-sub { overflow-wrap: anywhere; }
    .ik-page-checkin .ik-guest-top > .ik-spacer { display: none; }
    .ik-page-checkin .ik-guest-top > .ik-open-link { display: none; }          /* the whole row opens the guest */
    .ik-page-checkin .ik-drawer-head { padding: 10px 12px; }
    .ik-page-checkin .ik-drawer-x { min-width: 44px; min-height: 44px; }
    .ik-page-checkin .ik-drawer-body .ik-btn { min-height: 44px; }
}

/* ── Print / Export (Issues-IntakePrintExport-001) ── */
.ik-print-sheet { display: none; }
@media print {
    @page { margin: 12mm; }
    body { background: #fff !important; color: #000 !important; }
    body > *:not(#ikPrintSheet) { display: none !important; }
    .ik-print-sheet, .ik-print-sheet.show { display: block !important; position: static; width: 100%; font: 11px/1.35 Arial, Helvetica, sans-serif; color: #000; }
    .ik-print-sheet h1 { font-size: 18px; margin: 0 0 2px; }
    .ik-print-sheet .ik-print-meta { font-size: 11px; color: #333; margin-bottom: 10px; }
    .ik-print-sheet .ik-print-session { break-inside: avoid; page-break-inside: avoid; margin: 0 0 14px; }
    .ik-print-sheet h2 { font-size: 13px; margin: 10px 0 4px; padding-bottom: 2px; border-bottom: 1.5px solid #000; }
    .ik-print-sheet table { width: 100%; border-collapse: collapse; }
    .ik-print-sheet th, .ik-print-sheet td { border: 1px solid #999; padding: 3px 5px; text-align: left; vertical-align: top; }
    .ik-print-sheet th { background: #eee; font-size: 10.5px; text-transform: uppercase; letter-spacing: .03em; }
    .ik-print-sheet td.c { text-align: center; width: 34px; }
    .ik-print-sheet td.notes { width: 110px; }
    .ik-print-sheet .ik-print-sub { color: #444; font-size: 10px; }
}
