﻿.opening-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: .45rem;
    }
    .opening-tab {
      border: 1px solid #ced4da;
      background: #f8f9fa;
      color: #495057;
      border-radius: 999px;
      padding: .35rem .75rem;
      font-size: .85rem;
      cursor: pointer;
    }
    .opening-tab.is-active {
      border-color: #0d6efd;
      background: #0d6efd;
      color: #fff;
    }
    .opening-pane[hidden] {
      display: none !important;
    }
    .opening-slot {
      border: 1px solid #e5e7eb;
      border-radius: .55rem;
      background: #fff;
      margin-bottom: .5rem;
      overflow: hidden;
    }
    .opening-slot > summary {
      list-style: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: .55rem .7rem;
      font-weight: 600;
      background: #f8fafc;
    }
    .opening-slot > summary::-webkit-details-marker {
      display: none;
    }
    .opening-slot-content {
      padding: .55rem .65rem .7rem;
      border-top: 1px solid #e5e7eb;
    }
    .opening-services-head,
    .opening-service-row {
      display: grid;
      grid-template-columns: minmax(140px, 1.2fr) 1fr 1fr;
      gap: .55rem;
      align-items: center;
    }
    .opening-services-head {
      font-size: .74rem;
      text-transform: uppercase;
      letter-spacing: .05em;
      color: #64748b;
      margin-bottom: .35rem;
    }
    .opening-service-row + .opening-service-row {
      margin-top: .45rem;
    }
    .opening-service-row.is-unavailable {
      opacity: .55;
    }
    .opening-service-name {
      font-weight: 600;
      color: #111827;
      font-size: .9rem;
    }
    .opening-service-note {
      font-size: .74rem;
      color: #b45309;
    }
    .opening-save-bar {
      position: sticky;
      bottom: 0;
      background: linear-gradient(180deg, rgba(255,255,255,.65), #fff 34%);
      padding-top: .55rem;
      margin-top: .5rem;
    }
    .opening-slot.is-outside > summary {
      opacity: .6;
    }
    .opening-slot-state {
      font-size: .78rem;
      color: #64748b;
      margin-left: .5rem;
    }
    .opening-slot-override {
      margin-left: .5rem;
      display: inline-flex;
      align-items: center;
      border: 1px solid #f59e0b;
      background: #fff7ed;
      color: #b45309;
      border-radius: 999px;
      padding: .1rem .45rem;
      font-size: .72rem;
      font-weight: 600;
      line-height: 1.2;
    }
    .opening-slot-override[hidden] {
      display: none !important;
    }
    @media (max-width: 760px) {
      .opening-services-head {
        display: none;
      }
      .opening-service-row {
        grid-template-columns: 1fr;
        border: 1px solid #e5e7eb;
        border-radius: .5rem;
        padding: .45rem;
      }
    }

