/* =====================================================================
   SONIEDO — DESIGN 2026
   ---------------------------------------------------------------------
   Chargee uniquement quand APP_NAME contient « TEST » : la production
   ne peut pas l'activer, meme apres un deploiement.

   TOUTES les mesures sont relevees dans aj-theme.css (AJ CONSEILS) :
   c'est la reference validee. Seules les COULEURS changent.

     corps ........ 14px          menu ......... 14px / icones 15px
     titre page ... 26px          groupe ....... 10px, .13em
     tuile lab .... 12.5px        tuile val .... 38px
     tableau th ... 10px          tableau td ... 14px, 12px 14px
     bouton ....... 13.5px        onglet ....... 13.5px
     carte ........ 22px, r18     jauge ........ 8px

   Palette SONIEDO, relevee sur le logo :
     bleu #3d5c87 (lettrage) · azur #58a0dc (le S) · nuit #0a1120 (menu)
   ===================================================================== */

:root{
  --primary:#3d5c87; --primary-foreground:#fff; --ring:#58a0dc; --color-link:#3d5c87;
  --background:#f4f6fa; --foreground:#11151d;
  --card:#fff; --card-foreground:#11151d;
  --popover:#fff; --popover-foreground:#11151d;
  --secondary:#f7f9fc; --secondary-foreground:#414a58;
  --muted:#f2f5f9; --muted-foreground:#6b7484;
  --accent:#eef4fb; --accent-foreground:#2f4a6f;
  --border:#e2e7ef; --input:#e2e7ef; --radius:18px;

  --sidebar:#0a1120; --sidebar-foreground:rgba(255,255,255,.74);
  --sidebar-primary:#58a0dc; --sidebar-primary-foreground:#fff;
  --sidebar-accent:rgba(255,255,255,.13); --sidebar-accent-foreground:#fff;
  --sidebar-border:rgba(174,189,208,.09); --sidebar-ring:#58a0dc;

  --sn-azur:#58a0dc; --sn-bleu:#3d5c87; --sn-bleu2:#2f4a6f;
  --sn-arg:#dbe3ee; --sn-arg2:#aebdd0; --sn-arg3:#7e8fa6;
  --sn-fil:linear-gradient(120deg,rgba(219,227,238,0),rgba(219,227,238,.8),rgba(174,189,208,.3),rgba(219,227,238,0));
  --sn-sh:0 1px 2px rgba(17,21,29,.05), 0 8px 24px rgba(17,21,29,.05);
  --sn-sh2:0 2px 4px rgba(17,21,29,.06), 0 14px 34px rgba(17,21,29,.09);
  --sn-ea:cubic-bezier(.34,.8,.24,1);
}
.dark{
  --primary:#7ba7d8; --ring:#6fb2e8; --color-link:#8fb8e2;
  --background:#0b0f16; --foreground:#f5f7fa;
  --card:#141a24; --card-foreground:#f5f7fa;
  --popover:#141a24; --popover-foreground:#f5f7fa;
  --secondary:#1a212d; --secondary-foreground:#ced5e0;
  --muted:#1a212d; --muted-foreground:#98a2b3;
  --accent:#1c2735; --accent-foreground:#cfe0f2;
  --border:#26303f; --input:#26303f;
  --sidebar:#070c17; --sidebar-accent:rgba(88,160,220,.2);
  --sidebar-border:rgba(141,157,179,.1);
  --sn-arg:#c3cede; --sn-arg2:#8d9db3; --sn-arg3:#65758c;
  --sn-fil:linear-gradient(120deg,rgba(195,206,222,0),rgba(195,206,222,.55),rgba(141,157,179,.2),rgba(195,206,222,0));
  --sn-sh:0 1px 2px rgba(0,0,0,.4), 0 14px 40px rgba(0,0,0,.35);
  --sn-sh2:0 2px 6px rgba(0,0,0,.5), 0 22px 56px rgba(0,0,0,.45);
}

/* ---------- 1. LE CORPS : 14px, comme AJ ---------- */
body{ font-size:14px; line-height:1.55; }

