/*
 * Kitchen CORE — biblioteca comum de componentes
 * Dependência: kc-tokens.css
 *
 * Classes são opt-in e usam o prefixo kc-. Ajuste os tokens de componente
 * abaixo para redesenhar todos os controles sem alterar o HTML das telas.
 */

:root {
  --kc-component-control-height: var(--kc-control-height-xl);
  --kc-component-control-height-sm: var(--kc-control-height-md);
  --kc-component-control-padding-x: var(--kc-space-7);
  --kc-component-control-gap: var(--kc-space-3);
  --kc-component-control-radius: var(--kc-radius-md);
  --kc-component-control-font-size: var(--kc-font-size-lg);
  --kc-component-control-font-weight: var(--kc-font-weight-extrabold);
  --kc-component-field-height: var(--kc-control-height-lg);
  --kc-component-field-padding-x: var(--kc-space-4);
  --kc-component-card-padding: var(--kc-space-7);
  --kc-component-card-gap: var(--kc-space-5);
  --kc-component-card-radius: var(--kc-radius-md);
  --kc-component-section-gap: var(--kc-space-7);
}

[data-kc-density="compact"] {
  --kc-component-control-height: var(--kc-control-height-md);
  --kc-component-control-height-sm: var(--kc-control-height-sm);
  --kc-component-control-padding-x: var(--kc-space-5);
  --kc-component-control-gap: var(--kc-space-2);
  --kc-component-field-height: var(--kc-control-height-md);
  --kc-component-card-padding: var(--kc-space-5);
  --kc-component-card-gap: var(--kc-space-3);
  --kc-component-section-gap: var(--kc-space-5);
}

/* Identidade da organização */
img[data-organization-logo],
img[data-kc-brand-logo] {
  box-sizing: border-box;
  display: block;
  max-width: 100%;
  max-height: 100%;
  padding: var(--kc-space-1);
  overflow: hidden;
  border-radius: inherit;
  background: var(--kc-color-surface);
  object-fit: contain !important;
  object-position: center;
}

/* Botões */
.kc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--kc-component-control-gap);
  min-width: 0;
  min-height: var(--kc-component-control-height);
  padding: 0 var(--kc-component-control-padding-x);
  border: 1px solid var(--kc-color-border-strong);
  border-radius: var(--kc-component-control-radius);
  background: var(--kc-color-surface);
  color: var(--kc-color-text);
  box-shadow: none;
  font-family: var(--kc-font-family-sans);
  font-size: var(--kc-component-control-font-size);
  font-weight: var(--kc-component-control-font-weight);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--kc-duration-fast) var(--kc-ease-standard), border-color var(--kc-duration-fast) var(--kc-ease-standard), color var(--kc-duration-fast) var(--kc-ease-standard), box-shadow var(--kc-duration-fast) var(--kc-ease-standard), transform var(--kc-duration-fast) var(--kc-ease-standard);
}

.kc-button:hover { background: var(--kc-color-surface-subtle); }
.kc-button:active { transform: translateY(1px); }
.kc-button:focus-visible { outline: 0; box-shadow: var(--kc-shadow-focus); }
.kc-button:disabled,
.kc-button[aria-disabled="true"] { opacity: .48; pointer-events: none; cursor: not-allowed; }
.kc-button--primary { border-color: var(--kc-color-primary); background: var(--kc-color-primary); color: var(--kc-color-white); }
.kc-button--primary:hover { border-color: var(--kc-color-primary-hover); background: var(--kc-color-primary-hover); }
.kc-button--danger { border-color: var(--kc-color-danger); background: var(--kc-color-danger); color: var(--kc-color-white); }
.kc-button--danger:hover { border-color: var(--kc-color-danger-700); background: var(--kc-color-danger-700); }
.kc-button--success { border-color: var(--kc-color-success-700); background: var(--kc-color-success-700); color: var(--kc-color-white); }
.kc-button--ghost { border-color: transparent; background: transparent; color: var(--kc-color-text-secondary); }
.kc-button--ghost:hover { background: var(--kc-color-surface-muted); color: var(--kc-color-text); }
.kc-button--sm { min-height: var(--kc-component-control-height-sm); padding-inline: var(--kc-space-5); font-size: var(--kc-font-size-md); }
.kc-button--block { width: 100%; }
.kc-button--icon { width: var(--kc-component-control-height); padding: 0; }
.kc-button--icon.kc-button--sm { width: var(--kc-component-control-height-sm); padding: 0; }
.kc-button svg { flex: 0 0 auto; width: var(--kc-icon-size-sm); height: var(--kc-icon-size-sm); }
[data-kc-theme-icon="dark"] { display: none; }
[data-kc-theme="dark"] [data-kc-theme-icon="light"] { display: none; }
[data-kc-theme="dark"] [data-kc-theme-icon="dark"] { display: block; }

