/* SDA_PORTAL_V9_3_ENFORCED_UI_SIZE_CEILING_REPAIR_9
   Final cascade boundary: later feature styles may not enlarge portal controls. */
:root {
  --ui-text-ceiling: 20px;
  --ui-label-ceiling: 17px;
  --ui-small-ceiling: 15px;
  --ui-heading-ceiling: 26px;
  --ui-control-height-ceiling: 34px;
  --ui-button-height-ceiling: 34px;
  --ui-action-height-ceiling: 32px;
  --ui-check-ceiling: 18px;
}

body { font-size: min(1rem, var(--ui-text-ceiling)) !important; }
h1, h2, .section-title { font-size: min(1.3rem, var(--ui-heading-ceiling)) !important; }
h3 { font-size: min(1.1rem, 22px) !important; }
label, legend { font-size: min(.86rem, var(--ui-label-ceiling)) !important; }
.muted, .notice, .status, .pill, small { font-size: min(.78rem, var(--ui-small-ceiling)) !important; }

input:not([type="checkbox"]):not([type="radio"]),
select {
  height: var(--ui-control-height-ceiling) !important;
  min-height: 0 !important;
  max-height: var(--ui-control-height-ceiling) !important;
  padding: 5px 9px !important;
  font-size: min(.86rem, var(--ui-label-ceiling)) !important;
  border-radius: 8px !important;
}

textarea {
  min-height: 58px !important;
  max-height: 70px !important;
  padding: 6px 9px !important;
  font-size: min(.86rem, var(--ui-label-ceiling)) !important;
  border-radius: 8px !important;
  resize: vertical;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  width: auto;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: var(--ui-button-height-ceiling) !important;
  padding: 5px 9px !important;
  font-size: min(.78rem, 16px) !important;
  line-height: 1.15 !important;
  border-radius: 8px !important;
}

.program-actions button,
.workflow-row-actions button,
.v83-actions button,
.v83-row-actions button {
  max-height: var(--ui-action-height-ceiling) !important;
  padding: 4px 8px !important;
  font-size: min(.7rem, 14px) !important;
}

input[type="checkbox"], input[type="radio"] {
  width: var(--ui-check-ceiling) !important;
  height: var(--ui-check-ceiling) !important;
  min-width: var(--ui-check-ceiling) !important;
  min-height: var(--ui-check-ceiling) !important;
  max-width: var(--ui-check-ceiling) !important;
  max-height: var(--ui-check-ceiling) !important;
  flex: 0 0 var(--ui-check-ceiling) !important;
  padding: 0 !important;
}

.card { padding: min(16px, 1.5vw) !important; margin-bottom: 12px !important; }
.notice, .status, .pin-panel, .workflow-extra-card { padding: 8px 10px !important; }
.table th, .table td, .v83-table th, .v83-table td { padding: 6px 8px !important; }
.v83-summary { gap: 8px !important; margin: 12px 0 !important; }
.v83-summary > div { min-height: 0 !important; max-height: 72px !important; padding: 7px 9px !important; }
.v83-summary b { font-size: min(1.15rem, 23px) !important; }
.v83-summary span { font-size: min(.68rem, 14px) !important; }

@media (max-width: 620px) {
  .card { padding: 15px 12px !important; }
  button { max-height: none !important; }
  #loginView button { width: 100%; }
}
