

/* ==== ITEM-LEVEL RECEIPT SPLITTING ======================================= */
#rsSheet.rs-bg{
  position:fixed; inset:0; z-index:10019; background:rgba(30,36,30,.44);
  display:flex; align-items:center; justify-content:center; padding:20px;
  font-family:'Nunito',system-ui,sans-serif;
}
#rsSheet .rs-box{
  position:relative; width:min(620px,100%); max-height:90vh; overflow:auto;
  background:#FFFDF9; border:1px solid #E7E2D6; border-radius:24px; padding:26px 24px 20px;
  box-shadow:0 26px 64px rgba(30,36,30,.24);
}
#rsSheet .rs-x{
  position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:50%;
  border:1px solid #E7E2D6; background:#fff; cursor:pointer;
  color:#3D4A3A !important; -webkit-text-fill-color:#3D4A3A !important;
}
#rsSheet .rs-t{
  margin:0 40px 6px 0; font-family:'Playfair Display',Georgia,serif; font-size:1.32rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#rsSheet .rs-l{ margin:0 0 14px; font-size:.88rem; line-height:1.55;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#rsSheet .rs-sh{
  margin:18px 0 10px; font-size:.74rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important;
}
#rsSheet .rs-i{
  width:100%; box-sizing:border-box; border:1px solid #E4DFD2; border-radius:14px;
  padding:12px 14px; font:inherit; font-size:.9rem; background:#fff; min-height:150px; resize:vertical;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#rsSheet .rs-note, #rsSheet .rs-hint{
  margin:10px 0 0; font-size:.78rem; line-height:1.55;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#rsSheet .rs-note{ padding:11px 13px; background:#F4F6F1; border:1px solid #E2E8DD; border-radius:12px; }
#rsSheet .rs-who{ display:flex; gap:8px; flex-wrap:wrap; }
#rsSheet .rs-wb, #rsSheet .rs-pp{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer; font:inherit;
  font-size:.84rem; font-weight:700; border-radius:999px; padding:7px 14px 7px 7px; min-height:46px;
  background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#rsSheet .rs-wb.on, #rsSheet .rs-pp.on{
  background:#EDF3E9; border-color:#A9C99B;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#rsSheet .rs-av{
  width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#EEF4EC; font-size:.7rem; font-weight:800; flex:none;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#rsSheet .rs-pp.on .rs-av{ background:#fff; }
#rsSheet .rs-prefs{ display:grid; gap:10px; }
#rsSheet .rs-prow{ display:flex; gap:10px; align-items:flex-start; flex-wrap:wrap; }
#rsSheet .rs-pn{ min-width:74px; font-size:.86rem; font-weight:800; padding-top:9px;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-pchips{ display:flex; gap:6px; flex-wrap:wrap; flex:1; }
#rsSheet .rs-pc{
  cursor:pointer; font:inherit; font-size:.75rem; font-weight:700; border-radius:999px;
  padding:8px 12px; min-height:40px; background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#rsSheet .rs-pc.on{ background:#4E6640; border-color:#4E6640;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
#rsSheet .rs-catex{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
#rsSheet .rs-cx{
  cursor:pointer; font:inherit; font-size:.76rem; font-weight:700; border-radius:999px;
  padding:9px 13px; min-height:42px; background:#F4F6F1; border:1px dashed #CFE0C8;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#rsSheet .rs-items{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
#rsSheet .rs-item{
  background:#fff; border:1px solid #E8E4DC; border-radius:16px; padding:14px 16px;
  display:flex; flex-direction:column; gap:8px;
}
#rsSheet .rs-item.is-charge{ background:#FBFAF8; }
#rsSheet .rs-item.is-check{ border-color:#E8D8B8; background:#FDFBF5; }
#rsSheet .rs-ih{ display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
#rsSheet .rs-in{ font-size:.98rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-ia{ font-size:.98rem; font-weight:800; white-space:nowrap;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-catrow{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
#rsSheet .rs-cat{
  font-size:.74rem; font-weight:700; border-radius:999px; padding:4px 10px; background:#F2F4EF;
  color:#4A5442 !important; -webkit-text-fill-color:#4A5442 !important;
}
#rsSheet .rs-chg{
  cursor:pointer; font:inherit; font-size:.72rem; font-weight:800; border-radius:999px;
  padding:7px 11px; min-height:36px; background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#rsSheet .rs-flag{
  font-size:.75rem; font-weight:800; border-radius:10px; padding:7px 11px;
  background:#FBF3E4; border:1px solid #E8D8B8;
  color:#6B5518 !important; -webkit-text-fill-color:#6B5518 !important;
}
#rsSheet .rs-quick{ display:flex; gap:6px; flex-wrap:wrap; }
#rsSheet .rs-q{
  cursor:pointer; font:inherit; font-size:.74rem; font-weight:800; border-radius:999px;
  padding:8px 12px; min-height:40px; background:#F4F6F1; border:1px solid #E2E8DD;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#rsSheet .rs-people{ display:flex; gap:6px; flex-wrap:wrap; }
