/* ── GOOGLE FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

/* ── ROOT VARIABLES ── */
:root {
  --green:       #1a3d2b;
  --green-mid:   #2c5c40;
  --green-light: #3d7a57;
  --gold:        #c9a84c;
  --gold-light:  #e8d5a3;
  --cream:       #f9f5ee;
  --cream-dark:  #ede8dc;
  --white:       #ffffff;
  --text-dark:   #1a1a18;
  --text-mid:    #4a4a42;
  --text-light:  #8a8a80;
}

/* ── GLOBAL FONT ── */
body,
.zCRM,
input, select, textarea, button,
.zcrmEntityDetails,
.zcrm-module-list,
.navpanel,
.crm-font-size-13,
.crm-font-bold {
  font-family: 'Jost', sans-serif !important;
  color: var(--text-dark) !important;
}

/* ── TOP NAVIGATION BAR ── */
#crm-topbar,
.crm-topbar-container,
.zohoCRM-topnav,
#topbar {
  background: var(--green) !important;
  border-bottom: 2px solid var(--gold) !important;
}

/* Top nav links */
#crm-topbar a,
.zohoCRM-topnav a,
.crm-topbar-container a {
  color: var(--cream) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

#crm-topbar a:hover,
.zohoCRM-topnav a:hover {
  color: var(--gold) !important;
}

/* Active nav item */
#crm-topbar .selected a,
.zohoCRM-topnav .active a,
.crm-topnav-active {
  color: var(--gold) !important;
  border-bottom: 2px solid var(--gold) !important;
}

/* ── LEFT SIDEBAR / MODULE NAV ── */
.navpanel,
.zcrm-navpanel,
#navPanel,
.crm-leftnav {
  background: var(--green) !important;
  border-right: 1px solid rgba(201,168,76,0.2) !important;
}

.navpanel a,
.zcrm-navpanel a,
#navPanel a,
.crm-leftnav a {
  color: rgba(249,245,238,0.75) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
}

.navpanel a:hover,
#navPanel a:hover,
.crm-leftnav a:hover {
  color: var(--gold) !important;
  background: rgba(201,168,76,0.08) !important;
}

.navpanel .selected,
#navPanel .selected,
.crm-leftnav .selected {
  background: rgba(201,168,76,0.15) !important;
  border-left: 3px solid var(--gold) !important;
}

.navpanel .selected a,
#navPanel .selected a {
  color: var(--gold) !important;
}

/* ── PAGE BACKGROUND ── */
body,
.zCRM,
.zcrmEntityDetails,
#mainDiv,
.crm-main-container,
.crm-module-content {
  background-color: var(--cream) !important;
}

/* ── CONTENT HEADER / PAGE TITLE ── */
.crm-module-header,
.zcrm-module-header,
.moduleTitle,
.crm-page-title,
.listView-header,
h1, h2, h3 {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--green) !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
}

/* ── BUTTONS ── */
/* Primary button */
.crm-button,
.zpBtn,
.zb-btn,
input[type="submit"],
button[type="submit"],
.btn-primary,
.save-btn,
.crm-btn-primary {
  background: var(--gold) !important;
  color: var(--green) !important;
  border: none !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 10px 24px !important;
  border-radius: 0 !important;
  transition: background 0.3s ease !important;
}

.crm-button:hover,
.zpBtn:hover,
.zb-btn:hover,
input[type="submit"]:hover,
.crm-btn-primary:hover {
  background: var(--gold-light) !important;
  color: var(--green) !important;
}

/* Secondary / cancel button */
.crm-btn-secondary,
.cancel-btn,
.crm-button-secondary {
  background: transparent !important;
  color: var(--green) !important;
  border: 1px solid var(--green) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
}

.crm-btn-secondary:hover {
  background: var(--green) !important;
  color: var(--cream) !important;
}

/* ── FORM FIELDS ── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="date"],
select,
textarea,
.crm-input,
.zcrm-input {
  background: var(--white) !important;
  border: 1px solid var(--cream-dark) !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  color: var(--text-dark) !important;
  padding: 10px 14px !important;
  transition: border-color 0.3s ease !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus,
.crm-input:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.15) !important;
}

/* Form labels */
.crm-label,
.zcrm-label,
label,
.zcrmEntityDetails label,
.field-label {
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--text-light) !important;
  margin-bottom: 4px !important;
}

/* ── LIST / TABLE VIEW ── */
.listView,
.crm-list-view,
.zcrm-list-view,
table.crm-table {
  background: var(--white) !important;
  border: 1px solid var(--cream-dark) !important;
}

