﻿    .calendar-modal {
      position: absolute;
      inset: 0;
      z-index: 20;
      display: none;
      align-items: flex-start;
      justify-content: center;
      padding: 86px 16px 16px;
      background: rgba(31, 39, 31, .24);
    }

    .calendar-modal.open { display: flex; }

    .calendar-dialog {
      width: 100%;
      border-radius: var(--radius);
      background: var(--panel);
      box-shadow: 0 20px 55px rgba(20, 40, 25, .22);
      padding: 16px;
    }

    .calendar-modal-bar {
      display: grid;
      grid-template-columns: 42px 1fr auto;
      align-items: center;
      gap: 8px;
    }

    .calendar-month-control {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-width: 0;
    }

    .calendar-title {
      min-width: 118px;
      text-align: center;
      font-size: 17px;
      font-weight: 900;
    }

    .calendar-arrow,
    .calendar-today,
    .calendar-close {
      height: 38px;
      border-radius: 999px;
      background: #f1f5ee;
      font-weight: 900;
    }

    .calendar-arrow {
      width: 38px;
      font-size: 22px;
      line-height: 1;
    }

    .calendar-today {
      padding: 0 14px;
      color: var(--green-dark);
    }

    .calendar-close {
      width: 38px;
      color: var(--muted);
    }

    .calendar-card {
      margin-top: 18px;
      border-radius: var(--radius);
      background: var(--panel);
      box-shadow: var(--shadow);
      padding: 16px;
      display: none;
    }
    .calendar-card.open { display: block; }

    .calendar-grid {
      margin-top: 10px;
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 6px;
    }

    .calendar-grid span,
    .calendar-grid button,
    .calendar-grid .calendar-empty {
      height: 38px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      font-size: 13px;
      font-weight: 800;
    }
    .calendar-grid span { color: var(--muted); }
    .calendar-grid button { background: #f4f6f1; }
    .calendar-grid button.selected { background: var(--green); color: white; }
    .calendar-grid button.today:not(.selected) {
      outline: 2px solid rgba(35, 148, 86, .24);
      background: #eef8f2;
    }
    .calendar-grid .calendar-empty { visibility: hidden; }

