:root{--fond:#f6f4ef;--carte:#fff;--texte:#1d1f23;--texte-doux:#5d6168;--bord:#e3e0d8;--accent:#2f6fb5;--accent-pale:#dbe7f5;--rempli:#eef4fb;--alerte:#fff3d6;--erreur:#b3261e;--rayon:12px;color:var(--texte);background:var(--fond);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.4}*{box-sizing:border-box}body{background:var(--fond);margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}.page{max-width:40rem;margin:0 auto;padding:16px 16px 96px}.entete-jour{align-items:center;gap:8px;margin-bottom:8px;display:flex}.entete-jour__centre{text-align:center;flex:1}.entete-jour__date{margin:0;font-size:1.35rem;font-weight:700}.entete-jour__date:first-letter{text-transform:uppercase}.entete-jour__total{color:var(--texte-doux);font-variant-numeric:tabular-nums;margin:2px 0 0}.fleche{border:1px solid var(--bord);background:var(--carte);border-radius:50%;width:44px;height:44px;font-size:1.5rem;line-height:1}.retour-aujourdhui{margin:0 auto 8px;display:block}.section{margin-top:24px}.section__titre{text-transform:uppercase;letter-spacing:.04em;color:var(--texte-doux);margin:0 0 8px;font-size:.85rem;font-weight:600}.liste{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ligne{background:var(--carte);border:1px solid var(--bord);border-radius:var(--rayon);align-items:center;gap:12px;padding:10px 12px;display:flex}.ligne--remplie{background:var(--rempli);border-color:var(--accent-pale)}.ligne__texte{flex:1;gap:2px;min-width:0;display:grid}.ligne__titre{overflow-wrap:anywhere;font-weight:600}.ligne__categorie{color:var(--texte-doux);font-size:.85rem}.ligne__reco{text-align:left;color:var(--accent);text-underline-offset:2px;white-space:pre-line;background:0 0;border:0;justify-self:start;padding:0;font-size:.85rem;text-decoration:underline}.ligne__lien{color:var(--texte-doux);font-size:.85rem}.compteur{flex-shrink:0;align-items:center;gap:4px;display:flex}.compteur__bouton{border:1px solid var(--bord);background:var(--carte);border-radius:10px;width:44px;height:44px;font-size:1.4rem;line-height:1}.compteur__bouton--plus{border-color:var(--accent);color:var(--accent);font-weight:600}.compteur__valeur{text-align:center;font-variant-numeric:tabular-nums;min-width:4.2em;font-weight:600}.vide,.avertissement,.erreur{border-radius:var(--rayon);margin:8px 0;padding:10px 12px;font-size:.95rem}.vide{color:var(--texte-doux);border:1px dashed var(--bord)}.avertissement{background:var(--alerte)}.erreur{color:var(--erreur);background:#fdecea}.ajout{background:var(--carte);border:1px solid var(--bord);border-radius:var(--rayon);gap:12px;margin-top:12px;padding:12px;display:grid}.ajout label{color:var(--texte-doux);gap:4px;font-size:.9rem;display:grid}.ajout input{border:1px solid var(--bord);min-height:44px;color:var(--texte);background:#fff;border-radius:8px;padding:8px 10px;font-size:1rem}.ajout__actions{justify-content:flex-end;gap:12px;display:flex}.bouton-principal{background:var(--accent);color:#fff;border:0;border-radius:10px;min-height:44px;padding:0 18px;font-weight:600}.bouton-lien{min-height:44px;color:var(--accent);background:0 0;border:0;padding:0 4px;font-weight:600}.connexion{text-align:center;max-width:24rem;padding-top:64px}.connexion .ajout{text-align:left}.bascule{background:#ebe8e1;border-radius:10px;max-width:16rem;margin:0 auto 16px;padding:3px;display:flex}.bascule__option{min-height:38px;color:var(--texte-doux);background:0 0;border:0;border-radius:8px;flex:1;font-weight:600}.bascule__option--active{background:var(--carte);color:var(--texte);box-shadow:0 1px 2px #00000014}.barre{background:var(--carte);border:1px solid var(--bord);border-radius:var(--rayon);grid-template-columns:1fr auto;gap:4px 12px;padding:10px 12px;display:grid}.barre__texte{gap:2px;min-width:0;display:grid}.barre__valeur{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.barre__part{color:var(--texte-doux);font-size:.85rem;font-weight:400;display:block}.barre__piste{background:#efede7;border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.barre__remplissage{background:var(--accent);border-radius:3px;height:100%}.onglets{padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--bord);background:#f6f4eff2;justify-content:center;gap:8px;display:flex;position:fixed;inset:auto 0 0}.onglets__bouton{max-width:12rem;min-height:44px;color:var(--texte-doux);background:0 0;border:0;border-radius:10px;flex:1;font-weight:600}.onglets__bouton--actif{background:var(--accent-pale);color:var(--texte)}
