
/* LIFE VAULT landing. Built in the HU language — warm cream, sage, Playfair
   headings, soft cards — deliberately NOT project-management software. */
#lvxSec.lvx-sec{
  /* the hero sits directly above, and its artwork already carries ~26px of its own
     clear space at the bottom, so the section needs very little of its own */
  max-width:1180px; margin:0 auto; padding:10px clamp(16px,4vw,28px) 8px;
  font-family:'Nunito',system-ui,sans-serif;
}
#lvxSec .lvx-eb{
  margin:0 0 6px; font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .lvx-h{
  margin:0 0 8px; font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.5rem,3.4vw,2.1rem); font-weight:700; line-height:1.2;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-sub{
  margin:0 0 18px; font-size:.95rem; line-height:1.6; max-width:62ch;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .lvx-acts{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
#lvxSec .lvx-act{
  cursor:pointer; font:inherit; font-size:.85rem; font-weight:700;
  border-radius:999px; padding:11px 18px; min-height:44px;
  background:#FFFFFF !important; border:1px solid #E4DFD2 !important;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
}
#lvxSec .lvx-act:hover{ background:#F4F6F1 !important; border-color:#CFE0C8 !important; transform:translateY(-1px); }
#lvxSec .lvx-act.is-primary{
  background:#4E6640 !important; border-color:#4E6640 !important;
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
}
#lvxSec .lvx-act.is-primary:hover{ background:#445A38 !important; border-color:#445A38 !important; }
#lvxSec .lvx-act:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }

#lvxSec .lvx-sech{
  margin:0 0 12px; font-family:'Playfair Display',Georgia,serif;
  font-size:1.16rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-att{
  background:#FBF8F2; border:1px solid #EFEAE0; border-radius:22px;
  padding:20px 22px; margin-bottom:26px;
}
#lvxSec .lvx-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
#lvxSec .lvx-item{
  display:flex; align-items:flex-start; gap:12px;
  background:#fff; border:1px solid #EFEAE0; border-radius:16px; padding:13px 15px;
}
#lvxSec .lvx-kind{
  flex:none; min-width:74px; text-align:center;
  background:#EEF4EC; border-radius:999px; padding:4px 10px;
  font-size:.68rem; font-weight:800; letter-spacing:.04em;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .lvx-item.is-late .lvx-kind{
  background:#FBEDEE; color:#94465A !important; -webkit-text-fill-color:#94465A !important;
}
#lvxSec .lvx-it{ display:flex; flex-direction:column; gap:2px; }
#lvxSec .lvx-t{
  font-size:.92rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-m{
  font-size:.8rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .lvx-empty{
  margin:0; padding:18px; text-align:center; background:#fff;
  border:1px dashed #E4DFD2; border-radius:16px; font-size:.88rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .lvx-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
#lvxSec .lvx-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:3px;
  text-align:left; cursor:pointer; font:inherit;
  background:linear-gradient(180deg,#FBFDFA 0%,#FFFFFF 46%) !important;
  border:1px solid #E4EAE0 !important; border-radius:20px;
  padding:18px 18px 16px; min-height:130px;
  box-shadow:0 4px 14px rgba(36,52,71,.05);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
#lvxSec .lvx-card:hover{
  transform:translateY(-2px); box-shadow:0 12px 26px rgba(36,52,71,.11); border-color:#CFE0C8 !important;
}
#lvxSec .lvx-card:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .lvx-ic{ font-size:1.4rem; line-height:1; margin-bottom:6px; }
#lvxSec .lvx-cn{
  font-family:'Playfair Display',Georgia,serif; font-size:1rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-cc{
  font-size:.8rem; font-weight:800;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .lvx-cd{
  font-size:.76rem; line-height:1.45;
  color:#6B7280 !important; -webkit-text-fill-color:#6B7280 !important;
}
.lvx-toast{
  position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(12px);
  z-index:10000; 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;
}
.lvx-toast.on{ opacity:1; transform:translateX(-50%) translateY(0); }
@media (prefers-reduced-motion:reduce){
  #lvxSec .lvx-card,#lvxSec .lvx-act{ transition:none !important; }
  #lvxSec .lvx-card:hover,#lvxSec .lvx-act:hover{ transform:none !important; }
}
@media (max-width:1100px){ #lvxSec .lvx-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:820px){ #lvxSec .lvx-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){
  #lvxSec .lvx-grid{ grid-template-columns:minmax(0,1fr); }
  #lvxSec .lvx-item{ flex-direction:column; gap:6px; }
  #lvxSec .lvx-kind{ min-width:0; }
}


#lvxSec .sr-only{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap;
}

/* the Life Vault form sheet */
#lvxSheet.lvf-bg{
  position:fixed; inset:0; z-index:9999; background:rgba(30,36,30,.40);
  display:flex; align-items:center; justify-content:center; padding:20px;
  font-family:'Nunito',system-ui,sans-serif;
}
#lvxSheet .lvf-box{
  position:relative; width:min(600px,100%); max-height:88vh; overflow:auto;
  background:#FFFDF9; border:1px solid #E7E2D6; border-radius:24px;
  padding:28px 26px 20px; box-shadow:0 26px 64px rgba(30,36,30,.24);
}
#lvxSheet .lvf-x{
  position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:50%;
  border:1px solid #E7E2D6; background:#fff; cursor:pointer; font-size:.95rem;
  color:#3D4A3A !important; -webkit-text-fill-color:#3D4A3A !important;
}
#lvxSheet .lvf-x:hover{ background:#F1F4EE; }
#lvxSheet .lvf-t{
  margin:0 40px 6px 0; font-family:'Playfair Display',Georgia,serif;
  font-size:1.36rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSheet .lvf-lead{
  margin:0 0 18px; font-size:.88rem; line-height:1.6;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSheet .lvf-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#lvxSheet .lvf-f.is-wide{ grid-column:1/-1; }
#lvxSheet .lvf-l{
  display:block; margin-bottom:6px; font-size:.72rem; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important;
}
#lvxSheet .lvf-req{
  text-transform:none; letter-spacing:0; font-size:.66rem; font-weight:700;
  color:#94465A !important; -webkit-text-fill-color:#94465A !important;
}
#lvxSheet .lvf-i{
  width:100%; box-sizing:border-box; min-height:46px;
  border:1px solid #E4DFD2; border-radius:14px; padding:11px 14px;
  font:inherit; font-size:.9rem; background:#fff;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSheet .lvf-area{ min-height:84px; resize:vertical; }
