.fw-app-dialog {
  width: min(480px, calc(100vw - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
  padding: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid #dce3e9; border-radius: 16px;
  background: #fff; color: #142334; color-scheme: light; font: 14px/1.5 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-shadow: 0 24px 80px rgba(7, 19, 33, .3);
}
.fw-app-dialog::backdrop { background: rgba(7, 19, 33, .45); backdrop-filter: blur(3px); }
.fw-app-dialog form { margin: 0; }
.fw-app-dialog-heading { display: flex; align-items: center; gap: 12px; padding: 22px 22px 0; }
.fw-app-dialog-icon { display: grid; flex-shrink: 0; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #fff2e8; color: #b84a12; }
.fw-app-dialog-heading > div { min-width: 0; flex: 1; }
.fw-app-dialog-brand { color: #b84a12; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fw-app-dialog h2 { margin: 2px 0 0; color: #142334; font-size: 21px; line-height: 1.25; letter-spacing: -.025em; }
.fw-app-dialog button { min-height: 44px; padding: 9px 16px; border: 1px solid #dce3e9; border-radius: 8px; background: #fff; color: #35475a; font: inherit; font-weight: 700; cursor: pointer; }
.fw-app-dialog button:hover { background: #f5f7f9; }
.fw-app-dialog button.fw-app-dialog-close { display: grid; flex-shrink: 0; width: 44px; padding: 0; place-items: center; border-color: transparent; color: #657386; }
.fw-app-dialog-body { padding: 18px 22px 22px; }
.fw-app-dialog-body p { margin: 0 0 18px; color: #657386; overflow-wrap: anywhere; }
.fw-app-dialog-body p:last-child { margin-bottom: 0; }
.fw-app-dialog-field { display: grid; gap: 8px; color: #35475a; font-weight: 650; }
.fw-app-dialog-field input, .fw-app-dialog-field textarea { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #cbd7de; border-radius: 8px; background: #fff; color: #142334; -webkit-text-fill-color: #142334; font: inherit; font-size: 16px; font-weight: 400; caret-color: #b84a12; }
.fw-app-dialog-field textarea { resize: vertical; }
.fw-app-dialog :is(input, textarea, button):focus-visible { outline: 2px solid #b84a12; outline-offset: 3px; }
.fw-app-dialog-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.fw-app-dialog-tags span { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 4px 9px; border: 1px solid #f0d7c3; border-radius: 6px; background: #fff6ef; color: #963b0e; font-size: 12px; overflow-wrap: anywhere; }
.fw-app-dialog-tags svg { flex-shrink: 0; }
.fw-app-dialog-body p.fw-app-dialog-error { margin: 10px 0 0; color: #ab362d; font-size: 13px; }
.fw-app-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 22px; border-top: 1px solid #e8edf0; background: #f7f9fb; }
.fw-app-dialog button.fw-app-dialog-submit { border-color: #b84a12; background: #b84a12; color: #fff; }
.fw-app-dialog button.fw-app-dialog-submit:hover { background: #963b0e; }
.fw-app-dialog button.danger { border-color: #ab362d; background: #ab362d; }
.fw-app-dialog button.danger:hover { background: #8b2b24; }
.fw-app-dialog button:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 480px) {
  .fw-app-dialog-heading { padding: 18px 16px 0; gap: 9px; }
  .fw-app-dialog h2 { font-size: 19px; }
  .fw-app-dialog-body { padding: 16px; }
  .fw-app-dialog-actions { padding: 14px 16px; flex-wrap: wrap; }
}