#rsSheet .rs-pp{ font-size:.78rem; padding:5px 12px 5px 5px; min-height:42px; }
#rsSheet .rs-why{ font-size:.75rem; line-height:1.5;
  color:#6B7280 !important; -webkit-text-fill-color:#6B7280 !important; }
#rsSheet .rs-svc{ display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
#rsSheet .rs-svl{ width:100%; font-size:.76rem; font-weight:800;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important; }
#rsSheet .rs-sv{
  cursor:pointer; font:inherit; font-size:.74rem; font-weight:700; border-radius:999px;
  padding:8px 12px; min-height:40px; background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#rsSheet .rs-sv.on{ background:#4E6640; border-color:#4E6640;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
#rsSheet .rs-totals{ list-style:none; margin:0 0 14px; padding:0; display:grid; gap:8px; }
#rsSheet .rs-tot{ background:#fff; border:1px solid #E8E4DC; border-radius:16px; overflow:hidden; }
#rsSheet .rs-tb{
  display:flex; align-items:center; gap:10px; width:100%; cursor:pointer; font:inherit; text-align:left;
  background:transparent; border:0; padding:13px 15px; min-height:56px;
}
#rsSheet .rs-tn{ flex:1; font-size:.95rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-tv{ font-size:1.05rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-tx{ font-size:.72rem; font-weight:800; white-space:nowrap;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important; }
#rsSheet .rs-break{ display:flex; flex-direction:column; gap:4px; padding:0 15px 14px; }
#rsSheet .rs-brow{ display:flex; justify-content:space-between; gap:12px; font-size:.84rem;
  color:#4A5462 !important; -webkit-text-fill-color:#4A5462 !important; }
#rsSheet .rs-brow strong{ color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-brow.is-zero{ color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important; }
#rsSheet .rs-recon{
  display:flex; flex-direction:column; gap:4px; padding:13px 15px;
  background:#F4F6F1; border:1px solid #E2E8DD; border-radius:14px;
}
#rsSheet .rs-rrow{ display:flex; justify-content:space-between; gap:12px; font-size:.84rem;
  color:#4A5462 !important; -webkit-text-fill-color:#4A5462 !important; }
#rsSheet .rs-rrow strong{ color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-rrow.is-bad strong{ color:#94465A !important; -webkit-text-fill-color:#94465A !important; }
#rsSheet .rs-warn{
  display:flex; flex-direction:column; gap:5px; align-items:flex-start; margin-bottom:14px;
  padding:14px 16px; background:#FBF3E4; border:1px solid #E8D8B8; border-radius:14px;
}
#rsSheet .rs-wt{ font-size:.98rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-ws{ font-size:.84rem; line-height:1.5;
  color:#4A5462 !important; -webkit-text-fill-color:#4A5462 !important; }
#rsSheet .rs-learn{
  display:flex; flex-direction:column; gap:5px; margin-top:14px;
  padding:14px 16px; background:#EDF3E9; border:1px solid #CFE0C8; border-radius:14px;
}
#rsSheet .rs-lt{ font-size:.92rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-ls{ font-size:.82rem;
  color:#4A5462 !important; -webkit-text-fill-color:#4A5462 !important; }
#rsSheet .rs-lb{ display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; }
#rsSheet .rs-foot{ display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap;
  margin-top:18px; padding-top:14px; border-top:1px solid #EFEAE0; }
