/* Loaded on the calendar only. Desktop geometry and colors remain unchanged. */
.ops-mobile-calendar-week, .ops-mobile-new-appointment, .ops-mobile-month-title { display:none; }
@media (max-width:760px) {
  .ops-calendar-page { padding-bottom:0; overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
  .ops-calendar-page button, .ops-calendar-page input, .ops-calendar-page select { font-family:inherit; }
  .ops-calendar-page .ops-shell { height:calc(100dvh - 76px - env(safe-area-inset-bottom)); min-height:0; }
  .ops-calendar-page .ops-main { display:flex; flex-direction:column; height:100%; min-height:0; }
  .ops-calendar-page .ops-header { display:none; }
  .ops-calendar-page .ops-header:has(.ops-message-alert:not(.hidden)) { display:flex; min-height:34px; padding:3px 10px; }
  .ops-calendar-page .ops-header>div:first-child, .ops-calendar-page .ops-header-actions>*:not(.ops-message-alert) { display:none; }
  .ops-calendar-page .ops-message-alert { min-height:28px; padding:3px 8px; font-size:11px; }
  .ops-calendar-page .ops-toolbar { position:relative; flex:0 0 auto; display:grid; grid-template-columns:1fr auto; gap:0 8px; padding:0 10px 5px; }
  .ops-calendar-page .ops-date-controls { grid-column:1/-1; grid-row:1; justify-content:center; height:51px; padding:0 35px; }
  .ops-calendar-page .ops-date-controls .ops-icon-button { width:28px; height:40px; background:transparent!important; }
  .ops-calendar-page .ops-date-controls .ops-date-title { max-width:none; border:0; padding:0 2px; gap:4px; font-size:16px; min-height:44px; background:transparent; }
  .ops-calendar-page #date-title { display:none; }
  .ops-calendar-page .ops-mobile-month-title { display:inline; color:#404950; font-weight:650; }
  .ops-calendar-page .ops-mobile-new-appointment { position:absolute; display:grid; place-items:center; top:3px; right:5px; width:42px; height:44px; padding:0; background:transparent; color:#404950; font-size:30px; font-weight:400; }
  .ops-calendar-page .ops-mobile-calendar-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); grid-column:1/-1; grid-row:2; padding:0 0 6px; }
  .ops-calendar-page .ops-mobile-calendar-week button { display:grid; justify-items:center; gap:2px; padding:3px 0; min-width:0; min-height:54px; background:transparent; color:#41484d; border:0; }
  .ops-calendar-page .ops-mobile-calendar-week small { font-size:11px; font-weight:500; color:#90979b; }
  .ops-calendar-page .ops-mobile-calendar-week span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; font-size:16px; font-weight:500; }
  .ops-calendar-page .ops-mobile-calendar-week [data-today="true"] span { font-weight:700; }
  .ops-calendar-page .ops-mobile-calendar-week [aria-current="date"] span { background:white; color:#414a50; box-shadow:inset 0 0 0 1px #414a50; font-weight:650; }
  .ops-calendar-page .ops-mobile-calendar-week [aria-current="date"][data-today="true"] span { background:#414a50; color:white; }
  .ops-calendar-page .ops-mobile-calendar-options { position:static; grid-column:auto; }
  .ops-calendar-page .ops-mobile-calendar-options>summary { position:absolute; top:3px; left:5px; display:grid; place-items:center; width:42px; height:44px; min-height:44px; padding:0; border:0; background:transparent; }
  .ops-calendar-page .ops-mobile-calendar-options>summary:before { content:'•••'; font-size:18px; letter-spacing:2px; }
  .ops-calendar-page .ops-mobile-calendar-options>summary span, .ops-calendar-page .ops-mobile-calendar-options>summary b { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .ops-calendar-page .ops-mobile-calendar-menu { top:49px; left:8px; right:8px; }
  .ops-calendar-page .ops-mobile-calendar-actions { display:flex; flex-wrap:wrap; gap:6px; }
  .ops-calendar-page .ops-mobile-calendar-actions button { min-height:40px; padding:6px 10px; font-size:12px; }
  .ops-calendar-page .ops-mobile-requests { position:static; grid-row:3; grid-column:1; min-width:0; }
  .ops-calendar-page .ops-mobile-requests>summary { min-height:32px; padding:3px 8px; gap:5px; font-size:11px; border-radius:7px; }
  .ops-calendar-page .ops-mobile-requests .ops-count { min-width:20px; height:20px; font-size:11px; padding:2px 5px; }
  .ops-calendar-page .ops-mobile-requests .ops-sidebar-requests { left:8px; right:8px; top:100%; }
  .ops-calendar-page .ops-view-switcher { grid-row:3; grid-column:2; }
  .ops-calendar-page .ops-view-switcher button { min-width:35px; min-height:32px; padding:4px 6px; font-size:10px; }
  .ops-calendar-page .ops-workspace { flex:1; min-height:0; overflow:hidden; }
  .ops-calendar-page .ops-calendar-card { height:100%; min-height:0; }
  .ops-calendar-page #calendar { height:100%; overflow:auto; }
  .ops-calendar-page .ops-day-scroll { height:100%; max-height:none; scroll-padding:0; }
  .ops-calendar-page .ops-day-grid.mobile-overview { --calendar-heading-height:36px; grid-template-columns:36px repeat(var(--staff-count),minmax(0,1fr)); width:100%; min-width:0; padding-right:0; }
  .ops-calendar-page .mobile-overview .ops-gutter-heading, .ops-calendar-page .mobile-overview .ops-staff-heading { height:36px; padding:4px 0; }
  .ops-calendar-page .mobile-overview .ops-staff-short { font-size:11px; font-weight:500; }
  .ops-calendar-page .mobile-overview .ops-staff-column { border-color:#eef0f1; }
  .ops-calendar-page .mobile-overview .ops-gutter-heading { font-size:8px; padding-right:4px; }
  .ops-calendar-page .mobile-overview .ops-time-labels>div { right:4px; font-size:10px; font-weight:400; color:#7b8086; }
  .ops-calendar-page .mobile-overview .ops-time-labels>.quarter { display:none; }
  .ops-calendar-page .ops-staff-column { --phone-stylist-color:#65737d; }
  .ops-calendar-page .ops-staff-column[data-stylist="fernanda"] { --phone-stylist-color:#96bd0b; }
  .ops-calendar-page .ops-staff-column[data-stylist="yasmin"] { --phone-stylist-color:#39834d; }
  .ops-calendar-page .ops-staff-column[data-stylist="sophia"] { --phone-stylist-color:#c35c0d; }
  .ops-calendar-page .ops-staff-column[data-stylist="vinicius"] { --phone-stylist-color:#006aff; }
  .ops-calendar-page .ops-staff-column[data-stylist="luiza"] { --phone-stylist-color:#16abae; }
  .ops-calendar-page .ops-staff-column[data-stylist="alejandra"] { --phone-stylist-color:#8f2bb0; }
  .ops-calendar-page .mobile-overview .ops-event { min-width:0; padding:2px 3px; border:1px solid #ffffff; border-radius:4px; box-shadow:none; left:calc(var(--phone-event-left) + 1px)!important; width:calc(var(--phone-event-width) - 2px)!important; }
  .ops-calendar-page .ops-day-grid .ops-event.upcoming { background:var(--phone-stylist-color); color:#fff; }
  .ops-calendar-page .ops-day-grid .ops-event.completed { background:color-mix(in srgb,var(--phone-stylist-color) 18%,white); color:var(--phone-stylist-color); }
  .ops-calendar-page .ops-day-grid .ops-event.ops-block-event, .ops-calendar-page .ops-day-grid .ops-event.ops-note-event { background:#e4e5e7; color:var(--phone-stylist-color); box-shadow:none; }
  .ops-calendar-page .mobile-overview .ops-event>strong { order:1; flex-shrink:0; margin:0; font-size:12px; font-weight:600; line-height:1.08; white-space:nowrap; text-overflow:clip; }
  .ops-calendar-page .mobile-overview .ops-event>.ops-event-time { order:2; flex-shrink:0; width:100%; overflow:hidden; font-size:11.5px; line-height:1.08; font-weight:400; }
  .ops-calendar-page .mobile-overview .ops-event>.ops-event-service, .ops-calendar-page .mobile-overview .ops-event>.ops-event-service-list, .ops-calendar-page .mobile-overview .ops-block-event>span:last-child, .ops-calendar-page .mobile-overview .ops-note-event>span:last-child { display:block; order:3; flex:0 0 auto; margin:0!important; border:0; font-size:12px; line-height:1.08; font-weight:400; overflow-wrap:anywhere; }
  .ops-calendar-page .mobile-overview .ops-event-service-list b { display:block; font-size:12px; font-weight:400; line-height:1.08; white-space:normal; text-overflow:clip; overflow-wrap:anywhere; }
  .ops-calendar-page .mobile-overview .ops-event-service-list>span { padding:0; margin:0; border:0; }
  .ops-calendar-page .mobile-overview .ops-event .ops-event-markers, .ops-calendar-page .mobile-overview .ops-event-visit-position, .ops-calendar-page .mobile-overview .ops-event-service-list small, .ops-calendar-page .mobile-overview .ops-event>em, .ops-calendar-page .mobile-overview .ops-event-checkout { display:none; }
  .ops-calendar-page .mobile-overview .ops-now-line { left:36px; }
  .ops-calendar-page #message:empty { display:none; }
  .ops-calendar-page .ops-nav a, .ops-calendar-page .ops-nav .ops-mobile-more-trigger { grid-template-rows:30px 18px; gap:3px; }
  .ops-calendar-page .ops-nav .ops-nav-copy { display:block!important; font-size:10px; font-weight:650; }
}
