:root{
  --rg-shop-bg:#090b0f;
  --rg-shop-surface:#12161d;
  --rg-shop-line:rgba(255,255,255,.1);
  --rg-shop-gold:#f6c344;
  --rg-shop-green:#35c878;
  --rg-shop-muted:#9da6b2;
}

.rgClientDietViews{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  padding:6px;
  margin:16px 0 0;
  border:1px solid var(--rg-shop-line);
  border-radius:8px;
  background:#0c0f14;
}

.rgClientDietViews button{
  min-height:44px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#aeb6c1;
  font-size:12px;
  font-weight:900;
}

.rgClientDietViews button.active{
  color:#171109;
  background:linear-gradient(135deg,#ffe486,#f6bd2f);
}

#clientDiet.is-shopping .rgClientDietHero,
#clientDiet.is-shopping .rgClientDietMessage,
#clientDiet.is-shopping .rgClientDietLoading,
#clientDiet.is-shopping .rgClientDietEmpty,
#clientDiet.is-shopping .rgClientDietLayout{
  display:none!important;
}

.rgShoppingShell,
.rgShoppingTrainer{
  color:#f7f9fc;
}

.rgShoppingShell{
  padding-top:20px;
}

.rgShoppingHeader,
.rgShoppingTrainer>header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:24px;
  border:1px solid rgba(246,195,68,.22);
  border-radius:8px;
  background:linear-gradient(135deg,#15191f,#0b0e13);
}

.rgShoppingHeader span,
.rgShoppingListHead span,
.rgShoppingTrainer>header span,
.rgShoppingProgress span{
  color:var(--rg-shop-gold);
  font-size:11px;
  font-weight:900;
}

.rgShoppingHeader h2,
.rgShoppingTrainer>header h2{
  margin:6px 0;
  color:#fff;
  font-size:26px;
}

.rgShoppingHeader p,
.rgShoppingTrainer>header p{
  margin:0;
  color:var(--rg-shop-muted);
}

.rgShoppingControls{
  display:grid;
  grid-template-columns:minmax(300px,1fr) auto auto;
  align-items:end;
  gap:12px;
  margin:14px 0 20px;
}

