:root {
  --bleu: #0b3d68; --bleu-clair: #14507f; --ambre: #d98a1f;
  --fond: #f3f6f9; --carte: #fff; --texte: #16202b; --gris: #6a7784;
  --bord: #e3e9ef; --vert: #1e7a4d; --rouge: #b5341f;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: var(--fond); color: var(--texte);
  -webkit-tap-highlight-color: transparent;
}
.page { max-width: 480px; margin: 0 auto; min-height: 100dvh; padding-bottom: 80px; }
.tabnum { font-variant-numeric: tabular-nums; }

/* écran de connexion */
.ecran-bleu { min-height: 100dvh; background: var(--bleu); color: #fff;
  display: flex; align-items: center; justify-content: center; padding: 24px; }
.bloc-connexion { width: 100%; max-width: 380px; }
.kicker { text-transform: uppercase; letter-spacing: 3px; font-size: 12px; color: rgba(255,255,255,.55); }
.logo { font-size: 38px; font-weight: 800; letter-spacing: -1px; margin-top: 8px; }
.accroche { color: rgba(255,255,255,.72); margin-top: 8px; font-size: 15px; }
.form-connexion { margin-top: 36px; display: flex; flex-direction: column; }
.form-connexion label { font-size: 14px; color: rgba(255,255,255,.75); margin-bottom: 8px; }
.form-connexion input {
  height: 54px; border-radius: 12px; border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.1); color: #fff; padding: 0 16px; font-size: 17px; outline: none;
}
.form-connexion input:focus { border-color: rgba(255,255,255,.5); }
.form-connexion input::placeholder { color: rgba(255,255,255,.35); }
.form-connexion button {
  height: 54px; margin-top: 18px; border: 0; border-radius: 12px;
  background: #fff; color: var(--bleu); font-size: 17px; font-weight: 700;
}
.note { margin-top: 18px; text-align: center; font-size: 13px; color: rgba(255,255,255,.5); line-height: 1.5; }

