:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24382e;background:#edf1ed;font-synthesis:none;--green:#225d48;--line:#e0e7e0;--muted:#66756b}*{box-sizing:border-box}body{margin:0;padding:34px 14px}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:white;color:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:disabled{opacity:.55;cursor:wait}button:hover,.button:hover{background:#f0f5f0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a4bd89;outline-offset:3px}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:#174936}.app{max-width:650px;margin:auto;background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 18px 70px #24382e0c}header{padding:28px 30px 25px;border-bottom:1px solid var(--line)}.brandrow,.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-size:13px;letter-spacing:2px;font-weight:650;color:inherit;text-decoration:none}.brand span{font-weight:400}.avatar{border:0;background:#eff3ed;border-radius:50%;font-size:12px}h1{font-size:34px;font-weight:600;line-height:1.15;letter-spacing:-1.2px;margin:18px 0 12px}header p,.muted{color:var(--muted);font-size:13px;line-height:1.6}p{line-height:1.6}h2{font-size:17px;font-weight:600;margin:0 0 16px}main{padding:20px 30px 0}label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:7px}input,select,textarea{width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:white;color:inherit;font-size:16px}select{background:#f6f8f4}.entry{display:flex;gap:8px;align-items:stretch}.entry>input,.entry>select{flex:1}.entry>button{flex-shrink:0}.list-picker{margin:12px 0}#summary{min-height:24px;overflow-wrap:anywhere}.progress{height:4px;border-radius:5px;background:#edf2eb;overflow:hidden;margin:10px 0 24px}.progress span{display:block;background:var(--green);height:100%;transition:width .15s}details{margin:10px 0;color:var(--muted);font-size:12px}summary{cursor:pointer;padding:6px 0}.fields{display:grid;gap:10px;margin-top:10px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-top:20px}.tabs button{border:0;border-radius:0;padding:10px 0;color:var(--muted)}.tabs button[aria-pressed=true]{border-bottom:2px solid var(--green);color:var(--green);font-weight:600}.task{display:flex;align-items:flex-start;gap:10px;padding:17px 0;border-bottom:1px solid var(--line)}.task .task-content{display:flex;gap:12px;flex:1;min-width:0;min-height:44px;color:inherit;font-size:15px;margin:0;align-items:flex-start;line-height:1.5}.task input{width:22px;min-height:22px;height:22px;padding:0;margin:2px 0;flex-shrink:0;accent-color:var(--green)}.task .info{min-width:0;overflow-wrap:anywhere}.task .done{color:var(--muted);text-decoration:line-through}.meta{display:block;font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}.task .edit{border:0;color:var(--muted);padding:5px 8px;font-size:12px}.empty{padding:25px 0;color:var(--muted);font-size:14px}#history{padding-top:16px}.history-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.history-row>div{flex:1;overflow-wrap:anywhere;min-width:0}.history-row button{font-size:12px;flex-shrink:0}.conversation{margin-top:30px}.message{border-radius:12px;background:#f3f6f1;padding:12px 14px;margin-bottom:8px;overflow-wrap:anywhere}.message strong{font-size:12px;color:var(--green);font-weight:600}.message p{margin:5px 0;font-size:14px}.message small{font-size:11px;color:var(--muted)}#comment-form{margin-top:14px}#connection{font-size:12px;color:var(--muted)}#connection.warning{color:#925619}#notice{min-height:22px;font-size:13px;color:var(--green);margin:16px 0;overflow-wrap:anywhere}#notice.error{color:#a32d26}footer{display:flex;justify-content:space-between;padding:16px 30px;background:#f6f8f4;font-size:11px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:20px;padding:24px;color:inherit;width:min(460px,calc(100% - 28px));max-height:90dvh}dialog::backdrop{background:#172b2366}dialog label{margin:14px 0}dialog h2{line-height:1.4;margin:0}dialog .dialog-head{margin-bottom:20px}dialog .dialog-head button{border:0;font-size:23px}dialog p{overflow-wrap:anywhere}.wide{width:100%;margin-top:16px}fieldset{border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:12px}fieldset label{display:flex;gap:10px;align-items:center;font-size:14px;overflow-wrap:anywhere}fieldset input{width:20px;min-height:20px;height:20px}fieldset small{color:var(--muted);font-size:12px}#gate{padding:30px 0}#gate p{color:var(--muted)}[hidden]{display:none!important}@media(max-width:500px){body{padding:0;background:white}.app{border:0;border-radius:0;box-shadow:none}header{padding:24px 20px}main{padding:18px 20px 0}h1{font-size:30px}footer{padding:16px 20px}.entry button{padding:10px 12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.list-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.list-picker-heading>span{font-size:12px;font-weight:500;color:var(--muted)}#list-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:3px 0 8px}.list-tab{max-width:100%;overflow-wrap:anywhere;text-align:left;justify-content:flex-start;background:#f6f8f4}.list-tab[aria-selected="true"]{background:var(--green);border-color:var(--green);color:white;font-weight:600}

