
.dm-overlay{display:none;position:fixed;inset:0;z-index:10000;background:rgba(11,31,58,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;animation:dm-fade .2s ease-out}
.dm-overlay.open{display:flex}
@keyframes dm-fade{from{opacity:0}to{opacity:1}}
.dm-dialog{background:#fff;border-radius:16px;width:100%;max-width:720px;box-shadow:0 30px 80px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.15);position:relative;overflow:hidden;animation:dm-slide .28s cubic-bezier(.4,0,.2,1);margin:auto 0}
@keyframes dm-slide{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.dm-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;z-index:2;transition:background .15s;font-family:inherit}
.dm-close:hover{background:rgba(255,255,255,.3)}
.dm-header{background:linear-gradient(135deg,var(--navy) 0%,#1a3659 100%);padding:34px 40px 28px;color:#fff;position:relative;overflow:hidden}
.dm-header::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(19,168,180,.25) 0,transparent 50%);pointer-events:none}
.dm-body{padding:30px 40px 20px}
.dm-consent{margin:8px 0 20px;padding:14px;background:var(--off-white);border-radius:8px}
.dm-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding-top:4px}
.dm-status{margin-top:14px;padding:10px 14px;border-radius:6px;font-size:.85rem;display:none}
.dm-status.error{display:block;background:#fff0f0;color:#922;border:1px solid #e8b2b2}
.dm-success{display:none;padding:60px 40px;text-align:center;flex-direction:column;align-items:center}
.dm-success.show{display:flex}
.dm-success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:0 10px 30px rgba(39,174,96,.3)}
@media(max-width:600px){
  .dm-overlay{padding:0}
  .dm-dialog{border-radius:0;max-width:100%;min-height:100vh}
  .dm-header{padding:50px 24px 24px}
  .dm-body{padding:24px}
  .dm-actions{flex-direction:column-reverse;align-items:stretch}
  .dm-actions button{width:100%}
  .form-row{grid-template-columns:1fr!important}
}
