/* Compact calendar workspace; uses the console's active theme and semantic colors. */
html[data-console-theme] #mainSidebar [data-page="calendar"].has-new-lead { box-shadow: inset 3px 0 #bbef1f !important; }
#calendarScreen .calendar-workspace-header { align-items: center; gap: 1rem; }
#calendarScreen .calendar-workspace-header .hint { margin: .35rem 0 0; }
#calendarScreen .cw-tabs { display: flex; gap: .25rem; border-bottom: 1px solid var(--border, #393638); margin: .5rem 0; }
#calendarScreen .cw-tabs button { background: transparent; color: var(--text-muted, #aaa); border: 0; border-bottom: 3px solid transparent; padding: .8rem 1rem; font: inherit; cursor: pointer; }
#calendarScreen .cw-tabs button[aria-selected="true"] { color: var(--text, #eff8ff); border-bottom-color: var(--lime, #bbef1f); font-weight: 650; }
#calendarScreen .cw-tabs span { margin-left: .4rem; padding: .1rem .45rem; border-radius: 6px; background: var(--lime, #bbef1f); color: #0d0303; font-variant-numeric: tabular-nums; }
#calendarScreen .cw-live { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 2.5rem; font-size: .8rem; color: var(--text-muted, #aaa); margin-bottom: .75rem; }
#calendarScreen .calendar-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: .5rem 0 1rem; }
#calendarScreen .calendar-toolbar__range { margin: 0 .5rem; font-weight: 650; }
#calendarScreen .calendar-mode-tabs { max-width: 38rem; }
#calendarScreen .calendar-board { padding: .5rem; border: 1px solid var(--border, #393638); border-radius: 12px; background: transparent; }
#calendarScreen .calendar-month__head, #calendarScreen .calendar-month__row { grid-template-columns: 2.5rem repeat(7, minmax(0, 1fr)); gap: .35rem; }
#calendarScreen .calendar-month-day { padding: .45rem; min-height: 9rem; border-radius: 8px; }
#calendarScreen .calendar-month__week-btn { writing-mode: vertical-rl; font-size: .65rem; padding: .25rem; }
#calendarScreen .calendar-month__row { padding: .3rem; border: 1px solid transparent; border-radius: 10px; }
#calendarScreen .calendar-month__head { padding-inline: calc(.3rem + 1px); }
#calendarScreen .calendar-month__row--current { border-color: #91b837; background: rgba(187,239,31,.055); }
#calendarScreen .calendar-month__row--current .calendar-month__week-btn { color: var(--lime, #bbef1f); border: 0; background: rgba(187,239,31,.10); }
#calendarScreen .calendar-month-day--past { background: #121213 !important; border-color: #2d2d30 !important; }
#calendarScreen .calendar-month-day--past .calendar-month-day__num { color: #a5a8ad !important; }
#calendarScreen .calendar-month-day--past .calendar-month-day__free { color: #a2b4ac !important; }
#calendarScreen .calendar-month-day--past .calendar-month-day__chips { filter: saturate(.4); opacity: .82; }
#calendarScreen .calendar-month-day--past:is(:hover, :focus-within) .calendar-month-day__chips { filter: none; opacity: 1; }
#calendarScreen .calendar-month-day--muted { opacity: .72; }
#calendarScreen .calendar-month-day--today { border-color: var(--lime, #bbef1f) !important; box-shadow: inset 0 3px 0 var(--lime, #bbef1f) !important; }
#calendarScreen .calendar-month-day__num { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; }
#calendarScreen .calendar-month-day__today-label { color: var(--lime, #bbef1f); font-size: .6rem; font-weight: 600; }
html:is([data-console-theme="light"], [data-console-theme="windows"]) #calendarScreen .calendar-month-day--past { background: #ededee !important; border-color: #d6d6d9 !important; }
html:is([data-console-theme="light"], [data-console-theme="windows"]) #calendarScreen .calendar-month-day--past .calendar-month-day__num { color: #65696f !important; }
html:is([data-console-theme="light"], [data-console-theme="windows"]) #calendarScreen .calendar-month-day--past .calendar-month-day__free { color: #56685e !important; }
#calendarScreen .calendar-month-chip { text-align: left; white-space: normal; padding: .35rem .4rem; min-width: 0; border-radius: 5px; }
#calendarScreen .calendar-month-chip strong { font-size: .75rem; }
#calendarScreen .calendar-month-chip em { display: none; }
#calendarScreen .calendar-month-chip__more { display: block; font-size: .75rem; }
#calendarScreen .cw-chip-status { display: block; font-size: .65rem; margin-top: .2rem; opacity: .85; }
#calendarScreen .calendar-booking--wash { color: #a9e3ff; background: rgba(35,126,188,.2); border-color: #477e99; }
#calendarScreen .calendar-booking--detailing { color: #d6f299; background: rgba(142,175,52,.16); border-color: #647b38; }
#calendarScreen .calendar-booking--commerce { color: #ffdf86; background: rgba(189,132,24,.18); border-color: #937a3c; }
#calendarScreen .calendar-booking--cancelled, #calendarScreen .calendar-booking--no_show { opacity: .65; border-style: dashed; }
html:is([data-console-theme="light"], [data-console-theme="windows"]) #calendarScreen .calendar-booking--wash { color: #154965; }
html:is([data-console-theme="light"], [data-console-theme="windows"]) #calendarScreen .calendar-booking--detailing { color: #354e11; }
html:is([data-console-theme="light"], [data-console-theme="windows"]) #calendarScreen .calendar-booking--commerce { color: #604608; }
#calendarScreen .cw-record { border: 1px solid var(--border, #393638); border-left: 3px solid var(--lime, #bbef1f); border-radius: 12px; padding: 1rem; margin: 0 0 1rem; scroll-margin-top: 1rem; }
#calendarScreen .cw-record-head, #calendarScreen .cw-inbox-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .75rem; }
#calendarScreen .cw-record-head h3, #calendarScreen .cw-inbox-head h3 { margin: 0; }
#calendarScreen .cw-record .booking-card { margin: 0; box-shadow: none; }
#calendarScreen .cw-inbox-head .hint { margin: .3rem 0 0; max-width: 42rem; }
#calendarScreen .cw-inbox-head label { display: grid; gap: .3rem; font-size: .8rem; }
#calendarScreen .cw-incoming { padding: .85rem 1rem; margin: .5rem 0; border: 1px solid var(--border, #393638); border-left: 3px solid #bdadf4; border-radius: 8px; background: var(--card, #191718); }
#calendarScreen .cw-incoming--wash { border-left-color: #77d3ff; }
#calendarScreen .cw-incoming--commerce { border-left-color: #f5cf6a; }
#calendarScreen .cw-incoming-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-size: .75rem; color: var(--text-muted, #aaa); margin-bottom: .5rem; }
#calendarScreen .cw-fresh { color: var(--lime, #bbef1f); }
#calendarScreen .cw-incoming-main { display: flex; justify-content: space-between; gap: 1rem; }
#calendarScreen .cw-incoming-main p { margin: .35rem 0 0; font-size: .85rem; }
#calendarScreen .cw-incoming-action { display: flex; align-items: flex-end; flex-direction: column; justify-content: space-between; gap: .75rem; flex-shrink: 0; }
#calendarScreen .cw-incoming-action .status { white-space: nowrap; }
#calendarScreen #calendarBookingSearch { flex: 1 1 17rem; }
#calendarScreen #bookingsList { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: .75rem; }
#calendarScreen #bookingsList .booking-card { margin: 0; }
#calendarScreen [aria-busy="true"] { cursor: progress; }
#calendarScreen button:focus-visible { outline: 2px solid var(--lime, #bbef1f); outline-offset: 3px; }
#calendarScreen [hidden] { display: none !important; }
@media (max-width: 760px) {
  #calendarScreen .calendar-workspace-header, #calendarScreen .cw-record-head, #calendarScreen .cw-inbox-head { align-items: flex-start; flex-direction: column; }
  #calendarScreen .cw-tabs button { padding: .7rem .65rem; font-size: .85rem; }
  #calendarScreen .cw-incoming-main { flex-direction: column; }
  #calendarScreen .cw-incoming-action { flex-direction: row; align-items: center; }
  #calendarScreen .calendar-month { min-width: 680px; }
  #calendarScreen .calendar-board { overflow-x: auto; }
  #calendarScreen .cw-live { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { #calendarScreen *, #calendarScreen *::before { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* A steady label stays visible after the initial attention pulse. */
#calendarScreen .calendar-day--online-pending {
  border-color: #59caff !important;
  background: #12242e !important;
}
#calendarScreen .calendar-online-indicator {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  width: fit-content;
  padding: .08rem .34rem;
  border-radius: 5px;
  background: #142e40;
  color: #c8efff;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.45;
}
#calendarScreen .calendar-online-indicator::before {
  content: '';
  width: .4rem;
  height: .4rem;
  border-radius: 50%;
  background: #59caff;
  box-shadow: 0 0 6px #59caff;
}
html:is([data-console-theme="light"], [data-console-theme="windows"]) #calendarScreen .calendar-day--online-pending {
  background: #e9f7ff !important;
  border-color: #1277a8 !important;
}
@media (prefers-reduced-motion: no-preference) {
  #calendarScreen .calendar-online-indicator::before { animation: calendar-online-pulse 1.6s ease-in-out 3 !important; }
  @keyframes calendar-online-pulse {
    50% { opacity: .4; box-shadow: 0 0 0 4px transparent; }
  }
}
