/* v13.7: compact overview. Natural heights preserve long titles and zoom. */
.osm-overview h1{font-size:clamp(22px,2vw,28px);letter-spacing:-.6px}
.osm-overview-heading p{font-size:14px}
.osm-event-card{padding:9px;border-width:3px;border-radius:8px;box-shadow:0 2px 5px #081e3214}
.osm-event-card.osm-card-complete{border-color:#218147}
.osm-event-card.osm-card-pending{border-color:#bc850b}
.osm-event-card.osm-card-urgent{border-color:#c33138}
.osm-card-state{font-size:11px;line-height:1.2;padding:2px 6px;margin-bottom:5px}
.osm-event-heading{gap:8px}
.osm-date{min-width:40px;padding:4px;border-radius:5px}
.osm-date>span{font-size:10px;letter-spacing:.6px}
.osm-date strong{font-size:23px;line-height:1.05}
.osm-event-name h2{font-size:14px;font-weight:700;line-height:1.25;margin-bottom:2px;letter-spacing:-.15px}
.osm-event-name>span{font-size:12px;line-height:1.3}
.osm-event-name small{font-size:11px;margin-top:1px;line-height:1.3}
.osm-promote{gap:6px;padding:4px 6px;margin:6px 0;font-size:11px;line-height:1.25}
.osm-promote strong{font-size:10px;letter-spacing:.3px}
.osm-card-columns{gap:5px;margin-bottom:5px}
.osm-card-columns>div+div{padding-top:5px}
.osm-card-columns h3{font-size:13px;font-weight:700;line-height:1.25;text-transform:none;letter-spacing:0;margin:0 0 2px;color:#173656}
.osm-channel-row{font-size:12px!important;line-height:1.25;padding:2px 0;gap:5px;min-height:20px}
.osm-event-card .osm-status{font-size:11px;line-height:1.25;gap:4px}
.osm-event-card .osm-status-icon{width:14px;height:14px;font-size:10px}
.osm-posting-action{font-size:11px!important;line-height:1.25;padding:4px 6px;margin-top:3px;border-radius:4px}
.osm-card-details{font-size:12px!important;line-height:1.25;padding-top:5px}
.osm-overview-note{font-size:12px;line-height:1.5;margin-top:16px}
/* Comfortable touch targets on phones and other coarse-pointer devices. */
@media(pointer:coarse){.osm-channel-row,.osm-posting-action,.osm-card-details{min-height:36px}}
.osm-event-card{padding:8px}
.osm-card-state{margin-bottom:4px;padding:1px 5px}
.osm-promote{padding:3px 5px;margin:4px 0}
.osm-card-columns{gap:4px;margin-bottom:4px}
.osm-card-columns>div+div{padding-top:4px}
.osm-overview .osm-channel-row{line-height:1.25;padding:1px 0;min-height:17px}
.osm-overview .osm-posting-action{line-height:1.25;padding:3px 6px}
.osm-overview .osm-card-details{line-height:1.25;padding-top:4px}
@media(pointer:coarse){.osm-overview .osm-channel-row,.osm-overview .osm-posting-action,.osm-overview .osm-card-details{min-height:36px}}
.osm-overview{box-sizing:border-box}

/* Smaller portal branding with less surrounding whitespace. */
.brand-header{padding:1rem 1.25rem .75rem}
.brand-header .brand-image{width:min(33.6rem,52.5vw);max-width:100%;height:auto}
.brand-header .portal-title{margin-top:.5rem;font-size:clamp(.9rem,1.3vw,1.1rem)}
@media(max-width:619px){.brand-header{padding:.75rem .75rem .6rem}.brand-header .brand-image{width:59.5vw}.brand-header .portal-title{font-size:.9rem;margin-top:.4rem}}

/* Keep checklist cards compact instead of stretching across spare width. */
.osm-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,290px));justify-content:start}
@media(max-width:619px){.osm-card-grid{grid-template-columns:minmax(0,290px);justify-content:center}}
.osm-event-card .osm-status{justify-self:start;justify-content:flex-start;text-align:left}
