:root{color:#273121;font-synthesis:none;background:#fff8ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#fff8ed;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #ffba08}.auth-shell{background:radial-gradient(circle at 12% 18%,#ffdbcf 0 12%,#0000 12.2%),radial-gradient(circle at 86% 80%,#d9f99d 0 16%,#0000 16.2%),#fff8ed;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #f0ddc4;border-radius:28px;width:min(100%,450px);padding:38px;position:relative;overflow:hidden;box-shadow:0 24px 70px #6a311424}.auth-card:after{content:"";opacity:.1;background:#ff4b26;border-radius:50%;width:210px;height:210px;position:absolute;top:-90px;right:-80px}.brand-mark{background:#eb2f12;border-radius:18px;place-items:center;width:54px;height:54px;font-size:28px;line-height:1;display:grid;box-shadow:5px 5px #ffba08}.brand-mark.small{border-radius:12px;width:35px;height:35px;font-size:18px;box-shadow:3px 3px #ffba08}.eyebrow{color:#9e391e;letter-spacing:.11em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:850}h1,h2,h3{font-family:Georgia,Times New Roman,serif}h1{color:#24311e;letter-spacing:-.045em;margin:0;font-size:clamp(1.85rem,4vw,2.55rem);line-height:1.05}h2{margin:0;font-size:1rem}.muted{color:#697060;line-height:1.5}.segmented{background:#fff0d0;border-radius:14px;grid-template-columns:1fr 1fr;gap:3px;margin:28px 0 20px;padding:4px;display:grid}.segmented button{color:#89603f;background:0 0;border:0;border-radius:10px;padding:10px;font-weight:750}.segmented button.selected{color:#a52b15;background:#fff;box-shadow:0 2px 8px #733e171f}.auth-form,.auth-form label{gap:7px;display:grid}.auth-form{gap:15px}label{color:#4e503f;font-size:.92rem;font-weight:750}input,select,textarea{color:#273121;background:#fffdf8;border:1px solid #e8d8c2;border-radius:12px;min-width:0;padding:11px 12px;transition:border-color .18s,box-shadow .18s}input:hover,select:hover,textarea:hover{border-color:#efb766}input:focus,select:focus,textarea:focus{border-color:#e85d25;outline:0;box-shadow:0 0 0 3px #ffe0b1}.primary,.secondary,.text-button,.icon-button{border:0;font-weight:800}.primary{color:#fff;background:#e93618;border-radius:12px;padding:11px 16px;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 4px #b71d0c}.primary:hover{background:#d82a11;transform:translateY(-1px);box-shadow:0 5px #b71d0c}.primary:active{transform:translateY(3px);box-shadow:0 1px #b71d0c}.primary:disabled{opacity:.58;cursor:wait}.wide{width:100%}.secondary{color:#96531a;background:#fffdf7;border:1px solid #ecd3a6;border-radius:11px;padding:9px 12px;transition:background .15s,border-color .15s,transform .15s}.secondary:hover{background:#fff2d2;border-color:#f5a63a;transform:translateY(-1px)}.text-button{color:#b84a1b;text-align:left;background:0 0;padding:6px 0}.text-button:hover{color:#762711}.icon-button{color:#b13418;background:#fff0d7;border-radius:10px;place-items:center;width:32px;height:32px;font-size:1.35rem;display:grid}.form-error{color:#b71915;margin:0;font-size:.9rem}.app-shell{background:#fff8ed;grid-template-rows:70px minmax(calc(100vh - 70px),auto);grid-template-columns:254px minmax(0,1fr) 250px;min-height:100vh;display:grid}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8eb;border-bottom:1px solid #f0ddc4;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.topbar-actions{align-items:center;gap:9px;display:flex}.mobile-bottom-new-list{display:none}.logo{color:#273121;letter-spacing:-.02em;align-items:center;gap:12px;font-family:Georgia,Times New Roman,serif;font-size:1.12rem;font-weight:800;display:flex}.sync-status{color:#6c644f;background:#fff1d6;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.8rem;font-weight:700;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.online{background:#65a30d;box-shadow:0 0 0 3px #d9f99d}.status-dot.offline{background:#e85d25;box-shadow:0 0 0 3px #fed7aa}.sidebar{background:#fff5e5;border-right:1px solid #f0ddc4;flex-direction:column;gap:18px;padding:27px 16px;display:flex}.household{gap:3px;padding:0 10px;display:grid}.household strong{color:#3d5227}.side-heading{color:#8d5830;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 10px;font-size:.78rem;font-weight:900;display:flex}.sidebar nav{gap:5px;display:grid}.list-link{color:#4e503f;text-align:left;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:11px 10px 11px 14px;transition:background .15s,transform .15s;display:flex;position:relative;overflow:hidden}.list-link:before{content:"";opacity:0;background:#f6a800;border-radius:0 5px 5px 0;width:5px;height:62%;position:absolute;left:0}.list-link:hover{background:#ffedc6;transform:translate(2px)}.list-link.active{color:#b63818;background:#ffd6c9;font-weight:850}.list-link.active:before{opacity:1}.list-link small{color:#826852;white-space:nowrap}.sidebar-bottom{border-top:1px dashed #e9d3b3;gap:8px;margin-top:auto;padding:11px 10px;display:grid}.content{width:min(100%,1030px);margin:0 auto;padding:46px clamp(22px,4vw,60px)}.page-heading,.row-between{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-heading{border-bottom:2px solid #f2e0c7;padding-bottom:21px}.list-actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.add-form{background:#fff;border:1px solid #f0d9bd;border-radius:19px;grid-template-columns:minmax(180px,1fr) 88px 105px 150px auto;gap:8px;margin:25px 0 33px;padding:14px;display:grid;box-shadow:0 12px 30px #844c1d12}.add-form .primary{min-width:108px}.save-barcode{color:#846449;grid-column:1/-1;font-size:.8rem}.save-barcode input{padding:0}.items{gap:22px;display:grid}.category{--tone:#fff0d4;--tone-strong:#b76a13;background:#fff;border:1px solid #f0dfc7;border-radius:18px;gap:0;display:grid;overflow:hidden;box-shadow:0 7px 19px #7a46180b}.category h2{color:var(--tone-strong);background:var(--tone);letter-spacing:.01em;padding:12px 17px;font-family:Georgia,Times New Roman,serif;font-size:.98rem}.tone-green{--tone:#ecfcae;--tone-strong:#4a6b00}.tone-yellow{--tone:#fff0ad;--tone-strong:#9d6500}.tone-red{--tone:#ffd6d2;--tone-strong:#b42218}.tone-purple{--tone:#f2d7ff;--tone-strong:#75259a}.tone-orange{--tone:#ffd9b5;--tone-strong:#b84e09}.tone-peach{--tone:#ffe8ca;--tone-strong:#a95520}.item{border-bottom:1px solid #f5eadc;grid-template-columns:30px 1fr auto 30px;align-items:center;gap:12px;min-height:59px;padding:9px 15px;transition:background .15s;display:grid}.item:last-child{border-bottom:0}.item:hover{background:#fffcf5}.item.checked{color:#909487;background:#fcfbf5}.item.checked strong{text-decoration:line-through}.item-name{align-items:flex-start;gap:10px;min-width:0;display:flex}.item-copy{gap:2px;min-width:0;display:grid}.item-image{object-fit:cover;background:#fff1d6;border-radius:12px;flex:none;width:42px;height:42px}.item-name small{color:#8d8d7e}.item-name .price-source{color:#777762;font-size:.75rem}.price-source a,.attribution a{color:#b84a1b;font-weight:800}.quantity{color:#686b5c;white-space:nowrap;font-size:.88rem;font-weight:700}.item-delete{color:#c43b28;background:0 0;border:0;border-radius:9px;width:28px;height:28px;font-size:1.4rem;line-height:1}.item-delete:hover{background:#ffe0dc}.check{color:#fff;background:#fff;border:2px solid #d2bd9d;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:900;transition:transform .15s,background .15s;display:grid}.check:hover{border-color:#79a20a;transform:scale(1.08)}.checked .check{background:#6e9707;border-color:#6e9707}.empty{color:#766a58;text-align:center;background:#fffdf8;border:2px dashed #f0cb94;border-radius:18px;padding:39px 20px}.empty h2{color:#506234;font-size:1.25rem}.context-panel{background:#fff5e5;border-left:1px solid #f0ddc4;align-self:stretch;padding:32px 24px}.invite-code{color:#9b391a;letter-spacing:.1em;background:#ffd9c9;border-radius:9px;margin:4px 0 8px;padding:8px 10px;font-family:ui-monospace,monospace;font-weight:800;display:inline-block}.context-panel hr{border:0;border-top:1px dashed #e6cda9;margin:24px 0}.panel{gap:15px;display:grid}.recipe{background:#fff;border:1px solid #f0ddc4;border-radius:17px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex;box-shadow:0 5px 15px #7a46180a}.recipe-summary{align-items:center;gap:12px;min-width:0;display:flex}.recipe-summary>div{gap:4px;min-width:0;display:grid}.recipe small{color:#807564}.recipe-image{object-fit:cover;background:#ecfcae;border-radius:15px;flex:none;width:57px;height:57px}.history{border-bottom:1px solid #f0dfc7;justify-content:space-between;gap:14px;padding:14px 4px;display:flex}.history span{color:#7b715e;font-size:.86rem}.back{margin-top:16px}.undo-toast,.notice{z-index:5;border-radius:14px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 13px 40px #522b103d}.undo-toast{color:#fff;background:#5b7115;align-items:center;gap:18px;padding:13px 16px;display:flex;bottom:24px}.undo-toast button{color:#f4ffbd;background:0 0;border:0;font-weight:850}.notice{color:#5b421d;cursor:pointer;background:#fff0ba;max-width:min(90vw,550px);padding:12px 15px;bottom:82px}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#4a29117a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.scanner-card,.price-finder-card,.recipe-editor-card{background:#fffdf8;border:1px solid #f0d9bd;border-radius:21px;width:min(100%,480px);padding:21px;box-shadow:0 20px 70px #45240c40}.price-finder-card,.recipe-editor-card{width:min(100%,720px);max-height:calc(100vh - 40px);overflow:auto}.scanner-video{object-fit:cover;background:#293421;border-radius:15px;width:100%;min-height:240px;margin:16px 0 5px}.scanner-source{color:#807564;margin:10px 0 0;font-size:.75rem}.scanner-source a{color:#b84a1b;font-weight:800}.inline-form{gap:8px;display:flex}.inline-form input{flex:1}.price-search-form{grid-template-columns:minmax(0,1fr) 170px auto;gap:8px;margin:18px 0;display:grid}.price-results{gap:9px;display:grid}.price-result{background:#fff;border:1px solid #f0dfc7;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.price-result-image{object-fit:cover;background:#fff1d6;border-radius:14px;flex:none;width:62px;height:62px}.price-result-copy,.price-result-action{gap:3px;display:grid}.price-result-copy{margin-right:auto}.price-result-copy small{color:#7e7668;font-size:.8rem}.price-result-action{white-space:nowrap;justify-items:end}.price-result-action s{color:#a28f7d;font-size:.8rem}.cache-note,.attribution{color:#807564;margin:13px 0 0;font-size:.8rem}.attribution{text-align:right}.recipe-editor-image{object-fit:cover;background:#ecfcae;border-radius:15px;width:100%;max-height:280px;margin-top:16px}.recipe-edit-form{gap:12px;margin-top:18px;display:grid}.recipe-edit-form label{gap:6px;display:grid}.recipe-edit-form textarea{resize:vertical;min-height:120px}.source-link{color:#7e7668;margin:16px 0;font-size:.85rem}.source-link a{color:#b84a1b}.ingredients-heading{margin-top:17px}.ingredients-heading h3{margin:0;font-size:1.05rem}.recipe-ingredients{margin-top:8px;display:grid}.recipe-ingredient{border-bottom:1px solid #f3e6d6;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.recipe-ingredient>span:last-child{gap:11px;display:flex}.danger{color:#b92521}.danger-outline{color:#b92521;border-color:#efb2aa}.danger-outline:hover{background:#fff0ee}@media (width<=1199px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.context-panel{display:none}}@media (width<=767px){.app-shell{padding-bottom:73px;display:block}.topbar{z-index:3;height:62px;padding:0 16px;position:sticky;top:0}.sync-status{width:30px;padding:8px;font-size:0}.sidebar{z-index:4;background:#fffaf1;border-top:1px solid #f0ddc4;border-right:0;flex-direction:row;justify-content:space-around;align-items:center;min-height:68px;padding:7px 9px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 22px #572f0f1c}.sidebar .household,.sidebar .side-heading,.sidebar nav{display:none}.sidebar-bottom{border:0;gap:14px;margin:0;padding:0;display:flex}.mobile-bottom-new-list{color:#fff;background:#e93618;border:0;border-radius:10px;align-items:center;padding:7px 9px;font-size:.78rem;font-weight:850;display:inline-flex}.sidebar-bottom .text-button{font-size:.82rem}.content{padding:29px 16px}.page-heading{align-items:flex-start;padding-bottom:17px}.list-actions{justify-content:flex-start}.scanner-button{white-space:nowrap}.add-form{grid-template-columns:1fr 80px;margin:20px 0 26px;padding:11px}.add-form input:first-child{grid-column:1/-1}.add-form select{grid-column:1}.add-form .primary{grid-column:2}.add-form input:nth-child(3){grid-column:1/-1}.item{grid-template-columns:29px 1fr auto 28px;gap:8px;padding:9px 10px}.item-image{width:38px;height:38px}.recipe{flex-direction:column;align-items:flex-start}.recipe .list-actions{width:100%}.price-search-form{grid-template-columns:1fr auto}.price-search-form input{grid-column:1/-1}.price-result{flex-wrap:wrap;align-items:flex-start}.price-result-copy{min-width:calc(100% - 80px)}.price-result-action{grid-template-columns:1fr auto auto;align-items:center;width:100%}.undo-toast{justify-content:space-between;bottom:81px;left:14px;right:14px;transform:none}.notice{bottom:141px}.history{flex-direction:column;align-items:flex-start;gap:3px}}
