.cardio-module .cardio-stepper input{min-width:0;padding:.22rem .1rem;font-size:1.55rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;text-align:center}
.cardio-module .cardio-entry-form input[name="activityDate"]{font-size:1.3rem;font-weight:750;font-variant-numeric:tabular-nums}
.cardio-module .cardio-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}
.cardio-module .cardio-detail-grid label{min-width:0;gap:.28rem;color:#3b5269;font-size:.72rem;font-weight:750;white-space:nowrap}
.cardio-module .cardio-detail-grid input{box-sizing:border-box;width:100%;min-width:0;min-height:45px;padding:.15rem .08rem;border:1px solid #adbfd0;border-radius:5px;background:#fff;color:#173d5c;font-size:1.2rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.035em;text-align:center;appearance:textfield}
.cardio-module .cardio-detail-grid input::-webkit-inner-spin-button,.cardio-module .cardio-detail-grid input::-webkit-outer-spin-button{margin:0;appearance:none}
.cardio-module .cardio-notes-field{display:grid;gap:.3rem;width:100%;margin:1rem 0;color:#3b5269;font-size:.85rem;font-weight:750}
.cardio-module .cardio-notes-field textarea{box-sizing:border-box;width:100%;min-height:76px;padding:.65rem;border:1px solid #adbfd0;border-radius:8px;color:#173d5c;font:inherit;font-size:1rem;line-height:1.4;resize:vertical}
.cardio-module .cardio-history-entry{display:block;margin:.65rem 0;padding:0;border:1px solid #dce5ec;border-radius:11px;background:#f2f5f7;overflow:hidden}
.cardio-history-entry details{display:block}
.cardio-history-entry summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto 22px;align-items:center;gap:.55rem;min-height:66px;padding:.65rem .75rem;cursor:pointer;list-style:none}
.cardio-history-entry summary::-webkit-details-marker{display:none}
.cardio-history-entry summary:focus-visible{outline:3px solid #2b81c0;outline-offset:-3px}
.cardio-history-name{min-width:0}.cardio-history-name small,.cardio-history-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cardio-history-name small{color:#667b8b}.cardio-history-short{text-align:center;white-space:nowrap}.cardio-history-short b{display:block}.cardio-history-chevron{font-size:1.4rem;color:#45738e;text-align:center;transition:transform .15s}.cardio-history-entry details[open] .cardio-history-chevron{transform:rotate(180deg)}
.cardio-history-detail{display:grid;gap:.8rem;padding:.75rem;border-top:1px solid #dce5ec;background:#fff}
.cardio-history-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0}.cardio-history-detail dl>div{min-width:0;padding:.45rem;border-radius:7px;background:#eef5fb}.cardio-history-detail dt{color:#60768a;font-size:.7rem}.cardio-history-detail dd{margin:.15rem 0 0;color:#173d5c;font-size:1rem;font-weight:800;overflow-wrap:anywhere}.cardio-history-notes{display:grid;gap:.25rem;margin:0;color:#173d5c}.cardio-history-notes span{white-space:pre-wrap;overflow-wrap:anywhere}
.cardio-history-detail .delete-cardio-entry{justify-self:end;display:flex;align-items:center;gap:.3rem;padding:.4rem .55rem;border:1px solid #e9b6b6;border-radius:6px;background:#fff6f6;color:#ad3131;font-size:.76rem;font-weight:750}
@media(max-width:520px){.cardio-entry-form{padding:.7rem}.cardio-module .cardio-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.22rem}.cardio-module .cardio-detail-grid label{font-size:.59rem}.cardio-module .cardio-detail-grid input{font-size:1.2rem}.cardio-module .cardio-stepper{gap:.2rem;padding:.55rem}.cardio-module .cardio-stepper input{font-size:1.5rem}.cardio-history-entry summary{gap:.3rem;padding:.55rem}.cardio-history-detail dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cardio-module .cardio-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.65fr) minmax(0,.95fr);gap:.35rem;align-items:end}
.cardio-module .cardio-detail-primary.cardio-five{grid-template-columns:minmax(0,1.15fr) minmax(0,.62fr) minmax(0,.58fr) minmax(0,.85fr) minmax(0,1.15fr)}
.cardio-module .cardio-detail-primary.cardio-calories-only{grid-template-columns:minmax(0,180px)}
.cardio-module .cardio-detail-secondary{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);margin-top:.5rem}
.cardio-module .cardio-detail-grid[hidden],.cardio-module .cardio-detail-field[hidden]{display:none!important}
.cardio-module .cardio-detail-field>span{display:flex;align-items:center;justify-content:center;gap:.15rem;min-height:1.45rem;white-space:nowrap}
.cardio-module .cardio-detail-grid select{box-sizing:border-box;width:100%;min-width:0;min-height:45px;border:1px solid #adbfd0;border-radius:5px;background:#fff;color:#173d5c;text-align:center;font-size:1rem;font-weight:750}
.cardio-module .cardio-unit-toggle{min-height:24px;padding:0 .2rem;border:1px solid #83aeca;border-radius:5px;background:#eaf5fb;color:#174b70;font-size:.69rem;font-weight:800;line-height:1}
.cardio-module .cardio-detail-secondary small{align-self:center;color:#62778a;font-size:.65rem;line-height:1.15;text-align:center}
@media(max-width:520px){.cardio-module .cardio-detail-grid{gap:.2rem}.cardio-module .cardio-detail-primary.cardio-five{grid-template-columns:minmax(0,1.1fr) minmax(0,.62fr) minmax(0,.58fr) minmax(0,.8fr) minmax(0,1.2fr)}.cardio-module .cardio-detail-field>span{font-size:.58rem}.cardio-module .cardio-unit-toggle{padding:0 .1rem;font-size:.57rem}.cardio-module .cardio-detail-grid input,.cardio-module .cardio-detail-grid select{font-size:.92rem}.cardio-module .cardio-detail-secondary small{font-size:.54rem}}
@media(max-width:520px){.cardio-module .cardio-detail-field>span{min-height:2.3rem}.cardio-module .cardio-speed>span,.cardio-module .cardio-distance>span{flex-direction:column;gap:0}.cardio-module .cardio-detail-secondary small{overflow-wrap:anywhere}}

/* Larger cardio form labels and values, while keeping the activity fields compact. */
.cardio-module .cardio-detail-grid label{font-size:.97rem}
.cardio-module .cardio-detail-grid input,.cardio-module .cardio-detail-grid select{font-size:1.2rem}
.cardio-module .cardio-entry-form>label>span,.cardio-module .cardio-notes-field>span{font-size:1.05rem}
.cardio-module .cardio-detail-secondary{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.3fr);gap:.55rem}
.cardio-module .cardio-conditions>span{min-height:2.15rem;flex-direction:column;gap:.12rem;line-height:1.05;white-space:normal}
.cardio-module .cardio-conditions>span small{font-size:.82em;font-weight:650;line-height:1.05;color:#62778a}
@media(max-width:520px){
  .cardio-module .cardio-detail-grid label{font-size:.83rem}
  .cardio-module .cardio-detail-grid input,.cardio-module .cardio-detail-grid select{font-size:1.18rem}
  .cardio-module .cardio-detail-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:.3rem}
  .cardio-module .cardio-conditions>span{min-height:2.3rem}
}

/* Let cardio form typography grow gradually with available screen width. */
.cardio-module .cardio-detail-grid label{font-size:clamp(1rem,calc(.95rem + .3vw),1.17rem);white-space:normal}
.cardio-module .cardio-detail-grid input,.cardio-module .cardio-detail-grid select{font-size:clamp(1.32rem,calc(1.22rem + .35vw),1.42rem)}
.cardio-module .cardio-detail-field>span{white-space:normal}
.cardio-module .cardio-entry-form>label>span,.cardio-module .cardio-notes-field>span{font-size:clamp(1.1rem,calc(1.05rem + .25vw),1.22rem)}
.cardio-module .cardio-unit-toggle{font-size:clamp(.85rem,calc(.81rem + .2vw),.93rem)}
