/* ==========================================================================
   Green Armor · Reportería — tokens y base compartida
   Paleta tomada de greenarmor.com.ar (verde #114312 / #204421, dorado #E0C55B)
   ========================================================================== */

:root {
  /* Marca */
  --brand-900: #0a2a0b;
  --brand-800: #114312;   /* verde institucional */
  --brand-700: #204421;   /* verde del logo */
  --gold: #e0c55b;        /* "ARMOR" del logo */
  --gold-soft: #d7bd5c;

  /* Acento verde para UI sobre negro (más luminoso, mismo tono) */
  --accent: #3ddc6e;
  --accent-600: #25b555;
  --accent-700: #1b8a41;
  --accent-glow: rgba(61, 220, 110, 0.35);

  /* Superficies */
  --bg: #050706;
  --bg-2: #0a0e0b;
  --surface: rgba(18, 24, 20, 0.72);
  --surface-solid: #111713;
  --surface-2: #161e18;
  --border: rgba(255, 255, 255, 0.07);
  --border-strong: rgba(61, 220, 110, 0.28);

  /* Texto */
  --text: #ecf2ee;
  --text-2: #a7b4ab;
  --text-3: #6c7a70;

  /* Estados */
  --danger: #ff5d5d;
  --warning: #f2b84b;
  --info: #5bb8ff;

  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 20px 60px -20px rgba(0, 0, 0, 0.8);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  --font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-brand: "Raleway", "Inter", sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { color-scheme: dark; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "cv11", "ss01";
}

h1, h2, h3, h4 { font-family: var(--font-brand); font-weight: 700; margin: 0; letter-spacing: -0.01em; }
p { margin: 0; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: var(--accent); text-decoration: none; }

.num { font-variant-numeric: tabular-nums; }

::selection { background: var(--accent); color: #04140a; }

/* Scrollbar */
* { scrollbar-width: thin; scrollbar-color: #26302a transparent; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb { background: #26302a; border-radius: 8px; }

/* Escudo inline */
.shield { display: inline-block; color: var(--accent); }
.shield svg { display: block; width: 100%; height: 100%; }

/* Toasts */
.toast-stack {
  position: fixed; right: 24px; bottom: 24px; z-index: 999;
  display: flex; flex-direction: column; gap: 10px; pointer-events: none;
}
.toast {
  display: flex; align-items: center; gap: 12px;
  min-width: 260px; max-width: 360px;
  padding: 14px 16px;
  background: rgba(17, 23, 19, 0.92);
  backdrop-filter: blur(16px);
  border: 1px solid var(--border-strong);
  border-radius: 14px;
  box-shadow: var(--shadow);
  font-size: 14px;
  animation: toast-in 0.5s var(--ease-spring) both;
  pointer-events: auto;
}
.toast.out { animation: toast-out 0.35s var(--ease) forwards; }
.toast__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 12px var(--accent); flex: none; }
@keyframes toast-in { from { opacity: 0; transform: translateY(20px) scale(0.95); } }
@keyframes toast-out { to { opacity: 0; transform: translateX(40px); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
