.app-dialog-backdrop{z-index:1350}
.app-dialog-card{width:min(520px,100%);padding:0;overflow:hidden;border:1px solid var(--line);border-top:5px solid var(--brand);box-shadow:0 28px 90px rgba(0,0,0,.30)}
body.theme-admin .app-dialog-card{border-top-color:#8a3047}
body.theme-parent .app-dialog-card{border-top-color:#1769aa}
.app-dialog-head{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:start;padding:22px 22px 14px}
.app-dialog-head h2{margin:3px 0 6px;font-size:23px;line-height:1.15}
.app-dialog-head p{margin:0;color:var(--muted);line-height:1.55}
.app-dialog-eyebrow{opacity:1!important;color:var(--brand)!important}
body.theme-admin .app-dialog-eyebrow{color:#8a3047!important}
body.theme-parent .app-dialog-eyebrow{color:#1769aa!important}
.app-dialog-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;font-size:24px;font-weight:900}
.app-dialog-icon.is-primary{background:var(--brand-soft);color:var(--brand)}
body.theme-admin .app-dialog-icon.is-primary{background:#f5dfe5;color:#8a3047}
body.theme-parent .app-dialog-icon.is-primary{background:#e8f2fa;color:#1769aa}
.app-dialog-icon.is-danger{background:var(--danger-soft);color:var(--danger)}
.app-dialog-field{margin:2px 22px 4px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.app-dialog-field .input{min-height:48px;background:#fff}
.app-dialog-footer{margin:0;padding:16px 22px 20px;justify-content:flex-end;background:#fff}
.app-dialog-footer .btn{min-width:126px}

/* Trainingsabmeldung: bewusst derselbe Dialogstil wie in der restlichen App. */
.training-absence-modal{width:min(520px,100%);padding:0;overflow:hidden;border:1px solid var(--line);border-top:5px solid #1769aa;box-shadow:0 28px 90px rgba(0,0,0,.30)}
.training-absence-modal .consent-modal-head{margin:0;padding:22px 22px 14px;background:linear-gradient(180deg,#f7fbff,#fff)}
.training-absence-modal .consent-modal-head h2{font-size:23px;line-height:1.15;margin:3px 0 6px}
.training-absence-modal .consent-modal-head p{font-size:14px;color:var(--muted)}
.training-absence-modal>.training-absence-intro{margin:0;padding:4px 22px 0;color:var(--muted)}
.training-absence-modal>.field{margin:14px 22px 0!important;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.training-absence-modal>.field .input{min-height:50px;background:#fff;font-size:15px}
.training-absence-modal>.notice{margin:4px 22px 0}
.training-absence-modal>.help{display:block;margin:10px 22px 0}
.training-absence-modal .consent-modal-footer{margin:16px 0 0;padding:16px 22px 20px;background:#fff;justify-content:flex-end}
.training-absence-modal .consent-modal-footer .btn{min-width:150px}

@media(max-width:640px){
  .app-dialog-backdrop,.training-absence-modal-backdrop{padding:10px}
  .app-dialog-card,.training-absence-modal{border-radius:18px}
  .app-dialog-head{grid-template-columns:46px minmax(0,1fr);padding:18px 16px 12px;gap:11px}
  .app-dialog-icon{width:42px;height:42px;border-radius:13px;font-size:21px}
  .app-dialog-head h2,.training-absence-modal .consent-modal-head h2{font-size:21px}
  .app-dialog-field{margin:2px 16px 4px;padding:13px}
  .app-dialog-footer{display:grid;grid-template-columns:1fr;padding:14px 16px 16px}
  .app-dialog-footer .btn{width:100%}
  .training-absence-modal .consent-modal-head{padding:18px 16px 12px}
  .training-absence-modal>.training-absence-intro{padding:4px 16px 0}
  .training-absence-modal>.field{margin:12px 16px 0!important;padding:13px}
  .training-absence-modal>.notice{margin:4px 16px 0}
  .training-absence-modal>.help{margin:10px 16px 0}
  .training-absence-modal .consent-modal-footer{display:grid;grid-template-columns:1fr;padding:14px 16px 16px;gap:8px}
  .training-absence-modal .consent-modal-footer .btn{width:100%}
}