.rgShoppingRanges,
.rgShoppingTrainerRanges{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.rgShoppingRanges button,
.rgShoppingTrainerRanges button,
.rgShoppingListActions button,
.rgShoppingItemActions button,
.rgShoppingItem>button{
  min-height:42px;
  padding:0 14px;
  border:1px solid var(--rg-shop-line);
  border-radius:6px;
  background:#12161d;
  color:#dbe1e9;
  font-weight:800;
}

.rgShoppingRanges button.active,
.rgShoppingTrainerRanges button.active,
.rgShoppingItemActions button.active{
  border-color:var(--rg-shop-gold);
  color:var(--rg-shop-gold);
  background:#211b0d;
}

.rgShoppingDates{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.rgShoppingDates.is-visible{display:grid}

.rgShoppingDates label,
.rgShoppingMode{
  display:grid;
  gap:5px;
  color:var(--rg-shop-muted);
  font-size:11px;
  font-weight:800;
}

.rgShoppingDates input,
.rgShoppingMode select{
  min-height:44px;
  padding:0 11px;
  border:1px solid var(--rg-shop-line);
  border-radius:6px;
  background:#11151b;
  color:#fff;
}

.rgShoppingGenerate{
  min-height:44px;
  padding:0 18px;
  border:0;
  border-radius:6px;
  background:linear-gradient(135deg,#ffe27c,#f4b820);
  color:#171109;
  font-size:11px;
  font-weight:950;
}

.rgShoppingFeedback,
.rgShoppingBlocked,
.rgShoppingEmpty{
  padding:18px;
  margin:14px 0;
  border:1px solid var(--rg-shop-line);
  border-radius:8px;
  background:var(--rg-shop-surface);
}

.rgShoppingFeedback.is-error,
.rgShoppingBlocked{border-color:rgba(239,68,68,.55)}
.rgShoppingFeedback.is-success{border-color:rgba(53,200,120,.55)}
.rgShoppingFeedback.is-info{border-color:rgba(246,195,68,.4);color:#f7df9b}

.rgShoppingBlocked strong,
.rgShoppingBlocked small{display:block}
.rgShoppingBlocked strong{color:#ff8585}
.rgShoppingBlocked small{margin-top:8px;color:#d9dee5}
.rgShoppingEmpty p{margin:6px 0 0;color:var(--rg-shop-muted)}

.rgShoppingListHead{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  margin:20px 0 10px;
}

.rgShoppingListHead h3{margin:4px 0 0;font-size:21px}
.rgShoppingListHead>strong{color:var(--rg-shop-gold)}

.rgShoppingListActions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.rgShoppingCategory{
  margin-bottom:16px;
  border-top:1px solid var(--rg-shop-line);
}

.rgShoppingCategory>header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px 2px 10px;
}

.rgShoppingCategory>header h3{margin:0;font-size:17px}
.rgShoppingCategory>header span{
  display:grid;
  place-items:center;
  min-width:28px;
  height:28px;
  border-radius:50%;
  background:#28200e;
  color:var(--rg-shop-gold);
  font-weight:900;
}

.rgShoppingItem{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:14px;
  min-height:70px;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:#10141a;
}

.rgShoppingItem:first-child{border-radius:8px 8px 0 0}
.rgShoppingItem:last-child{border-radius:0 0 8px 8px;border-bottom:0}
.rgShoppingItem.is-purchased,
.rgShoppingItem.is-owned{background:#0c1b14}
.rgShoppingItem.is-skipped{opacity:.55}

.rgShoppingCheck{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  cursor:pointer;
}

.rgShoppingCheck input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.rgShoppingCheck>span:first-of-type{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border:2px solid #68717e;
  border-radius:7px;
  background:#080a0e;
}

.rgShoppingCheck input:checked+span:first-of-type{
  border-color:var(--rg-shop-green);
  background:var(--rg-shop-green);
}

.rgShoppingCheck input:checked+span:first-of-type:after{
  content:"";
  width:12px;
  height:7px;
  border-left:3px solid #07100a;
  border-bottom:3px solid #07100a;
  transform:rotate(-45deg) translateY(-1px);
}

.rgShoppingItemMain{min-width:0}
.rgShoppingItemMain strong,
.rgShoppingItemMain small{display:block}
.rgShoppingItemMain strong{overflow-wrap:anywhere}
.rgShoppingItemMain small{margin-top:4px;color:var(--rg-shop-muted);font-size:10px}
.rgShoppingQuantity{color:var(--rg-shop-gold);white-space:nowrap}

.rgShoppingItemActions{display:flex;gap:6px}
.rgShoppingItemActions button{min-height:36px;padding:0 10px;font-size:10px}

.rgShoppingSource{
  grid-column:1/-1;
  padding:12px;
  border-left:3px solid var(--rg-shop-gold);
  background:#0a0d11;
}

.rgShoppingSource p{margin:6px 0;color:#cbd2da;font-size:12px}

.rgShoppingProgress{
  position:sticky;
  bottom:82px;
  z-index:12;
  padding:15px 18px;
  margin-top:22px;
  border:1px solid rgba(246,195,68,.4);
  border-radius:8px;
  background:rgba(9,11,15,.96);
  box-shadow:0 -10px 34px rgba(0,0,0,.32);
  backdrop-filter:blur(14px);
}

.rgShoppingProgress>div:first-child{display:flex;justify-content:space-between}
.rgShoppingProgress>div:first-child strong{color:#fff}
.rgShoppingProgressBar{
  height:8px;
  margin:9px 0;
  overflow:hidden;
  border-radius:4px;
  background:#272b32;
}
.rgShoppingProgressBar span{display:block;height:100%;background:var(--rg-shop-green)}
.rgShoppingProgress p{margin:0;color:var(--rg-shop-muted);font-size:11px}

.rgShoppingHistory{
  margin-top:18px;
  border-top:1px solid var(--rg-shop-line);
}
.rgShoppingHistory summary{padding:16px 0;color:var(--rg-shop-gold);font-weight:900;cursor:pointer}
.rgShoppingHistory>div{display:grid;gap:6px}
.rgShoppingHistory button{
  display:flex;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:10px 12px;
  border:1px solid var(--rg-shop-line);
  border-radius:6px;
  background:#11151b;
  color:#fff;
  text-align:left;
}
.rgShoppingHistory button span{color:var(--rg-shop-muted)}

.rgShoppingTrainer{margin-top:20px}
.rgShoppingTrainer>header{align-items:center}
.rgShoppingTrainerRanges{justify-content:flex-end}

.rgShoppingSkeleton{
  height:92px;
  margin:10px 0;
  border-radius:8px;
  background:linear-gradient(90deg,#11151b,#1a2028,#11151b);
  background-size:200% 100%;
  animation:rgShoppingPulse 1.2s linear infinite;
}

@keyframes rgShoppingPulse{to{background-position:-200% 0}}

@media(max-width:860px){
  .rgShoppingControls{grid-template-columns:1fr 1fr}
  .rgShoppingRanges{grid-column:1/-1}
  .rgShoppingGenerate{grid-column:1/-1}
  .rgShoppingItem{grid-template-columns:minmax(0,1fr) auto}
  .rgShoppingItemActions{grid-column:1/-1;padding-left:46px}
  .rgShoppingTrainer>header{align-items:flex-start;flex-direction:column}
  .rgShoppingTrainerRanges{justify-content:flex-start}
}

@media(max-width:620px){
  .rgShoppingHeader{padding:18px}
  .rgShoppingHeader h2{font-size:22px}
  .rgShoppingControls{grid-template-columns:1fr}
  .rgShoppingRanges,
  .rgShoppingDates,
  .rgShoppingMode,
  .rgShoppingGenerate{grid-column:1}
  .rgShoppingRanges{display:grid;grid-template-columns:repeat(4,1fr)}
  .rgShoppingRanges button{padding:0 6px;font-size:10px}
  .rgShoppingItem{padding:12px 10px;gap:8px}
  .rgShoppingItemActions{padding-left:42px}
  .rgShoppingItemActions button{flex:1}
  .rgShoppingListActions{display:grid;grid-template-columns:1fr 1fr}
  .rgShoppingListActions button:last-child{grid-column:1/-1}
  .rgShoppingHistory button{display:grid}
  .rgShoppingProgress{bottom:76px}
}

@media(max-width:430px){
  .rgShoppingItem{grid-template-columns:minmax(0,1fr)}
  .rgShoppingQuantity{padding-left:46px}
  .rgShoppingItemActions{padding-left:46px}
  .rgShoppingCheck>span:first-of-type{flex-basis:38px;width:38px;height:38px}
}

@media print{
  body *{visibility:hidden!important}
  #rgClientShoppingView,
  #rgClientShoppingView *{visibility:visible!important}
  #rgClientShoppingView{position:absolute;inset:0;width:100%;background:#fff;color:#000}
  .rgShoppingControls,
  .rgShoppingListActions,
  .rgShoppingProgress,
  .rgShoppingHistory,
  .rgShoppingItemActions{display:none!important}
  .rgShoppingItem,
  .rgShoppingCategory{background:#fff;color:#000;border-color:#bbb}
}

/* V12A: shopping is a short checklist, not an inventory console. */
.rgShoppingControls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
.rgShoppingRanges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.rgShoppingRanges button{min-height:45px}
.rgShoppingGenerate{min-height:48px}
.rgShoppingMore{grid-column:1/-1;border-top:1px solid var(--rg-shop-line)}
.rgShoppingMore>summary{display:flex;align-items:center;min-height:45px;color:var(--rg-shop-muted);font-size:12px;font-weight:800;cursor:pointer}
.rgShoppingMore>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:0 0 12px}
.rgShoppingCategory{margin-top:18px;border-radius:6px;overflow:hidden}
.rgShoppingCategory>h3{padding:13px 14px;background:#151a20;color:#fff;font-size:15px}
.rgShoppingItem{min-height:64px}
.rgShoppingCheck{min-height:45px}
.rgShoppingCheck>span:first-of-type{flex-basis:36px;width:36px;height:36px}
.rgShoppingItemActions button,
.rgShoppingListActions button,
.rgShoppingHistory summary,
.rgShoppingHistory button{min-height:45px}
.rgShoppingProgress{position:static;bottom:auto;margin-top:18px;backdrop-filter:none}
.rgShoppingTrainerRanges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,360px)}

@media(max-width:620px){
  .rgShoppingControls{grid-template-columns:1fr}
  .rgShoppingRanges,
  .rgShoppingGenerate,
  .rgShoppingMore{grid-column:1}
  .rgShoppingRanges{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rgShoppingMore>div{grid-template-columns:1fr}
  .rgShoppingItem{grid-template-columns:minmax(0,1fr) auto}
  .rgShoppingQuantity{padding-left:0}
  .rgShoppingItemActions{grid-column:1/-1;padding-left:44px}
}

@media(max-width:430px){
  .rgShoppingHeader{padding:16px 14px}
  .rgShoppingItem{grid-template-columns:minmax(0,1fr)}
  .rgShoppingQuantity,
  .rgShoppingItemActions{padding-left:44px}
  .rgShoppingTrainerRanges{width:100%}
}