#lvxSheet .lvf-i:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSheet .lvf-h{
  margin:6px 0 0; font-size:.76rem; line-height:1.5;
  color:#6B7280 !important; -webkit-text-fill-color:#6B7280 !important;
}
#lvxSheet .lvf-chips{ display:flex; flex-wrap:wrap; gap:8px; }
#lvxSheet .lvf-chip{
  cursor:pointer; font:inherit; font-size:.8rem; font-weight:700;
  border-radius:999px; padding:9px 14px; min-height:40px;
  background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSheet .lvf-chip.on{
  background:#4E6640; border-color:#4E6640;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
}
#lvxSheet .lvf-note{
  margin:16px 0 0; padding:12px 14px; background:#F4F6F1;
  border:1px solid #E2E8DD; border-radius:14px;
  font-size:.79rem; line-height:1.55;
  color:#4A5442 !important; -webkit-text-fill-color:#4A5442 !important;
}
#lvxSheet .lvf-foot{
  display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap;
  margin-top:18px; padding-top:14px; border-top:1px solid #EFEAE0;
}
#lvxSheet .lvf-btn{
  cursor:pointer; font:inherit; font-size:.86rem; font-weight:800;
  border-radius:999px; padding:12px 22px; min-height:46px;
  background:#4E6640 !important; border:1px solid #4E6640 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
}
#lvxSheet .lvf-btn:hover{ background:#445A38 !important; border-color:#445A38 !important; }
#lvxSheet .lvf-btn--ghost{
  background:#fff !important; border-color:#DDD7C9 !important;
  color:#3D4A3A !important; -webkit-text-fill-color:#3D4A3A !important;
}
#lvxSheet .lvf-btn--ghost:hover{ background:#F1F4EE !important; }
#lvxSheet .lvf-btn:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
@media (max-width:640px){
  #lvxSheet.lvf-bg{ padding:0; align-items:flex-end; }
  #lvxSheet .lvf-box{ width:100%; max-height:93vh; border-radius:24px 24px 0 0; }
  #lvxSheet .lvf-grid{ grid-template-columns:minmax(0,1fr); }
}

#lvxSec .lvx-item .lvx-sent{
  margin-left:auto; align-self:center; flex:none; cursor:pointer; font:inherit;
  font-size:.76rem; font-weight:800; border-radius:999px;
  padding:9px 15px; min-height:40px;
  background:#EEF4EC !important; border:1px solid #D3E2CE !important;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .lvx-item .lvx-sent:hover{ background:#E1EDDC !important; border-color:#BBD3B3 !important; }
#lvxSec .lvx-item .lvx-sent:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .lvx-item{ align-items:center; }
@media (max-width:520px){
  #lvxSec .lvx-item .lvx-sent{ margin-left:0; align-self:flex-start; }
}

#lvxSec .lvx-sechrow{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:14px; flex-wrap:wrap; margin-bottom:12px;
}
#lvxSec .lvx-sechrow .lvx-sech{ margin:0; }
#lvxSec .lvx-link{
  cursor:pointer; font:inherit; font-size:.82rem; font-weight:700;
  background:none; border:0; padding:6px 2px; min-height:34px;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
  text-decoration:underline; text-underline-offset:3px;
}
#lvxSec .lvx-link:hover{ color:#3C5232 !important; -webkit-text-fill-color:#3C5232 !important; }
#lvxSec .lvx-link:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; border-radius:6px; }

#lvxSec .lvx-sechrow{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:14px; flex-wrap:wrap; margin-bottom:12px;
}
#lvxSec .lvx-sechrow .lvx-sech{ margin:0; }
#lvxSec .lvx-link{
  cursor:pointer; font:inherit; font-size:.82rem; font-weight:800;
  background:none; border:0; padding:6px 2px; min-height:36px;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
  text-decoration:underline; text-underline-offset:3px;
}
#lvxSec .lvx-link:hover{ color:#3C5230 !important; -webkit-text-fill-color:#3C5230 !important; }
#lvxSec .lvx-link:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; border-radius:6px; }

/* Life Vault detail panels.
   `.lvf-btn` and `.lvf-i` were only ever scoped to `#lvxSheet`, so inside a panel
   they fell back to browser defaults — an unstyled grey button and a bare input.
   Re-declared here for `#lvxSec`. */
#lvxSec .lvf-btn{
  cursor:pointer; font:inherit; font-size:.86rem; font-weight:800;
  border-radius:999px; padding:12px 22px; min-height:46px;
  background:#4E6640 !important; border:1px solid #4E6640 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
}
#lvxSec .lvf-btn:hover{ background:#445A38 !important; border-color:#445A38 !important; }
#lvxSec .lvf-btn--ghost{
  background:#fff !important; border-color:#DDD7C9 !important;
  color:#3D4A3A !important; -webkit-text-fill-color:#3D4A3A !important;
}
#lvxSec .lvf-btn--ghost:hover{ background:#F1F4EE !important; }
#lvxSec .lvf-btn:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .lvf-i{
  box-sizing:border-box; min-height:46px;
  border:1px solid #E4DFD2; border-radius:14px; padding:11px 14px;
  font:inherit; font-size:.9rem; background:#fff;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvf-i:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }

