

/* ==== SHARED MONEY ======================================================== */
#smMount.sm-root{ font-family:'Nunito',system-ui,sans-serif; }
#smMount .sm-cta{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap;
  margin-top:20px; padding:18px 20px;
  background:#fff !important; border:1px solid #E8E4DC !important; border-radius:20px;
}
#smMount .sm-ctab{ flex:1; min-width:230px; }
#smMount .sm-ctah{
  margin:0 0 4px; font-family:'Playfair Display',Georgia,serif; font-size:1.12rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#smMount .sm-ctas{ margin:0 0 6px; font-size:.88rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-ctam{ margin:0; font-size:.84rem; font-weight:800;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important; }
#smMount .sm-panel{ padding-top:4px; }
#smMount .sm-back, #smMount .sm-btn, #smMount .sm-mini, #smMount .sm-wall{
  cursor:pointer; font:inherit; font-weight:800; border-radius:999px;
  background:#fff !important; border:1px solid #E4DFD2 !important;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#smMount .sm-back{ font-size:.84rem; padding:10px 18px; min-height:44px; margin-bottom:14px; }
#smMount .sm-btn{ font-size:.86rem; padding:12px 20px; min-height:48px; }
#smMount .sm-mini{ font-size:.76rem; padding:9px 13px; min-height:40px; }
#smMount .sm-wall{ font-size:.76rem; padding:9px 14px; min-height:40px; margin-top:8px; width:100%;
  background:rgba(255,255,255,.7) !important; }
#smMount .sm-btn.is-primary{
  background:#4E6640 !important; border-color:#4E6640 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
}
#smMount button:focus-visible, #smSheet button:focus-visible, #smSheet .sm-i:focus-visible,
#smMount .sm-i:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
#smMount .sm-h{
  margin:0 0 4px; font-family:'Playfair Display',Georgia,serif; font-size:1.5rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#smMount .sm-sub{ margin:0 0 14px; font-size:.92rem; max-width:62ch;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-grow{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
#smMount .sm-gl{ font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important; }
#smMount .sm-i{
  min-height:44px; border:1px solid #E4DFD2; border-radius:12px; padding:10px 12px;
  font:inherit; font-size:.88rem; background:#fff;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#smMount .sm-gm{ margin:8px 0 0; font-size:.8rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-over{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:16px 0 18px; }
#smMount .sm-ocard{
  display:flex; flex-direction:column; gap:2px;
  background:#FBFAF8; border:1px solid #EFEAE0; border-radius:14px; padding:12px 14px;
}
#smMount .sm-ol{ font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important; }
#smMount .sm-ov{ font-family:'Playfair Display',Georgia,serif; font-size:1.16rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
#smMount .sm-card{ border-radius:20px; padding:18px; border:1px solid transparent; }
#smMount .sm-card.is-sage { background:#EDF3E9; border-color:#D7E3D2; }
#smMount .sm-card.is-sky  { background:#EAF1F7; border-color:#D6E3EE; }
#smMount .sm-card.is-blush{ background:#FBECEF; border-color:#F0DCE1; }
#smMount .sm-cn{ margin:0 0 2px; font-family:'Playfair Display',Georgia,serif; font-size:1.1rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-cs{ margin:0 0 8px; font-size:.86rem; font-weight:800;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important; }
#smMount .sm-cd{ margin:0 0 14px; font-size:.82rem; line-height:1.55;
  color:#4A5462 !important; -webkit-text-fill-color:#4A5462 !important; }
#smMount .sm-card .sm-btn{ width:100%; }
#smMount .sm-acts{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px; }
#smMount .sm-sech{
  margin:20px 0 10px; font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important;
}
#smMount .sm-note, #smMount .sm-hint{ margin:0 0 10px; font-size:.8rem; line-height:1.55;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-bal{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
#smMount .sm-bcard{
  display:flex; flex-direction:column; align-items:flex-start; gap:3px;
  background:#fff; border:1px solid #E8E4DC; border-radius:14px; padding:13px 15px;
}
#smMount .sm-bav{
  width:34px; height:34px; 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;
}
#smMount .sm-bn{ font-size:.88rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-bv{ font-size:.82rem; font-weight:800; }
#smMount .sm-bv.is-up  { color:#3C5230 !important; -webkit-text-fill-color:#3C5230 !important; }
#smMount .sm-bv.is-down{ color:#94465A !important; -webkit-text-fill-color:#94465A !important; }
#smMount .sm-bv.is-flat{ color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-tx{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
#smMount .sm-txrow{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:#FBFDFA; border:1px solid #DDE7D7; border-radius:14px; padding:12px 15px;
}
#smMount .sm-txw{ flex:1; min-width:150px; font-size:.9rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-txa{ font-size:1rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-square{
  display:flex; flex-direction:column; gap:3px; padding:18px;
  background:#EDF3E9; border:1px solid #CFE0C8; border-radius:16px;
}
#smMount .sm-sq-t{ font-family:'Playfair Display',Georgia,serif; font-size:1.16rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-sq-s{ font-size:.86rem;
  color:#4A5462 !important; -webkit-text-fill-color:#4A5462 !important; }
