.brand-mark{font-size:clamp(14px,1.05vw,20px);letter-spacing:0}
.card-head h2 small{display:inline-block;margin-left:1vw;padding:.25vh .55vw;border-radius:999px;background:rgba(255,255,255,.16);font-size:.58em;letter-spacing:0;vertical-align:middle}
.card-body{overflow:auto}

/* Use the unused space in the alert card to give each critical row room. */
.card-alert .card-body.rows{justify-content:space-evenly}
.card-alert .row{min-height:6.5vh}
.card-alert .status{white-space:normal;line-height:1.15}

.contract-summary{margin-bottom:.75vh}
.contract-state.warn{background:#fff8e8;border-color:#f2d58d}
.contract-state.warn strong{color:#b97700}
.contract-state.good{background:#effaf4;border-color:#a8dfc2}
.contract-state.good strong{color:var(--good)}
.metric strong{font-size:clamp(14px,1.1vw,21px)}
.metric-note{display:block;margin-top:.35vh;color:var(--muted);font-size:clamp(10px,.68vw,13px);font-weight:700}

.doosan-condition{padding:.65vh .7vw;margin:.45vh 0;border-left:4px solid #e9a521;background:#f7fafc;border-radius:5px}
.doosan-condition strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,.87vw,17px)}
.doosan-condition small{display:block;margin-top:.25vh;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:clamp(10px,.72vw,14px)}
.doosan-condition.bad{border-left-color:#e53935;background:#fff7f6}
.doosan-condition.warn{border-left-color:#e9a521;background:#fffbf1}
.doosan-condition.good{border-left-color:#21a366;background:#effaf4}

.contract-note{margin-top:.65vh;padding:.55vh .7vw;background:#f1f4f8;border-radius:5px;color:#5b6878;font-size:clamp(10px,.7vw,13px);font-weight:800}
.doosan-upcoming{margin-top:.7vh;padding:.65vh .75vw;background:#fff7ed;border-left:4px solid #f06a22;border-radius:5px;font-size:clamp(11px,.76vw,15px)}
.doosan-upcoming-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8vw}
.doosan-upcoming-head strong{font-weight:900;color:#9a3412}
.doosan-upcoming-head span{white-space:nowrap;color:#475569;font-weight:700}
.doosan-risk{margin-top:.3vh;line-height:1.3;color:#9a3412}

.doosan-item{min-height:4.35vh;padding:.35vh 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(72px,.26fr) minmax(0,1.45fr) minmax(125px,.8fr);gap:.7vw;align-items:center}
.doosan-item:last-child{border-bottom:0}
.doosan-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.35vh .3vw;border-radius:6px;background:#edf5fc;color:#0b4f87}
.doosan-date small,.doosan-install small{font-size:clamp(9px,.58vw,11px);font-weight:800;letter-spacing:.08em;color:var(--muted)}
.doosan-date strong{font-size:clamp(14px,1vw,19px);line-height:1.15}
.doosan-item-main{min-width:0}
.doosan-item-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,.9vw,17px)}
.doosan-item-main em{display:block;margin-top:.15vh;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;color:var(--muted);font-size:clamp(10px,.67vw,13px)}
.doosan-install{min-width:0;padding-left:.6vw;border-left:1px solid var(--line)}
.doosan-install span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(11px,.78vw,15px);font-weight:700;color:#39526d}

.card-todo .todo-row{min-height:8vh}
.footer.warning{background:#7a310d;color:#fff}

@media (max-aspect-ratio:4/3){
  .doosan-item{grid-template-columns:minmax(58px,.28fr) minmax(0,1.3fr) minmax(105px,.8fr)}
  .card-alert .status{display:flex}
}

@supports not (font-size:clamp(12px,1vw,20px)){
  .brand-mark{font-size:1.05vw}
  .metric strong{font-size:1.1vw}
  .metric-note{font-size:.68vw}
  .doosan-condition strong{font-size:.87vw}
  .doosan-condition small{font-size:.72vw}
  .contract-note{font-size:.7vw}
  .doosan-upcoming{font-size:.76vw}
  .doosan-date strong{font-size:1vw}
  .doosan-item-main strong{font-size:.9vw}
  .doosan-item-main em{font-size:.67vw}
  .doosan-install span{font-size:.78vw}
}