/* Life Vault detail panels */
#lvxSec .lvp{ padding-bottom:10px; }
#lvxSec .lvp-back{
  cursor:pointer; font:inherit; font-size:.84rem; font-weight:800;
  background:#fff; border:1px solid #E4DFD2; border-radius:999px;
  padding:10px 18px; min-height:44px; margin-bottom:16px;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSec .lvp-back:hover{ background:#F4F6F1; border-color:#CFE0C8; }
#lvxSec .lvp-back:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .lvp-h{
  margin:0 0 6px; font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.3rem,2.6vw,1.7rem); font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvp-sub, #lvxSec .lvp-why{
  margin:0 0 14px; font-size:.9rem; line-height:1.6; max-width:64ch;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .lvp-sech{
  margin:22px 0 10px; font-family:'Playfair Display',Georgia,serif;
  font-size:1.06rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvp-actions{ margin-bottom:16px; display:flex; gap:10px; flex-wrap:wrap; }
#lvxSec .lvp-list{ display:grid; gap:12px; }
#lvxSec .lvp-row{
  display:grid; grid-template-columns:1fr auto; gap:4px 14px; align-items:center;
  text-align:left; cursor:pointer; font:inherit;
  background:#fff; border:1px solid #E4EAE0; border-radius:18px; padding:16px 18px;
  box-shadow:0 3px 12px rgba(36,52,71,.05);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
#lvxSec .lvp-row:hover{ transform:translateY(-1px); box-shadow:0 10px 22px rgba(36,52,71,.10); border-color:#CFE0C8; }
#lvxSec .lvp-row:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .lvp-rt{
  font-family:'Playfair Display',Georgia,serif; font-size:1.02rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvp-rm{
  grid-column:1/-1; font-size:.8rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .lvp-next{
  grid-column:1/-1; font-size:.82rem; font-weight:700; margin-top:2px;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .lvp-bar{
  grid-column:1; display:block; height:7px; border-radius:999px;
  background:#EDEAE2; overflow:hidden; margin-top:8px;
}
#lvxSec .lvp-bar.is-wide{ margin:4px 0 18px; }
/* A global progress-bar rule paints a navy LINEAR-GRADIENT here, and a gradient is
   a background-IMAGE — it sits on top of any background-color, so setting the colour
   alone left the bar navy. The image has to be cleared explicitly. */
#lvxSec .lvp-fill{
  display:block; height:100%; border-radius:999px;
  background-image:none !important;
  background-color:#5F7350 !important;
}
#lvxSec .lvp-pc{
  grid-column:2; align-self:end; font-size:.78rem; font-weight:800;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .lvp-steps, #lvxSec .lvp-dlist{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
#lvxSec .lvp-step, #lvxSec .lvp-drow{
  display:flex; align-items:center; gap:12px;
  background:#fff; border:1px solid #EFEAE0; border-radius:14px; padding:12px 14px;
}
#lvxSec .lvp-tick{
  flex:none; width:28px; height:28px; border-radius:50%; cursor:pointer;
  border:1px solid #CFE0C8; background:#fff; font-size:.85rem; font-weight:800;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
}
#lvxSec .lvp-step.is-done .lvp-tick{ background:#5F7350; border-color:#5F7350; }
#lvxSec .lvp-tick:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .lvp-stext{
  flex:1; font-size:.92rem;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvp-step.is-done .lvp-stext{
  color:#6B7280 !important; -webkit-text-fill-color:#6B7280 !important;
}
#lvxSec .lvp-del{
  /* #7A8290 measured 3.87 on white — the ✕ is a real control, not decoration */
  flex:none; width:34px; height:34px; border-radius:50%; cursor:pointer;
  background:#fff; border:1px solid #EFEAE0; font-size:.8rem;
  color:#5F6773 !important; -webkit-text-fill-color:#5F6773 !important;
}
#lvxSec .lvp-del:hover{ background:#FBEDEE; border-color:#F0D8DA; color:#94465A !important; -webkit-text-fill-color:#94465A !important; }
#lvxSec .lvp-del:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .lvp-add{ display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }
#lvxSec .lvp-add .lvf-i{ flex:1; min-width:180px; }
#lvxSec .lvp-foot{ display:flex; gap:10px; margin-top:22px; padding-top:16px; border-top:1px solid #EFEAE0; flex-wrap:wrap; }
#lvxSec .lvp-none, #lvxSec .lvp-note{
  margin:0; padding:16px; background:#FBFAF8; border:1px dashed #E4DFD2; border-radius:14px;
  font-size:.86rem; line-height:1.55;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .lvp-note{ margin-top:18px; }
#lvxSec .lvp-empty{ padding:26px; text-align:center; background:#FBFAF8; border:1px dashed #E4DFD2; border-radius:18px; }
#lvxSec .lvp-empty p{ margin:0 0 14px; font-size:.92rem; color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#lvxSec .lvp-dwhen{
  flex:none; min-width:96px; font-size:.76rem; font-weight:800; line-height:1.35;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .lvp-dwhen span{ font-weight:600; color:#6B7280 !important; -webkit-text-fill-color:#6B7280 !important; }
#lvxSec .lvp-dit{ flex:1; display:flex; flex-direction:column; gap:2px; }
#lvxSec .lvp-dnote{
  font-size:.8rem; line-height:1.5;
  color:#6B7280 !important; -webkit-text-fill-color:#6B7280 !important;
}
#lvxSec .lvp-dlist.is-past .lvp-drow{ opacity:.72; }
#lvxSec .lvp-kindchip{
  flex:none; background:#EEF4EC; border-radius:999px; padding:4px 10px;
  font-size:.68rem; font-weight:800;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .lvp-mini{ padding:8px 14px !important; min-height:38px !important; font-size:.76rem !important; }
@media (max-width:640px){
  #lvxSec .lvp-drow{ flex-wrap:wrap; }
  #lvxSec .lvp-dwhen{ min-width:0; }
  #lvxSec .lvp-add .lvf-i{ min-width:0; width:100%; }
}

/* ---- Life Vault diary + household planner -------------------------------- */
#lvxSec .dv-people{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
  padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid #EFEAE0;
}
#lvxSec .dv-person{
  display:flex; flex-direction:column; align-items:center; gap:5px;
  background:none; border:0; cursor:pointer; font:inherit; padding:2px; min-height:44px;
}
#lvxSec .dv-av{
  width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:.82rem; font-weight:800; border:1.5px solid transparent;
}
#lvxSec .dv-avadd{ background:#F4F6F1; color:#4E6640 !important; border-color:#CFE0C8; font-size:1.1rem; }
#lvxSec .dv-pn{
  font-size:.72rem; font-weight:700;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSec .dv-person.is-off{ opacity:.34; }
#lvxSec .dv-person:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; border-radius:12px; }
#lvxSec .dv-allbtn{
  margin-left:auto; cursor:pointer; font:inherit; font-size:.78rem; font-weight:800;
  background:#fff; border:1px solid #E4DFD2; border-radius:999px; padding:9px 15px; min-height:40px;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSec .dv-bar{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px;
}
#lvxSec .dv-nav{ display:flex; align-items:center; gap:8px; }
#lvxSec .dv-arw, #lvxSec .dv-today{
  cursor:pointer; font:inherit; font-weight:800; background:#fff;
  border:1px solid #E4DFD2; border-radius:999px; min-height:40px;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSec .dv-arw{ width:40px; font-size:1.05rem; }
#lvxSec .dv-today{ padding:0 15px; font-size:.78rem; }
#lvxSec .dv-arw:hover, #lvxSec .dv-today:hover{ background:#F4F6F1; border-color:#CFE0C8; }
#lvxSec .dv-arw:focus-visible, #lvxSec .dv-today:focus-visible,
#lvxSec .dv-vb:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .dv-range{
  font-family:'Playfair Display',Georgia,serif; font-size:1.02rem; font-weight:700;
  min-width:140px; text-align:center;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .dv-views{ display:flex; gap:6px; }
#lvxSec .dv-vb{
  cursor:pointer; font:inherit; font-size:.78rem; font-weight:800;
  background:#fff; border:1px solid #E4DFD2; border-radius:999px;
  padding:0 14px; min-height:40px;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSec .dv-vb.on{
  background:#243447 !important; border-color:#243447 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
}
#lvxSec .dv-bar .lvf-btn{ margin-left:auto; }

