/* ============================================================================
   JAV Design System — tokens + componentes portáteis
   Origem: A:\Programação\Valts\JAV\06_Documentacao\jav-tokens.css (aprovado 2026-07-25)
   Cópia local para as ferramentas públicas *.grupojav.com.br (sem CDN — CSP).
   ============================================================================ */

:root{
  /* --- marca (2 produtos) --- */
  --jav-hub-primary:#1a73e8;  --jav-hub-primary-hover:#1557b0;
  --jav-home-primary:#7c4dff; --jav-home-primary-hover:#651fff;

  /* --- acento ativo --- */
  --accent:var(--jav-hub-primary);
  --accent-hover:var(--jav-hub-primary-hover);
  --accent-weak:#e8f0fe;

  /* --- neutros (viés azul) --- */
  --bg:#eef1f6; --surface:#ffffff; --surface-2:#f6f8fc; --border:#e3e7ef;
  --text:#1f2430; --muted:#5f6674;

  /* --- semânticas --- */
  --ok:#137333;   --ok-weak:#e6f4ea;
  --warn:#9a6400; --warn-weak:#fef7e0;
  --crit:#c5221f; --crit-weak:#fce8e6;

  /* --- forma / sombra / movimento --- */
  --radius-sm:8px; --radius:14px; --radius-lg:18px;
  --shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.08);
  --transition:.18s ease;

  /* --- tipografia --- */
  --font:system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

.home-tenant, [data-brand="home"]{
  --accent:var(--jav-home-primary);
  --accent-hover:var(--jav-home-primary-hover);
  --accent-weak:#efe6ff;
}

/* ===== TEMA ESCURO ===== */
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0d0f14; --surface:#171a21; --surface-2:#1e222b; --border:#2a2f3a;
    --text:#e8eaed; --muted:#9aa0a6; --accent:#4da3ff; --accent-weak:#132b45;
    --ok:#81c995; --ok-weak:#12271a; --warn:#fdd663; --warn-weak:#2a2410;
    --crit:#f28b82; --crit-weak:#2c1512;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.5);
  }
  .home-tenant, [data-brand="home"]{ --accent:#b388ff; --accent-weak:#241a3a; }
}
:root[data-theme="light"]{
  --bg:#eef1f6; --surface:#ffffff; --surface-2:#f6f8fc; --border:#e3e7ef;
  --text:#1f2430; --muted:#5f6674; --accent:var(--jav-hub-primary); --accent-weak:#e8f0fe;
  --ok:#137333; --ok-weak:#e6f4ea; --warn:#9a6400; --warn-weak:#fef7e0;
  --crit:#c5221f; --crit-weak:#fce8e6;
  --shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.08);
}
:root[data-theme="dark"]{
  --bg:#0d0f14; --surface:#171a21; --surface-2:#1e222b; --border:#2a2f3a;
  --text:#e8eaed; --muted:#9aa0a6; --accent:#4da3ff; --accent-weak:#132b45;
  --ok:#81c995; --ok-weak:#12271a; --warn:#fdd663; --warn-weak:#2a2410;
  --crit:#f28b82; --crit-weak:#2c1512;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.5);
}

/* ============================ COMPONENTES ============================ */

.jav-card{background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}

.jav-chip{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;display:inline-block}
.jav-chip.ok{background:var(--ok-weak);color:var(--ok)}
.jav-chip.warn{background:var(--warn-weak);color:var(--warn)}
.jav-chip.crit{background:var(--crit-weak);color:var(--crit)}
.jav-chip.info{background:var(--accent-weak);color:var(--accent)}

.jav-dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}
.jav-dot.ok{background:var(--ok)} .jav-dot.crit{background:var(--crit)}

.jav-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;
  border:none;border-radius:var(--radius);font:inherit;font-size:14px;font-weight:600;cursor:pointer;
  background:var(--accent);color:#fff;text-decoration:none;box-shadow:var(--shadow);transition:all var(--transition)}
.jav-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}
.jav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

.jav-ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;flex:none}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