/* Campos */
.kc-field { display: grid; gap: var(--kc-space-2); min-width: 0; }
.kc-field__label,
.kc-label { color: var(--kc-color-text-secondary); font-size: var(--kc-font-size-xs); font-weight: var(--kc-font-weight-extrabold); letter-spacing: .04em; line-height: var(--kc-line-height-heading); text-transform: uppercase; }
.kc-field__required { color: var(--kc-color-danger); }
.kc-input,
.kc-select,
.kc-textarea {
  width: 100%;
  min-width: 0;
  min-height: var(--kc-component-field-height);
  padding: var(--kc-space-3) var(--kc-component-field-padding-x);
  border: 1px solid var(--kc-color-border-strong);
  border-radius: var(--kc-component-control-radius);
  outline: 0;
  background: var(--kc-color-surface);
  color: var(--kc-color-text);
  font-family: var(--kc-font-family-sans);
  font-size: var(--kc-font-size-xl);
  font-weight: var(--kc-font-weight-semibold);
  line-height: var(--kc-line-height-body);
  transition: border-color var(--kc-duration-fast) var(--kc-ease-standard), box-shadow var(--kc-duration-fast) var(--kc-ease-standard), background-color var(--kc-duration-fast) var(--kc-ease-standard);
}
.kc-input::placeholder,
.kc-textarea::placeholder { color: var(--kc-color-text-disabled); }
.kc-input:hover,
.kc-select:hover,
.kc-textarea:hover { border-color: var(--kc-color-slate-400); }
.kc-input:focus,
.kc-select:focus,
.kc-textarea:focus { border-color: var(--kc-color-focus); box-shadow: var(--kc-shadow-focus); }
.kc-input:disabled,
.kc-select:disabled,
.kc-textarea:disabled { background: var(--kc-color-surface-muted); color: var(--kc-color-text-disabled); cursor: not-allowed; }
.kc-textarea { min-height: 88px; resize: vertical; }
.kc-field__help { color: var(--kc-color-text-muted); font-size: var(--kc-font-size-xs); font-weight: var(--kc-font-weight-semibold); line-height: var(--kc-line-height-body); }
.kc-field__error { color: var(--kc-color-danger-700); font-size: var(--kc-font-size-xs); font-weight: var(--kc-font-weight-bold); line-height: var(--kc-line-height-body); }
.kc-field--error .kc-input,
.kc-field--error .kc-select,
.kc-field--error .kc-textarea,
.kc-input[aria-invalid="true"],
.kc-select[aria-invalid="true"],
.kc-textarea[aria-invalid="true"] { border-color: var(--kc-color-danger); }
.kc-field--error .kc-input:focus,
.kc-field--error .kc-select:focus,
.kc-field--error .kc-textarea:focus { box-shadow: 0 0 0 3px rgba(220, 38, 38, .14); }
.kc-input-group { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; }
.kc-input-group > :first-child { border-radius: var(--kc-component-control-radius) 0 0 var(--kc-component-control-radius); }
.kc-input-group > :last-child { margin-left: -1px; border-radius: 0 var(--kc-component-control-radius) var(--kc-component-control-radius) 0; }