#lvxSec .dv-week{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
#lvxSec .dv-col{ background:#fff; border:1px solid #EFEAE0; border-radius:14px; overflow:hidden; min-height:150px; }
#lvxSec .dv-col.is-today{ border-color:#CFE0C8; background:#FCFDFB; }
#lvxSec .dv-colh{
  width:100%; display:flex; flex-direction:column; align-items:center; gap:1px;
  cursor:pointer; font:inherit; background:#FBFAF8; border:0; border-bottom:1px solid #EFEAE0;
  padding:9px 4px; min-height:44px;
}
#lvxSec .dv-col.is-today .dv-colh{ background:#EEF4EC; }
#lvxSec .dv-dow{
  /* #6B7280 was 4.33 on the column header's warm tint — deepened to clear AA */
  font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:#565E6B !important; -webkit-text-fill-color:#565E6B !important;
}
#lvxSec .dv-dnum{
  font-size:1rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .dv-colb{ padding:8px; display:grid; gap:6px; }
/* the empty-day dash is decorative, so it is hidden from screen readers and given
   enough contrast to be seen rather than guessed at */
/* the empty-day dash: it is aria-hidden decoration, but on the white canvas it
   sat at 3.15:1, so it is deepened to clear AA rather than left as a smudge */
#lvxSec .dv-none{ font-size:.8rem; text-align:center; padding:8px 0;
  color:#6C7580 !important; -webkit-text-fill-color:#6C7580 !important; }
#lvxSec .dv-ev{
  display:block; width:100%; text-align:left; cursor:pointer; font:inherit;
  border:1px solid; border-radius:11px; padding:8px 9px; min-height:44px;
}
#lvxSec .dv-ev:hover{ filter:brightness(.975); }
#lvxSec .dv-ev:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .dv-ev-t{
  display:block; font-size:.8rem; font-weight:800; line-height:1.3;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .dv-ev-m{
  display:block; font-size:.72rem; font-weight:700; margin-top:1px;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .dv-ev-p{ display:flex; align-items:center; gap:4px; margin-top:5px; flex-wrap:wrap; }
#lvxSec .dv-dot{ width:8px; height:8px; border-radius:50%; flex:none; display:inline-block; }
#lvxSec .dv-ev-n{
  font-size:.68rem; font-weight:700;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .dv-ev-k{
  /* sits on the event's own pastel fill, so it needs to be deeper than mid-grey */
  display:inline-block; margin-top:5px; font-size:.62rem; font-weight:800;
  letter-spacing:.06em; text-transform:uppercase;
  color:#525A66 !important; -webkit-text-fill-color:#525A66 !important;
}
#lvxSec .dv-day{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
#lvxSec .dv-drow{ display:flex; align-items:flex-start; gap:12px; }
#lvxSec .dv-time{
  flex:none; min-width:70px; padding-top:9px; font-size:.78rem; font-weight:800;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .dv-time span{ display:block; font-weight:600; color:#8A929C !important; -webkit-text-fill-color:#8A929C !important; }
#lvxSec .dv-drow .dv-ev{ flex:1; }
#lvxSec .dv-ah{
  margin:20px 0 10px; font-family:'Playfair Display',Georgia,serif;
  font-size:1rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .dv-today-chip{
  font-family:'Nunito',sans-serif; font-size:.64rem; font-weight:800; letter-spacing:.06em;
  background:#EEF4EC; border-radius:999px; padding:3px 9px; vertical-align:middle;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .dv-mhead{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; margin-bottom:6px; }
#lvxSec .dv-mhead span{
  text-align:center; font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:#6B7280 !important; -webkit-text-fill-color:#6B7280 !important;
}
#lvxSec .dv-month{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
#lvxSec .dv-mc{
  display:flex; flex-direction:column; gap:3px; align-items:stretch; text-align:left;
  cursor:pointer; font:inherit; background:#fff; border:1px solid #EFEAE0; border-radius:11px;
  padding:7px; min-height:92px;
}
#lvxSec .dv-mc.is-out{ opacity:.42; }
#lvxSec .dv-mc.is-today{ border-color:#CFE0C8; background:#FCFDFB; }
#lvxSec .dv-mnum{
  font-size:.76rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .dv-mev{
  display:flex; align-items:center; gap:4px; border-radius:6px; padding:3px 5px;
  font-size:.64rem; font-weight:700; line-height:1.25;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .dv-more{
  font-size:.62rem; font-weight:800;
  color:#6B7280 !important; -webkit-text-fill-color:#6B7280 !important;
}
@media (max-width:900px){
  /* the brief is explicit: do NOT squeeze the desktop week grid onto a phone —
     the week view becomes a stack of day rows instead */
  #lvxSec .dv-week{ grid-template-columns:minmax(0,1fr); }
  #lvxSec .dv-col{ min-height:0; }
  #lvxSec .dv-colh{ flex-direction:row; gap:8px; justify-content:flex-start; padding-left:12px; }
  #lvxSec .dv-bar .lvf-btn{ margin-left:0; width:100%; }
  #lvxSec .dv-range{ min-width:0; }
  #lvxSec .dv-mc{ min-height:70px; }
  #lvxSec .dv-mev{ font-size:0; padding:3px; }
  #lvxSec .dv-mev .dv-dot{ width:7px; height:7px; }
}

/* MY DIARY on a pale sage canvas. Scoped to the diary view via `data-lvbg` so the
   rest of Life Vault keeps the white she asked for earlier.
   The island's own wrapper is tinted too — leaving it white would show a hard band
   under the diary, the same three-layer problem as before. */
/* DORMANT from Aug 2026 — Diary & Planner is white now and nothing sets
   data-lvbg any more. Kept as the record of the tinted treatment. */
#page-life-vault[data-lvbg="sage"],
#page-life-vault[data-lvbg="sage"] #lifeVaultReact .min-h-screen,
/* `#lvxSec` is the panel the diary is drawn into and carries its OWN white — the
   page behind it was sage but the diary itself still sat on white. */
#page-life-vault[data-lvbg="sage"] #lvxSec{
  background-color:#EEF4EC !important;
}
/* the day column heads were a warm cream that reads yellow against sage */
#page-life-vault[data-lvbg="sage"] #lvxSec .dv-colh{ background:#E4EDE0 !important; }
#page-life-vault[data-lvbg="sage"] #lvxSec .dv-col.is-today .dv-colh{ background:#D6E5D0 !important; }
#page-life-vault[data-lvbg="sage"] #lvxSec .dv-col.is-today{ background:#FBFDFA !important; }
/* the week columns, month cells and event cards stay white/tinted so they lift off
   the sage rather than merging into it */
#page-life-vault[data-lvbg="sage"] #lvxSec .dv-col,
#page-life-vault[data-lvbg="sage"] #lvxSec .dv-mc,
#page-life-vault[data-lvbg="sage"] #lvxSec .lvp-none{
  border-color:#D7E3D2 !important;
}
#page-life-vault[data-lvbg="sage"] #lvxSec .dv-people{ border-bottom-color:#D7E3D2 !important; }
#page-life-vault[data-lvbg="sage"] #lvxSec .dv-arw,
#page-life-vault[data-lvbg="sage"] #lvxSec .dv-today,
#page-life-vault[data-lvbg="sage"] #lvxSec .dv-vb,
#page-life-vault[data-lvbg="sage"] #lvxSec .lvp-back{
  border-color:#D7E3D2 !important;
}

