/* 대면 상담 고객·회차 원장 — admin.html의 기존 테마 토큰과 도구 레이어를 사용 */
.admin-tool-layer #view-offline-members { flex-direction: column; gap: 16px; }
.admin-tool-layer .offline-ledger { width: 100%; margin: 0; padding: 20px; min-width: 0; background: var(--bg-box); backdrop-filter: none; }
.offline-ledger-heading, .offline-section-heading, .offline-subpanel-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.offline-ledger-heading h3 { font-size: 20px; line-height: 1.5; }
.offline-ledger-eyebrow { margin-bottom: 4px; color: var(--pink-ink); font-size: 13px; }
.offline-ledger-state { flex: 0 0 auto; padding: 6px 11px; border: 1px solid var(--border-box-purple); border-radius: 99px; color: var(--text-sub); font-size: 13px; }
.offline-ledger-intro, .offline-ledger-note { margin-top: 14px; color: var(--text-sub); font-size: 14px; line-height: 1.8; }
.offline-ledger-note { padding-top: 14px; border-top: 1px solid var(--border-box-purple); }
.offline-section { scroll-margin-top: 100px; }
/* 입력 중에는 폼의 위치를 유지한다. */
.offline-section:hover { transform: none; }
.offline-section-heading { align-items: flex-start; margin-bottom: 16px; }
.offline-section-heading h4 { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; font-size: 17px; }
.offline-section-heading p, .offline-selected-customer { color: var(--text-sub); font-size: 13px; line-height: 1.65; }
.offline-selected-customer { margin: 0; }
.offline-session-heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.offline-customer-layout { display: grid; grid-template-columns: minmax(220px, .82fr) minmax(0, 1.5fr); gap: 14px; align-items: start; }
.offline-subpanel { min-width: 0; padding: 16px; border: 1px solid var(--border-box-purple); border-radius: 10px; background: var(--bg-card-inner); }
.offline-subpanel-heading { margin-bottom: 12px; }
.offline-subpanel-heading h5 { color: var(--text-pure); font-size: 15px; }
.offline-subpanel-heading .offline-snapshot-note { color: var(--text-muted); font-size: 12px; }
.offline-search-form, .offline-filter-form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.offline-search-field { flex: 1 1 160px; }
.offline-filter-form { margin: 16px 0 8px; }
.offline-filter-form .offline-field { flex: 1 1 145px; }
.offline-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; color: var(--text-sub); font: 600 13px/1.45 var(--font-main); }
.offline-field input, .offline-field select, .offline-field textarea { width: 100%; min-width: 0; font: 400 14px/1.5 var(--font-main); }
.offline-field textarea { resize: vertical; }
.offline-required { color: var(--text-muted); font-size: 11px; font-weight: 500; }
.offline-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.offline-field-wide { grid-column: 1 / -1; }
.offline-form-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.offline-form-fields:disabled { opacity: .62; }
.offline-check-field { display: flex; align-items: center; align-self: end; gap: 8px; min-height: 38px; color: var(--text-sub); font-size: 13px; }
.offline-check-field input, .offline-topic-grid input { accent-color: var(--neon-cyan); }
.offline-check-field input { width: 16px; height: 16px; flex: 0 0 auto; }
.offline-topic-fieldset, .offline-participant-fieldset { min-width: 0; margin: 2px 0; padding: 12px; border: 1px solid var(--border-box-purple); border-radius: 9px; }
.offline-topic-fieldset legend, .offline-participant-fieldset legend { padding: 0 5px; color: var(--text-pure); font-size: 13px; font-weight: 700; }
.offline-topic-grid { display: flex; flex-wrap: wrap; gap: 8px 14px; }
.offline-topic-grid label { display: inline-flex; align-items: center; gap: 6px; color: var(--text-sub); font-size: 13px; }
.offline-topic-grid input { width: 15px; height: 15px; }
.offline-form-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; }
.offline-button-row, .offline-reading-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.offline-status { min-height: 1.5em; margin: 8px 0 0; color: var(--text-sub); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.offline-status[role="alert"] { color: var(--neon-yellow); }
.offline-editor-empty { padding: 16px 0; color: var(--text-muted); font-size: 14px; line-height: 1.7; }
.offline-record-list { display: grid; gap: 7px; min-width: 0; margin-top: 10px; }
.offline-list-item { display: grid; gap: 4px; width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--border-box-purple); border-radius: 8px; background: var(--bg-box); color: var(--text-sub); text-align: left; font: 400 13px/1.5 var(--font-main); cursor: pointer; }
.offline-list-item:hover, .offline-list-item:focus-visible { border-color: var(--neon-cyan); color: var(--text-pure); outline: none; }
.offline-list-item[aria-selected="true"] { border-color: var(--neon-cyan); box-shadow: 0 0 0 1px color-mix(in srgb, var(--neon-cyan) 32%, transparent); }
.offline-list-title { color: var(--text-pure); font-weight: 700; overflow-wrap: anywhere; }
.offline-list-meta { color: var(--text-muted); font-size: 12px; overflow-wrap: anywhere; }
.offline-pager { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 34px; margin-top: 12px; color: var(--text-sub); font-size: 12px; }
.offline-pager button:disabled { opacity: .5; cursor: not-allowed; }
.offline-reading-actions { margin-top: 12px; }
.offline-section[hidden], .offline-form[hidden], .offline-participant-fieldset[hidden] { display: none !important; }
@media (max-width: 768px) {
  .admin-tool-layer .offline-ledger { padding: 16px; }
  .offline-ledger-heading h3 { font-size: 18px; }
  .offline-customer-layout { grid-template-columns: minmax(0, 1fr); }
  .offline-form-grid { gap: 10px; }
  .offline-section { scroll-margin-top: 75px; }
  .offline-filter-form .offline-field { flex-basis: 130px; }
}
@media (max-width: 420px) {
  .offline-ledger-heading { align-items: flex-start; }
  .offline-form-grid { grid-template-columns: minmax(0, 1fr); }
  .offline-field-wide { grid-column: auto; }
  .offline-subpanel { padding: 12px; }
  .offline-form-actions { align-items: stretch; }
  .offline-button-row { justify-content: stretch; width: 100%; }
  .offline-button-row .btn-action { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .offline-list-item { transition: none; }
}

/* 회원 게시판 + 원본 폼을 유지하는 메모장 팝업 */
.offline-ledger .offline-search-form { margin-top: 18px; }
.offline-member-board { gap: 0; margin-top: 0; }
.offline-board-heading, .offline-member-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr) auto; gap: 16px; align-items: center; padding: 14px 12px; }
.offline-board-heading { margin-top: 18px; border-bottom: 1px solid var(--border-box-purple); color: var(--text-muted); font-size: 12px; }
.offline-member-row { border-bottom: 1px solid var(--border-box-purple); border-left: 3px solid transparent; }
.offline-member-row.is-selected { border-left-color: var(--neon-cyan); background: var(--bg-card-inner); }
.offline-member-identity { display: grid; gap: 4px; min-width: 0; }
.offline-member-birth { color: var(--text-sub); font-size: 13px; overflow-wrap: anywhere; }
.offline-member-actions { display: flex; gap: 6px; }
.offline-row-action { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--border-box-purple); border-radius: 8px; background: var(--bg-box); color: var(--text-pure); font: 600 13px/1.5 var(--font-main); cursor: pointer; }
.offline-row-action:hover { border-color: var(--neon-cyan); background: var(--bg-card-inner); }
.offline-row-action:focus-visible, .offline-dialog-tabs button:focus-visible, .offline-details summary:focus-visible { outline: 2px solid var(--neon-cyan); outline-offset: 3px; }
.offline-member-dialog { position: fixed; inset: 0; width: min(760px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 1px solid var(--border-box-purple); border-radius: 16px; background: var(--bg-box); color: var(--text-pure); box-shadow: 0 18px 70px rgba(0, 0, 0, .35); overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.offline-member-dialog::backdrop { background: rgba(0, 0, 0, .32); }
.offline-dialog-panel { min-width: 0; padding: 20px; }
.offline-member-dialog[open] .offline-dialog-panel { animation: offlineNoteOpen .18s ease-out both; }
.offline-member-dialog.is-closing .offline-dialog-panel { animation: offlineNoteClose .12s ease-in both; }
.offline-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.offline-dialog-heading h3 { color: var(--text-pure); font-size: 20px; overflow-wrap: anywhere; }
.offline-dialog-heading > div { min-width: 0; }
.offline-dialog-heading > button { flex-shrink: 0; }
.offline-dialog-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin: 16px 0; padding-bottom: 12px; border-bottom: 1px solid var(--border-box-purple); }
.offline-dialog-tabs { display: flex; gap: 4px; }
.offline-dialog-tabs button { min-height: 44px; padding: 8px 12px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--text-sub); font: 600 14px/1.5 var(--font-main); cursor: pointer; }
.offline-dialog-tabs button[aria-selected="true"] { border-color: var(--border-box-purple); background: var(--bg-card-inner); color: var(--text-pure); }
.offline-dialog-tabs button:disabled { opacity: .4; cursor: not-allowed; }
.offline-dialog-body .offline-section { margin: 0; min-width: 0; }
.offline-dialog-body .offline-snapshot-note { color: var(--text-muted); font-size: 12px; }
.offline-details { padding: 12px; border: 1px solid var(--border-box-purple); border-radius: 10px; }
.offline-details summary { color: var(--text-sub); font: 600 13px/1.6 var(--font-main); cursor: pointer; }
.offline-details[open] summary { margin-bottom: 14px; }
.offline-notepad { min-height: 190px; line-height: 1.85 !important; }
.offline-list-preview { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--text-sub); font-size: 13px; overflow-wrap: anywhere; white-space: pre-wrap; }
.offline-list-item[aria-pressed="true"] { border-color: var(--neon-cyan); }
#offline-resume[hidden] { display: none; }
@keyframes offlineNoteOpen { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes offlineNoteClose { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(6px); } }
@media (max-width: 600px) {
  .offline-board-heading { display: none; }
  .offline-member-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 14px 6px; }
  .offline-member-birth { grid-column: 1; font-size: 12px; }
  .offline-member-actions { grid-row: 1 / 3; grid-column: 2; gap: 4px; }
  .offline-row-action { flex-direction: column; gap: 2px; min-width: 44px; padding: 6px; font-size: 11px; }
  .offline-member-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 24px); border-radius: 12px; }
  .offline-dialog-panel { padding: 14px; }
  .offline-dialog-tabs button { padding: 8px; font-size: 13px; }
  .offline-dialog-toolbar { gap: 6px; }
  .offline-dialog-toolbar > button { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .offline-member-dialog[open] .offline-dialog-panel, .offline-member-dialog.is-closing .offline-dialog-panel { animation: none; }
}
