/* Shared form controls: match the Add Student ID field across pages and panels. */
:root { --sirb-field-radius: 16px; --sirb-field-padding: 16px; }
html body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not(:where(.sirb-phone-field > input, .search-box input, .filter-search input, .candidate-search input, .school-picker-search input, .sirb-dropdown-search input, .readonly-control input, .messages-search input)),
html body select,
html body .sirb-dropdown .sirb-dropdown-trigger:not(:where(.sirb-phone-field .sirb-dropdown-trigger)) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: var(--sirb-control-height) !important;
  min-height: var(--sirb-control-height) !important;
  border: 1px solid var(--sirb-border);
  border-radius: var(--sirb-field-radius) !important;
  padding: 0 var(--sirb-field-padding-right, var(--sirb-field-padding)) 0 var(--sirb-field-padding-left, var(--sirb-field-padding)) !important;
  background: var(--sirb-control-bg);
  color: var(--sirb-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
html body .sirb-dropdown-trigger .sirb-dropdown-copy strong { font-size: 14px; line-height: 1.5; }
html body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not(:where(.sirb-phone-field > input, .search-box input, .filter-search input, .candidate-search input, .school-picker-search input, .sirb-dropdown-search input, .readonly-control input, .messages-search input)):focus,
html body select:focus,
html body .sirb-dropdown.open .sirb-dropdown-trigger,
html body .sirb-dropdown .sirb-dropdown-trigger:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sirb-brand-solid) 45%, var(--sirb-border));
  box-shadow: var(--sirb-focus);
}
/* Composite controls own the border; their nested inputs must not add another box. */
html body :is(.sirb-phone-field, .search-box, .filter-search, .candidate-search, .school-picker-search, .sirb-dropdown-search, .readonly-control) {
  box-sizing: border-box;
  height: var(--sirb-control-height) !important;
  min-height: var(--sirb-control-height) !important;
  border-radius: var(--sirb-field-radius) !important;
  align-items: center;
}
html body :is(.search-box, .filter-search, .candidate-search, .school-picker-search, .sirb-dropdown-search, .readonly-control) input {
  box-sizing: border-box;
  height: calc(var(--sirb-control-height) - 2px) !important;
  min-height: 0 !important;
  padding-block: 0 !important;
  border: 0;
  background: transparent;
  font-size: 14px;
  line-height: 1.5;
}
html body .sirb-phone-field .sirb-dropdown-trigger,
html body .sirb-phone-field > input {
  height: calc(var(--sirb-control-height) - 2px) !important;
  min-height: calc(var(--sirb-control-height) - 2px) !important;
  padding-block: 0 !important;
  font-size: 14px;
  font-weight: 700;
}
/* Multiline fields retain room to write and resize. */
html body textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 112px;
  border: 1px solid var(--sirb-border);
  background: var(--sirb-control-bg);
  color: var(--sirb-text);
  border-radius: var(--sirb-field-radius);
  padding: 14px var(--sirb-field-padding);
  font-size: 14px;
  line-height: 1.7;
  resize: vertical;
}

html body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not(:where(.sirb-phone-field > input, .search-box input, .filter-search input, .candidate-search input, .school-picker-search input, .sirb-dropdown-search input, .readonly-control input, .messages-search input)):disabled,
html body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not(:where(.sirb-phone-field > input, .search-box input, .filter-search input, .candidate-search input, .school-picker-search input, .sirb-dropdown-search input, .readonly-control input, .messages-search input)):read-only {
  color: var(--sirb-muted);
  background: var(--sirb-surface-muted);
}

html body textarea:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--sirb-brand-solid) 45%, var(--sirb-border));
  box-shadow: var(--sirb-focus);
}
html body .readonly-control { padding-block: 0; }

/* Date text remains LTR; reserve physical space for the calendar on the right. */
html body input:is([type="date"], [type="time"], [type="datetime-local"]) {
  --sirb-field-padding-right: 44px;
}


html[dir="rtl"] body input:is([type="date"], [type="datetime-local"]) {
  --sirb-field-padding-left: 0px;
}
