/* ── Pollenkalender page styles ── */

    /* Legend */
    .pk-legend {
      display: flex; flex-wrap: wrap; gap: .5rem 1.2rem;
      margin-bottom: 1.6rem; align-items: center;
    }
    .pk-legend-item {
      display: inline-flex; align-items: center; gap: .4rem;
      font-size: .82rem; color: var(--gray-700);
    }
    .pk-swatch {
      width: 18px; height: 18px; border-radius: 3px; flex-shrink: 0;
    }
    .pk-swatch-0 { background: var(--gray-200); }
    .pk-swatch-1 { background: #d1fae5; }
    .pk-swatch-2 { background: #fef08a; }
    .pk-swatch-3 { background: #fdba74; }
    .pk-swatch-4 { background: #fca5a5; }
    [data-theme="dark"] .pk-swatch-0 { background: #2a3530; }
    [data-theme="dark"] .pk-swatch-1 { background: #134e2a; }
    [data-theme="dark"] .pk-swatch-2 { background: #713f12; }
    [data-theme="dark"] .pk-swatch-3 { background: #7c2d12; }
    [data-theme="dark"] .pk-swatch-4 { background: #7f1d1d; }

    /* Calendar grid */
    .pk-grid-wrap {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      border-radius: 3px;
      border: 1px solid var(--gray-300);
      box-shadow: 0 2px 12px rgba(0,0,0,.05);
      margin-bottom: 2rem;
      max-width: 100%;
    }
    .pk-grid {
      width: 100%;
      border-collapse: collapse;
      min-width: 640px;
      font-size: .82rem;
    }

    /* Month header row */
    .pk-grid thead th {
      padding: .55rem .3rem;
      text-align: center;
      font-weight: 700;
      font-size: .75rem;
      letter-spacing: .04em;
      background: var(--card-bg, #fff);
      border-bottom: 2px solid var(--gray-300);
      color: var(--gray-700);
      white-space: nowrap;
    }
    .pk-grid thead th.pk-cur-month {
      color: var(--green);
    }
    .pk-grid thead th:first-child {
      text-align: left;
      padding-left: 1rem;
      min-width: 130px;
    }
    [data-theme="dark"] .pk-grid thead th { background: #1a2520; }

    /* Group header rows */
    .pk-group-row td {
      padding: .4rem 1rem .25rem;
      font-size: .7rem; font-weight: 700;
      letter-spacing: .09em; text-transform: uppercase;
      color: var(--gray-600);
      background: var(--gray-100);
      border-top: 1px solid var(--gray-300);
    }
    [data-theme="dark"] .pk-group-row td { background: #111d18; }

    /* Data rows */
    .pk-grid tbody tr.pk-row { border-bottom: 1px solid rgba(0,0,0,.07); }
    [data-theme="dark"] .pk-grid tbody tr.pk-row { border-bottom: 1px solid rgba(255,255,255,.07); }
    .pk-grid tbody tr.pk-row:hover { background: var(--gray-100); }
    [data-theme="dark"] .pk-grid tbody tr.pk-row:hover { background: #1f2e27; }

    .pk-name-cell {
      padding: .45rem 1rem;
      white-space: nowrap;
      font-weight: 600;
      color: var(--gray-800);
    }
    .pk-name-cell .pk-latin {
      display: block; font-size: .7rem; font-weight: 400;
      color: var(--gray-500); font-style: italic;
    }
    .pk-name-cell .pk-dot {
      display: inline-block; width: 8px; height: 8px;
      border-radius: 50%; margin-right: .4rem; vertical-align: middle; flex-shrink: 0;
    }

    /* Activity cells */
    .pk-cell {
      text-align: center; padding: .35rem .2rem;
      border-left: 1px solid rgba(0,0,0,.07);
      transition: opacity .1s;
      position: relative;
    }
    [data-theme="dark"] .pk-cell { border-left-color: rgba(255,255,255,.07); }
    .pk-cell-inner {
      border-radius: 2px;
      width: 100%; height: 28px;
      display: flex; align-items: center; justify-content: center;
      font-size: .68rem; font-weight: 700;
      margin: 0 auto;
    }
    .pk-cell-0 .pk-cell-inner { background: transparent; color: transparent; }
    .pk-cell-1 .pk-cell-inner { background: #d1fae5; color: #065f46; }
    .pk-cell-2 .pk-cell-inner { background: #fef08a; color: #713f12; }
    .pk-cell-3 .pk-cell-inner { background: #fdba74; color: #7c2d12; }
    .pk-cell-4 .pk-cell-inner { background: #fca5a5; color: #7f1d1d; }
    [data-theme="dark"] .pk-cell-0 .pk-cell-inner { background: transparent; }
    [data-theme="dark"] .pk-cell-1 .pk-cell-inner { background: #134e2a; color: #6ee7b7; }
    [data-theme="dark"] .pk-cell-2 .pk-cell-inner { background: #713f12; color: #fde68a; }
    [data-theme="dark"] .pk-cell-3 .pk-cell-inner { background: #7c2d12; color: #fed7aa; }
    [data-theme="dark"] .pk-cell-4 .pk-cell-inner { background: #7f1d1d; color: #fecaca; }

    /* Current month column highlight */
    .pk-cell.pk-cur-month {
      background: rgba(45, 106, 79, .08);
    }
    [data-theme="dark"] .pk-cell.pk-cur-month {
      background: rgba(45, 106, 79, .15);
    }
    thead th.pk-cur-month {
      background: rgba(45, 106, 79, .12);
      border-bottom: 2px solid var(--green);
    }
    [data-theme="dark"] thead th.pk-cur-month {
      background: rgba(45, 106, 79, .2);
    }

    @media (max-width: 640px) {
      .pk-cell-inner { font-size: .52rem; line-height: 1; }
    }
