.calendar-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 0 12px; padding: 9px 12px; border: 1px solid #242e3d; border-radius: 10px; background: #0e131b; color: #b4c1d3; font-size: 11px; }
.calendar-legend-label { color: #e2eaf5; font-weight: 600; }
.calendar-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.calendar-legend-dot { width: 8px; height: 8px; border-radius: 3px; flex: 0 0 8px; }
.calendar-legend-note { flex-basis: 100%; color: #91a1b8; font-size: 10px; }

#section-calendar .status-yellow, .calendar-more-dialog .status-yellow { --calendar-tone: #e5b94f; --calendar-event-bg: #2a2313; }
#section-calendar .status-green, .calendar-more-dialog .status-green { --calendar-tone: #2fc67a; --calendar-event-bg: #13251d; }
#section-calendar .status-blue, .calendar-more-dialog .status-blue { --calendar-tone: #5b8cff; --calendar-event-bg: #17233c; }
#section-calendar .status-darkgreen, .calendar-more-dialog .status-darkgreen { --calendar-tone: #1b8f57; --calendar-event-bg: #0f2118; }
#section-calendar .status-orange, .calendar-more-dialog .status-orange { --calendar-tone: #f59e0b; --calendar-event-bg: #2c2010; }
#section-calendar .status-red, .calendar-more-dialog .status-red { --calendar-tone: #ef5b5b; --calendar-event-bg: #2a1718; }
#section-calendar .status-gray, .calendar-more-dialog .status-gray { --calendar-tone: #8692a6; --calendar-event-bg: #181b20; }
#section-calendar .calendar-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
#section-calendar .calendar-month-scroll { max-width: 100%; min-width: 0; overflow-x: auto; }
#section-calendar .cal-day { min-width: 0; }
#section-calendar .cal-day.out { opacity: 1; background: #0b0e13; }
#section-calendar .cal-day.out .cal-num { color: #66758b; }
#section-calendar .cal-event { display: block; width: 100%; min-width: 0; padding: 6px 7px; border: 0; border-left: 2px solid var(--calendar-tone); border-radius: 7px; color: #e7edf7; background: var(--calendar-event-bg); font: inherit; line-height: 1.3; text-align: left; cursor: pointer; }
#section-calendar .cal-event-customer { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 650; }
#section-calendar .cal-event-meta { display: block; margin-top: 3px; color: #c0cde0; font-size: 10px; overflow-wrap: anywhere; }
#section-calendar .cal-event:focus-visible, #section-calendar .cal-more:focus-visible, .calendar-more-dialog button:focus-visible { outline: 2px solid #88b0ff; outline-offset: 2px; }
#section-calendar .cal-more { display: block; width: 100%; min-height: 28px; padding: 5px 7px; border: 1px solid #2a3a54; border-radius: 6px; margin-top: 6px; background: #141f31; color: #a9c7ff; font: inherit; font-size: 11px; text-align: left; cursor: pointer; }
#section-calendar .cal-more:hover { background: #223658; border-color: #4e72a8; }
#section-calendar .cal-list-event { grid-template-columns: 3px 62px minmax(0, 1fr) auto; }
#section-calendar .cal-list-event::before { background: var(--calendar-tone); }
#section-calendar .cal-list-main b { overflow-wrap: anywhere; }
#section-calendar .cal-list-main small { white-space: normal; max-width: none; color: #a7b8d0; overflow-wrap: anywhere; }
#section-calendar .deal-unaccepted-calendar { opacity: .72; filter: none; }

dialog.calendar-more-dialog { position: fixed; inset: auto; margin: 0; padding: 0; width: min(430px, calc(100vw - 24px)); max-width: none; max-height: min(520px, calc(100dvh - 24px)); border: 1px solid #3b4c67; border-radius: 12px; background: #111923; color: #e5edf9; box-shadow: 0 16px 55px #0008; }
dialog.calendar-more-dialog::backdrop { background: #0004; backdrop-filter: none; }
.calendar-more-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 14px 16px; border-bottom: 1px solid #2b384b; }
.calendar-more-head h3 { margin: 0; font-size: 16px; font-weight: 650; text-transform: capitalize; }
.calendar-more-head p { margin: 5px 0 0; color: #9eafc7; font-size: 12px; }
.calendar-more-close { display: grid; place-items: center; min-width: 32px; height: 32px; padding: 0; border: 1px solid #35445d; border-radius: 7px; background: #1b2739; color: #d6e4fb; font-size: 22px; cursor: pointer; }
.calendar-more-list { display: grid; gap: 7px; padding: 12px; max-height: min(410px, calc(100dvh - 130px)); overflow-y: auto; overscroll-behavior: contain; }
.calendar-more-event { display: grid; gap: 4px; width: 100%; min-height: 52px; padding: 9px 11px; border: 1px solid #ffffff0b; border-left: 3px solid var(--calendar-tone); border-radius: 7px; background: var(--calendar-event-bg); color: #e5edf9; text-align: left; cursor: pointer; }
.calendar-more-event strong { font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.calendar-more-event span { font-size: 12px; line-height: 1.45; color: #b9c8df; overflow-wrap: anywhere; }
.calendar-more-event:hover { filter: brightness(1.15); }
@media (max-width: 780px) {
  .calendar-legend { gap: 7px 12px; padding: 9px; }
  #section-calendar .calendar-grid { min-width: 760px; }
  #section-calendar .calendar-weekdays { min-width: 760px; }
  #section-calendar .cal-event-customer { font-size: 11px; }
  #section-calendar .cal-more { min-height: 36px; }
  #section-calendar .cal-list-event { grid-template-columns: 3px 54px minmax(0, 1fr); }
  #section-calendar .cal-list-event::before { display: block; }
  #section-calendar .cal-list-tag { grid-column: 3; }
}
