/* Lumaire brand system */

/* Self-hosted Inter font (MKT-006) */
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter/Inter-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter/Inter-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter/Inter-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter/Inter-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --lm-indigo-950: #1e1b4b;
  --lm-indigo-900: #312e81;
  --lm-indigo-800: #3730a3;
  --lm-indigo-700: #4338ca;
  --lm-indigo-600: #4f46e5;
  --lm-indigo-500: #6366f1;
  --lm-indigo-400: #818cf8;
  --lm-indigo-200: #c7d2fe;
  --lm-indigo-100: #e0e7ff;
  --lm-indigo-50:  #eef2ff;

  --lm-amber-600: #d97706;
  --lm-amber-500: #f59e0b;
  --lm-amber-100: #fef3c7;
  --lm-amber-50:  #fdf8f0;

  --lm-violet-50: #f5f0ff;
  --lm-violet-100: #ede9fe;

  /* Semantic aliases */
  --lm-primary:       var(--lm-indigo-700);
  --lm-primary-hover: var(--lm-indigo-800);
  --lm-accent:        var(--lm-amber-600);
  --lm-accent-hover:  #b45309;
  --lm-dark:          var(--lm-indigo-950);
  --lm-text-on-dark:  var(--lm-indigo-100);
  --lm-muted-on-dark: var(--lm-indigo-400);

  /* Typography */
  --lm-font: 'Inter', system-ui, -apple-system, sans-serif;
  --lm-tracking-tight: -0.04em;
  --lm-tracking-normal: -0.02em;
}

/* Shared button styles */
.lm-btn-primary {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  background: var(--lm-primary);
  color: white;
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-family: var(--lm-font);
  transition: background 0.15s;
  white-space: nowrap;
}
.lm-btn-primary:hover { background: var(--lm-primary-hover); }
.lm-btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }

.lm-btn-accent {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  background: var(--lm-accent);
  color: white;
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-family: var(--lm-font);
  transition: background 0.15s;
  white-space: nowrap;
}
.lm-btn-accent:hover { background: var(--lm-accent-hover); }

.lm-btn-ghost {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  background: rgba(255,255,255,0.08);
  color: var(--lm-indigo-100);
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.15);
  cursor: pointer;
  font-family: var(--lm-font);
  transition: background 0.15s;
  white-space: nowrap;
}
.lm-btn-ghost:hover { background: rgba(255,255,255,0.14); }

.lm-btn-outline {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  background: white;
  color: var(--lm-primary);
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid var(--lm-indigo-200);
  cursor: pointer;
  font-family: var(--lm-font);
  transition: all 0.15s;
  white-space: nowrap;
}
.lm-btn-outline:hover { background: var(--lm-indigo-50); border-color: var(--lm-primary); }

/* Form inputs */
.lm-input {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.9375rem;
  font-family: var(--lm-font);
  color: #0f172a;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
  background: white;
}
.lm-input:focus {
  border-color: var(--lm-primary);
  box-shadow: 0 0 0 3px rgba(67,56,202,0.1);
}

/* Badges */
.lm-badge {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.lm-badge-indigo { background: var(--lm-indigo-50); color: var(--lm-indigo-700); }
.lm-badge-amber  { background: var(--lm-amber-50); color: var(--lm-amber-600); border: 1px solid var(--lm-amber-100); }
.lm-badge-green  { background: #f0fdf4; color: #16a34a; }
.lm-badge-on-dark {
  background: rgba(165,180,252,0.15);
  color: var(--lm-indigo-200);
  border: 1px solid rgba(165,180,252,0.2);
}

/* Alert boxes */
.lm-alert-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #dc2626;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
  display: none;
}
.lm-alert-success {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #16a34a;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
  display: none;
}
body {
  font-family: var(--lm-font);
  background: #f8fafc;
  color: #0f172a;
}

