/* 10. Forms */

.content :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), select, textarea) {
  box-sizing: border-box; max-width: 100%; min-width: 0; min-height: 42px;
  font: inherit; color: var(--input-text); background-color: var(--input-bg);
  border: 1px solid var(--input-border); border-radius: 8px; padding: 9px 12px;
}
.content :where(select) { color-scheme: dark; }
:root[data-theme="light"] .content :where(select) { color-scheme: light; }
.content :where(input, select, textarea):disabled { cursor: not-allowed; opacity: .65; }
.content :where(input, textarea)[readonly] { background-color: var(--panel2); }
.content :where(input, select, textarea)[aria-invalid="true"] { border-color: var(--danger, #e06060); }
.content :where(input, select, textarea):focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.content .btn, .content [role="tab"] { min-height: 40px; box-sizing: border-box; }
.content .btn:disabled { opacity: .55; cursor: not-allowed; }
@media (max-width: 760px) { .content .btn, .content [role="tab"] { min-height: 44px; } }

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.field.full {
  grid-column: 1/-1;
}

.field label {
  display: block;
  color: var(--label-text);
  font-size: 12px;
  margin-bottom: 6px;
}

.field input {
  width: 100%;
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--input-text);
  border-radius: 9px;
  padding: 10px var(--space-3);
}

.field select {
  width: 100%;
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--input-text);
  border-radius: 9px;
  padding: 10px var(--space-3);
}

.field textarea {
  width: 100%;
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--input-text);
  border-radius: 9px;
  padding: 10px var(--space-3);
}

input[type=checkbox] {
  width: auto!important;
  accent-color: var(--gold);
}

input[type=radio] {
  width: auto!important;
  accent-color: var(--gold);
}

.field label:has(input) {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 36px;
}

.field {
  min-width: 0;
}

.form-grid > * {
  min-width: 0;
}

.event-filters .form-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.specialist-form-group {
  min-inline-size: 0;
  margin-block: 1rem;
  padding: 1rem;
  border: 1px solid var(--input-border);
  border-radius: 10px;
}
.specialist-form-group legend { padding-inline: .5rem; font-weight: 700; }
.specialist-form-field, [data-policy-controls] label { display: grid; gap: .5rem; min-width: 0; margin-block: .75rem; }
[data-policy-editor] { min-width: 0; max-width: 100%; }
[data-policy-controls] fieldset { min-inline-size: 0; max-width: 100%; border: 1px solid var(--input-border); border-radius: 8px; }
[data-policy-controls] select { width: 100%; }
[data-policy-controls] legend { overflow-wrap: anywhere; }
[data-policy-editor] textarea { box-sizing: border-box; max-width: 100%; }
.form-review { margin-block: 1rem; grid-column: 1 / -1; }
.form-review dd { margin-inline-start: 1rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.form-review dt { margin-block-start: .75rem; font-weight: 700; }
.specialist-action { scroll-margin-block-start: 6rem; }
.specialist-action:target { outline: 2px solid var(--gold); }
.catalog-builder-focus > .status-note { display: none; }
.access-form, .access-permission, .access-chip { min-width: 0; overflow-wrap: anywhere; }
