{"version":3,"file":"calendar.css.cjs","names":[],"sources":["../../../src/inputs/calendar/calendar.css?inline"],"sourcesContent":["@layer refine.base {\n  :host {\n    --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-focus));\n    --_day-today-color: var(--calendar-day-today-color, var(--_theme-focus));\n    --_day-outside-opacity: var(--calendar-day-outside-opacity, 0.35);\n    --_bg: var(--calendar-bg, var(--color-canvas));\n    --_border-color: var(--calendar-border-color, var(--color-contrast-200));\n    --_radius: var(--calendar-radius, var(--rounded-xl));\n\n    display: inline-block;\n  }\n\n  :host([fullwidth]) {\n    display: block;\n  }\n\n  :host([color='secondary']) {\n    --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-base));\n    --_day-today-color: var(--calendar-day-today-color, var(--_theme-base));\n  }\n\n  /* ── Root panel ──────────────────────────────────────────────────────────── */\n\n  .calendar {\n    display: flex;\n    flex-direction: column;\n    gap: var(--size-2);\n    min-width: 18rem;\n    padding: var(--size-3);\n    background: var(--_bg);\n    border: var(--border) solid var(--_border-color);\n    border-radius: var(--_radius);\n    box-shadow: var(--calendar-shadow, var(--shadow-md));\n  }\n\n  :host([fullwidth]) .calendar {\n    min-width: 0;\n  }\n\n  /* ── Header ──────────────────────────────────────────────────────────────── */\n\n  .cal-header {\n    display: flex;\n    gap: var(--size-1);\n    align-items: center;\n    justify-content: space-between;\n    padding-block-end: var(--size-2);\n    border-block-end: var(--border) solid var(--_border-color);\n  }\n\n  .nav-btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--size-8);\n    height: var(--size-8);\n    padding: 0;\n    color: var(--color-contrast-600);\n    cursor: pointer;\n    outline: none;\n    background: transparent;\n    border: none;\n    border-radius: var(--rounded-md);\n    transition:\n      background var(--transition-fast),\n      color var(--transition-fast);\n  }\n\n  .nav-btn:hover:not(:disabled) {\n    color: var(--color-contrast-900);\n    background: var(--color-contrast-300);\n  }\n\n  .nav-btn:focus-visible {\n    box-shadow: 0 0 0 2px var(--_day-selected-bg);\n  }\n\n  .nav-btn:disabled {\n    cursor: not-allowed;\n    opacity: 0.4;\n  }\n\n  .cal-label-btn {\n    flex: 1;\n    padding: var(--size-1) var(--size-2);\n    font-size: var(--text-sm);\n    font-weight: var(--font-semibold);\n    color: var(--color-contrast-900);\n    text-align: center;\n    cursor: pointer;\n    outline: none;\n    background: transparent;\n    border: none;\n    border-radius: var(--rounded-md);\n    transition: background var(--transition-fast);\n  }\n\n  .cal-label-btn:hover:not(:disabled) {\n    background: var(--color-contrast-300);\n  }\n\n  .cal-label-btn:focus-visible {\n    box-shadow: 0 0 0 2px var(--_day-selected-bg);\n  }\n\n  .cal-label-btn:disabled {\n    cursor: not-allowed;\n    opacity: 0.5;\n  }\n\n  .cal-label-month,\n  .cal-label-year {\n    display: inline-block;\n  }\n\n  .cal-label-sep {\n    display: inline-block;\n    padding-inline: var(--size-1);\n    font-weight: var(--font-normal);\n    color: var(--color-contrast-400);\n  }\n\n  /* ── Grid base ───────────────────────────────────────────────────────────── */\n\n  [hidden] {\n    display: none;\n  }\n\n  .cal-grid {\n    display: flex;\n    flex-direction: column;\n    gap: var(--size-0-5);\n  }\n\n  .cal-grid-days {\n    display: grid;\n    grid-template-columns: repeat(7, minmax(0, 1fr));\n    gap: var(--size-0-5);\n\n    /* Reserve max height (6 week rows + 1 header) so the panel never shrinks\n       on 5-week months or when switching to month/year view. */\n    min-height: calc(7 * var(--size-10) + 6 * var(--size-0-5));\n  }\n\n  /* role=\"row\" wrappers exist for ARIA grid structure only — `display: contents`\n     removes them from layout so their children still participate directly in the\n     parent's CSS grid tracks. */\n  .cal-grid [role='row'] {\n    display: contents;\n  }\n\n  .cal-cell {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: var(--text-sm);\n    cursor: pointer;\n    outline: none;\n    border-radius: var(--rounded-md);\n    transition:\n      background var(--transition-fast),\n      color var(--transition-fast);\n  }\n\n  /* ── Column headers ──────────────────────────────────────────────────────── */\n\n  .cal-cell-head {\n    height: var(--size-8);\n    font-size: var(--text-xs);\n    font-weight: var(--font-medium);\n    color: var(--color-contrast-500);\n    cursor: default;\n  }\n\n  /* ── Day cells ───────────────────────────────────────────────────────────── */\n\n  .cal-cell-day {\n    flex-direction: column;\n    gap: var(--size-0-5);\n    min-width: 0;\n    height: var(--size-10);\n    overflow: hidden;\n    color: var(--color-contrast-800);\n  }\n\n  .cal-cell-day:hover:not([data-disabled]) {\n    color: var(--color-contrast-900);\n    background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n  }\n\n  .cal-cell-day:focus-visible {\n    box-shadow: 0 0 0 2px var(--_day-selected-bg);\n  }\n\n  .cal-cell-day[data-today] {\n    font-weight: var(--font-semibold);\n    color: var(--_day-today-color);\n  }\n\n  .cal-cell-day[data-selected] {\n    font-weight: var(--font-semibold);\n    color: var(--color-white, #fff);\n    background: var(--_day-selected-bg);\n  }\n\n  .cal-cell-day[data-outside] {\n    opacity: var(--_day-outside-opacity);\n  }\n\n  .cal-cell-day[data-disabled] {\n    pointer-events: none;\n    cursor: not-allowed;\n    opacity: 0.3;\n  }\n\n  /* ── Event dots (normal mode) ────────────────────────────────────────────── */\n\n  .cal-dots {\n    display: flex;\n    gap: 2px;\n    align-items: center;\n    justify-content: center;\n    margin-block-start: var(--size-0-5);\n  }\n\n  .cal-dot {\n    --badge-bg: var(--_day-selected-bg);\n    --badge-border-color: var(--_day-selected-bg);\n  }\n\n  .cal-dot-overflow {\n    font-size: 8px;\n    font-weight: var(--font-semibold);\n    line-height: 1;\n    color: var(--color-contrast-500);\n  }\n\n  /* ── Month / year grids ──────────────────────────────────────────────────── */\n\n  .cal-grid-months,\n  .cal-grid-years {\n    /* 4-column grid — same width as cal-grid-days, natural height. */\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: var(--size-1);\n  }\n\n  .cal-cell-month,\n  .cal-cell-year {\n    height: var(--size-10);\n    font-size: var(--text-sm);\n    color: var(--color-contrast-800);\n    cursor: pointer;\n    border-radius: var(--rounded-md);\n  }\n\n  .cal-cell-month:hover:not([data-disabled]),\n  .cal-cell-year:hover:not([data-disabled]) {\n    background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n  }\n\n  .cal-cell-month:focus-visible,\n  .cal-cell-year:focus-visible {\n    box-shadow: 0 0 0 2px var(--_day-selected-bg);\n  }\n\n  .cal-cell-month[data-selected],\n  .cal-cell-year[data-selected] {\n    font-weight: var(--font-semibold);\n    color: var(--color-white, #fff);\n    background: var(--_day-selected-bg);\n  }\n\n  .cal-cell-month[data-disabled],\n  .cal-cell-year[data-disabled] {\n    pointer-events: none;\n    cursor: not-allowed;\n    opacity: 0.3;\n  }\n\n  /* ── Expanded variant ────────────────────────────────────────────────────── */\n\n  :host([expanded]) {\n    display: block;\n    width: 100%;\n  }\n\n  :host([expanded]) .calendar {\n    width: 100%;\n    min-width: 0;\n    padding: 0;\n    overflow: hidden;\n  }\n\n  :host([expanded]) .cal-header {\n    padding: var(--size-3) var(--size-4);\n  }\n\n  :host([expanded]) .cal-label-btn {\n    font-size: var(--text-base);\n  }\n\n  :host([expanded]) .cal-grid {\n    gap: 0;\n  }\n\n  :host([expanded]) .cal-grid-days {\n    gap: 0;\n    border-block-start: var(--border) solid var(--_border-color);\n  }\n\n  :host([expanded]) .cal-cell {\n    border-radius: 0;\n  }\n\n  :host([expanded]) .cal-cell-head {\n    height: var(--size-9);\n    font-size: var(--text-xs);\n    font-weight: var(--font-semibold);\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    border-block-end: var(--border) solid var(--_border-color);\n  }\n\n  :host([expanded]) .cal-cell-day {\n    position: relative;\n    flex-direction: column;\n    gap: 0;\n    align-items: flex-start;\n    justify-content: flex-start;\n    height: auto;\n    min-height: var(--calendar-expanded-cell-height, var(--size-28));\n    aspect-ratio: auto;\n    padding: var(--size-2);\n    font-size: var(--text-sm);\n    vertical-align: top;\n    border-block-end: var(--border) solid var(--_border-color);\n    border-inline-end: var(--border) solid var(--_border-color);\n  }\n\n  /* Remove right border on last column */\n  :host([expanded]) .cal-cell-day:nth-child(7n) {\n    border-inline-end: none;\n  }\n\n  :host([expanded]) .cal-cell-day:hover:not([data-disabled]) {\n    background: color-mix(in oklch, var(--_day-selected-bg) 6%, transparent);\n  }\n\n  /* Selected day — circle around the number only */\n  :host([expanded]) .cal-cell-day[data-selected] {\n    color: inherit;\n    background: transparent;\n  }\n\n  :host([expanded]) .cal-cell-day[data-selected]::before {\n    position: absolute;\n    top: var(--size-1-5);\n    left: var(--size-1-5);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--size-7);\n    height: var(--size-7);\n    font-size: var(--text-sm);\n    font-weight: var(--font-semibold);\n    color: var(--color-white, #fff);\n    content: attr(data-day);\n    background: var(--_day-selected-bg);\n    border-radius: var(--rounded-full);\n  }\n\n  /* Today — circle in accent colour */\n  :host([expanded]) .cal-cell-day[data-today] {\n    font-weight: inherit;\n    color: inherit;\n  }\n\n  :host([expanded]) .cal-cell-day[data-today]::before {\n    position: absolute;\n    top: var(--size-1-5);\n    left: var(--size-1-5);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--size-7);\n    height: var(--size-7);\n    font-size: var(--text-sm);\n    font-weight: var(--font-semibold);\n    color: var(--color-white, #fff);\n    content: attr(data-day);\n    background: var(--_day-today-color);\n    border-radius: var(--rounded-full);\n  }\n\n  /* When both today AND selected — selected wins */\n  :host([expanded]) .cal-cell-day[data-today][data-selected]::before {\n    background: var(--_day-selected-bg);\n  }\n\n  /* ── Expanded event pills ────────────────────────────────────────────────── */\n\n  /* Push events below the day-number circle row */\n  :host([expanded]) .cal-events {\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    width: 100%;\n    margin-block-start: var(--size-4);\n    overflow: hidden;\n  }\n\n  :host([expanded]) .cal-event-pill {\n    --badge-max-width: 100%;\n    max-width: 100%;\n  }\n\n  :host([expanded]) .cal-event-pill-overflow {\n    padding-inline: var(--size-1);\n    font-size: 10px;\n    font-weight: var(--font-semibold);\n    color: var(--color-contrast-500);\n  }\n\n  /* Dots are hidden in expanded mode — pills take over */\n  :host([expanded]) .cal-dots {\n    display: none;\n  }\n\n  :host([expanded]) .cal-cell-day[data-outside] {\n    background: color-mix(in oklch, var(--color-contrast-900) 2%, transparent);\n  }\n\n  /* Expanded month / year grids */\n  :host([expanded]) .cal-grid-months,\n  :host([expanded]) .cal-grid-years {\n    gap: var(--size-2);\n    min-height: 0;\n    padding: var(--size-4);\n  }\n\n  :host([expanded]) .cal-cell-month,\n  :host([expanded]) .cal-cell-year {\n    min-height: var(--size-16);\n    font-size: var(--text-base);\n    border: var(--border) solid var(--_border-color);\n    border-radius: var(--rounded-lg);\n  }\n\n  :host([expanded]) .cal-cell-month[data-selected],\n  :host([expanded]) .cal-cell-year[data-selected] {\n    border-color: transparent;\n  }\n\n  /* ── Disabled host ───────────────────────────────────────────────────────── */\n\n  :host(.is-disabled) .calendar {\n    pointer-events: none;\n    opacity: 0.6;\n  }\n\n  /* ── Reduced motion ──────────────────────────────────────────────────────── */\n\n  @media (prefers-reduced-motion: reduce) {\n    .nav-btn,\n    .cal-label-btn,\n    .cal-cell {\n      transition: none;\n    }\n  }\n}\n"],"mappings":""}