/* ================================
   Washin — Thème global
   ================================ */
:root{
  /* Palette Washin */
  --washin-green: #7B9760;   /* Vert grisâtre */
  --washin-blue:  #122E48;   /* Bleu foncé (primaire) */
  --washin-blue-2:#365F79;   /* Bleu terne (hover) */
  --washin-blue-3:#A0C5DC;   /* Bleu pâle (surfaces) */

  /* Neutres */
  --ink-900:#1f2328; --ink-800:#2b3036; --ink-700:#3a3f46;
  --ink-600:#4b525a; --ink-500:#6b6f76; --ink-300:#c6cbd2;
  --border-200:#e5e7eb;
}

/* Layout de base */
html{
  min-height: 100%;
  margin: 0;
  background: linear-gradient(180deg, rgba(160,197,220,.35), rgba(160,197,220,.15));
}

body{
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: transparent; /* on laisse le dégradé de html apparaître */
  color: var(--ink-800);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main{
  flex: 1; /* pousse le footer en bas quand y’a peu de contenu */
}


/* Navbar (générique ; masquée sur login) */
.navbar{
  background:#fff; border-bottom:1px solid var(--border-200);
  box-shadow:0 1px 8px rgba(0,0,0,.03);
}
.navbar .navbar-brand{ color:var(--washin-blue) !important; font-weight:300; }
.navbar .nav-link{ color:var(--ink-600); }
.navbar .nav-link:hover,.navbar .nav-link.active{
  color:var(--washin-blue); text-decoration:underline; text-underline-offset:4px; font-weight:600;
}

/* Footer */
footer{
  background:#fff; 
  color:var(--ink-600); font-size:.92rem; padding:.8rem 0;
}

/* Boutons */
.btn-primary{
  background:var(--washin-blue); border-color:var(--washin-blue);
}
.btn-primary:hover{ background:var(--washin-blue-2); border-color:var(--washin-blue-2); }
.btn-outline-dark{
  color:var(--washin-blue); border-color:var(--washin-blue);
  background:#fff;
}
.btn-outline-dark:hover{
  color:#fff; background:var(--washin-blue); border-color:var(--washin-blue);
}

/* Inputs */
.form-control{ border-color:#d0d5dd; }
.form-control:focus{
  border-color:var(--washin-blue);
  box-shadow:0 0 0 .25rem rgba(18,46,72,.15);
}

/* Cartes */
.card{
  border:1px solid var(--border-200);
  border-radius:16px; box-shadow:0 8px 28px rgba(0,0,0,.06);
  background:#fff;
}

/* Utilitaires */
.no-header main{ padding-top:3rem; }
.text-muted{ color:var(--ink-500) !important; }





    .auth-card {
      max-width: 420px;
      margin: 5rem auto;
      padding: 2.5rem 2rem;
      border-radius: 1rem;
      background: #fff;
      box-shadow: 0 8px 28px rgba(0, 0, 0, .08);
      text-align: center;
    }

    .auth-logo {
      display: block;
      margin: 0 auto 1rem auto;
      width: 120px;
      height: auto;
    }

    .auth-title {
      font-size: 1.8rem;
      font-weight: 600;
      margin-bottom: 1.2rem;
      color: var(--washin-blue);
      text-align: center;
    }

    .auth-divider {
      height: 2px;
      background: var(--washin-blue);
      width: 100%;
      margin: 0.5rem auto 2rem auto;
    }
