:root{--fond:#14110f;--carte:#1f1b18;--bord:#352f2a;--texte:#f3ede6;--doux:#a89c90;--accent:#f5a623;--ok:#6fbf73;--alerte:#e5694f}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--fond);color:var(--texte);font:17px/1.4 -apple-system,system-ui,sans-serif}
body{padding:env(safe-area-inset-top) 16px calc(env(safe-area-inset-bottom) + 24px);max-width:640px;margin:0 auto}
h1{font-size:22px;margin:18px 0 12px;display:flex;justify-content:space-between;align-items:center}
h1 small{font-size:13px;color:var(--doux);font-weight:400}
textarea,input,button{font:inherit;color:inherit}
textarea,input[type=datetime-local],input[type=password],input[type=text]{width:100%;background:var(--carte);border:1px solid var(--bord);border-radius:14px;padding:14px;outline:none}
textarea:focus,input:focus{border-color:var(--accent)}
textarea{min-height:92px;max-height:50vh;overflow-y:auto;resize:none}
.saisie{position:relative}
.rappels{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.rappels button,.petit{background:var(--carte);border:1px solid var(--bord);border-radius:20px;padding:9px 14px;font-size:15px}
.rappels button.actif{background:var(--accent);color:#14110f;border-color:var(--accent)}
.principal{width:100%;background:var(--accent);color:#14110f;border:0;border-radius:14px;padding:15px;font-weight:700;font-size:18px}
.principal:disabled{opacity:.5}
.liste{margin-top:22px}
.memo{background:var(--carte);border:1px solid var(--bord);border-radius:14px;padding:12px 14px;margin-bottom:10px;display:flex;gap:12px;align-items:flex-start}
.memo.fait .t{text-decoration:line-through;color:var(--doux)}
.case{flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--doux);background:none;margin-top:1px}
.fait .case{background:var(--ok);border-color:var(--ok)}
.corps{flex:1;min-width:0}
.t{word-wrap:break-word;white-space:pre-wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.quand{font-size:13px;color:var(--doux);margin-top:3px}
.quand.retard{color:var(--alerte)}
.vide,.msg{color:var(--doux);text-align:center;padding:24px 0}
.msg.err{color:var(--alerte)}
.titre-section{color:var(--doux);font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 8px}
.detail{position:fixed;inset:0;background:var(--fond);overflow:auto;padding:env(safe-area-inset-top) 16px calc(env(safe-area-inset-bottom) + 24px);z-index:5}
.detail[hidden]{display:none}
.detail .barre{display:flex;justify-content:space-between;margin:14px 0}
.detail img{max-width:100%;border-radius:12px;margin:10px 0}
.ligne{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.danger{color:var(--alerte)}
.bandeau{background:var(--carte);border:1px solid var(--accent);border-radius:14px;padding:12px 14px;margin:12px 0;font-size:15px}
.bandeau button{margin-top:8px}
.cache{display:none}
.entete{display:flex;justify-content:space-between;align-items:center}
.entete .petit{padding:5px 12px;font-size:13px;text-transform:none;letter-spacing:0}
.astuce{padding:8px 0 0;margin:0;text-align:left}
.rangee{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;align-items:center}
.rangee .rappels{display:contents}
.dicter{background:var(--accent);color:#14110f;border-color:var(--accent);font-weight:700}
#d-texte{min-height:160px}
.docs{margin:10px 0}
.doc{display:flex;align-items:center;gap:10px;background:var(--carte);border:1px solid var(--bord);border-radius:12px;padding:8px 12px;margin-bottom:8px}
.doc a{flex:1;min-width:0;color:var(--texte);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
.doc .petit{padding:4px 10px}
.revoir{border-color:var(--accent)}
.revoir .ligne{margin:10px 0 2px}