/* Lista suspensa pesquisável. Posicionamento e seleção pertencem ao módulo. */
.kc-dropdown { position: relative; display: block; min-width: 0; }
.kc-dropdown__trigger { display: flex; align-items: center; justify-content: space-between; gap: var(--kc-space-3); text-align: left; cursor: pointer; }
.kc-dropdown__menu { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--kc-color-border-strong); border-radius: var(--kc-component-control-radius); background: var(--kc-color-surface); color: var(--kc-color-text); box-shadow: var(--kc-shadow-lg); }
.kc-dropdown__menu[hidden] { display: none; }
.kc-dropdown__search { display: flex; flex: 0 0 auto; align-items: center; gap: var(--kc-space-2); padding: var(--kc-space-3); border-bottom: 1px solid var(--kc-color-border); }
.kc-dropdown__search .kc-input { flex: 1; min-width: 0; }
.kc-dropdown__options { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: var(--kc-space-2); scrollbar-gutter: stable; }
.kc-dropdown__group { padding: var(--kc-space-3); color: var(--kc-color-text-muted); font: var(--kc-font-weight-bold) var(--kc-font-size-sm)/var(--kc-line-height-body) var(--kc-font-family-sans); }
.kc-dropdown__option { display: flex; width: 100%; min-height: 48px; align-items: center; gap: var(--kc-space-3); padding: var(--kc-space-3); border: 0; border-radius: var(--kc-radius-sm); background: transparent; color: var(--kc-color-text); text-align: left; font: inherit; cursor: pointer; }
.kc-dropdown__option > span { min-width: 0; }
.kc-dropdown__option strong { display: block; font-size: var(--kc-font-size-xl); overflow-wrap: anywhere; }
.kc-dropdown__option small { display: block; margin-top: var(--kc-space-1); color: var(--kc-color-text-muted); font-size: var(--kc-font-size-xs); }
.kc-dropdown__option:hover, .kc-dropdown__option:focus-visible { background: var(--kc-color-surface-muted); outline: 2px solid var(--kc-color-focus); outline-offset: -2px; }
.kc-dropdown__option[aria-selected="true"] { background: var(--kc-color-suggestion-surface); }
.kc-dropdown__check { display: grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; border: 1px solid var(--kc-color-border-strong); border-radius: var(--kc-radius-xs); color: var(--kc-color-suggestion-surface-text); }
.kc-dropdown__empty { padding: var(--kc-space-5); color: var(--kc-color-text-muted); font-size: var(--kc-font-size-lg); }
.kc-dropdown__footer { display: grid; flex: 0 0 auto; gap: var(--kc-space-1); padding: var(--kc-space-2) var(--kc-space-3); border-top: 1px solid var(--kc-color-border); }
.kc-dropdown__footer .kc-button { justify-content: flex-start; }
.kc-dropdown__footer small { padding-inline: var(--kc-space-3); color: var(--kc-color-text-muted); font-size: var(--kc-font-size-xs); }
.kc-automation { display: inline-flex; align-items: center; gap: var(--kc-space-1); color: var(--kc-color-suggestion-surface-text); font-size: var(--kc-font-size-xs); font-weight: var(--kc-font-weight-bold); }
.kc-automation svg { width: 16px; height: 16px; fill: var(--kc-color-suggestion-600); }
.kc-badge.kc-badge--suggestion { border-color: var(--kc-color-suggestion-surface-border); background: var(--kc-color-suggestion-surface); color: var(--kc-color-suggestion-surface-text); }

