/* ============================================================
   Betha Sistemas — identidade visual global do Superset
   Injetado em toda página HTML pelo FLASK_APP_MUTATOR
   (superset/superset_config.py). Tokens: branding/betha-tokens.css.

   REGRA: só cor/tipografia do "chrome" do Superset. NUNCA mexer em
   cores de série de gráfico — isso é papel do label_colors do
   dashboard (skill superset-ux).
   ============================================================ */

/* ---- Open Sans self-hosted (CSP default-src 'self') ---- */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Open Sans Regular"), local("OpenSans-Regular"),
       url("/static/assets/fonts/betha/OpenSans-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"),
       url("/static/assets/fonts/betha/OpenSans-SemiBold.ttf") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Open Sans Bold"), local("OpenSans-Bold"),
       url("/static/assets/fonts/betha/OpenSans-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local("Open Sans ExtraBold"), local("OpenSans-ExtraBold"),
       url("/static/assets/fonts/betha/OpenSans-ExtraBold.ttf") format("truetype");
}

:root {
  --bth-primary: #3374db;
  --bth-primary-hover: #215cba;
  --bth-primary-active: #19478f;
  --bth-primary-soft: #e0eafa;
  --bth-success: #3ec18f;
  --bth-danger: #dd413c;
  --bth-warning: #e8b730;
  --bth-info: #46afd2;
  --bth-text: #59595a;
  --bth-title: #242424;
  --bth-border: #e3e3e3;
  --bth-bg: #f5f5f5;
  --bth-surface: #ffffff;
  --bth-radius: 6px;
  --bth-font: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Arial, sans-serif;
}

/* ---- Tipografia ---- */
body,
.navbar,
button,
input,
select,
textarea,
.ant-btn,
.ant-menu,
.ant-modal,
.ant-select-dropdown,
.ant-dropdown,
.ant-tooltip,
.ant-table {
  font-family: var(--bth-font);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--bth-font);
  color: var(--bth-title);
}

/* ---- Marca no canto superior esquerdo ---- */
.navbar-brand img,
#app-menu .navbar-brand img {
  height: 30px;
  width: auto;
  max-width: 30px;
  padding: 4px;
  border-radius: var(--bth-radius);
  background-color: var(--bth-primary-soft);
  box-sizing: content-box;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
}

/* ---- Barra superior ---- */
.navbar,
#app-menu .navbar {
  background-color: var(--bth-surface);
  border-bottom: 1px solid var(--bth-border);
}

/* ---- Botões primários / links ---- */
.ant-btn-primary,
.btn-primary,
.superset-button-primary {
  background-color: var(--bth-primary);
  border-color: var(--bth-primary);
}
.ant-btn-primary:hover,
.ant-btn-primary:focus,
.btn-primary:hover,
.btn-primary:focus,
.superset-button-primary:hover,
.superset-button-primary:focus {
  background-color: var(--bth-primary-hover);
  border-color: var(--bth-primary-hover);
}
.ant-btn-primary:active,
.btn-primary:active {
  background-color: var(--bth-primary-active);
  border-color: var(--bth-primary-active);
}

a,
.ant-typography a {
  color: var(--bth-primary);
}
a:hover,
a:focus {
  color: var(--bth-primary-hover);
}

/* ---- Página de login (template FAB, fora do React) ---- */
.login_container .btn-primary,
#loginbox .btn-primary {
  background-color: var(--bth-primary);
  border-color: var(--bth-primary);
}
#loginbox .panel-heading,
.login_container .panel-heading {
  background-color: var(--bth-primary);
  border-color: var(--bth-primary);
  color: #fff;
}

/* ---- Superfícies das listagens ---- */
.ant-card,
.card-container .ant-card {
  border-radius: var(--bth-radius);
  border-color: var(--bth-border);
}