#smMount .sm-exp, #smMount .sm-cats, #smMount .sm-kacts{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
#smMount .sm-erow, #smMount .sm-cat{
  display:flex; align-items:flex-start; gap:12px;
  background:#FBFAF8; border:1px solid #EFEAE0; border-radius:14px; padding:13px 15px;
}
#smMount .sm-eb, #smMount .sm-cb{ flex:1; display:flex; flex-direction:column; gap:2px; min-width:0; }
#smMount .sm-et, #smMount .sm-ct{ font-size:.92rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-em, #smMount .sm-cm{ font-size:.78rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-ea, #smMount .sm-cs2{ font-size:.78rem; margin-top:3px;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important; }
#smMount .sm-ev, #smMount .sm-cv{ font-size:.95rem; font-weight:800; white-space:nowrap;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-empty{
  padding:22px; background:#FBFAF8; border:1px dashed #E4DFD2; border-radius:16px; text-align:left;
}
#smMount .sm-emt{ margin:0 0 4px; font-size:1rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-ems{ margin:0 0 14px; font-size:.86rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-fair{
  padding:16px 18px; background:#F4F6F1; border:1px solid #E2E8DD; border-radius:16px; margin-bottom:16px;
}
#smMount .sm-fl{ font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important; }
#smMount .sm-fbars{ display:grid; gap:8px; margin-top:10px; }
#smMount .sm-fbar{ display:grid; grid-template-columns:90px 1fr 48px; gap:10px; align-items:center; }
#smMount .sm-fn{ font-size:.85rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-ftrack{ height:10px; background:#E4E9DF; border-radius:999px; overflow:hidden; }
#smMount .sm-ffill{ display:block; height:100%; background:#8AA57C; }
#smMount .sm-fp{ font-size:.85rem; font-weight:800; text-align:right;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-fnote{ margin:10px 0 0; font-size:.78rem; line-height:1.55;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-kgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
#smMount .sm-kcard{
  display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:left; cursor:pointer; font:inherit;
  background:#fff !important; border:1px solid #E8E4DC !important; border-radius:18px; padding:16px;
}
#smMount .sm-ki{ font-size:1.4rem; }
#smMount .sm-kn{ font-size:.95rem; font-weight:800;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-kb{ font-family:'Playfair Display',Georgia,serif; font-size:1.3rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-ktrack{ display:block; width:100%; height:8px; background:#EFEFEA; border-radius:999px; overflow:hidden; margin-top:6px; }
#smMount .sm-kfill{ display:block; height:100%; background:#8AA57C; }
#smMount .sm-kgoal{ font-size:.74rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-kstats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; margin-bottom:12px; }
#smMount .sm-kstat{ display:flex; flex-direction:column; gap:2px;
  background:#FBFAF8; border:1px solid #EFEAE0; border-radius:14px; padding:12px 14px; }
#smMount .sm-kstat span{ font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:#4E5A49 !important; -webkit-text-fill-color:#4E5A49 !important; }
#smMount .sm-kstat strong{ font-family:'Playfair Display',Georgia,serif; font-size:1.2rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-kact{ display:flex; align-items:center; gap:12px;
  background:#FBFAF8; border:1px solid #EFEAE0; border-radius:12px; padding:11px 14px; }
#smMount .sm-kd{ min-width:56px; font-size:.78rem;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smMount .sm-kt{ flex:1; font-size:.86rem;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smMount .sm-kv{ font-size:.88rem; font-weight:800; }
#smMount .sm-kv.is-in { color:#3C5230 !important; -webkit-text-fill-color:#3C5230 !important; }
#smMount .sm-kv.is-out{ color:#94465A !important; -webkit-text-fill-color:#94465A !important; }
/* sheet */
#smSheet.sm-bg{
  position:fixed; inset:0; z-index:10017; background:rgba(30,36,30,.42);
  display:flex; align-items:center; justify-content:center; padding:20px;
  font-family:'Nunito',system-ui,sans-serif;
}
#smSheet .sm-box{
  position:relative; width:min(580px,100%); max-height:88vh; 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);
}
#smSheet .sm-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;
}
#smSheet .sm-bt{
  margin:0 40px 4px 0; font-family:'Playfair Display',Georgia,serif; font-size:1.26rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#smSheet .sm-bl{ margin:0 0 16px; font-size:.84rem; font-weight:800;
  color:#4E6640 !important; -webkit-text-fill-color:#4E6640 !important; }
