.resume-dialog {
  width:min(440px, calc(100vw - 32px));
  max-height:calc(100dvh - 32px);
  padding:0;
  border:0;
  border-radius:24px;
  background:#fff;
  color:#1c2530;
  box-shadow:0 24px 80px rgba(8,31,51,.26);
}
.resume-dialog::backdrop { background:rgba(12,25,39,.55); backdrop-filter:blur(5px); }
.resume-dialog-content { padding:34px; }
.resume-dialog-close { position:absolute; top:15px; right:17px; width:32px; height:32px; border:0; border-radius:50%; background:#f0f3f6; color:#334; font-size:24px; line-height:1; cursor:pointer; }
.resume-dialog-eyebrow { margin:0 0 12px; color:#3D7F38; font:600 11px Poppins,sans-serif; letter-spacing:.17em; }
.resume-dialog h2 { margin:0 0 12px; font:700 27px/1.3 "Noto Sans SC",sans-serif; }
.resume-dialog #resume-dialog-description { margin:0 0 27px; color:#607080; font-size:14px; line-height:1.7; }
.resume-password-form label { display:block; margin-bottom:9px; font-size:13px; font-weight:700; }
.resume-password-row { display:flex; gap:9px; }
.resume-password-row input { min-width:0; flex:1; height:46px; padding:0 13px; border:1px solid #cdd6df; border-radius:9px; color:#1c2530; font:inherit; outline:none; }
.resume-password-row input:focus { border-color:#3D7F38; box-shadow:0 0 0 3px rgba(61,127,56,.15); }
.resume-password-row button { flex:none; padding:0 17px; border:0; border-radius:9px; background:#3D7F38; color:white; font:600 13px "Noto Sans SC",sans-serif; cursor:pointer; }
.resume-password-row button:hover { background:#266622; }
.resume-password-row button:disabled { opacity:.6; cursor:wait; }
.resume-password-status { min-height:20px; margin:8px 0 0; color:#ae3535; font-size:12px; }
.resume-qr-contact { margin-top:18px; padding-top:22px; border-top:1px solid #e7edf1; text-align:center; }
.resume-qr-frame { width:220px; height:220px; max-width:100%; margin:auto; display:grid; place-items:center; border:1px solid #dce4eb; border-radius:10px; background:#fff; overflow:hidden; }
.resume-qr-frame[hidden], .resume-qr-instruction[hidden], .resume-contact-email[hidden] { display:none; }
.resume-qr-image { width:100%; height:100%; object-fit:contain; }
.resume-qr-contact p { margin:11px 0 0; color:#617282; font-size:12px; }
.resume-contact-email { color:#3D7F38; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:480px) { .resume-dialog-content { padding:27px 20px; } }
