/**
 * UCT — ปุ่มในระบบใช้สีส้ม Unicharm ทั้งหมด
 * ยกเว้น: danger/reject (แดง), approve (เขียว), ปุ่มเช็คอินเข้างาน (เขียว)
 */
:root {
  --uct-btn: #F47B20;
  --uct-btn-hover: #E86A12;
  --uct-btn-dark: #C45A0F;
  --uct-btn-grad: linear-gradient(135deg, #FCB034 0%, #F47B20 48%, #E86A12 100%);
  --uct-btn-shadow: 0 4px 14px rgba(244, 123, 32, 0.32);
}

/* ===== Filled / primary buttons ===== */
body .btn-primary,
body .btn-accent,
body .ah-btn-primary,
body label.ah-btn-primary,
body .ep-btn-save,
body .pr-save,
body .bp-save,
body .db-filter-apply-btn,
body .db-oos-view-photo-btn,
body .db-oos-page-btn.active,
body .db-filter-excel-btn,
body .mob-btn-nudge,
body .mob-chip-filter.on,
body .mob-day-pulse-btn,
body .mob-comp-mission-cta:not(.mob-comp-mission-cta-secondary),
body .mob-comp-mission-submit,
body .mob-geo-cta,
body .mob-geo-btn,
body .mob-leave-submit,
body .mob-swap-submit,
body .mob-profile-save,
body .mob-route-today-go,
body .mob-thcal-action,
body .cp-competitor-btn-primary,
body .cp-competitor-refresh-btn,
body .cp-competitor-download-all-btn,
body .sod-admin-btn,
body .sod-range-btn.is-active,
body .ah-route-nav-btn.active,
body .ah-rw-tab.active,
body .rs-sup-type-chip.is-on,
body .rs-team-tab.active,
body .rs-team-view-btn.active,
body .rs-team-week-today,
body .rs-sup-btn-primary,
body .rs-sup-save,
body .att-btn-primary,
body .ah-hub-btn-primary,
body .bs-btn-primary,
body .bs-save-btn,
body .ap-btn-primary,
body .cp-btn-primary,
body #cam-done-btn,
body #btn-login,
body #btn-admin-verify,
body #db-oos-popup-save,
body #kc-webpush-on,
body button.ah-btn.ah-btn-primary,
body .pc-panel-bell-btn.is-active {
  background: var(--uct-btn-grad) !important;
  background-color: var(--uct-btn) !important;
  border-color: var(--uct-btn) !important;
  color: #fff !important;
  box-shadow: var(--uct-btn-shadow) !important;
}

body .btn-primary:hover,
body .btn-accent:hover,
body .ah-btn-primary:hover,
body .ep-btn-save:hover,
body .db-filter-apply-btn:hover,
body .sod-admin-btn:hover,
body .mob-day-pulse-btn:hover,
body .cp-competitor-btn-primary:hover,
body .cp-competitor-refresh-btn:hover {
  background: var(--uct-btn-hover) !important;
  background-image: none !important;
  color: #fff !important;
}

/* ===== Outline / secondary buttons ===== */
body .btn-outline,
body .ah-btn-outline,
body label.ah-btn-outline,
body .mob-btn-outline,
body .mob-btn-warn,
body .cp-competitor-btn-secondary,
body .mob-comp-mission-cta-secondary,
body .db-clear-btn,
body .db-mob-filter-btn,
body .sod-today-btn,
body .rs-team-week-btn,
body .ah-route-nav-btn:not(.active),
body .db-oos-page-btn:not(.active),
body .db-oos-action-btn,
body .cp-competitor-back-btn,
body .cp-competitor-back-sub-btn {
  border-color: var(--uct-btn) !important;
  color: var(--uct-btn-hover) !important;
}

body .btn-outline:not([style*="background:#F47B20"]):not([style*="background: #F47B20"]),
body .ah-btn-outline,
body label.ah-btn-outline,
body .mob-btn-outline,
body .db-clear-btn,
body .db-mob-filter-btn,
body .sod-today-btn,
body .rs-team-week-btn,
body .ah-route-nav-btn:not(.active),
body .db-oos-page-btn:not(.active),
body .cp-competitor-btn-secondary,
body .mob-comp-mission-cta-secondary,
body .cp-competitor-back-btn,
body .cp-competitor-back-sub-btn {
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* ===== Inline blue button backgrounds → orange ===== */
body button[style*="background:#233E99"],
body button[style*="background: #233E99"],
body button[style*="background:#1A2F7A"],
body button[style*="background: #1A2F7A"],
body button[style*="background:#2B4DB3"],
body button[style*="background: #2B4DB3"] {
  background: var(--uct-btn) !important;
  background-image: var(--uct-btn-grad) !important;
  border-color: var(--uct-btn) !important;
  color: #fff !important;
}

body button[style*="border-color:#233E99"],
body button[style*="border-color: #233E99"],
body button[style*="color:#233E99"][style*="border"] {
  border-color: var(--uct-btn) !important;
  color: var(--uct-btn-hover) !important;
}

/* tissue theme primary */
body.mt-tissue-brand .btn-primary,
body.mt-tissue-brand .mob-comp-mission-cta:not(.mob-comp-mission-cta-secondary),
body.mt-tissue-brand .mob-comp-mission-submit,
body.mt-tissue-brand .cp-competitor-btn-primary,
body.mt-tissue-brand #s-checkin #ci-checkout-btn {
  background: var(--uct-btn-grad) !important;
  color: #fff !important;
  border: none !important;
}

body.mt-tissue-brand .btn-outline,
body.mt-tissue-brand .mob-comp-mission-cta-secondary,
body.mt-tissue-brand .cp-competitor-btn-secondary {
  background: #fff !important;
  border: 1.5px solid var(--uct-btn) !important;
  color: var(--uct-btn-hover) !important;
}

/* ===== Keep danger / approve / check-in green ===== */
body .btn-red,
body .ah-btn-danger,
body .mob-btn-reject,
body button.btn-red {
  background: #C62828 !important;
  background-image: none !important;
  border-color: #C62828 !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(198, 40, 40, 0.25) !important;
}

body .mob-btn-approve {
  background: #E8F5E9 !important;
  background-image: none !important;
  color: #2E7D32 !important;
  border-color: #A5D6A7 !important;
  box-shadow: none !important;
}

body.mt-tissue-brand #s-checkin #ci-checkin-btn {
  background: linear-gradient(145deg, #c8e6d4 0%, #8fd4a8 50%, #6bc48a 100%) !important;
  color: #1e4d32 !important;
  box-shadow: var(--mt-tissue-shadow-sm, 0 4px 14px rgba(0, 0, 0, 0.08)) !important;
}

/* dark mode chips */
html.dark body .mob-chip-filter.on,
html.dark body .sod-range-btn.is-active,
html.dark body .ah-rw-tab.active,
html.dark body .rs-team-tab.active,
html.dark body .rs-team-view-btn.active {
  background: var(--uct-btn) !important;
  border-color: var(--uct-btn) !important;
  color: #fff !important;
}
