/* ============================
   STRIATUM CLOUD – CORE STYLES (PRO)
   Typo: Plus Jakarta Sans (premium SaaS)
============================ */

:root {
  /* Navy / Science */
  --sc-navy-950: #020617;
  --sc-navy-900: #050816;
  --sc-navy-800: #071739;

  /* Brand */
  --sc-primary: #38bdf8;
  --sc-primary-strong: #0284c7;

  /* Backgrounds */
  --sc-bg-body: #f5f7fb;
  --sc-bg-elevated: #ffffff;

  /* Text */
  --sc-text-main: #0f172a;
  --sc-text-muted: #64748b; /* plus “premium” que #6b7280 */
  --sc-text-soft: #94a3b8;

  /* Borders */
  --sc-border-subtle: rgba(15, 23, 42, 0.10);

  /* Radius (moins “bubble”) */
  --sc-radius-sm: 0.5rem;
  --sc-radius-md: 0.65rem;
  --sc-radius-lg: 0.9rem;

  /* Shadows (plus clean / réalistes) */
  --sc-shadow-soft:
    0 12px 28px rgba(2, 6, 23, 0.06);
  --sc-shadow-strong:
    0 24px 60px rgba(2, 6, 23, 0.12);

  /* Typo scale */
  --sc-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --sc-font-size: 0.875rem; /* 14px = dashboard clean */
  --sc-line: 1.55;
}

/* ============================
   GLOBAL BASE
============================ */

html, body { height: 100%; }

body {
  background-color: var(--sc-bg-body);
  color: var(--sc-text-main);
  font-family: var(--sc-font);
  font-size: var(--sc-font-size);
  line-height: var(--sc-line);
  font-weight: 500; /* + premium (pas “thin”) */

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* meilleur rendu sur dashboards */
  text-rendering: optimizeLegibility;
}

.container-fluid {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

/* Liens: pas de soulignement “crade” */
a {
  color: var(--sc-primary-strong);
  text-decoration: none;
  transition: color .18s ease, opacity .18s ease;
}
a:hover {
  color: var(--sc-primary);
  opacity: 0.95;
}

/* ============================
   TITRES / HIÉRARCHIE
============================ */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--sc-font);
  color: var(--sc-text-main);
  font-weight: 800;
  letter-spacing: -0.03em;  /* signature “SaaS” */
  line-height: 1.15;
  margin: 0 0 .35em;
}

/* Titres de pages (dashboard) */
.sc-page-title {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--sc-text-main);
}

.sc-page-subtitle {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--sc-text-muted);
}

/* petites infos / meta */
.sc-meta,
.sc-hint,
small {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--sc-text-muted);
}

/* ============================
   TEXT HELPERS
============================ */

.text-muted { color: var(--sc-text-muted) !important; }
.text-soft  { color: var(--sc-text-soft) !important; }

.fw-regular { font-weight: 500 !important; }
.fw-medium  { font-weight: 600 !important; }
.fw-bold    { font-weight: 800 !important; }

/* chiffres alignés (prix, stats, ids) */
.sc-tabular {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ============================
   BOUTONS (homogènes, unis, peu de radius)
============================ */

.btn,
button {
  font-family: var(--sc-font);
  font-weight: 700;
  letter-spacing: -0.01em;
  border-radius: var(--sc-radius-sm);
}

/* Si tu veux des “boutons Striatum” unifiés partout */
.btn-sc {
  background: var(--sc-navy-900);
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 10px 24px rgba(2,6,23,0.12);
  padding: .52rem .85rem;
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.btn-sc:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 16px 32px rgba(2,6,23,0.16);
}

/* Variante “primary cyan” (si tu veux CTA) */
.btn-sc-primary {
  background: var(--sc-primary-strong);
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 12px 28px rgba(2,6,23,0.14);
}
.btn-sc-primary:hover { filter: brightness(1.05); }

/* ============================
   BADGES / STATUS (clean, pas criard)
============================ */

.badge,
.sc-badge {
  font-family: var(--sc-font);
  font-weight: 800;
  font-size: 0.52rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: .42rem .62rem;
}

/* ============================
   CARDS / SURFACES
============================ */

.sc-card,
.card {
  background: var(--sc-bg-elevated);
  border: 1px solid var(--sc-border-subtle);
  border-radius: var(--sc-radius-lg);
  box-shadow: var(--sc-shadow-soft);
}

.sc-elevated {
  background: var(--sc-bg-elevated);
  border: 1px solid var(--sc-border-subtle);
  border-radius: var(--sc-radius-lg);
  box-shadow: var(--sc-shadow-strong);
}

/* ============================
   LISTES (li) – si tu veux globalement plus clean
============================ */

ul, ol { padding-left: 1.1rem; }
li {
  font-family: var(--sc-font);
  font-weight: 500;
  color: var(--sc-text-main);
  line-height: 1.55;
}

/* ============================
   ANIMATIONS (subtiles)
============================ */

.sc-fade-in {
  animation: sc-fade-in .22s ease-out;
}
@keyframes sc-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* micro hover (optionnel) */
.sc-hover {
  transition: transform .18s ease, box-shadow .18s ease;
}
.sc-hover:hover {
  transform: translateY(-2px);
  box-shadow: var(--sc-shadow-strong);
}
