/* ─── Variables ─────────────────────────────────────────────── */
:root {
  --color-primary:    #8B4513;
  --color-primary-dk: #6B3410;
  --color-primary-lt: #A0522D;
  --color-accent:     #D4A853;
  --color-accent-lt:  #F0C97F;
  --color-bg:         #FAF7F2;
  --color-surface:    #FFFFFF;
  --color-border:     #E8E0D5;
  --color-text:       #2C2C2C;
  --color-muted:      #6B7280;
  --color-success:    #16A34A;
  --color-success-bg: #DCFCE7;
  --color-danger:     #DC2626;
  --color-danger-bg:  #FEE2E2;
  --color-warning:    #D97706;
  --color-warning-bg: #FEF3C7;
  --color-info:       #2563EB;
  --color-info-bg:    #DBEAFE;

  --sidebar-width: 240px;
  --header-height: 56px;

  --radius-sm: 4px;
  --radius:    8px;
  --radius-lg: 12px;

  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow:    0 2px 8px rgba(0,0,0,.10);
  --shadow-lg: 0 4px 16px rgba(0,0,0,.14);

  --font: 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-mono: 'Consolas', 'Courier New', monospace;
}

/* ─── Reset ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 15px; }

body {
  font-family: var(--font);
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.55;
}

a { color: var(--color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }

img { display: block; max-width: 100%; }

ul, ol { list-style: none; }

/* ─── Typography ────────────────────────────────────────────── */
h1 { font-size: 1.75rem; font-weight: 700; }
h2 { font-size: 1.35rem; font-weight: 600; }
h3 { font-size: 1.1rem;  font-weight: 600; }
h4 { font-size: 0.95rem; font-weight: 600; }

.text-muted   { color: var(--color-muted); }
.text-success { color: var(--color-success); }
.text-danger  { color: var(--color-danger); }
.text-warning { color: var(--color-warning); }
.text-primary { color: var(--color-primary); }
.text-right   { text-align: right; }
.text-center  { text-align: center; }

.rupee { font-family: var(--font-mono); }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }

.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.d-none { display: none !important; }
.d-flex { display: flex; }
.gap-1  { gap: 0.5rem; }
.gap-2  { gap: 1rem; }
.align-center { align-items: center; }
.justify-between { justify-content: space-between; }
.flex-1 { flex: 1; }