/* ---- Life Vault planner --------------------------------------------------- */
#lvxSec .pl-card{
  background:#fff; border:1px solid #E4EAE0; border-radius:20px;
  padding:22px; margin-bottom:8px; box-shadow:0 4px 14px rgba(36,52,71,.05);
}
#page-life-vault[data-lvbg="sage"] #lvxSec .pl-card{ border-color:#D7E3D2; }
#lvxSec .pl-h{
  margin:0 0 6px; font-family:'Playfair Display',Georgia,serif;
  font-size:1.14rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .pl-p{
  margin:0 0 14px; font-size:.88rem; line-height:1.6; max-width:62ch;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .pl-lab{
  margin:14px 0 8px; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important;
}
#lvxSec .pl-goal{ width:100%; }
#lvxSec .pl-chips{ display:flex; flex-wrap:wrap; gap:8px; }
#lvxSec .pl-chip{
  cursor:pointer; font:inherit; font-size:.8rem; font-weight:700;
  background:#F4F6F1; border:1px solid #DCE5D6; border-radius:999px;
  padding:9px 14px; min-height:40px;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .pl-chip:hover{ background:#E6EDE1; border-color:#C2D3B9; }
#lvxSec .pl-chip:focus-visible,
#lvxSec .pl-pace:focus-visible,
#lvxSec .pl-mini:focus-visible,
#lvxSec .pl-done:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .pl-paces{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
#lvxSec .pl-pace{
  display:flex; flex-direction:column; gap:3px; text-align:left; cursor:pointer; font:inherit;
  background:#fff; border:1px solid #E4DFD2; border-radius:14px; padding:12px 14px; min-height:64px;
}
#lvxSec .pl-pace.on{ background:#EEF4EC; border-color:#5F7350; }
#lvxSec .pl-pt{
  font-size:.9rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .pl-pn{
  font-size:.76rem; line-height:1.4;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .pl-foot{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
#lvxSec .pl-steps{ list-style:none; margin:0 0 14px; padding:0; display:grid; gap:8px; counter-reset:none; }
#lvxSec .pl-step{
  display:flex; align-items:flex-start; gap:10px;
  background:#FBFDFA; border:1px solid #E4EAE0; border-radius:14px; padding:11px 12px;
}
#lvxSec .pl-num{
  flex:none; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#EEF4EC; font-size:.74rem; font-weight:800;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .pl-sbody{ flex:1; display:flex; flex-direction:column; gap:7px; min-width:0; }
#lvxSec .pl-stext{
  width:100%; box-sizing:border-box; min-height:42px;
  border:1px solid #E4DFD2; border-radius:11px; padding:9px 12px;
  font:inherit; font-size:.88rem; background:#fff;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .pl-smeta{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#lvxSec .pl-sdate, #lvxSec .pl-swho{
  min-height:40px; border:1px solid #E4DFD2; border-radius:11px; padding:7px 10px;
  font:inherit; font-size:.8rem; background:#fff;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSec .pl-dot{ width:10px; height:10px; border-radius:50%; display:inline-block; }
#lvxSec .pl-sacts{ display:flex; flex-direction:column; gap:4px; flex:none; }
#lvxSec .pl-mini{
  width:34px; height:34px; border-radius:9px; cursor:pointer; font:inherit; font-size:.8rem;
  background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSec .pl-mini:hover{ background:#F4F6F1; }
#lvxSec .pl-mini.is-x:hover{ background:#FBEDEE; border-color:#F0D8DA; color:#94465A !important; -webkit-text-fill-color:#94465A !important; }
#lvxSec .pl-add{ display:flex; gap:10px; flex-wrap:wrap; }
#lvxSec .pl-add .lvf-i{ flex:1; min-width:180px; }
#lvxSec .pl-week{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
#lvxSec .pl-wrow{
  display:flex; align-items:center; gap:12px;
  background:#fff; border:1px solid #EFEAE0; border-radius:14px; padding:12px 14px;
}
#page-life-vault[data-lvbg="sage"] #lvxSec .pl-wrow{ border-color:#D7E3D2; }
#lvxSec .pl-wdate{
  flex:none; min-width:96px; font-size:.76rem; font-weight:800;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .pl-wbody{ flex:1; display:flex; flex-direction:column; gap:2px; min-width:0; }
#lvxSec .pl-wt{
  font-size:.9rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .pl-wp{
  font-size:.78rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .pl-done{
  flex:none; cursor:pointer; font:inherit; font-size:.76rem; font-weight:800;
  background:#EEF4EC; border:1px solid #D3E2CE; border-radius:999px;
  padding:9px 15px; min-height:40px;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .pl-done:hover{ background:#E1EDDC; border-color:#BBD3B3; }
@media (max-width:720px){
  #lvxSec .pl-paces{ grid-template-columns:minmax(0,1fr); }
  #lvxSec .pl-step{ flex-wrap:wrap; }
  #lvxSec .pl-sacts{ flex-direction:row; width:100%; justify-content:flex-end; }
  #lvxSec .pl-wrow{ flex-wrap:wrap; }
  #lvxSec .pl-wdate{ min-width:0; }
  #lvxSec .pl-add .lvf-i{ min-width:0; width:100%; }
}

/* ---- Life Vault landing, to her mockup ------------------------------------ */
#lvxSec .lvx-mine{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  background:#F4F6F1; border:1px solid #E2E8DD; border-radius:20px;
  padding:16px 20px; margin-bottom:24px;
}
#lvxSec .lvx-mine-ic{
  flex:none; width:44px; height:44px; border-radius:50%; display:flex;
  align-items:center; justify-content:center; background:#E2EBDD; font-size:1.05rem;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .lvx-mine-t{ flex:1; display:flex; flex-direction:column; gap:2px; min-width:200px; }
#lvxSec .lvx-mine-t strong{
  font-size:.95rem; color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-mine-t span{
  font-size:.84rem; line-height:1.5;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .lvx-mine-b{
  flex:none; cursor:pointer; font:inherit; font-size:.84rem; font-weight:800;
  background:#fff; border:1px solid #DDD7C9; border-radius:999px;
  padding:11px 18px; min-height:44px;
  color:#3D4A3A !important; -webkit-text-fill-color:#3D4A3A !important;
}
#lvxSec .lvx-mine-b:hover{ background:#EEF4EC; border-color:#CFE0C8; }
#lvxSec .lvx-mine-b:focus-visible,
#lvxSec .lvx-gc:focus-visible,
#lvxSec .lvx-bc:focus-visible,
#lvxSec .lvx-q:focus-visible,
#lvxSec .lvx-r:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }

#lvxSec .lvx-glance{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
#lvxSec .lvx-gc{
  display:flex; flex-direction:column; gap:3px; text-align:left; cursor:pointer; font:inherit;
  border:1px solid transparent; border-radius:14px; padding:13px 14px; min-height:76px;
}
#lvxSec .lvx-gc.is-sage { background:#EDF3E9; border-color:#D7E3D2; }
#lvxSec .lvx-gc.is-blush{ background:#FBECEF; border-color:#F0DCE1; }
#lvxSec .lvx-gc.is-sky  { background:#EAF1F7; border-color:#D6E3EE; }
#lvxSec .lvx-gc.is-lav  { background:#F1EEF9; border-color:#E1DAF0; }
#lvxSec .lvx-gc.is-cream{ background:#FBF3E4; border-color:#EFE3CB; }
#lvxSec .lvx-gl{
  font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:#525A66 !important; -webkit-text-fill-color:#525A66 !important;
}
#lvxSec .lvx-gt{
  font-size:.86rem; font-weight:800; line-height:1.3;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-gm{
  font-size:.76rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}

/* ---- intro, flow indicator and the secondary Projects card (Aug 2026) ---- */
#lvxSec .lvx-motto{
  font-family:'Playfair Display',Georgia,serif; font-size:1.12rem; font-weight:700;
  margin:2px 0 4px; letter-spacing:.01em;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#lvxSec .lvx-intro{
  font-size:.92rem; line-height:1.7; max-width:60ch; margin:0 0 14px;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#lvxSec .lvx-flow{
  display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:0 0 3px; }
#lvxSec .lvx-flow span{
  font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:#6D7683 !important; -webkit-text-fill-color:#6D7683 !important; }
#lvxSec .lvx-flow i{
  font-style:normal; font-size:.72rem;
  color:#A9B0BA !important; -webkit-text-fill-color:#A9B0BA !important; }
#lvxSec .lvx-flow-sub{
  font-size:.76rem; margin:0 0 18px;
  color:#8A929C !important; -webkit-text-fill-color:#8A929C !important; }

#lvxSec .lvx-sc{
  display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
  width:100%; text-align:left; cursor:pointer; font:inherit; margin:16px 0 0;
  background:#FBF3E4 !important; border:1px solid #EFE3CB !important; border-radius:20px;
  padding:18px 22px; transition:transform .16s ease, box-shadow .16s ease; }
#lvxSec .lvx-sc:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(36,52,71,.10); }
#lvxSec .lvx-sc:focus-visible{ outline:3px solid #CF9E3F; outline-offset:3px; }
#lvxSec .lvx-sc-t{ flex:1 1 260px; min-width:0; display:flex; flex-direction:column; gap:4px; }
#lvxSec .lvx-sc-n{
  font-family:'Playfair Display',Georgia,serif; font-size:1.08rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.02em;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#lvxSec .lvx-sc-tag{ font-size:.86rem; font-weight:700;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important; }
#lvxSec .lvx-sc-note{ font-size:.82rem; line-height:1.6;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#lvxSec .lvx-sc-f{ display:flex; align-items:center; gap:10px; flex:none; }
@media (max-width:620px){
  #lvxSec .lvx-sc{ flex-direction:column; align-items:flex-start; }
}


/* ---- diary row actions: remove and carry over (Aug 2026) ----------------- */
#lvxSec .dv-drow{ align-items:center; }
#lvxSec .dv-rowacts{ display:flex; gap:6px; flex:none; margin-left:8px; }
#lvxSec .dv-ra{
  width:44px; height:44px; min-height:44px; border-radius:12px; cursor:pointer; font:inherit;
  font-size:.95rem; font-weight:800; display:inline-flex; align-items:center; justify-content:center;
  background:#fff !important; border:1px solid #E3E7EC !important;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
  transition:background .14s ease, border-color .14s ease; }
