.dash-card-heading,.dash-budget>div,.dash-moment{display:flex;align-items:center;justify-content:space-between;gap:.65rem}
.dash-card-heading{margin-bottom:.7rem;min-height:2rem}
.dash-card-heading h2{font-size:1.05rem;line-height:1.3;color:var(--ink)}
.dash-open{border:1px solid var(--line);background:white;color:var(--pine);border-radius:.55rem;padding:.35rem .65rem;font-size:.78rem;font-weight:650}
.dash-open:hover,.dash-appointment:hover{background:var(--mint)}
.dash-value{display:block;font-size:clamp(1.08rem,1.5vw,1.48rem);line-height:1.25;overflow-wrap:anywhere;color:var(--dark)}
.dash-pill{border:1px solid var(--line);border-radius:1rem;padding:.16rem .65rem;font-size:.75rem;color:var(--pine);background:var(--mint)}
.dash-muted,.dash-empty{font-size:.86rem;color:var(--muted);margin:.3rem 0}
.dash-caption,.dash-details summary{font-size:.76rem;font-weight:650;color:var(--muted)}
.dash-caption{margin-top:.85rem}
.dash-budgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;margin-top:.2rem}
.dash-budget{min-width:0;font-size:.77rem}
.dash-budget>div{align-items:baseline;flex-wrap:wrap;gap:0 .25rem}
.dash-budget b{font-weight:600;color:var(--pine);font-variant-numeric:tabular-nums}
.dash-budget progress{width:100%;height:.32rem;accent-color:var(--pine)}
.dash-details{margin-top:.85rem;border-top:1px solid var(--line)}
.dash-details summary{cursor:pointer;padding:.55rem 0}
.dash-lines{padding:0;margin:0;list-style:none;max-height:13rem;overflow:auto;overflow-wrap:anywhere}
.dash-lines>li{border-top:1px solid var(--line);font-size:.88rem;padding:.4rem 0}
.dash-lines>li:first-child{border-top:0}
.dash-appointment{border:0;background:transparent;display:grid;grid-template-columns:4.3rem 1fr;align-items:center;width:100%;padding:.38rem .25rem;text-align:left;border-radius:.4rem}
.dash-appointment b,.dash-appointment small{display:block}
.dash-appointment small,.dash-moment small{color:var(--muted)}
.dash-appointment>span:last-child{border-left:3px solid var(--pine);padding-left:.65rem}
.dash-time{font-size:.82rem;color:var(--pine);font-weight:650;font-variant-numeric:tabular-nums}
.dash-phone { display: none; }
.dash-todo-preview .dash-lines { max-height: 9.5rem; margin-top: .3rem; }
.dash-todo-preview .dash-lines li { display: flex; align-items: baseline; gap: .55rem; }
.dash-todo-preview .dash-lines li::before {
  content: ''; flex: none; width: .45rem; height: .45rem; background: #63a58c; border-radius: 50%;
}

@media (max-width: 760px), (min-width: 761px) and (max-width: 1000px) and (max-height: 500px) and (pointer: coarse) {
  .home-grid { gap: 7px; }
  .home-card { padding: 8px 10px; border-radius: 10px; box-shadow: none; }
  .home-card .card-symbol { display: none; }
  .dash-card-heading { margin-bottom: 3px; min-height: 0; }
  .dash-card-heading h2 { font-size: .9rem; }
  .dash-value { font-size: 1rem; }
  .dash-muted, .dash-empty { margin: 2px 0 0; font-size: .8rem; }
  .dash-pill { font-size: .68rem; }
  .dash-caption { margin: 5px 0 0; font-size: .7rem; }
  .dash-budgets { margin: 0; gap: 14px; }
  .dash-budget { font-size: .72rem; }
  .dash-budget progress { height: 4px; display: block; margin-top: 2px; }
  .dash-open { min-height: 28px; font-size: .75rem; padding: 2px 6px; }
  .dash-lines { max-height: 8rem; }
  #home-upcoming .dash-lines > li { padding-block: 1px; }
  .dash-appointment { min-height: 44px; padding-block: 2px; }
  .dash-details { margin-top: 4px; }
  .dash-details summary { padding: 3px 0; }

  /* The two summary cards are single tap targets. Their full screens own the lists. */
  .dash-todo-preview, .dash-wide { display: none; }
  .dash-phone { display: inline; }
  .dash-shortcut { position: relative; display: grid; align-content: center; min-height: 44px; padding-right: 16px; }
  .dash-shortcut .dash-card-heading { margin: 0; }
  .dash-shortcut .dash-card-heading h2, .dash-shortcut .dash-open span {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);
  }
  .dash-shortcut .dash-open { position: absolute; inset: 0; width: 100%; border: 0; background: transparent; }
  .dash-shortcut .dash-open::after {
    content: ''; position: absolute; top: calc(50% - 4px); right: 2px;
    width: 7px; height: 7px; border: solid var(--pine); border-width: 1.5px 1.5px 0 0; transform: rotate(45deg);
  }
  .dash-shortcut .dash-value { font-size: .92rem; }
  .dash-shortcut .dash-muted { font-size: .73rem; }
  #home-mood { background: #fff; }
}
