/* care-base.css — heremom ERP 공유 디자인 토큰(관리자·포털 통일) */
:root {
  /* Claude DESIGN.md 토큰 — 크림 캔버스 + 웜 코랄 + 헤어라인 (heremom 케어 ERP 공통) */
  --bg: #faf9f5;          /* canvas */
  --card: #ffffff;
  --surface-card: #efe9de;
  --dark: #181715;
  --ink: #141413;
  --ink-soft: #6c6a64;    /* muted */
  --ink-faint: #8e8b82;   /* muted-soft */
  --line: #e6dfd8;        /* hairline */
  --line-soft: #ebe6df;
  --accent: #d95927;      /* coral — 활성·강조 */
  --accent-soft: #f8e6db; /* 옅은 코랄 */
  --accent-line: #f0c9b6;
  --warn: #b07d1a;        /* amber-gold (no_show/대기) */
  --warn-soft: #f6ecd8;
  --danger: #c64545;
  --danger-soft: #f7e6e4;
  --ok: #147a63;          /* green — 완료 */
  --ok-soft: #e7f3ef;
  /* 라운드 3단(08-28 확정): 8=버튼·입력·칩·태그 / 12=카드·패널·모달·시트 / 20=정적 배지 pill.
     sm·lg는 하위호환 별칭 — 값 바꿀 때 3단 유지할 것 */
  --radius: 12px;
  --radius-btn: 8px;
  --radius-sm: 8px;
  --radius-lg: 12px;
  --radius-pill: 20px;
  --serif: Georgia, 'Times New Roman', serif;
  --shadow: 0 1px 3px rgba(20,20,19,.05);
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Apple SD Gothic Neo', 'Malgun Gothic', system-ui, -apple-system, 'Segoe UI', sans-serif;
  background: var(--bg); color: var(--ink);
  -webkit-font-smoothing: antialiased; line-height: 1.45;
}
[hidden] { display: none !important; }

/* 상태 배지 — 공유 매핑(예정/완료/취소/노쇼/대기 …) */
.badge { display: inline-block; padding: 2px 9px; border-radius: var(--radius-pill); font-size: 11px; font-weight: 600; white-space: nowrap; }
.badge.on, .badge.scheduled { background: var(--accent-soft); color: var(--accent); }
.badge.done, .badge.completed { background: var(--accent); color: #fff; }
.badge.off, .badge.cancelled, .badge.inactive { background: #f0f1f3; color: var(--ink-faint); }
.badge.warn, .badge.pending, .badge.no_show { background: var(--warn-soft); color: var(--warn); }
.badge.danger { background: var(--danger-soft); color: var(--danger); }

/* 숫자 정렬 */
.num, .tnum { font-variant-numeric: tabular-nums; }

/* 공용 버튼 — CTA 코랄 */
:root { --cta: #d95927; --cta-active: #b8481d; }
.btn-primary { border: none; border-radius: var(--radius-btn); background: var(--cta); color: #fff; font-size: 14px; font-weight: 650; line-height: 1.2; padding: 9px 16px; cursor: pointer; }
.btn-primary:active { background: var(--cta-active); }
.btn-primary:disabled { background: #e6dfd8; color: var(--ink-faint); cursor: not-allowed; }
.btn-ghost { border: 1px solid var(--line); border-radius: var(--radius-btn); background: var(--card); color: var(--ink); font-size: 13px; line-height: 1.2; padding: 8px 13px; cursor: pointer; }
.btn-ghost:hover { background: var(--surface-card); }
.btn-ghost:disabled { color: var(--ink-faint); background: #f4f1ec; cursor: not-allowed; }
.btn-ghost:disabled:hover { background: #f4f1ec; }
.btn-mini { border: 1px solid var(--line); background: var(--card); border-radius: var(--radius-sm); font-size: 12px; line-height: 1.2; padding: 4px 9px; cursor: pointer; color: var(--ink-soft); }
.btn-mini:hover { background: var(--surface-card); }
.btn-mini.danger { color: var(--danger); border-color: #e6cbc7; }

/* 토스트 */
.toast { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%); background: var(--dark); color: #fff; padding: 11px 18px; border-radius: var(--radius); font-size: 13px; box-shadow: 0 8px 24px rgba(0,0,0,.2); z-index: 60; }
.toast.err { background: var(--danger); }

/* 출장(방문) 조건 경고색 — 어드민·실장 포털 공용.
   .cond-bad  = 출장 필수 3조건(공간·엘베·주차) 미충족 · 이동 동선 계단 있음
   .cond-warn = 돌보미 없음 등 상담 때 확인할 주의 항목 */
.cond-bad { color: var(--danger); font-weight: 700; }
.cond-warn { color: var(--warn); font-weight: 700; }
select.cond-bad { border-color: var(--danger); background: var(--danger-soft); }
select.cond-warn { border-color: var(--warn); background: var(--warn-soft); }