#lvxSec .dv-ra:hover{ background:#F2F5F8 !important; }
#lvxSec .dv-ra.is-x:hover{ background:#FBEDEF !important; border-color:#E9C6CD !important;
  color:#8C4C40 !important; -webkit-text-fill-color:#8C4C40 !important; }
#lvxSec .dv-ra:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
@media (max-width:620px){
  #lvxSec .dv-drow{ flex-wrap:wrap; }
  #lvxSec .dv-rowacts{ margin-left:auto; }
}
/* ---- per-item notes (Aug 2026) ------------------------------------------ */
#lvxSec .lvp-step{ flex-wrap:wrap; }
#lvxSec .lvp-note-t{
  display:inline-flex; align-items:center; gap:6px; min-width:44px; min-height:44px;
  padding:0 10px; border-radius:12px; cursor:pointer; font:inherit; flex:none;
  background:transparent !important; border:1px solid transparent !important;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#lvxSec .lvp-note-t:hover{ background:rgba(36,52,71,.05) !important; }
#lvxSec .lvp-note-t:focus-visible, #lvxSec .lvp-note-x:focus-visible{
  outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .lvp-note-c{
  font-size:.7rem; font-weight:800; min-width:19px; height:19px; border-radius:99px;
  display:inline-flex; align-items:center; justify-content:center; padding:0 5px;
  background:#E4ECE0;
  color:#3F5237 !important; -webkit-text-fill-color:#3F5237 !important; }
#lvxSec .lvp-note-a{ font-size:.85rem; font-weight:800; }
#lvxSec .lvp-step.has-notes .lvp-note-t{ color:#3F5237 !important; -webkit-text-fill-color:#3F5237 !important; }

#lvxSec .lvp-notes{
  flex:1 1 100%; margin:10px 0 2px 38px; padding:14px 16px; border-radius:14px;
  background:#F7F9F5 !important; border:1px solid #E2EADD !important; }
#lvxSec .lvp-notelist{ list-style:none; margin:0 0 10px; padding:0;
  display:flex; flex-direction:column; gap:6px; }
