    /* ── Calendar Card ────────────────────────────────────────────────────── */
    .cc-calendar-body {
      flex: 1;
      display: flex;
      flex-direction: column;
    }

    .cc-calendar-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .75rem;
      margin-bottom: .6rem;
    }

    .cc-calendar-nav-btn {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      border: 1px solid rgba(10, 19, 36, 0.15);
      background: rgba(10, 19, 36, 0.04);
      color: #0A1324;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .9rem;
      font-weight: 900;
      transition: all .2s ease;
    }

    .cc-calendar-nav-btn:hover {
      background: rgba(201, 168, 76, 0.12);
      border-color: rgba(201, 168, 76, 0.5);
      color: #C9A84C;
    }

    .cc-calendar-month-label {
      font-family: 'Cinzel', serif;
      font-size: .95rem;
      font-weight: 800;
      color: #0A1324;
      letter-spacing: 2px;
      text-transform: uppercase;
    }

    .cc-calendar-weekdays {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 2px;
      margin-bottom: 3px;
    }

    .cc-calendar-weekday {
      text-align: center;
      font-size: .62rem;
      font-weight: 800;
      color: #64748B;
      text-transform: uppercase;
      letter-spacing: 1px;
      padding: 4px 0;
    }

    .cc-calendar-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 2px;
      flex: 1;
    }

    .cc-calendar-grid .home-calendar-mini-cell {
      min-height: 34px;
      font-size: .78rem;
      cursor: pointer;
      color: #0A1324;
      font-weight: 700;
      background: transparent;
      border: none;
      border-radius: 6px;
      transition: all .2s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .cc-calendar-grid .home-calendar-mini-cell:hover {
      background: rgba(201, 168, 76, 0.1);
    }

    .cc-calendar-grid .home-calendar-mini-cell.is-empty {
      color: #C9D1DC;
    }

    .cc-calendar-grid .home-calendar-mini-cell.is-today {
      color: #0A1324;
      font-weight: 900;
      background: rgba(201, 168, 76, 0.12);
      border: 2px solid #C9A84C;
      border-radius: 50%;
    }

    .cc-calendar-grid .home-calendar-mini-cell.has-event .home-calendar-mini-dot {
      background: #C9A84C;
    }

    .cc-calendar-grid .home-calendar-mini-cell.selected {
      background: linear-gradient(135deg, #C9A84C, #A58432);
      color: #FFF;
      font-weight: 900;
      border-radius: 50%;
      border: 2px solid rgba(240, 220, 154, 0.6);
      box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.25);
      animation: none;
    }

    .cc-calendar-legend {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1.25rem;
      margin-top: .6rem;
      padding-top: .5rem;
      border-top: 1px solid rgba(10, 19, 36, 0.08);
    }

    .cc-calendar-legend-item {
      display: flex;
      align-items: center;
      gap: .3rem;
      font-size: .62rem;
      font-weight: 700;
      color: #64748B;
    }

    .cc-legend-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
    }

    .cc-legend-dot-practice {
      background: #C9A84C;
    }

    .cc-legend-dot-event {
      background: #3498db;
    }

    /* ── Calendar selected-date banner (inside calendar card) ──────────── */
    .cc-calendar-banner {
      display: none;
      margin-top: .5rem;
      padding: .6rem .8rem;
      border-radius: 8px;
      background: rgba(10, 19, 36, 0.04);
      border: 1px solid rgba(10, 19, 36, 0.1);
      text-align: left;
    }

    .cc-calendar-banner.show {
      display: block;
    }

    .cc-calendar-banner-date {
      font-family: 'Cinzel', serif;
      font-size: .82rem;
      font-weight: 800;
      color: #0A1324;
      margin-bottom: .25rem;
    }

    .cc-calendar-banner-events {
      display: flex;
      flex-direction: column;
      gap: .25rem;
    }

    .cc-calendar-banner-item {
      font-size: .92rem;
      color: #0A1324;
      font-weight: 700;
      padding: .3rem .6rem;
      border-radius: 6px;
      background: #FFFFFF;
      border-left: 3px solid #C9A84C;
      box-shadow: 0 1px 3px rgba(10, 19, 36, 0.06);
    }

    .cc-calendar-banner-item:hover {
      background: rgba(201, 168, 76, 0.06);
    }

    .cc-calendar-banner-empty {
      font-size: .75rem;
      color: #8095B0;
      font-style: italic;
    }

    .cc-calendar-banner-clear {
      background: none;
      border: none;
      color: #C9A84C;
      font-size: .62rem;
      font-weight: 800;
      cursor: pointer;
      letter-spacing: 1px;
      text-transform: uppercase;
      margin-top: .35rem;
      padding: 2px 0;
    }

    .cc-calendar-banner-clear:hover {
      color: #8E7127;
    }