.carte-info { background: rgba(255,255,255,.1); border-radius: 16px; padding: 22px; margin-top: 30px; }
.carte-info h2 { font-size: 19px; }
.carte-info p { margin-top: 8px; color: rgba(255,255,255,.75); line-height: 1.5; font-size: 15px; }
.carte-dev { margin-top: 16px; border: 1px dashed rgba(255,255,255,.4); border-radius: 12px; padding: 16px; }
.etiquette { text-transform: uppercase; letter-spacing: 1px; font-size: 11px; color: var(--ambre); font-weight: 700; }
.lien-dev, .bouton-blanc { display: inline-block; margin-top: 10px; color: #fff; font-weight: 700; font-size: 16px; }
.bouton-blanc { background:#fff; color:var(--bleu); padding:14px 20px; border-radius:12px; margin-top:24px; text-decoration:none; }
.retour { display: block; margin-top: 22px; text-align: center; color: rgba(255,255,255,.55); font-size: 14px; }

/* pages internes */
.entete { background: var(--bleu); color: #fff; padding: max(env(safe-area-inset-top),20px) 20px 22px; }
.entete .kicker { color: rgba(255,255,255,.6); }
.entete h1 { font-size: 26px; font-weight: 700; margin-top: 4px; }
.entete .compte { font-size: 16px; font-weight: 400; opacity: .6; }
.corps { padding: 16px; }
.carte { background: var(--carte); border-radius: 16px; box-shadow: 0 1px 3px rgba(0,0,0,.05);
  border: 1px solid var(--bord); overflow: hidden; }
.carte-tete { display: flex; justify-content: space-between; align-items: center;
  padding: 14px 18px; border-bottom: 1px solid var(--bord); }
.immat { font-weight: 600; }
.pastille { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 20px; }
.pastille.ok { background: rgba(30,122,77,.1); color: var(--vert); }
.pastille.ko { background: rgba(181,52,31,.1); color: var(--rouge); }
.deux-colonnes { display: grid; grid-template-columns: 1fr 1fr; }
.deux-colonnes > div { padding: 14px 18px; }
.deux-colonnes > div:first-child { border-right: 1px solid var(--bord); }
.deux-colonnes dt { font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: var(--gris); }
.deux-colonnes dd { font-size: 19px; font-weight: 600; margin-top: 2px; font-variant-numeric: tabular-nums; }
.a-venir, .vide { color: var(--gris); text-align: center; padding: 24px 0; font-size: 14px; }

.liste { width: 100%; border-collapse: collapse; background: var(--carte);
  border-radius: 12px; overflow: hidden; font-size: 14px; }
.liste th { background: var(--bleu); color: #fff; text-align: left; padding: 10px; font-size: 12px; }
.liste td { padding: 10px; border-bottom: 1px solid var(--bord); }
.liste .num { color: var(--gris); font-variant-numeric: tabular-nums; }
.liste .email { color: var(--gris); font-size: 12px; }
.liste .roles { font-size: 12px; color: var(--bleu-clair); }

.tabbar { position: fixed; bottom: 0; left: 0; right: 0; max-width: 480px; margin: 0 auto;
  background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-top: 1px solid var(--bord);
  display: flex; justify-content: space-around; padding: 10px 0 max(env(safe-area-inset-bottom),10px); }
.tabbar a { color: var(--gris); text-decoration: none; font-size: 13px; font-weight: 600; }
.tabbar a.actif { color: var(--bleu); }

/* ---------- vol ---------- */
.carte-action { display:block; width:100%; border:0; border-radius:16px; padding:20px; margin-bottom:16px;
  text-align:left; font-family:inherit; cursor:pointer; }
.demarrer { background:var(--bleu); color:#fff; font-size:18px; font-weight:700; text-align:center; }
.reprendre { background:#fff; border:2px solid var(--ambre); text-decoration:none; }
.reprendre .lbl-action { display:block; text-transform:uppercase; letter-spacing:1px; font-size:12px;
  color:var(--ambre); font-weight:700; }
.reprendre .txt-action { display:block; margin-top:4px; color:var(--texte); font-weight:600; }

.entete-vol { background:var(--bleu); color:#fff; display:flex; align-items:center; gap:12px;
  padding:max(env(safe-area-inset-top),16px) 16px 16px; }
.entete-vol .fleche { color:#fff; text-decoration:none; font-size:20px; padding:4px 8px; }
.entete-vol h1 { font-size:18px; }
.entete-vol .kicker { color:rgba(255,255,255,.6); font-size:12px; }

.zone-photo { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  height:180px; border:2px dashed rgba(11,61,104,.3); border-radius:16px; background:#fff; cursor:pointer; margin-bottom:16px; }
.icone-photo { font-size:40px; }
.titre-photo { font-size:17px; font-weight:600; color:var(--bleu); }
.sous-photo { font-size:13px; color:var(--gris); }

.carte-horametre { padding:18px; }
.ligne-tete { display:flex; justify-content:space-between; align-items:center; }
.ligne-tete.mt { margin-top:18px; }
.ligne-tete .lbl { font-size:13px; text-transform:uppercase; letter-spacing:.5px; color:var(--gris); }
.ligne-tete h2 { font-size:16px; }
.tag { font-size:11px; font-weight:700; padding:3px 8px; border-radius:20px; background:#eef3f7; color:var(--gris); }
.tag.vert { background:rgba(30,122,77,.1); color:var(--vert); }
.tag.ambre { background:rgba(217,138,31,.15); color:#8a5a10; }
.grand-nombre { font-size:34px; font-weight:700; border:0; width:100%; padding:4px 0; font-variant-numeric:tabular-nums;
  background:transparent; outline:none; -moz-appearance:textfield; }
.grand-nombre::-webkit-outer-spin-button, .grand-nombre::-webkit-inner-spin-button { -webkit-appearance:none; }
.grand-nombre.centre { text-align:center; }
.molette { display:flex; align-items:center; gap:14px; margin-top:6px; }
.rond { width:48px; height:48px; flex:none; border-radius:50%; border:1px solid var(--bord);
  background:#fff; font-size:22px; color:var(--bleu); font-weight:700; }
.aide { color:var(--gris); font-size:13px; text-align:center; margin:14px 0; }
.controle { border-radius:12px; padding:12px 14px; font-size:14px; margin:14px 0; }
.controle.ok { background:rgba(30,122,77,.1); color:var(--vert); }
.controle.ko { background:rgba(181,52,31,.1); color:var(--rouge); }

.bouton-principal { display:flex; align-items:center; justify-content:center; height:54px; width:100%;
  border:0; border-radius:12px; background:var(--bleu); color:#fff; font-size:17px; font-weight:700;
  text-decoration:none; font-family:inherit; cursor:pointer; }

.envol { text-align:center; padding:60px 24px; }
.envol .avion { font-size:56px; }
.envol h1 { font-size:24px; margin-top:12px; }
.envol .txt { color:var(--gris); margin:10px auto 40px; max-width:280px; }

.carte.pad { padding:18px; margin-bottom:16px; }
.carte.pad h2 { font-size:16px; margin-bottom:10px; }
.tres-grand { font-size:40px; font-weight:700; text-align:center; font-variant-numeric:tabular-nums; }
.detail-calc { text-align:center; color:var(--gris); font-size:13px; margin-top:4px; }
.cout { text-align:center; border-top:1px solid var(--bord); margin-top:14px; padding-top:12px; }
.grille-choix { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.grille-choix.deux { grid-template-columns:1fr 1fr; }
.choix input { position:absolute; opacity:0; }
.choix span { display:block; border:1px solid var(--bord); border-radius:12px; padding:12px; text-align:center;
  font-size:14px; font-weight:600; }
.choix input:checked + span { background:var(--bleu); color:#fff; border-color:var(--bleu); }
.champ { width:100%; border:1px solid var(--bord); border-radius:12px; padding:12px; font-size:16px;
  font-family:inherit; outline:none; }
.champ:focus { border-color:var(--bleu); }
.recap { }
.recap > div { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--bord); }
.recap dt { color:var(--gris); } .recap dd { font-weight:600; font-variant-numeric:tabular-nums; }
.recap .total dd { font-size:18px; color:var(--bleu); }
.avertir { text-align:center; color:var(--gris); font-size:13px; margin:14px 0; }
.lien-secondaire { display:block; text-align:center; color:var(--gris); margin-top:14px; text-decoration:none; }
.coche { width:64px; height:64px; border-radius:50%; background:rgba(30,122,77,.1); color:var(--vert);
  font-size:32px; display:flex; align-items:center; justify-content:center; margin:0 auto; }
.centre-txt { text-align:center; }
.titre-fini { font-size:22px; margin-top:14px; }
.sous-fini { color:var(--gris); font-size:14px; margin-top:4px; margin-bottom:18px; }
.recap.gauche { text-align:left; }
.maj-avion { background:rgba(11,61,104,.05); border-radius:12px; padding:12px 14px; margin-top:16px;
  font-size:13px; color:var(--bleu); text-align:left; }

.deduction { margin-top:16px; padding-top:14px; border-top:1px solid var(--bord); }
.deduction input[type=range] { width:100%; margin-top:8px; accent-color:var(--bleu); }
.aide-deduc { font-size:12px; color:var(--gris); margin-top:6px; line-height:1.4; }

/* éviter tout débordement horizontal sur petit écran */
html, body { overflow-x: hidden; }
.grille-choix { grid-template-columns: repeat(2, minmax(0,1fr)); }
.choix span { padding:12px 8px; font-size:13px; }

/* horloge UTC bloc */
.bloc-utc { display:flex; justify-content:space-between; align-items:center;
  background:var(--bleu); color:#fff; border-radius:12px; padding:12px 16px; margin-bottom:16px; }
.lbl-utc { font-size:13px; color:rgba(255,255,255,.8); }
.horloge { font-size:26px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:1px; }

/* récap éditable + divers */
.rappel-saisie { background:rgba(217,138,31,.1); color:#8a5a10; border-radius:12px; padding:12px 14px;
  font-size:13px; margin-bottom:16px; }
.deux-champs { display:flex; gap:12px; }
.deux-champs > div { flex:1; }
.deux-champs .lbl { font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--gris); }
.hm-inline { display:flex; align-items:baseline; gap:8px; margin-top:4px; }
.moy-nombre { font-size:26px; font-weight:700; border:0; border-bottom:2px solid var(--bord);
  width:70px; text-align:center; font-variant-numeric:tabular-nums; outline:none; background:transparent;
  -moz-appearance:textfield; }
.moy-nombre::-webkit-outer-spin-button,.moy-nombre::-webkit-inner-spin-button{-webkit-appearance:none;}
.moy-nombre:focus { border-color:var(--bleu); }
.molette-tachy { justify-content:flex-start; gap:18px; margin-top:8px; }
.molette-tachy .rond { width:40px; height:40px; font-size:20px; }
.pas-tachy { font-size:13px; color:var(--gris); }
.lien-apres { display:block; width:100%; background:none; border:0; margin-top:12px;
  color:var(--gris); text-decoration:underline; font-family:inherit; font-size:14px; cursor:pointer; }

/* check-list */
.avert-checklist { background:rgba(217,138,31,.1); color:#8a5a10; border-radius:12px; padding:12px 14px;
  font-size:13px; line-height:1.5; margin-bottom:16px; }
.phase-cl { background:var(--carte); border:1px solid var(--bord); border-radius:12px; margin-bottom:10px; overflow:hidden; }
.phase-cl summary { padding:14px 16px; font-weight:600; font-size:16px; cursor:pointer; list-style:none; }
.phase-cl summary::-webkit-details-marker { display:none; }
.phase-cl summary::after { content:"⌄"; float:right; color:var(--gris); }
.phase-cl[open] summary::after { content:"⌃"; }
.phase-corps { padding:0 16px 14px; }
.etiq-cl { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--bleu); font-weight:700; margin:8px 0 4px; }
.etiq-cl.ambre { color:#8a5a10; }
.lignes-cl { list-style:none; }
.lignes-cl li { display:flex; justify-content:space-between; gap:10px; padding:6px 0; border-bottom:1px solid var(--bord); font-size:14px; }
.lignes-cl li:last-child { border-bottom:0; }
.lignes-cl em { font-style:normal; font-weight:700; color:var(--bleu); white-space:nowrap; }
.lignes-cl em.ambre { color:#8a5a10; }
.note-cl { font-size:12px; color:var(--gris); font-style:italic; margin-top:6px; }
select.champ { -webkit-appearance:none; background:#fff; }

/* bloc départ dans la check-list */
.carte-bloc { padding:16px; margin:14px 0; border:2px solid var(--bleu); }
.zone-photo.compacte { height:96px; margin-bottom:14px; }
.hm-inline.gros { align-items:baseline; gap:8px; margin-bottom:6px; }
.hm-inline.gros .lbl { font-size:12px; text-transform:uppercase; color:var(--gris); margin-right:6px; }

/* tachy multi-échelles */
.tachy-echelles { display:flex; justify-content:space-between; gap:6px; margin-top:10px; }
.echelle { display:flex; flex-direction:column; align-items:center; gap:4px; flex:1; }
.echelle .pas { font-size:11px; color:var(--gris); font-variant-numeric:tabular-nums; }
.rond.petit { width:38px; height:38px; font-size:18px; }

/* items cochables — mise en page en grille : case | libellé | action */
.lignes-cl.cochables li { padding:0; border:0; }
.lignes-cl.cochables label {
  display:grid; grid-template-columns:26px 1fr auto; align-items:center; gap:12px;
  padding:11px 2px; border-bottom:1px solid var(--bord); cursor:pointer;
}
.lignes-cl.cochables li:last-child label { border-bottom:0; }
/* case à cocher : taille fixe, jamais déformée */
.lignes-cl.cochables input[type=checkbox] {
  appearance:none; -webkit-appearance:none; margin:0;
  width:24px; height:24px; flex:none; border:2px solid var(--bord); border-radius:6px;
  background:#fff; position:relative; cursor:pointer;
}
.lignes-cl.cochables input[type=checkbox]:checked {
  background:var(--vert); border-color:var(--vert);
}
.lignes-cl.cochables input[type=checkbox]:checked::after {
  content:""; position:absolute; left:7px; top:3px; width:6px; height:11px;
  border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg);
}
.lignes-cl.cochables .item { font-size:14.5px; line-height:1.3; }
.lignes-cl.cochables em {
  font-style:normal; font-weight:700; font-size:14px; color:var(--bleu);
  text-align:right; white-space:normal;
}
.lignes-cl.cochables em.ambre { color:#8a5a10; }
.lignes-cl.cochables label.item-coche .item { text-decoration:line-through; color:var(--gris); }
.lignes-cl.cochables label.item-coche em { color:var(--gris); font-weight:600; }


/* saisie par chiffre : + au-dessus, − au-dessous de chaque chiffre */
.lbl-saisie { font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--gris); margin:10px 0 8px; }
.saisie-hm { display:flex; align-items:flex-start; gap:10px; flex-wrap:wrap; }
.sep-hm { width:2px; align-self:stretch; background:var(--bord); border-radius:2px; margin:6px 4px; }
.num-field { display:inline-block; vertical-align:top; }
.num-row { display:flex; align-items:center; gap:6px; }
.unite-hm { font-size:15px; color:var(--gris); font-weight:600; align-self:center; }
.digit-group { display:flex; align-items:center; gap:7px; }
.dcol { display:flex; flex-direction:column; align-items:center; gap:5px; }
.dbtn { width:34px; height:28px; border:1px solid var(--bord); border-radius:8px; background:#fff;
  color:var(--bleu); font-size:17px; font-weight:700; line-height:1; cursor:pointer; padding:0; }
.dbtn:active { background:var(--bleu); color:#fff; }
.dval { font-size:28px; font-weight:700; font-variant-numeric:tabular-nums; min-width:22px; text-align:center; }
.ddot { font-size:28px; font-weight:700; align-self:center; }
.saisie-manuelle { display:block; width:120px; margin-top:8px; border:1px dashed var(--bord);
  border-radius:8px; padding:6px 9px; font-size:14px; font-variant-numeric:tabular-nums;
  color:var(--gris); outline:none; background:transparent; }
.saisie-manuelle:focus { border-style:solid; border-color:var(--bleu); color:var(--texte); }

/* carnet de vol */
.total-heures { font-size:38px; font-weight:800; margin-top:12px; font-variant-numeric:tabular-nums; }
.sous-total { font-size:13px; color:rgba(255,255,255,.6); margin-top:2px; }
.trois-tuiles { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:16px; }
.tuile { background:var(--carte); border:1px solid var(--bord); border-radius:12px; padding:12px 6px; text-align:center; }
.tuile .v { display:block; font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; }
.tuile .l { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--gris); margin-top:2px; }
.liste-vols { overflow:hidden; }
.ligne-vol { display:flex; align-items:center; gap:12px; padding:12px 16px; border-bottom:1px solid var(--bord); }
.ligne-vol:last-child { border-bottom:0; }
.date-vol { width:44px; text-align:center; flex:none; }
.date-vol .jour { display:block; font-size:19px; font-weight:700; line-height:1; }
.date-vol .mois { display:block; font-size:11px; color:var(--gris); }
.date-vol .an { display:block; font-size:10px; color:var(--gris); }
.info-vol { flex:1; min-width:0; }
.info-vol .type { display:block; font-size:14px; font-weight:600; }
.info-vol .horam { display:block; font-size:12px; color:var(--gris); font-variant-numeric:tabular-nums; }
.badge-dc { font-size:10px; font-weight:700; background:rgba(217,138,31,.15); color:#8a5a10; padding:1px 5px; border-radius:8px; margin-left:4px; }
.duree-vol { font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; flex:none; }

/* trésorier */
.select-mois { margin-top:12px; }
.select-mois select { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.25);
  border-radius:10px; padding:8px 12px; font-size:15px; font-weight:600; -webkit-appearance:none; }
.deux-tuiles { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px; }
.deux-tuiles .tuile .v { font-size:20px; }
.table-fact { width:100%; border-collapse:collapse; }
.table-fact th { background:var(--bleu); color:#fff; text-align:left; padding:8px 10px; font-size:12px; }
.table-fact th.c, .table-fact td.c { text-align:right; }
.table-fact td { padding:9px 10px; border-bottom:1px solid var(--bord); font-size:14px; vertical-align:top; }
.table-fact tr:last-child td { border-bottom:0; }
.table-fact .nom-m { display:block; font-weight:600; }
.table-fact .compte-m { display:block; font-size:11px; color:var(--gris); }
.table-fact .mont { font-weight:700; }
.table-fact tr.facture { opacity:.55; }
.table-fact .chk { color:var(--vert); font-weight:700; }
.bouton-secondaire { display:block; width:100%; margin-top:12px; padding:14px; border:1px solid var(--bleu);
  border-radius:12px; background:#fff; color:var(--bleu); font-size:15px; font-weight:700; text-align:center;
  font-family:inherit; cursor:pointer; }
.tout-facture { text-align:center; color:var(--vert); font-weight:600; margin-top:14px; }
.note-tresorier { font-size:12px; color:var(--gris); margin-top:16px; line-height:1.5; }

/* réservations */
.bandeau-ko { background:rgba(181,52,31,.25); color:#fff; border-radius:8px; padding:8px 12px; margin-top:10px; font-size:13px; font-weight:600; }
.jour-resa { margin-bottom:14px; }
.jour-tete { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.jour-nom { font-weight:700; font-size:15px; }
.mini-btn { background:var(--bleu); color:#fff; text-decoration:none; font-size:13px; font-weight:600;
  padding:5px 12px; border-radius:20px; }
.jour-libre { color:var(--gris); font-size:13px; padding:10px 14px; background:var(--carte);
  border:1px dashed var(--bord); border-radius:12px; }
.creneau { display:flex; align-items:center; gap:10px; background:var(--carte); border:1px solid var(--bord);
  border-radius:12px; padding:12px 14px; margin-bottom:6px; }
.creneau.mien { border-color:var(--bleu); background:rgba(11,61,104,.04); }
.creneau-info { flex:1; min-width:0; }
.creneau-h { display:block; font-weight:700; font-size:15px; font-variant-numeric:tabular-nums; }
.creneau-qui { display:block; font-size:13px; color:var(--gris); }
.badge-places { display:inline-block; margin-top:5px; font-size:11px; font-weight:700;
  background:rgba(217,138,31,.15); color:#8a5a10; padding:2px 8px; border-radius:10px; }
.annul-btn { color:var(--gris); text-decoration:none; font-size:16px; padding:4px 8px; flex:none; }
.jour-choisi { color:var(--gris); font-size:13px; margin-top:6px; text-transform:capitalize; }
.opt { font-weight:400; color:var(--gris); font-size:13px; }
.aide-places { font-size:12px; color:var(--gris); margin-bottom:10px; }
.grille-choix.quatre { grid-template-columns:repeat(4,1fr); }

/* avion & anomalies */
.lien-carte { display:block; text-decoration:none; color:inherit; }
.anom-accueil { padding:10px 18px; border-top:1px solid var(--bord); color:var(--ambre); font-weight:600; font-size:14px; }
.etat-avion { display:inline-block; margin-top:10px; font-size:13px; font-weight:700; padding:5px 12px; border-radius:20px; }
.etat-avion.ok { background:rgba(255,255,255,.15); color:#fff; }
.etat-avion.ko { background:var(--rouge); color:#fff; }
.note-compteur { font-size:12px; color:var(--gris); padding:0 18px 12px; }
.bloc-anomalies { margin:16px 0; }
.titre-bloc { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.titre-bloc h2 { font-size:17px; }
.anomalie { background:var(--carte); border:1px solid var(--bord); border-left-width:4px; border-radius:12px; padding:12px 14px; margin-bottom:8px; }
.anomalie.g-bloq { border-left-color:var(--rouge); }
.anomalie.g-surv { border-left-color:var(--ambre); }
.anomalie.g-info { border-left-color:var(--gris); }
.anomalie-tete { display:flex; gap:6px; margin-bottom:6px; }
.badge-grav { font-size:11px; font-weight:700; padding:2px 8px; border-radius:10px; }
.badge-grav.g-bloq { background:rgba(181,52,31,.12); color:var(--rouge); }
.badge-grav.g-surv { background:rgba(217,138,31,.15); color:#8a5a10; }
.badge-grav.g-info { background:#eef3f7; color:var(--gris); }
.badge-encours { font-size:11px; font-weight:700; padding:2px 8px; border-radius:10px; background:rgba(11,61,104,.1); color:var(--bleu); }
.anomalie-desc { font-size:15px; font-weight:600; }
.anomalie-par { font-size:12px; color:var(--gris); margin-top:3px; }
.anomalie-actions { display:flex; gap:8px; margin-top:10px; }
.anomalie-actions form { flex:1; }
.btn-petit { width:100%; padding:9px; border:1px solid var(--bord); border-radius:10px; background:#fff; color:var(--bleu); font-size:13px; font-weight:700; font-family:inherit; cursor:pointer; }
.btn-petit.lever { border-color:var(--vert); color:var(--vert); }
.note-meca { font-size:12px; color:var(--gris); margin-top:8px; }
.levee-item { font-size:13px; color:var(--gris); padding:4px 0; }
.levee-date { float:right; font-size:11px; }
.grav-choix { display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--bord); cursor:pointer; }
.grav-choix:last-child { border-bottom:0; }
.grav-choix input { margin-top:3px; width:20px; height:20px; flex:none; accent-color:var(--bleu); }
.grav-choix span strong { display:block; font-size:15px; }
.grav-choix span em { font-style:normal; font-size:13px; color:var(--gris); }
.grav-choix.bloq span strong { color:var(--rouge); }
