/* BUFF OS v125 — Week in review, plan, backup, projection. */
.v125-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 4px 0; }
.v125-st { padding: 10px 4px; border-radius: 14px; background: rgba(255,255,255,.06); text-align: center; min-width: 0; } .v125-st b { display: block; font-size: 20px; } .v125-st small { display: block; font-size: 10px; color: var(--txt3); font-weight: 700; } .v125-st i { display: block; margin-top: 3px; font-style: normal; font-size: 9.5px; color: var(--txt3); line-height: 1.2; } .v125-st i.g { color: #4ecb8f; } .v125-st i.r { color: #ff7a7a; }
.v125-box { margin-top: 12px; padding: 12px 14px; border-radius: 16px; font-size: 13.5px; } .v125-box b { display: block; font-size: 14px; margin-bottom: 4px; } .v125-box p { margin: 4px 0; color: var(--txt2); line-height: 1.4; }
.v125-box.good { background: rgba(78,203,143,.12); border: 1px solid rgba(78,203,143,.3); } .v125-box.fix { background: rgba(255,184,102,.11); border: 1px solid rgba(255,184,102,.3); }
.v125-plan { display: grid; gap: 4px; margin: 6px 0 10px; } .v125-pd { display: flex; gap: 10px; padding: 8px 10px; border-radius: 12px; background: rgba(255,255,255,.06); font-size: 13px; } .v125-pd b { width: 34px; flex: none; } .v125-pd.rest { color: var(--txt3); background: rgba(255,255,255,.03); }
.v125-proj { margin: 16px 0 4px; padding: 14px; border-radius: 16px; background: rgba(120,170,255,.1); border: 1px solid rgba(120,170,255,.28); } .v125-proj b { font-size: 14px; } .v125-proj p { margin: 6px 0; font-size: 13.5px; line-height: 1.45; color: var(--txt2); } .v125-proj small { font-size: 11.5px; color: var(--txt3); }
.v125-row { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; margin: 4px 0 12px; padding: 12px 14px; border: 1px solid rgba(255,209,102,.4); border-radius: 14px; background: rgba(255,209,102,.1); color: var(--txt); font: inherit; font-size: 14px; text-align: left; cursor: pointer; } .v125-row span { font-size: 12px; color: var(--txt3); }
/* Today, calmer: balance + walking become slim cards (tap for the full breakdown) */
.v111-bal { padding: 10px 12px; margin: 0 0 8px; border-radius: 16px; background: rgba(255,255,255,.04); }
.v111-bal .v96-bal { height: 14px; border-radius: 7px; } .v111-bal .v96-bal b { font-size: 10px; }
.v111-bal .v111-leg { margin-top: 6px; font-size: 11.5px; } .v111-bal .v111-leg b { font-size: 12px; }
.v111-bal .v111-bh { margin-bottom: 5px; } .v111-wk .v111-wbars { height: 26px; } .v111-wk .v111-leg { margin-top: 5px; }
/* Calendar: dots used to sit on the circle's edge and spill out. Number nudged up, dots moved inside the circle, smaller and tighter.
   !important because index.html's inline <style> comes after this file and would otherwise win. */
.calcell .cd { transform: translateY(-17%) !important; }
.calcell .cdots { bottom: 21% !important; gap: 2px !important; max-width: 70%; flex-wrap: nowrap; justify-content: center; }
.calcell .cdots i { width: 4px !important; height: 4px !important; flex: none; }
.calcell .cdots i.sd.part { box-shadow: inset 0 0 0 1.2px var(--blue) !important; }
