:root{
  --orange:#F39323;
  --orange-soft:#F5A83E;
  --link:#1a0dab;
  --band:#3b7f7a;      /* bandeaux verts de section (fiche) */
  --grey:#e6e6e6;
  --border:#bdbdbd;
  --text:#1c1c1c;
}
*{box-sizing:border-box;}
body{
  font-family:"Times New Roman",Georgia,serif;
  color:var(--text);
  margin:0;
  background:#fff;
  font-size:15px;
}
a{color:var(--link);}
a:hover{color:#7a0da8;}

/* --- En-tete --- */
.header{
  background:var(--orange);
  padding:10px 16px;
  text-align:center;
  border-bottom:3px solid #fff;
}
.header .brand{
  display:inline-block;
  background:#fff;
  border-radius:6px;
  padding:8px 26px;
  color:var(--band);
  font-weight:bold;
  font-size:26px;
  font-style:italic;
  letter-spacing:1px;
  box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.header .brand small{
  display:block;font-size:10px;font-style:normal;letter-spacing:3px;color:#555;
}
.nav{
  padding:8px 16px;
  border-bottom:1px solid var(--border);
  font-size:15px;
}
.nav a{margin-right:4px;}
.nav .sep{color:#999;margin:0 4px;}
.nav .user{float:right;color:#555;font-size:13px;font-family:Arial,sans-serif;}

.wrap{max-width:1000px;margin:0 auto;padding:16px;}
.footer-band{background:var(--orange);height:18px;margin-top:24px;}

h1.title{text-align:center;font-size:30px;margin:18px 0 6px;}
.subtitle{text-align:center;}
.hint{text-align:center;color:#c00;font-size:13px;margin-bottom:12px;}
.count{color:#c00;font-weight:bold;margin:8px 0;}

/* --- Formulaire de recherche --- */
table.search{margin:0 auto;border-collapse:collapse;}
table.search td{padding:3px 6px;vertical-align:middle;}
table.search td.lbl{text-align:left;white-space:nowrap;}
input[type=text],select{
  border:1px solid #7a7a7a;padding:3px 5px;font-size:14px;font-family:Arial,sans-serif;
  background:#fff;
}
input[type=text]{width:190px;}
.btn{
  font-family:Arial,sans-serif;font-size:13px;padding:3px 10px;
  background:var(--grey);border:1px solid #888;border-radius:3px;cursor:pointer;
}
.btn:hover{background:#d8d8d8;}
.toolbar{margin:10px 0;}
.toolbar a{margin-right:10px;}

/* --- Tableau de resultats --- */
table.results{width:100%;border-collapse:collapse;margin:10px 0;font-size:14px;}
table.results th{
  text-align:left;border-bottom:2px solid #333;padding:4px 8px;font-size:15px;
}
table.results td{padding:5px 8px;border-bottom:1px solid #ccc;vertical-align:top;}
table.results tr:hover td{background:#fdf3e6;}

/* --- Fiche --- */
.fiche{max-width:820px;margin:0 auto;}
.fiche h2{text-align:center;font-size:26px;margin:14px 0;}
.sectionband{
  background:var(--orange);color:#fff;font-weight:bold;text-align:center;
  padding:4px;margin:16px 0 8px;font-family:Arial,sans-serif;font-size:14px;
}
table.fiche-grid{width:100%;border-collapse:collapse;}
table.fiche-grid td{padding:4px 8px;vertical-align:top;font-size:14px;}
table.fiche-grid td.k{color:#333;font-weight:bold;white-space:nowrap;width:1%;font-family:Arial,sans-serif;font-size:13px;}
table.fiche-grid td.v{border-bottom:1px dotted #bbb;min-width:120px;}
.note-box{border:1px solid #999;background:#fafafa;padding:6px;min-height:40px;white-space:pre-wrap;}

/* --- Login --- */
.login-card{max-width:340px;margin:60px auto;border:1px solid var(--border);
  border-radius:8px;padding:26px;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.login-card h2{margin-top:0;text-align:center;color:var(--band);}
.login-card label{display:block;margin:10px 0 3px;font-family:Arial,sans-serif;font-size:13px;}
.login-card input{width:100%;padding:7px;}
.login-card .btn{width:100%;margin-top:16px;padding:8px;}
.error{color:#c00;text-align:center;font-family:Arial,sans-serif;font-size:13px;margin-top:10px;}
.badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:12px;font-family:Arial,sans-serif;color:#fff;}
