/* =========================================================================
   Visits MU — thème commun
   Palette héritée de Shiva TB (App.xaml), reprise telle quelle de Shiva Mobile :
   quelqu'un qui connaît Shiva TB ne réapprend rien.

   Différence avec Shiva Mobile : ce site s'utilise sur un poste de travail, pas
   sur un téléphone. Les densités et les tailles de cible suivent.
   ========================================================================= */
:root{
  --ink:#011E41;            /* bleu Electrolux primaire */
  --azure:#1565C0;          /* secondaire / liens */
  --azure-soft:#E3EDF9;
  --paper:#FFFFFF;
  --ground:#EEF2F8;         /* neutre biaisé bleu, jamais un gris pur */
  --line:#DCE3EC;
  --text:#12233B;
  --text-2:#5B6B80;
  --text-3:#8494A8;
  --shadow:0 1px 2px rgba(1,30,65,.06), 0 8px 24px rgba(1,30,65,.08);

  /* Classifications de magasin, reprises de la grille Shiva TB */
  --cls-ap-bg:#E4F4EA; --cls-ap-fg:#1E8E4E;   /* A+ */
  --cls-a-bg:#E6EEFA;  --cls-a-fg:#27497F;    /* A  */
  --cls-b-bg:#E6F2E9;  --cls-b-fg:#2D6A41;    /* B  */
  --cls-c-bg:#FBEFCF;  --cls-c-fg:#876213;    /* C  */
  --cls-d-bg:#E4E6EA;  --cls-d-fg:#37404A;    /* D  */

  --ok:#1E7A55;
  --alerte-bg:#FCE7E9; --alerte-fg:#C02B2B;
  --avert-bg:#FBEFCF;  --avert-fg:#876213;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#0A1A2E; --azure:#6BA8E8; --azure-soft:#16304C;
    --paper:#111B27; --ground:#0A121C; --line:#22303F;
    --text:#E6EDF5; --text-2:#A2B1C4; --text-3:#74849A;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.45);
    --cls-ap-bg:#14311F; --cls-ap-fg:#77CE9A;
    --cls-a-bg:#1B2E4A;  --cls-a-fg:#9CBCE8;
    --cls-b-bg:#1B3325;  --cls-b-fg:#8FCBA5;
    --cls-c-bg:#3A2F14;  --cls-c-fg:#E3C173;
    --cls-d-bg:#242A31;  --cls-d-fg:#A7B3C0;
    --ok:#1B6A4A;
    --alerte-bg:#3A1C20; --alerte-fg:#EE9096;
    --avert-bg:#3A2F14;  --avert-fg:#E3C173;
  }
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--ground);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.45;
}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:ui-monospace,"SF Mono","Cascadia Mono",Consolas,monospace;font-variant-numeric:tabular-nums}

/* ------------------------------------------------------- pastilles de classification */
.cls{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;
  display:inline-block;min-width:26px;text-align:center}
.cls.ap{background:var(--cls-ap-bg);color:var(--cls-ap-fg)}
.cls.a {background:var(--cls-a-bg); color:var(--cls-a-fg)}
.cls.b {background:var(--cls-b-bg); color:var(--cls-b-fg)}
.cls.c {background:var(--cls-c-bg); color:var(--cls-c-fg)}
.cls.d {background:var(--cls-d-bg); color:var(--cls-d-fg)}

/* --------------------------------------------------- écrans pleine page (connexion) */
.plein{
  min-height:100dvh;display:flex;flex-direction:column;justify-content:center;
  width:100%;max-width:420px;margin:0 auto;padding:28px;
}

/* ---------------------------------------------------------------- éléments communs */
button{font:inherit;cursor:pointer}
.bouton{
  height:36px;padding:0 15px;border-radius:9px;border:1px solid var(--line);
  background:var(--paper);color:var(--text);font-weight:600;font-size:13.5px}
.bouton:hover{border-color:var(--azure);color:var(--azure)}
.bouton.primaire{background:var(--ink);border-color:var(--ink);color:#fff}
.bouton.primaire:hover{background:var(--azure);border-color:var(--azure);color:#fff}
.bouton:disabled{opacity:.5;cursor:default}
.bouton.primaire:disabled:hover{background:var(--ink);border-color:var(--ink)}

input[type=text],input[type=search],input[type=date],input[type=time],input[type=password],select,textarea{
  font:inherit;font-size:13.5px;height:34px;padding:0 10px;border-radius:8px;
  border:1px solid var(--line);background:var(--paper);color:var(--text)}
textarea{height:auto;padding:7px 10px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--azure);outline-offset:-1px}

.message{padding:11px 14px;border-radius:9px;font-size:13.5px;margin:0 0 14px;display:none}
.message.on{display:block}
.message.erreur{background:var(--alerte-bg);color:var(--alerte-fg)}
.message.avert{background:var(--avert-bg);color:var(--avert-fg)}
.message.ok{background:var(--cls-ap-bg);color:var(--cls-ap-fg)}

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