:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:#1a3438;background:#eaf0f1;font-synthesis:none;--ink:#19383c;--muted:#718688;--accent:#376b70;--accent2:#5a9092;--peach:#ffbc88;--border:rgba(255,255,255,.74);--glass:rgba(255,255,255,.56);--shadow:0 12px 42px rgba(30,70,73,.09),inset 0 1px 0 rgba(255,255,255,.95);--radius:23px}
*{box-sizing:border-box}html{min-height:100%;-webkit-text-size-adjust:100%}body{margin:0;min-height:100svh;background:radial-gradient(ellipse 390px 390px at -60px -80px,rgba(165,211,213,.77),transparent 80%),radial-gradient(ellipse 290px 390px at 110% 22%,rgba(249,204,168,.38),transparent 80%),linear-gradient(160deg,#f3f8f7,#e8eeef 72%);background-attachment:fixed}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #70a4ae;outline-offset:3px}button:disabled{opacity:.47;cursor:not-allowed}button:active{transform:scale(.975)}svg{display:block}#app{max-width:1100px;margin:0 auto;min-height:100svh}#toast{position:fixed;z-index:1001;left:50%;bottom:calc(102px + env(safe-area-inset-bottom));transform:translate(-50%,15px);padding:12px 18px;background:rgba(30,57,60,.95);color:#fff;border-radius:14px;box-shadow:0 14px 38px #17383d35;max-width:min(90vw,480px);font-size:13px;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}.loading-screen{display:flex;min-height:100svh;align-items:center;justify-content:center;gap:6px;flex-direction:column;color:var(--accent)}.loading-screen strong{font-size:39px;letter-spacing:-2px}.loading-screen span{font-size:13px;color:var(--muted)}.loading-orb{font-size:50px;color:var(--accent2)}.app-shell{padding:calc(14px + env(safe-area-inset-top)) max(20px,calc((100% - 860px)/2)) calc(116px + env(safe-area-inset-bottom));min-height:100svh}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.brand{display:flex;align-items:center;gap:9px}.brandmark{width:42px;height:42px;border-radius:15px;background:linear-gradient(150deg,#71a1a3,#2b6066);color:white;display:grid;place-items:center;box-shadow:inset 1px 2px 3px #ffffff90,0 7px 18px #366f7440}.brandname{font-weight:790;font-size:23px;letter-spacing:-1.1px;color:var(--ink)}.version-small{display:block;color:#86999a;font-size:10px;letter-spacing:.5px;margin-top:-1px}.header-actions{display:flex;align-items:center;gap:8px}.icon-btn{border:1px solid var(--border);width:41px;height:41px;border-radius:15px;background:linear-gradient(140deg,#ffffffb5,#ffffff54);display:grid;place-items:center;color:#486a6d;box-shadow:var(--shadow)}.page{animation:rise .25s ease both}@keyframes rise{from{opacity:.7;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.eyebrow{text-transform:uppercase;letter-spacing:2.7px;font-weight:750;color:#7c9798;font-size:10px;margin:0 0 10px}.h1{font-size:clamp(32px,8vw,46px);font-weight:770;line-height:1.04;letter-spacing:-1.9px;margin:0 0 9px;color:#1d3b40}.h2{font-size:25px;letter-spacing:-.85px;line-height:1.2;margin:0;color:#1d4044}.subheading{font-size:14px;color:#6e8385;line-height:1.45;margin:0 0 20px}.muted{color:var(--muted)}.sm{font-size:12px}.tiny{font-size:11px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 13px}.section-head h2{font-size:18px;font-weight:730;letter-spacing:-.6px;margin:0}.link-btn{padding:6px 0;color:var(--accent);font-size:12px;font-weight:720;background:none;border:0;white-space:nowrap}.glass{background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,255,255,.41));border:1px solid rgba(255,255,255,.84);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4)}.hero{position:relative;overflow:hidden;min-height:194px;padding:26px 24px;border-radius:27px;background:linear-gradient(120deg,rgba(37,94,102,.97),rgba(91,145,147,.92));color:#fff;box-shadow:0 19px 36px #315d6950,inset 1px 2px 0 #ffffff75}.hero:before{content:"";position:absolute;right:-52px;top:-82px;width:238px;height:238px;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 0 0 30px #ffffff0d,0 0 0 68px #ffffff0b}.hero:after{content:"";position:absolute;right:35px;bottom:-65px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#c6efdd50,transparent 70%)}.hero .tag{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#d8eff1;font-weight:720;position:relative}.hero h2{font-size:31px;line-height:1.1;letter-spacing:-1.2px;margin:12px 0 7px;max-width:270px;position:relative}.hero p{font-size:12px;color:#e5f3f1;max-width:210px;line-height:1.5;position:relative}.hero button{position:relative;margin-top:8px;border:1px solid #ffffffae;border-radius:13px;padding:12px 16px;background:linear-gradient(140deg,#ffffff,#eaf6f4);color:#2a6266;box-shadow:0 4px 13px #123e4238;font-size:13px;font-weight:750;display:inline-flex;align-items:center;gap:9px}.hero-orb{position:absolute;right:18px;top:54px;width:100px;height:100px;border:1px solid #ffffff72;box-shadow:inset 4px 5px 20px #ffffff70,0 13px 37px #1739414a;border-radius:30px;transform:rotate(12deg);display:grid;place-items:center;color:white}.hero-orb svg{transform:rotate(-12deg)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.stat{padding:15px 10px;text-align:center}.stat strong{font-size:25px;letter-spacing:-1px;display:block;color:#2f6269}.stat span{display:block;font-size:10px;font-weight:650;color:#819597;margin-top:5px}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-action{display:flex;align-items:center;gap:12px;padding:15px;min-height:70px;text-align:left;border:1px solid #ffffff;border-radius:19px;background:#ffffff87;box-shadow:var(--shadow);color:#214448;font-weight:720;font-size:13px}.quick-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#deedeb,#bfdbd8);color:#3c7376;box-shadow:inset 1px 1px 0 #fff}.quick-action span{display:block}.quick-action small{font-size:11px;color:#8ca1a1;font-weight:500;display:block;margin-top:3px}.pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:2px 2px 12px}.pills::-webkit-scrollbar{display:none}.pill{border:1px solid white;background:#ffffffbc;border-radius:999px;padding:10px 12px;font-size:12px;display:inline-flex;align-items:center;gap:7px;box-shadow:0 5px 16px #44747a12;white-space:nowrap;color:#365c60}.pill b{color:#528689}.pill.active{background:linear-gradient(140deg,#2d646a,#5e9392);color:white;border-color:#80a8a8}.pill.active b{color:#fff}.product-list{display:grid;gap:9px}.product-row{border:1px solid #ffffffc9;background:#ffffff9a;box-shadow:0 5px 21px #2850570a;border-radius:18px;padding:11px;display:flex;align-items:center;gap:11px;min-width:0}.prod-img{display:grid;place-items:center;width:51px;height:51px;border-radius:15px;background:linear-gradient(140deg,#f1f4ef,#dce9e4);font-size:24px;overflow:hidden;flex-shrink:0;border:1px solid #fff}.prod-img img{width:100%;height:100%;object-fit:contain}.prod-img.large{width:69px;height:69px;font-size:34px}.product-main{flex:1;min-width:0}.product-main strong{display:block;font-size:13px;color:#25474b;overflow-wrap:anywhere}.product-main p{margin:4px 0 0;color:#829899;font-size:11px;line-height:1.3}.product-right{display:flex;align-items:center;gap:7px}.mini-btn{height:34px;min-width:34px;border:1px solid #fff;border-radius:12px;background:linear-gradient(140deg,#f6fbfa,#e2eeec);display:grid;place-items:center;color:#3b6a70;box-shadow:0 2px 7px #35586315}.mini-btn.primary{background:linear-gradient(145deg,#589094,#326c73);color:white}.mini-btn.warn{color:#bf7657;background:#fff5ea}.empty{padding:26px 18px;text-align:center}.empty svg{margin:0 auto 10px;color:#7fa2a4}.empty h3{font-size:16px;margin:5px 0}.empty p{font-size:12px;line-height:1.5;color:#789092}.btn{border:1px solid #ffffff80;border-radius:14px;padding:12px 16px;background:linear-gradient(145deg,#326c73,#51898d);color:#fff;font-size:13px;font-weight:750;box-shadow:0 8px 20px #336c7540,inset 0 1px 1px #fff5;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:45px}.btn.ghost{background:linear-gradient(140deg,#fff,#e5efef);color:#3b696d;box-shadow:0 5px 15px #4370741c}.btn.soft{background:linear-gradient(140deg,#e1eeee,#cedfe0);color:#306167;box-shadow:none}.btn.danger{background:linear-gradient(140deg,#b75d56,#a34343);box-shadow:0 6px 13px #a64a4a2a}.btn.full{width:100%}.btn.small{min-height:35px;padding:8px 12px;font-size:12px;border-radius:11px}.bottomnav{position:fixed;z-index:50;left:50%;transform:translateX(-50%);bottom:calc(10px + env(safe-area-inset-bottom));width:min(520px,calc(100% - 22px));height:71px;display:flex;justify-content:space-around;align-items:center;gap:4px;border:1px solid #ffffffd9;background:linear-gradient(150deg,#f8ffffd9,#dbe7e7dd);box-shadow:0 12px 40px #234e5940,inset 0 1px 1px #fff;backdrop-filter:blur(35px);-webkit-backdrop-filter:blur(35px);border-radius:24px;padding:5px}.navitem{height:58px;flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:18px;border:0;background:transparent;color:#8da0a1;font-size:10px;font-weight:670;min-width:0}.navitem.active{background:linear-gradient(145deg,#ffffffeb,#e8f3f2b9);color:#2c656a;box-shadow:0 3px 12px #49727524,inset 0 1px 0 #fff}.navitem.active svg{stroke-width:2.4}.searchbox{display:flex;align-items:center;gap:10px;padding:0 13px;height:47px;border-radius:15px;background:#ffffffaa;border:1px solid white;color:#759093;box-shadow:0 5px 18px #34646e12;margin:15px 0}.searchbox input{border:0;background:transparent;outline:none;flex:1;min-width:0;color:var(--ink);font-size:14px}.searchbox input::placeholder{color:#9babad}.tabrow{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 12px}.tabrow button{white-space:nowrap;padding:10px 14px;border-radius:13px;background:#ffffff9e;border:1px solid #fff;font-size:12px;color:#648184;font-weight:670}.tabrow button.active{background:#356e74;color:white;box-shadow:0 5px 12px #34666f40}.page-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.page-head h1{font-size:29px;letter-spacing:-1.2px;margin:0}.count{padding:4px 8px;background:#d7e9e7;border-radius:999px;color:#397176;font-size:10px}.group-title{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:770;color:#8aa0a0;margin:19px 0 9px}.list-row{display:flex;gap:11px;align-items:center;background:#ffffffa8;border:1px solid #fff;border-radius:17px;margin-bottom:8px;padding:10px}.list-row.done{opacity:.57}.list-row.done .product-main strong{text-decoration:line-through}.qty{display:inline-flex;align-items:center;gap:5px;color:#6c888a;font-size:11px}.store-card{padding:17px;margin-bottom:12px;position:relative;overflow:hidden}.store-top{display:flex;gap:10px;align-items:center;margin-bottom:10px}.store-dot{width:15px;height:15px;display:block;border-radius:50%;flex:none;box-shadow:0 0 0 5px #fff8}.store-card h3{font-size:17px;letter-spacing:-.4px;margin:0;flex:1}.store-card p{font-size:12px;color:#7e9799;margin:0 0 12px}.store-actions{display:flex;gap:7px;flex-wrap:wrap}.counter-bubble{padding:5px 9px;border-radius:100px;background:#e7f0f0;color:#4f787c;font-size:11px;font-weight:750}.zones-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:15px}.zone{min-height:108px;display:flex;flex-direction:column;justify-content:space-between;padding:13px;text-align:left;position:relative;overflow:hidden;background:linear-gradient(135deg,#fffefaed,#edf5f3d1);border:1px solid white;border-radius:18px;color:#40666b;box-shadow:var(--shadow)}.zone:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-30px;top:-30px;background:#c2dddb70}.zone strong{font-size:13px;position:relative;z-index:1}.zone small{font-size:11px;color:#8ca0a1;position:relative;z-index:1}.zone .zone-count{width:31px;height:31px;border-radius:11px;display:grid;place-items:center;font-weight:750;background:#e2f0ef;color:#4c7c80;position:relative;z-index:1}.zone.has-items{border-color:#b4d5d2;background:linear-gradient(145deg,#fcffff,#daeeee)}.zone.has-items .zone-count{background:#3f787b;color:white}.aisle-layout{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.aisle-side{background:linear-gradient(160deg,#e3eeec,#f4f8f7);padding:12px 10px;border-radius:18px;border:1px solid white;min-height:160px}.aisle-side h3{font-size:12px;text-align:center;margin:0 0 13px;color:#69878a}.shelf{border-bottom:5px solid #aec5c4;min-height:68px;padding:8px 1px 12px;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:flex-end}.shelf button{border:1px solid #fff;background:#ffffffdb;border-radius:12px;box-shadow:0 6px 14px #52818a15;color:#234d52;text-align:center;padding:6px;max-width:100%;width:100%;font-size:10px;font-weight:650}.shelf .prod-img{width:40px;height:40px;margin:auto auto 5px;font-size:20px}.shelf span{display:block;overflow-wrap:anywhere}.aisle-hint{margin-top:8px;padding:11px;border-radius:12px;background:#ffffff73;font-size:11px;color:#708a8c;text-align:center}.form-field{display:block;margin-bottom:14px}.form-field label{display:block;font-size:11px;text-transform:uppercase;font-weight:750;letter-spacing:1.1px;color:#779194;margin:0 0 7px}.field{width:100%;background:#ffffffd9;color:#244b4f;border:1px solid #fff;border-radius:13px;min-height:44px;padding:11px 12px;outline:none;font-size:14px;box-shadow:inset 0 1px 3px #65939a0d}.field:focus{border-color:#8dbcb9;box-shadow:0 0 0 3px #8dbcb940}.field::placeholder{color:#a6b6b7}textarea.field{min-height:110px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-row{display:flex;gap:11px;align-items:center;padding:12px;background:#ffffffb3;border:1px solid white;border-radius:14px;margin-bottom:12px}.toggle-row input{width:21px;height:21px;accent-color:var(--accent)}.toggle-row span{font-size:13px;font-weight:650}.toggle-row small{display:block;font-size:11px;color:#8a9d9e;margin-top:3px;font-weight:400}.form-actions{display:flex;gap:8px;margin-top:22px}.form-actions .btn{flex:1}.photo-preview{border:1px solid #fff;background:linear-gradient(145deg,#f4f7f5,#e2eceb);min-height:155px;display:flex;align-items:center;justify-content:center;border-radius:18px;margin:10px 0;overflow:hidden;position:relative}.photo-preview img{width:100%;height:190px;object-fit:contain}.photo-preview .photo-placeholder{color:#91aaab;display:flex;align-items:center;gap:8px;flex-direction:column;font-size:11px}.photo-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}.photo-tools label{font-size:11px;display:inline-flex;align-items:center;gap:5px;padding:10px;border-radius:11px;background:#ffffffc9;border:1px solid #fff;color:#3c7076;font-weight:700}.photo-tools button{font-size:11px;border-radius:11px;padding:9px 10px;background:#e4eeee;border:1px solid #fff;color:#356e73;font-weight:700}.photo-tools button:disabled{opacity:.4}.photo-tools input{display:none}.editor-panel{background:#f4faf8ba;border:1px solid #fff;border-radius:17px;padding:14px;margin-bottom:14px}.editor-panel h3{margin:0 0 11px;font-size:15px}.editor-panel p{margin:0 0 10px}.variant-block{padding:12px;border-radius:15px;border:1px solid #fff;background:#ffffff9e;margin:10px 0}.variant-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.variant-head strong{font-size:14px}.variant-head .mini-btn{width:32px;height:32px}.hint{font-size:11px;line-height:1.5;color:#779092}.notice{padding:13px 14px;border:1px solid #fff;border-radius:16px;background:#e4eff0a9;font-size:12px;color:#46696d;line-height:1.5;margin:15px 0}.notice.warn{background:#fff3dfa8;color:#986f44}.reminder{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #fff;background:#ffffffb6;border-radius:15px;margin-bottom:9px}.reminder .reminder-icon{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:#e3eeea}.reminder input{width:20px;height:20px;accent-color:#3a777d}.reminder .reminder-content{flex:1}.reminder strong{font-size:13px}.reminder small{display:block;font-size:11px;color:#849b9c}.recipe-card{padding:15px;margin-bottom:12px}.recipe-icon{width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,#fce7d5,#f5dbbb);display:grid;place-items:center;font-size:21px}.recipe-top{display:flex;gap:12px;align-items:center;margin-bottom:12px}.recipe-top h3{font-size:16px;margin:0 0 3px}.recipe-top p{font-size:11px;margin:0;color:#829799}.recipe-ingredients{font-size:12px;color:#799092;line-height:1.5;margin:0 0 13px}.checks{display:grid;gap:8px}.checkline{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid #fff;background:#ffffffb6;border-radius:12px;font-size:13px}.checkline input{width:20px;height:20px;accent-color:#357479}.checkline.checked{opacity:.65}.checkline.checked span{text-decoration:line-through}.settings-card{padding:18px;margin:13px 0}.settings-card h3{display:flex;align-items:center;gap:8px;font-size:15px;margin:0 0 9px}.settings-card p{font-size:12px;color:#788f91;line-height:1.6;margin:0 0 13px}.settings-card .btn{margin-right:6px;margin-bottom:5px}.fineprint{font-size:11px;line-height:1.6;color:#839597}.sheet-overlay{position:fixed;inset:0;z-index:100;background:#183e475c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(100%,590px);max-height:92svh;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(160deg,#f5faf9f6,#e5f0f0fa);border-radius:26px 26px 0 0;padding:14px 20px calc(30px + env(safe-area-inset-bottom));box-shadow:0 -15px 50px #24474d4d;border:1px solid white;animation:sheet-in .25s ease}@keyframes sheet-in{from{transform:translateY(20px);opacity:.5}to{transform:translateY(0);opacity:1}}.sheet-handle{height:5px;width:42px;background:#b5c9c8;border-radius:9px;margin:0 auto 15px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.sheet-head h2{font-size:21px;letter-spacing:-.8px;margin:0;color:#27494d}.sheet .close{border:0;background:#ffffffba;color:#6a8589;width:32px;height:32px;border-radius:12px;display:grid;place-items:center}.sheet-body{padding-bottom:3px}.sheet .product-list{max-height:55svh;overflow-y:auto}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:flex;align-items:center;gap:9px;padding:13px;border:1px solid white;border-radius:15px;background:#ffffffab;font-size:13px;font-weight:650}.choice input{accent-color:#367478;width:19px;height:19px}.onboarding{padding:12px 15px;background:linear-gradient(145deg,#ffeddaa1,#fff9f1cc);border:1px solid #fff;box-shadow:var(--shadow);border-radius:17px;margin-bottom:18px}.onboarding strong{display:block;font-size:12px;color:#7f6950}.onboarding p{font-size:11px;color:#997e5f;line-height:1.5;margin:4px 0}.separator{height:1px;background:#d8e6e6;margin:17px 0}.metadata{color:#8ba0a1;font-size:11px}.two-buttons{display:flex;gap:9px}.two-buttons >*{flex:1}.history-card{padding:13px 15px;margin-bottom:10px}.history-card strong{font-size:13px}.history-card p{font-size:11px;color:#829596}.pending-outside{padding:14px;margin-top:12px}.pending-outside .section-head{margin:0 0 7px}.pending-outside .count{font-size:10px}.selection-tag{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;background:#edf4f2;border-radius:11px;font-size:11px;color:#47757a;margin:3px}.badge{display:inline-block;border-radius:999px;padding:4px 7px;background:#f2e5d3;color:#aa7544;font-size:10px;font-weight:750}.top-spacer{height:4px}.list-columns{display:grid;gap:12px}.floatingadd{position:fixed;right:max(21px,calc((100% - 860px)/2 + 20px));bottom:calc(102px + env(safe-area-inset-bottom));height:50px;width:50px;border-radius:17px;border:1px solid #ffffffb9;background:linear-gradient(145deg,#3a7980,#275b62);color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px #275c644d;z-index:15}.modal-footnote{font-size:11px;color:#8ca0a1;text-align:center;margin-top:10px}.action-chip{display:inline-flex;gap:5px;align-items:center;border-radius:999px;padding:6px 10px;border:1px solid white;background:#ffffffb8;font-size:11px;font-weight:650;color:#548087}.quickadd-result{max-height:45vh;overflow-y:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:720px){.app-shell{padding-top:25px}.hero{min-height:220px}.hero h2{font-size:35px}.zones-grid{grid-template-columns:repeat(3,1fr)}.list-columns{grid-template-columns:1fr 1fr}.bottomnav{bottom:22px}.page-head h1{font-size:36px}.stat{padding:23px}.quick-actions{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}button:active{transform:none}}
