.nexus-events { color:#4b2f1c; display:grid; gap:14px; }
.nexus-events * { box-sizing:border-box; }
.nexus-events__hero { background:linear-gradient(135deg,#183f3b,#315f55); border:1px solid #122f2d; color:#fff8df; display:flex; justify-content:space-between; gap:20px; padding:20px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); }
.nexus-events__hero h1 { color:#fff8df; font-size:25px; margin:4px 0 6px; }
.nexus-events__hero p { margin:0; max-width:620px; }
.nexus-events__eyebrow { color:#d9b86c; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.nexus-events__meta { align-self:center; border-left:1px solid rgba(255,255,255,.25); display:grid; gap:3px; min-width:185px; padding-left:18px; text-align:right; }
.nexus-events__meta span { color:#d5e6df; font-size:12px; }
.nexus-events__status-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.nexus-events__status-card { background:#f5e8ca; border:1px solid #b29467; min-height:110px; padding:14px; }
.nexus-events__status-card strong { display:block; font-size:16px; margin-top:6px; }
.nexus-events__status-card p { margin:4px 0 0; }
.nexus-events__upcoming { align-items:center; border-top:1px solid #d7c29c; display:flex; justify-content:space-between; padding:5px 0; }
.nexus-events__upcoming:first-of-type { border-top:0; }
.nexus-events__upcoming strong { font-size:13px; margin:0; }
.nexus-events__upcoming span { color:#76563c; font-size:12px; }
.nexus-events__calendar-header { align-items:center; background:#4d3a31; color:#fff; display:grid; grid-template-columns:42px 1fr 42px; min-height:42px; text-align:center; }
.nexus-events__calendar-header h2 { color:#fff; font-size:17px; margin:0; }
.nexus-events__nav { align-items:center; color:#f7d886!important; display:flex; font-size:27px; height:42px; justify-content:center; text-decoration:none!important; }
.nexus-events__nav:hover { background:#624b3f; }
.nexus-events__nav.is-disabled { color:#89756a; }
.nexus-events__calendar { background:#b49a76; border:1px solid #765d43; display:grid; gap:1px; grid-template-columns:repeat(7,minmax(0,1fr)); overflow:hidden; }
.nexus-events__weekday { background:#6a5346; color:#fff; font-size:12px; font-weight:700; padding:7px 3px; text-align:center; }
.nexus-events__day { background:#f3e4c6; min-height:82px; overflow:hidden; padding:6px; }
.nexus-events__day.is-outside { background:#ddc9a7; color:#927d66; }
.nexus-events__day.is-today { box-shadow:inset 0 0 0 2px #287064; }
.nexus-events__day time { display:block; font-weight:800; margin-bottom:4px; }
.nexus-events__marker { background:var(--event-color); border-radius:2px; color:#fff; display:block; font-size:10px; line-height:1.25; margin:2px 0; overflow:hidden; padding:3px 4px; text-overflow:ellipsis; white-space:nowrap; }
.nexus-events__list { display:grid; gap:9px; }
.nexus-events__event { background:#f6ead1; border:1px solid #b89a70; border-left:5px solid var(--event-color); display:grid; gap:14px; grid-template-columns:105px 1fr; padding:13px; }
.nexus-events__event-date { border-right:1px solid #d2ba91; display:grid; align-content:center; }
.nexus-events__event-date strong { color:var(--event-color); font-size:20px; }
.nexus-events__event-date span { font-size:11px; }
.nexus-events__event h3 { color:#49301f; font-size:17px; margin:0 0 4px; }
.nexus-events__event p { margin:0; }
.nexus-events__badges { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.nexus-events__badges span { background:var(--event-accent); border-radius:12px; color:#fff; font-size:11px; font-weight:700; padding:3px 8px; }
.nexus-events__footnote { background:#e7d2ad; border-left:3px solid #80643e; font-size:11px; padding:9px 11px; }
@media (max-width:700px) {
  .nexus-events__hero { display:grid; padding:15px; }
  .nexus-events__meta { border-left:0; border-top:1px solid rgba(255,255,255,.25); padding:10px 0 0; text-align:left; }
  .nexus-events__status-grid { grid-template-columns:1fr; }
  .nexus-events__calendar { grid-template-columns:repeat(7,minmax(0,1fr)); }
  .nexus-events__weekday { font-size:10px; padding:6px 1px; }
  .nexus-events__day { min-height:60px; padding:3px; }
  .nexus-events__marker { border-radius:50%; font-size:0; height:7px; margin:3px auto; padding:0; width:7px; }
  .nexus-events__event { grid-template-columns:1fr; }
  .nexus-events__event-date { border-bottom:1px solid #d2ba91; border-right:0; padding-bottom:8px; }
}
