@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#253e33;background:#f7f8f3;--green:#245b44;--muted:#758077}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}header{max-width:1180px;margin:auto;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde3d9}.brand{font-family:Manrope,sans-serif;font-size:26px;font-weight:800;color:var(--green);text-decoration:none;display:flex;gap:12px}.badge{font-size:10px;letter-spacing:1.5px;color:#747f72;border:1px solid #dce2d6;border-radius:30px;padding:8px 12px}main{max-width:1120px;margin:0 auto;padding:45px 30px}.intro{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;color:#668066;font-weight:700}h1{font-family:Manrope,sans-serif;font-size:54px;line-height:1.1;letter-spacing:-2px;margin:20px 0} .subtitle{color:#758077;font-size:16px}.illustration{width:280px;height:210px;background:#edf0de;border-radius:48% 52% 46% 54%;font-size:92px;text-align:center;transform:rotate(-7deg);padding-top:12px}.illustration span{display:block;font-size:12px;line-height:1.5;color:#647553;transform:rotate(7deg)}.summary{display:grid;grid-template-columns:1fr 1.4fr 1fr;background:white;border:1px solid #e1e6dc;border-radius:18px;margin:35px 0 30px;padding:22px 28px;gap:20px}.summary>div+div{border-left:1px solid #e4e9df;padding-left:30px}.summary span{display:block;font-size:10px;letter-spacing:1.5px;color:#7d877c}.summary strong{display:block;font-family:Manrope,sans-serif;font-size:29px;margin-top:8px}.summary small{display:block;color:#869181;font-size:11px;margin-top:4px}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center}.tabs{display:flex;gap:7px}.tabs button{border:1px solid #e1e5dc;background:transparent;border-radius:24px;padding:11px 17px;color:#647164;font-size:13px}.tabs .active{background:var(--green);border-color:var(--green);color:white}.primary{border:0;background:var(--green);color:white;padding:13px 19px;border-radius:12px;font-weight:600}.searchrow{display:flex;gap:12px;margin-top:22px}.search{display:flex;align-items:center;gap:10px;border:1px solid #dfe4d9;border-radius:12px;padding:0 15px;background:white;flex:1;color:#7e897e}.search input{border:0;background:transparent;padding:13px 0;outline:none;width:100%;font-size:13px}select{border:1px solid #dfe4d9;border-radius:12px;padding:10px;background:white;color:#526552}.listheading{display:flex;justify-content:space-between;align-items:center;margin-top:28px}h2{font-family:Manrope,sans-serif;font-size:19px}.listheading span{font-size:12px;color:#829080}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{display:flex;flex-direction:column;border:1px solid #e0e5db;background:#fff;border-radius:16px;padding:16px;transition:.2s}.card:hover{border-color:#a3b9a2;box-shadow:0 5px 16px #284a3510}.cardtop{display:flex;gap:12px;align-items:center}.thumb{height:64px;width:64px;flex-shrink:0;background:#f1f3ec;border-radius:13px;display:grid;place-items:center;font-size:28px;overflow:hidden;border:0;padding:0}.thumb img{width:100%;height:100%;object-fit:cover}.card h3{font-size:13px;line-height:1.4;margin:0 0 6px}.store{font-size:9px;letter-spacing:.9px;font-weight:700;color:#5278a2;background:#eef4fa;padding:4px 7px;border-radius:5px;display:inline-block}.store.mercadona{color:#508257;background:#eff6ec}.cardmeta{display:flex;justify-content:space-between;padding:17px 0 12px;font-size:12px;color:#778375}.cardmeta b{color:#354a3b;font-weight:500}.cardbottom{border-top:1px solid #edf0e8;padding-top:12px;display:flex;align-items:center;justify-content:space-between}.check{display:flex;gap:7px;align-items:center;background:transparent;border:0;font-size:12px;color:#607259;padding:4px 0}.check i{display:grid;place-items:center;width:20px;height:20px;border:1px solid #cfdbc7;border-radius:6px;font-style:normal}.done .check i{background:var(--green);color:white}.done h3{text-decoration:line-through;color:#829080}.edit{background:none;border:0;color:#71816c;font-size:12px;padding:6px}.note{font-size:11px;color:#7a8775;margin:0 0 10px}.footnote{font-size:12px;color:#899183;margin:30px 0;text-align:center;line-height:1.6}dialog{border:0;border-radius:20px;padding:25px;max-width:480px;width:calc(100% - 30px);box-shadow:0 20px 80px #14281f40}dialog::backdrop{background:#1a302a77;backdrop-filter:blur(3px)}.modalhead{display:flex;align-items:center;justify-content:space-between}.modalhead button{background:none;border:0;font-size:20px;color:#768473}form label{display:block;font-size:10px;letter-spacing:1px;font-weight:700;margin:16px 0 0}form input,form select{display:block;width:100%;padding:12px;border:1px solid #dbe2d5;border-radius:9px;margin-top:8px;font-size:14px;color:#334a3c}input:focus,select:focus,button:focus-visible{outline:2px solid #8aae75;outline-offset:3px}.formrow{display:flex;gap:15px}.formrow label{width:50%}.hint{font-size:12px;color:#7e8c78}.modalactions{display:flex;justify-content:space-between;margin-top:25px;gap:10px}.modalactions .primary{margin-left:auto}.danger{background:#faefec;color:#9b5743;border:0;border-radius:10px;padding:12px}.removephoto{display:flex;align-items:center;font-size:11px;letter-spacing:0;gap:7px}.removephoto input{width:auto;margin:0}#photopreview{height:90px;width:90px;object-fit:cover;border-radius:10px}#error{color:#a64336;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#244c39;color:white;padding:13px 22px;border-radius:12px;font-size:13px;z-index:10}.empty{grid-column:1/-1;text-align:center;padding:50px;color:#7a8a73} @media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}.illustration{width:210px}.tabs button{padding:10px 12px}}@media(max-width:580px){header{padding:20px}.brand{font-size:21px}.badge{font-size:8px;padding:6px}main{padding:25px 18px}.intro{align-items:flex-start}h1{font-size:38px;letter-spacing:-1.3px;margin:15px 0}.eyebrow{font-size:9px;letter-spacing:1px}.illustration{width:95px;height:120px;font-size:48px;margin-top:35px;flex-shrink:0}.illustration span{font-size:8px}.subtitle{font-size:13px;max-width:220px}.summary{padding:18px 15px;gap:10px;margin:25px 0}.summary>div+div{padding-left:12px}.summary strong{font-size:23px}.summary span{font-size:8px;letter-spacing:.5px}.summary small{font-size:9px}.toolbar{flex-wrap:wrap}.tabs{width:100%;justify-content:space-between}.tabs button{font-size:11px;flex:1;padding:10px 8px}#add{width:100%;padding:13px}.grid{grid-template-columns:1fr}.card{padding:15px}.thumb{height:58px;width:58px}.cardmeta{padding:12px 0}.searchrow select{font-size:11px;max-width:115px}.search input{font-size:12px}.listheading{margin-top:20px}.footnote{font-size:11px}}
[hidden]{display:none!important}.homeactions{display:grid;grid-template-columns:1fr 1fr;gap:20px}.homeactions button{border:1px solid #d9e3d1;border-radius:18px;background:white;padding:35px;text-align:left;color:var(--green)}.homeactions button:last-child{background:var(--green);color:white}.homeactions strong{display:block;font-family:Manrope,sans-serif;font-size:28px;margin-bottom:10px}.homeactions span{font-size:14px;opacity:.8}.viewhead{display:flex;align-items:center;gap:15px;margin-bottom:20px}.quickadd{display:flex;gap:8px;align-items:center}.quickadd input{width:66px;margin:0;padding:9px;font-size:14px}.quickadd .primary{padding:10px 14px;font-size:12px}.aisletag{display:block;color:#7b8976;font-size:10px;margin-top:7px}.shopgroup{margin-bottom:30px}.shopheading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9e3d3;padding:10px 0;color:var(--green)}.shopheading small{display:block;font-size:11px;color:#85917e;margin-top:4px}.shopheading>div{text-align:right}.aisleheading{font-size:11px;letter-spacing:1.2px;color:#71816a;margin:20px 0 12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#undo{background:transparent;border:0;color:white;text-decoration:underline;padding:7px}.tabs{flex-wrap:wrap}@media(max-width:580px){.homeactions{grid-template-columns:1fr;gap:12px}.homeactions button{padding:25px}.homeactions strong{font-size:25px}.tabs{display:grid;grid-template-columns:1fr 1fr}.quickadd input{width:70px}}
.viewhead{flex-wrap:wrap}#clear-pending{margin-left:auto;font-size:12px}#clear-pending:disabled{opacity:.5;cursor:default}

.thumb img{object-fit:contain;background:white}.photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:2px}.photo-placeholder>span{font-size:26px}.photo-placeholder small{font-size:8px;line-height:1.2;color:#527249}#login-error{color:#a64336}

.thumb{touch-action:manipulation;min-width:74px;min-height:74px}.thumb[data-tap]:active{transform:scale(.94);background:#dbeccf}.item-counter{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#245b44}.item-counter b{display:inline-grid;place-items:center;min-width:30px;height:30px;background:#e8f1e2;border-radius:10px;font-size:17px;font-weight:700}.tap-hint{color:#7c8b74;font-size:11px}.backbutton{font-size:13px}#back-bottom{margin-top:25px}

.price-remove{border:1px solid #e4e8dc;border-radius:10px;padding:8px 10px;background:#f7f8f3;color:#526552;touch-action:manipulation;font-size:12px}.price-remove small{display:block;font-size:9px;color:#8b7768;margin-top:4px}.price-remove:active{background:#f0e1d7}
