:root{color:#1d2939;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f8f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #38765747}.app-shell{min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #e3e8e2;justify-content:space-between;align-items:center;gap:2rem;min-height:72px;padding:0 5vw;display:flex}.brand,.nav-link,.quiet-button{color:#52635a;background:0 0;border:0;padding:.45rem .25rem}.brand{color:#173c29;letter-spacing:-.04em;font-size:1.2rem;font-weight:750}.app-header nav{gap:1.25rem;margin-right:auto;display:flex}.nav-link{border-bottom:2px solid #0000;font-weight:600}.nav-link.is-active{color:#1d4932;border-color:#3c7a57}.account-menu{color:#66756d;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.quiet-button{font-weight:600}.quiet-button:hover{color:#1d4932}.page-content{max-width:800px;margin:0 auto;padding:4.5rem 1.5rem}.page-heading{justify-content:space-between;align-items:end;margin-bottom:1.75rem;display:flex}.eyebrow{color:#538265;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.78rem;font-weight:750}h2{color:#183627;letter-spacing:-.055em;margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1}h3{color:#234531;margin:0;font-size:1rem}p{line-height:1.5}.card{background:#fff;border:1px solid #e1e9e1;border-radius:16px;box-shadow:0 10px 30px #2743310d}.household-details{padding:1.5rem}.field-label{color:#53675a;letter-spacing:.02em;gap:.45rem;max-width:340px;font-size:.82rem;font-weight:700;display:grid}.field-label select,.compact-form input,.add-item-form input{color:#1d2939;background:#fbfdfb;border:1px solid #cddbd0;border-radius:9px;min-height:44px;padding:0 .8rem}.household-info{border-top:1px solid #edf1ed;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;display:grid}.member-list{color:#4e5d54;margin:.6rem 0 0;padding:0;list-style:none}.member-list li+li{margin-top:.3rem}code{color:#28573a;background:#edf5ee;border-radius:6px;margin-top:.6rem;padding:.3rem .45rem;font-size:.88rem;display:inline-block}.household-actions{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.compact-form{gap:.8rem;padding:1.35rem;display:grid}.compact-form p{color:#68786e;margin:-.4rem 0 0;font-size:.9rem}button[type=submit],.add-item-form button{color:#fff;background:#367553;border:1px solid #367553;border-radius:9px;min-height:44px;padding:0 1rem;font-weight:700}button[type=submit]:hover,.add-item-form button:hover{background:#285d41}.item-count{color:#356445;background:#e9f3eb;border-radius:999px;margin:0;padding:.45rem .7rem;font-size:.85rem;font-weight:700}.shopping-controls{align-items:end;gap:.6rem;display:flex}.household-select{color:#56705f;letter-spacing:.04em;text-transform:uppercase;gap:.2rem;font-size:.72rem;font-weight:700;display:grid}.household-select select{color:#28573a;text-transform:none;background:#fff;border:1px solid #cddbd0;border-radius:8px;min-height:34px;padding:0 .45rem;font-size:.86rem;font-weight:650}.add-item-form{gap:.65rem;margin-bottom:1.25rem;display:flex}.add-item-form input{flex:1}.shopping-items{background:#fff;border:1px solid #e1e9e1;border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.shopping-items li{border-bottom:1px solid #edf1ed;justify-content:space-between;align-items:center;min-height:62px;padding:.65rem 1rem;display:flex}.shopping-items li:last-child{border-bottom:0}.shopping-items label{align-items:center;gap:.8rem;min-width:0;display:flex}.shopping-items input{accent-color:#367553;block-size:1.1rem;inline-size:1.1rem}.shopping-items span{overflow-wrap:anywhere}.shopping-items .is-complete span{color:#849188;text-decoration:line-through}.icon-button{color:#819087;background:0 0;border:0;border-radius:8px;padding:.25rem .5rem;font-size:1.5rem;line-height:1}.icon-button:hover{color:#ad3b3b;background:#f5f7f5}.empty-list,.empty-state{color:#66756d;text-align:center;border:1px dashed #c9d8cc;border-radius:16px;padding:2.5rem 1rem}.empty-list p{color:#2e5a3e;margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.empty-list span{font-size:.9rem}.message{color:#66756d;margin:1rem 0}.error-message{color:#a23434}.auth-page{align-content:center;max-width:420px;min-height:100vh;margin:0 auto;padding:2rem 1.5rem;display:grid}.auth-page h1{color:#173c29;letter-spacing:-.06em;margin:0 0 2.5rem;font-size:2.5rem}.auth-page h2{margin-bottom:1.5rem;font-size:2rem}.auth-page form{background:#fff;border:1px solid #e1e9e1;border-radius:16px;gap:1rem;padding:1.5rem;display:grid;box-shadow:0 10px 30px #2743310d}.auth-page label{color:#4e5d54;font-size:.9rem;font-weight:650}.auth-page input{background:#fbfdfb;border:1px solid #cddbd0;border-radius:9px;width:100%;min-height:44px;margin-top:.35rem;padding:0 .8rem}.auth-page>p{color:#66756d;text-align:center;margin:1rem 0;font-size:.9rem}.auth-page>p button{color:#285d41;background:0 0;border:0;padding:0;font-weight:700}@media (width<=650px){.app-header{flex-wrap:wrap;align-items:flex-start;gap:.5rem 1.25rem;padding:1rem 1.25rem}.app-header nav{order:3;width:100%;margin-right:0}.account-menu{margin-left:auto}.account-menu span{display:none}.page-content{padding:2.5rem 1rem}.page-heading{align-items:flex-start;gap:.8rem}.shopping-controls{flex-direction:column;align-items:flex-start}.household-actions,.household-info{grid-template-columns:1fr}.add-item-form{flex-direction:column;align-items:stretch}}