/* Checkbox e radio */
.kc-choice { position: relative; display: inline-flex; align-items: flex-start; gap: var(--kc-space-3); min-width: 0; color: var(--kc-color-text); font-size: var(--kc-font-size-lg); font-weight: var(--kc-font-weight-semibold); line-height: var(--kc-line-height-body); cursor: pointer; }
.kc-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.kc-choice__control { display: grid; flex: 0 0 auto; width: 20px; height: 20px; place-items: center; margin-top: 1px; border: 1.5px solid var(--kc-color-slate-400); border-radius: var(--kc-radius-xs); background: var(--kc-color-surface); transition: border-color var(--kc-duration-fast), background-color var(--kc-duration-fast), box-shadow var(--kc-duration-fast); }
.kc-choice--radio .kc-choice__control { border-radius: var(--kc-radius-round); }
.kc-choice input:checked + .kc-choice__control { border-color: var(--kc-color-primary); background: var(--kc-color-primary); }
.kc-choice input:checked + .kc-choice__control::after { content: ""; width: 9px; height: 5px; margin-top: -2px; border: solid var(--kc-color-white); border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.kc-choice--radio input:checked + .kc-choice__control::after { width: 8px; height: 8px; margin: 0; border: 0; border-radius: var(--kc-radius-round); background: var(--kc-color-white); transform: none; }
.kc-choice input:focus-visible + .kc-choice__control { box-shadow: var(--kc-shadow-focus); }
.kc-choice input:disabled ~ * { opacity: .5; cursor: not-allowed; }

/* Badges */
.kc-badge { display: inline-flex; align-items: center; justify-content: center; gap: var(--kc-space-1); min-height: 24px; padding: var(--kc-space-1) var(--kc-space-3); border: 1px solid var(--kc-color-border); border-radius: var(--kc-radius-pill); background: var(--kc-color-surface-muted); color: var(--kc-color-text-secondary); font-size: var(--kc-font-size-xs); font-weight: var(--kc-font-weight-extrabold); line-height: 1.2; }
.kc-badge--primary { border-color: var(--kc-color-primary-surface-border); background: var(--kc-color-primary-surface); color: var(--kc-color-primary-surface-text); }
.kc-badge--success { border-color: var(--kc-color-success-surface-border); background: var(--kc-color-success-surface); color: var(--kc-color-success-surface-text); }
.kc-badge--warning { border-color: var(--kc-color-warning-surface-border); background: var(--kc-color-warning-surface); color: var(--kc-color-warning-surface-text); }
.kc-badge--danger { border-color: var(--kc-color-danger-surface-border); background: var(--kc-color-danger-surface); color: var(--kc-color-danger-surface-text); }

/* Cards e seções */
.kc-surface { border: 1px solid var(--kc-color-border); background: var(--kc-color-surface-card); color: var(--kc-color-text); }
.kc-surface--section { background: var(--kc-color-surface-section); }
.kc-surface--card { background: var(--kc-color-surface-card); box-shadow: var(--kc-shadow-surface-card); }
.kc-surface--field { border-color: var(--kc-color-border-field); background: var(--kc-color-surface-field); }
.kc-surface--new { border-color: var(--kc-color-border-new); background: var(--kc-color-surface-new); box-shadow: inset 0 0 0 1px var(--kc-color-border-new), var(--kc-shadow-surface-card); }
.kc-card { overflow: hidden; border: 1px solid var(--kc-color-border); border-radius: var(--kc-component-card-radius); background: var(--kc-color-surface); color: var(--kc-color-text); box-shadow: var(--kc-shadow-xs); }
.kc-card--flat { box-shadow: none; }
.kc-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--kc-component-card-gap); min-height: 52px; padding: var(--kc-component-card-padding); border-bottom: 1px solid var(--kc-color-border); background: var(--kc-color-surface-subtle); }
.kc-card__title { margin: 0; color: var(--kc-color-text); font-size: var(--kc-font-size-4xl); font-weight: var(--kc-font-weight-extrabold); line-height: var(--kc-line-height-heading); }
.kc-card__subtitle { margin: var(--kc-space-1) 0 0; color: var(--kc-color-text-muted); font-size: var(--kc-font-size-sm); font-weight: var(--kc-font-weight-semibold); line-height: var(--kc-line-height-body); }
.kc-card__body { padding: var(--kc-component-card-padding); }
.kc-card__footer { display: flex; align-items: center; justify-content: flex-end; gap: var(--kc-space-3); padding: var(--kc-space-5) var(--kc-component-card-padding); border-top: 1px solid var(--kc-color-border); background: var(--kc-color-surface-subtle); }
.kc-stack { display: grid; gap: var(--kc-component-section-gap); }
.kc-cluster { display: flex; align-items: center; flex-wrap: wrap; gap: var(--kc-component-card-gap); }

