/* ============================================================
   GEADEPLOY V2 — GEA Group Design Tokens
   Shared across shell and all iframe modules
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600;700&family=Barlow+Condensed:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  /* ── Brand Colors ── */
  --gea-blue: #0000A9;
  --gea-blue-light: #1a1aff;
  --gea-blue-dark: #000080;
  --gea-blue-glow: rgba(0, 0, 169, 0.3);
  --gea-blue-subtle: rgba(0, 0, 169, 0.08);

  /* ── Backgrounds ── */
  --bg-primary: #07090f;
  --bg-secondary: #0d1117;
  --bg-tertiary: #151b25;
  --bg-card: #121821;
  --bg-card-hover: #1a2232;
  --bg-input: #0d1117;
  --bg-overlay: rgba(0, 0, 0, 0.6);
  --bg-iframe: #07090f;

  /* ── Borders ── */
  --border-primary: #1e2a3a;
  --border-secondary: #2a3a4e;
  --border-active: var(--gea-blue);
  --border-radius: 2px;
  --border-radius-lg: 4px;

  /* ── Text ── */
  --text-primary: #e6edf3;
  --text-secondary: #8b949e;
  --text-tertiary: #545d68;
  --text-accent: var(--gea-blue-light);
  --text-on-blue: #ffffff;

  /* ── Status Colors ── */
  --status-success: #2ea043;
  --status-warning: #d29922;
  --status-error: #f85149;
  --status-info: #388bfd;

  /* ── Fonts ── */
  --font-display: 'Barlow Condensed', sans-serif;
  --font-body: 'Barlow', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* ── Sizing ── */
  --sidebar-width: 240px;
  --sidebar-collapsed: 52px;
  --topbar-height: 48px;

  /* ── Shadows ── */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-glow: 0 0 20px var(--gea-blue-glow);

  /* ── Transitions ── */
  --transition-fast: 120ms ease;
  --transition-normal: 200ms ease;
  --transition-slow: 350ms ease;
}

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

html, body {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--text-primary);
  background: var(--bg-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Scrollbar styling ── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: var(--border-secondary);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--text-tertiary);
}

/* ── Common utilities ── */
.gea-label {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 11px;
  color: var(--text-secondary);
}

.gea-mono {
  font-family: var(--font-mono);
  font-size: 12px;
}

.gea-btn {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 12px;
  padding: 8px 16px;
  border: 1px solid var(--border-primary);
  border-radius: var(--border-radius);
  background: var(--bg-tertiary);
  color: var(--text-primary);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.gea-btn:hover {
  background: var(--bg-card-hover);
  border-color: var(--border-secondary);
}
.gea-btn-primary {
  background: var(--gea-blue);
  border-color: var(--gea-blue);
  color: var(--text-on-blue);
}
.gea-btn-primary:hover {
  background: var(--gea-blue-light);
  border-color: var(--gea-blue-light);
}

.gea-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 2px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
}

.gea-badge-success { background: rgba(46,160,67,0.15); color: var(--status-success); }
.gea-badge-warning { background: rgba(210,153,34,0.15); color: var(--status-warning); }
.gea-badge-error   { background: rgba(248,81,73,0.15);  color: var(--status-error); }
.gea-badge-info    { background: rgba(56,139,253,0.15);  color: var(--status-info); }
