:root{
  --motion-fast:150ms;
  --motion-base:220ms;
  --motion-slow:420ms;
  --ease-standard:cubic-bezier(.4,0,.2,1);
  --ease-emphasized:cubic-bezier(.2,0,0,1);
}

.mv-modal-host{position:fixed; inset:0; z-index:2147483646; display:none; align-items:center; justify-content:center; padding:24px;}
.mv-modal-host[data-open="1"]{display:flex;}

.mv-modal-backdrop{position:absolute; inset:0; background:rgba(2,6,23,.62); backdrop-filter: blur(12px); opacity:0; transition: opacity var(--motion-base) var(--ease-standard);}
.mv-modal-host[data-open="1"] .mv-modal-backdrop{opacity:1;}

.mv-modal-card{
  position:relative;
  width:min(860px, 100%);
  max-height:min(86vh, 920px);
  overflow:auto;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(15,23,42,.78);
  backdrop-filter: blur(14px);
  box-shadow: 0 28px 70px rgba(0,0,0,.45);
  color:#e2e8f0;
  transform: scale(.96);
  opacity:0;
  transition: transform var(--motion-base) var(--ease-emphasized), opacity var(--motion-base) var(--ease-standard);
}

.mv-modal-host[data-open="1"] .mv-modal-card{transform: scale(1); opacity:1;}

.mv-modal-x{position:absolute; top:10px; right:10px; width:36px; height:36px; border-radius:12px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:rgba(226,232,240,.92); transition: transform var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);}
.mv-modal-x:hover{transform: translateY(-1px); background:rgba(255,255,255,.10);}
.mv-modal-x:active{transform: translateY(0) scale(.99);}

.mv-modal-top{display:flex; gap:14px; padding:22px 22px 0 22px; align-items:flex-start;}
.mv-modal-ico{width:22px; height:22px; margin-top:2px;}
.mv-modal-h{font-size:16px; font-weight:800; letter-spacing:.01em;}
.mv-modal-t{margin-top:10px; font-size:14px; line-height:1.6; color:rgba(226,232,240,.88); white-space:pre-line;}

.mv-modal-actions{display:flex; gap:10px; justify-content:flex-end; padding:22px; position:sticky; bottom:0; background:linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.92) 40%); backdrop-filter: blur(10px);}
.mv-modal-btn{border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:#e2e8f0; border-radius:14px; padding:10px 14px; font-weight:700; font-size:13px; transition: transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);}
.mv-modal-btn:hover{transform: translateY(-1px); background:rgba(255,255,255,.10);}
.mv-modal-btn:active{transform: translateY(0) scale(.99);}

.mv-modal-btn-primary{border:0; background:linear-gradient(135deg, rgba(109,40,217,.95), rgba(37,99,235,.95)); box-shadow:0 18px 46px rgba(109,40,217,.22);} 
.mv-modal-btn-danger{border:0; background:linear-gradient(135deg, rgba(239,68,68,.95), rgba(244,63,94,.95)); box-shadow:0 18px 46px rgba(239,68,68,.18);} 

@media (prefers-reduced-motion: reduce){
  .mv-modal-backdrop, .mv-modal-card{transition:none;}
  .mv-modal-btn{transition:none;}
}

@media (max-width: 520px){
  .mv-modal-host{padding:14px;}
  .mv-modal-card{width:100%; max-height:88vh;}
  .mv-modal-top{padding:18px 18px 0 18px;}
  .mv-modal-actions{padding:18px;}
}
