.miro-form{--mf-accent:#6366f1;--mf-accent-dark:#4f46e5;--mf-accent-glow:rgba(99,102,241,.15);--mf-text:#0f172a;--mf-muted:#64748b;--mf-bg:#fff;--mf-input-bg:#f8fafc;--mf-border:#e2e8f0;--mf-radius:10px;--mf-radius-sm:7px;--mf-success:#10b981;--mf-error:#ef4444;--mf-shadow:0 4px 12px rgba(0,0,0,.08);color:var(--mf-text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;max-width:100%}
.miro-form *, .miro-form *::before, .miro-form *::after{box-sizing:border-box}
.miro-form__group{margin:0 0 14px}
.miro-form__label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--mf-text)}
.miro-form .miro-form__input,.miro-form input[type="text"],.miro-form input[type="tel"],.miro-form input[type="email"],.miro-form input[type="date"],.miro-form input[type="number"],.miro-form input[type="url"],.miro-form input[type="search"],.miro-form input[type="password"],.miro-form textarea{width:100%;padding:12px 14px;border:1.5px solid var(--mf-border);border-radius:var(--mf-radius-sm);background:var(--mf-input-bg);color:var(--mf-text);outline:none;transition:border-color .15s,box-shadow .15s;background-clip:padding-box;font-family:inherit;box-shadow:none}
.miro-form ::placeholder{color:var(--mf-muted);opacity:1}
.miro-form ::-webkit-input-placeholder{color:var(--mf-muted)}
.miro-form ::-moz-placeholder{color:var(--mf-muted);opacity:1}
.miro-form textarea,.miro-form .miro-form__input[type]{min-height:auto}.miro-form textarea{min-height:100px;resize:vertical}
/* Custom select */
.miro-form .miro-form__select-wrap{position:relative;display:block}
.miro-form .miro-form__select-wrap select{width:100%;padding:12px 40px 12px 14px;border:1.5px solid var(--mf-border);border-radius:var(--mf-radius-sm);background:var(--mf-input-bg);color:var(--mf-text);outline:none;appearance:none;-webkit-appearance:none;transition:border-color .15s,box-shadow .15s;font-family:inherit;cursor:pointer;font-size:inherit;box-shadow:none;background-clip:padding-box}
.miro-form .miro-form__select-wrap select:focus{border-color:var(--mf-accent);box-shadow:0 0 0 3px var(--mf-accent-glow)}
.miro-form .miro-form__select-wrap select.is-error{border-color:var(--mf-error);box-shadow:0 0 0 3px rgba(239,68,68,.1)}
.miro-form .miro-form__select-wrap::after{content:'';position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--mf-text);opacity:.5}
.miro-form .miro-form__input:focus,.miro-form input[type="text"]:focus,.miro-form input[type="tel"]:focus,.miro-form input[type="email"]:focus,.miro-form input[type="date"]:focus,.miro-form input[type="number"]:focus,.miro-form textarea:focus{border-color:var(--mf-accent);box-shadow:0 0 0 3px var(--mf-accent-glow)}
.miro-form .miro-form__input.is-error,.miro-form select.is-error,.miro-form textarea.is-error{border-color:var(--mf-error);box-shadow:0 0 0 3px rgba(239,68,68,.1)}
.miro-form__row{display:grid;gap:16px;margin:0 0 14px}
.miro-form__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.miro-form__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.miro-form__col{display:flex;flex-direction:column;gap:14px}
.miro-form__col>.miro-form__group{margin:0}
.miro-form__text-block{margin:0 0 14px;color:var(--mf-text);font-size:15px;line-height:1.65}
.miro-form__heading{margin:0 0 14px}
.miro-form__heading-title{margin:0;line-height:1.2}
.miro-form__choice-list{display:grid;gap:6px}
.miro-form__choice{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 0;background:transparent;border:none;font-size:inherit;font-family:inherit;line-height:1.45}
.miro-form__choice input[type="radio"],.miro-form__choice input[type="checkbox"]{flex-shrink:0;width:16px;height:16px;margin:0;accent-color:var(--mf-accent);cursor:pointer}
.miro-form__choice:hover span{color:var(--mf-accent)}
.miro-form__choice:has(input:checked) span{color:var(--mf-accent);font-weight:600}
.miro-form__toggle{display:flex;align-items:center;gap:10px;cursor:pointer}
.miro-form__toggle-track{width:42px;height:24px;border-radius:999px;background:#cbd5e1;position:relative;display:inline-block}
.miro-form__toggle-thumb{width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.miro-form__toggle input{display:none}
.miro-form__toggle input:checked + .miro-form__toggle-track{background:var(--mf-accent)}
.miro-form__toggle input:checked + .miro-form__toggle-track .miro-form__toggle-thumb{left:21px}
.miro-form__range-header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}
.miro-form__range-output{font-weight:700;color:var(--mf-accent)}
.miro-form__file-hint{margin:6px 0 0;font-size:12px;color:var(--mf-muted)}
.miro-form__policy{padding:4px 0}
.miro-form__policy-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.45}
.miro-form__policy-error{margin-top:8px;color:var(--mf-error);font-size:12px}
.miro-form__footer{margin-top:18px}
.miro-form__policy-wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.miro-form__messages{margin-top:12px}
.miro-form__success{margin:0;padding:12px 14px;border:1px solid #bbf7d0;background:#ecfdf5;color:#065f46;border-radius:var(--mf-radius-sm)}
.miro-form__error-msg{margin:0 0 8px;padding:10px 12px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;border-radius:var(--mf-radius-sm)}
.miro-form__error{display:block;margin-top:6px;color:var(--mf-error);font-size:12px}
.miro-form__submit,.miro-form__repeater-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:none;border-radius:var(--mf-radius-sm);background:linear-gradient(135deg,var(--mf-accent),var(--mf-accent-dark));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(99,102,241,.22)}
.miro-form__submit:disabled{opacity:.7;cursor:not-allowed}
.miro-form__repeater{border:1px solid var(--mf-border);border-radius:var(--mf-radius);padding:14px;background:#fff;margin:0 0 14px}
.miro-form__repeater-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;margin-bottom:10px}
.miro-form__repeater-items{display:grid;gap:12px}
.miro-form__repeater-item{border:1px solid var(--mf-border);border-radius:var(--mf-radius-sm);padding:12px;background:#f8fafc;transition:box-shadow .15s}
.miro-form__repeater-item-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-weight:700}
.miro-form__repeater-remove{width:30px;height:30px;border:none;border-radius:8px;background:#fff1f2;color:#dc2626;cursor:pointer}
.miro-form__repeater-add{margin-top:12px;background:var(--mf-accent)}
/* File upload — custom styled, hides native button */
.miro-form__group--file .miro-file-label{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1.5px solid var(--mf-border);border-radius:var(--mf-radius-sm);background:var(--mf-input-bg);cursor:pointer;transition:border-color .15s,box-shadow .15s;font-family:inherit}
.miro-form__group--file .miro-file-label:hover,.miro-form__group--file input[type="file"]:focus+.miro-file-label{border-color:var(--mf-accent);box-shadow:0 0 0 3px var(--mf-accent-glow)}
.miro-form__group--file .miro-file-icon{flex-shrink:0;opacity:.45;color:var(--mf-text);line-height:1}
.miro-form__group--file .miro-file-text{flex:1;color:var(--mf-muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.miro-form__group--file input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
@media (max-width: 780px){.miro-form__row--2,.miro-form__row--3{grid-template-columns:1fr}.miro-form__footer .miro-form__policy-wrap{flex-direction:column}.miro-form__submit{width:100%}.miro-form__col{gap:10px}}
