/* ============================================================
   APSX Platform — bootstrap-reskin.css
   โหลด "หลัง" bootstrap.min.css เสมอ
   SECTION 1 = สีตาม color strategy ของโปรเจกต์ (Committed — Jade)
   SECTION 2+ = มาตรฐานประจำบ้าน (typography / radius / shadow / component)
   ============================================================ */

/* ---------- SECTION 1: COLOR (แก้เฉพาะส่วนนี้ต่อโปรเจกต์) ---------- */
:root {
  --ap-brand:       oklch(0.52 0.11 178);  /* หยก — ปุ่มหลัก, active, link */
  --ap-brand-hover: oklch(0.46 0.11 178);
  --ap-brand-deep:  oklch(0.32 0.06 185);  /* sidebar, หัวเอกสาร */
  --ap-brand-soft:  oklch(0.95 0.025 175); /* พื้น badge/highlight อ่อน */
  --ap-bg:          oklch(0.985 0.006 160);/* พื้นหลังกระดาษอุ่นเขียวจาง */
  --ap-surface:     oklch(1 0 0);
  --ap-ink:         oklch(0.25 0.02 185);
  --ap-ink-soft:    oklch(0.45 0.02 185);
  --ap-line:        oklch(0.90 0.012 175);
  --ap-accent-warm: oklch(0.72 0.13 65);   /* อำพัน — นัดหมาย/ไฮไลต์ */
  --ap-danger:      oklch(0.55 0.19 25);   /* แพ้ยา/สต๊อกต่ำ */
  --ap-success:     oklch(0.56 0.12 155);
  --ap-info:        oklch(0.58 0.10 220);

  --bs-body-bg: var(--ap-bg);
  --bs-body-color: var(--ap-ink);
  --bs-border-color: var(--ap-line);
  --bs-link-color: var(--ap-brand);
  --bs-link-hover-color: var(--ap-brand-hover);
  --bs-font-sans-serif: 'IBM Plex Sans Thai', 'Segoe UI', system-ui, sans-serif;
}

.btn-primary {
  --bs-btn-bg: var(--ap-brand);
  --bs-btn-border-color: var(--ap-brand);
  --bs-btn-hover-bg: var(--ap-brand-hover);
  --bs-btn-hover-border-color: var(--ap-brand-hover);
  --bs-btn-active-bg: var(--ap-brand-hover);
  --bs-btn-active-border-color: var(--ap-brand-hover);
  --bs-btn-disabled-bg: var(--ap-brand);
  --bs-btn-disabled-border-color: var(--ap-brand);
}
.btn-outline-primary {
  --bs-btn-color: var(--ap-brand);
  --bs-btn-border-color: var(--ap-brand);
  --bs-btn-hover-bg: var(--ap-brand);
  --bs-btn-hover-border-color: var(--ap-brand);
  --bs-btn-active-bg: var(--ap-brand);
  --bs-btn-active-border-color: var(--ap-brand);
}
.text-primary { color: var(--ap-brand) !important; }
.bg-primary { background-color: var(--ap-brand) !important; }
.btn-danger { --bs-btn-bg: var(--ap-danger); --bs-btn-border-color: var(--ap-danger); }
.text-danger { color: var(--ap-danger) !important; }
.btn-success { --bs-btn-bg: var(--ap-success); --bs-btn-border-color: var(--ap-success); }
.badge.text-bg-primary { background-color: var(--ap-brand) !important; }
.badge.text-bg-warning { background-color: var(--ap-accent-warm) !important; color: #fff !important; }
.form-control:focus, .form-select:focus {
  border-color: var(--ap-brand);
  box-shadow: 0 0 0 .2rem oklch(0.52 0.11 178 / 0.15);
}
.page-link { color: var(--ap-brand); }
.page-item.active .page-link { background-color: var(--ap-brand); border-color: var(--ap-brand); }
.nav-pills .nav-link.active { background-color: var(--ap-brand); }
.form-check-input:checked { background-color: var(--ap-brand); border-color: var(--ap-brand); }

/* ---------- SECTION 2: TYPOGRAPHY (มาตรฐาน) ---------- */
body { font-size: 0.95rem; letter-spacing: 0.01em; }
h1, .h1 { font-size: 1.953rem; font-weight: 600; }
h2, .h2 { font-size: 1.563rem; font-weight: 600; }
h3, .h3 { font-size: 1.25rem;  font-weight: 600; }
h4, .h4 { font-size: 1.1rem;   font-weight: 600; }
.small, small { font-size: 0.82rem; }
.text-soft { color: var(--ap-ink-soft); }

/* ---------- SECTION 3: RADIUS / SHADOW / SURFACE (มาตรฐาน) ---------- */
.card {
  --bs-card-bg: var(--ap-surface);
  border: 1px solid var(--ap-line);
  border-radius: 0.65rem;
  box-shadow: 0 1px 2px oklch(0.32 0.06 185 / 0.05);
}
.card-header {
  background: transparent;
  border-bottom: 1px solid var(--ap-line);
  font-weight: 600;
  padding: 0.9rem 1.15rem;
}
.btn { border-radius: 0.5rem; font-weight: 500; }
.form-control, .form-select { border-radius: 0.5rem; }
.modal-content { border-radius: 0.75rem; border: none; }
.table { --bs-table-hover-bg: oklch(0.97 0.012 175); }
.table thead th {
  font-size: 0.8rem; font-weight: 600; text-transform: none;
  color: var(--ap-ink-soft); border-bottom: 2px solid var(--ap-line);
  background: oklch(0.975 0.008 170);
}
.dropdown-menu { border: 1px solid var(--ap-line); border-radius: 0.6rem;
  box-shadow: 0 8px 24px oklch(0.32 0.06 185 / 0.10); }
.alert { border-radius: 0.6rem; }