#smSheet .sm-f{ margin-bottom:14px; }
#smSheet .sm-two{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#smSheet .sm-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;
}
#smSheet .sm-i{
  width:100%; box-sizing:border-box; min-height:46px; border:1px solid #E4DFD2; border-radius:12px;
  padding:11px 13px; font:inherit; font-size:.9rem; background:#fff;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
#smSheet .sm-i.is-s{ width:96px; }
#smSheet .sm-i.is-desc{ flex:1; min-width:120px; }
#smSheet .sm-who{ display:flex; gap:8px; flex-wrap:wrap; }
#smSheet .sm-wb{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer; font:inherit;
  font-size:.84rem; font-weight:700; border-radius:999px; padding:8px 14px 8px 8px; min-height:46px;
  background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#smSheet .sm-wb.on{ background:#EDF3E9; border-color:#A9C99B;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smSheet .sm-wav{
  width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#EEF4EC; font-size:.7rem; font-weight:800;
  color:#41533C !important; -webkit-text-fill-color:#41533C !important;
}
#smSheet .sm-splits{ display:flex; gap:8px; flex-wrap:wrap; }
#smSheet .sm-sp{
  cursor:pointer; font:inherit; font-size:.8rem; font-weight:700; border-radius:999px;
  padding:10px 14px; min-height:44px; background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#smSheet .sm-sp.on{ background:#4E6640; border-color:#4E6640;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
#smSheet .sm-cfg{ display:grid; gap:8px; }
#smSheet .sm-cfgrow{ display:flex; align-items:center; gap:10px; }
#smSheet .sm-cfgrow > span:first-child{ flex:1; font-size:.88rem; font-weight:700;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#smSheet .sm-unit{ font-size:.84rem; min-width:44px;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smSheet .sm-item{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
#smSheet .sm-ipeople{ display:flex; gap:6px; flex-wrap:wrap; }
#smSheet .sm-ip{
  width:40px; height:40px; border-radius:50%; cursor:pointer; font:inherit; font-size:.72rem; font-weight:800;
  background:#fff; border:1px solid #E4DFD2;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
#smSheet .sm-ip.on{ background:#4E6640; border-color:#4E6640;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
#smSheet .sm-hint{ margin:8px 0 0; font-size:.78rem; line-height:1.55;
  color:#5A6472 !important; -webkit-text-fill-color:#5A6472 !important; }
#smSheet .sm-foot{ display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap;
  margin-top:18px; padding-top:14px; border-top:1px solid #EFEAE0; }
#smSheet .sm-btn{
  cursor:pointer; font:inherit; font-size:.86rem; font-weight:800; border-radius:999px;
  padding:12px 22px; min-height:46px;
  background:#fff !important; border:1px solid #DDD7C9 !important;
  color:#3D4A3A !important; -webkit-text-fill-color:#3D4A3A !important;
}
#smSheet .sm-btn.is-primary{ background:#4E6640 !important; border-color:#4E6640 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
#smSheet .sm-mini{
  cursor:pointer; font:inherit; font-size:.78rem; font-weight:800; border-radius:999px;
  padding:9px 14px; min-height:42px; margin-top:6px;
  background:#fff !important; border:1px solid #E4DFD2 !important;
  color:#3F4753 !important; -webkit-text-fill-color:#3F4753 !important;
}
.sm-toast{
  position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(12px); z-index:10018;
  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;
}
.sm-toast.on{ opacity:1; transform:translateX(-50%) translateY(0); }
@media (max-width:1100px){
  #smMount .sm-over{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #smMount .sm-cards{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:640px){
  #smMount .sm-over{ grid-template-columns:minmax(0,1fr); }
  #smMount .sm-acts .sm-btn{ width:100%; }
  #smSheet .sm-two{ grid-template-columns:minmax(0,1fr); }
  #smSheet.sm-bg{ padding:0; align-items:flex-end; }
  #smSheet .sm-box{ width:100%; max-height:93vh; border-radius:24px 24px 0 0; }
  #smMount .sm-cta .sm-btn{ width:100%; }
}

