@font-face{font-family:Figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/figtree.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/bricolage.woff2) format("woff2")}:root{--font: "Figtree", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--display: "Bricolage Grotesque", "Figtree", -apple-system, system-ui, sans-serif;--bg: #f3f4f6;--surface: #ffffff;--surface-2: #eceef2;--card-border: transparent;--text: #111318;--muted: #5b6170;--line: #e4e6eb;--ink: #111318;--on-ink: #ffffff;--link: #1d4ed8;--danger: #c8231a;--stale: #9a4508;--shadow: 0 1px 2px rgb(17 19 24 / .06), 0 8px 24px rgb(17 19 24 / .06);--shadow-sm: 0 1px 2px rgb(17 19 24 / .08);--hero: #111318;--on-hero: #ffffff;--hero-muted: #a9aebb;--hero-ring: rgb(255 255 255 / .4);--hero-line: rgb(255 255 255 / .12);--accent: #ff7a59;--accent-soft: #ffe9e2;--accent-ink: #b8361a;--toast-action: #ff8a6b;--reponse-bg: #dce8ff;--reponse: #1d4ed8;--planif-bg: #ede4ff;--planif: #6d28d9;--autre-bg: #fff1d6;--autre: #9a4508;--achat-bg: #ddf5e4;--achat: #146c35;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #0e0f12;--surface: #17181c;--surface-2: #23242b;--card-border: #22232a;--text: #f3f4f6;--muted: #9ca3af;--line: #2a2b32;--ink: #f3f4f6;--on-ink: #111318;--link: #8db4ff;--danger: #ff6b5e;--stale: #f2b566;--shadow: none;--shadow-sm: none;--hero: #2a1610;--on-hero: #ffffff;--hero-muted: #e2b4a8;--hero-ring: rgb(255 255 255 / .35);--hero-line: rgb(255 255 255 / .12);--accent: #ff8a6b;--accent-soft: #3a1d15;--accent-ink: #ff9d82;--toast-action: #c2410c;--reponse-bg: #1b2a4a;--reponse: #8db4ff;--planif-bg: #2a2142;--planif: #c4a8ff;--autre-bg: #3a2a12;--autre: #f2b566;--achat-bg: #16301f;--achat: #7bd99a}}.cat-reponse{--c: var(--reponse);--c-bg: var(--reponse-bg)}.cat-planif{--c: var(--planif);--c-bg: var(--planif-bg)}.cat-autre{--c: var(--autre);--c-bg: var(--autre-bg)}.cat-achat{--c: var(--achat);--c-bg: var(--achat-bg)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:500 16px/1.35 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}a{color:var(--link);text-decoration:none}h1,h2,p{margin:0}.icon{flex:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app{max-width:640px;margin:0 auto;min-height:100dvh;padding-bottom:calc(env(safe-area-inset-bottom) + 96px)}.title-row{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 14px) 18px 0 20px}.title-row .titles{flex:1;min-width:0}.date{display:flex;align-items:center;gap:8px;font-size:14px;line-height:18px;color:var(--muted)}.title-row h1{margin-top:2px;font-family:var(--display);font-size:30px;line-height:34px;font-weight:700;letter-spacing:-.02em}.round-btn{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:1px solid var(--card-border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm)}.round-btn:active{transform:scale(.96)}.sync-badge{padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600}.sync-badge.error{color:var(--danger)}.composer-wrap{position:sticky;top:0;z-index:10;padding:14px 18px 4px;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.composer{display:flex;align-items:center;gap:10px;height:58px;padding:0 7px 0 18px;border:1px solid var(--card-border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);transition:box-shadow .15s}.composer:focus-within{box-shadow:var(--shadow),0 0 0 2px var(--text)}.composer input{flex:1;min-width:0;height:44px;padding:0;border:0;outline:0;background:transparent;font-size:17px;font-weight:500}.composer input::placeholder{color:var(--muted);font-weight:500}.send{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:0;border-radius:22px;background:var(--ink);color:var(--on-ink);transition:opacity .15s,transform .1s}.send:disabled{opacity:.3}.send:not(:disabled):active{transform:scale(.94)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm);font-size:14px;font-weight:600;white-space:nowrap}.chip.cat{background:var(--c-bg);color:var(--c);box-shadow:none}.chip.with-x{padding-right:0}.chip-x{display:grid;place-items:center;width:44px;height:44px;margin:-6px -6px -6px -8px;padding:0;border:0;background:transparent;color:var(--muted)}.chip.suggest{max-width:100%;overflow:hidden;color:var(--text)}.chip.suggest span{overflow:hidden;text-overflow:ellipsis}.hint{margin:8px 4px 0;font-size:14px;color:var(--muted)}.bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 18px 0}.hero{grid-column:span 2;padding:16px 14px 16px 18px;border-radius:24px;background:var(--hero);color:var(--on-hero)}.hero-label{display:flex;align-items:center;gap:6px;font-size:12px;line-height:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.hero-item{display:flex;align-items:center;gap:12px;margin-top:6px}.hero-item+.hero-item{margin-top:12px;padding-top:12px;border-top:1px solid var(--hero-line)}.hero-body{flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left}.hero-title{display:block;font-family:var(--display);font-size:21px;line-height:26px;font-weight:600;overflow-wrap:anywhere}.hero-meta{display:block;margin-top:2px;font-size:14px;line-height:18px;color:var(--hero-muted)}.hero-check{display:grid;place-items:center;width:48px;height:48px;flex:none;padding:0;border:2px solid var(--hero-ring);border-radius:24px;background:transparent;color:var(--on-hero);transition:background .15s,border-color .15s}.hero-item.checking .hero-check{background:var(--accent);border-color:var(--accent);color:#111318}.hero-item.checking .hero-title{text-decoration:line-through;opacity:.7}.tile{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;height:100px;padding:14px 16px;border:0;border-radius:22px;background:var(--c-bg);color:var(--c);text-align:left;transition:opacity .15s,box-shadow .15s,transform .1s}.tile:active{transform:scale(.98)}.tile-label{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:600}.tile-count{font-family:var(--display);font-size:40px;line-height:40px;font-weight:700;font-variant-numeric:tabular-nums}.tile.zero .tile-count{opacity:.45}.tile.on{box-shadow:inset 0 0 0 2px var(--c)}.bento.filtered .tile:not(.on){opacity:.45}.filter-note{display:flex;align-items:center;justify-content:space-between;margin:12px 22px 0;font-size:14px;color:var(--muted)}.banner{display:flex;align-items:center;gap:12px;margin:12px 18px 0;padding:14px 14px 14px 16px;border:1px solid var(--card-border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm);font-size:14px;color:var(--muted)}.banner-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:20px;background:var(--accent-soft);color:var(--accent-ink)}.banner-text{flex:1;min-width:0;text-wrap:pretty}.banner-text strong{display:block;font-size:15px;color:var(--text)}.banner-actions{display:flex;flex-direction:column;align-items:center;gap:2px}.section{margin:22px 18px 0}.section h2{display:flex;align-items:baseline;gap:8px;margin:0 0 8px 4px;font-family:var(--display);font-size:19px;line-height:24px;font-weight:600}.section h2 .count{font-family:var(--font);font-size:14px;font-weight:600;color:var(--muted)}.card{margin:0;padding:4px 0;list-style:none;border:1px solid var(--card-border);border-radius:22px;background:var(--surface)}.card.pad{padding:16px}.card.pad>*+*{margin-top:12px}.row{display:flex;align-items:center;gap:4px;min-height:54px;padding:0 16px 0 6px;transition:opacity .25s}.check{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:0;background:transparent}.ring{display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--c);border-radius:11px;color:var(--surface);transition:background .15s}.row.checking .ring,.row.archived .ring{background:var(--c)}.row.checking .text{text-decoration:line-through;color:var(--muted)}.body{flex:1;min-width:0;padding:12px 0;cursor:pointer;outline-offset:2px}.line{display:flex;align-items:baseline;gap:10px}.text{flex:1;min-width:0;font-size:16px;line-height:21px;font-weight:500;overflow-wrap:anywhere}.text a[href^="tel:"]{white-space:nowrap}.age{flex:none;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap}.age.stale{color:var(--stale);font-weight:700}.meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:13px;line-height:16px;color:var(--muted)}.meta>span{display:inline-flex;align-items:center;gap:4px}.row.archived{padding-right:4px}.row.archived .text{color:var(--muted)}.row-actions-icons{display:flex;flex:none}.icon-btn{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:0;border-radius:14px;background:transparent;color:var(--text)}.icon-btn.subtle{color:var(--muted)}.empty{margin:28px 18px 0;padding:32px 24px;border:1px solid var(--card-border);border-radius:24px;background:var(--surface);text-align:center;color:var(--muted)}.empty p,.hero-title{text-wrap:pretty}.empty .big{margin-bottom:6px;font-family:var(--display);font-size:24px;font-weight:700;color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border:0;border-radius:23px;background:var(--surface-2);font-size:15px;font-weight:700}.btn.primary{background:var(--ink);color:var(--on-ink)}.btn.danger{color:var(--danger)}.btn.small{min-height:38px;padding:0 16px;font-size:14px}.btn:disabled{opacity:.4}.btn.more{display:flex;margin:18px auto 0}.link-btn{min-height:34px;padding:4px 6px;border:0;background:transparent;color:var(--link);font-size:14px;font-weight:700}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.sheet-layer{position:fixed;inset:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;background:#0a0b0e66;animation:fade .15s ease-out}.sheet{width:100%;max-width:640px;max-height:calc(100dvh - var(--kb, 0px) - env(safe-area-inset-top) - 24px);margin-bottom:var(--kb, 0px);overflow-y:auto;overscroll-behavior:contain;padding:10px 18px calc(env(safe-area-inset-bottom) + 18px);border-radius:28px 28px 0 0;background:var(--surface);animation:slide-up .22s cubic-bezier(.2,.8,.2,1)}.grabber{width:38px;height:5px;margin:0 auto 12px;border-radius:999px;background:var(--line)}.edit-text{display:block;width:100%;min-height:72px;padding:12px 14px;border:0;border-radius:16px;background:var(--bg);resize:vertical;font-size:17px;font-weight:500;outline:none}.edit-text:focus{box-shadow:0 0 0 2px var(--text)}.field{margin-top:18px}.label{margin-bottom:8px;font-family:var(--display);font-size:16px;font-weight:600}.cat-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cat-picker button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;height:66px;padding:0 2px;border:0;border-radius:18px;background:var(--c-bg);color:var(--c);font-size:13px;font-weight:700;transition:box-shadow .15s,opacity .15s}.cat-picker button:not(.on){opacity:.6}.cat-picker button.on{box-shadow:inset 0 0 0 2px var(--c)}.current-when{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-weight:600}.current-when.due{color:var(--accent-ink)}.quick{display:flex;flex-wrap:wrap;gap:8px}.quick .chip{height:38px;padding:0 14px;border-radius:19px;background:var(--surface-2);box-shadow:none}.custom-when{display:flex;gap:8px;margin-top:10px}.custom-when input{flex:1;min-width:0;min-height:46px;padding:0 14px;border:0;border-radius:16px;background:var(--bg);font-size:16px}.sheet-actions{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;margin-top:22px}.search{display:flex;align-items:center;gap:8px;margin:14px 18px 0;height:52px;padding:0 16px;border:1px solid var(--card-border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);color:var(--muted)}.search input{flex:1;min-width:0;height:44px;border:0;outline:0;background:transparent;color:var(--text);font-size:17px}.settings p{font-size:15px;color:var(--muted)}.settings p strong,.settings .ok{color:var(--text)}.steps{margin:0;padding-left:20px;font-size:15px;color:var(--muted)}.steps li+li{margin-top:8px}.steps strong{color:var(--text)}.steps ul{margin:6px 0 0;padding-left:18px}code{padding:1px 6px;border-radius:6px;background:var(--surface-2);color:var(--text);font:13px ui-monospace,SF Mono,Menlo,monospace;overflow-wrap:anywhere}.muted{color:var(--muted)}.center{margin-top:24px;text-align:center;font-size:13px}.login{display:grid;place-items:center;min-height:100dvh;padding:24px}.login-card{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:340px;text-align:center}.login-card img{border-radius:20px;box-shadow:var(--shadow)}.login-card h1{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.02em}.login-card p{color:var(--muted);font-size:15px}.login-card input{width:100%;height:54px;padding:0 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);font-size:17px}.login-card .btn{width:100%;min-height:54px;border-radius:27px}.login-card .tip{padding:12px 14px;border-radius:16px;background:var(--accent-soft);color:var(--text);font-size:14px;text-align:left}.error{color:var(--danger);font-size:15px;font-weight:600}.toast{position:fixed;left:0;right:0;bottom:calc(var(--kb, 0px) + env(safe-area-inset-bottom) + 16px);z-index:40;display:flex;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 32px);margin-inline:auto;padding:10px 10px 10px 18px;border-radius:18px;background:var(--ink);color:var(--on-ink);font-size:15px;font-weight:600;box-shadow:0 10px 30px #00000040;animation:toast-in .18s ease-out}.toast button{min-height:36px;padding:4px 12px;border:0;border-radius:12px;background:transparent;color:var(--toast-action);font-weight:800}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(32px);opacity:.6}}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
