/* Optional forms; shared tokens/base/form/button styles are supplied by the application. */
@layer rf.components {
  .rf-combobox { position: relative; min-inline-size: 0; }
  .rf-combobox__popup { position: absolute; inset-inline: 0; inset-block-start: calc(100% + .25rem); padding: .5rem; z-index: 10; border: 1px solid var(--rf-border); border-radius: var(--rf-radius-sm); background: var(--rf-surface); color: var(--rf-text); box-shadow: var(--rf-shadow); }
  .rf-combobox__popup [role="listbox"] { max-block-size: 15rem; overflow: auto; }
  .rf-combobox__option { padding: .75rem; border-radius: var(--rf-radius-sm); cursor: pointer; }
  .rf-combobox__option:is([data-active="true"],:hover) { background: var(--rf-subtle); }
  .rf-combobox__option[aria-selected="true"] { color: var(--rf-primary); font-weight: 650; }
  .rf-combobox__option[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
  .rf-multiselect__choices { display: grid; max-block-size: 16rem; overflow: auto; border: 1px solid var(--rf-border); border-radius: var(--rf-radius); padding: .5rem .75rem; }
  .rf-selection-tags { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
  .rf-selection-tags > li { display: inline-flex; align-items: center; gap: .25rem; padding-inline-start: .75rem; border: 1px solid var(--rf-border); border-radius: var(--rf-radius); background: var(--rf-subtle); }
  .rf-selection-tags > li > span { overflow-wrap: anywhere; }
  [data-rf-errors] ul { margin-block: .5rem; padding-inline-start: 1.25rem; }
  .rf-calendar { min-inline-size: 0; }
  .rf-calendar__toolbar { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
  .rf-calendar__toolbar strong { text-align: center; }
  .rf-calendar__grid { inline-size: 100%; border-collapse: separate; border-spacing: .25rem; table-layout: fixed; }
  .rf-calendar__grid th { font-size: .75rem; color: var(--rf-muted); font-weight: 550; text-align: center; }
  .rf-calendar__grid td { padding: 0; text-align: center; }
  .rf-calendar__day { display: block; inline-size: 100%; min-block-size: 2.5rem; padding: .2rem; border: 1px solid transparent; border-radius: var(--rf-radius-sm); background: var(--rf-surface); color: var(--rf-text); font: inherit; cursor: pointer; }
  .rf-calendar__day:hover { background: var(--rf-subtle); }
  .rf-calendar__day[aria-current="date"] { border-color: var(--rf-primary); }
  .rf-calendar__day[aria-pressed="true"] { background: var(--rf-primary); color: var(--rf-on-primary); }
  .rf-calendar__day:disabled { opacity: .4; cursor: not-allowed; }
}
