/* PWA5_UI_POLISH_V1: gemeinsame barriereärmere Darstellung für Web und APK. */

/* Login: globale PWA4-Pflichtfeldfarben neutralisieren. Fehler erscheinen
 * weiterhin gezielt in den vorhandenen Meldungsboxen. */
#loginForm .form-control,
#loginForm .form-control:required,
#loginForm .form-control:required:focus,
#loginForm .form-control:valid,
#loginForm .form-control:invalid {
  min-height: 60px;
  padding-inline: 15px;
  border: 2px solid #b8cbd2 !important;
  border-left-color: #b8cbd2 !important;
  border-radius: 9px;
  background: #ffffff !important;
  color: #18313b !important;
  font-size: 1.08rem;
  box-shadow: none !important;
}

#loginForm .form-control:focus,
#loginForm .form-control:required:focus {
  border-color: #07808a !important;
  box-shadow: 0 0 0 4px rgba(7, 128, 138, 0.14) !important;
}

#loginForm .form-floating > label {
  color: #526a74;
  font-size: 1.02rem;
}

#loginForm .form-control:-webkit-autofill,
#loginForm .form-control:-webkit-autofill:hover,
#loginForm .form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: #18313b !important;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
  transition: background-color 99999s ease-out;
}

#loginForm .btn {
  min-height: 52px;
  font-size: 1.12rem;
}

#loginForm a {
  font-size: 1rem;
}

body:has(#loginForm) .card-body h4 {
  font-size: 1.45rem;
}

body:has(#loginForm) .card-body small,
body:has(#loginForm) .card-footer {
  font-size: 0.95rem !important;
}

/* Das Datumsfeld erhält in der schmalen Filterkarte eine eigene, volle
 * Zeile. Dadurch werden Datum und Kalenderknopf weder gequetscht noch
 * scheinbar nach rechts verschoben. */
.order-date-filter {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
}

.order-date-filter .order-filter-icon {
  grid-column: 1;
  grid-row: 1;
}

.order-date-filter .order-filter-copy {
  grid-column: 2;
  grid-row: 1;
}

.order-date-filter .order-date-input {
  grid-column: 2;
  grid-row: 2;
  width: 100% !important;
  max-width: 240px;
  min-width: 0;
  margin: 8px auto 0 !important;
  padding: 10px 12px;
  text-align: center;
  text-align-last: center;
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}

.order-date-filter .order-date-input::-webkit-date-and-time-value,
.order-date-filter .order-date-input::-webkit-datetime-edit {
  min-width: 0;
  padding: 0;
  text-align: center;
}

/* Bereichsnavigation in Aufträgen: besser lesbare Beschriftungen und
 * größere Symbole, ohne die Zahl der Spalten zu verändern. */
.workflow-page .workflow-section-nav {
  height: auto !important;
  min-height: 0 !important;
}

.workflow-page .workflow-main-section > summary {
  display: none !important;
}

.workflow-page .workflow-section-nav__button {
  min-height: 48px;
  gap: 8px;
  padding: 8px 9px;
  font-size: 0.86rem;
  line-height: 1.2;
}

.workflow-page .workflow-section-nav__button i {
  font-size: 1.12rem;
}

/* Die aktuelle React-Auftragsansicht verwendet nicht die alten
 * workflow-section-nav__button-Elemente, sondern diese Buttons. */
.modern-workflow-nav-button {
  min-height: 48px;
  gap: 8px;
  padding: 9px 11px;
  font-size: 0.92rem;
  line-height: 1.2;
}

.modern-workflow-nav-button svg {
  width: 21px !important;
  height: 21px !important;
  flex: 0 0 auto;
}

.modern-workflow-nav-count {
  min-width: 21px;
  height: 21px;
  font-size: 0.72rem;
}

/* Dokumentliste: optische Trennung vom Abschnittstitel und zwischen
 * mehreren Dokumentaktionen. */
#AuftragDokumente > .workflow-table-detail-body {
  padding-top: 14px !important;
}

#PDFDokumente {
  row-gap: 12px !important;
  margin-top: 0 !important;
  padding: 0 8px 10px;
}

#PDFDokumente > * {
  margin: 0 !important;
}

.workflow-document-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) repeat(2, auto);
  gap: 10px;
  align-items: stretch;
}

.workflow-document-actions > .btn {
  min-height: 46px;
}

.workflow-document-icon-button {
  display: inline-flex;
  width: 46px;
  min-width: 46px;
  padding: 0 !important;
  align-items: center;
  justify-content: center;
}

.workflow-document-icon-button svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.order-section-nav-button {
  min-height: 48px;
  font-size: 0.9rem;
}

.order-section-nav-button i {
  font-size: 1.08rem;
}

@media (max-width: 1024px) {
  .workflow-page .workflow-section-nav__button {
    font-size: 0.82rem;
    padding-inline: 7px;
  }

  .modern-workflow-nav-button {
    min-height: 48px;
    padding-inline: 8px;
    font-size: 0.86rem;
  }

  .modern-workflow-nav-button svg {
    width: 20px !important;
    height: 20px !important;
  }
}

@media (max-width: 600px) {
  .workflow-page .workflow-section-nav__button {
    min-height: 46px;
    font-size: 0.78rem;
  }

  .workflow-page .workflow-section-nav__button i {
    font-size: 1.05rem;
  }

  .modern-workflow-nav-button {
    min-height: 48px;
    font-size: 0.8rem;
  }

  .modern-workflow-nav-button svg {
    width: 19px !important;
    height: 19px !important;
  }
}
