/* ═══════════════════════════════════════════════════════
   meelo Frontend Forms v10 — Professional & Modern
   Standalone CSS — kein Framework nötig
═══════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

.mf-wrap *,.mf-wrap *::before,.mf-wrap *::after{box-sizing:border-box;margin:0;padding:0}
.mf-wrap{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:#111827;--primary:#2563eb;--primary-light:#eff6ff;--primary-dark:#1d4ed8;--border:#e5e7eb;--bg:#f9fafb;--card:#ffffff;--muted:#6b7280;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--radius:12px;--shadow:0 1px 3px rgba(0,0,0,.08),0 4px 16px rgba(0,0,0,.06)}

/* ── PROGRESS ── */
.mf-progress{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px 24px;margin-bottom:28px;box-shadow:var(--shadow)}
.mf-progress-inner{display:flex;align-items:center;gap:0}
.mf-prog-step{display:flex;align-items:center;gap:10px;flex:1}
.mf-prog-step:last-child{flex:0 0 auto}
.mf-prog-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;transition:all .25s;border:2px solid var(--border);background:var(--bg);color:var(--muted)}
.mf-prog-step.active .mf-prog-dot{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.mf-prog-step.done .mf-prog-dot{background:var(--success);border-color:var(--success);color:#fff}
.mf-prog-info{display:flex;flex-direction:column}
.mf-prog-label{font-size:12px;font-weight:700;color:var(--muted);transition:color .2s}
.mf-prog-step.active .mf-prog-label{color:var(--primary)}
.mf-prog-step.done .mf-prog-label{color:var(--success)}
.mf-prog-sub{font-size:11px;color:#9ca3af}
.mf-prog-line{flex:1;height:2px;background:var(--border);margin:0 8px;border-radius:2px;overflow:hidden;position:relative}
.mf-prog-line::after{content:'';position:absolute;inset:0;background:var(--success);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.mf-prog-line.done::after{transform:scaleX(1)}
@media(max-width:640px){.mf-prog-info{display:none}.mf-prog-line{min-width:20px}}

/* ── LAYOUT ── */
.mf-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}
@media(max-width:900px){.mf-layout{grid-template-columns:1fr}.mf-sidebar{display:none}}

/* ── STEPS ── */
.mf-step{display:none;animation:mf-fadein .2s ease}
.mf-step.active{display:block}
@keyframes mf-fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ── CARDS ── */
.mf-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px;margin-bottom:16px;box-shadow:var(--shadow)}
.mf-card:last-of-type{margin-bottom:0}
.mf-card-title{font-size:18px;font-weight:800;letter-spacing:-.025em;margin-bottom:4px}
.mf-card-sub{font-size:14px;color:var(--muted);margin-bottom:20px;line-height:1.5}
.mf-card-section{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:20px 0 12px;padding-top:20px;border-top:1px solid var(--border)}

/* ── FELDER ── */
.mf-field{margin-bottom:16px}
.mf-field:last-child{margin-bottom:0}
.mf-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}
.mf-req{color:var(--primary);font-size:16px;line-height:1}
.mf-hint{font-size:11px;font-weight:400;color:var(--muted);margin-left:auto}
.mf-input,.mf-select,.mf-textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;color:#111827;background:#fff;transition:border-color .15s,box-shadow .15s;outline:none}
.mf-input:focus,.mf-select:focus,.mf-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.mf-input::placeholder,.mf-textarea::placeholder{color:#9ca3af}
.mf-textarea{resize:vertical;min-height:110px;padding-top:12px}
.mf-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}
.mf-input.error{border-color:var(--error)}
.mf-error{font-size:12px;color:var(--error);margin-top:4px;display:none}
.mf-field.has-error .mf-error{display:block}

/* ── GRIDS ── */
.mf-g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mf-g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.mf-g21{display:grid;grid-template-columns:2fr 1fr;gap:14px}
.mf-g12{display:grid;grid-template-columns:1fr 2fr;gap:14px}
@media(max-width:580px){.mf-g2,.mf-g3,.mf-g21,.mf-g12{grid-template-columns:1fr}}

/* ── PREFIX INPUT ── */
.mf-prefix-wrap{display:flex;align-items:center}
.mf-prefix{height:44px;padding:0 12px;background:var(--bg);border:1.5px solid var(--border);border-right:none;border-radius:10px 0 0 10px;font-size:13px;color:var(--muted);white-space:nowrap;display:flex;align-items:center}
.mf-prefix-wrap .mf-input{border-radius:0 10px 10px 0}

/* ── CHIPS (Kategorie-Auswahl) ── */
.mf-chips{display:flex;flex-wrap:wrap;gap:8px}
.mf-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:100px;border:1.5px solid var(--border);background:#fff;font-size:13.5px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s;user-select:none}
.mf-chip:hover{border-color:var(--primary);color:var(--primary)}
.mf-chip.selected,.mf-chip:has(input:checked){border-color:var(--primary);background:var(--primary-light);color:var(--primary)}
.mf-chip input{display:none}
.mf-chip-icon{font-size:16px}

/* ── TOGGLE ROW ── */
.mf-toggle{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;border:1.5px solid var(--border);cursor:pointer;transition:all .15s;background:#fff}
.mf-toggle:hover{border-color:var(--primary)}
.mf-toggle:has(input:checked){border-color:var(--primary);background:var(--primary-light)}
.mf-toggle input[type=checkbox],.mf-toggle input[type=radio]{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin-top:1px}
.mf-toggle-body{flex:1}
.mf-toggle-title{font-size:14px;font-weight:700;color:#111}
.mf-toggle-sub{font-size:12.5px;color:var(--muted);margin-top:2px}

/* ── UPLOAD ── */
.mf-upload{border:2px dashed var(--border);border-radius:14px;padding:28px 20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg);position:relative}
.mf-upload:hover,.mf-upload.drag{border-color:var(--primary);background:var(--primary-light)}
.mf-upload input[type=file]{display:none}
.mf-upload-icon{font-size:32px;margin-bottom:10px;display:block}
.mf-upload-title{font-size:14px;font-weight:700;color:#374151;margin-bottom:4px}
.mf-upload-sub{font-size:12.5px;color:var(--muted)}
.mf-upload-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 18px;background:var(--primary);color:#fff;border-radius:8px;font-size:13px;font-weight:700;transition:filter .15s}
.mf-upload:hover .mf-upload-btn{filter:brightness(.9)}
.mf-upload-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;justify-content:center}
.mf-thumb{position:relative;width:80px;height:80px;border-radius:10px;overflow:hidden;background:var(--border)}
.mf-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mf-thumb-rm{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;border:none;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;line-height:1}

/* ── KARTE ── */
.mf-map{border-radius:12px;overflow:hidden;border:1.5px solid var(--border);margin-top:10px}

/* ── ÖFFNUNGSZEITEN ── */
.mf-hours{display:flex;flex-direction:column;gap:6px}
.mf-hour-row{display:grid;grid-template-columns:100px 1fr;align-items:center;padding:8px 12px;border-radius:10px;border:1.5px solid var(--border);background:#fff;gap:10px}
.mf-hour-row.open{border-color:var(--primary);background:var(--primary-light)}
.mf-hour-day{font-size:13px;font-weight:700;color:#374151}
.mf-hour-times{display:flex;align-items:center;gap:8px}
.mf-hour-row input[type=time]{padding:5px 8px;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:inherit;display:none}
.mf-hour-row.open input[type=time]{display:block}
.mf-hour-toggle{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.mf-hour-toggle input{accent-color:var(--primary)}
.mf-hour-note{font-size:12px;color:var(--muted);margin-left:auto}

/* ── KATEGORIE-FELDER ── */
.mf-cat-fields{border:1.5px solid var(--primary);border-radius:14px;padding:20px;background:var(--primary-light);margin-top:14px}
.mf-cat-title{font-size:13px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;display:flex;align-items:center;gap:6px}

/* ── SOCIAL ── */
.mf-social{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mf-social-item{position:relative}
.mf-social-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.mf-social-item .mf-input{padding-left:38px}
@media(max-width:500px){.mf-social{grid-template-columns:1fr}}

/* ── FARBE ── */
.mf-color-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mf-swatch{width:34px;height:34px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:all .15s;flex-shrink:0}
.mf-swatch:hover,.mf-swatch.sel{transform:scale(1.2);box-shadow:0 0 0 3px rgba(37,99,235,.3)}
.mf-swatch-custom{width:34px;height:34px;border-radius:50%;border:2px solid var(--border);cursor:pointer;overflow:hidden;flex-shrink:0}

/* ── NAVIGATION ── */
.mf-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}
.mf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;border:none;transition:all .15s;text-decoration:none}
.mf-btn-primary{background:var(--primary);color:#fff}
.mf-btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(37,99,235,.3);color:#fff}
.mf-btn-secondary{background:var(--bg);color:#374151;border:1.5px solid var(--border)}
.mf-btn-secondary:hover{background:#f0f0f5}
.mf-btn-submit{background:linear-gradient(135deg,var(--primary),#4f46e5);color:#fff;padding:14px 32px;font-size:15px;box-shadow:0 4px 20px rgba(37,99,235,.3)}
.mf-btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(37,99,235,.4)}
.mf-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}
.mf-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:mf-spin 1s linear infinite}
@keyframes mf-spin{to{transform:rotate(360deg)}}

/* ── SIDEBAR ── */
.mf-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:14px}
.mf-preview{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.mf-preview-img{height:150px;background:linear-gradient(135deg,#6366f1,#8b5cf6);position:relative;overflow:hidden;transition:background .3s}
.mf-preview-img img{width:100%;height:100%;object-fit:cover;display:block}
.mf-preview-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent)}
.mf-preview-body{padding:16px}
.mf-preview-title{font-size:16px;font-weight:800;margin-bottom:4px;min-height:22px}
.mf-preview-sub{font-size:12.5px;color:var(--muted)}
.mf-tip{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;gap:12px;box-shadow:var(--shadow)}
.mf-tip-icon{font-size:20px;flex-shrink:0;margin-top:1px}
.mf-tip-text{font-size:13px;color:#374151;line-height:1.55}
.mf-tip-title{font-size:13px;font-weight:700;margin-bottom:3px}
.mf-tip.blue{background:#eff6ff;border-color:#bfdbfe}
.mf-tip.blue .mf-tip-text{color:#1e40af}
.mf-tip.green{background:#f0fdf4;border-color:#bbf7d0}
.mf-tip.green .mf-tip-text{color:#14532d}

/* ── ALERT ── */
.mf-alert{padding:14px 18px;border-radius:12px;font-size:14px;font-weight:600;display:flex;align-items:flex-start;gap:10px;margin-top:14px}
.mf-alert svg{flex-shrink:0;margin-top:1px}
.mf-alert-success{background:#f0fdf4;color:#14532d;border:1px solid #bbf7d0}
.mf-alert-error{background:#fef2f2;color:#7f1d1d;border:1px solid #fecaca}

/* ── NOTFALL ── */
.mf-notfall{background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:14px;padding:16px 20px;color:#fff;display:flex;align-items:center;gap:14px;margin-top:12px}
.mf-notfall-icon{font-size:28px;flex-shrink:0}
.mf-notfall-title{font-size:15px;font-weight:800}
.mf-notfall-sub{font-size:12.5px;opacity:.85}

/* ── DONE CARD ── */
.mf-done{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;border-radius:16px;padding:28px;text-align:center}
.mf-done-icon{font-size:48px;margin-bottom:14px;display:block}
.mf-done-title{font-size:20px;font-weight:900;color:#14532d;margin-bottom:8px}
.mf-done-text{font-size:14px;color:#166534;line-height:1.6}

/* ── PROGRAMM ZEILE ── */
.mf-prog-item{display:grid;grid-template-columns:120px 90px 1fr auto;gap:8px;align-items:center;padding:10px 14px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}
.mf-prog-item input{padding:7px 9px;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:inherit;width:100%}
.mf-prog-rm{width:30px;height:30px;border-radius:8px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
@media(max-width:580px){.mf-prog-item{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}}

/* ── ANGEBOT ZEILE ── */
.mf-angebot-item{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;align-items:center;padding:10px 14px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}
.mf-angebot-item input{padding:7px 9px;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:inherit;width:100%}

/* ── SCROLL ── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}

/* ══ UNIFIED FORM: meelo_render_form() spezifisch ══════════════════ */
:root {
    --mf-primary: #2563eb;
    --primary: var(--mf-primary);
    --bg: #f8f7f4; --border: #e5e3de; --muted: #9ca3af;
    --text: #1a1916; --success: #10b981; --error: #dc2626;
}

/* Typ-Auswahl Step 0 */
.mf-type-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:16px; }
@media(min-width:500px){.mf-type-grid{grid-template-columns:repeat(4,1fr);}}
.mf-type-card {
    display:flex; flex-direction:column; align-items:center; gap:10px;
    padding:20px 12px; border-radius:14px; border:2px solid var(--border,#e5e3de);
    background:#fff; cursor:pointer; transition:all .15s; text-decoration:none;
    font-family:inherit;
}
.mf-type-card:hover { border-color:var(--tc,var(--mf-primary)); transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.08); }
.mf-type-card__icon { font-size:28px; line-height:1; }
.mf-type-card__name { font-size:13px; font-weight:750; color:#374151; }

/* Type Bar */
.mf-type-bar {
    display:flex; align-items:center; gap:12px; padding:10px 16px;
    background:var(--mf-primary); color:#fff; border-radius:12px; margin-bottom:20px;
    font-size:14px; font-weight:700;
}
.mf-type-bar__icon { font-size:20px; flex-shrink:0; }
.mf-type-bar__label { flex-shrink:0; }
.mf-progress-line { flex:1; height:4px; background:rgba(255,255,255,.3); border-radius:2px; overflow:hidden; }
.mf-progress-fill { height:100%; background:#fff; border-radius:2px; transition:width .3s; }
.mf-step-lbl { font-size:12px; opacity:.8; white-space:nowrap; }
.mf-preview-btn { padding:5px 12px; border-radius:20px; border:1.5px solid rgba(255,255,255,.4); background:transparent; color:#fff; font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap; }
.mf-preview-btn:hover { background:rgba(255,255,255,.15); }

/* Layout */
.mf-layout { display:grid; grid-template-columns:1fr 280px; gap:24px; align-items:start; }
.mf-main { min-width:0; }
@media(max-width:860px){.mf-layout{grid-template-columns:1fr;}.mf-preview-col{display:none;}}

/* Steps */
.mf-step { display:none; }
.mf-step.active { display:block; animation:mf-fade-in .2s ease; }
@keyframes mf-fade-in { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
.mf-step-head { margin-bottom:20px; }
.mf-step-head h2 { font-size:20px; font-weight:800; margin:0 0 4px; letter-spacing:-.02em; }
.mf-step-head p { font-size:14px; color:var(--muted,#9ca3af); margin:0; }

/* Fields */
.mf-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mf-field { display:flex; flex-direction:column; gap:5px; }
.mf-field.full { grid-column:1/-1; }
.mf-field label { font-size:11.5px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; color:#374151; }
.mf-in {
    padding:0 12px; height:42px; border:1.5px solid var(--border,#e5e3de);
    border-radius:9px; font-size:14px; font-family:inherit; width:100%; box-sizing:border-box;
    background:#fff; color:var(--text,#1a1916); transition:border-color .13s, box-shadow .13s;
}
.mf-in:focus { outline:none; border-color:var(--mf-primary,#2563eb); box-shadow:0 0 0 3px color-mix(in srgb,var(--mf-primary,#2563eb) 15%,transparent); }
.mf-ta { height:auto; padding:10px 12px; resize:vertical; min-height:90px; }
select.mf-in { cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%239ca3af' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; background-size:16px; padding-right:32px; }
@media(max-width:540px){.mf-fields{grid-template-columns:1fr;}.mf-field.full{grid-column:auto;}}

/* Section Title */
.mf-section-title { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--mf-primary,#2563eb); margin:16px 0 10px; display:flex; align-items:center; gap:8px; }
.mf-section-title::after { content:""; flex:1; height:1.5px; background:color-mix(in srgb,var(--mf-primary,#2563eb) 15%,white); border-radius:2px; }
.mf-hint { font-size:10px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--muted,#9ca3af); }

/* Öffnungszeiten */
.mf-hours-row { display:flex; align-items:center; gap:10px; padding:8px 12px; background:var(--bg,#f8f7f4); border-radius:9px; margin-bottom:6px; border:1.5px solid transparent; }
.mf-hours-row:has(.mf-day-chk:checked) { border-color:var(--mf-primary,#2563eb); background:color-mix(in srgb,var(--mf-primary,#2563eb) 5%,white); }

/* Image Upload */
.mf-img-drop { border:2px dashed var(--border,#e5e3de); border-radius:14px; padding:32px; text-align:center; background:var(--bg,#f8f7f4); cursor:pointer; transition:all .13s; min-height:140px; display:flex; align-items:center; justify-content:center; flex-direction:column; }
.mf-img-drop:hover { border-color:var(--mf-primary,#2563eb); background:color-mix(in srgb,var(--mf-primary,#2563eb) 5%,white); }
.mf-upload-btn { padding:8px 20px; border-radius:8px; background:var(--mf-primary,#2563eb); color:#fff; border:none; font-weight:700; font-size:13px; cursor:pointer; font-family:inherit; }
.mf-logo-upload { border:2px dashed var(--border,#e5e3de); border-radius:12px; padding:16px; text-align:center; background:var(--bg,#f8f7f4); max-width:200px; }

/* Map */
.mf-map { height:220px; border-radius:12px; overflow:hidden; border:1.5px solid var(--border,#e5e3de); background:var(--bg,#f8f7f4); }
.mf-map-section { margin-top:14px; }
.mf-map-hd { display:flex; align-items:center; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.mf-map-btn { padding:6px 14px; border-radius:8px; background:var(--mf-primary,#2563eb); color:#fff; border:none; font-size:12.5px; font-weight:700; cursor:pointer; }
.mf-map-btn-ghost { background:var(--bg,#f8f7f4); color:#374151; border:1.5px solid var(--border,#e5e3de); }

/* Nav Buttons */
.mf-nav { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:24px; padding-top:20px; border-top:1px solid var(--border,#e5e3de); }
.mf-btn { display:inline-flex; align-items:center; gap:7px; padding:11px 22px; border-radius:10px; font-size:14px; font-weight:700; font-family:inherit; cursor:pointer; border:none; transition:all .14s; }
.mf-btn-pri { background:var(--mf-primary,#2563eb); color:#fff; box-shadow:0 3px 14px color-mix(in srgb,var(--mf-primary,#2563eb) 25%,transparent); }
.mf-btn-pri:hover { filter:brightness(.88); transform:translateY(-1px); }
.mf-btn-sec { background:var(--bg,#f8f7f4); color:#374151; border:1.5px solid var(--border,#e5e3de); }
.mf-btn-ghost { background:transparent; color:#374151; border:1.5px solid var(--border,#e5e3de); }
.mf-err { padding:12px 16px; background:#fef2f2; border:1px solid #fca5a5; border-radius:10px; font-size:13.5px; color:#991b1b; margin-top:12px; }

/* Type-specific sections */
.mf-type-sect { margin-top:0; }
.mf-type-bar__label, .mf-type-bar__icon { display:inline-block; }

/* Review */
.mf-review { background:var(--bg,#f8f7f4); border-radius:12px; padding:16px; margin-bottom:16px; }
.mf-status-opts { display:flex; flex-direction:column; gap:10px; }
.mf-radio-lbl { display:flex; align-items:flex-start; gap:10px; padding:14px; border-radius:10px; border:1.5px solid var(--border,#e5e3de); cursor:pointer; transition:border-color .13s; }
.mf-radio-lbl:has(input:checked) { border-color:var(--mf-primary,#2563eb); background:color-mix(in srgb,var(--mf-primary,#2563eb) 5%,white); }
.mf-radio-box strong { display:block; font-size:13.5px; font-weight:750; }
.mf-radio-box span { font-size:12px; color:var(--muted,#9ca3af); }

/* Success */
.mf-success { text-align:center; padding:40px 20px; }
.mf-success__icon { font-size:56px; margin-bottom:16px; }
.mf-success__title { font-size:22px; font-weight:800; margin-bottom:8px; }
.mf-success__msg { font-size:14px; color:var(--muted,#9ca3af); margin-bottom:24px; }
.mf-success__actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* Preview Card (Sidebar) */
.mf-preview-col { position:sticky; top:80px; }
.mf-preview-card { background:#fff; border-radius:14px; border:1px solid var(--border,#e5e3de); overflow:hidden; }
.mf-preview-img-wrap { height:150px; overflow:hidden; background:var(--mf-primary,#2563eb); display:flex; align-items:center; justify-content:center; position:relative; }
.mf-preview-ph { font-size:40px; opacity:.4; }
.mf-preview-cat { position:absolute; top:10px; left:10px; background:rgba(0,0,0,.4); color:#fff; font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px; }
.mf-preview-body { padding:14px; }
.mf-preview-type { font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--mf-primary,#2563eb); margin-bottom:4px; }
.mf-preview-title { font-size:16px; font-weight:800; line-height:1.3; margin-bottom:4px; min-height:22px; }
.mf-preview-desc { font-size:12.5px; color:var(--muted,#9ca3af); line-height:1.5; }
.mf-preview-meta { font-size:12px; color:var(--muted,#9ca3af); margin-top:6px; }
.mf-preview-footer { padding:8px 14px; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--muted,#9ca3af); border-top:1px solid var(--border,#e5e3de); text-align:center; background:var(--bg,#f8f7f4); }

/* Misc */
.mf-add-row-btn { padding:8px 16px; border-radius:8px; border:1.5px dashed var(--border,#e5e3de); background:transparent; color:#374151; font-size:13px; cursor:pointer; width:100%; text-align:left; transition:all .13s; font-family:inherit; }
.mf-add-row-btn:hover { border-color:var(--mf-primary,#2563eb); color:var(--mf-primary,#2563eb); }
.mf-info-box { background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:12px 14px; font-size:13px; color:#1e40af; display:flex; align-items:center; gap:8px; }
.mf-gate { text-align:center; padding:40px 20px; background:var(--bg,#f8f7f4); border-radius:14px; }
.mf-link-btn { display:inline-flex; align-items:center; gap:6px; padding:10px 20px; border-radius:9px; background:var(--mf-primary,#2563eb); color:#fff; font-weight:700; text-decoration:none; margin-top:14px; }
