.fm-flow[data-theme]{--fm-radius:18px;--fm-radius-sm:11px;--fm-theme-shadow:0 18px 56px #3027190b;max-width:760px;min-width:0;width:100%;padding:14px;line-height:1.8}
.fm-flow[data-theme] .fm-step{box-shadow:var(--fm-theme-shadow);border-radius:var(--fm-radius);background:var(--fm-surface)}
.fm-flow[data-theme] .fm-field-group>label{font-size:13px;letter-spacing:-.15px}
.fm-flow[data-theme] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){transition:border-color .18s,box-shadow .18s;background:var(--fm-bg);border-color:var(--fm-border)}
.fm-flow[data-theme] :is(input,select,textarea):focus-visible{outline:2px solid var(--fm-primary);outline-offset:3px;box-shadow:0 0 0 5px color-mix(in srgb,var(--fm-primary) 12%,transparent)}
.fm-flow[data-theme] .fm-progress{gap:8px;padding:12px;border-radius:var(--fm-radius);margin-bottom:22px}
.fm-flow[data-theme] .fm-btn{min-height:48px;padding:12px 26px;letter-spacing:-.15px;border-radius:var(--fm-radius-sm);transition:transform .18s,box-shadow .18s}
.fm-flow[data-theme] .fm-btn:hover{transform:translateY(-1px)}
.fm-flow[data-theme] .fm-btn:focus-visible{outline:2px solid var(--fm-primary);outline-offset:4px}
.fm-flow[data-theme=classic]{--fm-primary:#aa7a2b;--fm-primary-dark:#80591a;--fm-bg:#fbf8f1;--fm-border:#e7decd;--fm-ink:#332b20;--fm-muted:#857665;--fm-radius:14px;--fm-radius-sm:8px}
.fm-flow[data-theme=classic] .fm-step{border-top:3px solid #c4a66e}
.fm-flow[data-theme=classic] .fm-progress{background:#f8f3e8;border:1px solid #e7decd}
.fm-flow[data-theme=modern]{--fm-primary:#7052e8;--fm-primary-dark:#5132b7;--fm-bg:#f8f7fe;--fm-border:#e6e1f5;--fm-ink:#26213d;--fm-muted:#79728c;--fm-radius:26px;--fm-radius-sm:14px;--fm-theme-shadow:0 24px 72px #5740a914}
.fm-flow[data-theme=modern] .fm-step{border:1px solid #e7e1f7;background:linear-gradient(155deg,#faf8ff 0,#fff 28%)}
.fm-flow[data-theme=modern] .fm-progress{background:#f1edfd;border:1px solid #e8e1fa}
.fm-flow[data-theme=modern] .fm-btn-next{background:linear-gradient(120deg,#8267f0,#5835bf);box-shadow:0 7px 20px #7052e82b;border:0}
.fm-flow[data-theme=modern] .fm-progress-item.is-current .fm-progress-bullet{box-shadow:0 0 0 5px #7052e812}
.fm-flow[data-theme=formal]{--fm-primary:#334155;--fm-primary-dark:#172235;--fm-bg:#fff;--fm-border:#d9dee5;--fm-ink:#202936;--fm-muted:#697586;--fm-radius:5px;--fm-radius-sm:4px;--fm-theme-shadow:none}
.fm-flow[data-theme=formal] .fm-step{border:1px solid #d9dee5;border-top:4px solid #334155}
.fm-flow[data-theme=formal] .fm-progress{border-bottom:1px solid #d9dee5;border-radius:0;padding:12px 0}
.fm-flow[data-theme=formal] .fm-btn-next{background:#334155;box-shadow:none}
.fm-flow[data-theme=formal] .fm-financial-summary{border-radius:5px}
.fm-flow[data-theme=corporate]{--fm-primary:#176c91;--fm-primary-dark:#104c68;--fm-bg:#f4f9fc;--fm-border:#d5e5ee;--fm-ink:#17394b;--fm-muted:#698291;--fm-radius:16px;--fm-radius-sm:9px;--fm-theme-shadow:0 16px 40px #164c6b0c}
.fm-flow[data-theme=corporate] .fm-step{border-inline-start:4px solid #20a296;border-top:1px solid #d5e5ee}
.fm-flow[data-theme=corporate] .fm-progress{background:#edf6fa;border:1px solid #d5e5ee}
.fm-flow[data-theme=corporate] .fm-btn-next{background:linear-gradient(115deg,#176c91,#168478);box-shadow:0 5px 14px #176c911a}
.fm-flow[data-theme=corporate] .fm-progress-item.is-done .fm-progress-bullet{background:#168478}
@media(max-width:600px){.fm-flow[data-theme]{padding:4px}.fm-flow[data-theme] .fm-step{padding:20px 16px}.fm-flow[data-theme] .fm-progress{padding:8px;gap:4px}}
@media(prefers-reduced-motion:reduce){.fm-flow[data-theme] *{transition:none!important;animation:none!important}}

/* Palette overrides are shared by all six templates. */
.fm-flow[data-theme][data-palette=ocean]{--fm-primary:#14628a;--fm-primary-dark:#104969;--fm-secondary:#317da8;--fm-bg:#f0f7fc;--fm-border:#d2e1eb;--fm-ink:#193747;--fm-muted:#5c7280}
.fm-flow[data-theme][data-palette=jade]{--fm-primary:#176b57;--fm-primary-dark:#104c3e;--fm-secondary:#538b69;--fm-bg:#f2f8f4;--fm-border:#d4e4db;--fm-ink:#213b30;--fm-muted:#607769}
.fm-flow[data-theme][data-palette=iris]{--fm-primary:#6547b4;--fm-primary-dark:#493183;--fm-secondary:#9375ce;--fm-bg:#f7f4fc;--fm-border:#e1d9ef;--fm-ink:#302540;--fm-muted:#756786}
.fm-flow[data-theme][data-palette=rose]{--fm-primary:#a04063;--fm-primary-dark:#792e49;--fm-secondary:#ba7590;--fm-bg:#fcf3f6;--fm-border:#edd9e1;--fm-ink:#422b34;--fm-muted:#866976}
.fm-flow[data-theme][data-palette=copper]{--fm-primary:#92532c;--fm-primary-dark:#6c3b1c;--fm-secondary:#b48155;--fm-bg:#faf5ef;--fm-border:#e8ddd1;--fm-ink:#3c3027;--fm-muted:#817061}
.fm-flow[data-theme][data-palette=graphite]{--fm-primary:#374151;--fm-primary-dark:#202936;--fm-secondary:#74818e;--fm-bg:#f4f6f8;--fm-border:#dce1e6;--fm-ink:#242c36;--fm-muted:#6b7581}
.fm-flow[data-theme][data-palette]:not([data-palette=default]) .fm-progress{background:var(--fm-bg);border-color:var(--fm-border)}
.fm-flow[data-theme][data-palette]:not([data-palette=default]) .fm-step{border-color:var(--fm-border);border-top-color:var(--fm-primary)}
.fm-flow[data-theme][data-palette]:not([data-palette=default]) .fm-btn-next{background:var(--fm-primary);background:linear-gradient(125deg,var(--fm-primary),var(--fm-primary-dark));box-shadow:0 7px 18px color-mix(in srgb,var(--fm-primary) 18%,transparent)}
.fm-flow[data-theme=modern][data-palette]:not([data-palette=default]) .fm-step{background:linear-gradient(155deg,var(--fm-bg),#fff 35%)}
.fm-flow[data-theme=formal][data-palette]:not([data-palette=default]) .fm-btn-next{background:var(--fm-primary);box-shadow:none}
.fm-flow[data-theme=corporate][data-palette]:not([data-palette=default]) .fm-step{border-inline-start-color:var(--fm-secondary)}

/* Liquid glass: opaque text, layered light and frosted controls. */
.fm-flow[data-theme=glass]{--fm-primary:#375da5;--fm-primary-dark:#253e75;--fm-secondary:#81b6b9;--fm-bg:#f0f5fb;--fm-border:#cfdaea;--fm-ink:#233450;--fm-muted:#64758b;--fm-radius:30px;--fm-radius-sm:15px;position:relative;isolation:isolate;padding:28px;border-radius:40px;background:radial-gradient(ellipse at 8% 12%,color-mix(in srgb,var(--fm-secondary) 35%,transparent),transparent 53%),radial-gradient(ellipse at 100% 80%,color-mix(in srgb,var(--fm-primary) 26%,transparent),transparent 60%),var(--fm-bg);--fm-theme-shadow:0 24px 70px #23345017,inset 0 1px 0 #ffffffee}
.fm-flow[data-theme=glass] .fm-step{position:relative;isolation:isolate;border:1px solid #ffffffb8;background:#ffffffb8;background:linear-gradient(135deg,#ffffffdf,#ffffffa8);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);overflow:hidden}
.fm-flow[data-theme=glass] .fm-step::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at var(--fm-light-x,15%) var(--fm-light-y,0%),#ffffffc9,transparent 60%);box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #ffffff8a,inset 0 -1px 0 #ffffff70}
.fm-flow[data-theme=glass] .fm-progress{background:#ffffff8a;border:1px solid #ffffffcc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:24px;box-shadow:inset 0 1px 0 #fff,0 6px 20px #23345008}
.fm-flow[data-theme=glass] .fm-field-group :is(input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea,.fm-jalali-trigger){background:#ffffff87;border-color:color-mix(in srgb,var(--fm-primary) 15%,#ffffffb8);border-radius:var(--fm-radius-sm);box-shadow:inset 0 1px 2px #23345004,0 1px 0 #ffffffb0}
.fm-flow[data-theme=glass] .fm-btn-next{background:linear-gradient(130deg,var(--fm-primary),var(--fm-primary-dark));border:1px solid #ffffff6b;box-shadow:0 8px 20px color-mix(in srgb,var(--fm-primary) 23%,transparent),inset 0 1px 0 #ffffff5c;border-radius:999px}
.fm-flow[data-theme=glass] .fm-jalali-panel{background:#ffffffed;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-color:#ffffffc9;box-shadow:0 16px 40px #23345014,inset 0 1px 0 #fff}
.fm-flow[data-theme=glass] .fm-step h3{border:0;padding:0;font-size:22px;letter-spacing:-.5px}
.fm-flow[data-theme=glass] .fm-progress-item.is-current .fm-progress-bullet{box-shadow:0 0 0 4px color-mix(in srgb,var(--fm-primary) 12%,transparent)}

/* Atelier: calm editorial spacing and fine architectural lines. */
.fm-flow[data-theme=atelier]{--fm-primary:#765a43;--fm-primary-dark:#513d2e;--fm-secondary:#aa927c;--fm-bg:#f8f5f0;--fm-border:#e5ded5;--fm-ink:#362e28;--fm-muted:#81746a;--fm-radius:10px;--fm-radius-sm:7px;--fm-theme-shadow:0 18px 48px #362e2807;padding:18px}
.fm-flow[data-theme=atelier] .fm-step{border:1px solid var(--fm-border);border-top:0;padding:38px 34px;background:linear-gradient(180deg,var(--fm-bg),#fff 145px)}
.fm-flow[data-theme=atelier] .fm-step h3{border:0;padding:0 0 22px;margin-bottom:28px;border-bottom:1px solid var(--fm-border);font-size:25px;letter-spacing:-.7px;line-height:1.65}
.fm-flow[data-theme=atelier] .fm-progress{background:transparent;border:0;border-bottom:1px solid var(--fm-border);border-radius:0;padding-bottom:18px;gap:18px}
.fm-flow[data-theme=atelier] .fm-field-group{margin-bottom:26px}.fm-flow[data-theme=atelier] .fm-field-group>label{font-size:12px;font-weight:500;margin-bottom:10px;color:var(--fm-muted)}
.fm-flow[data-theme=atelier] .fm-btn-next{border:0;background:var(--fm-primary);border-radius:7px;box-shadow:none;min-width:180px}
.fm-flow[data-theme=atelier] .fm-actions{border-top:1px solid var(--fm-border);padding-top:24px}

/* Only validation feedback is visually hidden; service errors remain readable. */
.fm-flow[data-theme] [data-validation-feedback]{display:block!important;position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;animation:none!important}
.fm-flow[data-theme] .fm-field-group.has-success :is(input:not([type=hidden]):not([readonly]),select,textarea,.fm-jalali-trigger){border-color:var(--fm-success)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--fm-success) 15%,transparent);background-color:var(--fm-bg)}
.fm-flow[data-theme] .fm-field-group.has-error :is(input:not([type=hidden]),select,textarea,.fm-jalali-trigger){border-color:var(--fm-danger)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--fm-danger) 18%,transparent);background-color:var(--fm-bg)}
.fm-flow[data-theme] .fm-field-group :is(input,select,textarea,.fm-jalali-trigger){transition:border-color .24s ease,box-shadow .24s ease,background-color .24s ease}
.fm-flow[data-theme] .fm-step.fm-motion-step{animation:none}
.fm-flow[data-theme] .fm-jalali-panel.fm-motion-panel{animation:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.fm-flow[data-theme=glass] .fm-step{background:#fdfefe}.fm-flow[data-theme=glass] .fm-progress{background:#f7fafc}}
@media(max-width:600px){.fm-flow[data-theme=glass]{padding:14px;border-radius:26px}.fm-flow[data-theme=glass] .fm-step{padding:24px 18px;border-radius:22px}.fm-flow[data-theme=atelier]{padding:4px}.fm-flow[data-theme=atelier] .fm-step{padding:26px 18px}.fm-flow[data-theme=atelier] .fm-step h3{font-size:21px}.fm-flow[data-theme=atelier] .fm-progress{gap:6px}}
@media(prefers-reduced-transparency:reduce){.fm-flow[data-theme=glass] .fm-step,.fm-flow[data-theme=glass] .fm-progress{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.fm-flow[data-theme] .fm-field-group :is(input,select,textarea,.fm-jalali-trigger){transition:none!important}.fm-flow[data-theme] .fm-btn:hover{transform:none}}
.fm-flow .fm-field-group[hidden]{display:none!important}
