/* DMD2 Extranet — Login + Dashboard */
.dmd2ext-wrap { max-width: 920px; margin: 32px auto; padding: 0 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #2C2C2A; }

/* Login card */
.dmd2ext-login { max-width: 440px; }
.dmd2ext-wrap .dmd2ext-card { background: #fff !important; border: 1px solid #E0DDD0 !important;
  border-radius: 12px !important; padding: 28px 26px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04) !important; }
.dmd2ext-h1 { font-size: 22px; font-weight: 600; margin: 0 0 6px; }
.dmd2ext-sub { font-size: 14px; color: #6B6A64; line-height: 1.5; margin: 0 0 18px; }
.dmd2ext-label { display: block; font-size: 12px; font-weight: 600; margin: 12px 0 4px;
  text-transform: uppercase; letter-spacing: .04em; color: #8B8975; }
.dmd2ext-wrap .dmd2ext-input {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  color: #2C2C2A !important;
  border: 1px solid #C8C6B2 !important;
  border-radius: 8px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.dmd2ext-wrap .dmd2ext-input:focus { outline: none !important; border-color: #ABA285 !important;
  box-shadow: 0 0 0 2px rgba(171,162,133,.2) !important; }
.dmd2ext-wrap .dmd2ext-code { font-size: 26px !important; letter-spacing: 8px !important;
  text-align: center !important; font-weight: 600 !important; }
/* Buttons: Theme-Styles (abgerundete DMD2-Pillen) mit !important übersteuern,
   schlichter Voices-Stil (gerade, leicht gerundet). */
.dmd2ext-wrap .dmd2ext-btn {
  display: inline-block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 14px 0 0 !important;
  padding: 13px 26px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: center !important;
  text-decoration: none !important;
  color: #fff !important;
  background: #ABA285 !important;
  background-image: none !important;
  border: 2px solid #ABA285 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: opacity .15s !important;
}
.dmd2ext-wrap .dmd2ext-btn:hover { opacity: .85 !important; background: #ABA285 !important; }
.dmd2ext-wrap .dmd2ext-btn:disabled { opacity: .5 !important; cursor: default !important; }

.dmd2ext-wrap .dmd2ext-btn-link {
  display: inline-block !important;
  width: auto !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  background: none !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: #8B8975 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.dmd2ext-wrap .dmd2ext-btn-link:hover { color: #6B6A64 !important; }

/* Umriss-Button (z.B. Abmelden) — als Button erkennbar, aber dezent */
.dmd2ext-wrap .dmd2ext-btn-outline {
  display: inline-block !important;
  width: auto !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 8px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-align: center !important;
  color: #6B6A64 !important;
  background: #fff !important;
  background-image: none !important;
  border: 1.5px solid #C8C6B2 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: background .15s, border-color .15s !important;
}
.dmd2ext-wrap .dmd2ext-btn-outline:hover {
  background: #F1EFE8 !important;
  border-color: #ABA285 !important;
  color: #2C2C2A !important;
}
.dmd2ext-msg { margin-top: 14px; font-size: 14px; min-height: 20px; }
.dmd2ext-msg.ok  { color: #0F6E56; }
.dmd2ext-msg.err { color: #B4232A; }

/* Dashboard */
.dmd2ext-topbar { display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 20px; }
.dmd2ext-greet { font-size: 15px; color: #4A4A45; }
.dmd2ext-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px; margin-top: 14px; }
.dmd2ext-wrap .dmd2ext-app { display: block !important; background: #fff !important;
  border: 1px solid #E0DDD0 !important; border-radius: 12px !important;
  padding: 22px 20px !important; text-decoration: none !important; color: inherit !important;
  box-shadow: none !important; transition: box-shadow .15s, transform .15s !important; }
.dmd2ext-wrap .dmd2ext-app:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08) !important;
  transform: translateY(-2px) !important; text-decoration: none !important; }
.dmd2ext-app-icon { font-size: 30px; margin-bottom: 10px; }
.dmd2ext-app-title { font-size: 16px; font-weight: 600; margin-bottom: 3px; }
.dmd2ext-app-sub { font-size: 13px; color: #8B8975; }

/* v0.3.3 — App-Gruppen */
.dmd2ext-group-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 12px; margin: 24px 0 12px; flex-wrap: wrap;
}
.dmd2ext-group-title {
  font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
  color: #8B8975; margin: 0;
}
.dmd2ext-group-help {
  font-size: 13px; font-weight: 600; color: #ABA285; text-decoration: none;
  white-space: nowrap;
}
.dmd2ext-group-help:hover { color: #8B8975; text-decoration: underline; }
