/* Overview ("Today" dashboard). All rules are scoped under .ov. */
.ov{display:grid;gap:22px}
.ov h2,.ov h3{margin:0}
.ov-hello{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 28px;background:var(--sage-tint)}
.ov-hello h2{font-size:34px;margin:8px 0 6px}
.ov-hello p{font-size:14px;max-width:560px}
.ov-help{display:grid;gap:4px;max-width:300px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-size:12px;color:var(--slate)}
.ov-help strong{font-size:12px;color:var(--ink)}
.ov-help a,.ov-emergency a{text-decoration:underline;font-weight:600;color:var(--navy)}
.ov-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
.ov-main,.ov-side{display:grid;gap:22px;min-width:0}
.ov-heading{font-size:22px;margin-bottom:14px}
.ov-block{padding:0 25px 22px}
.ov-block+.ov-block{border-top:1px solid var(--line);padding-top:18px}
.ov-sub{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--slate);font-weight:650;margin-bottom:8px}
.ov-row{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.ov-row:last-child{border-bottom:0}
.ov-row-link:hover .ov-what strong{text-decoration:underline}
.ov-row-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.ov-time,.ov-date strong{font-variant-numeric:tabular-nums;color:var(--navy);font-weight:600;font-size:13px}
.ov-date small,.ov-what small{display:block;margin:2px 0 0;font-size:12px;color:var(--slate)}
.ov-what{min-width:0;overflow-wrap:anywhere}
.ov-what strong{font-weight:550}
.ov-coming .ov-row{grid-template-columns:8rem minmax(0,1fr) auto}
.ov-status{font-size:12px;color:var(--slate);white-space:nowrap}
.ov-status.is-done{color:var(--sage-deep);font-weight:600}
.ov-quiet{font-size:13px;color:var(--slate);padding:6px 0}
.is-overdue .ov-date small{color:#8b443b;font-weight:600}
.ov-kind{white-space:nowrap;font-weight:600}
.ov-kind-appointment{background:var(--sky)}
.ov-kind-treatment{background:var(--sage-tint)}
.ov-kind-follow-up,.ov-kind-deadline{background:var(--blush)}
.ov-kind-task{background:#F3EFE6}
.ov-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:14px}
.ov-tile{display:block;position:relative;padding:18px 18px 34px;transition:transform .2s,box-shadow .2s}
.ov-tile:hover{transform:translateY(-2px)}
.ov-tile:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.ov-tile .eyebrow{font-size:11px}
.ov-tile strong{display:block;font:26px/1.2 var(--serif);margin:10px 0 4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ov-tile strong.is-small{font-size:18px}
.ov-tile-line{display:block;font-size:12px;color:var(--slate)}
.ov-bar{display:block;height:8px;border-radius:999px;background:var(--sky);border:1px solid var(--line);overflow:hidden;margin-top:12px}
.ov-bar i{display:block;height:100%;background:var(--sage-deep);border-radius:999px}
.ov-tile .corner-arrow{right:14px;bottom:10px;font-size:15px}
.ov-call{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;min-height:44px}
.ov-call:hover .ov-what strong{text-decoration:underline}
.ov-call:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.ov-phone{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--navy);font-weight:600}
.ov-emergency{font-size:12px;margin-top:14px;color:var(--slate)}
.ov-journal h3{font-size:16px}
.ov-snippet{font-size:13px;margin-top:8px;overflow-wrap:anywhere}
.ov-lead{padding:0 25px;font-size:13px;margin-bottom:6px}
.ov-start-list{list-style:none;margin:0;padding:8px 25px 4px}
.ov-start-list li{border-bottom:1px solid var(--line)}
.ov-start-list li:last-child{border-bottom:0}
.ov-start-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;min-height:44px}
.ov-start-list a:hover strong{text-decoration:underline}
.ov-start-list a:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.ov-start-mark{width:22px;height:22px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#fff}
.ov-start-text strong{display:block;font-size:14px;font-weight:550}
.ov-start-text small{font-size:12px;margin:2px 0 0}
.ov-state{font-size:12px;color:var(--slate);white-space:nowrap}
.ov-start-foot{padding:6px 25px 22px}
.ov-warm{background:var(--blush);padding:26px}
.ov-warm h2{font-size:26px;margin:14px 0 10px}
.ov-warm p{font-size:13px;margin-bottom:18px}
.ov-more{padding:20px 22px}
.ov-more h3{font-size:15px;margin-bottom:6px}
.ov-more p{font-size:13px;margin-bottom:10px}
.ov-more a{font-size:13px;font-weight:600;color:var(--navy);text-decoration:underline}
.ov-more-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px}
.ov-more-list a{display:block;padding:8px 0;text-decoration:none;font-weight:500}
.ov-more-list a:hover{text-decoration:underline}
.ov .card-heading a{font-size:12px;text-decoration:underline}
@media(max-width:900px){
    .ov-cols{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
    .ov-hello{flex-direction:column;align-items:flex-start;padding:22px}
    .ov-hello h2{font-size:29px}
    .ov-help{max-width:none;width:100%}
    .ov-row,.ov-coming .ov-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
    .ov-row .ov-time,.ov-row .ov-date{grid-column:1 / -1}
    .ov-block{padding:0 20px 20px}
    .ov-lead{padding:0 20px}
    .ov-start-list{padding:8px 20px 4px}
    .ov-start-foot{padding:6px 20px 20px}
    .ov-tiles{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}
}

.ov-tile.is-static:hover{transform:none}
.ov-tile.is-static{padding-bottom:18px}
.ov-share h3{margin:0 0 6px;font:18px/1.3 var(--serif);overflow-wrap:anywhere}
.ov-share p{margin:0 0 10px;font-size:14px;color:var(--slate)}
.ov-share a{font-weight:600}
.ov-viewer-today{margin-bottom:24px}
