/* ── LogicMint design tokens ── shared across all dashboard pages ──── */
/* Source of truth for all CSS custom properties.                       */
/* Pages link this BEFORE their own <style> block.                      */
/*                                                                       */
/* PUBLIC-PAGE OVERRIDE TIER: index.html + login.html intentionally use */
/* softer radii (lg:24/md:16/sm:12) + deeper shadow than canonical app  */
/* chrome. This is a deliberate two-tier design decision, not drift.    */
/* Do not normalize. Overrides live in each file's own <style> block.   */
/* --panel/--panel-border are canonical (promoted from status.html       */
/* local :root in Slice 2). All pages inherit; no local override needed. */
/* All other pages inherit canonical values with no local override.     */
:root {
  /* Backgrounds */
  --bg:          #07001a;
  --surface:     rgba(255,255,255,0.06);
  --surface-2:   rgba(255,255,255,0.03);

  /* Borders */
  --border:      rgba(255,255,255,0.10);

  /* Panel primitives — shared by status surface and /new Phase B */
  --panel:        rgba(255,255,255,0.08);
  --panel-border: rgba(255,255,255,0.14);

  /* Text */
  --text:        #eef4ff;
  --muted:       #94a3b8;

  /* Brand accents */
  --accent:      #c084fc;
  --accent-2:    #22d3ee;

  /* Semantic colours */
  --success:     #34d399;
  --success-bg:  rgba(52,211,153,0.12);   /* green-derived from --success; corrected from teal */
  --warn:        #fbbf24;
  --warn-bg:     rgba(251,191,36,0.12);   /* canonical name; --warning-bg renamed here */
  --danger:      #f87171;
  --danger-bg:   rgba(248,113,113,0.12);

  /* Radii */
  --radius-lg:   20px;
  --radius-md:   14px;
  --radius-sm:   10px;

  /* Elevation */
  --shadow:      0 16px 48px rgba(2,6,23,0.45);
}

/* ── Interactions: focus-visible ring + hover polish ──────────────────── */
/* Single shared source — do not duplicate per-page.                       */

/* Keyboard focus ring on all interactive elements */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
/* Suppress default outline for pointer users */
:focus:not(:focus-visible) {
  outline: none;
}

/* Card hover: shadow elevation (additive with per-page border-color/transform) */
.card:hover,
.build-card:hover,
.app-card:hover,
.stat-card:hover {
  box-shadow: 0 6px 24px rgba(192,132,252,0.14);
  transition: box-shadow 0.2s, border-color 0.2s;
}

/* Ghost / outline button hover: subtle background fill */
.btn-ghost:hover,
.btn-outline:hover,
.card-btn-ghost:hover {
  background: rgba(255,255,255,0.06);
  transition: background 0.2s, opacity 0.2s;
}