/* Toolbars e abas */
.kc-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--kc-component-card-gap); padding: var(--kc-space-4); border: 1px solid var(--kc-color-border); border-radius: var(--kc-component-card-radius); background: var(--kc-color-surface-subtle); }
.kc-toolbar__group { display: flex; align-items: center; flex-wrap: wrap; gap: var(--kc-space-3); }
.kc-tabs { display: flex; align-items: center; gap: var(--kc-space-1); overflow-x: auto; padding: var(--kc-space-1); border: 1px solid var(--kc-color-border); border-radius: var(--kc-component-card-radius); background: var(--kc-color-surface-muted); }
.kc-tab { display: inline-flex; align-items: center; justify-content: center; min-height: var(--kc-component-control-height-sm); padding: 0 var(--kc-space-5); border: 0; border-radius: var(--kc-radius-sm); background: transparent; color: var(--kc-color-text-muted); box-shadow: none; font-family: var(--kc-font-family-sans); font-size: var(--kc-font-size-md); font-weight: var(--kc-font-weight-extrabold); white-space: nowrap; cursor: pointer; }
.kc-tab:hover { color: var(--kc-color-text); }
.kc-tab[aria-selected="true"],
.kc-tab.is-active { background: var(--kc-color-surface); color: var(--kc-color-primary); box-shadow: var(--kc-shadow-xs); }
.kc-tab:focus-visible { outline: 0; box-shadow: var(--kc-shadow-focus); }

/* Feedback */
.kc-alert { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--kc-space-3); padding: var(--kc-space-5); border: 1px solid var(--kc-color-border); border-radius: var(--kc-component-card-radius); background: var(--kc-color-surface-subtle); color: var(--kc-color-text-secondary); font-size: var(--kc-font-size-md); font-weight: var(--kc-font-weight-semibold); line-height: var(--kc-line-height-body); }
.kc-alert strong { display: block; margin-bottom: var(--kc-space-1); color: var(--kc-color-text); font-size: var(--kc-font-size-lg); }
.kc-alert--success { border-color: var(--kc-color-success-surface-border); background: var(--kc-color-success-surface); color: var(--kc-color-success-surface-text); }
.kc-alert--warning { border-color: var(--kc-color-warning-surface-border); background: var(--kc-color-warning-surface); color: var(--kc-color-warning-surface-text); }
.kc-alert--danger { border-color: var(--kc-color-danger-surface-border); background: var(--kc-color-danger-surface); color: var(--kc-color-danger-surface-text); }
.kc-empty { display: grid; justify-items: center; gap: var(--kc-space-3); padding: var(--kc-space-14) var(--kc-space-7); border: 1px dashed var(--kc-color-border-strong); border-radius: var(--kc-component-card-radius); background: var(--kc-color-surface-subtle); color: var(--kc-color-text-muted); text-align: center; }
.kc-empty__title { margin: 0; color: var(--kc-color-text); font-size: var(--kc-font-size-4xl); font-weight: var(--kc-font-weight-extrabold); }
.kc-empty__text { max-width: 480px; margin: 0; font-size: var(--kc-font-size-md); font-weight: var(--kc-font-weight-semibold); line-height: var(--kc-line-height-body); }

/* Identidade da sessão na navegação dos módulos */
.kc-sidebar-account { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: var(--kc-space-3); width: 100%; min-width: 0; padding: var(--kc-space-3); border: 1px solid var(--kc-color-border); border-radius: var(--kc-radius-md); background: var(--kc-color-surface-subtle); color: var(--kc-color-text); }
.kc-sidebar-account[hidden] { display: none !important; }
.kc-sidebar-account__avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: var(--kc-radius-round); background: var(--kc-color-primary-soft); color: var(--kc-color-primary); font-size: var(--kc-font-size-md); font-weight: var(--kc-font-weight-extrabold); text-transform: uppercase; }
.kc-sidebar-account__copy { display: grid; min-width: 0; gap: var(--kc-space-1); }
.kc-sidebar-account__label { color: var(--kc-color-text-muted); font-size: var(--kc-font-size-xs); font-weight: var(--kc-font-weight-extrabold); line-height: var(--kc-line-height-tight); letter-spacing: .045em; text-transform: uppercase; }
.kc-sidebar-account__identity { min-width: 0; color: var(--kc-color-text); font-size: var(--kc-font-size-sm); font-weight: var(--kc-font-weight-extrabold); line-height: var(--kc-line-height-body); overflow-wrap: anywhere; word-break: break-word; }
.kc-sidebar-account[data-kc-sidebar-account-placement="mobile"] { margin-top: var(--kc-space-5); }
body.sidebar-collapsed .kc-sidebar-account:not([data-kc-sidebar-account-placement="mobile"]),
#adminApp.sidebar-collapsed .kc-sidebar-account:not([data-kc-sidebar-account-placement="mobile"]) { grid-template-columns: 34px; justify-content: center; width: 46px; min-height: 44px; padding: var(--kc-space-1); }
body.sidebar-collapsed .kc-sidebar-account:not([data-kc-sidebar-account-placement="mobile"]) .kc-sidebar-account__copy,
#adminApp.sidebar-collapsed .kc-sidebar-account:not([data-kc-sidebar-account-placement="mobile"]) .kc-sidebar-account__copy { display: none; }

