*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;font-size:18px;background:#f4f4f4;color:#111}
header{background:#1f3a68;color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}h1{margin:0;font-size:20px}
main{padding:12px;max-width:640px;margin:auto}.card{background:#fff;border-radius:10px;padding:12px;margin-bottom:12px;box-shadow:0 1px 3px #0002}
h2{margin:0 0 8px;font-size:20px}label{display:block;font-weight:600;margin-top:8px}
input,select{width:100%;font-size:19px;padding:10px;border:2px solid #888;border-radius:8px}
button{font-size:17px;min-height:48px;padding:8px 12px;border-radius:8px;border:2px solid #1f3a68;background:#fff;color:#1f3a68;font-weight:600;cursor:pointer}
button.primary{background:#1f3a68;color:#fff}button.warn{border-color:#b35200;color:#7a3800}
.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1 1 0}
.banner{background:#ffd23f;border:3px solid #111;border-radius:10px;padding:12px;font-weight:700;margin-bottom:12px}
.tabs{display:flex;gap:6px;margin-bottom:10px}.tabs button{flex:1}.tabs button.on{background:#1f3a68;color:#fff}
.item{border-left:12px solid #999;padding-left:10px}.st{display:inline-block;font-weight:800;padding:4px 10px;border-radius:6px;margin:2px 4px 2px 0}
.expired{border-color:#e66100}.st.expired{background:#e66100;color:#000}.week{border-color:#ffd23f}.st.week{background:#ffd23f;color:#000}
.ok{border-color:#0072b2}.st.ok{background:#0072b2;color:#fff}.st.deal{background:#555;color:#fff}.st.gray{background:#ddd;color:#111}
.big{font-size:20px;font-weight:700}.price{font-size:24px;font-weight:800;color:#0b4f8a}small{color:#444}
.badge{background:#ffd23f;color:#000;border:2px solid #000;border-radius:16px;padding:2px 10px;font-weight:800}
table{width:100%;border-collapse:collapse;font-size:15px}td,th{border-bottom:1px solid #ccc;padding:4px;text-align:left}
#msg{font-weight:600;min-height:1.2em}a{color:#0b4f8a}
.withthumb{display:flex;gap:10px;align-items:flex-start}.withthumb>div{flex:1;min-width:0}
.thumb{width:88px;height:88px;flex:0 0 88px;object-fit:cover;border-radius:8px;border:2px solid #888;background:#e6e6e6}
.thumb.nophoto{display:flex;align-items:center;justify-content:center;text-align:center;color:#333;font-size:14px;font-weight:700;background:#ddd}
.filebtn{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;min-height:48px;padding:8px 12px;border:2px solid #1f3a68;border-radius:8px;color:#1f3a68;background:#fff;cursor:pointer;position:relative}
.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.filebtn:focus-within{outline:3px solid #ffd23f}
.belowcost{display:inline-block;color:#000;background:#ffb15c;border:2px solid #b35200;border-radius:6px;padding:1px 8px;font-weight:800}
.belowcost[hidden]{display:none}
.msg-ok{color:#0b4f8a;font-weight:700}.msg-err{color:#000;background:#ffb15c;border:2px solid #b35200;border-radius:6px;padding:4px 8px;font-weight:700}
.btnlink{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px;border:2px solid #fff;color:#fff;font-weight:600;text-decoration:none}
.storeinfo{margin-top:4px;font-size:16px;line-height:1.5}.storeinfo a{color:#0b4f8a;font-weight:600}
.maintabs{display:flex;background:#fff;border-bottom:2px solid #ccc;position:sticky;top:0;z-index:5}
.maintabs [role=tab]{flex:1;min-height:52px;border:0;border-bottom:5px solid transparent;border-radius:0;background:#fff;color:#333;font-weight:500}
.maintabs [role=tab][aria-selected=true]{background:#e3edf8;color:#0b2e5c;font-weight:800;border-bottom-color:#0072b2;text-decoration:underline;text-underline-offset:4px}
.maintabs [role=tab]:focus-visible{outline:3px solid #ffd23f;outline-offset:-3px}
h3{margin:14px 0 4px;font-size:18px}textarea{width:100%;font-size:17px;padding:10px;border:2px solid #888;border-radius:8px;font-family:inherit}
details.card>summary{min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:19px}
.check{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:600}.check input{width:24px;height:24px;flex:0 0 24px}
fieldset{border:2px solid #ccc;border-radius:8px;margin:8px 0;padding:6px 10px}legend{font-weight:800;padding:0 4px}
.choice label{display:flex;align-items:center;gap:10px;min-height:44px;margin:0}.choice input{width:24px;height:24px}
.bulkrow{border:2px solid #ccc;box-shadow:none}.bulkrow label{margin-top:4px}.rowerr{font-weight:700;color:#000}.rowerr:not(:empty){background:#ffe7c7;border-left:6px solid #e66100;padding:4px 8px;margin-top:6px;border-radius:4px}
.holdrules{font-size:16px;margin-top:2px}.storestat{font-weight:700}input:disabled{background:#eee;color:#777}
.copymsg{color:#0b4f8a;font-weight:700;margin-top:4px}
.copyday{min-height:44px;width:100%;margin-top:8px}
.scanov{position:fixed;inset:0;background:#000c;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:10px;overflow:auto}
.scanbox{background:#fff;border-radius:12px;padding:12px;width:100%;max-width:520px}.scanview{position:relative;background:#222;border-radius:8px;overflow:hidden;margin:8px 0;min-height:200px}
.scanview video{width:100%;display:block}.scanline{position:absolute;left:8%;right:8%;top:50%;border-top:3px dashed #ffd23f;pointer-events:none}
.scanmsg{font-weight:700;min-height:1.3em}.lookupmsg,.rowlook{font-weight:700;color:#0b4f8a;min-height:1.2em;margin-top:4px}
.batch{border:2px solid #ccc;border-radius:8px;padding:6px 8px;margin:6px 0}.batch input{font-size:20px;min-height:48px}
.quick{margin-top:6px}.quick button{flex:1 1 70px;min-height:44px;font-size:15px;padding:6px}.quick button[aria-pressed=true]{background:#e3edf8;font-weight:800;text-decoration:underline}
.quick .brm{flex:0 0 auto}.addbatch{width:100%;min-height:44px;margin-top:4px}
.photobtn{display:block;text-align:center;padding:10px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4;font-weight:700;cursor:pointer;margin:4px 0}
/* ---- store layout cleanup (mobile-first) ---- */
header{position:sticky;top:0;z-index:6}
.settingsbtn{min-height:44px;background:transparent;color:#fff;border:2px solid #fff;flex:0 0 auto}
.maintabs{top:68px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid #ddd}
.maintabs::-webkit-scrollbar{display:none}
.maintabs [role=tab]{flex:1 0 auto;white-space:nowrap;padding:8px 14px;font-size:16px}
.card{padding:16px;margin-bottom:14px;box-shadow:0 1px 2px #0001}
label{margin-top:14px}.opt{font-weight:400;color:#666;font-size:15px}
input,select,textarea{border:1px solid #999;min-height:50px}
.scanbig{width:100%;min-height:60px;font-size:20px;background:#e3edf8;border-color:#0072b2}
.photopick{margin-top:14px;border-width:1px;border-style:dashed}
.row.two>*{flex:1 1 0;min-width:0}
.hint{color:#555;font-size:15px;margin:6px 0 0}
.postbig{width:100%;min-height:58px;font-size:20px;margin-top:18px}
.linkbtn{display:block;width:100%;border:0;background:none;text-decoration:underline;font-weight:600;min-height:48px}
.batch{border:0;padding:0;margin:10px 0 0;background:none}.batch+.batch{border-top:1px solid #ddd;padding-top:8px}
.batch .row>div{min-width:0}
.sectionh{margin:20px 4px 8px}
.item.compact{border-left-width:6px;padding:12px}.item.compact .thumb{width:56px;height:56px;flex-basis:56px}
.item.compact .big{font-size:18px}.item.compact .row button{min-height:44px;font-size:15px}
details.card>summary{list-style:none}details.card>summary::before{content:'▸';margin-right:4px}details[open].card>summary::before{content:'▾'}
.setbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.setbar h2{margin:0}
.backbtn{flex:0 0 auto}
.scaneng{font-size:11px!important;color:#888!important}
[hidden]{display:none!important}

/* ---- shopper search, categories, radius, countdown ---- */
.radiusrow{align-items:center}.radiusrow input[type=range]{flex:1 1 auto;min-height:44px;border:0;padding:0;accent-color:#0072b2}
.radiusrow input[type=number]{flex:0 0 96px}.radiusrow .unit{flex:0 0 auto;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chips button{min-height:40px;font-size:15px;padding:4px 12px;border-radius:20px;border-width:1px}
.chips button[aria-pressed=true]{background:#1f3a68;color:#fff;border-width:2px}
.countdown{display:inline-block;font-weight:800;font-size:19px;background:#ffd23f;color:#000;border-radius:6px;padding:2px 10px;margin:4px 0}
.bulkbar{margin-bottom:10px}.bulkbar button{flex:1 1 140px;min-height:44px;font-size:15px}
.st.paused{background:#ddd;color:#111;border:1px dashed #555}
/* ---- footer, favorites ---- */
.foot{text-align:center;padding:16px 12px 28px;font-size:15px}.foot a{color:#0b4f8a;font-weight:600}
.followbtn{min-height:40px;font-size:15px;padding:4px 12px;margin-top:6px}.followbtn[aria-pressed=true]{background:#e3edf8;border-width:2px}
.viewtabs{display:flex;gap:6px;margin:0 0 10px}.viewtabs button{flex:1}.viewtabs button[aria-pressed=true]{background:#1f3a68;color:#fff;text-decoration:underline;text-underline-offset:4px}
.followers{font-size:15px;font-weight:600;color:#fff;margin-left:8px}
/* ---- phone layout fixes ---- */
.withthumb>.thumb{flex:0 0 88px;min-width:0}.item.compact .withthumb>.thumb{flex-basis:56px}
.radiusrow{flex-wrap:nowrap}.radiusrow input[type=range]{min-width:0}
.whobar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.whobar button{min-height:40px;font-size:15px;flex:0 0 auto}
#storeTitle{min-width:0}.followers{display:block;white-space:nowrap;font-size:14px;margin:2px 0 0 0;font-weight:600}
.onsettings #banner{display:none!important}
/* ---- batch 3: dialogs, alerts, pickup codes, map, compact banner, tabs ---- */
.dlg-ov{position:fixed;inset:0;background:#000a;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.dlg{background:#fff;border-radius:12px;padding:18px;width:100%;max-width:420px;box-shadow:0 6px 30px #0006}.dlg h2{margin:0 0 6px}.dlg p{margin:0 0 8px;font-size:17px}
.dlg-btns{margin-top:14px}.dlg-btns button{flex:1}button.warnfill{background:#b35200;border-color:#b35200;color:#fff}button:disabled{opacity:.5;cursor:not-allowed}
.ioshint{margin-top:8px;padding:8px 10px;border:2px dashed #0072b2;border-radius:8px;background:#e3edf8;font-size:15px}
.pushrow{display:flex;flex-direction:column;gap:6px}.pushmsg{font-size:15px;font-weight:600;color:#0b4f8a;min-height:1.1em}
.noticebox{background:#fff;border:3px solid #ffd23f;border-radius:10px;padding:10px 12px;margin-bottom:12px}.noticehead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.noticehead button{min-height:40px;font-size:15px}.notice{border-top:1px solid #ddd;padding:6px 0;font-size:16px}
.pcode{display:flex;align-items:center;gap:10px;margin:8px 0;padding:8px 12px;border:3px solid #0072b2;border-radius:10px;background:#e3edf8}
.pcode span{font-weight:700;font-size:15px}.pcode b{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:40px;letter-spacing:8px;color:#0b2e5c}
.pickbox{display:flex;gap:8px;align-items:end;margin-bottom:10px}.pickbox>div{flex:1}.pickbox input{font-family:ui-monospace,Menlo,monospace;font-size:26px;letter-spacing:6px;text-transform:uppercase}
.pickbox button{flex:0 0 auto;min-height:50px}#pickMsg{font-weight:700;min-height:1.2em;margin-bottom:6px}.pickstat{font-size:15px;color:#444;margin:0 0 8px}
#map{height:340px;border-radius:10px;border:2px solid #888;margin-bottom:10px;background:#e6e6e6}
.pin{background:none;border:0}.pin div{display:inline-block;white-space:nowrap;transform:translate(-50%,-100%);background:#0072b2;color:#fff;font-weight:800;font-size:13px;padding:4px 8px;border-radius:8px;border:2px solid #fff;box-shadow:0 1px 4px #0007;position:relative}
.pin div:after{content:'';position:absolute;left:50%;bottom:-9px;margin-left:-7px;border:7px solid transparent;border-top-color:#0072b2;border-bottom:0}
.pin.on div{background:#e66100;color:#000}.pin.on div:after{border-top-color:#e66100}
.youpin div{display:inline-block;transform:translate(-50%,-50%);background:#ffd23f;color:#000;font-weight:800;font-size:12px;padding:2px 6px;border-radius:10px;border:2px solid #000;white-space:nowrap}
.storefilter{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#e3edf8;border:2px solid #0072b2;border-radius:8px;padding:6px 10px;margin-bottom:10px;font-weight:700}
.storefilter button{min-height:40px;font-size:15px}
.banner.compact{padding:6px 10px;font-size:16px;border-width:2px}.banner.compact summary{cursor:pointer;min-height:36px;display:flex;align-items:center}.banner.compact ul{margin:4px 0 2px;padding-left:20px;font-weight:600}
.maintabs [role=tab]{flex:1 1 0;padding:8px 4px;font-size:15px;min-width:0}
.pickbox input::placeholder{letter-spacing:normal;text-transform:none;font-family:system-ui,sans-serif;font-size:18px}.pickbox label{margin-top:0}

/* ---- no-show tracking ---- */
.blockmsg{margin-top:8px;padding:8px 10px;border:3px solid #b35200;border-radius:8px;background:#ffe7c7;color:#000;font-size:16px}
.shoprow{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #ddd;padding:10px 0}.shoprow:first-child{border-top:0}
.shoprow.isblocked{border-left:6px solid #e66100;padding-left:8px}.shopmain{min-width:0;flex:1}.shopnum{font-size:15px;white-space:nowrap}.shoprow button{flex:0 0 auto;min-height:44px;font-size:15px}

/* ---- header buttons, counter link, financials ---- */
.hdrbtns{display:flex;gap:6px;flex:0 0 auto}.hdrbtns .settingsbtn{padding:6px 8px;font-size:15px}
.counterbtn{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;min-height:64px;margin-bottom:14px;border-radius:10px;background:#0b2e5c;color:#fff;font-size:22px;font-weight:800;text-decoration:none;border:3px solid #0072b2}
.counterbtn small{color:#e3edf8;font-size:14px;font-weight:600}
.kpis-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.kpi{background:#fff;border-radius:10px;padding:10px 12px;box-shadow:0 1px 2px #0001;border-top:4px solid #0072b2}
.kpil{font-size:14px;font-weight:700;color:#333}.kpiv{font-size:24px;font-weight:800;color:#0b2e5c}.kpis{font-size:13px;color:#444}
.card.zero{border:2px dashed #888;background:#f0f0f0}
.bars{display:flex;flex-direction:column;gap:3px}.barrow{display:grid;grid-template-columns:44px 1fr 92px;align-items:center;gap:6px;font-size:13px}
.bard{color:#333;font-weight:600}.bart{background:#eee;border-radius:4px;height:16px;overflow:hidden}.barf{display:block;height:100%;background:#0072b2}.barf.zero{background:#bbb}
.barv{font-weight:700;text-align:right;white-space:nowrap}
.condtag{display:inline-block;margin:4px 0;padding:3px 8px;border-radius:6px;background:#e6e6e6;color:#222;border:1px solid #888;font-size:14px;font-weight:700}
.sharebox{margin-top:8px;padding:8px;border-radius:8px;background:#eef4fb;border:2px solid #0072b2}.sharebox .row{margin-top:6px}
.fcode b{font-size:46px;white-space:nowrap;letter-spacing:.08em}.fphoto{width:100%;max-height:260px;object-fit:cover;border-radius:10px}
.btnlink{display:inline-block;padding:10px 16px;border-radius:8px;text-decoration:none;color:#fff;background:#0057a8;font-weight:700}
.pickedby{margin-top:4px;padding:3px 8px;border-radius:6px;background:#fff3c4;border:2px solid #b38600;color:#222;font-weight:800;display:inline-block}
.condpick details{margin:8px 0;padding:6px 8px;border:1px solid #bbb;border-radius:8px;background:#fafafa}.condpick summary{font-weight:700;cursor:pointer}.chk{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;margin:3px;border:1px solid #888;border-radius:16px;font-size:14px;background:#fff}.chk input{width:auto;margin:0}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:8px;margin-top:8px;max-height:60vh;overflow:auto}.catcell{margin:0;padding:4px;border:1px solid #bbb;border-radius:8px;background:#fff;font-size:13px;text-align:center;display:flex;flex-direction:column;gap:4px}.catcell img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.catcell .row button{padding:4px;font-size:12px}
.reportbtn{font-size:12px;padding:2px 6px;margin-top:4px;background:#eee;border:1px solid #888;color:#222}
.holdthumb{float:right;margin-left:8px}
.savecard{border-left:6px solid #0072b2}.savebig{font-size:22px;font-weight:800;color:#0b2e5c}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mbadge{background:#fff3c4;border:2px solid #b38600;border-radius:14px;padding:3px 10px;font-weight:700;font-size:14px}
.routebox .chips button{flex:1}.placerow{margin-top:6px}.detour{font-weight:700;color:#0b2e5c}
.watchbtn{font-size:13px;padding:3px 8px;margin:4px 0;background:#fff;border:1px solid #0072b2;color:#0b2e5c}.watchrow{border-top:1px solid #ddd;padding:8px 0}.watchrow .row button{flex:1;padding:6px}.watchform{background:#f5f8fc;border:1px solid #bcd;border-radius:8px;padding:8px;margin:6px 0}
.tbadge{display:inline-block;border:1px solid #555;border-radius:10px;padding:0 6px;font-size:12px;font-weight:700;background:#fff;color:#222}.gentle{background:#eef4fb;border:1px solid #0072b2;border-radius:8px;padding:8px;font-weight:600}
.pinpad input{font-size:30px;text-align:center;letter-spacing:.3em;width:100%}.pinkeys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.pinkeys button{font-size:24px;min-height:54px;font-weight:800}
.was{text-decoration:line-through;color:#555;font-size:14px}.dropped{display:inline-block;background:#fff3c4;border:1px solid #b38600;border-radius:6px;padding:0 6px;font-weight:800;font-size:13px}.pricebtns{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.pricebtns button{flex:1 1 60px;padding:6px 4px;font-weight:700}.autotag{display:inline-block;border:1px solid #0072b2;border-radius:6px;padding:0 6px;font-size:13px;font-weight:700;color:#0b2e5c;background:#eef4fb}
.pricebtns button{white-space:nowrap;font-size:14px;flex:1 1 58px;padding:8px 2px}
/* ---- store menu (dropdown), settings sub-tabs, photo choice, price confirm ---- */
.menubar{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #ccc;padding:6px 12px}
.menubtn{width:100%;min-height:48px;display:flex;align-items:center;gap:6px;justify-content:flex-start;font-size:17px;background:#e3edf8;border:2px solid #0072b2;color:#0b2e5c}
.menubtn b{flex:1;text-align:left}
.menulist{position:absolute;left:12px;right:12px;top:100%;background:#fff;border:2px solid #0072b2;border-radius:10px;box-shadow:0 4px 14px #0004;display:flex;flex-direction:column;overflow:hidden}
.menulist button{border:0;border-radius:0;border-bottom:1px solid #ddd;min-height:52px;text-align:left;padding:10px 14px;font-size:17px;background:#fff;color:#111;display:flex;align-items:center;gap:8px}
.menulist button:last-child{border-bottom:0}.menulist button[aria-current=true]{background:#e3edf8;font-weight:800;text-decoration:underline}.menulist button[aria-current=true]::after{content:'✔ current';margin-left:auto;font-size:13px;font-weight:700;color:#0b2e5c}
.menulist button:focus-visible{outline:3px solid #ffd23f;outline-offset:-3px}
.subtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.subtabs [role=tab]{flex:1 1 30%;min-height:44px;padding:6px 4px;font-size:15px;background:#fff;border:2px solid #888;color:#222}
.subtabs [role=tab][aria-selected=true]{background:#1f3a68;color:#fff;border-color:#1f3a68;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.subtabs [role=tab][aria-selected=true]::before{content:'✔ '}
.photochoice{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.photochoice .pclabel{flex:1 1 100%;font-weight:700}.photochoice .filebtn{flex:1 1 140px;text-align:center}
.pricechg{font-size:18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pricechg .tag{border:2px solid #b35200;background:#ffe7c7;border-radius:6px;padding:0 6px;font-weight:800;font-size:14px}
.stackrow>div{flex:1 1 100%;min-width:0}.stackrow input{width:100%}
.missbtn{background:#fff;border:2px solid #b35200;color:#222}.missdone{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:6px;background:#e6e6e6;border:1px solid #888;font-weight:700}
.flagrow{border-left:6px solid #e66100;background:#fff3e6}.flagtag{display:inline-block;background:#ffe7c7;border:2px solid #b35200;border-radius:6px;padding:0 6px;font-weight:800;font-size:13px}
/* ---- update 19: password eye, settings menu, sort bar, shopper views ---- */
.pwwrap{display:flex;gap:6px;align-items:stretch;width:100%}.pwwrap input{flex:1;min-width:0}.eyebtn{flex:0 0 auto;min-height:44px;padding:4px 10px;font-size:14px;white-space:nowrap}
.stack>label{display:block}.stack input,.stack .pwwrap{width:100%;max-width:none}.stack{display:flex;flex-direction:column;gap:2px}
.sortbar{display:flex;align-items:center;gap:8px;margin:6px 0 10px}.sortbar label{margin:0;font-weight:700;white-space:nowrap}.sortbar select{flex:1}
.submenu{position:relative;margin-bottom:12px}.submenu .menulist{left:0;right:0}
.shopbar{display:flex;gap:6px}.verifybar{background:#fff3c4;border:2px solid #b38600;border-radius:8px;padding:8px 10px;margin-bottom:10px;font-weight:600;color:#111}.verifybar button{min-height:40px;font-size:15px;margin-left:6px}
.hidebtn{font-size:13px;padding:3px 8px;background:#fff;border:1px solid #888;color:#222}.favitembtn{font-size:13px;padding:3px 8px;margin:4px 4px 4px 0;background:#fff;border:1px solid #b38600;color:#222}.favitembtn[aria-pressed=true]{background:#fff3c4;font-weight:800}
.a11y body{font-size:21px}.a11y button{min-height:52px}.a11y .card{border:2px solid #555}
/* ---- night mode: dark gray surfaces, light text; blue/orange/yellow accents stay, always with text labels ---- */
html.dark body{background:#11161d;color:#eceff3}
html.dark header{background:#0d1626}
html.dark .card,html.dark section.card,html.dark .kpi,html.dark .dlg,html.dark .menulist,html.dark .menubar,html.dark .noticebox,html.dark .maintabs{background:#1c232d;color:#eceff3;box-shadow:none}
html.dark input,html.dark select,html.dark textarea{background:#0f141b;color:#f2f4f7;border-color:#8a96a6}
html.dark button{background:#26303d;color:#f2f4f7;border-color:#8fb4dd}
html.dark button.primary,html.dark .subtabs [role=tab][aria-selected=true]{background:#2f6db3;color:#fff;border-color:#9cc3ef}
html.dark button.warn{background:#26303d;color:#ffc58a;border-color:#ff9a3d}html.dark .warnfill{background:#b35200;color:#fff}
html.dark .menulist button{background:#1c232d;color:#eceff3;border-color:#3a4553}html.dark .menulist button[aria-current=true],html.dark .menubtn{background:#1d3557;color:#fff;border-color:#7fb0e6}
html.dark .hint,html.dark small,html.dark .opt,html.dark .kpil,html.dark .kpis,html.dark .pickstat,html.dark .bard{color:#c3cad3}
html.dark .kpiv,html.dark .savebig,html.dark .detour,html.dark .pcode b{color:#bcd8ff}
html.dark .pcode,html.dark .sharebox,html.dark .gentle,html.dark .storefilter,html.dark .watchform{background:#16263d;color:#eceff3}
html.dark a{color:#9cc9ff}html.dark table th,html.dark table td{border-color:#3a4553}
html.dark .thumb.nophoto,html.dark .condtag,html.dark .missdone,html.dark .tbadge,html.dark .hidebtn,html.dark .watchbtn,html.dark .reportbtn,html.dark .favitembtn{background:#2b3440;color:#eceff3;border-color:#8a96a6}
html.dark .filebtn{background:#1c232d;color:#cfe3ff;border-color:#7fb0e6}
html.dark .counterbtn{background:#1d3557}html.dark .bart{background:#2b3440}
html.dark .card.zero{background:#1c232d}html.dark .dlg-ov{background:#000c}
html.dark .flagrow{background:#3a2a17}

.annbar{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;background:#e8f0fe;border:3px solid #1f5fbf;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:16px}.annbar button{min-height:40px;flex:none}
html.dark .annbar{background:#16243a;border-color:#6fa3ff;color:#eceff3}
.statusbar{background:#ffd23f;color:#111;border:3px solid #111;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-weight:700}

.dangerzone{border:3px solid #c25e00}html.dark .dangerzone{border-color:#ff9a3c}

.addrgrid{display:grid;grid-template-columns:1fr 2fr;gap:0 10px}.addrgrid .a-unit{grid-column:1/-1}.addrgrid .a-city{grid-column:1/-1}.addrgrid .a-state{grid-column:1}.addrgrid .a-zip{grid-column:2}
.addrgrid input,.addrgrid select{width:100%}.locbtn{width:100%;margin-top:10px}
.policyframe{width:100%;height:45vh;border:2px solid #1f5fbf;border-radius:8px;background:#fff}
.vtag{display:inline-block;border-radius:6px;padding:1px 6px;font-weight:700;font-size:14px;border:2px solid}.vtag.ok{border-color:#1f5fbf;color:#1f5fbf}.vtag.no{border-color:#c25e00;color:#8a4200}
html.dark .vtag.ok{border-color:#6fa3ff;color:#9cc0ff}html.dark .vtag.no{border-color:#ff9a3c;color:#ffb36b}
/* update 23: night mode fixes */
html.dark{color-scheme:dark}
html.dark select option,html.dark select optgroup{background:#0f141b;color:#f2f4f7}
html.dark select option:checked{background:#2f6db3;color:#fff}
html.dark .scanov{background:#000e}html.dark .scanbox{background:#1c232d;color:#eceff3;border:2px solid #3a4553}html.dark .scanview{background:#05080c}html.dark .scanmsg{color:#eceff3}
html.dark .scanbox input{background:#0f141b;color:#f2f4f7}html.dark .scaneng{color:#c3cad3!important}
html.dark .banner,html.dark .statusbar,html.dark .verifybar,html.dark .noticebox,html.dark .blockmsg,html.dark .pickedby,html.dark .mbadge,html.dark .dropped,html.dark .rowerr:not(:empty),html.dark .flagtag,html.dark .pricechg .tag{background:#2a2410;color:#ffe08a;border-color:#ffd23f}
html.dark .banner a,html.dark .statusbar a,html.dark .verifybar a{color:#ffe9a8}
html.dark .banner button,html.dark .verifybar button,html.dark .statusbar button{background:#1c232d;color:#ffe08a;border-color:#ffd23f}
html.dark .countdown,html.dark .badge,html.dark .st.week{background:#ffd23f;color:#000}
.addrgrid{align-items:end}.addrgrid>div{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.addrgrid label{margin-top:8px;line-height:1.2}.addrgrid input,.addrgrid select{box-sizing:border-box;height:48px;margin:4px 0 0}
.stockfig{margin:0;text-align:center}.stockfig figcaption{font-size:12px;font-weight:700;color:#444}html.dark .stockfig figcaption{color:#c3cad3}
html.dark .condpick details{background:#161d26;border-color:#8a96a6;color:#eceff3}html.dark .condpick summary{color:#f2f4f7}html.dark .chk{background:#26303d;color:#f2f4f7;border-color:#8a96a6}html.dark .chk:has(input:checked){background:#1d3557;border-color:#9cc3ef;color:#fff}html.dark .condpick input:not([type]){background:#0f141b;color:#f2f4f7}
html.dark .photobtn{background:#1c232d;color:#cfe3ff;border-color:#7fb0e6}
/* update 24 */
.earlytag{display:inline-block;margin:4px 0;padding:2px 8px;border:2px solid #b35200;border-radius:6px;background:#ffe7c7;color:#000;font-weight:800;font-size:15px}
html.dark .earlytag{background:#2a1c0e;color:#ffc58a;border-color:#ff9a3d}
.earlycard{border-left:6px solid #e66100}html.dark .earlycard{border-left-color:#ff9a3d}
.recapbody{white-space:pre-line;font-size:15px;margin-top:4px}.recapnote{border-left:5px solid #1f5fbf;padding-left:8px}html.dark .recapnote{border-left-color:#6fa3ff}
.recaptbl{width:100%;border-collapse:collapse}.recaptbl td{padding:4px 2px;border-bottom:1px solid #ccc}.recaptbl td:last-child{text-align:right;font-weight:700}html.dark .recaptbl td{border-color:#3a4553}
/* ===== update 25 ===== */
/* #14 one shared card style: same corners, padding, shadow, badges, buttons, night mode (shopper, store, admin, counter) */
:root{--card-radius:14px;--card-pad:16px;--card-shadow:0 1px 3px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.06);--card-bg:#fff;--card-line:#d5d9e0;--badge-radius:999px}
html.dark{--card-bg:#1c232d;--card-line:#3a4656;--card-shadow:0 1px 3px rgba(0,0,0,.5)}
.card,.kpi,section.card{background:var(--card-bg);border-radius:var(--card-radius);padding:var(--card-pad);box-shadow:var(--card-shadow);border:1px solid var(--card-line)}
.item{border-left-width:10px;border-left-style:solid}
.st,.badge,.offtag,.earlytag{border-radius:var(--badge-radius)}
.cardbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.cardbtns .primary{margin-left:auto}
/* #13 price-first deal card */
.pricebig{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:2px 0 4px}
.pricebig .now{font-size:34px;font-weight:900;line-height:1.05;color:#1f3a68}
.pricebig .reg{font-size:17px;text-decoration:line-through;color:#555}
.offtag{display:inline-block;background:#ffd23f;color:#000;border:2px solid #000;padding:2px 10px;font-weight:900;font-size:15px}
.dealname{font-size:20px;font-weight:800;margin-top:2px}.dealmeta{color:#333;font-size:15px}
html.dark .pricebig .now{color:#9cc3ef}html.dark .pricebig .reg,html.dark .dealmeta{color:#c9d1db}
html.dark .offtag{background:#ffd23f;color:#000;border-color:#000}
.card.selected{outline:4px solid #e66100;outline-offset:2px}.card.selected::before{content:'▶ Selected';display:block;font-weight:800;color:#b35200;margin-bottom:4px}
html.dark .card.selected{outline-color:#ffb15c}html.dark .card.selected::before{color:#ffb15c}
.card.sharedhit{outline:4px dashed #1f3a68;outline-offset:2px}html.dark .card.sharedhit{outline-color:#9cc3ef}
/* #1 share buttons */
.sharebtns{display:inline-flex;gap:6px;flex-wrap:wrap}.sharebtn{min-height:44px;background:#eef3fa;color:#1f3a68;border:2px solid #1f3a68}
html.dark .sharebtn{background:#22324a;color:#d9e8fb;border-color:#9cc3ef}
/* #15 toasts */
.toastbox{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:3000;display:flex;flex-direction:column;gap:8px;width:min(94vw,460px);pointer-events:none}
.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--card-radius);box-shadow:0 4px 16px rgba(0,0,0,.25);font-size:16px;transform:translateY(-140%);opacity:0;transition:transform .28s ease,opacity .28s ease;border:3px solid}
.toast.in{transform:translateY(0);opacity:1}.tsym{font-size:22px;font-weight:900}
.toast-ok{background:#eaf2fd;color:#0b2546;border-color:#1f3a68}.toast-err{background:#ffe7c7;color:#000;border-color:#b35200;border-style:dashed}
.tclose{margin-left:auto;min-height:36px;min-width:36px;padding:0;background:transparent;border:0;font-size:22px;color:inherit}
html.dark .toast-ok{background:#1b2b42;color:#e6f0fc;border-color:#9cc3ef}html.dark .toast-err{background:#3d2a12;color:#ffe7c7;border-color:#ffb15c}
html.dark .toast{box-shadow:0 4px 16px rgba(0,0,0,.6)}
@media (prefers-reduced-motion:reduce){.toast{transition:none}}
/* #10 empty states */
.emptystate{text-align:center}.emptystate .emptyicon{font-size:40px}.emptystate p{color:#444;margin:6px 0 12px}html.dark .emptystate p{color:#c9d1db}
/* #9 shopper sticky bottom bar */
.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--card-bg);border-top:3px solid #1f3a68;box-shadow:0 -2px 10px rgba(0,0,0,.15);padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:flex;gap:8px;align-items:center}
.actionbar .abinfo{flex:1;min-width:0}.actionbar .abname{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actionbar .abprice{font-size:20px;font-weight:900}
.actionbar button{min-height:52px}body.hasbar{padding-bottom:96px}
html.dark .actionbar{background:#141a22;border-top-color:#9cc3ef;box-shadow:0 -2px 10px rgba(0,0,0,.6)}
.holdlist .hl{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--card-line)}.holdlist .hlcode{font-family:ui-monospace,monospace;font-size:20px;font-weight:900;letter-spacing:2px}
/* #11 big counter card (bright, high contrast; dark mode keeps contrast high) */
html.bigopen,html.bigopen body{overflow:hidden}
.bigcard{position:fixed;inset:0;z-index:4000;background:#fff;color:#000;overflow:auto;display:flex;justify-content:center}
.bcinner{width:min(100%,560px);padding:16px 18px 28px;display:flex;flex-direction:column;gap:10px;text-align:center}
.bctop{display:flex;justify-content:space-between;align-items:center;gap:8px}.bcstore{font-weight:800;font-size:18px;text-align:left}
.bcclose{background:#eee;color:#000;border:2px solid #000}.bclabel{font-weight:900;letter-spacing:3px;margin-top:8px}
.bccode{font-family:ui-monospace,Menlo,monospace;font-size:min(22vw,120px);font-weight:900;letter-spacing:6px;line-height:1;border:6px solid #000;border-radius:var(--card-radius);padding:14px 6px;background:#ffd23f}
.bcitem{font-size:26px;font-weight:800}.bctotal{font-size:52px;font-weight:900;line-height:1.1}.bctotal small{display:block;font-size:16px;font-weight:700;letter-spacing:1px}
.bcname{font-size:22px;font-weight:800}.bcname small{font-weight:400;font-size:15px}.bcleft{font-size:22px;font-weight:800}
.bcpicked{min-height:76px;font-size:26px;font-weight:900;background:#1f3a68;color:#fff;border:3px solid #000}.bcnot{min-height:48px;font-size:17px;background:#fff;color:#000;border:2px dashed #b35200}.bchint{font-size:17px}
html.dark .bigcard{background:#000;color:#fff}html.dark .bccode{background:#ffd23f;color:#000;border-color:#fff}html.dark .bcclose{background:#222;color:#fff;border-color:#fff}
html.dark .bcpicked{background:#2f6db3;border-color:#fff}html.dark .bcnot{background:#000;color:#ffb15c;border-color:#ffb15c}
/* #12 onboarding */
.onb{position:fixed;inset:0;z-index:3500;background:rgba(10,20,35,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.onbcard{background:var(--card-bg);color:inherit;border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:24px 20px;max-width:440px;width:100%;text-align:center}
.onbicon{font-size:64px}.onbcard h2{margin:6px 0}.onbcard p{font-size:18px}
.onbdots{display:flex;justify-content:center;gap:10px;margin:14px 0 4px}.onbdots .dot{width:34px;height:34px;border-radius:50%;border:3px solid #1f3a68;display:inline-flex;align-items:center;justify-content:center;font-weight:900;color:#1f3a68;background:#fff}
.onbdots .dot.on{background:#1f3a68;color:#fff}.onbstep{font-size:14px;color:#555}
.onbbtns{display:flex;gap:8px;justify-content:center;margin-top:12px}.onbbtns button{flex:1}.onbskip{margin-top:10px;background:transparent;border:2px solid #888;color:inherit}
html.dark .onbcard{background:#1c232d;color:#eceff3}html.dark .onb .dot{background:#1c232d;border-color:#9cc3ef;color:#9cc3ef}html.dark .onb .dot.on{background:#9cc3ef;color:#000}html.dark .onbstep{color:#c9d1db}
/* #4 quick qty */
.qtyedit{display:inline-flex;align-items:center;gap:6px}.qtyedit button{min-width:48px;font-size:22px;font-weight:900;padding:0}.qtyedit input{width:80px;text-align:center;font-size:20px;font-weight:800}
/* #5-8 report tabs */
.rtabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.rtabs button[aria-selected=true]{background:#1f3a68;color:#fff;border-color:#000}
html.dark .rtabs button[aria-selected=true]{background:#2f6db3;color:#fff;border-color:#9cc3ef}
.gain{font-weight:800;color:#1f3a68}.loss{font-weight:800;color:#b35200}html.dark .gain{color:#9cc3ef}html.dark .loss{color:#ffb15c}
.bccode.bcask{font-size:34px;letter-spacing:1px;font-family:inherit}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* ===== update 26 ===== */
/* #24-27 sticky top bar + ☰ menus (store, shopper, admin) */
header{position:sticky;top:0;z-index:60;flex-wrap:wrap}
.menubar,#dealMenu,#adMenu,#ssMenu,#setMenu,#histMenu{position:sticky;top:var(--hdrh,64px);z-index:55;background:#f4f6f9;padding:6px 0;margin-left:0;margin-right:0}
.menubar{padding:6px 12px;background:#fff}html:not(.dark) body .menubar{background:#fff}
html.dark .menubar,html.dark #dealMenu,html.dark #adMenu,html.dark #ssMenu,html.dark #setMenu,html.dark #histMenu{background:#0f141b}
.menulist{z-index:70}
.topbar2{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.wholbl{flex:1 0 100%;font-weight:700;font-size:14px;min-width:0;margin-bottom:2px}
.topbtn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:6px 10px;flex:1 1 0;border-radius:8px;border:2px solid #fff;background:transparent;color:#fff;font-weight:700;font-size:15px;text-decoration:none}.topbtn b{background:#ffd23f;color:#000;border-radius:999px;padding:0 8px;margin-left:2px;font-weight:900}
html.dark .topbtn{background:transparent;color:#e6f0fc;border-color:#9cc3ef}html.dark #topLogout{background:transparent;color:#e6f0fc}
#topLogout{background:transparent;color:#fff}
/* #9 bell centered */
.bellbtn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:6px 12px;line-height:1;background:#ffd23f;color:#000;border:2px solid #000;border-radius:999px;font-weight:800;font-size:16px;white-space:nowrap;align-self:center}
html.dark .bellbtn{background:#ffd23f;color:#000;border-color:#fff}
.cnt{font-weight:900}
/* #10 deal card: photo across the top */
.dealcard .heropic{position:relative;margin:-16px -16px 10px;border-radius:var(--card-radius) var(--card-radius) 0 0;overflow:hidden;background:#eef1f5;height:170px}
.dealcard .heroimg{display:block;width:100%;height:170px;object-fit:cover}.dealcard .heroimg.stock{object-fit:contain;padding:10px;box-sizing:border-box;background:#fff}
.dealcard .heroimg.nophoto{display:flex;align-items:center;justify-content:center;color:#555;font-weight:700}
.herocap{position:absolute;right:8px;bottom:8px;background:#fff;color:#000;border:1px solid #000;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:700}
.herotags{position:absolute;left:8px;top:8px;display:flex;flex-wrap:wrap;gap:4px}
.featured{display:inline-block;background:#fff;color:#1f3a68;border:2px solid #1f3a68;border-radius:999px;padding:2px 10px;font-weight:900;font-size:14px}
.pricerow{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.pricerow .pricebig{flex:1 1 auto;margin:0}
.qtyleft{flex:0 0 auto;text-align:center;background:#eef3fa;color:#1f3a68;border:2px solid #1f3a68;border-radius:10px;padding:4px 10px;font-size:15px;line-height:1.1}.qtyleft b{display:block;font-size:22px}
.dealcard.item{border-left-width:1px}
html.dark .dealcard .heropic{background:#141a22}html.dark .dealcard .heroimg.stock{background:#e9edf2}html.dark .herocap{background:#000;color:#fff;border-color:#fff}
html.dark .featured{background:#1b2b42;color:#d9e8fb;border-color:#9cc3ef}html.dark .qtyleft{background:#1b2b42;color:#e6f0fc;border-color:#9cc3ef}
/* #12 following button night mode */
.followbtn[aria-pressed=true]{background:#e3edf8;color:#0b2546;border-color:#1f3a68}
html.dark .followbtn{background:#1c232d;color:#eceff3;border-color:#9cc3ef}html.dark .followbtn[aria-pressed=true]{background:#22324a;color:#ffd23f;border-color:#ffd23f}
/* #4 status badges fit their text */
.st{white-space:normal;max-width:100%;box-sizing:border-box;line-height:1.3;overflow-wrap:anywhere;height:auto;vertical-align:top}
/* #19 recap / closing-early time boxes line up with the other fields */
#recapCard label,#earlyCard label[for]{display:block;text-align:left}#recapCard input[type=time],#earlyCard input[type=time]{display:block;width:100%;max-width:none;margin:4px 0 8px;text-align:left;box-sizing:border-box}
#recapCard .check,#earlyCard .check{display:flex}
/* #5/#6/#15/#23 store item states */
.locktag{display:inline-block;background:#fff4c2;color:#000;border:2px solid #000;border-radius:8px;padding:4px 10px;font-weight:800;margin:4px 0}.locktag.big{display:block}
.qtylock{color:#333;font-size:15px;margin:2px 0}.pintag{display:inline-flex;align-items:center;font-weight:900;color:#1f3a68;padding:0 6px}
.autotag2{display:inline-block;margin-left:6px;font-size:13px;font-weight:800;background:#eef3fa;color:#1f3a68;border:1px solid #1f3a68;border-radius:999px;padding:1px 8px}
.req{font-size:14px;font-weight:700;color:#b35200}.pinset{margin:12px 0}
html.dark .locktag{background:#3a3210;color:#ffe9a3;border-color:#ffd23f}html.dark .qtylock{color:#c9d1db}html.dark .pintag{color:#9cc3ef}html.dark .autotag2{background:#1b2b42;color:#d9e8fb;border-color:#9cc3ef}html.dark .req{color:#ffb15c}
/* #13 alerts tab */
.notice.unread{border-left:6px solid #e66100;padding-left:8px}.newtag{font-weight:900;color:#b35200}.notice .when{color:#555}
html.dark .newtag{color:#ffb15c}html.dark .notice .when{color:#c9d1db}
/* #18 disputes */
.dispsides{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.dispsides>div{border:1px solid var(--card-line);border-radius:10px;padding:8px}
@media (max-width:420px){.dispsides{grid-template-columns:1fr}}
/* ===== update 27 ===== */
/* #4/#5 Add a deal: expiration + cost/retail boxes line up with their labels and each other */
.batch .exprow{display:grid;gap:10px;align-items:end;grid-template-columns:110px 1fr 1fr}.batch .exprow .bq{grid-column:1;grid-row:1}.batch .exprow .be{grid-column:2/4;grid-row:1}.batch .exprow .bt{grid-column:1/-1;grid-row:2}
.batch .exprow label{display:block;margin:0}.batch .exprow input,#cost,#retail{display:block;width:100%;box-sizing:border-box;margin:4px 0 0;text-align:left}
.batch input[type=date],.batch input[type=time]{-webkit-appearance:none;appearance:none;min-height:48px;background:#fff;color:#000;text-align:left}
input[type=date]::-webkit-date-and-time-value{text-align:left}
.row.two{align-items:end}.row.two>div>label{display:block}
html.dark .batch input[type=date],html.dark .batch input[type=time]{background:#141a22;color:#eceff3;color-scheme:dark}
/* #6 quick date buttons: readable selected state with ✔ */
.quick button[aria-pressed=true]{background:#1f3a68;color:#fff;border:3px solid #ffd23f;font-weight:800;text-decoration:none}
html.dark .quick button[aria-pressed=true]{background:#ffd23f;color:#000;border-color:#fff}
/* #1 policy accept waits for scroll */
.dlg button.waitread,.dlg button.waitread:disabled{background:#d9d9d9;color:#222;border:2px dashed #555;opacity:1;cursor:not-allowed}
html.dark .dlg button.waitread,html.dark .dlg button.waitread:disabled{background:#3a4250;color:#eceff3;border-color:#c9d1db}
/* update 28: home page button readable in night mode */
.btnlink.primary,html.dark .btnlink.primary{color:#fff;text-decoration:none;font-weight:800}
/* ===== update 30 ===== */
/* #1-3 every time/date box: full width, left-aligned text, same height as other fields (iPhone Safari centers these by default) */
input[type=time],input[type=date]{-webkit-appearance:none;appearance:none;display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:48px;text-align:left;margin:4px 0 8px}
input[type=time]::-webkit-date-and-time-value,input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
html.dark input[type=time],html.dark input[type=date]{color-scheme:dark}
#ceRow{display:flex;flex-direction:column;align-items:stretch;gap:6px}#ceRow>div{width:100%}#ceRow label{display:block}#ceRow #ceSave{align-self:stretch!important;width:100%}
#recapCard label[for=rcTime]{display:block;margin-top:6px}
#hoursRows fieldset,#hoursRows .hrow{box-sizing:border-box;width:100%;min-width:0;margin-left:0;margin-right:0}#hoursRows label:not(.check){display:block}#hoursRows label.check{display:flex;align-items:center;gap:10px}
#hoursRows .row{flex-direction:column;align-items:stretch}#hoursRows .row>*{width:100%;min-width:0}
/* #5 phone alerts boxes match night-mode cards */
html.dark .ioshint{background:#1c232d;color:#eceff3;border-color:#9cc3ef}html.dark .pushmsg{color:#9cc3ef}
/* #7 status pills: centered text with even padding when they wrap */
.st{text-align:center;padding:6px 12px;border-radius:12px}
/* #10 expiration responsibility lines */
.respline{margin:8px 0;padding:8px 10px;border-left:6px solid #e66100;background:#fff4e5;color:#000;border-radius:6px;font-size:15px}.respline.small{font-size:14px;padding:6px 8px;margin:6px 0}
html.dark .respline{background:#2a2216;color:#ffe2c2;border-left-color:#ff9a3c}
.resp-note{border-left:6px solid #e66100;background:#fff4e5;color:#000;padding:8px 12px;border-radius:6px}html.dark .resp-note{background:#2a2216;color:#ffe2c2}
.expnote{margin:4px 0 0}
.dealstay{font-weight:700}
/* #4 stacked sticky menus never overlap: sub-menus sit under the main ☰ bar */
#setMenu,#histMenu,#ssMenu{top:calc(var(--hdrh,64px) + var(--mbh,0px))}
/* update 31: language choice (text labels + ✔, blue/yellow only) */
.langpick{display:flex;gap:10px;margin-top:8px}.langpick button{flex:1 1 0;min-height:52px;font-size:18px;font-weight:700;border:2px solid #1f3a68;background:#fff;color:#0b2546;border-radius:12px}
.langpick button[aria-pressed=true]{background:#1f3a68;color:#fff;border:3px solid #ffd23f;text-decoration:underline;text-underline-offset:4px}
html.dark .langpick button{background:#1c232d;color:#eceff3;border-color:#9cc3ef}html.dark .langpick button[aria-pressed=true]{background:#22324a;color:#ffd23f;border-color:#ffd23f}
.langcard .langh{margin:0;font-size:17px}.langcard .langq{margin:4px 0 0}#authBox .langcard{margin:-4px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--card-line)}
.langcard:not(.first) .langq{display:none}.langcard:not(.first) .langpick button{min-height:44px;font-size:16px}
.langcard.first{border:3px solid #1f3a68}html.dark .langcard.first{border-color:#ffd23f}.langcard.first .langh{font-size:21px}
main.langwait>:not(.langcard),#authBox.langwait>:not(.langcard){display:none!important}
.menulist button,.hdrbtns button,.chips button,.tabs button{overflow-wrap:anywhere}
html[lang=es] .menulist button[aria-current=true]::after{content:'✔ actual'}html[lang=es] .card.selected::before{content:'▶ Seleccionada'}
#authBox .langcard.first{border:0;padding:0 0 12px}
/* update 32: language choice lives in the Create account form */
.langset{border:1px solid var(--card-line);border-radius:10px;padding:8px 10px 12px;margin:8px 0 12px}.langset legend{font-weight:700;padding:0 4px}
/* update 33: pickup fees (text labels; blue/orange only) */
.feesum{font-size:16px;line-height:1.5}.feeowed{color:#b35200;border-bottom:2px solid #b35200}html.dark .feeowed{color:#ffb35c;border-color:#ffb35c}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.feetbl{width:100%;border-collapse:collapse;font-size:14px}.feetbl th,.feetbl td{padding:6px 5px;border-bottom:1px solid var(--card-line);text-align:left;white-space:nowrap}.feetbl td:nth-child(2){white-space:normal;min-width:90px}
.feenote{border-left:4px solid #1f3a68;padding:6px 10px;background:#eef3fa;border-radius:6px;color:#0b2546}html.dark .feenote{background:#1c2a3d;color:#eceff3;border-color:#9cc3ef}
.feetbl td:first-child{white-space:normal}
/* update 35: DoorDash-style shopper home (swipe rows) + store profile */
.hrow{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:4px 2px 12px;margin:0 -2px;scrollbar-width:thin}
.hrow>*{scroll-snap-align:start;flex-shrink:0}
.cath{margin:16px 0 6px;font-size:19px}.cath small{font-weight:600;color:#555;font-size:14px}html.dark .cath small{color:#b8c2cf}
.storecard{width:168px;min-height:118px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px;border-radius:14px;border:2px solid #1f3a68;background:#fff;color:#0b2546;font-size:15px;line-height:1.3;white-space:normal}
.storecard .scname{font-size:16px;overflow-wrap:anywhere}.storecard:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}
html.dark .storecard{background:#1c232d;color:#eceff3;border-color:#9cc3ef}
.openlab{display:inline-block;font-weight:700;font-size:13px;padding:2px 8px;border-radius:999px;border:1px solid}
.openlab.is-open{background:#e3edf8;color:#0b2e5c;border-color:#1f3a68}.openlab.is-closed{background:#ececec;color:#333;border-color:#777}
html.dark .openlab.is-open{background:#22324a;color:#cfe3ff;border-color:#9cc3ef}html.dark .openlab.is-closed{background:#2b2f35;color:#ddd;border-color:#888}
.dealrow>.dealcard{flex:0 0 84%;max-width:340px;margin:0}
.dealrow .cardbtns,.dealrow .hidebtn,.dealrow .holdrules,.dealrow .reportbtn{display:none}
body.storeprofile #searchCard,body.storeprofile #dealsH,body.storeprofile #newBanner,body.storeprofile #storeFilter,body.storeprofile #favStores,body.storeprofile #favItems,body.storeprofile #map{display:none!important}
.storehead .backbtn{min-height:44px;margin-bottom:6px}.storehead .sname{margin:4px 0}.storehead .smeta{line-height:1.8}
.hourstbl{border-collapse:collapse;margin-top:6px}.hourstbl th{text-align:left;padding:3px 12px 3px 0}.hourstbl td{padding:3px 0}
/* ===== update 36: clean shopper shell (scoped to body.shell36 = shopper page only) ===== */
.shell36{--t1:17px;--t2:14px;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.shell36 header.shophdr{display:grid;grid-template-columns:1fr auto;gap:8px 10px;padding:10px 16px 12px;padding-top:calc(10px + env(safe-area-inset-top))}
.shell36 header.shophdr h1{font-size:19px;font-weight:800;letter-spacing:.2px}
.shell36 #badge,.shell36 #shopBar,.shell36 #verifyBar,.shell36 #newBanner,.shell36 #actionBar,.shell36 #dealsH{display:none!important}
.shell36 .hsearch{grid-column:1/-1;display:flex;align-items:center;gap:8px;background:#fff;color:#111;border-radius:999px;padding:0 14px;min-height:44px}
.shell36 .hsearch[hidden]{display:none}
.shell36 .hsearch input{border:0;background:transparent;flex:1;min-width:0;font-size:16px;padding:10px 0;margin:0;box-shadow:none;outline-offset:4px}
.hbell{position:relative;background:transparent;color:#fff;border:0;font-size:20px;min-height:44px;min-width:44px;padding:0;box-shadow:none}
.tbadge{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;border-radius:9px;background:#ff8c1a;color:#000;font-size:12px;font-weight:800;text-align:center}
.tbadge[hidden]{display:none}
.hbell .tbadge{position:absolute;top:2px;right:-2px}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(4,1fr);background:var(--card-bg,#fff);border-top:1px solid #0001;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 10px #0000000d}
.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:0;box-shadow:none;border-radius:0;min-height:58px;padding:6px 2px;color:#555;font-size:12px;font-weight:600}
.tabbar .ti{font-size:20px;line-height:1}.tabbar .tbadge{position:absolute;top:4px;left:calc(50% + 6px)}
.tabbar button[aria-current=page]{color:#1f3a68;font-weight:800}.tabbar button[aria-current=page] .tl{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
#app[hidden]~.tabbar,#app[hidden] .tabbar{display:none}
.strip{display:flex;align-items:center;gap:8px;background:#fff3c4;color:#111;border-radius:10px;padding:6px 6px 6px 12px;margin:0 0 12px;font-size:var(--t2)}
.strip[hidden]{display:none}.strip .stxt{flex:1}.strip .linkbtn{background:none;border:0;box-shadow:none;padding:0;min-height:0;text-decoration:underline;font-weight:700;color:#0b2e5c;font-size:inherit}
.strip .stripx{background:transparent;border:0;box-shadow:none;min-height:36px;min-width:36px;padding:0;font-size:16px;color:#111}
html.dark .strip{background:#3a3220;color:#ffe9a8}html.dark .strip .stripx{color:#ffe9a8}html.dark .strip .linkbtn{color:#ffe08a}
html.dark .tabbar{background:#161b22;border-top-color:#ffffff1a}html.dark .tabbar button{color:#aab4c0}html.dark .tabbar button[aria-current=page]{color:#8fc1ff}
html.dark .shell36 .hsearch{background:#222a35;color:#eef}
.shell36 #searchCard{background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 14px}
.shell36 #searchCard label[for=q],.shell36 #q,.shell36 .whobar{display:none}
.shell36:not(.searchmode) #searchCard .sortbar,.shell36:not(.searchmode) #dealMenu{display:none}
.shell36 #cats{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -12px;padding:2px 12px 4px;gap:8px}
.shell36 #cats::-webkit-scrollbar{display:none}
.shell36 #cats button{flex:0 0 auto;white-space:nowrap;min-height:38px;border:0;background:#eef1f5;color:#111;font-size:var(--t2);font-weight:600;box-shadow:none}
.shell36 #cats button[aria-pressed=true]{background:#1f3a68;color:#fff}
html.dark .shell36 #cats button{background:#222a35;color:#eef}html.dark .shell36 #cats button[aria-pressed=true]{background:#8fc1ff;color:#000}
.shell36 .cath{font-size:var(--t1);font-weight:800;margin:22px 0 10px;border:0}.shell36 .cath small{font-size:var(--t2);font-weight:500;color:#666}
html.dark .shell36 .cath small{color:#aab4c0}
.shell36 #deals .dealcard:not(.insheet){padding:0;border:0;box-shadow:none;background:transparent;margin:0;cursor:pointer;border-radius:12px}
.shell36 #deals .dealcard:not(.insheet)>:not(.heropic):not(div:not([class])),.shell36 #deals .dealcard:not(.insheet)>div:not([class])>:not(.pricerow):not(.dealname):not(.tilemeta){display:none!important}
.shell36 #deals .dealcard:not(.insheet) .heropic{margin:0 0 8px;height:auto;aspect-ratio:4/3;border-radius:12px}
.shell36 #deals .dealcard:not(.insheet) .heroimg{height:100%}.shell36 #deals .dealcard:not(.insheet) .herotags,.shell36 #deals .dealcard:not(.insheet) .herocap{display:none}
.shell36 #deals .dealcard:not(.insheet) .pricerow{margin:0}.shell36 #deals .dealcard:not(.insheet) .qtyleft,.shell36 #deals .dealcard:not(.insheet) .reg,.shell36 #deals .dealcard:not(.insheet) .dropped{display:none}
.shell36 #deals .dealcard:not(.insheet) .pricebig{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.shell36 #deals .dealcard:not(.insheet) .now{font-size:var(--t1);font-weight:800}
.shell36 #deals .dealcard:not(.insheet) .offtag{font-size:var(--t2);padding:1px 6px;border:0}
.shell36 #deals .dealcard:not(.insheet) .dealname{font-size:var(--t2);font-weight:600;margin:2px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tilemeta{display:flex;flex-direction:column;font-size:var(--t2);color:#666}.tilemeta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.dark .tilemeta{color:#aab4c0}.insheet .tilemeta{display:none}
.shell36 #deals .dealcard.selected:not(.insheet){outline:none}
.shell36 .dealrow{gap:14px}.shell36 .dealrow>.dealcard{flex:0 0 44%;max-width:200px;scroll-snap-align:start}
.shell36 #deals:not(:has(.catsec)):not(:has(.storerowsec)){display:grid;grid-template-columns:1fr 1fr;gap:20px 14px}
.shell36 #deals>:not(.dealcard){grid-column:1/-1}
.shell36.storeprofile .catsec{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px}.shell36.storeprofile .catsec>.cath{grid-column:1/-1;margin-bottom:0}
.shell36 .storerow{gap:16px}.shell36 .storecard{flex:0 0 76px;display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:0;box-shadow:none;padding:0;min-height:0;text-align:center;scroll-snap-align:start}
.shell36 .storecard .slogo{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1f3a68;color:#fff;font-size:24px;font-weight:800}
.shell36 .storecard .scname{font-size:var(--t2);font-weight:700;width:76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shell36 .storecard .scmeta{font-size:12px;color:#666}.shell36 .storecard .scdeals{display:none}
.shell36 .storecard .openlab{font-size:11px;padding:0 4px;border:0}
html.dark .shell36 .storecard .slogo{background:#8fc1ff;color:#000}html.dark .shell36 .storecard .scmeta{color:#aab4c0}html.dark .shell36 .storecard{background:transparent;color:#eef}
.sheetov{position:fixed;inset:0;z-index:120;background:#0008;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--card-bg,#fff);width:100%;max-width:640px;max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:18px 18px 0 0;padding:6px 16px calc(16px + env(safe-area-inset-bottom));box-sizing:border-box}
.sheetbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-6px;background:inherit;z-index:2;padding:6px 0}
.grab{width:40px;height:5px;border-radius:3px;background:#ccc;margin-left:calc(50% - 20px)}
.sheetx{background:transparent;border:0;box-shadow:none;font-weight:700;min-height:40px}
.sheet .dealcard.insheet{box-shadow:none;border:0;margin:0;padding:0 0 8px}.sheet .insheet .heropic{margin:0 0 12px;border-radius:12px}
body.sheetopen{overflow:hidden}html.dark .sheet{background:#161b22}
.shell36 header.shophdr h1{grid-column:1;grid-row:1}.shell36 header.shophdr .hbell{grid-column:2;grid-row:1}.shell36 header.shophdr .hsearch{grid-row:2}
.strip .stxt>span{display:block}.strip .linkbtn{display:inline;margin-left:4px}
.shell36 .storecard .openlab{white-space:nowrap}
.strip .stxt{text-align:left}.strip .linkbtn{width:auto;display:inline-block;vertical-align:baseline}
.shell36 #deals .dealcard:not(.insheet) .offtag{white-space:nowrap;font-size:13px}
html.dark .hbell,.hbell{background:transparent;border:0;box-shadow:none;color:#fff}
/* ===== update 37 #12: store page shows one dropdown per section, never stacked/overlapping ===== */
.menubar[hidden],body[data-sec=profile] #menubar,body[data-sec=finance] #menubar{display:none!important}
.menulist[hidden]{display:none!important}
/* ===== update 39 (#15): delete account — orange + ⚠️ text, never red/green ===== */
.dangerzone{margin-top:22px;padding-top:16px;border-top:1px dashed #b35200}.dangerzone h4,.dangerzone h2{margin:0 0 6px;color:#8a3f00}
section.dangerzone{border:2px dashed #b35200;border-top-width:2px}
.delbtn-outline{background:#fff;color:#8a3f00;border:2px solid #b35200;font-weight:700;width:100%;min-height:48px}
.deldlg .delwarn{background:#fff3e6;border-left:4px solid #b35200;border-radius:8px;padding:10px 12px;margin:8px 0 6px}.deldlg .delwarn ul{margin:6px 0 0;padding-left:20px}.deldlg .delwarn li{margin:4px 0}
.deldlg label{display:block;margin:12px 0 4px;font-weight:700}.deldlg input{width:100%;box-sizing:border-box;min-height:46px;font-size:16px}
.deldlg #delWord{text-transform:uppercase;letter-spacing:2px}
button.delbtn{background:#b35200;border-color:#b35200;color:#fff;font-weight:800}button.delbtn:disabled{background:#d9d9d9;color:#222;border:2px dashed #555;opacity:1}
.delmsg{margin-top:10px;background:#fff3c4;color:#111;border-radius:8px;padding:8px 10px;font-weight:600}
html.dark .dangerzone h4,html.dark .dangerzone h2{color:#ffb066}html.dark .delbtn-outline{background:transparent;color:#ffb066;border-color:#ff9a3d}
html.dark .deldlg .delwarn{background:#3a2a1a;color:#ffe2c4}html.dark button.delbtn:disabled{background:#3a4250;color:#eceff3;border-color:#c9d1db}html.dark .delmsg{background:#3a3220;color:#ffe9a8}
