:root{--bg:#fff8f0;--surface:#fff;--surface-2:#fbeee4;--text:#3b2a20;--muted:#7a6355;--border:#ead8ca;--accent:#c85a2e;--accent-soft:#fde3d6;--on-accent:#fff;--success:#2f7d4f;--danger:#b3261e;--late:#b3261e;--radius:16px;--tabbar-h:68px;color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#211813;--surface:#2d221c;--surface-2:#3a2c24;--text:#fbeee4;--muted:#c7ae9e;--border:#4a3a30;--accent:#f08a5d;--accent-soft:#4d2e20;--on-accent:#211813;--success:#7fd19f;--danger:#ff8a80;--late:#ff8a80}}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1{margin:0;font-size:1.6rem}h2{margin:1.6rem 0 .6rem;font-size:1.1rem}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:1rem 0 .3rem;font-size:.85rem}.muted{color:var(--muted)}.small{font-size:.85rem}.app{max-width:40rem;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 5rem);margin:0 auto}.demo-banner{background:var(--accent-soft);color:var(--text);text-align:center;padding:.3rem 1rem;font-size:.8rem}.screen{padding:1rem 1rem 0}.screen-header{margin:.5rem 0 1rem}.screen-header.row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.eyebrow{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.card p:first-child{margin-top:0}.shopping-shortcut{text-align:left;align-items:center;gap:.8rem;width:100%;display:flex}.emoji{font-size:1.6rem}.empty{color:var(--muted);background:var(--surface-2);border-radius:var(--radius);margin:0;padding:1rem}.btn{border:1px solid var(--border);background:var(--surface);border-radius:999px;min-height:48px;padding:0 1.2rem;font-weight:600}.btn.small{min-height:40px;padding:0 1rem;font-size:.9rem}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.link{color:var(--accent);background:0 0;border:none;min-height:44px;padding:.5rem;font-weight:600}.link.danger{color:var(--danger)}.icon{color:var(--muted);background:0 0;border:none;min-width:44px;min-height:44px;font-size:1rem}.fab{right:max(1rem,50% - 19rem);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 1rem);background:var(--accent);width:60px;height:60px;color:var(--on-accent);border:none;border-radius:50%;font-size:2rem;line-height:1;position:fixed;box-shadow:0 6px 18px #0003}.tabbar{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{height:var(--tabbar-h);color:var(--muted);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;display:flex}.tabbar button[aria-current=page]{color:var(--accent);font-weight:700}.tab-icon{font-size:1.35rem}.task-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.task-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.3rem;padding:.3rem;display:flex;position:relative}.task-row.overdue{border-left:4px solid var(--late)}.check{border:2px solid var(--border);color:#0000;background:0 0;border-radius:50%;flex:none;width:44px;height:44px;font-weight:800}.check:hover,.check:focus-visible{border-color:var(--success);color:var(--success)}.task-main{text-align:left;background:0 0;border:none;flex-direction:column;flex:1;min-width:0;padding:.4rem .2rem;display:flex}.task-title{font-weight:600}.task-meta{color:var(--muted);font-size:.85rem}.late{color:var(--late)}.more{width:44px;height:44px;color:var(--muted);background:0 0;border:none;flex:none;font-size:1.3rem}.row-menu{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-width:14rem;display:flex;position:absolute;top:calc(100% - .3rem);right:.5rem;overflow:hidden;box-shadow:0 8px 24px #00000026}.row-menu button,.menu-date{text-align:left;background:0 0;border:none;min-height:48px;padding:.8rem 1rem}.menu-label{color:var(--muted);border-top:1px solid var(--border);padding:.6rem 1rem .2rem;font-size:.8rem}.menu-date{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.row-menu button:hover{background:var(--surface-2)}.segmented{background:var(--surface-2);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;margin-bottom:1rem;padding:4px;display:grid}.segmented button{background:0 0;border:none;border-radius:999px;min-height:40px;font-size:.9rem}.segmented button[aria-selected=true]{background:var(--surface);font-weight:700;box-shadow:0 1px 3px #0000001a}.history{margin:0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 0;display:flex}.sheet-backdrop{z-index:20;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:40rem;max-height:92dvh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow-y:auto}.sheet-header{justify-content:space-between;align-items:center;display:flex}.sheet-header h2{margin:0}.field{border:none;flex-direction:column;flex:1;gap:.3rem;min-width:0;margin:.8rem 0;padding:0;font-size:.9rem;font-weight:600;display:flex}.field legend{margin-bottom:.3rem;padding:0}.field input,.field select,.add-item input,.add-item select,.inline-form input{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;min-width:0;min-height:48px;padding:0 .8rem;font-weight:400}.field-row{gap:.8rem;display:flex}.hint{color:var(--muted);margin:.3rem 0;font-size:.85rem}.hint.warning{color:var(--danger);font-weight:600}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;min-height:44px;padding:0 1rem}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.preview{background:var(--surface-2);border-radius:var(--radius);margin:1rem 0;padding:.8rem 1rem}.preview-title{margin:0 0 .3rem;font-size:.9rem;font-weight:700}.preview ul{margin:0;padding-left:1.2rem}.sheet-actions{justify-content:flex-end;gap:.8rem;margin-top:1rem;display:flex}.list-tabs{gap:.5rem;margin-bottom:.8rem;padding-bottom:.3rem;display:flex;overflow-x:auto}.list-tabs button{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex:none;align-items:center;gap:.4rem;min-height:44px;padding:0 1rem;display:flex}.list-tabs button[aria-selected=true]{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:700}.badge{background:var(--accent);color:var(--on-accent);border-radius:999px;padding:0 .45rem;font-size:.75rem;font-weight:700}.add-item{grid-template-columns:1fr 5rem;gap:.5rem;margin-bottom:.5rem;display:grid}.add-item select{grid-column:1}.add-item .btn{grid-column:2;padding:0}.items{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none}.items li{border-bottom:1px solid var(--border);align-items:center;display:flex}.items li:last-child{border-bottom:none}.item{text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:.8rem;min-height:52px;padding:0 1rem;display:flex}.box{border:2px solid var(--border);border-radius:7px;flex:none;width:24px;height:24px}.item-name{flex:1}.qty-tag{background:var(--surface-2);border-radius:999px;padding:0 .6rem;font-size:.85rem}.manage{margin-bottom:1rem}.inline-form{gap:.5rem;display:flex}.manage-lists{margin:.8rem 0 0;padding:0;list-style:none}.manage-lists li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.members{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.members li{align-items:center;gap:.8rem;display:flex}.avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;place-items:center;font-weight:800;display:grid}.success{color:var(--success);font-weight:600}.demo-box{gap:.5rem;display:grid}.demo-box p,.demo-box .field{margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.person-chips,.mission{margin-bottom:1rem}.mission-title{align-items:center;gap:.6rem;margin:0 0 .8rem;font-weight:700;display:flex}.stats{text-align:center;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:0;display:grid}.stats dt{color:var(--muted);order:2;font-size:.72rem}.stats div{background:var(--surface-2);border-radius:12px;flex-direction:column;padding:.5rem .2rem;display:flex}.stats dd{margin:0;font-size:1.4rem;font-weight:800}.week-nav{justify-content:space-between;align-items:center;display:flex}.week-nav .icon{font-size:1.6rem}.day h3{text-transform:none;letter-spacing:0;color:var(--text);align-items:center;gap:.5rem;margin-top:1.1rem;font-size:.95rem;display:flex}.day.is-past h3{color:var(--muted)}.today-pill{background:var(--accent);color:var(--on-accent);border-radius:999px;padding:.1rem .5rem;font-size:.72rem}.day-empty{color:var(--muted);margin:0;font-size:.85rem}.task-row.done .task-title{color:var(--muted);text-decoration:line-through}.check[aria-pressed=true]{background:var(--success);border-color:var(--success);color:var(--surface)}.toggle{align-items:center;gap:.6rem;min-height:44px;font-size:.9rem;font-weight:600;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--accent)}.toast{left:1rem;right:1rem;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 5.5rem);background:var(--text);max-width:38rem;color:var(--bg);z-index:30;border-radius:12px;margin:0 auto;padding:.8rem 1rem;position:fixed;box-shadow:0 6px 18px #00000040}.welcome{max-width:480px;margin:0 auto;padding-top:2rem}.welcome .card{gap:.75rem;display:grid}.welcome>.link{margin:1.25rem auto 0;display:block}.segmented.two{grid-template-columns:repeat(2,1fr)}.error,.sync-error{color:var(--danger);font-weight:600}.invite-code{letter-spacing:.15em;text-align:center;margin:.5rem 0;font-family:ui-monospace,monospace;font-size:1.6rem}.weather{align-items:center;gap:.9rem;margin-bottom:.75rem;display:flex}.weather p{margin:0}.weather strong{font-size:1.4rem}.weather-emoji{font-size:2.2rem;line-height:1}.weather-tip{font-weight:600;margin-top:.2rem!important}.birthdays h2{margin:0 0 .4rem;font-size:1.05rem}.birthdays ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.birthdays p{margin:0}.birthday-today blockquote{border-left:3px solid var(--accent,var(--border));background:var(--surface-2);border-radius:8px;margin:.4rem 0;padding:.6rem .8rem;font-size:.95rem}.birthday-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.birthday-actions .btn{color:inherit;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.birthday-actions .btn.whatsapp{color:#fff;background:#1f8f4e;border-color:#1f8f4e}.day-birthday{margin:.2rem 0 .4rem;font-weight:600}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}
