/* Quiet event status on the working page; the full schedule has its own page. */
#events-now { margin: 16px 0 19px; }
.events-now-strip { display: flex; align-items: center; gap: 15px; min-width: 0; padding: 11px 14px; border: 1px solid #6b573b70; border-radius: 6px; background: linear-gradient(100deg,#35281c45,#1b181e70 60%); }
.events-now-heading { display: grid; grid-template-columns: 6px auto; flex: 0 0 auto; align-items: center; gap: 2px 7px; }
.events-now-heading h2 { margin: 0; color: #d9c29a; font: 600 12px/1.4 var(--sans,Arial,sans-serif); }
.events-now-units { grid-column: 2; color: #a5906e; font-size: 9px; line-height: 1.3; letter-spacing: .05em; }
.calendar-live-dot { width: 6px; height: 6px; flex: none; border-radius: 50%; background: #afbd7a; box-shadow: 0 0 0 3px #afbd7a12; }
.events-now-items { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; gap: 20px; }
.events-now-item { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1 1 0; max-width: 275px; }
.events-now-copy { display: flex; align-items: center; flex-wrap: wrap; gap: 1px 10px; min-width: 0; }
.events-now-copy strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #ded4c4; font: 500 12px/1.45 var(--sans,Arial,sans-serif); }
.calendar-countdown { color: #e9ca8b; font: 600 12px/1.35 var(--sans,Arial,sans-serif); font-variant-numeric: tabular-nums; white-space: nowrap; letter-spacing: .035em; }
.calendar-event-badge { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; overflow: hidden; border: 1px solid #b5914b80; border-radius: 50%; background: radial-gradient(ellipse at 35% 25%,#71502b,#2d2422 75%); box-shadow: inset 0 0 0 2px #17131970; color: #e5cc98; font: 550 10px/1 var(--serif,Georgia,serif); }
.calendar-event-badge.has-art .calendar-badge-initials { visibility: hidden; }
.calendar-event-badge img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.calendar-event-badge img[hidden] { display: none; }
.events-now-link { display: flex; align-items: center; gap: 8px; margin-left: auto; flex: 0 0 auto; color: #c6ab7b; font-size: 12px; }
.events-now-link:hover, .events-now-item:hover .events-now-copy strong { color: #f0d8a9; }
.events-now-link:focus-visible, .events-now-item:focus-visible { outline: 2px solid #edce8b; outline-offset: 4px; border-radius: 3px; }
.events-now-empty { margin: 0; color: #ad9e88; font-size: 12px; }
.events-now-stale { flex-basis: 100%; margin: -5px 0 0; color: #c6a66b; font-size: 10px; }
.events-now-strip:has(.events-now-stale) { flex-wrap: wrap; }
.events-reset-chip { display:flex;align-items:center;flex:0 0 auto;gap:7px;min-width:0;padding-right:14px;border-right:1px solid #8f744839;color:#d0ba91; }
.calendar-reset-symbol { display:grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid #a98b5366;border-radius:50%;color:#d3b06a;font:500 22px/1 Georgia,serif; }
.events-reset-chip strong { display:block;color:#c9b893;font-size:10px;font-weight:400;line-height:1.5; }
.events-reset-chip strong b { display:block;color:#ecd5a5;font-size:12px;font-weight:600;white-space:nowrap; }
.events-reset-chip small { display:flex;gap:4px;align-items:center;color:#a59479;font-size:10px;line-height:1.4; }
.events-reset-chip .calendar-countdown { font-size:10px;color:#cdb786; }
.events-reset-chip:hover strong b { color:#ffe4aa; }
.calendar-timebar { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 20px;align-items:center;margin:-7px 0 20px;padding:12px 14px;border:1px solid #8a71453d;border-radius:6px;background:linear-gradient(110deg,#25312a85,#1d2028); }
.calendar-timezone-controls { display:flex;align-items:center;flex-wrap:wrap;gap:9px 12px;min-width:0; }
.calendar-timezone-label { display:flex;align-items:center;gap:6px;flex:none;color:#c6b58e;font-size:12px; }
.calendar-timezone-label > span { color:#a5bdb2;font-size:20px;line-height:1; }
.calendar-zone-presets { display:flex;flex-wrap:wrap;gap:5px;min-width:0; }
.calendar-zone-presets button { display:grid;place-items:center;min-height:31px;min-width:36px;padding:5px 9px;border:1px solid #6b725d4d;border-radius:4px;background:#ffffff06;color:#b9bdb0;font:500 11px/1.3 var(--sans,Arial,sans-serif);white-space:nowrap; }
.calendar-zone-presets button:hover { border-color:#d4b16d;background:#b89a4d15;color:#f2dcaa; }
.calendar-zone-presets button[aria-pressed='true'] { border-color:#d1ad64;background:linear-gradient(#a17b34,#765324);color:#fff0c4;box-shadow:inset 0 0 0 1px #f1d58a22; }
.calendar-zone-picker { display:block;min-width:0; }
.calendar-zone-picker select { max-width:100%;min-height:33px;width:225px;padding:5px 24px 5px 9px;border:1px solid #777d654d;border-radius:4px;background:#1a2323;color:#d1d2bb;font:400 11px/1.4 var(--sans,Arial,sans-serif); }
.calendar-reset-status { display:flex;align-items:center;gap:10px;flex:none;padding-left:17px;border-left:1px solid #ac8e4f33; }
.calendar-reset-status > div { display:flex;flex-direction:column;gap:3px; }
.calendar-reset-status > div > span { color:#b5aa91;font-size:10px;line-height:1.3; }
.calendar-reset-status strong { color:#ead5a6;font:600 14px/1.4 var(--sans,Arial,sans-serif);white-space:nowrap; }
.calendar-reset-status .calendar-reset-next { padding-left:9px;border-left:1px solid #ac8e4f33; }
.calendar-reset-status .calendar-countdown { font-size:13px; }
.calendar-reset-note { grid-column:1 / -1;margin:0;color:#9c9983;font-size:10px;line-height:1.45; }
.calendar-zone-picker select:focus-visible, .calendar-zone-presets button:focus-visible { outline:2px solid #e4c585;outline-offset:3px; }

#calendar-page { margin: 26px 0 35px; }
.calendar-page-inner { min-width: 0; }
.calendar-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.calendar-page-heading h1 { margin: 0 0 7px; color: #eee3d0; font: 500 29px/1.35 var(--serif,Georgia,serif); letter-spacing: -.02em; }
.calendar-page-heading p { margin: 0; color: #b6aa98; font-size: 13px; line-height: 1.65; }
.calendar-refresh { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 7px; min-height: 36px; padding: 6px 11px; border: 1px solid #715a37; border-radius: 4px; background: #b4934709; color: #cfb889; font: 500 12px/1.4 var(--sans,Arial,sans-serif); }
.calendar-refresh > span:first-child { font-size: 21px; line-height: 1; }
.calendar-refresh:hover { border-color: #bc9654; background: #b4934718; }
.calendar-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 13px 20px; margin-bottom: 16px; }
.calendar-week-navigation { display: flex; align-items: center; gap: 5px; min-width: 0; }
.calendar-week-navigation button { display: grid; place-items: center; min-width: 34px; min-height: 34px; padding: 5px 9px; border: 1px solid #67513780; border-radius: 4px; background: #262024; color: #d6bd8f; font: 500 13px/1.4 var(--sans,Arial,sans-serif); }
.calendar-week-navigation button:first-child, .calendar-week-navigation button:nth-child(3) { font-size: 21px; line-height: 1; }
.calendar-week-navigation h2 { margin: 0 0 0 11px; color: #e5d4b6; font: 550 16px/1.5 var(--sans,Arial,sans-serif); }
.calendar-mini-toggle { display: flex; align-items: center; gap: 8px; color: #baa98c; font-size: 12px; }
.calendar-mini-toggle input { accent-color: #c9a461; width: 15px; height: 15px; }
.calendar-toolbar-notes { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.calendar-time-format { color: #a69780; font-size: 10px; line-height: 1.4; }
.calendar-week-board { padding: 0 14px 16px; overflow: hidden; border: 1px solid #68543a90; border-radius: 6px; background: #1b181e85; }
.calendar-week-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); margin: 0 -14px 12px; border-bottom: 1px solid #62503855; }
.calendar-week-day { position: relative; display: flex; align-items: baseline; justify-content: center; gap: 8px; padding: 15px 5px 13px; color: #a99a85; font-size: 11px; }
.calendar-week-day + .calendar-week-day { border-left: 1px solid #62503830; }
.calendar-week-day strong { color: #dfd2ba; font-size: 18px; font-weight: 550; }
.calendar-week-day.is-today { background: #ad864015; }
.calendar-week-day.is-today strong { color: #edc67c; }
.calendar-week-day.is-today::after { position: absolute; right: 20px; bottom: -1px; left: 20px; height: 2px; background: #c5a264; content: ''; }
.calendar-week-events { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); grid-template-rows: repeat(var(--calendar-rows,2), minmax(52px,auto)); gap: 8px 5px; min-width: 0; }
.calendar-event-bar { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 7px 8px; border: 1px solid #6d55376b; border-left: 3px solid #a48450; border-radius: 4px; background: linear-gradient(105deg,#53402b47,#2b2426b0); }
.calendar-event-bar > div { min-width: 0; }
.calendar-event-bar h3 { margin: 0 0 4px; overflow: hidden; color: #e0d3bd; font: 550 12px/1.4 var(--sans,Arial,sans-serif); text-overflow: ellipsis; white-space: nowrap; }
.calendar-event-bar p { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin: 0; color: #b4a486; font-size: 10px; }
.calendar-event-bar .calendar-event-badge { width: 30px; height: 30px; }
.calendar-event-bar.is-active { border-color: #a98c5266; border-left-color: #c6ba7f; background: linear-gradient(105deg,#5147286b,#302b24c2); }
.calendar-event-bar.is-ended { opacity: .48; }
.calendar-event-bar.is-mini { border-left-color: #8b9eaf; background: #28323c50; }
.calendar-event-bar.is-projected { border-style: dashed; opacity: .7; }
.calendar-projected-label { color: #bfaa88; font-size: 10px; }
.calendar-event-bar .calendar-countdown { font-size: 11px; }
.calendar-event-bar[style*="span 1"] .calendar-event-badge { display: none; }
.calendar-agenda { display: none; }
.calendar-empty { display: grid; place-items: center; min-height: 120px; margin: 0; padding: 20px; color: #b8aa95; text-align: center; font-size: 13px; }
.calendar-week-board:has(+ .calendar-agenda:empty) { display: none; }
.calendar-footer { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 9px 18px; margin-top: 13px; color: #9f927e; font-size: 11px; line-height: 1.6; }
.calendar-footer > div:last-child { display: flex; flex-wrap: wrap; gap: 6px 17px; }
.calendar-footer a { color: #b7a079; text-decoration: underline; text-underline-offset: 3px; }
.calendar-status.is-stale { color: #c8aa70; }
.calendar-page-inner button:focus-visible, .calendar-mini-toggle input:focus-visible { outline: 2px solid #edce8b; outline-offset: 3px; }

@media (max-width: 1000px) {
  .calendar-timebar { grid-template-columns:minmax(0,1fr); }
  .calendar-reset-status { justify-self:start;border-left:0;padding-left:0; }
  .events-reset-chip { padding-right:10px; }
  .events-reset-chip .calendar-reset-symbol { display:none; }
  .events-now-items { gap: 14px; }
  .events-now-copy { display: block; }
  .events-now-copy strong { display: block; }
  .events-now-item { gap: 7px; }
  .calendar-week-board { display: none; }
  .calendar-agenda { display: grid; gap: 9px; }
  .calendar-agenda-event { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 15px 16px; border: 1px solid #67503970; border-radius: 5px; background: linear-gradient(100deg,#32291f55,#1d191f); }
  .calendar-agenda-event.is-active { border-left: 3px solid #b5b477; background: linear-gradient(100deg,#48452a50,#211d22); }
  .calendar-agenda-event.is-ended { opacity: .45; }
  .calendar-agenda-event.is-projected { border-style: dashed; }
  .calendar-agenda-copy { min-width: 0; flex: 1 1 auto; }
  .calendar-agenda-copy h3 { margin: 0 0 4px; color: #e0d2bb; font: 550 14px/1.4 var(--sans,Arial,sans-serif); }
  .calendar-agenda-copy p { display: flex; flex-wrap: wrap; gap: 3px 7px; margin: 0; color: #b4a18b; font-size: 11px; }
  .calendar-agenda-state { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: 0 0 auto; max-width: 140px; color: #b8a381; font-size: 11px; }
  .calendar-active-label { color: #c1c291; font-size: 11px; }
}
@media (max-width: 700px) {
  .events-reset-chip { margin-left:auto;padding:0;border:0; }
  .events-reset-chip strong { display:flex;align-items:baseline;gap:5px; }
  .events-reset-chip small { justify-content:flex-end; }
  .events-now-link { order:4; }
  .calendar-timebar { margin-top:0;padding:11px 12px;gap:12px; }
  .calendar-timezone-controls { gap:9px; }
  .calendar-zone-presets { gap:5px; }
  .calendar-zone-presets button { min-height:32px;padding:5px 8px;font-size:10px; }
  .calendar-zone-picker { width:100%; }
  .calendar-zone-picker select { width:100%;font-size:12px;min-height:36px; }
  .calendar-reset-note { font-size:10px; }
  .events-now-strip { align-items: flex-start; flex-wrap: wrap; gap: 10px 12px; padding: 11px 12px; }
  .events-now-heading { align-items: center; }
  .events-now-items { order: 3; flex: 1 1 100%; flex-wrap: wrap; gap: 7px 14px; }
  .events-now-item { flex: 1 1 calc(50% - 14px); max-width: 100%; }
  .events-now-item .calendar-event-badge { width: 29px; height: 29px; }
  .events-now-copy strong { font-size: 11px; }
  .events-now-copy .calendar-countdown { font-size: 11px; }
  .events-now-link { font-size: 11px; }
  .events-now-stale { order: 4; margin: 0; }
  #calendar-page { margin-top: 20px; }
  .calendar-page-heading { align-items: flex-start; gap: 12px; margin-bottom: 18px; }
  .calendar-page-heading h1 { font-size: 24px; }
  .calendar-page-heading p { font-size: 12px; }
  .calendar-refresh { min-width: 35px; padding: 6px; }
  .calendar-refresh > span:last-child { display: none; }
  .calendar-week-navigation { flex-wrap: wrap; }
  .calendar-week-navigation h2 { flex: 1 0 100%; margin: 7px 0 0; font-size: 16px; }
  .calendar-toolbar { align-items: flex-end; }
  .calendar-agenda-event { align-items: flex-start; flex-wrap: wrap; gap: 9px 11px; padding: 12px; }
  .calendar-agenda-copy { flex-basis: calc(100% - 47px); }
  .calendar-agenda-copy h3 { font-size: 13px; }
  .calendar-agenda-state { margin-left: 45px; flex-direction: row; align-items: center; gap: 9px; max-width: 100%; }
}
