/* Care Elite Rapports : interface interne. Polices servies localement. */
@font-face { font-family: "Inter"; src: url("/static/rapport/fonts/Inter-Regular.ttf"); font-weight: 400; }
@font-face { font-family: "Inter"; src: url("/static/rapport/fonts/Inter-Medium.ttf"); font-weight: 500; }
@font-face { font-family: "Inter"; src: url("/static/rapport/fonts/Inter-SemiBold.ttf"); font-weight: 600; }
@font-face { font-family: "Inter Tight"; src: url("/static/rapport/fonts/InterTight-Bold.ttf"); font-weight: 700; }

:root {
  --nuit: #080c18; --encre: #0b0b0d; --texte: #23232a; --gris: #74747f; --or: #a8894f; --or-fonce: #7e6533;
  --filet: #e2e0db; --papier: #faf9f6; --vert: #2e6b4f; --fond-vert: #e9f2ed; --brun: #96682a; --fond-alerte: #faf1e2;
  --rouge: #a3322b;
}
* { box-sizing: border-box; }
html { font-family: "Inter", system-ui, sans-serif; font-size: 15px; color: var(--texte); background: #f3f2ee; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; }
a { color: var(--or-fonce); }
h1, h2 { font-family: "Inter Tight", "Inter", sans-serif; color: var(--encre); letter-spacing: -0.02em; }
h1 { font-size: 1.7rem; margin: 0.2rem 0 0.8rem; }
h2 { font-size: 1.15rem; margin: 0 0 0.8rem; }

.barre { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.7rem 2rem; background: var(--nuit); color: #fff; }
.marque { display: flex; align-items: center; gap: 0.7rem; color: #fff; text-decoration: none; }
.marque img { width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(168, 137, 79, 0.6); }
.marque span { font-weight: 600; letter-spacing: 0.14em; }
.marque em { font-style: normal; color: rgba(255, 255, 255, 0.55); font-size: 0.85rem; }
nav { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; }
nav a, nav .lien { color: rgba(255, 255, 255, 0.85); text-decoration: none; font-size: 0.92rem; }
nav a:hover, nav .lien:hover { color: #fff; }

main { flex: 1; width: 100%; max-width: 1180px; margin: 0 auto; padding: 1.8rem 2rem 3rem; }
footer { padding: 1rem 2rem; font-size: 0.8rem; color: var(--gris); text-align: center; }

.carte { background: #fff; border: 1px solid var(--filet); border-top: 2px solid var(--encre); padding: 1.3rem 1.5rem; margin: 0 0 1.4rem; }
.carte.etroite { max-width: 560px; }
.carte.discret { border-top-color: var(--filet); }
.colonnes { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 1.4rem; }
.entete-page { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.surtitre { margin: 0; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--or); }
.surtitre a { color: inherit; text-decoration: none; }
.sous-titre, .aide { color: var(--gris); font-size: 0.88rem; }
.vide { color: var(--gris); font-style: italic; }

.message { padding: 0.8rem 1rem; border-left: 3px solid; margin: 0 0 1.2rem; list-style: none; }
.message.info { background: var(--fond-vert); border-color: var(--vert); color: var(--vert); }
.message.erreur { background: var(--fond-alerte); border-color: var(--brun); color: #6b4618; }
.erreur-texte { color: var(--rouge); font-size: 0.88rem; }

.statut { display: inline-block; padding: 0.2rem 0.55rem; background: #f5efe2; color: var(--or-fonce); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }

table.liste { width: 100%; border-collapse: collapse; background: #fff; font-size: 0.92rem; }
table.liste th { background: var(--encre); color: #fff; text-align: left; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; padding: 0.65rem 0.7rem; }
table.liste td { padding: 0.6rem 0.7rem; border-top: 1px solid var(--filet); vertical-align: top; }
table.liste tbody tr:nth-child(even) td { background: var(--papier); }
table.liste td.actions { white-space: nowrap; text-align: right; }
table.liste tr.details td { border-top: 0; font-size: 0.85rem; color: var(--gris); }
progress { width: 120px; height: 8px; vertical-align: middle; accent-color: var(--or); }

form { margin: 0; }
.formulaire fieldset { border: 1px solid var(--filet); background: #fff; padding: 1rem 1.2rem; margin: 0 0 1.2rem; }
legend { font-weight: 600; color: var(--encre); padding: 0 0.4rem; }
label { display: block; margin: 0 0 0.9rem; font-size: 0.9rem; font-weight: 500; color: var(--encre); }
input:not([type=checkbox]):not([type=file]), select, textarea { display: block; width: 100%; margin-top: 0.3rem; padding: 0.55rem 0.65rem; border: 1px solid #cfccc4; background: #fff; font: inherit; color: var(--texte); }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--or); outline-offset: 0; border-color: var(--or); }
textarea.transcription { font-size: 0.95rem; line-height: 1.55; }
.grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 1rem; }
.cases { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0.2rem 1rem; margin-bottom: 0.8rem; }
label.case { font-weight: 400; display: flex; gap: 0.5rem; align-items: flex-start; }
label.consentement { background: var(--papier); border-left: 3px solid var(--or); padding: 0.8rem; }
.ligne-depot { display: grid; grid-template-columns: 1fr 150px 1fr; gap: 0.6rem; align-items: center; margin-bottom: 0.6rem; }
.ligne-depot input[type=date], .ligne-depot select { margin-top: 0; }

button, .bouton { display: inline-block; padding: 0.6rem 1.1rem; border: 0; background: var(--encre); color: #fff; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; }
button:hover, .bouton:hover { background: #262630; }
button.secondaire { background: #fff; color: var(--encre); border: 1px solid var(--encre); }
button.danger { background: var(--rouge); }
button.lien { background: none; border: 0; padding: 0; color: var(--or-fonce); font-weight: 500; text-decoration: underline; cursor: pointer; }
nav button.lien { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.lien.danger, a.danger { color: var(--rouge); }
form.en-ligne { display: inline; margin-left: 0.6rem; }
.lien-unique code { display: block; padding: 0.8rem; background: var(--papier); border: 1px solid var(--filet); word-break: break-all; font-size: 0.9rem; }
dl.parametres { display: grid; grid-template-columns: 200px 1fr; gap: 0.4rem 1rem; font-size: 0.9rem; }
dl.parametres dt { color: var(--gris); }
dl.parametres dd { margin: 0; }
