/* staff — responsive phone / tablet / desktop */
.staff{padding-bottom:24px}
.loginWrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.loginCard{background:var(--bg2);border:1px solid var(--edge);border-radius:18px;padding:30px 24px;width:100%;max-width:360px;text-align:center}
.loginCard .brand{font-size:20px;font-weight:800;margin-bottom:6px}
.loginCard .brand span{color:var(--ink)}
.loginCard .brand .rs{color:var(--red)}
.loginCard h2{margin:4px 0 18px;font-size:17px;color:var(--sub);font-weight:600}
.loginCard input{width:100%;padding:14px;border-radius:12px;border:1px solid var(--edge);
  background:var(--bg);color:var(--ink);font-size:16px;margin-bottom:12px}
.err{color:var(--red);font-size:13px;margin-top:10px}

.hdrRight{display:flex;align-items:center;gap:12px}
.liveDot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(70,196,132,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(70,196,132,.5)}70%{box-shadow:0 0 0 8px rgba(70,196,132,0)}100%{box-shadow:0 0 0 0 rgba(70,196,132,0)}}
.ghostBtn{background:none;border:1px solid var(--edge);color:var(--sub);border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600}

.tabs{position:sticky;top:0;z-index:20;display:flex;gap:6px;padding:10px 12px;background:#13172a;border-bottom:1px solid var(--edge);overflow-x:auto}
.tabs button{flex:0 0 auto;background:var(--bg2);border:1px solid transparent;color:var(--sub);font-weight:700;
  font-size:14px;padding:9px 15px;border-radius:18px;display:flex;align-items:center;gap:7px}
.tabs button.active{background:var(--gold);color:#13172a}
.cnt{background:rgba(0,0,0,.25);color:inherit;font-size:11px;min-width:18px;height:18px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.tabs button:not(.active) .cnt{background:var(--red);color:#fff}

.orders{padding:14px 12px;display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:680px){.orders{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.orders{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:1400px){.orders{grid-template-columns:1fr 1fr 1fr 1fr}}

.order{background:var(--card);border:1px solid var(--edge);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.order.s-new{border-color:#c9a23a}
.order.s-picking{border-color:#3a6ec9}
.order.s-done{opacity:.62}
.oHead{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:var(--bg2);border-bottom:1px solid var(--edge)}
.oTicket{font-size:20px;font-weight:900;color:var(--gold);letter-spacing:1px}
.oWhen{font-size:12px;color:var(--sub)}
.statusPill{font-size:11px;font-weight:800;text-transform:uppercase;padding:4px 9px;border-radius:10px;letter-spacing:.5px}
.statusPill.new{background:#5a4a14;color:var(--gold)}
.statusPill.picking{background:#1d2f55;color:#7fa8ff}
.statusPill.done{background:#1d3a2a;color:var(--green)}
.oItems{padding:8px 15px;flex:1}
.oItem{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #232842;font-size:15px;cursor:pointer;border-radius:8px;transition:background .1s}
.oItem:last-child{border-bottom:0}
.oItem:hover{background:rgba(255,255,255,.04)}
.oItem:active{background:rgba(255,255,255,.08)}
.oQty{font-weight:900;color:var(--ink);background:var(--bg2);border-radius:7px;padding:2px 9px;min-width:34px;text-align:center;align-self:flex-start;print-color-adjust:exact;-webkit-print-color-adjust:exact}
/* thumbnail on each pick line */
.oThumb{width:40px;height:40px;border-radius:8px;object-fit:contain;background:#fff;flex:0 0 auto}
.oThumb.noThumb{background:var(--bg2)}
.oName{flex:1;line-height:1.25}
.oLinePrice{flex:0 0 auto;text-align:right;font-size:12px;color:var(--sub);line-height:1.3;white-space:nowrap;margin-left:6px}
.oLinePrice small{font-size:10px}
.oLinePrice b{font-size:15px;font-weight:800;color:var(--ink)}
.oSum{padding:8px 15px;border-top:1px dashed var(--edge);display:flex;flex-direction:column;gap:4px}
.oSumRow{display:flex;justify-content:space-between;font-size:13px;color:var(--sub)}
.oSumRow.save{color:var(--green)}
.discBadge{margin-left:8px;font-size:11px;font-weight:800;border-radius:8px;padding:3px 8px;vertical-align:middle;border:1px solid transparent;letter-spacing:.2px}
button.discBadge{cursor:pointer}
.discBadge.ff{color:var(--gold);background:rgba(245,176,21,.15);border-color:rgba(245,176,21,.4)}
.discBadge.staff{color:var(--green);background:rgba(70,196,132,.15);border-color:rgba(70,196,132,.4)}
.discBadge:hover{filter:brightness(1.12)}
.discBadge .caret{font-size:9px;opacity:.8;display:inline-block;transition:transform .15s}
.discBadge.open .caret{transform:rotate(180deg)}
.discReveal{margin:0 15px 10px;padding:8px 11px;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--bg2);border:1px dashed var(--edge);border-radius:9px}
.oCat{font-size:11px;color:var(--sub);text-transform:uppercase}
/* product enlarge / detail modal */
.prodCard{max-width:430px}
.prodPhoto{background:#fff;border-radius:12px;padding:10px;margin-bottom:12px;min-height:60px}
.prodPhoto img{max-width:100%;max-height:320px;object-fit:contain;display:block;margin:0 auto}
.prodBrand{font-size:12px;color:var(--sub);text-transform:uppercase;letter-spacing:.4px}
.prodTier{display:inline-flex;align-items:center;gap:8px;margin:10px 0;font-weight:700;font-size:14px}
.prodTier .dot{width:15px;height:15px;border-radius:50%;border:1px solid rgba(0,0,0,.35);display:inline-block;flex:0 0 auto}
.prodCat{font-size:13px;color:var(--sub)}
.prodPrice{font-size:26px;font-weight:900;color:var(--gold);margin:8px 0}
.prodDesc{font-size:13px;color:var(--ink);line-height:1.45;text-align:left;margin:8px 0 0}
.prodBag{margin:10px 0 0;padding:8px 10px;text-align:left;background:rgba(0,153,68,.08);border:1px solid rgba(0,153,68,.35);border-radius:8px}
.prodBagHd{font-weight:800;font-size:12px;color:var(--green)}
.prodBagList{margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.5;color:var(--ink)}
.oFoot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;border-top:1px solid var(--edge)}
.oTotal{font-size:13px;color:var(--sub)}
.oTotal b{color:var(--ink);font-size:16px}
.actBtn{border:0;font-weight:800;font-size:14px;border-radius:10px;padding:11px 16px;flex:1;max-width:200px}
.actBtn.go{background:var(--gold);color:#13172a}
.actBtn.done{background:var(--green);color:#0b1a12}
.actBtn.reopen{background:var(--bg2);color:var(--sub);border:1px solid var(--edge)}
.emptyQ{grid-column:1/-1;text-align:center;color:var(--sub);padding:60px 10px}

/* ---- multi-user + desktop polish ---- */
.tabs, .orders{ padding-inline: max(12px, calc((100% - var(--maxw, 1240px)) / 2)); }
.whoami{color:var(--gold);font-weight:700;font-size:13px;white-space:nowrap}
@media(max-width:400px){ .whoami{display:none} }
.oStatus{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.oBy{font-size:11px;color:var(--sub);font-weight:600}
.loginCard .brand{display:inline-block;text-decoration:none}
.backLink{display:inline-block;margin-top:16px;color:var(--sub);text-decoration:none;font-size:13px}
.backLink:hover{color:var(--ink)}

/* ---- payment on order cards ---- */
.oPay{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px;border-top:1px dashed var(--edge)}
.ffLink{flex-basis:100%;margin-top:2px;background:none;border:1px dashed var(--gold);color:var(--gold);border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.3px}
.ffLink.on{background:rgba(245,176,21,.12);border-style:solid}
.ffLink:hover{filter:brightness(1.12)}
/* per-line admin discount control on an order line */
.lineDiscBtn{margin-left:6px;font-size:11px;font-weight:800;border-radius:7px;padding:2px 7px;cursor:pointer;background:none;border:1px dashed var(--gold);color:var(--gold);vertical-align:middle}
.lineDiscBtn.on{background:rgba(245,176,21,.16);border-style:solid}
.lineDiscBtn:hover{filter:brightness(1.12)}
.oLinePrice .wasPrice{opacity:.55;font-size:.85em;margin-right:3px}
.ffTag{margin-left:7px;font-size:11px;font-weight:800;color:var(--gold);background:rgba(245,176,21,.15);padding:2px 7px;border-radius:7px;vertical-align:middle}
.ffCard{border-color:var(--gold)}
.ffWarn{color:var(--red);font-size:12px;font-weight:700;text-align:left;margin:6px 2px 0}
.ffTotalRow strong{color:var(--gold)}
.ffRemoveBtn{width:100%;margin-top:10px}
.stLink{flex-basis:100%;margin-top:2px;background:none;border:1px dashed var(--green);color:var(--green);border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.3px}
.stLink.on{background:rgba(70,196,132,.12);border-style:solid}
.stLink:hover{filter:brightness(1.12)}
.stTag{margin-left:7px;font-size:11px;font-weight:800;color:var(--green);background:rgba(70,196,132,.15);padding:2px 7px;border-radius:7px;vertical-align:middle}
.stCard{border-color:var(--green)}
.stCard h2{color:var(--green)}
.stCard .stBlurb{font-size:13px;color:var(--sub);line-height:1.45;margin:2px 2px 12px;text-align:left}
.payLabel{font-size:11px;color:var(--sub);text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.payBtns{display:flex;gap:8px}
.payBtn{border:1px solid var(--edge);background:var(--bg2);color:var(--ink);font-weight:800;font-size:13px;border-radius:9px;padding:9px 13px}
.payBtn.cash{border-color:rgba(70,196,132,.55)}
.payBtn.card{border-color:rgba(42,79,192,.55)}
.payBtn:hover{filter:brightness(1.12)}
.oPay.paid{border-top:1px solid var(--green)}
.paidTag{font-size:13px;font-weight:800;color:var(--green)}
.unpayBtn{background:none;border:0;color:var(--sub);font-size:12px;text-decoration:underline;cursor:pointer}
.order.paidOrder{border-color:var(--green)}

/* ---- cash payment modal ---- */
.payCard{background:var(--bg2);border:1px solid var(--gold);border-radius:18px;padding:24px 22px 22px;max-width:360px;width:100%;position:relative;text-align:center}
.payCard h2{margin:0 0 4px;font-size:19px}
.payTicket{font-size:26px;font-weight:900;color:var(--gold);letter-spacing:1px;margin-bottom:10px}
.payRow{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;padding:9px 2px;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}
.payRow strong{font-size:20px;color:var(--ink)}
.payLbl{display:block;text-align:left;margin:14px 0 6px;font-size:12px;color:var(--sub);text-transform:uppercase;letter-spacing:.5px}
.payInputWrap{display:flex;align-items:center;gap:6px;border:1px solid var(--edge);border-radius:12px;background:var(--bg);padding:0 14px}
.payInputWrap>span{font-size:22px;color:var(--sub);font-weight:700}
.payInputWrap input{flex:1;border:0;background:none;color:var(--ink);font-size:24px;font-weight:800;padding:12px 0;outline:none;width:100%}
.payQuick{display:flex;gap:7px;margin:12px 0 4px}
.payQuick button{flex:1;background:var(--card);border:1px solid var(--edge);color:var(--ink);font-weight:700;font-size:13px;border-radius:9px;padding:9px 4px}
.payQuick button:hover{border-color:var(--gold)}
.payChange{font-size:18px;font-weight:800;margin:8px 0 14px;color:var(--sub)}
.payChange.ok{color:var(--green)}
.payChange.short{color:var(--red)}

/* receipt row on order cards */
.oRcpt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 15px;border-top:1px solid var(--edge);font-size:12px;color:var(--sub)}
.rcptBtn{background:var(--bg2);border:1px solid var(--edge);color:var(--ink);font-weight:700;font-size:12px;border-radius:8px;padding:6px 11px}
.rcptBtn:hover{border-color:var(--gold)}

/* ---- admin reports dashboard ---- */
.repBar, .repSummary, .repTable{ padding-inline: max(12px, calc((100% - var(--maxw,1240px))/2)); }
.repBar{position:sticky;top:53px;z-index:19;background:#0a1130;border-bottom:1px solid var(--edge);padding-top:10px;padding-bottom:10px;display:flex;flex-direction:column;gap:10px}
.repPresets{display:flex;gap:7px;flex-wrap:wrap}
.repPresets button{background:var(--bg2);border:1px solid transparent;color:var(--sub);font-weight:700;font-size:13px;padding:8px 13px;border-radius:16px}
.repPresets button.active{background:var(--gold);color:#13172a}
.repRange{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.repRange input[type=date]{background:var(--bg2);border:1px solid var(--edge);color:var(--ink);border-radius:9px;padding:7px 9px;font-size:13px}
.repArrow{color:var(--sub)}
.repGroup{display:inline-flex;margin-left:auto;border:1px solid var(--edge);border-radius:9px;overflow:hidden}
.repGroup button{background:var(--bg2);border:0;color:var(--sub);font-weight:700;font-size:13px;padding:8px 14px}
.repGroup button.active{background:var(--blue);color:#fff}
.repSummary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:14px;padding-bottom:6px}
@media(min-width:560px){.repSummary{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.repSummary{grid-template-columns:repeat(6,1fr)}}
.repCard{background:var(--card);border:1px solid var(--edge);border-radius:14px;padding:13px 10px;text-align:center}
.repVal{font-size:21px;font-weight:900;color:var(--gold);line-height:1.1}
.repLbl{font-size:11px;color:var(--sub);text-transform:uppercase;letter-spacing:.4px;margin-top:4px}
.repSub{font-size:11px;color:var(--sub);margin-top:3px}
/* per-view averages — a badge row sectioned out above the totals cards */
.repBadges{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:2px}
.repBadge{flex:1 1 130px;display:flex;flex-direction:column;align-items:flex-start;background:var(--bg2);border:1px solid var(--gold);border-radius:12px;padding:10px 14px}
.rbVal{font-size:20px;font-weight:900;color:var(--gold);line-height:1.1}
.rbLbl{font-size:11px;color:var(--ink);text-transform:uppercase;letter-spacing:.4px;margin-top:3px;font-weight:700}
.rbSub{font-size:11px;color:var(--sub);margin-top:2px}
.repTable{padding-top:6px;padding-bottom:30px;display:flex;flex-direction:column;gap:12px}
/* ---- Season-to-date section (inside the Reports panel) ---- */
.repSeason{padding:8px 0 40px;border-top:2px solid var(--edge);margin-top:18px}
.snHead{font-size:16px;font-weight:900;color:var(--gold);margin:8px 0 12px}
.snHead small{display:block;font-size:11px;font-weight:600;color:var(--sub);text-transform:none;letter-spacing:0;margin-top:2px}
.snBeBar{position:relative;height:26px;border-radius:13px;background:var(--card);border:1px solid var(--edge);overflow:hidden;margin-bottom:12px}
.snBeFill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--red),var(--gold));border-radius:13px}
.snBeLbl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.snCards{margin-bottom:16px}
.snTables{display:flex;flex-direction:column;gap:16px}
@media(min-width:900px){.snTables{flex-direction:row}.snTbl{flex:1;min-width:0}}
.snTblHd{font-size:13px;font-weight:800;color:var(--ink);margin-bottom:6px}
.snScroll{max-height:340px;overflow:auto;border:1px solid var(--edge);border-radius:12px}
.snTable{width:100%;border-collapse:collapse;font-size:12px}
.snTable thead th{position:sticky;top:0;background:var(--card);color:var(--sub);font-weight:700;text-align:right;padding:7px 8px;border-bottom:1px solid var(--edge);text-transform:uppercase;font-size:10px;letter-spacing:.3px}
.snTable thead th:first-child{text-align:left}
.snTable td{text-align:right;padding:6px 8px;border-bottom:1px solid var(--edge);color:var(--ink);white-space:nowrap}
.snTable td.snName{text-align:left;white-space:normal;color:var(--ink)}
.snTable tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.snStrong{color:var(--green);font-weight:800}
.snDrop{color:var(--red)}
.snClear{margin-bottom:16px}
.snWaterfall td{font-size:13px}
.snWaterfall tr.wfSub td{font-weight:800;color:var(--ink);border-top:1px solid var(--edge)}
.snWaterfall tr.wfTot td{font-weight:900;font-size:15px;color:var(--gold);border-top:2px solid var(--gold)}
.repRow{background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:12px 14px}
.repRowHead{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}
.repDate{font-weight:800;color:var(--ink)}
.repAmt{color:var(--sub);font-size:13px}
.repAmt b{color:var(--green);font-size:15px}
.repBarTrack{height:8px;background:var(--bg2);border-radius:5px;margin:8px 0 7px;overflow:hidden}
.repBar{height:100%;background:linear-gradient(90deg,var(--red),var(--gold));border-radius:5px}
.repRowMeta{font-size:12px;color:var(--sub)}
/* expandable day drill-down (per-sale + per-line profit) */
.repRow.expandable .repRowHead{cursor:pointer}
.repCaret{display:inline-block;font-size:10px;opacity:.7;transition:transform .15s}
.repRow.open .repCaret{transform:rotate(90deg)}
.repDetail{margin-top:10px;border-top:1px dashed var(--edge);padding-top:8px;display:flex;flex-direction:column;gap:8px}
.rdLoad{font-size:12px;color:var(--sub);padding:4px 0}
/* week expansion → tappable per-day folders, each with that day's totals */
.rdDay{border:1px solid var(--edge);border-radius:10px;margin-bottom:8px;overflow:hidden}
.rdDayHead{display:flex;align-items:baseline;gap:6px;padding:9px 11px;cursor:pointer;font-size:13px;color:var(--ink)}
.rdDay.open .rdDayHead{background:var(--bg2)}
.rdDayHead .repCaret{display:inline-block;font-size:10px;opacity:.7;transition:transform .15s}
.rdDay.open .rdDayHead .repCaret{transform:rotate(90deg)}
.rdDayLabel{font-weight:800}
.rdDaySum{margin-left:auto;color:var(--sub);font-size:12px;white-space:nowrap}
.rdDaySum b{color:var(--green)}.rdDaySum b.rdNeg{color:var(--red)}
.rdDayBody{padding:8px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--edge)}
.rdOrder{background:var(--bg2);border-radius:9px;padding:8px 10px}
.rdHead{display:flex;align-items:baseline;gap:6px;font-size:13px;font-weight:700;color:var(--ink);flex-wrap:wrap}
.rdHead b{color:var(--green)}
.rdColHdr{margin-left:auto;font-size:10px;font-weight:600;color:var(--sub);letter-spacing:.2px}
.rdStaffTag{color:var(--green)}
.rdLine{display:flex;align-items:baseline;gap:8px;font-size:12px;padding:3px 0;border-top:1px solid var(--edge)}
.rdQty{color:var(--sub);min-width:28px}
.rdName{flex:1;color:var(--ink)}
.rdDisc{color:var(--gold);font-weight:700;font-size:11px}
.rdNums{color:var(--sub);white-space:nowrap}
.rdNums b{color:var(--green);margin-left:4px}
.rdNums b.rdNeg{color:var(--red)}
/* grab-bag line + its contents nested underneath (like a category) */
.rdLine.rdBag{border-top:1px solid var(--edge)}
.rdLine.rdSub{border-top:none;padding:1px 0 1px 14px;font-size:11px;color:var(--sub)}
.rdLine.rdSub .rdName{color:var(--sub)}
.rdLine.rdSub .rdQty{min-width:24px}
.rdSubCost{color:var(--sub);font-size:11px}
/* per-order cost + profit roll-up under each order's lines */
.rdOrderSum{display:flex;justify-content:flex-end;gap:6px;font-size:11px;color:var(--sub);padding-top:5px;margin-top:4px;border-top:1px solid var(--edge)}
.rdOrderSum b{color:var(--green)}.rdOrderSum b.rdNeg{color:var(--red)}
/* itemized "discounts given" block in the day drill-down */
.rdDisc{margin-top:7px;padding-top:6px;border-top:1px dashed var(--edge)}
.rdDiscHd{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--sub);margin-bottom:3px}
.rdDRow{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink);padding:1px 0}
.rdDAmt{color:var(--gold);font-weight:700;white-space:nowrap}
.rdNoDisc{margin-top:7px;padding-top:6px;border-top:1px dashed var(--edge);font-size:11px;color:var(--sub);text-align:center}
/* order total at the very end — manual adjustment struck through + adjusted value */
.rdTotal{display:flex;align-items:baseline;gap:8px;justify-content:flex-end;margin-top:6px;padding-top:6px;border-top:1px solid var(--edge);font-size:13px;font-weight:700;color:var(--ink)}
.rdTotal b{font-size:16px;color:var(--gold)}
.rdWas{color:var(--red);text-decoration:line-through;font-weight:600;opacity:.85}
.rdAdjTag{font-size:10px;font-weight:700;color:var(--red);border:1px solid rgba(212,32,47,.5);border-radius:6px;padding:1px 6px;white-space:nowrap}
.repEmpty{text-align:center;color:var(--sub);padding:50px 10px}

/* multi-view header wrapping */
.hdrRight{flex-wrap:wrap;gap:8px}

/* ---- TIME CLOCK ---- */
.clockMain{padding:18px 14px;max-width:560px;margin:0 auto}
.clkCard{background:var(--card);border:1px solid var(--edge);border-radius:16px;padding:22px 18px;text-align:center}
.clkWho{font-size:18px;font-weight:800;color:var(--gold);margin-bottom:6px}
.clkStatus{font-size:15px;font-weight:700;padding:10px;border-radius:12px;margin:8px 0}
.clkStatus.off{background:var(--tag);color:var(--sub)}
.clkStatus.on{background:#10301f;color:var(--green)}
.clkStatus.lunch{background:#3a2d10;color:var(--gold)}
.clkActions{display:flex;gap:10px;justify-content:center;margin:14px 0}
.clkBtn{flex:1;max-width:200px;border:0;font-weight:800;font-size:16px;border-radius:12px;padding:16px}
.clkBtn.in{background:var(--green);color:#0b1a12}
.clkBtn.out{background:var(--red);color:#fff}
.clkBtn.lunchout{background:var(--gold);color:#13172a}
.clkBtn.lunchin{background:var(--blue);color:#fff}
.clkWeek{font-size:14px;color:var(--sub);margin-top:6px}
.clkWeek b{color:var(--ink);font-size:16px}
.clkHist{margin-top:18px}
.clkHistHd{font-size:12px;text-transform:uppercase;color:var(--sub);font-weight:800;letter-spacing:.5px;margin-bottom:8px}
.clkRow{display:flex;align-items:baseline;gap:10px;padding:9px 4px;border-bottom:1px solid var(--edge);font-size:13px}
.clkDay{font-weight:700;min-width:96px}
.clkTimes{flex:1;color:var(--sub)}
.clkHrs{font-weight:800;color:var(--gold)}

/* ---- SCHEDULE ---- */
.schBar{position:sticky;top:53px;z-index:19;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#0a1130;border-bottom:1px solid var(--edge)}
.schRange{font-weight:800;font-size:15px;min-width:150px;text-align:center}
.schToggle{display:inline-flex;margin-left:auto;border:1px solid var(--edge);border-radius:9px;overflow:hidden}
.schToggle button{background:var(--bg2);border:0;color:var(--sub);font-weight:700;font-size:13px;padding:7px 13px}
.schToggle button.active{background:var(--blue);color:#fff}
.schMain.week{padding:12px;display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:760px){.schMain.week{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.schMain.week{grid-template-columns:1fr 1fr 1fr}}
.schDay{background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:10px 12px;min-height:84px}
.schDayHd{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:800}
.schDayHd .schDate{color:var(--sub);font-weight:600;font-size:12px}
.schAddDay{margin-left:auto;background:var(--bg2);border:1px solid var(--edge);color:var(--gold);font-weight:800;border-radius:8px;width:28px;height:28px;font-size:16px}
.schChips{display:flex;flex-wrap:wrap;gap:6px}
.schChip{border:0;color:#fff;font-weight:800;font-size:12px;border-radius:9px;padding:6px 9px;text-shadow:0 1px 1px rgba(0,0,0,.45)}
.schChip span{font-weight:600;opacity:.92}
.schChip.editable{cursor:pointer}
.schNone{color:var(--sub);font-size:13px}
.schMain.month{padding:10px}
.schMonthHd{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}
.schMonthHd span{text-align:center;font-size:11px;color:var(--sub);font-weight:700;text-transform:uppercase}
.schGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.schCell{background:var(--card);border:1px solid var(--edge);border-radius:8px;min-height:62px;padding:4px}
.schCell.off{opacity:.4}
.schCellDate{font-size:11px;color:var(--sub);font-weight:700}
.schCellChips{display:flex;flex-wrap:wrap;gap:2px;margin-top:3px}
.schDot{width:18px;height:18px;border-radius:50%;border:0;color:#fff;font-size:10px;font-weight:800}
.schDot.editable{cursor:pointer}
.schSelect,.schField{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--edge);background:var(--bg);color:var(--ink);font-size:15px;margin-bottom:4px}
.schTimes{display:flex;gap:10px}
.schTimes>div{flex:1}
.shiftActions{display:flex;gap:10px;align-items:center;margin-top:14px}
.shiftActions .submit{flex:1}
.shiftActions .ghostBtn{color:var(--red);border-color:var(--reddeep)}

/* ---- MANAGE STAFF ---- */
.manageMain{padding:16px 14px;max-width:560px;margin:0 auto}
.mgList{display:flex;flex-direction:column;gap:8px}
.mgRow{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:13px 15px}
.mgWho{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mgName{font-weight:800;font-size:15px}
.mgTag{font-size:10px;font-weight:800;text-transform:uppercase;background:var(--tag);color:#9fc0ff;padding:3px 7px;border-radius:8px}
.mgTag.custom{background:#1d3a2a;color:var(--green)}
.mgReset{background:var(--bg2);border:1px solid var(--edge);color:var(--ink);font-weight:700;font-size:13px;border-radius:9px;padding:8px 12px}
.mgReset:hover{border-color:var(--gold)}
.mgLocked{font-size:12px;color:var(--sub)}
.mgNote{font-size:12px;color:var(--sub);margin-top:14px;line-height:1.5}

/* password modal inputs */
#pwModal .payCard input{width:100%;padding:12px;border-radius:10px;border:1px solid var(--edge);background:var(--bg);color:var(--ink);font-size:15px;margin-bottom:10px}

/* manage sections + punch list */
.mgSection{margin-bottom:24px}
.mgHd{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px}
.mgFilter{margin-left:auto;background:var(--bg2);border:1px solid var(--edge);color:var(--ink);border-radius:9px;padding:6px 9px;font-size:13px}
.punchList{display:flex;flex-direction:column;gap:8px}
.punchRow{background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:11px 14px;cursor:pointer}
.punchRow:hover{border-color:var(--gold)}
.punchTop{display:flex;align-items:baseline;gap:8px}
.punchWho{font-weight:800}
.punchDate{color:var(--sub);font-size:13px}
.punchHrs{margin-left:auto;color:var(--gold);font-weight:800;font-size:13px}
.punchTimes{font-size:13px;color:var(--sub);margin-top:4px;display:flex;align-items:baseline}
.punchEdit{margin-left:auto;color:var(--ink);font-weight:700}

/* ===== staff color badges + picker ===== */
.staffBadge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:800;line-height:1.5;letter-spacing:.2px;vertical-align:middle;white-space:nowrap}
.myColorDot{display:inline-block;width:15px;height:15px;border-radius:50%;background:#d4202f;box-shadow:0 0 0 2px rgba(255,255,255,.25);vertical-align:middle}
#colorBtn{padding-inline:9px}
.colorHint{color:var(--sub);font-size:13px;margin:-4px 0 12px}
.colorPreview{display:flex;justify-content:center;margin:6px 0 16px}
.colorPreview .staffBadge{font-size:16px;padding:6px 18px}
.colorPickRow{display:flex;align-items:center;gap:14px;margin-bottom:6px}
#colorInput{width:54px;height:42px;border:none;background:none;padding:0;cursor:pointer;border-radius:10px}
.colorSwatches{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.colorSwatches .swatch{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.25);cursor:pointer;padding:0}
.colorSwatches .swatch:hover{transform:scale(1.12);border-color:#fff}
.mgSwatch{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);cursor:pointer;padding:0;margin-right:9px;vertical-align:middle;flex:none}
.mgSwatch:hover{border-color:#fff}
.mgWho{display:flex;align-items:center}

/* ---- manual order builder (mobile-first) ---- */
.fab{position:fixed;right:16px;bottom:16px;z-index:30;background:var(--red);color:#fff;border:0;
  font:inherit;font-weight:800;font-size:15px;padding:14px 20px;border-radius:30px;
  box-shadow:0 6px 18px rgba(0,0,0,.45);cursor:pointer}
.fab:active{transform:scale(.97)}
.newOrderWrap{min-height:100vh}
.noSearchBar{position:sticky;top:0;z-index:6;background:var(--bg);padding:10px 14px;border-bottom:1px solid var(--edge)}
#noSearch{width:100%;padding:13px 15px;border-radius:12px;border:1px solid var(--edge);
  background:var(--bg2);color:var(--ink);font-size:16px;outline:none}
#noSearch:focus{border-color:var(--gold)}
.noList{padding:4px 0 96px}
.noRow{display:flex;align-items:center;gap:11px;padding:9px 14px;border-bottom:1px solid #232842}
.noRow .th{width:46px;height:46px;border-radius:9px;object-fit:contain;background:#fff;flex:0 0 auto}
.noRow .th.noThumb{background:var(--bg2)}
.noRow .no-nm{flex:1;min-width:0;font-size:14px;line-height:1.22}
.noRow .no-nm .dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.4);margin-right:5px;vertical-align:middle}
.noRow .no-meta{display:block;font-size:10.5px;color:var(--sub);text-transform:uppercase;letter-spacing:.3px}
.noRow .no-pr{font-weight:800;color:var(--gold);font-size:14px;white-space:nowrap}
.noAdd{background:var(--bg2);border:1px solid var(--edge);color:var(--ink);font-weight:800;
  font-size:15px;width:40px;height:40px;border-radius:10px;flex:0 0 auto;cursor:pointer}
.noAdd:active{background:var(--gold);color:#13172a}
.noStep{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.noStep button{width:36px;height:36px;border-radius:9px;border:1px solid var(--edge);
  background:var(--bg2);color:var(--ink);font-size:19px;font-weight:800;cursor:pointer;line-height:1}
.noStep button:active{background:var(--gold);color:#13172a}
.noStep .q{min-width:24px;text-align:center;font-weight:800;font-size:16px}
.noBar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;gap:12px;
  padding:12px 16px;background:#0a1130;border-top:1px solid var(--edge);
  box-shadow:0 -6px 18px rgba(0,0,0,.4)}
.noBarInfo{flex:1;font-weight:800;font-size:15px}
.noBarInfo #noTotal{color:var(--gold)}
.noSave{display:block;font-size:11px;font-weight:700;color:var(--green);text-transform:none;letter-spacing:0}
.noCreate{background:var(--green);color:#06210f;border:0;font:inherit;font-weight:800;font-size:16px;
  padding:14px 22px;border-radius:12px;cursor:pointer}
.noCreate:disabled{opacity:.5}
.noCreate:active{transform:scale(.98)}
.noEmpty{padding:40px 20px;text-align:center;color:var(--sub)}
/* builder: browse-by-tier groups (like the storefront Deals section) */
.noGroupHead{display:flex;align-items:center;gap:8px;padding:12px 14px 7px;font-size:15px;font-weight:800;
  color:var(--gold);position:sticky;top:62px;background:var(--bg);z-index:4;border-bottom:1px solid var(--edge)}
.noGroupHead small{font-weight:600;font-size:11px;color:var(--sub);text-transform:none;letter-spacing:0}
.noGroupHead .dot{display:inline-block;width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.4);flex:0 0 auto}
.noRow .no-nm .dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.4);margin-right:6px;vertical-align:middle}
.noRow.inCart{background:rgba(245,176,21,.09)}

/* pick-ticket: tier color on the whole product line + tier label under the qty */
.oItem.tier{border-left:7px solid #888;padding-left:9px}
.oQtyWrap{display:flex;flex-direction:column;align-items:center;gap:2px;flex:0 0 auto}
.oQtyWrap .oQty{align-self:center}
.oTier{font-size:9px;font-weight:800;color:var(--sub);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}

/* ---- stock (read-only inventory) view ---- */
.stockSummary{padding:12px 14px}
.stockCards{display:flex;gap:8px;flex-wrap:wrap}
.stockCard{flex:1;min-width:70px;background:var(--bg2);border:1px solid var(--edge);border-radius:10px;padding:9px;text-align:center;cursor:pointer;transition:border-color .12s,background .12s}
.stockCard.active{border-color:var(--gold);background:rgba(245,176,21,.10)}
.stockCard b{display:block;font-size:22px;font-weight:900;color:var(--ink)}
.stockCard span{font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.3px}
.stockCard.ok b{color:var(--green)} .stockCard.low b{color:#f5b015} .stockCard.out b{color:var(--red)}
.stockNote{font-size:11px;color:var(--sub);margin-top:8px}
.stockList{padding:0 0 40px}
.stRow{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid #232842}
.stRow .oThumb{width:40px;height:40px;border-radius:8px;object-fit:contain;background:#fff;flex:0 0 auto}
.stName{flex:1;min-width:0;font-size:14px;line-height:1.2}
.stName .dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.4);margin-right:5px;vertical-align:middle}
.stCat{display:block;font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.3px}
.stQty{font-weight:900;font-size:18px;min-width:34px;text-align:right}
.stPill{font-size:10px;font-weight:800;padding:3px 8px;border-radius:7px;text-transform:uppercase;flex:0 0 auto}
.stPill.in{background:rgba(70,196,132,.18);color:#46c484}
.stPill.low{background:rgba(245,176,21,.2);color:#f5b015}
.stPill.out{background:rgba(212,32,47,.22);color:#ff6b76}

/* ---- shared product-card row + collapsible tier folders (builder + stock) ---- */
.pRow{display:flex;align-items:center;gap:11px;padding:8px 12px 8px 9px;border-bottom:1px solid #232842;border-left:7px solid #888}
.pThumb{width:46px;height:46px;border-radius:9px;object-fit:contain;background:#fff;flex:0 0 auto}
.pThumb.noThumb{background:var(--bg2)}
.pName{flex:1;min-width:0;font-size:14px;line-height:1.22}
.pName .dot{display:inline-block;width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.4);margin-right:5px;vertical-align:middle}
.pCat{display:block;font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.3px}
.pRight{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.pPrice{font-weight:800;color:var(--gold);font-size:14px;white-space:nowrap}
.pQty{font-weight:900;font-size:18px;min-width:30px;text-align:right}
.folder{border-bottom:1px solid var(--edge)}
.folderHead{display:flex;align-items:center;gap:9px;padding:13px 14px;cursor:pointer;background:var(--bg2)}
.folderHead:active{background:#1a2247}
.folderHead .dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.4);flex:0 0 auto}
.fchev{font-size:13px;color:var(--sub);transition:transform .12s;flex:0 0 auto}
.folder.open .fchev{transform:rotate(90deg)}
.fname{font-weight:800;font-size:15px;color:var(--gold)}
.fmeta{margin-left:auto;font-size:11px;color:var(--sub);font-weight:600}
.folderBody{display:none}
.folder.open .folderBody{display:block}
.pRow.adj{cursor:pointer}
.pRow.adj:active{background:rgba(255,255,255,.05)}
.stPill.chk{background:rgba(245,176,21,.2);color:#f5b015}
.stockCard.chk b{color:#f5b015}
/* stock adjust modal */
.invCat{font-size:12px;color:var(--sub);margin:2px 0 12px}
.invCur{font-size:14px;color:var(--ink);margin-bottom:6px}
.invCur b{color:var(--gold);font-size:18px}
.invSetRow{display:flex;align-items:center;gap:10px}
.invSetRow input{flex:1;text-align:center;padding:12px;border-radius:10px;border:1px solid var(--edge);background:var(--bg);color:var(--ink);font-size:24px;font-weight:800;outline:none}
.invStep{width:48px;height:48px;border-radius:11px;border:1px solid var(--edge);background:var(--bg2);color:var(--ink);font-size:24px;font-weight:800;cursor:pointer;flex:0 0 auto}
.invStep:active{background:var(--gold);color:#13172a}
.invField{width:100%;padding:11px;border-radius:10px;border:1px solid var(--edge);background:var(--bg);color:var(--ink);font-size:16px;outline:none}

/* ---- recurring (standing) shifts ---- */
.schChip.recurring{box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}
.schChip .recMark{font-weight:900;opacity:.95}
.schDot.recurring{box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.recurCard{max-width:460px;text-align:left}
.recurCard h2{text-align:center}
.recurList{margin:6px 0 14px;display:flex;flex-direction:column;gap:8px;max-height:34vh;overflow:auto}
.recurRow{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--edge);border-radius:11px;padding:9px 11px}
.recurRow .recurMeta{flex:1;font-size:13px;color:var(--sub)}
.recurRow .recurMeta b{color:var(--ink)}
.recurRow .recurBtns{display:flex;gap:6px}
.recurRow .ghostBtn{padding:5px 9px;font-size:12px}
.ghostBtn.danger{color:var(--red);border-color:var(--reddeep)}
.recurForm{border-top:1px solid var(--edge);padding-top:12px}
.recurForm h3{margin:0 0 8px;font-size:14px;color:var(--gold)}
.dayToggle{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.dayToggle button{flex:1 0 auto;min-width:48px;background:var(--bg);border:1px solid var(--edge);color:var(--sub);
  border-radius:9px;padding:8px 0;font-size:13px;font-weight:700;cursor:pointer}
.dayToggle button.on{background:var(--gold);color:#13172a;border-color:var(--gold)}
.occActions{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.occActions .ghostBtn{color:var(--red);border-color:var(--reddeep);padding:11px}

/* ---- stock adjust modal (delta + recount) + discoverability ---- */
.adjHint{font-size:10px;font-weight:800;color:var(--gold);border:1px solid var(--gold);
  border-radius:6px;padding:1px 6px;margin-left:8px;white-space:nowrap;opacity:.9}
.invCard{max-width:380px;text-align:left;overflow-x:hidden}
/* (b) kill the stray horizontal scrollbar: there's no global reset, so width:100%+padding overflowed */
.invCard, .invCard *{box-sizing:border-box}
.invCard h2{text-align:center}
/* (c) two-pane slider: [adjust] ↔ [product photo + description] */
.invSlider{overflow:hidden;width:100%}
.invTrack{display:flex;align-items:flex-start;transition:transform .25s ease}
.invPane{flex:0 0 100%;max-width:100%;min-width:0}
.invPaneInfo{text-align:center}
.invArrow{position:absolute;top:46%;transform:translateY(-50%);z-index:6;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--edge);background:var(--bg2);color:var(--ink);font-size:20px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;opacity:.9;padding:0}
.invArrowL{left:4px}.invArrowR{right:4px}
.invArrow[hidden]{display:none}
@media (hover:none){ .invArrow{display:none} }   /* touch devices swipe instead */
.invDots{display:flex;justify-content:center;gap:8px;margin-top:12px}
.invDots span{width:8px;height:8px;border-radius:50%;background:var(--edge);cursor:pointer}
.invDots span.active{background:var(--gold)}
.invSection{border:1px solid var(--edge);border-radius:12px;padding:11px 12px;margin:10px 0}
.invAdjRow{display:flex;gap:8px;margin-bottom:9px}
.invAdjRow #invAdjAmt{width:74px;text-align:center;font-size:17px;font-weight:800;
  padding:9px;border-radius:9px;border:1px solid var(--edge);background:var(--bg);color:var(--ink)}
.invAdjRow .schSelect{flex:1}
.invAdjBtns{display:flex;gap:9px}
.invAdjBtns button{flex:1;padding:11px}
.invSection .submit{width:100%;margin-top:2px}
/* edit button on order cards */
.actBtn.editBtn{background:none;border:1px solid var(--edge);color:var(--sub)}
.actBtn.delBtn{background:none;border:1px solid rgba(212,32,47,.5);color:var(--red);flex:0 0 auto;max-width:none}
.actBtn.delBtn:hover{background:rgba(212,32,47,.12)}
.actBtn.saveBtn{background:none;border:1px solid rgba(245,176,21,.5);color:var(--gold);flex:0 0 auto;max-width:none}
.actBtn.saveBtn:hover{background:rgba(245,176,21,.12)}
.actBtn.restoreBtn{background:var(--gold);color:#13172a;flex:0 0 auto;max-width:none}
.oFoot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.oFoot .oTotal{margin-right:auto}

/* ---- per-day weekly schedule editor ---- */
.dayRows{display:flex;flex-direction:column;gap:6px;margin:6px 0 12px}
.dayRow{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--edge);
  border-radius:10px;padding:7px 10px;opacity:.6;transition:opacity .12s}
.dayRow.on{opacity:1;border-color:var(--gold)}
.dayChk{display:flex;align-items:center;gap:7px;flex:1;font-weight:700;font-size:13px;cursor:pointer}
.dayChk input{width:17px;height:17px;accent-color:var(--gold)}
.dayRow input[type=time]{background:var(--bg2);border:1px solid var(--edge);color:var(--ink);
  border-radius:7px;padding:5px 6px;font-size:13px;width:96px}
.dayRow input[type=time]:disabled{opacity:.5}
.dayRow .dDash{color:var(--sub)}
.recurRow .recurMeta i{color:var(--sub)}

/* ---- per-occurrence retime modal ---- */
.occRetime{border:1px solid var(--edge);border-radius:12px;padding:11px 12px;margin:6px 0 10px}
.occRetime .schTimes{margin:6px 0 10px}
.occActions{display:flex;gap:9px}.occActions button{flex:1}
.occOther{display:flex;gap:9px;margin-top:4px}.occOther button{flex:1;font-size:12px}
.ovTag{color:var(--gold);font-weight:800;font-size:11px}

/* ---- modals fit ANY screen: card never exceeds viewport, scrolls inside, Save stays reachable ---- */
.payCard{ max-height:90vh; max-height:calc(100dvh - 28px); overflow-y:auto; overscroll-behavior:contain; }
/* pin the action row so Save is always hittable on a tall form (recur week / stock adjust) */
.recurForm .shiftActions{ position:sticky; bottom:-2px; background:var(--bg2); padding:10px 0 4px; margin-top:10px; box-shadow:0 -8px 10px -8px rgba(0,0,0,.6); }
/* compact the weekly editor on laptop/phone so the whole week fits */
@media (max-height:840px), (max-width:480px){
  .payCard{ padding:18px 15px 12px; }
  .recurCard h2{ font-size:17px; }
  .recurCard .colorHint{ font-size:11px; margin-bottom:6px; }
  .recurList{ max-height:none; gap:6px; margin:5px 0 10px; }
  .recurRow{ padding:7px 9px; }
  .recurForm{ padding-top:10px; }
  .recurForm h3{ font-size:13px; margin-bottom:6px; }
  .dayRows{ gap:4px; margin:5px 0 8px; }
  .dayRow{ padding:5px 8px; gap:6px; }
  .dayChk{ font-size:12px; gap:6px; }
  .dayChk input{ width:16px; height:16px; }
  .dayRow input[type=time]{ width:82px; padding:4px 5px; font-size:12px; }
  .dayRow .dDash{ display:none; }
}

/* ---- weather panel ---- */
.wxMain{padding:18px 14px;max-width:600px;margin:0 auto}
.wxErr{color:var(--sub);padding:20px;text-align:center}

/* ---- stand weather card ---- */
.wxCard{margin:12px 12px 0;background:var(--card);border:1px solid var(--edge);
  border-left:4px solid var(--gold);border-radius:14px;padding:12px 15px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.wxCard .wxNow{display:flex;align-items:center;gap:12px;min-width:0}
.wxCard .wxEmoji{font-size:30px;line-height:1}
.wxCard .wxTemp{font-size:30px;font-weight:900;color:var(--ink);letter-spacing:-1px}
.wxCard .wxMeta{font-size:12.5px;color:var(--sub);line-height:1.45}
.wxCard .wxMeta b{color:var(--ink);font-weight:700}
.wxCard .wxRead{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink);
  background:var(--bg2);border-radius:10px;padding:9px 13px;flex:1 1 220px;min-width:200px}
.wxCard .wxReadEmoji{font-size:20px;line-height:1}
/* read-tag accents on the left border */
.wxCard.wx-good{border-left-color:var(--green)}
.wxCard.wx-wet,.wxCard.wx-storm{border-left-color:#7fa8ff}
.wxCard.wx-iffy{border-left-color:var(--gold)}
.wxCard.wx-windy{border-left-color:#9b8cff}
.wxCard.wx-hot{border-left-color:var(--red)}
@media(max-width:520px){.wxCard{padding:11px 13px}.wxCard .wxRead{flex-basis:100%}}

/* spend-ladder free-gift chooser (order manager, New section) */
.freebiePick{padding:9px 15px;border-top:1px dashed var(--edge);display:flex;flex-direction:column;gap:7px}
.freebiePick.chosen{opacity:.92}
.fbHead{font-size:13px;font-weight:700;color:var(--sub)}
.fbChips{display:flex;flex-wrap:wrap;gap:7px}
.fbChip{border:1px solid rgba(245,176,21,.5);background:rgba(245,176,21,.08);color:var(--gold);
  font-weight:700;font-size:13px;border-radius:999px;padding:7px 13px;cursor:pointer;line-height:1.1}
.fbChip small{opacity:.7;font-weight:600}
.fbChip:hover{background:rgba(245,176,21,.18)}
.fbChip.on{background:var(--gold);color:#13172a;border-color:var(--gold)}
.fbChip.none{border-color:var(--edge);background:var(--bg2);color:var(--sub)}
.fbChip.none.on{background:var(--sub);color:var(--bg2)}