#lvxSec .lvp-notelist li{
  display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
  font-size:.88rem; line-height:1.55;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important; }
#lvxSec .lvp-notelist li:before{ content:'\2022'; margin-right:6px; color:#8FA684; }
#lvxSec .lvp-notelist li span{ flex:1; min-width:0; }
#lvxSec .lvp-note-x{
  flex:none; min-width:44px; min-height:44px; border-radius:10px; cursor:pointer; font:inherit;
  background:transparent !important; border:0 !important; font-size:.8rem;
  color:#8A929C !important; -webkit-text-fill-color:#8A929C !important; }
#lvxSec .lvp-note-x:hover{ background:rgba(36,52,71,.06) !important; }
#lvxSec .lvp-note-empty{
  font-size:.85rem; line-height:1.6; margin:0 0 10px;
  color:#6D7683 !important; -webkit-text-fill-color:#6D7683 !important; }
#lvxSec .lvp-note-add{ display:flex; gap:8px; flex-wrap:wrap; }
#lvxSec .lvp-note-add .lvf-i{ flex:1 1 200px; min-width:0; }
@media (max-width:620px){
  #lvxSec .lvp-notes{ margin-left:0; }
  #lvxSec .lvp-note-add .lvf-btn{ flex:1 1 auto; }
}

/* ---- ready-made lists (Aug 2026) ---------------------------------------- */
#lvxSec .lvp-lead{
  font-family:'Playfair Display',Georgia,serif; font-size:1.06rem; font-weight:700;
  margin:0 0 6px;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#lvxSec .lvp-ready{ margin:18px 0 26px; }
#lvxSec .lvp-groups{ display:flex; gap:9px; flex-wrap:wrap; margin:12px 0 0; }
#lvxSec .lvp-group{
  display:inline-flex; align-items:center; gap:8px; min-height:46px; padding:11px 16px;
  border-radius:999px; cursor:pointer; font:inherit; font-size:.83rem; font-weight:700;
  background:#fff !important; border:1px solid #E3E7EC !important;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
  transition:transform .14s ease, box-shadow .14s ease; }
#lvxSec .lvp-group:hover{ transform:translateY(-1px); box-shadow:0 8px 18px rgba(36,52,71,.09); }
#lvxSec .lvp-group.is-sage.is-on { background:#EDF3E9 !important; border-color:#C6D8BF !important; }
#lvxSec .lvp-group.is-sky.is-on  { background:#EAF1F7 !important; border-color:#C2D6E6 !important; }
#lvxSec .lvp-group.is-lav.is-on  { background:#F1EEF9 !important; border-color:#D2C9EA !important; }
#lvxSec .lvp-group.is-cream.is-on{ background:#FBF3E4 !important; border-color:#E7D5B4 !important; }
#lvxSec .lvp-group:focus-visible, #lvxSec .lvp-ready-row:focus-visible{
  outline:3px solid #CF9E3F; outline-offset:3px; }
#lvxSec .lvp-group-i{ font-size:1rem; }
#lvxSec .lvp-group-c{
  font-size:.72rem; font-weight:800; min-width:20px; height:20px; border-radius:99px;
  display:inline-flex; align-items:center; justify-content:center; padding:0 6px;
  background:rgba(36,52,71,.08);
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important; }
#lvxSec .lvp-ready-list{ display:flex; flex-direction:column; gap:9px; margin:14px 0 0; }
#lvxSec .lvp-ready-row{
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:14px;
  width:100%; text-align:left; cursor:pointer; font:inherit; min-height:62px;
  background:#fff !important; border:1px solid #E3E7EC !important; border-radius:16px;
  padding:14px 18px; transition:transform .14s ease, box-shadow .14s ease; }
#lvxSec .lvp-ready-row:hover{ transform:translateY(-1px); box-shadow:0 10px 22px rgba(36,52,71,.09); }
#lvxSec .lvp-ready-row[data-have]{ background:#F6F8F5 !important; }
#lvxSec .lvp-ready-add{
  font-size:1.1rem; font-weight:800; width:34px; height:34px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(36,52,71,.07);
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }

