:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}button.danger{color:var(--error);border-color:var(--error)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1:focus,h2:focus{outline:none}.ui-dialog{overscroll-behavior:contain;max-height:calc(100dvh - 32px);color:var(--text);margin:auto;overflow-y:auto}.ui-dialog:focus{outline:none}.ui-dialog::backdrop{background:#0009}.ui-dialog-body{gap:12px;display:grid}.ui-dialog-body h2,.ui-dialog-body p{margin:0}.toast-zone:empty{position:absolute}.toast{right:16px;bottom:var(--toast-bottom,calc(16px + env(safe-area-inset-bottom)));z-index:5;max-width:688px;min-height:48px;color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:4px 4px 4px 16px;display:flex;position:fixed;left:16px}.toast-space{height:56px}.toast button{min-height:44px;color:var(--accent);border:0}button.settings-link{width:44px;height:44px;min-height:44px;color:var(--muted);touch-action:manipulation;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;margin:-6px -6px -6px 0;padding:0;display:grid}button.settings-link[aria-current=page]{color:var(--accent)}.tabs button.settings-link-side{display:none}@media (width>=1024px){.tabs button.settings-link-side{top:calc(10px + env(safe-area-inset-top));background:0 0;border-radius:8px;flex:none;width:44px;height:44px;min-height:44px;margin:0;padding:0;display:grid;position:absolute;right:8px}}.person-rose{--person:#f4a6b5}.person-peche{--person:#f9c08a}.person-sable{--person:#f0dd7a}.person-sauge{--person:#b5dc8e}.person-menthe{--person:#8fdcbc}.person-ciel{--person:#94cdf0}.person-lavande{--person:#b9aef2}.person-lilas{--person:#e3a6e6}.person-none{--person:#dadcd8}.welcome-tour{z-index:20;position:fixed;inset:0}.welcome-tour-shade,.welcome-tour-spot{pointer-events:none;position:fixed}.welcome-tour-shade{background:#0000008c;inset:0}.welcome-tour-spot{border-radius:12px;outline:2px solid #fff;box-shadow:0 0 0 9999px #0000008c}.welcome-tour-panel{max-width:400px;max-height:calc(100vh - 32px);margin:0 auto;position:fixed;top:50%;left:16px;right:16px;overflow-y:auto;transform:translateY(-50%)}.welcome-tour-panel-near{top:auto;transform:none}.welcome-tour-panel h2{margin-top:0}.welcome-tour-count{margin:0 0 4px;font-size:.85rem}.welcome-tour-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.welcome-tour-actions button{min-height:44px}@media (width>=1024px){.welcome-tour-panel-near{width:360px;margin:0;right:auto}}.settings-head{grid-column:1/-1;align-items:center;gap:4px;display:flex}.settings-head h2{margin:0;font-size:1.35rem}button.settings-back{width:44px;height:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;margin-left:-10px;padding:0;display:grid}:root[data-theme=light] img.app-icon-dark,:root[data-theme=dark] img.app-icon-light{display:none}@media not all and (prefers-color-scheme:dark){:root:not([data-theme]) img.app-icon-dark{display:none}}@media (prefers-color-scheme:dark){:root:not([data-theme]) img.app-icon-light{display:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f7f5f2)var(--lightningcss-dark,#181614);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#242120);--text:var(--lightningcss-light,#1f1c1a)var(--lightningcss-dark,#eeecea);--muted:var(--lightningcss-light,#665e58)var(--lightningcss-dark,#aaa39d);--field-border:var(--lightningcss-light,#87807a)var(--lightningcss-dark,#7f7771);--border:var(--lightningcss-light,#ddd8d2)var(--lightningcss-dark,#3f3a36);--accent:var(--lightningcss-light,#3a5f8a)var(--lightningcss-dark,#8fb4dc);--on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0e2036);--error:var(--lightningcss-light,#a3123f)var(--lightningcss-dark,#f58fb0);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{margin:0 0 8px;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{margin-top:20px;font-size:1rem}p{margin:0 0 12px}.center{place-content:center;justify-items:center;gap:12px;min-height:100dvh;padding:16px;display:grid}.topbar{padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex}.topbar strong{white-space:nowrap}.topbar .muted{text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.content{max-width:720px;padding:16px 16px calc(88px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:16px;margin:0 auto;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:16px}.narrow{text-align:center;gap:12px;width:min(360px,100vw - 32px);display:grid}.narrow p{margin:0}.muted{color:var(--muted)}.error{color:var(--error)}button,.button{min-height:48px;color:var(--text);border:1px solid var(--border);font:inherit;text-align:center;cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:10px 14px;text-decoration:none;display:inline-block}button:disabled{cursor:not-allowed;opacity:.6}.primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}:is(a,button,input):focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{width:100%;min-width:0;min-height:48px;color:var(--text);background:var(--bg);border:1px solid var(--field-border);border-radius:6px;padding:10px 12px;font-size:16px}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row{gap:8px;display:flex}.legend{flex-wrap:wrap;gap:6px 12px;margin:12px 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.list li.day-expense{flex-wrap:nowrap;justify-content:flex-start}.check-row{cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.check-row input{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.collapsible summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:28px;list-style:none;display:flex}.collapsible summary::-webkit-details-marker{display:none}.collapsible summary:after{content:"›";color:var(--muted);font-size:1.25rem;line-height:1;transition:transform .15s}.collapsible[open] summary:after{transform:rotate(90deg)}.collapsible summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.collapsible h2{margin:0}.collapsible-body{margin-top:12px}.collapsible summary:after{transition:none}.form-actions .primary{flex:1}.list li.expense{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;display:grid}.list{margin:0 0 12px;padding:0;list-style:none}.list:empty{display:none}.list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 0;display:flex}.topbar-icon{border-radius:6px;flex:none;display:block}.theme-picker{border:0;margin:12px 0 0;padding:0}.theme-picker legend{margin-bottom:4px}button,summary,label,select,input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:active:not(:disabled){filter:brightness(.92)}.check-row,.collapsible summary{align-items:center;min-height:48px}.logout{width:100%}.portal h1{margin:0}.service-list{background:var(--surface);border:1px solid var(--border);border-radius:18px;display:grid;overflow:hidden}a.service{min-height:72px;color:var(--text);touch-action:manipulation;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;display:flex}a.service+a.service{border-top:1px solid var(--border)}a.service:active{background:color-mix(in srgb, var(--text) 6%, transparent)}a.service img{border-radius:11px;flex:none}.service-text{flex:1;gap:2px;min-width:0;display:grid}.service-text strong{font-size:1.05rem}.service-chevron{color:var(--muted);flex:none}.privacy-link{text-align:center;padding:12px;font-size:.875rem;display:block}.banner{padding:calc(16px + env(safe-area-inset-top)) 0 4px;justify-items:center;gap:8px;display:grid}.banner img{border-radius:15px;display:block}.banner h1{margin:0 0 8px}.search{width:100%;max-width:560px;min-height:52px;color:var(--muted);background:var(--surface);border:1px solid var(--field-border);border-radius:26px;align-items:center;gap:8px;padding:0 16px;display:flex}.search:focus-within{border-color:var(--accent)}.search svg{flex:none}.search input{min-height:48px;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:0}.login-page{align-content:start;max-width:480px}.login-page .card{width:100%}.search{padding-right:4px}a.search-google{width:44px;height:44px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);touch-action:manipulation;border-radius:50%;flex:none;place-items:center;font-size:1.15rem;font-weight:700;text-decoration:none;display:grid}a.search-google:active{filter:brightness(.92)}a.search-google:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.member-form{gap:8px;margin-bottom:12px;display:grid}.member-list li{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 0;display:grid}.member-list button{justify-self:end}.member-role{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.member-role select{flex:none;width:160px}.member-separator{border:0;border-top:1px solid var(--border);margin:16px 0}.list li.member-current{border:2px solid var(--accent);border-radius:8px;padding:12px}.member-badge{color:var(--on-accent);background:var(--accent);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.75rem}@media (prefers-reduced-motion:no-preference){#root{animation:.2s ease-in page-in}}@keyframes page-in{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){.page{transition:opacity .15s ease-out}.page.leaving{opacity:0}a.service{transition:background-color .12s ease-out}}.welcome{gap:8px;display:grid}.welcome p{margin:0}.banner-image{object-fit:contain;width:auto;max-width:100%;height:180px}.banner-pixels{image-rendering:pixelated;border-radius:0}.banner-chooser{margin-top:16px}.banner-chooser p{margin-bottom:8px}.famille-list li{padding:0}.famille-row{text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 0;display:flex}.famille,.familles{gap:12px;display:grid}.famille-form{gap:10px;display:grid}.famille-form label{gap:4px;display:grid}.link-back{color:var(--accent);background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:6px 0;font-weight:600;display:inline-flex}.familles .notice,.famille .notice{border:1px solid var(--accent);border-radius:6px;margin:0;padding:10px 12px}.content.portal{position:relative}.settings-gear{top:calc(8px + env(safe-area-inset-top));width:44px;height:44px;color:var(--muted);border-radius:8px;place-items:center;display:grid;position:absolute;right:8px}.settings-gear:hover,.settings-back:hover{color:var(--text)}.settings-head{padding-top:env(safe-area-inset-top);align-items:center;gap:4px;display:flex}.settings-back{width:44px;height:44px;color:var(--muted);border-radius:8px;flex:none;place-items:center;margin-left:-10px;display:grid}.settings .logout{margin-top:8px}.color-picker{border:0;gap:8px;margin:0 0 16px;padding:0;display:grid}.color-picker legend{margin-bottom:4px;padding:0;font-weight:600}.color-help{align-items:center;gap:8px;margin:0;display:flex}.person-chip{width:26px;height:26px;color:var(--person-ink,#1c1f1c);background:var(--person);border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:700;line-height:1;display:inline-grid}.color-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.color-option{min-height:48px;color:var(--person-ink,#1c1f1c);background:var(--person);text-align:center;cursor:pointer;border:2px solid #0000;border-radius:6px;place-items:center;padding:8px 4px;font-size:.875rem;display:grid;position:relative}.color-option input[type=radio]{opacity:0;pointer-events:none;position:absolute}.color-option.color-custom-chosen{border-color:var(--text);font-weight:700}.color-option:has(input[type=radio]:checked){border-color:var(--text);font-weight:700}.color-custom-chosen span:before{content:"✓ "}.color-option:has(input[type=radio]:checked) span:before{content:"✓ "}.color-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.color-custom{justify-content:center;gap:10px;display:flex}.color-custom input[type=color]{border:2px solid var(--person-ink,#1c1f1c);cursor:pointer;background:0 0;border-radius:6px;width:32px;height:32px;padding:0}.service img.service-icon-dark,:root[data-theme=dark] .service img.service-icon-light{display:none}:root[data-theme=dark] .service img.service-icon-dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .service img.service-icon-light{display:none}:root:not([data-theme=light]) .service img.service-icon-dark{display:block}}.service-today{color:var(--muted);font-size:.875rem}.service-today-attention{color:var(--accent);font-weight:600}.first-steps{gap:8px;margin-top:16px;display:grid}.first-steps-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.first-steps h2{margin:0;font-size:1.05rem}.first-steps ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.first-step{align-items:center;gap:10px;min-height:40px;display:flex}.first-step a{color:inherit;font-weight:600;text-decoration:none}.first-step a:hover{text-decoration:underline}.first-step.done{color:var(--muted)}.first-step-check{border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:inline-grid}.first-step.done .first-step-check{background:var(--accent);border-color:var(--accent);color:var(--surface)}.adoption{gap:4px;margin:0;padding:0;list-style:none;display:grid}.adoption li{justify-content:space-between;gap:12px;display:flex}