/* ---------- 2. LE MENU LATERAL ---------- */
[data-slot="sidebar-header"]{ padding:20px 14px 16px !important; position:relative; }
[data-slot="sidebar-header"]::after{
  content:""; position:absolute; left:14px; right:14px; bottom:0; height:1px; background:var(--sn-fil);
}
/* le logo, en blanc sur le bleu nuit : pas de cartouche */
[data-slot="sidebar-header"] img{
  filter:brightness(0) invert(1); opacity:.96; max-width:172px; width:100%; height:auto;
}
/* intitules de section : 10px, .13em — valeurs AJ */
[data-sidebar="group-label"]{
  color:rgba(255,255,255,.34) !important; font-size:10px !important; font-weight:500 !important;
  letter-spacing:.13em !important; text-transform:uppercase;
  padding:18px 22px 8px !important; height:auto !important;
}
/* une entree : 14px / 400 / 10px 14px / marge 1px 10px / arrondi 11px */
[data-sidebar="menu-button"]{
  height:auto !important; padding:10px 14px !important; margin:1px 0 !important;
  border-radius:11px !important; font-size:14px !important; font-weight:400 !important;
  line-height:1.45 !important; gap:12px !important;
  color:rgba(255,255,255,.74) !important;
  transition:background-color .15s ease, color .15s ease !important;
}
[data-sidebar="menu-button"] svg{
  width:15px !important; height:15px !important; margin-right:5px;
  color:rgba(255,255,255,.5) !important; transition:color .15s ease;
}
[data-sidebar="menu-button"]:hover{ background:rgba(255,255,255,.08) !important; color:#fff !important; }
[data-sidebar="menu-button"]:hover svg{ color:var(--sn-azur) !important; }
[data-sidebar="menu-button"][data-active="true"]{
  background:rgba(255,255,255,.13) !important; color:#fff !important; font-weight:500 !important;
}
[data-sidebar="menu-button"][data-active="true"] svg{ color:var(--sn-azur) !important; }
[data-sidebar="menu-badge"]{
  color:rgba(255,255,255,.5) !important; background:rgba(255,255,255,.09) !important;
  border-radius:999px !important; font-size:11px !important; font-weight:400 !important;
  padding:1px 8px !important; height:auto !important;
}
[data-slot="sidebar-footer"]{ padding:10px !important; border-top:1px solid rgba(174,189,208,.09); }
[data-slot="sidebar-footer"] [data-sidebar="menu-button"]{
  background:rgba(255,255,255,.05) !important; border:1px solid rgba(174,189,208,.09);
}

/* ---------- 3. TITRES ET EN-TETES : 26px / 14.5px, comme AJ ---------- */
h1{ font-size:26px !important; font-weight:700 !important; letter-spacing:-.025em; line-height:1.25 !important; }
h2{ font-size:19px !important; font-weight:600 !important; letter-spacing:-.02em; }
h3{ font-size:15px !important; font-weight:600 !important; }

/* ---------- 4. CARTES : 22px de remplissage, arrondi 18px ---------- */
[data-slot="card"]{
  border-radius:18px !important; border:1px solid var(--border) !important;
  box-shadow:var(--sn-sh) !important; position:relative;
  transition:box-shadow .2s ease, border-color .18s ease;
}
[data-slot="card-header"]{ padding:22px 22px 6px !important; }
[data-slot="card-content"]{ padding:16px 22px 22px !important; }
[data-slot="card-title"]{ font-size:15px !important; font-weight:600 !important; line-height:1.35 !important; }
[data-slot="card-description"]{ font-size:13px !important; }
/* le filet argente sur la tranche haute — la seule fioriture */
[data-slot="card"]::before{
  content:""; position:absolute; left:14%; right:14%; top:0; height:1px;
  background:var(--sn-fil); opacity:.55; pointer-events:none;
  transition:opacity .3s var(--sn-ea), left .35s var(--sn-ea), right .35s var(--sn-ea);
}
[data-slot="card"]:hover::before{ opacity:1; left:5%; right:5%; }
[data-slot="card"]:hover{ box-shadow:var(--sn-sh2) !important; border-color:rgba(174,189,208,.6) !important; }
.dark [data-slot="card"]:hover{ border-color:rgba(141,157,179,.32) !important; }

/* ---------- 5. TABLEAUX : th 10px, td 14px, remplissage 12px 14px ---------- */
table th{
  font-size:10px !important; text-transform:uppercase; letter-spacing:.09em;
  font-weight:600 !important; color:var(--muted-foreground) !important;
  padding:12px 14px !important; background:transparent !important;
  box-shadow:inset 0 -1px 0 rgba(174,189,208,.28);
}
.dark table th{ box-shadow:inset 0 -1px 0 rgba(141,157,179,.2); }
table td{ font-size:14px !important; padding:12px 14px !important; line-height:1.5 !important; }
table tbody tr{ transition:background-color .12s ease; }
table tbody tr:hover td:first-child{ box-shadow:inset 3px 0 0 var(--sn-azur); }

/* ---------- 6. BOUTONS : 13.5px, 9px 17px, pilule ---------- */
[data-slot="button"]{
  border-radius:999px !important; font-size:13.5px !important; font-weight:500 !important;
  padding:9px 17px !important; height:auto !important;
  transition:background-color .15s ease, box-shadow .18s ease, transform .12s ease !important;
}
[data-slot="button"]:active{ transform:scale(.985); }
[data-slot="button"].bg-primary{ background:var(--sn-bleu) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
[data-slot="button"].bg-primary:hover{
  background:var(--sn-bleu2) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26), 0 5px 16px rgba(61,92,135,.28);
}
[data-slot="button"][data-size="sm"]{ padding:6px 14px !important; font-size:12.5px !important; }

/* ---------- 7. PASTILLES : 11.5px ---------- */
[data-slot="badge"]{
  border-radius:999px !important; font-size:11.5px !important; font-weight:500 !important;
  padding:3px 10px !important; line-height:1.45 !important;
}

/* ---------- 8. ONGLETS : 13.5px, 8px 18px, en pilules ---------- */
[data-slot="tabs-list"]{ border-radius:999px !important; padding:5px !important; gap:3px; }
[data-slot="tabs-trigger"]{
  border-radius:999px !important; font-size:13.5px !important; font-weight:500 !important;
  padding:8px 18px !important; height:auto !important;
  transition:background-color .15s ease, color .15s ease !important;
}
[data-slot="tabs-trigger"][data-state="active"]{ font-weight:600 !important; }

/* ---------- 9. CHAMPS : 13.5px, arrondi doux ---------- */
[data-slot="input"],[data-slot="textarea"],[data-slot="select-trigger"]{
  font-size:13.5px !important; border-radius:11px !important;
  transition:border-color .18s ease, box-shadow .2s ease !important;
}
[data-slot="input"]:focus-visible,[data-slot="textarea"]:focus-visible,[data-slot="select-trigger"]:focus-visible{
  border-color:var(--sn-azur) !important; box-shadow:0 0 0 4px rgba(88,160,220,.18) !important;
}
/* la recherche du bandeau : pilule, comme AJ */
header input[type="search"],header input[type="text"]{ border-radius:999px !important; }

/* ---------- 10. AVATARS : anneau argente ---------- */
[data-slot="avatar"]{ box-shadow:0 0 0 1px rgba(219,227,238,.5), 0 1px 3px rgba(17,21,29,.1); }

/* ---------- 11. ANIMATIONS : sobres, seulement ce qui aide ---------- */
main > div,[data-slot="sidebar-inset"] > div{ animation:sn-ent .28s var(--sn-ea) both; }
@keyframes sn-ent{ from{ opacity:0; transform:translateY(5px) } }
body,[data-slot="card"],[data-slot="sidebar"],table td,table th{
  transition:background-color .3s ease, color .22s ease, border-color .22s ease;
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ---------- 12. LE BANDEAU DE TEST : impossible de se tromper d'app ---------- */
body::before{
  content:"COPIE DE TEST — donnees isolees, aucun email ne part";
  position:fixed; top:0; left:0; right:0; z-index:9999; height:26px;
  background:linear-gradient(96deg,var(--sn-bleu),var(--sn-azur)); color:#fff;
  font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 10px rgba(61,92,135,.35);
}
body{ padding-top:26px !important; }
[data-slot="sidebar"]{ top:26px !important; height:calc(100vh - 26px) !important; }