/* Modal */
.kc-auth-pending body { visibility: hidden !important; }

.kc-modal-backdrop { position: fixed; z-index: var(--kc-z-modal); inset: 0; display: none; align-items: center; justify-content: center; padding: var(--kc-space-8); background: var(--kc-color-overlay); backdrop-filter: blur(3px); }
.kc-modal-backdrop.is-open,
.kc-modal-backdrop[aria-hidden="false"] { display: flex; }
.kc-modal { display: flex; flex-direction: column; width: min(var(--kc-modal-width-md), 100%); max-height: calc(100dvh - 36px); overflow: hidden; border: 1px solid var(--kc-color-border); border-radius: var(--kc-radius-lg); background: var(--kc-color-surface); box-shadow: var(--kc-shadow-modal); }
.kc-modal--sm { width: min(var(--kc-modal-width-sm), 100%); }
.kc-modal--lg { width: min(var(--kc-modal-width-lg), 100%); }
.kc-modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--kc-space-5); padding: var(--kc-space-7); border-bottom: 1px solid var(--kc-color-border); }
.kc-modal__title { margin: 0; color: var(--kc-color-text); font-size: var(--kc-font-size-6xl); font-weight: var(--kc-font-weight-extrabold); line-height: var(--kc-line-height-heading); }
.kc-modal__description { margin: var(--kc-space-1) 0 0; color: var(--kc-color-text-muted); font-size: var(--kc-font-size-md); font-weight: var(--kc-font-weight-semibold); line-height: var(--kc-line-height-body); }
.kc-modal__body { flex: 1; min-height: 0; overflow: auto; padding: var(--kc-space-7); }
.kc-modal__footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--kc-space-3); padding: var(--kc-space-5) var(--kc-space-7); border-top: 1px solid var(--kc-color-border); background: var(--kc-color-surface-subtle); }

/* Carregamento */
.kc-spinner { width: var(--kc-icon-size-md); height: var(--kc-icon-size-md); border: 2px solid var(--kc-color-primary-100); border-top-color: var(--kc-color-primary); border-radius: var(--kc-radius-round); animation: kc-spin .7s linear infinite; }
.kc-skeleton { overflow: hidden; border-radius: var(--kc-radius-sm); background: linear-gradient(90deg, var(--kc-color-slate-100) 20%, var(--kc-color-slate-50) 38%, var(--kc-color-slate-100) 56%); background-size: 220% 100%; animation: kc-skeleton 1.3s ease-in-out infinite; color: transparent; }
@keyframes kc-spin { to { transform: rotate(360deg); } }
@keyframes kc-skeleton { to { background-position-x: -220%; } }

@media (max-width: 640px) {
  .kc-toolbar { align-items: stretch; }
  .kc-toolbar,
  .kc-toolbar__group { width: 100%; }
  .kc-card__header,
  .kc-card__footer,
  .kc-modal__footer { flex-direction: column; align-items: stretch; }
  .kc-modal-backdrop { align-items: flex-end; padding: 0; }
  .kc-modal { width: 100%; max-height: 92dvh; border-width: 1px 0 0; border-radius: var(--kc-radius-lg) var(--kc-radius-lg) 0 0; }
}

@media (prefers-reduced-motion: reduce) {
  .kc-button,
  .kc-choice__control,
  .kc-input,
  .kc-select,
  .kc-textarea { transition: none; }
  .kc-spinner,
  .kc-skeleton { animation-duration: .01ms; animation-iteration-count: 1; }
}
