*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--fond);color:var(--encre);font:17px/1.4 var(--police)}
[hidden]{display:none!important}
button{font:inherit;min-height:var(--cible);min-width:var(--cible);border:0;border-radius:var(--rayon-petit);background:var(--surface);color:var(--encre);padding:0 16px;cursor:pointer}
button.primaire{background:var(--accent);color:#fff;font-weight:600;width:100%}
button.lien{background:none;color:var(--accent);padding:0 8px}
input{font:inherit;min-height:var(--cible);width:100%;border-radius:var(--rayon-petit);border:1px solid var(--trait);padding:0 12px;background:var(--surface);color:var(--encre);margin:8px 0}
.ecran{min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:32px max(24px,env(safe-area-inset-left))}
.logo{width:120px;align-self:center}
h1{letter-spacing:-.02em;font:650 30px/1.15 var(--police-titre);margin:0}
.msg{color:var(--accent);min-height:1.4em}
.secours summary{color:var(--discret);min-height:var(--cible);display:flex;align-items:center}
.barre{position:sticky;top:0;background:var(--fond);padding:calc(env(safe-area-inset-top) + 12px) 20px 8px;z-index:2}
.fraicheur{margin:4px 0 0;font-size:13px;color:var(--discret)}
.fraicheur.alerte{color:#fff;background:var(--attention);padding:8px 12px;border-radius:10px;font-size:15px}
.liste{padding:4px 16px calc(96px + env(safe-area-inset-bottom))}
.carte{position:relative;background:var(--surface);box-shadow:var(--ombre);border:1px solid var(--trait);border-radius:var(--rayon);margin:10px 0;padding:14px 16px;min-height:var(--cible);overflow:hidden;touch-action:pan-y;transition:transform .2s}
.carte .qui{font-weight:600}
.carte .sujet{margin:2px 0;color:var(--encre)}
.carte .contexte{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--discret)}
.carte .etape{margin:8px 0 0;font-size:15px;color:var(--accent);font-weight:600}
.carte .raison{font-size:13px;color:var(--discret)}
.carte .age{position:absolute;right:16px;top:14px;font-size:13px;color:var(--discret)}
.carte.demande::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--urgent)}
.section{font:600 13px var(--police-titre,inherit);color:var(--discret);margin:22px 4px 4px;letter-spacing:.02em}
.carte.discrete{box-shadow:none;opacity:1;background:transparent}
.carte.discrete .sujet,.carte.discrete .qui,.carte.discrete .etape{color:var(--discret)}
.plus{color:var(--discret);text-align:center;font-size:15px;padding:8px}
.vide{text-align:center;color:var(--discret);padding:48px 16px}
.vide strong{display:block;color:var(--encre);font:600 22px var(--police-titre);margin-bottom:6px}
.onglets{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--fond) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--trait);padding-bottom:env(safe-area-inset-bottom)}
.onglets button{background:none;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--discret);min-height:56px}
.onglets .ico{font-size:20px}
.onglets button.actif{color:var(--accent)}
.recherche{padding:0 16px}
.feuille{position:fixed;inset:0;background:var(--fond);display:flex;flex-direction:column;z-index:5}
.barre-fil{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 8px) 8px 8px}
.barre-fil h2{font:600 17px var(--police);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.resume{padding:0 20px}
.meta{color:var(--discret);font-size:14px;margin:0}
.etape{font-weight:600;color:var(--accent);margin:8px 0 0}
.conclusion{font-size:15px;margin:6px 0 0}
#fil-contenu{flex:1;border:0;width:100%;background:var(--surface);margin-top:12px}
.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--trait)}
@media (prefers-reduced-motion: reduce){.carte{transition:none}}
.espaces{display:flex;gap:6px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none}
.espaces button{min-height:32px;padding:0 12px;border-radius:999px;background:var(--surface-2);color:var(--encre-2);font-size:14px;white-space:nowrap}
.espaces button.actif{background:var(--encre);color:var(--fond)}
.carte .espace{font-size:12px;color:var(--discret);text-transform:uppercase;letter-spacing:.04em}
.sous{color:var(--encre-2);margin:-8px 0 8px}
.espaces button{flex:none}
.carte.relance::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--attention)}
