/* --------------------------------------------------------------------------
   7. Buttons
   -------------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: var(--radius-sm);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: filter 0.15s ease, background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
  white-space: nowrap;
  font-family: var(--font-body);
  text-decoration: none;
}

/* Standardbutton: flache, klare Fläche statt eines gewölbten/"gedrechselten"
   Looks - passt zu einer sachlichen Klinik-/Dispatch-Software. */
.btn--primary {
  background: var(--brass);
  color: #ffffff;
  border: 1px solid var(--brass-deep);
}

.btn--primary:hover {
  background: var(--brass-bright);
}

.btn--primary:active {
  transform: translateY(1px);
}

.btn--gold {
  background: var(--old-brass);
  color: #ffffff;
  border: 1px solid var(--old-brass-light);
  box-shadow: var(--shadow-card);
}

.btn--gold:hover {
  filter: brightness(1.08);
}

.btn--ghost {
  background: rgba(0, 0, 0, 0.18);
  color: var(--wood-text-muted);
  border: 1.5px solid var(--leather-edge);
}

.btn--ghost:hover {
  background: var(--brass-soft);
  color: var(--wood-text);
  border-color: var(--brass);
}

/* Generischer "aktiv/eingeschaltet"-Zustand für Umschalt-Buttons - deutlich
   als "Modus läuft" erkennbar, ohne eine neue Button-Farbvariante
   einzuführen. */
.btn--ghost.btn--aktiv {
  background: var(--brass-soft);
  border-color: var(--brass);
  color: var(--brass-bright);
}

.btn--danger {
  background: var(--status-danger);
  color: #ffffff;
}

.btn--danger:hover {
  filter: brightness(1.15);
}

/* Login-/Registrierungs-Formulare: derselbe flache Primärbutton-Look wie
   .btn--primary, nur etwas größer. */
.btn--wood-plank {
  position: relative;
  background: var(--brass);
  color: #ffffff;
  font-size: 14px;
  letter-spacing: 0.02em;
  border: 1px solid var(--brass-deep);
  box-shadow: var(--shadow-card);
  padding: 14px 22px;
}

.btn--wood-plank:hover {
  background: var(--brass-bright);
  transform: translateY(-1px);
}

.btn--wood-plank:active {
  transform: translateY(1px);
}

/* Google-Login-Knopf, dezent im übrigen Karten-Look statt weißem
   Standard-Google-Button - nur innerhalb des Login-Bereichs verwendet. */
.btn--google-rustic {
  background: var(--leather-700);
  color: var(--wood-text);
  border: 1.5px solid var(--leather-edge);
  box-shadow: var(--shadow-card);
}

.btn--google-rustic:hover {
  background: var(--leather-600);
  border-color: var(--brass);
}

.btn__google-icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.btn--sm {
  padding: 7px 14px;
  font-size: 11.5px;
}

.btn--full {
  width: 100%;
}

.icon-btn {
  width: 30px;
  height: 30px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  background: rgba(130, 170, 190, 0.1);
  color: var(--wood-text-muted);
  border: 1px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.icon-btn:hover {
  border-color: var(--brass);
  color: var(--brass-bright);
}

.icon-btn--delete:hover {
  border-color: var(--status-danger-bright);
  color: var(--status-danger-bright);
  background: var(--status-danger-soft);
}

.icon-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