#rsSheet .rs-btn{
  cursor:pointer; font:inherit; font-size:.86rem; font-weight:800; border-radius:999px;
  padding:12px 20px; min-height:48px;
  background:#fff !important; border:1px solid #DDD7C9 !important;
  color:#3D4A3A !important; -webkit-text-fill-color:#3D4A3A !important;
}
#rsSheet .rs-btn.is-primary{ background:#4E6640 !important; border-color:#4E6640 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
#rsSheet .rs-btn[disabled]{ opacity:.45; cursor:not-allowed; }
#rsSheet button:focus-visible, #rsSheet .rs-i:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
/* fast "not mine" mode */
#rsSheet .rs-fast{ margin-bottom:12px; }
#rsSheet .rs-cx.is-fast{ background:#EDF3E9; border-style:solid; border-color:#A9C99B; font-size:.82rem; }
#rsSheet .rs-fh{ display:flex; flex-direction:column; gap:2px; margin-bottom:8px; }
#rsSheet .rs-fh strong{ font-size:.92rem;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-fh span{ font-size:.8rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#rsSheet .rs-fwho{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
#rsSheet .rs-fw{
  cursor:pointer; font:inherit; font-size:.78rem; font-weight:700; border-radius:999px;
  padding:8px 13px; min-height:40px; background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#rsSheet .rs-fw.on{ background:#4E6640; border-color:#4E6640;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
#rsSheet .rs-nm{
  align-self:flex-start; cursor:pointer; font:inherit; font-size:.78rem; font-weight:800;
  border-radius:999px; padding:9px 14px; min-height:42px;
  background:#fff; border:1px dashed #CFE0C8;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#rsSheet .rs-nm.on{ background:#EDF3E9; border-style:solid; border-color:#A9C99B; }
/* completion */
#rsSheet .rs-done{
  display:flex; flex-direction:column; gap:2px; align-items:flex-start; margin-bottom:14px;
  padding:18px; background:#EDF3E9; border:1px solid #CFE0C8; border-radius:18px;
}
#rsSheet .rs-dt{ font-family:'Playfair Display',Georgia,serif; font-size:1.3rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-ds{ font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-top:6px;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important; }
#rsSheet .rs-dv{ font-family:'Playfair Display',Georgia,serif; font-size:1.6rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-sum{ list-style:none; margin:0 0 14px; padding:0; display:grid; gap:8px; }
#rsSheet .rs-srow{
  display:flex; align-items:center; gap:10px;
  background:#fff; border:1px solid #E8E4DC; border-radius:14px; padding:12px 15px;
}
#rsSheet .rs-sn{ flex:1; font-size:.92rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-sv{ font-size:1rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rsSheet .rs-dest{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#rsSheet .rs-d{
  cursor:pointer; font:inherit; font-size:.84rem; font-weight:800; border-radius:14px;
  padding:14px 16px; min-height:52px; text-align:left;
  background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#rsSheet .rs-d:hover{ background:#F4F6F1; border-color:#CFE0C8; }
#rsSheet .rs-dn{
  display:flex; flex-direction:column; gap:4px; margin-top:12px;
  padding:12px 14px; background:#F4F6F1; border:1px solid #E2E8DD; border-radius:14px;
}
#rsSheet .rs-dn span{ font-size:.82rem; line-height:1.5;
  color:#4A5442 !important; -webkit-text-fill-color:#4A5442 !important; }
@media (max-width:560px){
  #rsSheet .rs-dest{ grid-template-columns:minmax(0,1fr); }
}

.rs-toast{
  position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(12px); z-index:10020;
  background:#243447; color:#fff !important; -webkit-text-fill-color:#fff !important;
  padding:12px 20px; border-radius:999px; font-size:.85rem; font-weight:700;
  font-family:'Nunito',system-ui,sans-serif; opacity:0; pointer-events:none;
  transition:opacity .2s, transform .2s; max-width:90vw; text-align:center;
}
.rs-toast.on{ opacity:1; transform:translateX(-50%) translateY(0); }
@media (max-width:640px){
  #rsSheet.rs-bg{ padding:0; align-items:flex-end; }
  #rsSheet .rs-box{ width:100%; max-height:94vh; border-radius:24px 24px 0 0; padding:22px 16px 18px; }
  #rsSheet .rs-foot .rs-btn{ flex:1; }
  #rsSheet .rs-pn{ min-width:0; width:100%; padding-top:0; }
}

