:root {
  --gruen: #6ab82e;
  --gruen-dunkel: #3a6b10;
  --gruen-soft: #eef7e3;
  --gruen-mid: #c6e89f;
  --gruen-satt: #5aa020;
  --ink: #1a1f16;
  --ink-soft: #3d4439;
  --muted: #6b7566;
  --border: #d8e4cc;
  --bg: #ffffff;
  --bg-warm: #f7faf4;
  --shadow-sm: 0 2px 12px rgba(26, 31, 22, 0.07);
  --shadow-md: 0 8px 32px rgba(26, 31, 22, 0.12);
  --r: 16px;
}

body {
  font-family: 'Ubuntu', sans-serif;
  background: var(--bg-warm);
  color: var(--ink);
}

.mailadmin-app {
  border-top: 4px solid var(--gruen);
}

.mailadmin-sidebar {
  background: #fff;
  border-right: 1px solid var(--border) !important;
}

.mailadmin-sidebar h5 {
  color: var(--gruen-dunkel);
  font-weight: 700;
}

.mailadmin-sidebar .nav-link {
  color: var(--ink-soft);
  border-radius: 10px;
  padding: 0.55rem 0.8rem;
  font-weight: 500;
}

.mailadmin-sidebar .nav-link:hover {
  background: var(--gruen-soft);
  color: var(--gruen-dunkel);
}

.mailadmin-main {
  background: transparent;
}

.card {
  border: 1px solid var(--border);
  border-radius: var(--r);
  box-shadow: var(--shadow-sm);
}

.form-narrow {
  max-width: 760px;
}

.form-narrow-sm {
  max-width: 620px;
}

.btn-primary {
  background: var(--gruen);
  border-color: var(--gruen);
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--gruen-satt);
  border-color: var(--gruen-satt);
}

.btn-outline-primary {
  color: var(--gruen-dunkel);
  border-color: var(--gruen-mid);
}

.btn-outline-primary:hover {
  background: var(--gruen-soft);
  color: var(--gruen-dunkel);
  border-color: var(--gruen);
}

.form-control,
.form-select {
  border-color: var(--border);
  border-radius: 10px;
  background: #fff;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--gruen);
  box-shadow: 0 0 0 0.2rem rgba(106, 184, 46, 0.15);
}

.table {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
}

.mailadmin-prewrap {
  white-space: pre-wrap;
  word-break: break-word;
}

.table thead th {
  background: var(--gruen-soft);
  color: var(--ink-soft);
  border-bottom-color: var(--border);
}

.badge.bg-success {
  background: var(--gruen) !important;
}

.badge.bg-secondary {
  background: #93a08e !important;
}

.alert-success {
  background: var(--gruen-soft);
  border-color: var(--gruen-mid);
  color: var(--gruen-dunkel);
}

.login-wrap {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f7faf4 0%, #eef7e3 48%, #f9fcf6 100%);
}

.login-card {
  width: min(460px, 92vw);
  border-radius: 20px;
  z-index: 2;
}

.login-badge {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--gruen-soft);
  color: var(--gruen-dunkel);
  font-size: 0.82rem;
  font-weight: 700;
}

.login-bg-shape {
  position: absolute;
  border-radius: 999px;
  z-index: 1;
}

.login-bg-shape-a {
  width: 360px;
  height: 360px;
  background: radial-gradient(circle at 30% 30%, #bde091 0%, #a9d876 45%, transparent 72%);
  top: -120px;
  right: -80px;
}

.login-bg-shape-b {
  width: 320px;
  height: 320px;
  background: radial-gradient(circle at 60% 60%, #d8edbb 0%, #c7e7a1 45%, transparent 72%);
  bottom: -110px;
  left: -90px;
}

@media (min-width: 768px) {
  .mailadmin-sidebar {
    flex: 0 0 260px;
    max-width: 260px;
  }

  .mailadmin-main {
    flex: 1 1 auto;
    max-width: calc(100% - 260px);
  }
}