/* Six cards now, so three across reads better than two. */
#lvxSec .lvx-big{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
@media (max-width:1080px){ #lvxSec .lvx-big{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px){ #lvxSec .lvx-big{ grid-template-columns:1fr; } }
#lvxSec .lvx-bc.is-sage{ background:#EDF3E9 !important; border-color:#D7E3D2 !important; }
#lvxSec .lvx-bc{
  display:flex; flex-direction:column; gap:5px; text-align:left; cursor:pointer; font:inherit;
  border:1px solid transparent; border-radius:22px; padding:22px 22px 18px; min-height:180px;
  transition:transform .16s ease, box-shadow .16s ease;
}
#lvxSec .lvx-bc:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(36,52,71,.10); }
#lvxSec .lvx-bc.is-sage { background:#EDF3E9; border-color:#D7E3D2; }
#lvxSec .lvx-bc.is-cream{ background:#FBF3E4; border-color:#EFE3CB; }
#lvxSec .lvx-bc.is-lav  { background:#F1EEF9; border-color:#E1DAF0; }
#lvxSec .lvx-bc.is-sky  { background:#EAF1F7; border-color:#D6E3EE; }
#lvxSec .lvx-bc-n{
  font-family:'Playfair Display',Georgia,serif; font-size:1.28rem; font-weight:700;
  letter-spacing:.02em; text-transform:uppercase;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-bc-tag{
  font-size:.9rem; font-weight:700;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSec .lvx-bc-note{
  font-size:.84rem; line-height:1.5; margin-top:4px;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .lvx-bc-foot{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:14px;
}
#lvxSec .lvx-bc-c{
  font-size:.84rem; font-weight:800;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .lvx-bc-arw{
  flex:none; width:34px; height:34px; border-radius:50%; background:#fff;
  display:flex; align-items:center; justify-content:center; font-size:.9rem;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-sech.is-small{ font-size:.78rem; font-family:'Nunito',sans-serif; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; }
#lvxSec .lvx-quick, #lvxSec .lvx-recent{
  margin-top:22px; background:#fff; border:1px solid #E8E4DC; border-radius:20px; padding:18px 20px;
}
#page-life-vault[data-lvbg="sage"] #lvxSec .lvx-quick,
#page-life-vault[data-lvbg="sage"] #lvxSec .lvx-recent{ border-color:#D7E3D2; }
#lvxSec .lvx-qrow{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
#lvxSec .lvx-q{
  display:flex; flex-direction:column; align-items:center; gap:6px; cursor:pointer; font:inherit;
  background:none; border:0; padding:10px 4px; min-height:64px; border-radius:12px;
}
#lvxSec .lvx-q:hover{ background:#F4F6F1; }
#lvxSec .lvx-q-ic{
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#EEF4EC; font-size:.9rem; font-weight:800;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .lvx-q-n{
  font-size:.76rem; font-weight:700; text-align:center;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#lvxSec .lvx-rrow{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
#lvxSec .lvx-r{
  display:flex; flex-direction:column; gap:3px; text-align:left; cursor:pointer; font:inherit;
  background:#FBFAF8; border:1px solid #EFEAE0; border-radius:14px; padding:12px 14px; min-height:60px;
}
#lvxSec .lvx-r:hover{ background:#F4F6F1; border-color:#CFE0C8; }
#lvxSec .lvx-r-n{
  font-size:.84rem; font-weight:700; line-height:1.3;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-r-m{
  font-size:.74rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
@media (max-width:1100px){
  #lvxSec .lvx-glance{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  #lvxSec .lvx-qrow{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  #lvxSec .lvx-rrow{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px){
  #lvxSec .lvx-glance{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #lvxSec .lvx-big{ grid-template-columns:minmax(0,1fr); }
  #lvxSec .lvx-bc{ min-height:0; }
}
@media (max-width:440px){
  #lvxSec .lvx-glance{ grid-template-columns:minmax(0,1fr); }
  #lvxSec .lvx-rrow{ grid-template-columns:minmax(0,1fr); }
  #lvxSec .lvx-mine-b{ width:100%; }
}

/* ---- Documents: the twelve category folders ------------------------------- */
#lvxSec .dc-total{
  align-self:center; font-size:.82rem; font-weight:700;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .dc-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
#lvxSec .dc-cat{
  position:relative; display:flex; flex-direction:column; gap:4px; align-items:flex-start;
  text-align:left; cursor:pointer; font:inherit;
  background:#fff; border:1px solid #E4EAE0; border-radius:18px;
  padding:18px 16px 16px; min-height:150px;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
#lvxSec .dc-cat:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(36,52,71,.10); border-color:#CFE0C8; }
#lvxSec .dc-cat:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#lvxSec .dc-face{
  position:absolute; top:12px; right:12px; font-size:.62rem; font-weight:800;
  letter-spacing:.06em; text-transform:uppercase;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .dc-ic{
  width:44px; height:44px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:#EEF4EC; font-size:1.15rem; margin-bottom:8px;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .dc-n{
  font-family:'Playfair Display',Georgia,serif; font-size:1.02rem; font-weight:700; line-height:1.25;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .dc-d{
  font-size:.78rem; line-height:1.45;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .dc-c{
  margin-top:auto; padding-top:8px; font-size:.76rem; font-weight:800;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .dc-row{
  display:flex; align-items:center; gap:12px;
  background:#fff; border:1px solid #EFEAE0; border-radius:14px; padding:13px 15px;
}
#page-life-vault[data-lvbg="sage"] #lvxSec .dc-row,
#page-life-vault[data-lvbg="sage"] #lvxSec .dc-cat{ border-color:#D7E3D2; }
#lvxSec .dc-ficon{
  flex:none; width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  background:#F4F6F1; font-size:.95rem;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .dc-fbody{ flex:1; display:flex; flex-direction:column; gap:3px; min-width:0; }
#lvxSec .dc-fname{
  font-size:.92rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .dc-fmeta{
  font-size:.78rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
#lvxSec .dc-ftags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; }
#lvxSec .dc-tag{
  border-radius:999px; padding:3px 9px; font-size:.68rem; font-weight:800;
  background:#F1F4EE;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .dc-tag.is-soon{ background:#FBF3E4; color:#7A5A16 !important; -webkit-text-fill-color:#7A5A16 !important; }
#lvxSec .dc-tag.is-send{ background:#FBECEF; color:#94465A !important; -webkit-text-fill-color:#94465A !important; }
#lvxSec .dc-tag.is-done{ background:#EDF3E9; color:#41533C !important; -webkit-text-fill-color:#41533C !important; }
#lvxSec .dc-tag.is-note{ background:#F1EEF9; color:#584A7A !important; -webkit-text-fill-color:#584A7A !important; }
@media (max-width:1100px){ #lvxSec .dc-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:820px){ #lvxSec .dc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px){
  #lvxSec .dc-grid{ grid-template-columns:minmax(0,1fr); }
  #lvxSec .dc-cat{ min-height:0; }
  #lvxSec .dc-row{ flex-wrap:wrap; }
}

/* ---- Important Info: structured entries ----------------------------------- */
#lvxSec .ii-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#lvxSec .ii-card{
  background:#fff; border:1px solid #E8E4DC; border-radius:18px; padding:16px 18px 14px;
  box-shadow:0 3px 12px rgba(36,52,71,.05);
}
#page-life-vault[data-lvbg="sage"] #lvxSec .ii-card{ border-color:#D7E3D2; }
#lvxSec .ii-head{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid #EFEAE0;
}
#lvxSec .ii-t{
  flex:1; min-width:0; font-family:'Playfair Display',Georgia,serif;
  font-size:1.04rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .ii-kind{
  flex:none; background:#EEF4EC; border-radius:999px; padding:4px 10px;
  font-size:.68rem; font-weight:800; letter-spacing:.04em;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#lvxSec .ii-row{
  display:grid; grid-template-columns:132px minmax(0,1fr); gap:10px;
  padding:6px 0; align-items:baseline;
}
#lvxSec .ii-row + .ii-row{ border-top:1px solid #F4F1EA; }
#lvxSec .ii-lab{
  font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important;
}
#lvxSec .ii-val{
  font-size:.88rem; line-height:1.5; word-break:break-word; white-space:pre-line;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .ii-link{
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
  text-decoration:underline; text-underline-offset:2px;
}
#lvxSec .ii-link:hover{ color:#3C5230 !important; -webkit-text-fill-color:#3C5230 !important; }
#lvxSec .ii-empty{
  margin:0; font-size:.84rem;
  color:#6B7280 !important; -webkit-text-fill-color:#6B7280 !important;
}
@media (max-width:900px){ #lvxSec .ii-list{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:520px){
  #lvxSec .ii-row{ grid-template-columns:minmax(0,1fr); gap:2px; padding:8px 0; }
}

/* the slim header, matching My Rhythm / My Kitchen / Community / Care Circle */
#lvxSec .lvx-eb{
  margin:0 0 4px; font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important;
}
#lvxSec .lvx-h{
  margin:0 0 6px; font-size:clamp(1.4rem,3vw,1.9rem); font-weight:800; line-height:1.2;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#lvxSec .lvx-sub{
  margin:0 0 16px; font-size:.92rem; line-height:1.6; max-width:56ch;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important;
}
