/**
 * KES Font Builder UI
 * استایل‌ها فقط با پیشوند kesfb نوشته شده‌اند تا با قالب یا افزونه‌های دیگر تداخل نداشته باشند.
 */
.kesfb-app,.kesfb-admin-wrap{--kesfb-bg:#f6f8fb;--kesfb-card:#fff;--kesfb-text:#18212f;--kesfb-muted:#6b7280;--kesfb-primary:#0f6cbd;--kesfb-primary2:#1d4ed8;--kesfb-border:#dbe3ec;--kesfb-success:#0f8a5f;--kesfb-danger:#c62828;color:var(--kesfb-text);font-family:Tahoma,Arial,sans-serif}
.kesfb-admin-wrap{max-width:1320px}.kesfb-admin-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}.kesfb-admin-title h1{margin:0 0 8px}.kesfb-admin-title p{margin:0;color:var(--kesfb-muted)}.kesfb-admin-title a{text-decoration:none;font-weight:700}
.kesfb-app{position:relative;max-width:1180px;margin:20px auto}.kesfb-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;border-radius:22px;background:linear-gradient(135deg,#0b2e59,#0f6cbd);color:#fff;box-shadow:0 18px 40px rgba(13,63,112,.18)}.kesfb-hero h2{font-size:28px;margin:7px 0 8px;color:#fff}.kesfb-hero p{margin:0;max-width:760px;line-height:1.9;color:#eaf4ff}.kesfb-eyebrow{font-size:12px;letter-spacing:.3px;background:rgba(255,255,255,.12);padding:5px 10px;border-radius:999px}.kesfb-hero-badge{min-width:190px;text-align:center;background:rgba(255,255,255,.12);padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:16px;line-height:1.8}
.kesfb-notice{margin:16px 0;padding:12px 16px;border-radius:12px;border:1px solid}.kesfb-notice--info{background:#eff7ff;border-color:#bfdbfe;color:#17436f}.kesfb-grid{display:grid;gap:16px}.kesfb-grid--main{grid-template-columns:1fr 1fr}.kesfb-card{background:var(--kesfb-card);border:1px solid var(--kesfb-border);border-radius:18px;padding:22px;margin:16px 0;box-shadow:0 8px 25px rgba(31,41,55,.05)}
.kesfb-step{display:flex;align-items:center;gap:12px;margin-bottom:18px}.kesfb-step>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8f2ff;color:var(--kesfb-primary);font-weight:800}.kesfb-step h3{margin:0 0 4px;font-size:18px}.kesfb-step p{margin:0;color:var(--kesfb-muted);font-size:13px}
.kesfb-dropzone{min-height:150px;border:2px dashed #9fbad3;border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:7px;padding:20px;cursor:pointer;background:#fbfdff;transition:.2s}.kesfb-dropzone:hover,.kesfb-dropzone.is-dragging{border-color:var(--kesfb-primary);background:#f1f7ff;transform:translateY(-1px)}.kesfb-dropzone .dashicons{font-size:34px;width:34px;height:34px;color:var(--kesfb-primary)}.kesfb-dropzone small{color:var(--kesfb-muted)}.kesfb-file-meta{margin-top:12px;background:#f6f8fb;padding:12px;border-radius:10px}.kesfb-file-meta strong,.kesfb-file-meta span{display:block}.kesfb-file-meta span{color:var(--kesfb-muted);margin-top:4px;font-size:12px}
.kesfb-usecases,.kesfb-format-grid,.kesfb-extra-grid,.kesfb-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kesfb-choice,.kesfb-format-grid>label,.kesfb-extra-grid>label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--kesfb-border);border-radius:12px;background:#fff;cursor:pointer}.kesfb-choice:has(input:checked),.kesfb-format-grid>label:has(input:checked),.kesfb-extra-grid>label:has(input:checked){border-color:#7cb5ea;background:#f1f7ff}.kesfb-choice small,.kesfb-format-grid small,.kesfb-extra-grid small{display:block;color:var(--kesfb-muted);margin-top:4px}.kesfb-format-grid .is-disabled,.kesfb-format-grid>label.is-disabled,.kesfb-extra-grid>label.is-disabled,.kesfb-delivery-grid>label.is-disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.15)}.kesfb-format-grid>label.is-disabled input,.kesfb-extra-grid>label.is-disabled input,.kesfb-delivery-grid>label.is-disabled input{cursor:not-allowed}.kesfb-format-grid>label.is-available,.kesfb-extra-grid>label.is-available{opacity:1}.kesfb-format-grid>label.is-available input,.kesfb-extra-grid>label.is-available input{cursor:pointer}
.kesfb-subsection-title{margin:20px 0 10px;font-size:14px;color:#25364a}.kesfb-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kesfb-form-grid label{font-weight:700;font-size:13px}.kesfb-form-grid input,.kesfb-form-grid select,.kesfb-preview-controls input,.kesfb-doc-search{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #ccd7e2;border-radius:10px;padding:10px 12px;min-height:42px;background:#fff}.kesfb-field-help{display:block;margin-top:7px;color:var(--kesfb-muted);font-size:12px;line-height:1.8;font-weight:400}.kesfb-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.kesfb-btn{appearance:none;border:1px solid #c7d2df;border-radius:10px;padding:10px 16px;background:#fff;cursor:pointer;font-weight:700}.kesfb-btn--primary{background:var(--kesfb-primary);border-color:var(--kesfb-primary);color:#fff}.kesfb-btn:disabled{opacity:.5;cursor:not-allowed}.kesfb-status{color:var(--kesfb-muted)}.kesfb-status[data-kind="success"]{color:var(--kesfb-success)}.kesfb-status[data-kind="error"]{color:var(--kesfb-danger)}.kesfb-status[data-kind="warning"]{color:#9a6700}.kesfb-progress{height:7px;background:#e9eef4;border-radius:999px;overflow:hidden;margin-top:14px}.kesfb-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--kesfb-primary),#60a5fa);transition:width .2s}
.kesfb-preview-controls{display:grid;grid-template-columns:1fr 220px;gap:16px;align-items:end}.kesfb-preview{margin-top:14px;min-height:130px;padding:24px;border:1px dashed #b9c7d6;border-radius:14px;background:#fafcff;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere;font-size:42px;line-height:1.8}.kesfb-advanced summary{cursor:pointer;font-weight:800}.kesfb-advanced p{line-height:2;color:#4b5563}.kesfb-brand{text-align:center;color:var(--kesfb-muted);padding:10px}.kesfb-brand a{text-decoration:none}
.kesfb-to-top{position:fixed;left:24px;bottom:24px;width:46px;height:46px;border:0;border-radius:50%;background:#0f6cbd;color:#fff;font-size:24px;box-shadow:0 10px 28px rgba(0,0,0,.18);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s;z-index:9999}.kesfb-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.kesfb-docs{max-width:1050px}.kesfb-doc-search{max-width:520px;font-size:15px}.kesfb-doc-toc{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.kesfb-doc-toc a{padding:8px 12px;background:#eef5fb;border-radius:999px;text-decoration:none}.kesfb-doc-section{background:#fff;border:1px solid var(--kesfb-border);border-radius:16px;padding:20px;margin:14px 0;line-height:2}.kesfb-doc-section h2{margin-top:0}.kesfb-doc-section details{padding:10px 0;border-bottom:1px solid #eef1f4}.kesfb-doc-section details:last-child{border-bottom:0}.kesfb-doc-section summary{font-weight:800;cursor:pointer}.kesfb-table-wrap{overflow:auto}.kesfb-table-wrap table{width:100%;border-collapse:collapse}.kesfb-table-wrap th,.kesfb-table-wrap td{text-align:right;padding:10px;border-bottom:1px solid #edf0f3}.kesfb-code{position:relative;background:#111827;color:#e5e7eb;border-radius:12px;padding:14px;margin:12px 0;direction:ltr;text-align:left}.kesfb-code pre{white-space:pre-wrap;margin:0}.kesfb-code button{position:absolute;top:8px;right:8px;border:0;border-radius:7px;padding:6px 9px;cursor:pointer}.kesfb-checklist{list-style:none;padding:0}.kesfb-checklist li:before{content:'✓';margin-left:8px;color:var(--kesfb-success);font-weight:900}.kesfb-settings-form{background:#fff;border:1px solid var(--kesfb-border);border-radius:16px;padding:18px;max-width:900px}.kesfb-locked{padding:16px;background:#fff3cd;border:1px solid #ffe69c;border-radius:10px}
@media(max-width:900px){.kesfb-grid--main{grid-template-columns:1fr}.kesfb-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kesfb-hero{align-items:flex-start;flex-direction:column}.kesfb-hero-badge{width:100%;box-sizing:border-box}.kesfb-preview-controls{grid-template-columns:1fr}}
@media(max-width:600px){.kesfb-app{margin:10px}.kesfb-hero{padding:20px;border-radius:16px}.kesfb-hero h2{font-size:22px}.kesfb-usecases,.kesfb-format-grid,.kesfb-extra-grid,.kesfb-delivery-grid,.kesfb-form-grid{grid-template-columns:1fr}.kesfb-card{padding:16px}.kesfb-to-top{left:14px;bottom:14px}.kesfb-admin-title{align-items:flex-start;flex-direction:column}}
/* گزارش اعتبارسنجی امنیتی فایل؛ فقط پس از عبور فایل از تمام لایه‌های Validation نمایش داده می‌شود. */
.kesfb-security-report{margin-top:10px;padding:12px 14px;border:1px solid #b7e4cf;border-radius:12px;background:#f0fbf6;color:#155d43;overflow-wrap:anywhere}.kesfb-security-report strong,.kesfb-security-report span,.kesfb-security-report code{display:block}.kesfb-security-report span{margin-top:5px;font-size:12px}.kesfb-security-report code{margin-top:7px;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.72);font-size:11px;direction:ltr;text-align:left;white-space:normal;word-break:break-all}.kesfb-security-warning{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff8e1;color:#805500;font-size:12px}
