:root{--bg:#f7f7f5;--surface:#fff;--surface-2:#f0f1ee;--text:#1d2420;--muted:#6b736e;--border:#e2e4df;--primary:#2f6f5e;--primary-text:#fff;--danger:#c0392b;--warn:#b7791f;--task:#2f6f5e;--errand:#3d6fb6;--shopping:#8a5a14;--expense:#7b4fa6;--highlight:#fff3c4;--radius:12px;--shadow:0 1px 3px #00000014;--nav-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Rubik,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#121514;--surface:#1b1f1d;--surface-2:#232826;--text:#e8ebe9;--muted:#9aa39e;--border:#2e3431;--primary:#5fb39b;--primary-text:#0d1311;--highlight:#4a4020;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-size:16px;line-height:1.45}a{color:var(--primary)}button,input,select,textarea{font:inherit;color:inherit}.app{min-height:100%;display:flex}.main{min-width:0;padding:12px 16px calc(var(--nav-h) + 80px);flex:1;width:100%;max-width:960px;margin:0 auto}.page-title{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px;font-size:1.35rem;display:flex}.page-title>:first-child{white-space:nowrap}.page-title .spacer{flex:1}.nav{inset-inline:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);z-index:20;display:flex;position:fixed;bottom:0}.nav a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.nav a.active{color:var(--primary);font-weight:600}.nav .ico{font-size:1.3rem;line-height:1}@media (width>=900px){.nav{top:0;inset-inline:auto;border-top:0;border-inline-end:1px solid var(--border);flex-direction:column;justify-content:flex-start;gap:4px;width:200px;height:100vh;padding:16px 8px;position:sticky;bottom:auto}.nav a{border-radius:10px;flex-direction:row;flex:0;justify-content:flex-start;gap:10px;padding:10px 12px;font-size:.95rem}.nav a.active{background:var(--surface-2)}.main{padding-bottom:96px}}.fab{inset-inline-start:20px;bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));background:var(--primary);width:56px;height:56px;color:var(--primary-text);z-index:25;cursor:pointer;border:0;border-radius:50%;font-size:2rem;line-height:1;position:fixed;box-shadow:0 4px 12px #0003}@media (width>=900px){.fab{bottom:24px;inset-inline-start:224px}}.offline-bar{z-index:30;background:var(--warn);color:#fff;text-align:center;padding:6px 12px;font-size:.85rem;position:sticky;top:0}.update-bar{background:var(--primary);color:var(--primary-text);justify-content:center;align-items:center;gap:8px;padding:8px 12px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px}.stack{flex-direction:column;gap:8px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.nowrap{flex-wrap:nowrap}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:.85rem}.danger{color:var(--danger)}.section-title{color:var(--muted);margin:16px 0 6px;font-size:.95rem;font-weight:600}.empty{text-align:center;color:var(--muted);padding:32px 8px}.form-error{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);border:1px solid var(--danger);border-radius:10px;padding:10px 12px;font-weight:600}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:10px;padding:8px 14px}.btn:disabled{opacity:.5;cursor:default}a.btn{text-align:center;color:inherit;text-decoration:none;display:inline-block}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.small{padding:4px 10px;font-size:.85rem}.icon-btn{cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px;font-size:1.2rem}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:var(--muted);font-size:.85rem}.input,select.input,textarea.input{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;padding:10px 12px}textarea.input{resize:vertical;min-height:72px}.input:disabled{background:var(--surface-2);color:var(--muted)}.seg{border:1px solid var(--border);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);cursor:pointer;border:0;padding:6px 12px}.seg button+button{border-inline-start:1px solid var(--border)}.seg button.on{background:var(--primary);color:var(--primary-text)}.chip{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}.chip.warn{color:var(--warn);border-color:currentColor}.chip.danger{color:var(--danger);border-color:currentColor}.chip.strong{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.toggle{cursor:pointer;align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px}.tabs button.on{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.item-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-inline-start:4px solid var(--kind,var(--border));align-items:center;gap:10px;padding:10px 12px;transition:background .6s;display:flex}.item-row+.item-row{margin-top:6px}.item-row.highlight{background:var(--highlight)}.item-row.overdue .title{color:var(--danger)}.item-row.done{opacity:.55}.item-row .title{overflow-wrap:anywhere;font-weight:500}.item-row .meta{color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:2px;font-size:.8rem;display:flex}.item-row a.body{min-width:0;color:inherit;flex:1;text-decoration:none}.check{border:2px solid var(--kind,var(--primary));cursor:pointer;background:0 0;border-radius:50%;flex:none;width:26px;height:26px}.check.on{background:var(--kind,var(--primary))}.kind-task{--kind:var(--task)}.kind-errand{--kind:var(--errand)}.kind-shopping{--kind:var(--shopping)}.kind-expense{--kind:var(--expense)}.backdrop{z-index:40;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:640px;max-height:92vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;overflow-y:auto}@media (width>=700px){.backdrop{align-items:center}.sheet{border-radius:16px}}.sheet h2{margin:0 0 12px;font-size:1.15rem}.toasts{bottom:calc(var(--nav-h) + 84px + env(safe-area-inset-bottom));z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;inset-inline:16px}.toast{pointer-events:auto;color:#fff;background:#222;border-radius:10px;align-items:center;gap:12px;max-width:480px;padding:10px 14px;display:flex}.toast button{color:#9fe3cf;cursor:pointer;background:0 0;border:0;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-head{color:var(--muted);text-align:center;padding:4px 0;font-size:.75rem}.cal-cell{background:var(--surface);border:1px solid var(--border);border-radius:6px;min-height:86px;padding:4px;font-size:.75rem;overflow:hidden}.cal-cell.other{opacity:.45}.cal-cell.today{outline:2px solid var(--primary)}.cal-cell .day-num{font-size:.8rem;font-weight:600}.cal-ev{background:var(--surface-2);border-inline-start:3px solid var(--kind,var(--border));white-space:nowrap;text-overflow:ellipsis;color:inherit;cursor:pointer;border-radius:4px;margin-top:2px;padding:1px 4px;text-decoration:none;display:block;overflow:hidden}.cal-ev.overdue{color:var(--danger)}.cal-ev.done{opacity:.45}.counter-btn{border:1px dashed var(--border);background:var(--surface);cursor:pointer;border-radius:999px;padding:2px 10px;font-size:.8rem}.progress{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.progress>div{background:var(--primary);height:100%}table.report{border-collapse:collapse;width:100%}table.report td,table.report th{border-bottom:1px solid var(--border);text-align:start;padding:6px 8px}table.report td.num,table.report th.num{text-align:end;font-variant-numeric:tabular-nums}.auth-page{justify-content:center;align-items:center;min-height:100%;padding:16px;display:flex}.auth-page .card{width:100%;max-width:380px;padding:24px}
