/* Legend */
    .pcal-legend {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 10px;
      padding: 10px 14px;
      border-radius: 10px;
      background: rgba(4, 10, 24, .7);
      border: 1px solid rgba(26, 51, 86, .4);
      align-items: center;
    }

    .pcal-leg-item {
      font-size: 11.5px;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 7px;
      font-family: 'DM Sans', sans-serif;
      padding: 4px 10px;
      border-radius: 6px;
    }

    .pcal-leg-item::before {
      content: '';
      width: 16px;
      height: 16px;
      border-radius: 4px;
      flex-shrink: 0;
    }

    .pcal-leg-item.work {
      color: #86efac;
      background: rgba(14, 77, 50, .2);
    }

    .pcal-leg-item.work::before {
      background: rgba(14, 77, 50, .8);
      border: 1px solid rgba(34, 197, 94, .4);
    }

    .pcal-leg-item.off {
      color: #64748b;
      background: rgba(15, 25, 45, .4);
    }

    .pcal-leg-item.off::before {
      background: rgba(20, 32, 55, .8);
      border: 1px solid rgba(74, 96, 128, .35);
    }

    .pcal-leg-item.hol {
      color: #fbbf24;
      background: rgba(120, 70, 0, .2);
    }

    .pcal-leg-item.hol::before {
      background: rgba(140, 80, 0, .7);
      border: 1px solid rgba(245, 158, 11, .45);
    }

    .pcal-leg-item.today {
      color: #60a5fa;
      background: rgba(29, 78, 216, .12);
    }

    .pcal-leg-item.today::before {
      background: linear-gradient(135deg, #1a56db, #0891b2);
      border-radius: 50%;
    }

    .pcal-leg-sep {
      width: 1px;
      height: 18px;
      background: rgba(30, 58, 100, .6);
      flex-shrink: 0;
    }
