.certificate-page { max-width: 1120px; margin: 0 auto; padding: 6px 0 36px; }
.certificate-heading { max-width: 720px; margin-bottom: 28px; }
.certificate-heading .eyebrow { margin: 0 0 12px; color: var(--muted, #65736d); font-size: 11px; font-weight: 650; letter-spacing: 2px; }
.certificate-heading h2 { margin: 0 0 12px; color: var(--ink, #23352e); font-size: clamp(27px, 3vw, 36px); font-weight: 650; letter-spacing: -.035em; }
.certificate-heading > p:last-child { margin: 0; color: var(--muted, #65736d); font-size: 15px; line-height: 1.8; }
.certificate-controls { display: flex; align-items: flex-start; gap: 14px; max-width: 740px; }
.certificate-name-field { flex: 1 1 0; min-width: 0; }
.certificate-name-field label { display: block; margin: 0 0 9px; color: var(--ink, #23352e); font-size: 14px; font-weight: 600; }
.certificate-name-field input { width: 100%; min-height: 45px; box-sizing: border-box; border: 1px solid var(--border-strong, #bcc8bf); border-radius: 7px; padding: 10px 13px; background: var(--surface, #fff); color: var(--ink, #23352e); font: inherit; font-size: 16px; }
.certificate-name-field input:focus-visible { outline: 2px solid var(--accent, #597c66); outline-offset: 3px; }
.certificate-name-field p { margin: 9px 0 0; color: var(--muted, #65736d); font-size: 12px; line-height: 1.7; }
.certificate-controls > button { flex: 0 0 auto; min-height: 45px; margin-top: 29px; }
.certificate-status { min-height: 20px; margin: 10px 0 17px; color: var(--muted, #65736d); font-size: 13px; line-height: 1.6; }
.certificate-status:empty { min-height: 0; margin: 0 0 23px; }
.certificate-status.is-error { color: var(--danger, #b05041); }
.certificate-preview { margin: 0; overflow: hidden; border: 1px solid #c4c9bc; border-radius: 3px; background: #fbfaf6; box-shadow: 0 12px 34px rgb(17 29 22 / 7%); color-scheme: light; }
.certificate-preview > svg { display: block; width: 100%; height: auto; }
.certificate-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.certificate-actions .btn { min-height: 44px; }
.certificate-locked { padding: 48px 24px; text-align: center; border: 1px solid var(--line, #d5dfd7); border-radius: 12px; background: var(--surface, #fff); }
.certificate-lock-mark { display: block; margin-bottom: 15px; color: var(--muted, #65736d); font-size: 34px; }
.certificate-locked h3 { margin: 0 0 11px; font-size: 21px; font-weight: 600; }
.certificate-locked p { max-width: 500px; margin: 0 auto; color: var(--muted, #65736d); font-size: 15px; line-height: 1.8; }
@media print {
  .certificate-controls, .certificate-actions, .certificate-status { display: none; }
  .certificate-preview { border: 0; box-shadow: none; }
}
.certificate-dialog { width: min(1180px, calc(100% - 40px)); max-width: 1180px; box-sizing: border-box; padding: 20px 24px 24px; border-radius: 14px; }
.certificate-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); height: min(960px, 94dvh); max-height: 94dvh; overflow: hidden; }
.certificate-dialog .dialog-tools { position: static; margin: 0; padding-bottom: 14px; border-bottom: 1px solid var(--line, #d5dfd7); }
.certificate-dialog #dialog-content { min-width: 0; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 26px 16px 12px; scroll-padding-block: 18px; scrollbar-gutter: stable; }
.certificate-dialog .dialog-close { border-radius: 50%; }

@media (max-width: 600px) {
  .certificate-dialog { width: calc(100% - 16px); padding: 14px 12px; border-radius: 12px; }
  .certificate-dialog[open] { height: 96dvh; max-height: 96dvh; }
  .certificate-dialog #dialog-content { padding: 22px 4px 12px; }
  .certificate-heading { margin-bottom: 23px; }
  .certificate-controls { flex-direction: column; gap: 11px; }
  .certificate-name-field { width: 100%; }
  .certificate-controls > button { margin-top: 0; }
  .certificate-actions { gap: 9px; }
  .certificate-actions .btn { flex: 1 1 auto; justify-content: center; }
  .certificate-preview { border-radius: 2px; }
}
