/* ERP Déménagement — styles communs (lot 1). Palette proche SAFARI, modernisée. */
:root {
  --bleu: #1d4e89; --bleu-fonce: #143a68; --bleu-clair: #eaf1f8;
  --rouge: #c8102e; --gris: #5a6472; --fond: #f2f4f7; --blanc: #fff;
  --vert: #1c7c43; --ambre: #b57700;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fond); color: #1c2430; font: 15px/1.5 "Segoe UI", system-ui, sans-serif; }
header.appli {
  background: linear-gradient(90deg, var(--bleu-fonce), var(--bleu)); color: var(--blanc);
  padding: 10px 22px; display: flex; align-items: center; gap: 16px;
}
header.appli h1 { margin: 0; font-size: 18px; flex: 1; }
header.appli .badge-role { background: rgba(255,255,255,.15); border-radius: 4px; padding: 2px 10px; font-size: 13px; }
header.appli button { background: transparent; border: 1px solid rgba(255,255,255,.5); color: var(--blanc); border-radius: 4px; padding: 4px 12px; cursor: pointer; }
main { max-width: 1100px; margin: 0 auto; padding: 20px; }
.carte { background: var(--blanc); border: 1px solid #dde3ea; border-radius: 8px; padding: 20px 22px; }
h2 { margin: 0 0 14px; font-size: 16px; color: var(--bleu); border-bottom: 2px solid var(--bleu-clair); padding-bottom: 6px; }
label { display: block; font-size: 13px; color: var(--gris); margin-top: 10px; }
input, select { width: 100%; padding: 8px 10px; margin-top: 3px; border: 1px solid #c4ccd6; border-radius: 4px; font: inherit; background: var(--blanc); }
/* MAJUSCULES (règle SAFARI, 29/08/2026) : la saisie s'affiche en capitales et
   l'API stocke en capitales. Exceptions : emails, mots de passe, URL, et les
   champs marqués .minuscules (identifiants, adresses email libres, modèles). */
input[type="text"]:not(.minuscules), input[type="search"]:not(.minuscules),
input:not([type]):not(.minuscules), textarea:not(.minuscules) { text-transform: uppercase; }
button.principal { background: var(--bleu); color: var(--blanc); border: 0; border-radius: 4px; padding: 9px 18px; font: inherit; font-weight: 600; cursor: pointer; margin-top: 16px; }
button.principal:hover { background: var(--bleu-fonce); }
.erreur { background: #fdecec; border-left: 4px solid var(--rouge); color: #7a1020; padding: 8px 12px; margin-top: 12px; font-size: 14px; border-radius: 0 4px 4px 0; }
.info { color: var(--gris); font-size: 13px; }
table.liste { width: 100%; border-collapse: collapse; background: var(--blanc); }
table.liste th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .4px; color: var(--gris); border-bottom: 2px solid var(--bleu); padding: 8px 10px; }
table.liste td { padding: 8px 10px; border-bottom: 1px solid #eef1f5; font-size: 14px; }
table.liste tr.clic { cursor: pointer; }
table.liste tr.clic:hover { background: var(--bleu-clair); }
.etiquette { display: inline-block; border-radius: 10px; padding: 1px 9px; font-size: 12px; font-weight: 600; }
.etiquette.prospect { background: #fff3d6; color: var(--ambre); }
.etiquette.client { background: #e3f4e9; color: var(--vert); }
.etiquette.entreprise { background: var(--bleu-clair); color: var(--bleu); }
.barre-outils { display: flex; gap: 10px; align-items: end; margin-bottom: 14px; flex-wrap: wrap; }
.barre-outils label { margin-top: 0; }
.deux-colonnes { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; align-items: start; }
@media (max-width: 900px) { .deux-colonnes { grid-template-columns: 1fr; } }
dialog { border: 1px solid #c4ccd6; border-radius: 8px; padding: 20px 24px; width: min(480px, 92vw); }
dialog::backdrop { background: rgba(20, 30, 45, .45); }
.detail dt { font-size: 12px; color: var(--gris); margin-top: 8px; }
.detail dd { margin: 0; font-size: 14px; }
