/* =============================================
   tore.at Account Console Theme (Keycloak 26 +
   Account Console v3 / React / PatternFly 5)
   ============================================= */

:root {
  --ink: #1B1C1C;
  --muted: #44474A;
  --border: #C5C6CB;
  --gray-ui: #A0A5AC;
  --page-bg: #F9F9F9;
  --sidebar-bg: #EFEDED;
  --white: #FFFFFF;
}

/* Seitenhintergrund */
body,
#app {
  background-color: var(--page-bg) !important;
  font-family: 'Lato', Arial, Helvetica, sans-serif !important;
  color: var(--ink) !important;
}

/* Top-Navigation (Masthead) */
.pf-v5-c-masthead {
  background-color: var(--white) !important;
  border-bottom: 1px solid var(--border) !important;
}

.pf-v5-c-page__header {
  background-color: var(--white) !important;
  border-bottom: 1px solid var(--border) !important;
}

.pf-v5-c-masthead__main img,
.pf-v5-c-brand.brand img {
  max-height: 40px !important;
}

/* Sidebar-Navigation */
.pf-v5-c-page__sidebar,
.pf-v5-c-nav,
.pf-v5-c-nav__list {
  background-color: var(--white) !important;
}

.pf-v5-c-page__sidebar {
  border-right: 1px solid var(--border) !important;
}

.pf-v5-c-nav__link {
  color: var(--muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 12px 24px !important;
  border-left: 3px solid transparent !important;
}

.pf-v5-c-nav__link:hover,
.pf-v5-c-nav__link:focus {
  color: var(--ink) !important;
  background-color: var(--sidebar-bg) !important;
}

.pf-v5-c-nav__link.pf-m-current {
  color: var(--ink) !important;
  font-weight: 700 !important;
  border-left-color: var(--gray-ui) !important;
  background-color: var(--sidebar-bg) !important;
}

/* Hauptinhalt */
.pf-v5-c-page__main,
.pf-v5-c-page__main-section {
  background-color: var(--page-bg) !important;
}

/* Karten / Abschnitte */
.pf-v5-c-card {
  background-color: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Überschriften */
.pf-v5-c-title {
  color: var(--ink) !important;
  font-family: 'Lato', Arial, Helvetica, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--ink) !important;
  font-family: 'Lato', Arial, Helvetica, sans-serif !important;
}

.pf-v5-c-page__main-section h1,
.pf-v5-c-title.pf-m-2xl,
.pf-v5-c-title.pf-m-3xl {
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}

/* Formulare */
.pf-v5-c-form__label,
.pf-v5-c-form__label-text {
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
}

.pf-v5-c-form-control,
input[type="text"],
input[type="password"],
input[type="email"] {
  background-color: var(--gray-ui) !important;
  border: none !important;
  color: var(--white) !important;
  border-radius: 0 !important;
  padding: 10px 16px !important;
}

.pf-v5-c-form-control::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Buttons */
.pf-v5-c-button.pf-m-primary {
  background-color: var(--gray-ui) !important;
  border: none !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px !important;
  border-radius: 0 !important;
  padding: 10px 24px !important;
}

.pf-v5-c-button.pf-m-primary:hover,
.pf-v5-c-button.pf-m-primary:focus {
  background-color: #898f9c !important;
  color: var(--white) !important;
}

.pf-v5-c-button.pf-m-secondary {
  background-color: transparent !important;
  border: 1px solid var(--border) !important;
  color: var(--muted) !important;
  border-radius: 0 !important;
}

.pf-v5-c-button.pf-m-danger {
  background-color: #e74c3c !important;
  border: none !important;
  color: var(--white) !important;
  border-radius: 0 !important;
}

.pf-v5-c-button.pf-m-link {
  color: var(--muted) !important;
  text-decoration: none !important;
}

.pf-v5-c-button.pf-m-link:hover {
  color: var(--ink) !important;
  text-decoration: underline !important;
}

/* Tabellen */
.pf-v5-c-table {
  border: 1px solid var(--border) !important;
  background-color: var(--white) !important;
}

.pf-v5-c-table thead th {
  background-color: var(--sidebar-bg) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  color: var(--ink) !important;
}

/* Alerts / Meldungen */
.pf-v5-c-alert {
  border-radius: 0 !important;
  border: 1px solid var(--border) !important;
}

.pf-v5-c-alert.pf-m-success {
  border-left: 4px solid #27ae60 !important;
}

.pf-v5-c-alert.pf-m-danger {
  border-left: 4px solid #e74c3c !important;
}

.pf-v5-c-alert.pf-m-warning {
  border-left: 4px solid #f39c12 !important;
}

/* Lade-Spinner der Account Console */
.keycloak__loading-container {
  font-family: 'Lato', Arial, Helvetica, sans-serif !important;
  background-color: var(--page-bg) !important;
  color: var(--ink) !important;
}

/* Links */
a {
  color: var(--muted) !important;
  text-decoration: none !important;
}

a:hover {
  text-decoration: underline !important;
  color: var(--ink) !important;
}