/* YMN Certificate styles */
:root { --ymn-navy:#16235B; --ymn-red:#E01E26; }

/* ---------- Public wizard ---------- */
.ymn-cert-wrap { max-width:820px; margin:0 auto; }
.ymn-cert-steps { list-style:none; display:flex; gap:8px; padding:0; margin:0 0 24px; counter-reset:none; }
.ymn-cert-steps li { flex:1; text-align:center; font-size:13px; font-weight:600; color:#8a90a6; position:relative; padding-top:40px; }
.ymn-cert-steps li span { position:absolute; top:0; left:50%; transform:translateX(-50%); width:32px; height:32px; line-height:32px; border-radius:50%; background:#e6e9f2; color:#8a90a6; font-weight:700; }
.ymn-cert-steps li.active span { background:var(--ymn-navy); color:#fff; }
.ymn-cert-steps li.done span { background:var(--ymn-red); color:#fff; }
.ymn-cert-steps li.active { color:var(--ymn-navy); }
.ymn-cert-card { background:#fff; border:1px solid #e6e9f2; border-radius:16px; padding:28px; box-shadow:0 10px 30px rgba(22,35,91,.06); }
.ymn-cert-h { margin:0 0 18px; color:var(--ymn-navy); font-size:22px; }
.ymn-cert-lead { color:#4a5069; margin:0 0 16px; }
.ymn-cert-field { margin-bottom:16px; }
.ymn-cert-flabel { display:block; font-weight:600; color:var(--ymn-navy); margin-bottom:6px; font-size:14px; }
.ymn-cert-input { width:100%; padding:11px 14px; border:1px solid #cfd4e4; border-radius:10px; font-size:15px; box-sizing:border-box; background:#fff; }
.ymn-cert-input:focus { outline:none; border-color:var(--ymn-navy); box-shadow:0 0 0 3px rgba(22,35,91,.12); }
textarea.ymn-cert-input { resize:vertical; }
.ymn-cert-hint { display:block; font-size:12.5px; color:#7a8099; margin-top:6px; }
.ymn-cert-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
.ymn-cert-btn { background:var(--ymn-navy); color:#fff; border:none; border-radius:10px; padding:12px 22px; font-size:15px; font-weight:600; cursor:pointer; transition:.15s; }
.ymn-cert-btn:hover { background:#0f1a45; }
.ymn-cert-btn.ghost { background:#fff; color:var(--ymn-navy); border:1px solid var(--ymn-navy); }
.ymn-cert-btn.ghost:hover { background:#f0f3fb; }
.ymn-cert-btn:disabled { opacity:.6; cursor:default; }
.ymn-cert-msg { padding:11px 14px; border-radius:10px; font-size:14px; margin:12px 0; }
.ymn-cert-msg.error { background:#fdecec; color:#a01c22; border:1px solid #f5c2c4; }
.ymn-cert-msg.ok { background:#e8f6ec; color:#1a7f37; border:1px solid #b7e1c2; }
.ymn-cert-codewrap { margin-top:8px; }
.ymn-cert-codewrap .ymn-cert-field { margin-top:16px; }
.ymn-cert-result { margin-top:24px; }
.ymn-cert-canvas-wrap { text-align:center; }
.ymn-cert-canvas-out { max-width:100%; height:auto; border:1px solid #e6e9f2; border-radius:8px; box-shadow:0 8px 24px rgba(22,35,91,.12); }
.ymn-cert-refline { text-align:center; color:#4a5069; font-size:13px; margin:12px 0 0; }
.ymn-cert-social { margin-top:20px; padding-top:18px; border-top:1px solid #e6e9f2; text-align:center; }
.ymn-cert-social span { display:block; color:#7a8099; font-size:13px; margin-bottom:8px; }
.ymn-cert-social a { display:inline-block; margin:0 6px; color:var(--ymn-navy); font-weight:600; text-decoration:none; }
.ymn-cert-social a:hover { color:var(--ymn-red); }

@media (max-width:900px) { .ymn-cert-card { padding:22px; } }
@media (max-width:600px) {
	.ymn-cert-steps li { font-size:11px; padding-top:36px; }
	.ymn-cert-steps li span { width:28px; height:28px; line-height:28px; }
	.ymn-cert-card { padding:18px; }
	.ymn-cert-h { font-size:19px; }
	.ymn-cert-btn { flex:1; text-align:center; }
}

/* ---------- Admin ---------- */
.ymn-cert-admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ymn-cert-lbl { display:block; font-weight:600; margin:12px 0 4px; }
.ymn-cert-sub { margin:18px 0 8px; color:#16235B; border-top:1px solid #e6e9f2; padding-top:14px; }
.ymn-cert-row { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:10px; }
.ymn-cert-row label { font-size:12.5px; color:#4a5069; }
.ymn-cert-row input, .ymn-cert-row select { display:block; }
.ymn-cert-hint { color:#7a8099; font-size:12px; }
.ymn-cert-admin-preview { background:#f6f7fb; border:1px solid #e6e9f2; border-radius:10px; padding:14px; align-self:start; }
#ymn-cert-canvas { max-width:100%; height:auto; border:1px solid #d5dae8; border-radius:6px; background:#fff; }
.ymn-cert-noimg { color:#7a8099; font-size:13px; text-align:center; padding:40px 10px; }
.ymn-cert-table td, .ymn-cert-table th { vertical-align:top; }
.ymn-cert-dash h1 { color:#16235B; }
@media (max-width:1100px) { .ymn-cert-admin-grid { grid-template-columns:1fr; } }
