 .dm-overlay { position: fixed; inset: 0; z-index: 4000; display: flex; align-items: center; justify-content: center; padding: 24px;
    background: rgba(11,17,34,.55); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s ease; }
  .dm-overlay.open { opacity: 1; visibility: visible; }
  .dm-card { position: relative; width: min(900px, 100%); max-height: calc(100vh - 48px); overflow: hidden;
    background: var(--surface, #fff); border-radius: 20px; box-shadow: 0 40px 90px -30px rgba(11,17,34,.55);
    transform: translateY(14px) scale(.985); opacity: .6; transition: transform .26s cubic-bezier(.22,1,.36,1), opacity .26s; }
  .dm-overlay.open .dm-card { transform: none; opacity: 1; }
  .dm-grid { display: grid; grid-template-columns: 0.86fr 1fr; max-height: calc(100vh - 48px); }

  /* Left — attention metadata */
  .dm-meta { position: relative; padding: 34px 32px; color: #EAF0FF; overflow: hidden;
    background: linear-gradient(155deg, #102A6B 0%, #0B1330 100%); }
  .dm-meta::before { content: ""; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(420px 240px at 88% -10%, rgba(54,169,104,.34), transparent 62%),
                radial-gradient(420px 260px at 8% 110%, rgba(91,130,240,.36), transparent 60%); }
  .dm-meta > * { position: relative; }
  .dm-eyebrow { font-family: var(--f-mono, monospace); font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #8FB0FF; }
  .dm-meta h2 { font-family: var(--f-display, sans-serif); font-size: 27px; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; margin: 12px 0 0; color: #fff; }
  .dm-lead { font-size: 14px; line-height: 1.55; color: #B9C6E6; margin-top: 12px; }
  .dm-points { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
  .dm-points li { display: flex; gap: 11px; align-items: flex-start; }
  .dm-pchk { width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0; margin-top: 1px; display: flex; align-items: center; justify-content: center;
    background: rgba(54,169,104,.18); color: #5FE0A0; }
  .dm-pchk svg { width: 12px; height: 12px; }
  .dm-ptx b { display: block; font-size: 13.5px; font-weight: 600; color: #fff; }
  .dm-ptx span { display: block; font-size: 12.5px; color: #9FB0D6; line-height: 1.45; margin-top: 1px; }
  .dm-stats { display: flex; gap: 22px; margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); }
  .dm-stat-v { font-family: var(--f-display, sans-serif); font-size: 21px; font-weight: 700; color: #fff; letter-spacing: -.02em; line-height: 1; white-space: nowrap; }
  .dm-stat-k { font-size: 11px; color: #94A6CC; margin-top: 5px; }
  .dm-trust { margin-top: 22px; font-family: var(--f-mono, monospace); font-size: 10.5px; letter-spacing: .04em; color: #7C8DB5; line-height: 1.7; }

  /* Right — form */
  .dm-formwrap { position: relative; padding: 32px 32px 28px; overflow-y: auto; }
  .dm-fhead h3 { font-family: var(--f-display, sans-serif); font-size: 20px; font-weight: 600; letter-spacing: -.02em; color: var(--ink, #0B1122); }
  .dm-fhead p { font-size: 13px; color: var(--muted, #6B7280); margin-top: 5px; }
  .dm-form { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 13px 14px; }
  .dm-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
  .dm-full { grid-column: 1 / -1; }
  .dm-field label { font-size: 12.5px; font-weight: 600; color: var(--ink, #0B1122); }
  .dm-field label .rq { color: var(--primary, #1542D3); margin-left: 2px; }
  .dm-field label .op { color: var(--faint, #9AA3B2); font-weight: 400; margin-left: 3px; }
  .dm-ctl { appearance: none; width: 100%; font-family: inherit; font-size: 14px; color: var(--ink, #0B1122);
    background: var(--surface, #fff); border: 1px solid var(--line, #E2E6EE); border-radius: 10px; padding: 11px 13px; outline: none;
    transition: border-color .15s, box-shadow .15s; }
  .dm-ctl::placeholder { color: var(--faint, #9AA3B2); }
  .dm-ctl:focus { border-color: var(--primary, #1542D3); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #1542D3) 14%, transparent); }
  select.dm-ctl { cursor: pointer; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%237B86A1' d='M1 1l5 5 5-5'/></svg>"); background-repeat: no-repeat; background-position: right 13px center; padding-right: 34px; }
  textarea.dm-ctl { resize: vertical; min-height: 58px; line-height: 1.5; }
  .dm-submit { margin-top: 2px; width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font-family: inherit; font-size: 15px; font-weight: 600; color: #fff; cursor: pointer;
    background: var(--primary, #1542D3); border: none; border-radius: 11px; padding: 14px 22px; transition: background .15s, transform .12s; }
  .dm-submit:hover { background: var(--primary-strong, #0F36B0); }
  .dm-submit:active { transform: translateY(1px); }
  .dm-privacy { display: flex; gap: 7px; align-items: flex-start; margin-top: 10px; font-size: 11.5px; color: var(--muted, #6B7280); line-height: 1.5; }
  .dm-privacy svg { width: 14px; height: 14px; color: var(--green-strong, #1F8A5B); flex-shrink: 0; margin-top: 1px; }

  /* Close */
  .dm-close { position: absolute; top: 14px; right: 14px; z-index: 3; width: 34px; height: 34px; border-radius: 9px; cursor: pointer;
    display: flex; align-items: center; justify-content: center; border: 1px solid var(--line, #E2E6EE); background: rgba(255,255,255,.92); color: var(--body, #3A4252);
    transition: background .15s, color .15s, transform .15s; }
  .dm-close:hover { background: #fff; color: var(--ink, #0B1122); transform: rotate(90deg); }
  .dm-close svg { width: 17px; height: 17px; }

  /* Success */
  .dm-success { display: none; flex-direction: column; align-items: center; text-align: center; padding: 30px 20px; min-height: 320px; justify-content: center; }
  .dm-success.show { display: flex; }
  .dm-success .ic { width: 58px; height: 58px; border-radius: 50%; background: var(--green-tint, #E3F4EB); color: var(--green-strong, #1F8A5B);
    display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
  .dm-success .ic svg { width: 30px; height: 30px; }
  .dm-success h3 { font-family: var(--f-display, sans-serif); font-size: 21px; font-weight: 600; color: var(--ink, #0B1122); }
  .dm-success p { font-size: 14px; color: var(--body, #3A4252); line-height: 1.6; margin-top: 8px; max-width: 320px; }

  body.dm-lock { overflow: hidden; }

  @media (max-width: 720px) {
    .dm-overlay { padding: 0; align-items: stretch; }
    .dm-card { width: 100%; max-height: 100vh; border-radius: 0; }
    .dm-grid { grid-template-columns: 1fr; max-height: 100vh; overflow-y: auto; }
    .dm-meta { padding: 26px 24px; }
    .dm-meta h2 { font-size: 23px; }
    .dm-points { gap: 11px; }
    .dm-formwrap { padding: 24px; }
    .dm-form { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 420px) {
    .dm-form { grid-template-columns: 1fr; }
  }
  @media (prefers-reduced-motion: reduce) {
    .dm-overlay, .dm-card { transition: none; }
  }