.list-actions{display:flex;gap:6px}.list-actions button{font-size:12px;padding:8px 10px}.arrange-row{display:flex;align-items:center;gap:6px;margin:12px 0}.arrange-row label{flex:1;min-width:0;margin:0}.arrange-row button{align-self:flex-end;min-width:44px;padding:10px}.arrange-row input{margin-top:5px}.dialog-notice{color:#a32d26;font-size:13px}

.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px}.list-toolbar button{font-size:12px;flex-shrink:0}.task{display:block;border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}.task-top{display:flex;gap:8px;align-items:flex-start}.task-top .task-content{flex:1}.option-buttons{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.option-chip{min-height:30px;padding:4px 8px;font-size:11px;line-height:1.35;border:1px solid #9ba79e;border-radius:8px;background:#ffffffb8;color:#24382e;box-shadow:inset 0 -3px var(--option-color)}.option-chip[aria-pressed=true]{background:var(--option-color);border-color:#526258;font-weight:650;box-shadow:inset 0 0 0 1px #526258}.option-chip:hover{background:var(--option-color)}.option-editor-row{display:flex;gap:6px;align-items:flex-end;margin:10px 0}.option-editor-row label{flex:1;min-width:0;margin:0}.option-editor-row select{width:88px;font-size:12px;padding:8px}.option-editor-row button{padding:8px;min-width:36px}.option-editor-row input{margin-top:5px}.danger{color:#9f2525;border-color:#e4baba;background:#fff5f5}.deleted-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.deleted-row span{overflow-wrap:anywhere;min-width:0}.list-picker-heading{flex-wrap:wrap}@media(max-width:360px){.option-editor-row{flex-wrap:wrap}.option-editor-row label{flex-basis:100%}}

.default-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:18px 0}.default-section h3{font-size:14px;margin:0;overflow-wrap:anywhere}.default-section p{margin:8px 0}#default-hint{margin:8px 0}

.filter-controls{margin:16px 0 8px}.filter-controls .entry select{min-width:0}.filter-controls .entry button{font-size:12px}.filter-controls p{margin:6px 0}.filter-controls p:empty{display:none}

.shopping-view .task{padding:8px 12px;margin:6px 0}.shopping-view .task .task-content{align-items:center}.shopping-view .task .option-buttons,.shopping-view .task .edit,.shopping-view .progress{display:none}.shopping-view .task .meta{margin-top:2px}.tabs{gap:20px}

.offline-tools{display:flex;align-items:center;gap:10px}.offline-tools p{flex:1;margin:8px 0;font-size:12px}.offline-tools button{font-size:12px;flex-shrink:0}.sync-conflict{border:1px solid #e4c986;background:#fff9e9;border-radius:10px;padding:12px;margin:10px 0}.sync-conflict p{font-size:13px}.sync-conflict button{font-size:12px;margin:3px}

.view-name-settings{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.view-name-settings h3{font-size:16px}.view-name-settings label{margin-bottom:3px}.view-name-settings p{margin:4px 0 12px}.tabs{gap:12px}.tabs button{flex:1;min-width:0;overflow-wrap:anywhere;text-align:center}

.due-date-settings{border-bottom:1px solid var(--line);padding-bottom:12px}.switch-label{display:flex;align-items:center;gap:10px;font-size:15px;color:inherit}.switch-label input{width:22px;min-height:22px;height:22px;flex-shrink:0;accent-color:var(--green)}.task .due-editor{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:12px;color:var(--muted);min-height:38px;cursor:default}.task .due-input{width:160px;max-width:70%;min-height:38px;height:auto;margin:0;padding:6px 8px;font-size:14px;flex-shrink:1}.due-badge{font-weight:600;color:var(--green)}

/* Version 1.1: compact helpers for phones */
.quantity-add{margin-top:10px;max-width:240px}.quantity-badge{display:inline-block;font-size:.85rem;font-weight:700;margin-top:4px;margin-inline-start:.4em;white-space:normal;overflow-wrap:anywhere}.suggestion-list{display:grid;gap:4px;margin:8px 0}.suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:9px 12px;width:100%}.suggestion small{font-size:.75rem;color:var(--muted,#66756d);text-align:right}.suggestion:disabled{opacity:.65}.group-heading{border-radius:12px;padding:10px 12px;font-size:.95rem;margin:18px 0 8px}.undo-toast{position:fixed;z-index:20;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(90vw,420px);box-sizing:border-box;background:#173d30;color:white;border-radius:14px;box-shadow:0 5px 22px #0003;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.undo-toast button{background:white;color:#173d30}.undo-toast[hidden],.suggestion-list[hidden]{display:none}#group-control{margin:14px 0}.repeat-settings{border-top:1px solid #e4e9e5;margin-top:16px;padding-top:8px}.repeat-settings .entry label{flex:1;min-width:0}.repeat-settings input,.repeat-settings select{width:100%;box-sizing:border-box}#trash{margin-top:24px;border-top:1px solid #e4e9e5;padding-top:16px}

.task-content>input[type=checkbox]{width:28px;height:28px;min-height:28px;cursor:pointer}

.household-onboarding{padding:24px 0 32px;border-bottom:1px solid #d5e4dc;margin-bottom:24px}.household-onboarding h2{font-size:1.8rem;line-height:1.15}.eyebrow{font-size:.7rem;letter-spacing:.16em;font-weight:700;color:#225d48}.household-onboarding form{display:grid;gap:12px;max-width:480px;margin:24px 0}.member-row{padding:16px;background:#f4f7f4;border-radius:12px;margin:12px 0}.member-row button{margin-right:8px}.household-onboarding input[readonly]{width:100%;margin:12px 0}.household-onboarding section{margin-top:24px}.household-onboarding button{margin-top:8px}

/* Give the primary action a clear, accessible visual anchor. */
#add-form{padding:18px;border:2px solid #225d48;border-radius:16px;background:#f1f8f3;box-shadow:0 4px 16px rgba(34,93,72,.10);margin:20px 0}
#add-form>label[for="item-name"]{display:block;color:#174331;font-size:1.05rem;font-weight:800;margin-bottom:10px}
#item-name{background:#fff;border:2px solid #47765d;color:#142e23;font-size:1.1rem;min-height:52px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
#item-name::placeholder{color:#53665c;opacity:1}
#item-name:focus-visible{outline:3px solid #174331;outline-offset:3px;border-color:#174331}
@media(max-width:480px){#add-form{padding:14px}#add-form .entry{gap:8px}#item-name{min-width:0}}

.household-onboarding.active{padding:0 0 8px;margin-bottom:8px}.household-onboarding.active>p:not(#household-message){display:none}.household-onboarding.active h2{font-size:1.25rem;margin:0}.household-onboarding.active #household-message{font-size:12px;margin:6px 0}.household-onboarding.active #identity-signout{font-size:12px;margin:0}.household-onboarding.active details{margin:6px 0}.household-onboarding.active details>summary{font-size:13px;color:#225d48;font-weight:700}
body.authenticated header{padding:16px 24px}body.authenticated header h1,body.authenticated header>p{display:none}
