:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
--bg:#f6f7f9;--card:#fff;--tx:#1a1d23;--mut:#667085;--bd:#e2e5ea;--red:#d92d20;--redbg:#fef3f2;--ok:#067647;--pri:#1d4ed8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#101216;--card:#1a1d23;--tx:#f2f4f7;--mut:#98a2b3;--bd:#2c313a;--redbg:#3a1815;--pri:#6b9bff;--ok:#4ade80}}
:root[data-theme="dark"]{--bg:#101216;--card:#1a1d23;--tx:#f2f4f7;--mut:#98a2b3;--bd:#2c313a;--redbg:#3a1815;--pri:#6b9bff;--ok:#4ade80}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:720px;margin:0 auto;padding:16px}
h1{font-size:1.4rem;margin:8px 0 4px}h2{font-size:1.05rem;margin:0 0 10px}
.sub{color:var(--mut);margin:0 0 16px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:16px;margin-bottom:14px}
label{display:block;font-size:.85rem;color:var(--mut);margin:10px 0 4px}
input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;background:var(--bg);color:var(--tx);font:inherit}
textarea{min-height:64px;resize:vertical}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:480px){.grid{grid-template-columns:1fr}}
button,.btn{display:inline-block;padding:11px 16px;border:0;border-radius:10px;background:var(--pri);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;text-align:center}
button.sec{background:transparent;color:var(--tx);border:1px solid var(--bd)}
button.del{background:transparent;color:var(--red);border:1px solid var(--bd)}
.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.tabs{display:flex;gap:6px;margin-bottom:14px}.tabs button{flex:1}
.url{word-break:break-all;font-size:.8rem;background:var(--bg);border:1px dashed var(--bd);border-radius:10px;padding:10px;margin-top:10px}
.item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--bd)}
.item:first-child{border-top:0}.item b{display:block}.item small{color:var(--mut)}
.msg{margin-top:10px;font-size:.9rem;color:var(--ok)}
.hidden{display:none}
/* Fiche d'urgence */
.eh{background:var(--red);color:#fff;border-radius:14px;padding:16px;text-align:center;margin-bottom:14px}
.eh small{opacity:.9;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.eh h1{margin:4px 0 0;font-size:1.7rem}
.blood{display:flex;align-items:center;gap:14px}
.blood .g{font-size:2.4rem;font-weight:800;color:var(--red);min-width:90px;text-align:center;border:3px solid var(--red);border-radius:12px;padding:2px 8px}
.alert{background:var(--redbg);border:1px solid var(--red);border-radius:14px;padding:14px;margin-bottom:14px}
.alert h2{color:var(--red)}
.k{color:var(--mut);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-top:10px}
.call{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--bd)}
.call:first-of-type{border-top:0}
.call .btn{background:var(--ok);color:#fff;white-space:nowrap}
.sos{display:block;background:var(--red);color:#fff;font-size:1.15rem;padding:16px;border-radius:14px;margin-bottom:14px;text-align:center;text-decoration:none;font-weight:700}
.foot{text-align:center;color:var(--mut);font-size:.8rem;margin:20px 0}

.login{max-width:380px;margin:8vh auto}.err{margin-top:10px;font-size:.9rem;color:var(--red)}
