/* EDA v7.2.13G.47 — isolated certificate designer only.
   Deliberately does not alter public-site or global modal behavior. */

/* Certificate designer */
.modal.g47-certificate-designer .modal-card{width:min(1240px,98vw)!important;max-height:95vh}
.modal.g47-certificate-designer #modalBody{padding:0!important}
.g47-cert-shell{display:grid;grid-template-columns:minmax(430px,.88fr) minmax(500px,1.12fr);min-height:680px}
.g47-cert-controls{padding:22px;overflow:auto;max-height:calc(95vh - 72px);background:#fff}
.g47-cert-preview-pane{padding:22px;background:linear-gradient(145deg,#eef4f7,#f8fafb);border-left:1px solid #dde7ed;overflow:auto;max-height:calc(95vh - 72px)}
.g47-cert-preview-sticky{position:sticky;top:0}
.g47-cert-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.g47-cert-toolbar h4{margin:0;font-size:1.05rem;color:#12324a}.g47-cert-toolbar span{display:block;margin-top:3px;font-size:.74rem;color:#718491}
.g47-cert-section{border:1px solid #dfe8ee;border-radius:16px;background:#fff;margin-bottom:14px;overflow:hidden}
.g47-cert-section>header{padding:13px 15px;background:#f7fafb;border-bottom:1px solid #e7edf1}.g47-cert-section>header strong{display:block;color:#17384d}.g47-cert-section>header small{display:block;color:#758895;margin-top:2px}
.g47-cert-section-body{padding:15px}
.g47-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.g47-template-card{border:1px solid #d9e4eb;border-radius:12px;background:#fff;padding:11px;text-align:left;cursor:pointer;color:#27475b}
.g47-template-card strong,.g47-template-card span{display:block}.g47-template-card span{font-size:.68rem;color:#7b8d98;margin-top:3px}.g47-template-card.selected{border-color:#2c769f;background:#edf7fc;box-shadow:inset 0 0 0 1px #2c769f}
.g47-design-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:12px}
.g47-color-control{display:grid;grid-template-columns:58px 1fr;gap:8px}.g47-color-control input[type=color]{padding:3px;min-height:44px}

.g47-signature-slot{border:1px solid #dfe8ee;border-radius:14px;padding:13px;margin-top:11px;background:#fbfdfe}
.g47-signature-slot.disabled{opacity:.58}.g47-signature-slot-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.g47-signature-slot-head label{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:7px}.g47-signature-slot-head input[type=checkbox]{width:auto;min-height:0}
.g47-cert-sign-canvas{display:block;width:100%;height:120px;border:1.5px solid #cbdbe5;border-radius:12px;background:#fff;touch-action:none;margin-top:9px}
.g47-sign-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}

.g47-preview-frame{background:#fff;border-radius:14px;box-shadow:0 12px 36px rgba(18,50,74,.12);overflow:hidden;border:1px solid #d9e3e9}
.g47-preview-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.g47-preview-label strong{color:#12324a}.g47-preview-label span{font-size:.72rem;color:#738794}
.g47-cert-preview-scale{padding:16px;overflow:auto}
.g47-cert-paper{width:100%;aspect-ratio:11/8.5;min-width:600px;background:#fff;position:relative;box-sizing:border-box;color:#183348;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:4.5% 6%;font-family:Georgia,'Times New Roman',serif;overflow:hidden}
.g47-cert-paper.classic_ems{border:8px double var(--cert-accent,#12324a)}
.g47-cert-paper.formal{border:10px double var(--cert-accent,#12324a);outline:2px solid var(--cert-accent,#12324a);outline-offset:-18px}
.g47-cert-paper.clean_modern{border:1px solid #cedbe3;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;padding-top:7%}
.g47-cert-paper.clean_modern:before{content:'';position:absolute;left:0;right:0;top:0;height:18px;background:var(--cert-accent,#12324a)}
.g47-cert-watermark{position:absolute;inset:15% 25%;background:url('logo-watermark.png') center/contain no-repeat;opacity:.055;pointer-events:none}
.g47-cert-logo{max-height:62px;max-width:240px;object-fit:contain;margin:0 auto 10px;display:block}
.g47-cert-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--cert-accent,#12324a)}
.g47-cert-title{font-size:28px;font-weight:800;margin:9px 0 2px;color:#122f44}.g47-cert-subtitle{font-size:13px;color:#627887;margin-bottom:10px}
.g47-cert-name{font-size:34px;line-height:1.1;margin:13px auto 14px;padding:0 24px 6px;border-bottom:1px solid #81919b;display:inline-block;color:#102c42}
.g47-cert-body{font-size:14px;line-height:1.55;max-width:88%;margin:0 auto;color:#334e60}.g47-cert-date{font-size:14px;font-weight:800;margin-top:13px;color:#17384d}
.g47-cert-signatures{display:grid;grid-template-columns:repeat(var(--sig-count,2),minmax(0,1fr));gap:8%;margin:24px auto 8px;width:82%}.g47-cert-signature{min-width:0}.g47-cert-signature svg{display:block;width:100%;height:48px;overflow:visible}.g47-cert-sign-line{border-top:1px solid #516873;padding-top:5px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}.g47-cert-sign-line strong,.g47-cert-sign-line span{display:block}.g47-cert-sign-line strong{font-size:11px}.g47-cert-sign-line span{font-size:9px;color:#6b7f8c;margin-top:2px}
.g47-cert-footer{font:9px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:#5d7280;margin-top:8px}.g47-cert-disclaimer{font-weight:800;letter-spacing:.05em;color:#203f53;margin-top:5px}
.g47-cert-number{position:absolute;right:22px;bottom:15px;font:8px Arial,sans-serif;color:#8797a1}

@media(max-width:980px){.g47-cert-shell{grid-template-columns:1fr}.g47-cert-preview-pane{border-left:0;border-top:1px solid #dde7ed;max-height:none}.g47-cert-controls{max-height:none}.g47-cert-preview-sticky{position:static}.g47-template-grid{grid-template-columns:1fr}.g47-cert-paper{min-width:720px}}
@media(max-width:700px){.g47-cert-shell{display:block}.g47-cert-controls,.g47-cert-preview-pane{padding:14px}.g47-design-row{grid-template-columns:1fr}.g47-cert-preview-pane{overflow:auto}.g47-cert-paper{min-width:680px}.g47-signature-slot-head{align-items:flex-start;flex-direction:column}}
