
:root{--ol:#3b4128;--ol2:#2a2e1c;--pap:#e9dfc2;--pap2:#f4ecd5;--ink:#22201a;--red:#8c1c13;--gold:#b8963e;--ln:#c9bb92}
*{box-sizing:border-box}body{margin:0;font-family:"Courier New",monospace;background:var(--ol2);color:var(--ink);min-height:100vh}
header{background:var(--ol);color:var(--pap);padding:14px 24px;display:flex;align-items:center;gap:16px;border-bottom:4px solid var(--gold);flex-wrap:wrap}
.logo{width:54px;height:54px}
header h1{margin:0;font-size:18px;letter-spacing:2px}header small{color:var(--gold);letter-spacing:3px}
.sw{margin-left:auto;position:relative;width:300px;max-width:100%}
.sw .ic{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ol);margin:0}
#gsearch{padding:9px 12px 9px 36px;width:100%;background:var(--pap2);border:2px solid var(--gold);font-family:inherit}
.ic{display:inline-block;width:18px;height:18px;vertical-align:-4px;margin-right:7px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
nav{background:var(--ol2);display:flex;gap:2px;padding:0 24px;border-bottom:1px solid #000;flex-wrap:wrap}
nav button{background:none;border:0;color:#b9b58f;padding:12px 18px;font-family:inherit;cursor:pointer;letter-spacing:1px;text-transform:uppercase;font-size:13px}
nav button *{pointer-events:none}nav button.on{background:var(--pap);color:var(--ink);font-weight:bold}
main{max-width:1200px;margin:22px auto;padding:0 16px}
.paper{background:var(--pap);background-image:repeating-linear-gradient(transparent 0 27px,rgba(0,0,0,.06) 28px);border:1px solid var(--ln);padding:20px;box-shadow:0 4px 14px #0008}
h2{margin-top:0;border-bottom:2px solid var(--ink);padding-bottom:6px;text-transform:uppercase;letter-spacing:2px;font-size:18px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.stat{background:var(--pap2);border:2px solid var(--ink);padding:12px;text-align:center}.stat b{display:block;font-size:30px;color:var(--red)}
.stat .ic{width:26px;height:26px;margin:0 0 4px;color:var(--ol)}
.bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
input,select,textarea{font-family:inherit;padding:8px;border:1px solid var(--ink);background:var(--pap2);width:100%}
.bar input,.bar select{width:auto;flex:1;min-width:140px}
button.b,label.b{background:var(--ol);color:var(--pap);border:0;padding:9px 16px;font-family:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:1px}
button.b:hover,label.b:hover{background:var(--red)}button.alt{background:transparent;color:var(--ink);border:1px solid var(--ink)}
button.alt:hover{color:var(--pap)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.card{background:var(--pap2);border:1px solid var(--ink);padding:12px;display:flex;gap:12px;cursor:pointer;transition:.15s}
.card:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0006}
.pdp{width:78px;height:96px;object-fit:cover;border:2px solid var(--ink);background:#bbb;filter:sepia(.5) grayscale(.5);flex:none}
.card h3{margin:0 0 4px;font-size:15px}.card p{margin:2px 0;font-size:12px}
.tag{display:inline-block;padding:2px 7px;font-size:11px;border:1px solid;text-transform:uppercase;margin-top:4px;font-weight:bold}
.s-Critique{color:var(--red)}.s-Stable,.s-Rétabli{color:#2d5a1e}.s-En\ traitement{color:#9a6a00}.s-Évacué{color:#1f4a7a}.s-Décédé{color:#000}.s-Retrouvé{color:#6b3a8a}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid var(--ln);padding:8px;text-align:left}
th{background:var(--ol);color:var(--pap);text-transform:uppercase;font-size:12px}tr.r:hover{background:var(--pap2);cursor:pointer}
.modal{position:fixed;inset:0;background:#000b;display:none;align-items:flex-start;justify-content:center;overflow:auto;padding:30px 10px;z-index:9}.modal.show{display:flex}
.modal .paper{width:100%;max-width:820px;position:relative}
.x{position:absolute;right:10px;top:8px;background:none;border:0;font-size:26px;cursor:pointer}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.f2 .full{grid-column:1/-1}label{font-size:12px;text-transform:uppercase;font-weight:bold}
.stamp{position:absolute;right:50px;top:50px;border:4px double var(--red);color:var(--red);padding:4px 12px;transform:rotate(-12deg);font-weight:bold;font-size:20px;opacity:.75;letter-spacing:3px}
.head{display:flex;gap:18px;margin-bottom:12px}.head .pdp{width:120px;height:150px}
.note{border-left:4px solid var(--red);padding:4px 10px;margin:8px 0;background:#fff4}
.conf{color:var(--red);font-weight:bold;letter-spacing:3px;text-align:center;font-size:12px;margin-bottom:6px}
.empty{text-align:center;padding:30px;opacity:.6}
@media(max-width:600px){.f2{grid-template-columns:1fr}.head{flex-direction:column}.sw{margin:0;width:100%}}
@media print{body{background:#fff}header,nav,.x,.noprint{display:none!important}main{display:none}.modal{position:static;padding:0}.modal.show{display:block}.modal .paper{box-shadow:none}}
