/* Platform UIX Components - Build 1.0.16
   Enduser-safe visual surface. UIX owns appearance only; fachliche components own data/actions/permissions. */
.uix-page,
.ds-uix-page { position: relative; color: var(--ds-color-text); }
.uix-shell,
.ds-uix-shell { width: min(100%, 1180px); margin-inline: auto; padding-inline: clamp(1rem, 3vw, 2rem); }
.uix-hero,
.ds-uix-hero { padding-block: var(--uix-section-spacing); }
.uix-grid,
.ds-uix-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--uix-grid-min)), 1fr)); gap: var(--uix-grid-gap); }
.uix-two-column,
.ds-uix-two-column { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr); gap: var(--uix-grid-gap); align-items: start; }
.uix-three-card-summary,
.ds-uix-three-card-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--uix-grid-gap); }

.uix-card,
.ds-uix-card { background: var(--ds-color-surface); color: var(--ds-color-text); border: var(--uix-card-border); border-radius: var(--uix-card-radius); box-shadow: var(--uix-card-shadow); padding: var(--uix-card-padding); line-height: var(--ds-line-height-base); }
.uix-card-glass,
.ds-uix-card--glass { background: var(--uix-glass-background); border: var(--uix-card-border); border-radius: var(--uix-card-radius); box-shadow: var(--uix-card-shadow); -webkit-backdrop-filter: blur(var(--uix-glass-blur)); backdrop-filter: blur(var(--uix-glass-blur)); }
.uix-card-elevated,
.ds-uix-card--elevated { background: rgba(255,255,255,.88); box-shadow: 0 22px 60px rgba(15,23,42,.10); }
.uix-card-service,
.ds-uix-card--service { display: grid; gap: var(--uix-card-gap); min-height: 100%; }
.uix-card-form,
.ds-uix-card--form { display: grid; gap: var(--uix-form-row-spacing); }
.uix-card-compact,
.ds-uix-card--compact { padding: clamp(1rem, 2vw, 1.35rem); }
.uix-notice-card,
.ds-uix-notice-card { width: 100%; background: rgba(255,255,255,.82); border: var(--uix-card-border); border-radius: var(--uix-card-radius); box-shadow: var(--ds-shadow-soft); padding: var(--uix-card-padding); }
.uix-notice-card[data-uix-notice="technical"],
.ds-uix-notice-card[data-uix-notice="technical"] { display: none; }

.uix-card__title,
.ds-uix-card__title { margin: 0 0 .45rem; line-height: var(--ds-line-height-tight); font-weight: var(--ds-font-weight-bold); }
.uix-card__body,
.ds-uix-card__body { display: grid; gap: var(--uix-card-gap); }
.uix-card__meta,
.ds-uix-card__meta,
.uix-muted,
.ds-uix-muted { color: var(--uix-muted-text); }
.uix-kicker,
.ds-uix-kicker { color: var(--uix-label-text); font-size: var(--ds-font-size-sm); letter-spacing: .08em; text-transform: uppercase; font-weight: var(--ds-font-weight-medium); }

.uix-pill,
.ds-uix-status-badge,
.ds-uix-pill { display: inline-flex; align-items: center; gap: .4rem; width: fit-content; min-height: 1.75rem; padding: .25rem .7rem; border: var(--uix-status-pill-border); border-radius: 999px; background: var(--uix-status-pill-background); color: var(--ds-color-text); font-size: var(--ds-font-size-sm); line-height: 1.2; }
.uix-actions,
.ds-uix-action-bar { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; }
.uix-action-row,
.ds-uix-action-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .7rem; align-items: center; }

.uix-button,
.ds-uix-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.75rem; padding: var(--uix-button-padding); border: 1px solid rgba(31,41,55,.12); border-radius: var(--uix-button-radius); background: rgba(255,255,255,.74); color: var(--ds-color-text); text-decoration: none; cursor: pointer; transition: transform var(--ds-motion-fast) var(--ds-motion-ease), box-shadow var(--ds-motion-fast) var(--ds-motion-ease), background-color var(--ds-motion-fast) var(--ds-motion-ease); }
.uix-button-primary,
.ds-uix-button--primary { background: var(--ds-color-accent); color: var(--ds-color-accent-contrast); }
.uix-button-secondary,
.ds-uix-button--secondary { background: var(--ds-color-secondary); color: var(--ds-color-secondary-contrast); }
.uix-button:hover,
.ds-uix-button:hover { transform: translateY(-1px); box-shadow: var(--ds-shadow-soft); }
.uix-button[disabled],
.ds-uix-button[disabled],
.uix-button.is-disabled,
.ds-uix-button.is-disabled { opacity: .56; cursor: not-allowed; transform: none; }

.uix-form,
.ds-uix-form { display: grid; gap: var(--uix-form-row-spacing); }
.uix-field,
.ds-uix-field { display: grid; gap: .4rem; }
.uix-label,
.ds-uix-label { color: var(--uix-label-text); font-weight: var(--ds-font-weight-medium); }
.uix-input,
.uix-select,
.uix-textarea,
.ds-uix-input,
.ds-uix-select,
.ds-uix-textarea { width: 100%; min-height: 2.9rem; border: var(--uix-input-border); border-radius: var(--uix-input-radius); background: rgba(255,255,255,.78); color: var(--ds-color-text); padding: .75rem 1rem; font: inherit; }
.uix-textarea,
.ds-uix-textarea { min-height: 8rem; resize: vertical; }
.uix-help,
.ds-uix-help { color: var(--uix-muted-text); font-size: var(--ds-font-size-sm); margin: 0; }
.uix-error,
.ds-uix-error,
.ds-uix-field--invalid .ds-uix-help { color: var(--ds-color-danger); }
.ds-uix-field--required .ds-uix-label::after,
.uix-field--required .uix-label::after { content: " *"; color: var(--ds-color-danger); }

.uix-card:focus-within,
.ds-uix-card:focus-within,
.uix-button:focus-visible,
.ds-uix-button:focus-visible,
.uix-input:focus-visible,
.ds-uix-input:focus-visible,
.uix-select:focus-visible,
.ds-uix-select:focus-visible,
.uix-textarea:focus-visible,
.ds-uix-textarea:focus-visible { outline: 0; box-shadow: var(--ds-shadow-focus), var(--uix-card-shadow); }

/* Explicit aliases retained for existing DS UIX consumers. */
.ds-uix-card--flat { box-shadow: none; background: var(--ds-color-surface-muted); }
.ds-uix-card--interactive { cursor: pointer; transition: transform var(--ds-motion-normal) var(--ds-motion-ease), box-shadow var(--ds-motion-normal) var(--ds-motion-ease); }
.ds-uix-card--interactive:hover { transform: translateY(-2px); }
.ds-uix-card--hero { padding: var(--ds-space-2xl); }
.ds-uix-preview-row { display: flex; flex-wrap: wrap; gap: var(--ds-space-sm); margin-bottom: var(--ds-space-lg); }
.ds-uix-neutral-primary { color: var(--ds-color-accent-contrast); background: var(--ds-color-accent); }
.ds-uix-neutral-secondary { color: var(--ds-color-secondary-contrast); background: var(--ds-color-secondary); }
.ds-uix-section-title { margin: 0 0 var(--ds-space-sm); line-height: var(--ds-line-height-tight); }

@media (max-width: 780px) {
  .uix-two-column,
  .ds-uix-two-column,
  .uix-three-card-summary,
  .ds-uix-three-card-summary { grid-template-columns: 1fr; }
}
