/* =============================================================
   AGNI CRM — SHARED STYLES
   Applies to all manufacturer portal pages.
   Designer reference: /CONTRIBUTING.md
   ============================================================= */

/* ── CSS Custom Properties ─────────────────────────────────── */
:root {
  /* Backgrounds */
  --bg-color:       #f2f2f7;
  --light-bg:       #f2f2f7;
  --container-bg:   #ffffff;
  --white:          #ffffff;

  /* Text */
  --text-color:     #000000;

  /* Gray scale (used by Analytics / CPR / Orders group) */
  --gray-100: #f8f9fa;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;
  --gray-800: #343a40;
  --gray-900: #212529;

  /* Navigation */
  --nav-bg:     #faf0e6;
  --nav-border: #d1d1d6;
  --nav-text:   #007aff;

  /* Sidebar */
  --sidebar-bg:   #ffffff;
  --sidebar-text: #000000;

  /* Inputs / search */
  --search-bg:    #f2f2f7;
  --search-border: #d1d1d6;
  --input-border: #d1d1d6;
  --input-bg:     #ffffff;

  /* Semantic colours */
  --accent-color:    #007aff;
  --brand-color:     #ff8c00;
  --brand-hover:     #ff4500;
  --primary-color:   #ff8c00;
  --success-color:   #28a745;
  --warning-color:   #ffc107;
  --danger-color:    #dc3545;
  --info-color:      #17a2b8;
  --secondary-color: #6c757d;
  --error-color:     #ff3b30;

  /* Elevation */
  --shadow:    rgba(0, 0, 0, 0.1);
  --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 8px 20px rgba(0, 0, 0, 0.15);

  /* Radii */
  --radius-sm:       6px;
  --radius-md:       8px;
  --radius-lg:       12px;
  --border-radius:   8px;
  --border-radius-lg: 12px;

  /* Motion */
  --transition: all 0.3s ease;
}

/* ── Dark Mode Overrides ────────────────────────────────────── */
body.dark-mode {
  --bg-color:     #1c1c1e;
  --light-bg:     #1c1c1e;
  --container-bg: #2c2c2e;
  --white:        #2c2c2e;
  --text-color:   #ffffff;

  --gray-100: #2c2c2e;
  --gray-200: #3a3a3c;
  --gray-300: #48484a;
  --gray-400: #636366;
  --gray-500: #8e8e93;
  --gray-600: #aeaeb2;
  --gray-700: #d1d1d6;
  --gray-800: #f2f2f7;
  --gray-900: #ffffff;

  --nav-bg:     #2c2c2e;
  --nav-border: #3a3a3c;
  --nav-text:   #0a84ff;

  --sidebar-bg:   #2c2c2e;
  --sidebar-text: #ffffff;

  --search-bg:    #3a3a3c;
  --search-border: #4f4f51;
  --input-border: #4f4f51;
  --input-bg:     #3a3a3c;

  --accent-color: #0a84ff;
  --error-color:  #ff453a;
  --shadow:       rgba(0, 0, 0, 0.3);
  --shadow-md:    0 2px 4px rgba(0, 0, 0, 0.4);
  --shadow-lg:    0 8px 20px rgba(0, 0, 0, 0.5);
}

/* ── Base Reset ─────────────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Helvetica, Arial, sans-serif;
  background-color: var(--bg-color);
  margin: 0;
  color: var(--text-color);
  overflow-x: hidden;
  line-height: 1.6;
}

/* ── Main Content Layout ────────────────────────────────────── */
.main-content {
  padding: 90px 20px 20px;
  max-width: 1200px;
  margin: 0 auto;
  transition: margin-right 0.3s ease;
}

@media (min-width: 1024px) {
  .main-content {
    padding: 110px 40px 40px;
  }
}

/* ── Utility ────────────────────────────────────────────────── */
.page-description {
  font-size: 14px;
  color: var(--text-color);
  opacity: 0.7;
  margin-bottom: 30px;
}

.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--text-color);
  opacity: 0.6;
}

.empty-state-icon {
  font-size: 64px;
  margin-bottom: 20px;
}

.icon {
  margin-right: 12px;
  font-size: 20px;
}
