/* Reference-inspired card geometry, keeping natural height for long content. */
.osm-overview .osm-card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,330px));gap:14px}
.osm-overview .osm-event-card{padding:14px;border-radius:15px;border-top-width:5px!important;gap:0}
.osm-card-topline{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:12px;min-width:0}
.osm-overview .osm-card-state{margin:0;padding:5px 9px;border-radius:7px;font-size:10px;line-height:1.3;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.2px}
.osm-card-tag{max-width:62%;text-align:right;color:#6a707b;font-size:10px;font-weight:700;line-height:1.35;text-transform:uppercase;letter-spacing:.3px;padding:2px 0 5px;border-bottom:1px solid #bd9a35;overflow-wrap:anywhere}
.osm-overview .osm-event-heading{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:stretch;margin:0}
.osm-overview .osm-date{background:#e0e7f5;color:#365c9d;border:0;border-radius:9px;width:64px;min-width:64px;padding:8px 4px;justify-content:center;align-items:center;gap:3px}
.osm-overview .osm-date>span{font-size:11px;line-height:1.2;font-weight:700;letter-spacing:.4px}
.osm-overview .osm-date strong{font-size:34px;line-height:1.05;font-weight:700}
.osm-overview .osm-event-name{display:flex;flex-direction:column;justify-content:space-between;gap:7px;min-width:0}
.osm-overview .osm-event-name h2{font-size:16px;font-weight:700;line-height:1.25;margin:0;color:#172b43;letter-spacing:-.3px}
.osm-overview .osm-event-name>span{font-size:11px;line-height:1.4;color:#657082}
.osm-overview .osm-promote{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:6px 8px;margin:12px 0 10px;border-radius:6px;background:#eef0f3;font-size:11px}
.osm-overview .osm-promote strong{font-size:10px;font-weight:700;color:#727986}
.osm-overview .osm-card-columns{gap:10px;margin-bottom:0}
.osm-overview .osm-card-columns>div+div{padding-top:8px;margin:0;border-top:1px solid #e8ecf1}
.osm-overview .osm-card-columns h3{font-size:13px;line-height:1.3;font-weight:700;margin:0 0 4px}
.osm-overview .osm-channel-row{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:8px;padding:3px 0;min-height:24px;align-items:center}
.osm-overview .osm-event-card .osm-status{font-size:11px;gap:6px;justify-self:start;justify-content:start;text-align:left;align-items:center;line-height:1.3}
.osm-overview .osm-event-card .osm-status-icon{width:16px;height:16px;min-width:16px;font-size:11px;line-height:1;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.osm-card-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:12px}
.osm-overview .osm-card-details{width:auto;margin:0;padding:7px 11px;border:1px solid transparent;border-radius:7px;background:#e0e7f5;color:#365c9d;font-size:11px!important;font-weight:700;line-height:1.3;text-align:center}
.osm-overview .osm-card-details:hover{background:#cddaf1;border-color:#9bb3d8}
@media(max-width:619px){.osm-overview .osm-card-grid{grid-template-columns:minmax(0,330px);justify-content:center}}

/* Church-site heading family, paired with Inter for dense interface text. */
.osm-overview .osm-event-name h2{font-family:"Sofia Sans Extra Condensed","Arial Narrow",sans-serif;font-size:23px;font-weight:800;line-height:1.05;letter-spacing:.15px;text-transform:uppercase}
.osm-overview h1{font-family:"Sofia Sans Extra Condensed","Arial Narrow",sans-serif;font-size:32px;font-weight:800;line-height:1.1;letter-spacing:.2px}
.osm-overview .osm-card-columns h3{font-family:"Sofia Sans Extra Condensed","Arial Narrow",sans-serif;font-size:18px;font-weight:800;line-height:1.1;letter-spacing:.3px;text-transform:uppercase}
/* Squarer cards: compact vertical rhythm without clipping or fixed heights. */
.osm-overview .osm-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,360px));gap:14px}
.osm-overview .osm-event-card{padding:12px}
.osm-overview .osm-card-topline{margin-bottom:8px}
.osm-overview .osm-card-state{padding:3px 8px}
.osm-overview .osm-event-heading{grid-template-columns:54px minmax(0,1fr);gap:10px}
.osm-overview .osm-date{width:54px;min-width:54px;padding:5px 4px;gap:2px}
.osm-overview .osm-date strong{font-size:28px}
.osm-overview .osm-date>span{font-size:10px}
.osm-overview .osm-event-name{gap:4px}
.osm-overview .osm-event-name h2{font-size:22px}
.osm-overview .osm-promote{grid-template-columns:54px minmax(0,1fr);gap:10px;padding:4px 6px;margin:8px 0}
.osm-overview .osm-card-columns{gap:6px}
.osm-overview .osm-card-columns h3{margin-bottom:2px;font-size:17px}
.osm-overview .osm-card-columns>div+div{padding-top:6px}
.osm-overview .osm-channel-row{min-height:21px;padding:2px 0;line-height:1.3}
.osm-overview .osm-card-footer{padding-top:8px}
.osm-overview .osm-card-details{padding:5px 10px}
@media(max-width:619px){.osm-overview .osm-card-grid{grid-template-columns:minmax(0,360px);justify-content:center}}
@media(pointer:coarse){.osm-overview .osm-channel-row{min-height:30px}}

/* Scheduled clock: centered geometry independent of text font metrics. */
.osm-overview .osm-status-scheduled .osm-status-icon{font-size:0!important;position:relative}
.osm-overview .osm-status-scheduled .osm-status-icon::before{content:"";position:absolute;box-sizing:border-box;width:64%;height:64%;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid white;border-radius:50%}
.osm-overview .osm-status-scheduled .osm-status-icon::after{content:"";position:absolute;box-sizing:border-box;width:23%;height:27%;left:50%;top:27%;border-left:1px solid white;border-bottom:1px solid white}

/* Balanced dropdown insets; retain native select keyboard/menu behavior. */
.osm-overview .osm-overview-controls select{appearance:none;-webkit-appearance:none;padding:9px 36px 9px 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%23496078' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 12px}
@media(forced-colors:active){.osm-overview .osm-overview-controls select{appearance:auto;-webkit-appearance:auto;background-image:none}}

/* Use the full browser width and add columns as space becomes available. */
.osm-overview{width:100%;max-width:none;margin:12px 0;box-sizing:border-box}
.osm-overview .osm-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));justify-content:stretch}
@media(max-width:619px){.osm-overview{width:100%;margin:8px 0}.osm-overview .osm-card-grid{grid-template-columns:minmax(0,1fr)}}
