
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root{
  --p-tx1:#202124; --p-tx2:#5F6368; --p-tx3:#80868B;
  --p-line:#E8EAED; --p-line2:#DADCE0;
  --p-bg:#FFFFFF; --p-sunken:#F8F9FA; --p-hover:#F1F3F4;
  --p-ok:#1E8E3E; --p-warn:#B06000; --p-err:#D93025; --p-info:#1A73E8;
  --p-r:8px; --p-r-lg:12px; --p-ez:cubic-bezier(.2,0,0,1);
}

/* Typographie : appliquée partout, claire comme sombre */
body, button, input, select, textarea, .btn, .tab, table{
  font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif !important;
}
body{
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  font-variant-numeric:tabular-nums; letter-spacing:-0.005em;
}
h1,h2,h3,h4,h5{ letter-spacing:-0.02em; font-weight:600 !important; }
h1{ line-height:1.15 } h2{ line-height:1.2 } h3{ line-height:1.25 }
b,strong{ font-weight:600 }

/* Géométrie : rayons et transitions homogènes */
button,.btn,.ba,.rb,input,select,textarea,.search,.card,.kpi,.pill,.badge{
  border-radius:var(--p-r);
  transition:background-color 150ms var(--p-ez), border-color 150ms var(--p-ez),
             box-shadow 150ms var(--p-ez), opacity 150ms var(--p-ez);
}
.card,.kpi{ border-radius:var(--p-r-lg); box-shadow:none !important; }
.pill,.badge{ border-radius:999px; font-weight:600; letter-spacing:.01em; }

/* Boutons : on ne touche pas aux couleurs, seulement au comportement */
button,.btn,.ba,.rb{ cursor:pointer; font-weight:500; }
button:active,.btn:active,.ba:active{ transform:translateY(.5px); }
button:disabled{ opacity:.5; cursor:not-allowed; }

/* Champs : focus lisible et cohérent */
input,select,textarea{ outline:none; }
input:focus-visible,select:focus-visible,textarea:focus-visible,
button:focus-visible,a:focus-visible{
  outline:2px solid var(--p-info); outline-offset:2px;
}

table{ border-collapse:collapse; font-variant-numeric:tabular-nums; }
th{ font-weight:600; letter-spacing:.03em; }

/* Barres de défilement discrètes */
*::-webkit-scrollbar{ width:8px; height:8px; }
*::-webkit-scrollbar-track{ background:transparent; }
*::-webkit-scrollbar-thumb{ background:rgba(128,134,139,.4); border-radius:4px; }
*::-webkit-scrollbar-thumb:hover{ background:rgba(128,134,139,.65); }
*{ scrollbar-width:thin; }

::selection{ background:rgba(26,115,232,.18); }

*{ -webkit-tap-highlight-color:transparent; }
button,a,.tab,.ba{ touch-action:manipulation; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ══════════════════════════════════════════════════════════════
   IDENTITE KOMUNITY — repeinte du dashboard SamaBot

   POURQUOI PASSER PAR CETTE FEUILLE
   La palette d'origine (vert #00c875 sur vert-noir #0a1a0f) est
   ecrite en dur dans pres de cinq cents attributs style= a travers
   le fichier. Les reecrire un par un serait long et surtout risque :
   une faute de frappe dans une chaine de gabarit ne se voit qu'une
   fois la page servie. Cette feuille est chargee en dernier, donc
   elle a le dernier mot, et elle est reversible en supprimant le
   bloc.

   CE QUI N'EST PAS TOUCHE, VOLONTAIREMENT
   bot.couleur — la couleur choisie par le client pour SON bot. Elle
   pilote .btn-p et .tab-btn.active. La repeindre reviendrait a
   effacer la marque du client sous pretexte d'installer la notre.
   ══════════════════════════════════════════════════════════════ */

:root{
  --k-tx1:#202124; --k-tx2:#5F6368; --k-tx3:#80868B;
  --k-line:#E8EAED; --k-line2:#DADCE0;
  --k-bg:#FFFFFF; --k-sunken:#F8F9FA;
  --k-ac:#E8912B; --k-ac-tx:#95580C; --k-ac-tint:#FDF3E7;
}

/* Barre du haut : le vert-noir devient le gris tres sombre du Hub */
.topbar{ background:var(--k-tx1) !important; border-bottom:1px solid rgba(255,255,255,.06); }

/* Signature de marque */
.logo{ font-family:Inter,sans-serif !important; font-weight:600 !important;
       font-size:15px !important; letter-spacing:-.01em; color:#fff !important;
       display:inline-flex; align-items:baseline; gap:7px; }
.logo span{ color:var(--k-ac) !important; }
.logo-by{ font-style:normal; font-size:11px; font-weight:400;
          color:rgba(255,255,255,.55); letter-spacing:0; }
@media(max-width:640px){ .logo-by{ display:none } }

/* Cartes et indicateurs : bordures neutres, plus de teinte verte */
.stat,.card{ border-color:var(--k-line) !important; background:var(--k-bg) !important; }
.stat-val{ font-family:Inter,sans-serif !important; font-weight:600 !important;
           letter-spacing:-.02em; color:var(--k-tx1) !important; }
.stat-lbl{ color:var(--k-tx2) !important; }
.stat-sub{ color:var(--k-tx3) !important; font-weight:500 !important; }
.card-title{ color:var(--k-tx1) !important; font-weight:600 !important; }

/* Onglets au repos : gris neutre. L'onglet actif garde la couleur du bot. */
.tab-btn{ border-color:var(--k-line) !important; color:var(--k-tx2) !important; }
.tab-btn:hover{ background:var(--k-hover,#F1F3F4) !important; }

/* Fonds et bordures structurels, y compris ceux ecrits en attribut */
body{ background:var(--k-sunken) !important; }
[style*="#f0f4f1"]{ background-color:var(--k-sunken) !important; }
[style*="border:1px solid #d1e5d8"],
[style*="border:1.5px solid #d1e5d8"]{ border-color:var(--k-line) !important; }
[style*="color:#5a7060"]{ color:var(--k-tx2) !important; }
[style*="color:#9ab0a0"]{ color:var(--k-tx3) !important; }
[style*="color:#0a1a0f"]{ color:var(--k-tx1) !important; }

/* Le bloc « Nouveau produit / Modifier le produit » */
#cat-add-form{ background:var(--k-sunken) !important; border:1px solid var(--k-line); }
#cat-form-titre{ color:var(--k-tx1) !important; }

/* Le vert vif reste autorise pour les montants encaisses : c'est une
   information, pas une decoration. On l'aligne seulement sur le vert
   du Hub, plus sobre que le vert d'origine. */
[style*="color:#00c875"]:not([style*="background"]){ color:#1E8E3E !important; }
