/* ── La Manufacture - Base: variables, reset, animations, utilities ── */

:root {
  /* Brand */
  --primary: #16803C;
  --primary-light: #22C55E;
  --primary-dark: #14532D;
  --primary-50: #F0FDF4;
  --accent: #10B981;

  /* Backgrounds */
  --bg: #F8FAFC;
  --card: #FFFFFF;

  /* Text */
  --text: #0F172A;
  --text-light: #64748B;
  --text-muted: #94A3B8;

  /* Borders */
  --border: #E2E8F0;
  --border-light: #F1F5F9;

  /* Status */
  --danger: #EF4444;
  --danger-light: #FEF2F2;
  --warning: #F59E0B;
  --warning-light: #FFFBEB;
  --success: #22C55E;
  --success-light: #F0FDF4;
  --info: #3B82F6;
  --info-light: #EFF6FF;

  /* Layout */
  --sidebar-w: 240px;
  --radius: 8px;
  --radius-lg: 12px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.06), 0 2px 4px -2px rgba(0,0,0,0.04);
  --shadow-lg: 0 10px 25px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.04);

  /* Transitions */
  --transition: 0.2s ease;
  --transition-fast: 0.15s ease;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--text);
  display: flex;
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Animations ───────────────────────────────────────── */

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes slideIn {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

/* ── Utilities ────────────────────────────────────────── */

.hidden { display: none !important; }

.page { display: none; }
.page.active { display: block; animation: fadeIn 0.2s ease; }

.mt-16 { margin-top: 16px; }
.mb-16 { margin-bottom: 16px; }
.gap-10 { gap: 10px; }
.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }

.text-right { text-align: right; }
.text-center { text-align: center; }
.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
.text-warning { color: var(--warning); }
.text-info { color: var(--info); }
.text-muted { color: var(--text-muted); }
.text-sm { font-size: 12px; }
.text-xs { font-size: 10px; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }

.amount { font-variant-numeric: tabular-nums; }
.amount.positive { color: var(--success); }
.amount.negative { color: var(--danger); }
