/* ==========================================================================
   Dragon ERP - Sales Governance & Commission Design System
   Extracted from the Sales Commission Governance Center (V4.5 Real-Time Engine)
   Unifies all sales screens (Invoices, Returns, Cash Van, Policies, Quotations, POS)
   ========================================================================== */

:root {
  /* Brand Navy & Slate Palette */
  --erp-brand-900: #0f2942;
  --erp-brand-850: #143352;
  --erp-brand-800: #1e3a8a;
  --erp-brand-700: #1d4ed8;
  --erp-brand-600: var(--ui-primary, #0284c7);
  --erp-brand-500: var(--ui-primary, #0284c7);
  --erp-brand-100: var(--ui-primary-soft, #e0f2fe);
  --erp-brand-50:  var(--ui-primary-soft, #f0f7ff);

  /* Surfaces & Neutral Backgrounds */
  --erp-bg-app:     var(--ui-bg, #f8fafc);
  --erp-bg-card:    var(--ui-surface, #ffffff);
  --erp-bg-light:   var(--ui-surface-2, #f1f5f9);
  --erp-bg-muted:   var(--ui-surface-2, #f8fafc);
  --erp-text-main:  var(--ui-text, #0f172a);
  --erp-text-sub:   var(--ui-text-2, #475569);
  --erp-text-muted: var(--ui-text-muted, #94a3b8);

  /* Borders & Dividers */
  --erp-border-light:  var(--ui-border, #e2e8f0);
  --erp-border-medium: var(--ui-border-strong, #cbd5e1);
  --erp-border-dark:   var(--ui-border-strong, #334155);

  /* Accent Semantic Colors */
  --erp-emerald: var(--ui-success, #059669);
  --erp-emerald-bg: var(--ui-success-soft, #ecfdf5);
  --erp-emerald-border: var(--ui-border, #a7f3d0);
  
  --erp-amber:   var(--ui-warning, #d97706);
  --erp-amber-bg: var(--ui-warning-soft, #fffbeb);
  --erp-amber-border: var(--ui-border, #fde68a);

  --erp-rose:    var(--ui-danger, #e11d48);
  --erp-rose-bg: var(--ui-danger-soft, #fff1f2);
  --erp-rose-border: var(--ui-border, #fecdd3);

  --erp-sky:     var(--ui-primary, #0284c7);
  --erp-sky-bg:  var(--ui-primary-soft, #f0f9ff);
  --erp-sky-border: var(--ui-primary-border, #bae6fd);

  --erp-indigo:  #4f46e5;
  --erp-indigo-bg: #eef2ff;
  --erp-indigo-border: #c7d2fe;

  --erp-violet:  #7c3aed;
  --erp-violet-bg: #f5f3ff;
  --erp-violet-border: #ddd6fe;

  /* Shadows */
  --erp-shadow-xs: var(--ui-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.04));
  --erp-shadow-sm: var(--ui-shadow-sm, 0 1px 3px 0 rgba(0, 0, 0, 0.08));
  --erp-shadow-md: var(--ui-shadow, 0 4px 6px -1px rgba(0, 0, 0, 0.08));
  --erp-shadow-card: var(--ui-shadow, 0 4px 14px 0 rgba(15, 23, 42, 0.05));
}

/* Base Workspace Typography & Smoothing */
.erp-sales-workspace,
.commission-center-wrapper {
  font-family: 'Cairo', 'Segoe UI', Tahoma, -apple-system, BlinkMacSystemFont, sans-serif !important;
  background-color: var(--erp-bg-app);
  color: var(--erp-text-main);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   1. Toolbar & Filter Strip
   ========================================================================== */
.erp-sales-toolbar {
  background: var(--erp-bg-card);
  border-bottom: 1px solid var(--erp-border-light);
  box-shadow: var(--erp-shadow-xs);
  padding: 0.625rem 1rem;
}

.erp-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  background-color: var(--erp-bg-muted);
  border: 1px solid var(--erp-border-light);
  border-radius: 0.5rem;
  padding: 0.35rem 0.65rem;
  font-size: 0.75rem;
  transition: border-color 0.15s ease-in-out;
}

.erp-filter-chip:focus-within {
  border-color: var(--erp-brand-500);
  background-color: #fff;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

.erp-filter-chip select,
.erp-filter-chip input {
  border: none;
  background: transparent;
  font-weight: 700;
  font-size: 0.75rem;
  color: var(--erp-text-main);
  padding: 0;
  outline: none;
}

/* ==========================================================================
   2. Executive KPI Cards Grid
   ========================================================================== */
.erp-kpi-card {
  background: var(--erp-bg-card);
  border: 1px solid var(--erp-border-light);
  border-radius: 0.75rem;
  padding: 1rem 1.15rem;
  position: relative;
  overflow: hidden;
  box-shadow: var(--erp-shadow-xs);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.erp-kpi-card:hover {
  transform: translateY(-2px);
  border-color: var(--erp-border-medium);
  box-shadow: var(--erp-shadow-card);
}

.erp-kpi-card::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: var(--erp-border-light);
}

.erp-kpi-card.kpi-brand::before  { background: linear-gradient(90deg, #2563eb, #38bdf8); }
.erp-kpi-card.kpi-emerald::before{ background: linear-gradient(90deg, #059669, #34d399); }
.erp-kpi-card.kpi-amber::before  { background: linear-gradient(90deg, #d97706, #fbbf24); }
.erp-kpi-card.kpi-indigo::before { background: linear-gradient(90deg, #4f46e5, #818cf8); }
.erp-kpi-card.kpi-rose::before   { background: linear-gradient(90deg, #e11d48, #f43f5e); }

/* Gracefully upgrade legacy border-start KPI cards in sales workspace */
.erp-sales-workspace .card.border-start {
  background: var(--erp-bg-card) !important;
  border: 1px solid var(--erp-border-light) !important;
  border-radius: 0.75rem !important;
  box-shadow: var(--erp-shadow-xs) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}
.erp-sales-workspace .card.border-start:hover {
  transform: translateY(-2px);
  border-color: var(--erp-border-medium) !important;
  box-shadow: var(--erp-shadow-card) !important;
}
.erp-sales-workspace .card.border-start::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: var(--erp-border-light);
}
.erp-sales-workspace .card.border-start.border-primary::before { background: linear-gradient(90deg, #2563eb, #38bdf8); }
.erp-sales-workspace .card.border-start.border-info::before { background: linear-gradient(90deg, #4f46e5, #818cf8); }
.erp-sales-workspace .card.border-start.border-success::before { background: linear-gradient(90deg, #059669, #34d399); }
.erp-sales-workspace .card.border-start.border-warning::before { background: linear-gradient(90deg, #d97706, #fbbf24); }
.erp-sales-workspace .card.border-start.border-danger::before { background: linear-gradient(90deg, #e11d48, #f43f5e); }

.erp-kpi-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.erp-kpi-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--erp-text-sub);
  margin-bottom: 0.25rem;
}

.erp-kpi-value {
  font-size: 1.5rem;
  font-weight: 800;
  font-family: 'Cairo', monospace;
  color: var(--erp-text-main);
  line-height: 1.2;
}

.erp-kpi-subtext {
  font-size: 0.7rem;
  color: var(--erp-text-muted);
  margin-top: 0.35rem;
}

/* ==========================================================================
   3. Governance Command Bar (Header for Invoices, Returns, Tables)
   ========================================================================== */
.erp-commandbar {
  background-color: #20262e;
  color: #ffffff;
  padding: 0.4rem 0.85rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #334155;
  box-shadow: var(--erp-shadow-sm);
}

.erp-commandbar .title-section {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 0.875rem;
}

.erp-commandbar .tag-badge {
  font-size: 0.65rem;
  padding: 0.15rem 0.45rem;
  border-radius: 0.25rem;
  font-family: monospace;
}

/* ==========================================================================
   4. Status Badges & Pills
   ========================================================================== */
.erp-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  border-radius: 9999px;
  line-height: 1.2;
  white-space: nowrap;
}

.erp-badge-emerald {
  background-color: var(--erp-emerald-bg);
  color: var(--erp-emerald);
  border: 1px solid var(--erp-emerald-border);
}

.erp-badge-amber {
  background-color: var(--erp-amber-bg);
  color: var(--erp-amber);
  border: 1px solid var(--erp-amber-border);
}

.erp-badge-rose {
  background-color: var(--erp-rose-bg);
  color: var(--erp-rose);
  border: 1px solid var(--erp-rose-border);
}

.erp-badge-sky {
  background-color: var(--erp-sky-bg);
  color: var(--erp-sky);
  border: 1px solid var(--erp-sky-border);
}

.erp-badge-indigo {
  background-color: var(--erp-indigo-bg);
  color: var(--erp-indigo);
  border: 1px solid var(--erp-indigo-border);
}

.erp-badge-slate {
  background-color: var(--erp-bg-light);
  color: var(--erp-text-sub);
  border: 1px solid var(--erp-border-medium);
}

/* ==========================================================================
   5. Action Buttons
   ========================================================================== */
.erp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 0.375rem;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
  border: 1px solid transparent;
  line-height: 1.4;
}

.erp-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.erp-btn-primary {
  background-color: #4f46e5;
  color: #fff;
}
.erp-btn-primary:hover:not(:disabled) {
  background-color: #4338ca;
  box-shadow: 0 2px 6px rgba(79, 70, 229, 0.3);
}

.erp-btn-success {
  background-color: #2e7d32;
  color: #fff;
}
.erp-btn-success:hover:not(:disabled) {
  background-color: #256628;
  box-shadow: 0 2px 6px rgba(46, 125, 50, 0.3);
}

.erp-btn-warning {
  background-color: #b38600;
  color: #fff;
}
.erp-btn-warning:hover:not(:disabled) {
  background-color: #997300;
}

.erp-btn-danger {
  background-color: #e11d48;
  color: #fff;
}
.erp-btn-danger:hover:not(:disabled) {
  background-color: #be123c;
}

.erp-btn-outline {
  background-color: #ffffff;
  border-color: var(--erp-border-medium);
  color: var(--erp-text-main);
}
.erp-btn-outline:hover:not(:disabled) {
  background-color: var(--erp-bg-light);
  border-color: var(--erp-text-sub);
}

/* ==========================================================================
   6. Data Tables & Grids
   ========================================================================== */
.erp-table-panel {
  background: var(--erp-bg-card);
  border: 1px solid var(--erp-border-light);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: var(--erp-shadow-xs);
}

.erp-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
  text-align: right;
}

.erp-data-table thead tr {
  background-color: #20262e;
  color: #e2e8f0;
  font-weight: 700;
  font-size: 0.6875rem;
  border-bottom: 1px solid #334155;
}

.erp-data-table th,
.erp-data-table td {
  padding: 0.5rem 0.65rem;
  border-bottom: 1px solid var(--erp-border-light);
}

.erp-data-table tbody tr:hover {
  background-color: rgba(241, 245, 249, 0.7);
}

/* ==========================================================================
   7. Glass Panels & Modals
   ========================================================================== */
.erp-glass-card {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(8px);
  border: 1px solid var(--erp-border-light);
  border-radius: 0.75rem;
  box-shadow: var(--erp-shadow-xs);
  transition: all 0.2s ease-in-out;
}

.erp-glass-card:hover {
  border-color: var(--erp-border-medium);
  box-shadow: var(--erp-shadow-card);
}

.erp-modal-header {
  background-color: #20262e;
  color: #ffffff;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid #334155;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.erp-modal-header h5 {
  font-size: 0.875rem;
  font-weight: 700;
  margin: 0;
}
