/* =========================================================
   Clone pédagogique OVINFOS : reproduction de l'interface
   du portail pro.ovinfos.fr (style sobre, Verdana, carte
   centrée, titres bleus). Seul ajout : le bandeau rouge.
   ========================================================= */

:root{
  --ov-rouge:#a12026;      /* bordeaux du logo */
  --ov-vert:#5f9e26;       /* vert du logo */
  --ov-bleu:#1f5c99;       /* titres et liens */
  --ov-bord:#c9d1d9;
  --ov-gris:#f4f6f8;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:Verdana, Geneva, Tahoma, sans-serif;
  font-size:13px;
  color:#222;
  background:#fff;
}

/* ----- LE SEUL AJOUT : bandeau simulation ----- */
.bandeau-fictif{
  background:#c62828;
  color:#fff;
  text-align:center;
  padding:9px 14px;
  font-size:12.5px;
  line-height:1.5;
}
.bandeau-fictif a{color:#ffd9d9;}
.bandeau-fictif .ens{float:right;font-size:11px;opacity:.85;}

/* ----- Page de connexion ----- */
.page-connexion{background:#fff;}
.carte-connexion{
  width:492px;
  max-width:94%;
  margin:10px auto 40px;
  border:1px solid var(--ov-bord);
  border-radius:6px;
  padding:18px 24px 14px;
}
.logos-partenaires{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:6px 4px 14px;
}
.logo-part{font-size:9px;line-height:1.25;text-align:center;font-weight:700;}
.logo-part.chambres{color:#00834e;}
.logo-part.chambres .pic{font-size:20px;}
.logo-part.interbev{
  color:#c8102e;
  border:2px solid #c8102e;
  padding:5px 7px;
  border-radius:4px;
  font-size:11px;
  letter-spacing:.5px;
}
.logo-part.ministere{color:#000;text-align:left;font-weight:400;font-size:8.5px;text-transform:uppercase;}
.logo-part.ministere .tricolore{display:block;height:4px;width:26px;margin-bottom:3px;
  background:linear-gradient(90deg,#000091 33%,#fff 33% 66%,#e1000f 66%);border:1px solid #ddd;}
.logo-part.ministere b{font-size:9px;}

.logo-ovinfos{text-align:center;margin:6px 0 16px;}
.logo-ovinfos svg{display:block;margin:0 auto 2px;}
.logo-ovinfos .marque{
  font-size:34px;
  font-weight:800;
  letter-spacing:2px;
  color:var(--ov-rouge);
  font-family:'Trebuchet MS', Verdana, sans-serif;
}
.logo-ovinfos .marque .ov{color:var(--ov-vert);}

h2.ov-titre{
  color:var(--ov-bleu);
  font-size:15px;
  margin:18px 0 10px;
}

.bloc-centre{width:250px;margin:0 auto;text-align:center;}
.bloc-centre input[type=text],
.bloc-centre input[type=password]{
  width:100%;
  padding:9px 10px;
  font-size:13px;
  border:1px solid #b8bfc7;
  border-radius:5px;
  color:#333;
}
.btn-ovinfos{
  display:block;
  width:100%;
  margin-top:10px;
  padding:10px 0;
  font-size:13px;
  color:#fff;
  background:#8f979f;
  border:none;
  border-radius:5px;
  cursor:pointer;
}
.btn-ovinfos.actif{background:#4a76a8;}
.btn-ovinfos.actif:hover{background:#3d6494;}
.btn-secondaire{
  display:inline-block;
  padding:10px 14px;
  font-size:12.5px;
  color:#26374a;
  background:#dbe4f0;
  border:1px solid #c3d0e2;
  border-radius:5px;
  cursor:pointer;
  text-decoration:none;
}
.liens-aide{margin-top:10px;font-size:11px;}
.liens-aide a{color:#26374a;margin:0 8px;}
.contact-ovinfos{text-align:center;font-size:11.5px;color:var(--ov-bleu);margin-top:22px;}
.pied-connexion{
  text-align:center;
  font-size:11px;
  color:#555;
  border-top:1px solid #e3e7eb;
  margin-top:16px;
  padding-top:10px;
}
.pied-connexion a{color:var(--ov-bleu);}

.msg-erreur{
  background:#fdecea;
  border:1px solid #f2b8b5;
  color:#8c1d18;
  border-radius:5px;
  padding:8px 12px;
  margin:10px 0;
  font-size:12px;
  text-align:left;
}
.msg-ok{
  background:#e8f3e2;
  border:1px solid #b9d8a5;
  color:#2c5e10;
  border-radius:5px;
  padding:8px 12px;
  margin:10px 0;
  font-size:12px;
}

/* ----- Application connectée ----- */
.app-entete{
  border-bottom:2px solid var(--ov-vert);
  padding:8px 18px;
  display:flex;
  align-items:center;
  gap:16px;
}
.app-entete .marque-mini{
  font-size:21px;font-weight:800;letter-spacing:1px;color:var(--ov-rouge);
  font-family:'Trebuchet MS', Verdana, sans-serif;
}
.app-entete .marque-mini .ov{color:var(--ov-vert);}

/* ----- Écran de saisie (fidèle à la maquette officielle) ----- */
.ecran-titre{
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--ov-gris);
  border:1px solid var(--ov-bord);
  border-radius:5px;
  padding:8px 12px;
  margin-bottom:16px;
}
.ecran-titre h1{margin:0 !important;font-size:16px !important;letter-spacing:1px;}
.ecran-titre a{
  color:var(--ov-bleu);
  text-decoration:none;
  font-size:12px;
  border:1px solid var(--ov-bord);
  background:#fff;
  border-radius:4px;
  padding:5px 10px;
}
.ecran-titre a:hover{background:var(--ov-gris);}

.section-saisie{
  border-top:1px solid var(--ov-bord);
  margin-top:18px;
  padding-top:12px;
}
.section-saisie .titre-section{
  font-weight:700;
  color:#333;
  font-size:12.5px;
  letter-spacing:.5px;
  margin-bottom:10px;
}
.note-tableau{font-size:11px;color:#777;font-style:italic;margin:-4px 0 8px;}

table.tbl-agneaux{border-collapse:collapse;font-size:12.5px;width:100%;max-width:980px;}
.tbl-agneaux th{
  background:#eef2f7;border:1px solid var(--ov-bord);
  padding:6px 10px;color:#26374a;font-size:11.5px;text-transform:uppercase;
}
.tbl-agneaux td{border:1px solid #dde3e9;padding:6px 8px;text-align:center;}
.tbl-agneaux td:first-child{font-weight:700;color:#333;}
.tbl-agneaux input,.tbl-agneaux select{
  padding:6px 7px;font-size:12.5px;border:1px solid #b8bfc7;border-radius:4px;
}
.tbl-agneaux input.poids{width:80px;text-align:right;}
.tbl-agneaux input.boucle{width:150px;}
.tbl-agneaux input:disabled{background:#f1f3f5;color:#999;}

.barre-actions{
  display:flex;
  gap:14px;
  justify-content:center;
  border-top:1px solid var(--ov-bord);
  margin-top:20px;
  padding-top:16px;
}
.btn-enregistrer{
  padding:11px 26px;font-size:13px;font-weight:700;color:#fff;
  background:var(--ov-vert);border:none;border-radius:5px;cursor:pointer;
}
.btn-enregistrer:hover{background:#4f8a1c;}
.btn-annuler{
  padding:11px 22px;font-size:13px;color:#8c1d18;
  background:#fdecea;border:1px solid #f2b8b5;border-radius:5px;cursor:pointer;
  text-decoration:none;display:inline-block;
}
.app-detenteur{margin-left:auto;text-align:right;font-size:11.5px;color:#444;line-height:1.45;}
.app-detenteur b{color:#222;}
.app-detenteur a{color:var(--ov-bleu);}

.app-nav{
  background:var(--ov-gris);
  border-bottom:1px solid var(--ov-bord);
  padding:0 18px;
}
.app-nav a{
  display:inline-block;
  padding:9px 14px;
  color:var(--ov-bleu);
  text-decoration:none;
  font-size:12.5px;
  border-bottom:3px solid transparent;
}
.app-nav a.actif{
  background:#fff;
  border:1px solid var(--ov-bord);
  border-bottom:3px solid var(--ov-vert);
  font-weight:700;
}
.app-nav a:hover{text-decoration:underline;}

.app-corps{max-width:1240px;margin:0 auto;padding:20px 26px 50px;}
.app-corps h1{color:var(--ov-bleu);font-size:18px;margin:6px 0 14px;}
.app-corps h3{color:var(--ov-bleu);font-size:13.5px;margin:20px 0 8px;}

.encart-reglement{
  background:var(--ov-gris);
  border:1px solid var(--ov-bord);
  border-left:4px solid var(--ov-vert);
  padding:10px 14px;
  font-size:12px;
  margin:14px 0;
  line-height:1.55;
}

.cartes-accueil{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0;}
.carte-acces{
  flex:1;min-width:230px;
  border:1px solid var(--ov-bord);
  border-radius:6px;
  padding:16px;
  text-decoration:none;
  color:#222;
}
.carte-acces:hover{background:var(--ov-gris);}
.carte-acces .titre{color:var(--ov-bleu);font-weight:700;font-size:14px;margin-bottom:6px;}
.carte-acces .chiffre{font-size:26px;font-weight:800;color:var(--ov-rouge);}
.carte-acces .aide{font-size:11.5px;color:#555;margin-top:6px;line-height:1.45;}

/* Formulaires */
.form-ovinfos{max-width:980px;}
.form-ligne{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap;}
.form-ligne label{width:230px;font-size:12.5px;color:#333;}
.form-ligne input,.form-ligne select{
  padding:7px 9px;font-size:13px;border:1px solid #b8bfc7;border-radius:4px;
}
.form-ligne .note{font-size:11px;color:#777;width:100%;padding-left:242px;}
fieldset.agneau{
  border:1px solid var(--ov-bord);
  border-radius:5px;
  margin:0 0 12px;
  padding:10px 14px;
}
fieldset.agneau legend{color:var(--ov-bleu);font-weight:700;font-size:12.5px;padding:0 6px;}

/* Tableaux */
table.ov-table{border-collapse:collapse;width:100%;font-size:12.5px;}
.ov-table th{
  background:#eef2f7;
  border:1px solid var(--ov-bord);
  color:#26374a;
  padding:7px 9px;
  text-align:left;
}
.ov-table td{border:1px solid #dde3e9;padding:6px 9px;}
.ov-table tr:nth-child(even) td{background:#f8fafb;}
.badge-statut{
  display:inline-block;
  background:#e8f3e2;
  color:#2c5e10;
  border-radius:9px;
  padding:1px 9px;
  font-size:11px;
}

/* Récépissé */
.recepisse{
  border:1px solid var(--ov-bord);
  border-radius:6px;
  max-width:560px;
  padding:18px 22px;
  margin:16px 0;
}
.recepisse .num{font-size:16px;font-weight:800;color:var(--ov-rouge);}
.recepisse table{margin-top:10px;}
.recepisse td{padding:3px 12px 3px 0;font-size:12.5px;}
.recepisse td:first-child{color:#555;}

.pied-app{
  text-align:center;font-size:11px;color:#666;
  border-top:1px solid #e3e7eb;padding:12px;margin-top:30px;
}

/* ===== Habillage SIEOL ===== */
.marque-sieol{text-align:center;margin:14px 0 6px;}
.marque-sieol .sigle{
  font-size:38px;
  font-weight:800;
  letter-spacing:5px;
  color:#1f4e79;
  font-family:'Trebuchet MS', Verdana, sans-serif;
  border-bottom:3px solid var(--ov-vert);
  display:inline-block;
  padding:0 10px 2px;
}
.marque-sieol .developpe{font-size:11.5px;color:#444;margin-top:7px;}
.marque-sieol .bassin{font-size:10.5px;color:#777;margin-top:2px;}

.marque-mini-sieol{
  font-size:20px;font-weight:800;letter-spacing:2px;color:#1f4e79;
  font-family:'Trebuchet MS', Verdana, sans-serif;
}
.marque-mini-sieol span{
  font-size:11px;font-weight:400;letter-spacing:0;color:#666;margin-left:8px;
}

.fil-ariane{
  background:#fff;
  border-bottom:1px solid var(--ov-bord);
  padding:7px 18px;
  font-size:11.5px;
  color:#555;
  letter-spacing:.3px;
}

.recherche-rapide{
  display:flex;align-items:center;gap:8px;
  background:var(--ov-gris);
  border:1px solid var(--ov-bord);
  border-radius:5px;
  padding:8px 12px;
  margin-bottom:14px;
  font-size:12.5px;
}
.recherche-rapide input{padding:6px 9px;border:1px solid #b8bfc7;border-radius:4px;font-size:12.5px;}

.info-animal{font-size:12.5px;color:#1f4e79;font-weight:700;}

/* =========================================================
   THÈME SIEOL « application Windows » (d'après la photo de
   l'écran réel) : gris système, bordures relief, menus
   classiques, panneau Identification utilisateur.
   Chargé en dernier : il surcharge l'habillage web.
   ========================================================= */

:root{
  --w-face:#d9d9d9;   /* gris système */
  --w-hi:#ffffff;
  --w-sh:#808080;
  --w-dk:#404040;
  --w-titre1:#0a246a; /* dégradé barre de titre */
  --w-titre2:#a6caf0;
}

body{
  font-family:Tahoma, 'MS Sans Serif', Verdana, sans-serif;
  font-size:12.5px;
  background:var(--w-face);
}

/* Bandeau simulation : rouge, sur toutes les pages */
.bandeau-fictif{
  background:#b71c1c;
  font-weight:400;
}
.bandeau-fictif b, .bandeau-fictif strong{letter-spacing:.4px;}

/* Barre de titre de la « fenêtre » SIEOL */
.win-titlebar{
  display:flex;
  align-items:center;
  background:linear-gradient(90deg, var(--w-titre1) 0%, var(--w-titre2) 100%);
  color:#fff;
  font-weight:700;
  font-size:12.5px;
  padding:3px 6px;
  letter-spacing:.5px;
}
.win-titlebar .boutons{margin-left:auto;display:flex;gap:3px;}
.win-titlebar .boutons span{
  width:18px;height:16px;
  background:var(--w-face);
  color:#000;
  font-size:10px;
  line-height:15px;
  text-align:center;
  border:1px solid;
  border-color:var(--w-hi) var(--w-dk) var(--w-dk) var(--w-hi);
  font-family:Marlett, Tahoma, sans-serif;
}

/* Barre de menus classique (libellés de l'appli réelle) */
.menu-sieol{
  background:var(--w-face);
  border-bottom:1px solid var(--w-sh);
  padding:2px 4px;
  font-size:12.5px;
}
.menu-sieol a, .menu-sieol span{
  display:inline-block;
  padding:3px 9px;
  color:#000;
  text-decoration:none;
}
.menu-sieol a:hover{background:var(--w-titre1);color:#fff;}
.menu-sieol span.inactif{color:#808080;}

/* En-tête applicative repensée */
.app-entete{
  border-bottom:none;
  padding:6px 12px;
  background:var(--w-face);
}
.marque-mini-sieol{color:#000;font-family:Tahoma, sans-serif;font-size:13px;letter-spacing:1px;}
.marque-mini-sieol span{color:#444;}
.app-detenteur{font-size:11px;}

/* Navigation : onglets gris en relief */
.app-nav{
  background:var(--w-face);
  border-bottom:1px solid var(--w-sh);
  padding:4px 8px 0;
}
.app-nav a{
  background:var(--w-face);
  border:2px solid;
  border-color:var(--w-hi) var(--w-dk) var(--w-face) var(--w-hi);
  border-radius:0;
  color:#000;
  margin-right:2px;
  padding:5px 12px;
  font-size:12px;
}
.app-nav a.actif{
  background:#ececec;
  border-bottom:2px solid #ececec;
  font-weight:700;
  color:#000;
}
.app-nav a:hover{text-decoration:none;background:#e2e2e2;}

.fil-ariane{background:var(--w-face);border-bottom:1px solid var(--w-sh);color:#333;}

/* Corps : panneau clair en léger creux */
.app-corps{
  background:#ececec;
  border:2px solid;
  border-color:var(--w-sh) var(--w-hi) var(--w-hi) var(--w-sh);
  margin:10px auto;
}
.app-corps h1{color:#000;font-size:16px;}
.app-corps h3{color:#000;}
.encart-reglement{background:#f5f5f5;border-left-color:var(--w-titre1);}

/* Cartes d'accueil et boutons : relief Windows */
.carte-acces{background:var(--w-face);border:2px solid;border-color:var(--w-hi) var(--w-dk) var(--w-dk) var(--w-hi);border-radius:0;}
.carte-acces:hover{background:#e2e2e2;}
.carte-acces .titre{color:var(--w-titre1);}
.carte-acces .chiffre{color:#7a1010;}

.btn-ovinfos, .btn-ovinfos.actif, .btn-secondaire, .btn-enregistrer, .btn-annuler{
  background:var(--w-face);
  color:#000;
  border:2px solid;
  border-color:var(--w-hi) var(--w-dk) var(--w-dk) var(--w-hi);
  border-radius:0;
  font-weight:400;
}
.btn-ovinfos.actif:hover, .btn-secondaire:hover, .btn-enregistrer:hover, .btn-annuler:hover{background:#e2e2e2;}
.btn-enregistrer{font-weight:700;}

input[type=text], input[type=password], input[type=date], select, textarea{
  border:2px solid !important;
  border-color:var(--w-sh) var(--w-hi) var(--w-hi) var(--w-sh) !important;
  border-radius:0 !important;
  background:#fff;
}
input:disabled{background:var(--w-face) !important;}

.ov-table th, .tbl-agneaux th{
  background:var(--w-face);
  border:2px solid;
  border-color:var(--w-hi) var(--w-sh) var(--w-sh) var(--w-hi);
  text-transform:none;
}
.ov-table td, .tbl-agneaux td{background:#fff;border:1px solid #b5b5b5;}
.ov-table tr:nth-child(even) td{background:#f2f2f2;}
.badge-statut{border-radius:0;border:1px solid #9dbb9d;}

.recherche-rapide{border-radius:0;background:var(--w-face);border:2px solid;border-color:var(--w-hi) var(--w-dk) var(--w-dk) var(--w-hi);}
.section-saisie .titre-section{color:#000;}
.ecran-titre{border-radius:0;background:var(--w-face);border:2px solid;border-color:var(--w-hi) var(--w-dk) var(--w-dk) var(--w-hi);}
.pied-app{color:#555;border-top:1px solid var(--w-sh);}

/* ----- Page de connexion « Identification utilisateur » ----- */
.fenetre-sieol{
  max-width:900px;
  margin:0 auto 30px;
  background:var(--w-face);
  border:2px solid;
  border-color:var(--w-hi) var(--w-dk) var(--w-dk) var(--w-hi);
}
.panneau-identification{
  margin:34px auto 22px;
  width:640px;
  max-width:92%;
  border:1px solid var(--w-sh);
  background:var(--w-face);
  padding:26px 30px 34px;
}
.panneau-identification h1{
  text-align:center;
  font-size:21px;
  font-weight:800;
  margin:0 0 30px;
  color:#111;
}
.ligne-ident{display:flex;align-items:center;margin:0 auto 16px;max-width:520px;}
.ligne-ident label{width:150px;font-size:12.5px;}
.ligne-ident input{flex:1;padding:6px 8px;font-size:13px;}
.ligne-ident .ok{margin-left:10px;padding:6px 18px;cursor:pointer;}

.infos-sieol{
  margin:6px 26px 26px;
  font-size:11.5px;
  line-height:1.6;
  color:#222;
}
.infos-sieol .titre-infos{
  text-align:center;
  font-weight:800;
  font-size:12.5px;
  margin-bottom:2px;
}
.infos-sieol .sigle-espace{
  text-align:center;
  font-weight:800;
  letter-spacing:8px;
  margin-bottom:14px;
}
.infos-sieol ul{margin:4px 0 0 40px;padding:0;}
