
/* My Week / Daily Workouts / Journal */
.rvp-root{ background:#FEFDFB !important; font-family:'Nunito',system-ui,sans-serif; }
.rvp-wrap{ max-width:900px; margin:0 auto; padding:clamp(18px,3vw,30px) clamp(16px,4vw,28px) 110px; }
.rvp-back{ min-height:44px; padding:11px 18px; border-radius:999px; cursor:pointer; font:inherit;
  font-size:.84rem; font-weight:800; margin:0 0 18px;
  background:#fff !important; border:1px solid #E8E4DC !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.rvp-eb{ margin:0 0 6px; font-size:.7rem; font-weight:800; letter-spacing:.18em;
  text-transform:uppercase; color:#6E7A61 !important; -webkit-text-fill-color:#6E7A61 !important; }
.rvp-h{ font-family:'Playfair Display',Georgia,serif !important;
  font-size:clamp(1.7rem,3.6vw,2.3rem) !important; font-weight:700 !important;
  margin:0 0 8px !important; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.rvp-sub{ margin:0 0 26px; font-size:1rem; line-height:1.7; max-width:60ch;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
.rvp-h3{ font-size:.7rem !important; font-weight:800 !important; letter-spacing:.15em;
  text-transform:uppercase; margin:26px 0 12px !important;
  color:#9AA2AD !important; -webkit-text-fill-color:#9AA2AD !important; }
.rvp-caps{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.rvp-cap{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:left;
  cursor:pointer; font:inherit; min-width:0; padding:16px 16px; border-radius:18px;
  background:#fff !important; border:1px solid #E8E4DC !important;
  transition:transform .15s ease, box-shadow .15s ease; }
.rvp-cap:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(36,52,71,.10); }
.rvp-cap:focus-visible, .rvp-b:focus-visible, .rvp-back:focus-visible{
  outline:3px solid #CF9E3F; outline-offset:3px; }
.rvp-cap-e{ font-size:1.4rem; }
.rvp-cap-n{ font-size:.95rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.rvp-cap-d{ font-size:.8rem; line-height:1.45;
  color:#6D7683 !important; -webkit-text-fill-color:#6D7683 !important; }
.rvp-acts{ display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 0; }
.rvp-b, #rvpSheet .rvp-b{ min-height:48px; padding:13px 20px; border-radius:999px; cursor:pointer;
  font:inherit; font-size:.87rem; font-weight:800;
  background:#fff !important; border:1px solid #E8E4DC !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.rvp-b.is-go, #rvpSheet .rvp-b.is-go{ background:#4A6B3F !important; border-color:#4A6B3F !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
.rvp-list{ display:flex; flex-direction:column; gap:9px; }
.rvp-row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:14px 16px;
  border-radius:16px; background:#fff !important; border:1px solid #E8E4DC !important; }
.rvp-rm{ flex:none; display:flex; flex-direction:column; gap:2px; min-width:96px; }
.rvp-rd{ font-size:.76rem; font-weight:800;
  color:#9AA2AD !important; -webkit-text-fill-color:#9AA2AD !important; }
.rvp-via{ font-size:.72rem;
  color:#6E7A61 !important; -webkit-text-fill-color:#6E7A61 !important; }
.rvp-rt{ flex:1 1 200px; min-width:0; font-size:.94rem;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.rvp-x{ flex:none; width:44px; height:44px; min-height:44px; border-radius:50%; cursor:pointer;
  font:inherit; font-size:.8rem; border:0 !important; background:#F1EDE8 !important;
  color:#78766c !important; -webkit-text-fill-color:#78766c !important; }
.rvp-none{ margin:0; padding:26px 22px; border-radius:18px; text-align:center;
  border:1px dashed #E0D6C6 !important; background:#FBFAF7 !important;
  color:#8B94A0 !important; -webkit-text-fill-color:#8B94A0 !important; }
#rvpSheet{ position:fixed; inset:0; z-index:9700; display:none; align-items:flex-end;
  justify-content:center; background:rgba(20,28,44,.5); font-family:'Nunito',system-ui,sans-serif; }
#rvpSheet.is-open{ display:flex; }
#rvpSheet .rvp-box{ display:block !important; width:100%; max-width:520px;
  max-height:calc(100dvh - 40px); overflow-y:auto; background:#fff !important;
  border-radius:26px 26px 0 0; padding:24px 22px 30px; }
@media (min-width:720px){
  #rvpSheet{ align-items:center; padding:16px; }
  #rvpSheet .rvp-box{ border-radius:26px; padding-bottom:26px; } }
#rvpSheet .rvp-box-h{ display:flex !important; flex-direction:row !important;
  justify-content:space-between; align-items:flex-start; gap:12px; margin:0 0 12px; }
#rvpSheet .rvp-box-t{ font-size:1.2rem !important; font-weight:800 !important; margin:0 !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rvpSheet .rvp-box-x{ flex:none; width:44px; height:44px; min-height:44px; border-radius:50%;
  cursor:pointer; font:inherit; border:0 !important; background:#F1EDE8 !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rvpSheet .rvp-fl{ display:block; margin:0 0 6px; font-size:.7rem; font-weight:800;
  letter-spacing:.13em; text-transform:uppercase;
  color:#78766c !important; -webkit-text-fill-color:#78766c !important; }
#rvpSheet .rvp-i{ box-sizing:border-box; width:100%; min-height:96px; padding:13px 16px;
  border-radius:14px; font:inherit; font-size:.96rem; resize:vertical;
  background:#fff !important; border:1px solid #E8E4DC !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#rvpSheet .rvp-box-f{ display:flex !important; flex-direction:row !important; gap:10px;
  justify-content:flex-end; flex-wrap:wrap; margin:18px 0 0; }
#rvpToast{ position:fixed; left:50%; bottom:26px; transform:translate(-50%,14px); z-index:9800;
  background:#243447 !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
  padding:14px 24px; border-radius:999px; font:700 .87rem/1.35 'Nunito',sans-serif;
  opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; }
#rvpToast.on{ opacity:1; transform:translate(-50%,0); }
@media (max-width:820px){ .rvp-caps{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px){ .rvp-caps{ grid-template-columns:1fr; } }