/* Table header row */
.listView thead,
.crm-list-header,
table.crm-table thead tr,
.crm-table-header {
  background: var(--green) !important;
}

.listView thead th,
.crm-list-header th,
table.crm-table thead th,
.crm-table-header th {
  color: var(--cream) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border: none !important;
  padding: 12px 16px !important;
}

/* Table rows */
.listView tbody tr,
table.crm-table tbody tr {
  border-bottom: 1px solid var(--cream-dark) !important;
  transition: background 0.2s ease !important;
}

.listView tbody tr:hover,
table.crm-table tbody tr:hover {
  background: rgba(26,61,43,0.04) !important;
}

/* Table cells */
.listView tbody td,
table.crm-table tbody td {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  color: var(--text-dark) !important;
  padding: 12px 16px !important;
  border: none !important;
}

/* Selected row */
.listView tbody tr.selected,
table.crm-table tbody tr.selected {
  background: rgba(201,168,76,0.1) !important;
  border-left: 3px solid var(--gold) !important;
}

/* ── RECORD DETAIL VIEW ── */
.zcrmEntityDetails,
.crm-record-detail,
.zcrm-record-view {
  background: var(--cream) !important;
}

/* Section headers in record view */
.crm-section-header,
.zcrm-section-title,
.section-title {
  background: var(--green) !important;
  color: var(--cream) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  padding: 10px 16px !important;
  border-left: 3px solid var(--gold) !important;
}

/* Field values */
.crm-field-value,
.zcrm-field-value,
.field-value {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  color: var(--text-dark) !important;
}

/* ── PIPELINE / KANBAN VIEW ── */
.crm-kanban,
.zcrm-kanban,
.pipeline-view {
  background: var(--cream-dark) !important;
}

/* Kanban column headers */
.crm-kanban-header,
.kanban-stage-title,
.pipeline-stage-header {
  background: var(--green) !important;
  color: var(--gold) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 10px 16px !important;
  border-bottom: 2px solid var(--gold) !important;
}

/* Kanban cards */
.crm-kanban-card,
.kanban-card,
.pipeline-card {
  background: var(--white) !important;
  border: 1px solid var(--cream-dark) !important;
  border-radius: 0 !important;
  border-left: 3px solid var(--gold) !important;
  font-family: 'Jost', sans-serif !important;
  transition: box-shadow 0.2s ease !important;
}

.crm-kanban-card:hover,
.kanban-card:hover {
  box-shadow: 0 4px 16px rgba(26,61,43,0.12) !important;
}

/* ── NOTIFICATIONS & ALERTS ── */
.crm-notification-success,
.zcrm-alert-success {
  background: var(--green) !important;
  color: var(--cream) !important;
  border-left: 4px solid var(--gold) !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
}

.crm-notification-error,
.zcrm-alert-error {
  background: #5c1a1a !important;
  color: var(--cream) !important;
  border-left: 4px solid #c94c4c !important;
  border-radius: 0 !important;
}

/* ── LINKS ── */
a,
.crm-link,
.zcrm-link {
  color: var(--green-mid) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

a:hover,
.crm-link:hover {
  color: var(--gold) !important;
}

/* ── SEARCH BAR ── */
.crm-search,
.zcrm-search,
#globalSearch,
.crm-global-search input {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  color: var(--cream) !important;
  font-family: 'Jost', sans-serif !important;
  border-radius: 0 !important;
}

.crm-search::placeholder,
#globalSearch::placeholder {
  color: rgba(249,245,238,0.4) !important;
}

/* ── TABS ── */
.crm-tab,
.zcrm-tab {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--text-mid) !important;
}

.crm-tab.active,
.zcrm-tab.active,
.crm-tab:hover {
  color: var(--green) !important;
  border-bottom: 2px solid var(--gold) !important;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: var(--cream-dark);
}

::-webkit-scrollbar-thumb {
  background: var(--green-mid);
  border-radius: 0;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--gold);
}

/* ── MODAL / POPUP ── */
.crm-modal,
.zcrm-modal,
.crm-popup {
  border-radius: 0 !important;
  border-top: 3px solid var(--gold) !important;
}

.crm-modal-header,
.crm-popup-header {
  background: var(--green) !important;
  color: var(--cream) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
  padding: 20px 24px !important;
}

/* ── BADGES / TAGS ── */
.crm-badge,
.zcrm-tag,
.crm-tag {
  background: rgba(201,168,76,0.15) !important;
  color: var(--green) !important;
  border: 1px solid rgba(201,168,76,0.4) !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* ── LOADING SPINNER ── */
.crm-loader,
.zcrm-spinner {
  border-color: var(--gold) !important;
  border-top-color: var(--green) !important;
}