:root{--or:#a8873f;--encre:#14130f;--doux:#7a746a;--trait:#e4dfd3;--fond:#faf8f3;--rouge:#9b1c1c;--vert:#1d6f42;--bleu:#1f5f8b;--ambre:#8a6d1f}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;max-width:100%;overflow-x:clip;touch-action:pan-y;overscroll-behavior:none;-webkit-user-select:text;user-select:text}
button,a,.mod,.bs,.onglets,.pied,#cloche{-webkit-user-select:none;user-select:none}
#sd,#sd *{min-width:0;max-width:100%}
input,textarea,select{-webkit-user-select:text;user-select:text;font-size:16px}
body{background:var(--fond);color:var(--encre);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%}
#sd{max-width:600px;margin:0 auto;padding:calc(12px + env(safe-area-inset-top,0px)) 16px calc(36px + env(safe-area-inset-bottom,0px))}
.tete{text-align:center;border-bottom:1px solid var(--trait);padding-bottom:12px;margin-bottom:14px}
.tete img{display:block;width:140px;max-width:52%;height:auto;margin:0 auto}
.tete .qui{font-size:10.5px;letter-spacing:3px;color:var(--doux);padding-top:7px;text-transform:uppercase}
.onglets{display:flex;gap:8px;margin-bottom:4px}
.onglets button{flex:1;padding:11px 6px;font-size:11.5px;letter-spacing:1.4px;font-weight:700;background:#fff;border:1px solid var(--trait);border-radius:9px;color:var(--doux);cursor:pointer;font-family:inherit}
.onglets button.actif{background:var(--encre);border-color:var(--encre);color:#fff}
.jour{font-size:11px;letter-spacing:2px;color:var(--or);font-weight:700;margin:20px 0 8px;text-transform:uppercase}
.c{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--trait);border-left:4px solid var(--or);border-radius:11px;padding:13px 14px;margin:9px 0;cursor:pointer;font-family:inherit;color:inherit}
.c-h{font-size:20px;font-weight:700}
.c-t{font-size:13.5px;color:#4a463f;line-height:1.45;margin-top:4px}
.c-x{font-size:12.5px;color:var(--doux);margin-top:3px}
.c-e{font-size:10.5px;letter-spacing:1.2px;font-weight:700;margin-top:8px;text-transform:uppercase}
.c.fini{border-left-color:#cfcabd;opacity:.6}.c.faire{border-left-color:var(--rouge)}
.vide{text-align:center;color:var(--doux);padding:44px 12px;line-height:1.6;font-size:14px}
.err{text-align:center;padding:44px 12px;color:var(--rouge);line-height:1.6}
.fiche{background:#fff;border:1px solid var(--trait);border-radius:12px;padding:15px;margin-bottom:14px}
.fiche .quand{font-size:18px;font-weight:700}
.fiche .ou{font-size:10.5px;letter-spacing:1.5px;color:var(--or);font-weight:700;margin-top:12px;text-transform:uppercase}
.fiche .val{font-size:14.5px;line-height:1.5;margin-top:2px}
.fiche .val.petit{font-size:13px;color:var(--doux)}
.actions{display:flex;gap:8px;margin-bottom:16px}
.actions a{flex:1;text-align:center;padding:12px 4px;border-radius:10px;text-decoration:none;font-size:11.5px;font-weight:700;letter-spacing:.8px;border:1px solid var(--trait);background:#fff;color:var(--encre)}
.actions a.gps{background:var(--encre);border-color:var(--encre);color:#fff}
.actions a.waze{background:#33ccff;border-color:#33ccff;color:#03314b}
.actions a.wa{background:#1d6f42;border-color:#1d6f42;color:#fff}
.copier{background:#fff;border:1px solid var(--trait);border-radius:8px;padding:6px 8px;line-height:0;cursor:pointer}
.copier.fait{border-color:#1d6f42}
.actions+.actions{margin-top:-8px}
.alerte{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--or);border-radius:11px;padding:11px 12px;margin:0 0 12px;font-size:12.5px;line-height:1.45;color:#4a463f}
.alerte button{flex:0 0 auto;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:.6px;border:none;border-radius:8px;background:var(--encre);color:#fff;cursor:pointer;font-family:inherit}
.haut{display:block;margin:0 0 10px;padding:9px 14px;background:#fff;border:1px solid var(--trait);border-radius:20px;color:var(--doux);font-size:11.5px;font-weight:700;letter-spacing:1px;cursor:pointer;font-family:inherit}
.suivi{background:#fff;border:1px solid var(--trait);border-radius:11px;padding:12px;margin-bottom:16px}
.suivi-t{font-size:10.5px;letter-spacing:1.5px;color:var(--or);font-weight:700;text-align:center;margin-bottom:9px;text-transform:uppercase}
.suivi-b{display:flex;flex-wrap:wrap;gap:7px}
.suivi-b a{flex:1 1 44%;text-align:center;padding:11px 4px;border:1px solid var(--bleu);border-radius:9px;color:var(--bleu);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.6px}
.btn{display:block;width:100%;margin:11px 0;padding:16px 10px;font-size:15.5px;font-weight:700;letter-spacing:.8px;text-align:center;background:#fff;border:2px solid var(--vert);border-radius:11px;color:var(--vert);cursor:pointer;font-family:inherit}
.btn[disabled]{border-color:#dcd7ca;color:#a9a396;cursor:default}
.ok{font-size:12.5px;text-align:center;margin:12px 0 -2px;font-weight:700}
.ns{margin-top:24px;border-top:1px solid var(--trait);padding-top:16px}
.btn-ns{border-color:var(--rouge);color:var(--rouge);font-size:13.5px;padding:13px 10px}
.q{border:2px solid var(--rouge);border-radius:11px;padding:16px 14px;text-align:center}
.q-t{font-size:15px;font-weight:700;color:var(--rouge);line-height:1.45}
.q-s{font-size:12.5px;color:var(--doux);margin-top:8px;line-height:1.5}
.q-b{display:flex;gap:10px;margin-top:16px}
.q-b button{flex:1;padding:14px 6px;font-size:14.5px;font-weight:700;border-radius:9px;cursor:pointer;background:#fff;font-family:inherit}
.q-b button.oui{border:2px solid var(--rouge);color:#fff;background:var(--rouge)}
.q-b button.non{border:2px solid #cfcabd;color:#5c574d;background:#fff}
.avion{margin:16px 0 20px;border:2px solid var(--rouge);border-radius:11px;padding:14px;font-size:14px;line-height:1.6;background:#fff}
.avion-t{font-size:12.5px;letter-spacing:1px;color:var(--rouge);font-weight:700;text-align:center;margin-bottom:9px}
.avion b{color:var(--rouge)}
.retour{display:block;width:100%;margin:20px 0 0;padding:13px;background:transparent;border:1px solid var(--trait);border-radius:10px;color:var(--doux);font-size:12.5px;letter-spacing:1px;cursor:pointer;font-family:inherit}
.pied{margin-top:20px;padding-top:12px;border-top:1px solid var(--trait);font-size:11px;color:#a29c90;text-align:center;line-height:1.5}
.mois-nav{display:flex;align-items:center;gap:8px;margin:14px 0}
.mois-nav button{padding:10px 15px;border:1px solid var(--trait);background:#fff;border-radius:9px;font-size:16px;cursor:pointer;color:var(--encre);font-family:inherit}
.mois-nav .titre{flex:1;text-align:center;font-size:15px;font-weight:700;text-transform:capitalize}
table.recap{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;font-size:12.5px;background:#fff;border:1px solid var(--trait);border-radius:11px;overflow:hidden}
table.recap th{background:#f3efe6;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--doux);padding:9px 6px;text-align:left}
table.recap td .do{margin-top:3px;font-size:9px;letter-spacing:1px;font-weight:700;color:var(--or);text-transform:uppercase}
table.recap td{padding:9px 6px;word-break:break-word;border-top:1px solid #efeade;vertical-align:top;line-height:1.4;overflow-wrap:anywhere}
td.d,th.d{width:46px;white-space:normal;font-weight:700}
td.p,th.p{width:33%;text-align:right;white-space:normal;overflow-wrap:anywhere}
.paye{color:var(--vert);font-weight:700;font-size:11px}
.comm{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;margin-top:6px;padding:7px 9px;border:1px solid #1f5f8b;border-radius:8px;color:#1f5f8b;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.5px;line-height:1.25}
.total{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;padding:13px 10px;margin-top:10px;background:#fff;border:1px solid var(--trait);border-radius:10px;font-size:13.5px;font-weight:700}
.total span{min-width:0;overflow-wrap:anywhere}
.imprimer{display:block;width:100%;margin:14px 0 0;padding:15px;background:var(--encre);border:none;border-radius:11px;color:#fff;font-size:14px;font-weight:700;letter-spacing:1px;cursor:pointer;font-family:inherit}
.aide{font-size:12px;color:var(--doux);text-align:center;line-height:1.6;margin-top:10px}
.filtres{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.filtres .f{padding:8px 11px;font-size:11px;letter-spacing:.8px;font-weight:700;background:#fff;border:1px solid var(--trait);border-radius:20px;color:var(--doux);cursor:pointer;font-family:inherit}
.filtres .f span{opacity:.6;font-weight:400}
.filtres .f.actif{background:var(--or);border-color:var(--or);color:#fff}
.filtres .f.actif span{opacity:.85}
@media print{body{background:#fff}#sd{max-width:none;padding:0}.onglets,.mois-nav,.imprimer,.aide,.retour,.pied,.filtres{display:none!important}}
/* iPhone : champs date/heure qui debordent et font bouger la page de gauche a droite */
input[type=date],input[type=month],input[type=time],input[type=datetime-local],input[type=week]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;box-sizing:border-box;display:block}
html,body{overflow-x:hidden;max-width:100%}
