@charset "UTF-8";
/* Formlar ve anketler (forms.py). app.css'in v3 sınıflarını (vp-hero, pcard, seg-bar, hist, bar-row, tabs) kullanır;
   burada yalnız forma özel parçalar var. Ön ek: fm- */

/* ── Liste ─────────────────────────────────────────────────────────────── */
.fm-head { align-items: flex-end; }
.fm-card-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--blue-soft); color: var(--navy); font-size: 20px; }
.fm-bar { display: flex; gap: 3px; height: 10px; margin-top: auto; border-radius: 999px; overflow: hidden; }
.fm-bar.is-empty { background: var(--tone-2); }
.fm-seg { display: block; min-width: 8px; height: 100%; border-radius: 3px; background: #C3CEDC; transform-origin: left; animation: fm-grow 1s var(--ease) both; }
.fm-seg.submitted { background: var(--teal); }
.fm-seg.opened { background: #F59E0B; animation-delay: .1s; }
.fm-seg.ready { background: var(--navy); opacity: .28; animation-delay: .2s; }
@keyframes fm-grow { from { transform: scaleX(0); } }
.fm-legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--muted); }
.fm-legend li { display: inline-flex; align-items: center; gap: 6px; }
.fm-legend b { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.fm-tpls { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 14px; }
.fm-tpl { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 20px; background: #fff;
    box-shadow: inset 0 0 0 1px var(--line); color: var(--text); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.fm-tpl:hover { transform: translateY(-3px); color: var(--text); box-shadow: inset 0 0 0 1px var(--line-strong), 0 16px 28px -22px rgba(0, 54, 111, .5); }
.fm-tpl b { color: var(--ink); font-size: 15px; }
.fm-tpl p { font-size: 13px; color: var(--muted); line-height: 1.5; }
.fm-tpl-ic { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 6px; border-radius: 12px; background: var(--teal-soft); color: var(--teal-ink); font-size: 18px; }
.fm-tpl-ic.blank { background: var(--navy); color: #fff; }
.fm-tpl-n { margin-top: auto; padding-top: 6px; font-size: 12px; color: var(--faint); }

/* ── Oluşturucu ────────────────────────────────────────────────────────── */
.fm-builder { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
.fm-meta { display: flex; flex-direction: column; gap: 14px; box-shadow: inset 0 0 0 1px var(--line); }
.fm-date { max-width: 220px; }
.fm-qlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; counter-reset: fmq; }
.fm-qcard { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 16px 16px 14px; border-radius: 18px; background: #fff;
    box-shadow: inset 0 0 0 1px var(--line); animation: fm-in .35s var(--ease); }
.fm-qcard:focus-within { box-shadow: inset 0 0 0 2px var(--teal); }
@keyframes fm-in { from { opacity: 0; transform: translateY(8px); } }
.fm-qtop { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.fm-qno { flex: none; display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 6px; border-radius: 999px; background: var(--navy); color: #fff;
    font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.fm-qno.sm { min-width: 20px; height: 20px; margin-right: 6px; font-size: 11px; }
.fm-qcard input.fm-qlabel { width: 100%; height: 40px; padding: 0 12px; border: 0; border-radius: 10px; background: var(--tone); color: var(--ink); font: inherit; font-weight: 600; font-size: 15px; }
.fm-qtools { display: flex; gap: 2px; }
.fm-qtools button { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--muted); cursor: pointer; }
.fm-qtools button:hover { background: var(--tone-2); color: var(--ink); }
.fm-qtools button.danger:hover { background: var(--red-soft); color: var(--red); }
.fm-qrow { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.fm-qrow select { height: 36px; padding: 0 30px 0 12px; border: 0; border-radius: 10px; background-color: #fff; box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 13.5px; color: var(--ink); }
.fm-qrow label.fm-switch { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text); cursor: pointer; }
.fm-qrow input.fm-qhelp { flex: 1; min-width: 180px; height: 36px; padding: 0 12px; border: 0; border-radius: 10px; box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 13px; }
.fm-qopts textarea { width: 100%; padding: 10px 12px; border: 0; border-radius: 10px; box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 13.5px; line-height: 1.6; resize: vertical; }
.fm-qopts small { display: block; margin-top: 4px; font-size: 12px; color: var(--faint); }
.fm-add { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; padding: 14px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.fm-add-label { margin-right: 6px; font-size: 13px; font-weight: 600; color: var(--ink); }
.fm-add-btn { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 0; border-radius: 999px; background: var(--tone); color: var(--ink);
    font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; transition: background .2s, transform .15s; }
.fm-add-btn:hover { background: var(--blue-soft); color: var(--navy); }
.fm-add-btn:active { transform: scale(.96); }
.fm-add-btn i { color: var(--teal-ink); }
.fm-build-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.fm-build-preview { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 10px; max-height: calc(100vh - 32px); }
.fm-preview-head { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--muted); }
.fm-preview { overflow: auto; padding: 18px; border-radius: 26px; background: var(--tone); box-shadow: inset 0 0 0 6px #fff, inset 0 0 0 7px var(--line); }
.fm-preview h3 { font-size: 17px; }
.fm-preview .fm-pdesc { margin-top: 4px; font-size: 13px; color: var(--muted); }
.fm-preview .fm-q { margin-top: 10px; padding: 14px; }
.fm-preview .fm-q legend { font-size: 14px; }
.fm-preview-empty { padding: 20px 6px; font-size: 13px; color: var(--faint); text-align: center; }

/* ── Ayrıntı ───────────────────────────────────────────────────────────── */
.fm-hero .vp-id h1 { margin-top: 12px; }
.fm-hero .vp-actions form { display: contents; }
.fm-tabs a i { font-size: 15px; }
.fm-tabs .tab-n { margin-left: 6px; display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 7px; border-radius: 999px;
    background: var(--tone-2); color: var(--ink); font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.fm-notice { margin-bottom: 14px; }
.fm-track { box-shadow: inset 0 0 0 1px var(--line); }
.fm-filter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.fm-filter button { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 13px; border: 0; border-radius: 999px; background: #fff;
    box-shadow: inset 0 0 0 1px var(--line); color: var(--text); font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; }
.fm-filter button span { color: var(--faint); font-variant-numeric: tabular-nums; }
.fm-filter button.is-on { background: var(--navy); color: #fff; box-shadow: none; }
.fm-filter button.is-on span { color: rgba(255, 255, 255, .75); }
.fm-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #C3CEDC; font-style: normal; }
.fm-dot.submitted { background: var(--teal); }
.fm-dot.opened { background: #F59E0B; }
.fm-dot.ready { background: rgba(0, 54, 111, .35); }
.fm-rows { list-style: none; margin: 0; padding: 0; }
.fm-row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 6px; border-top: 1px solid var(--line); }
.fm-row:first-child { border-top: 0; }
.fm-row[hidden] { display: none; }
.fm-row-who { display: flex; align-items: center; gap: 12px; min-width: 0; }
.fm-row-who b { display: block; color: var(--ink); font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-row-who span { display: block; font-size: 12.5px; color: var(--muted); }
.fm-row-state { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.fm-row-state .chip { gap: 7px; }
.fm-row-state small { font-size: 12px; color: var(--faint); }
.fm-row-ch { display: flex; flex-wrap: wrap; gap: 6px; }
.fm-ch { display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 9px; border-radius: 999px; font-size: 11.5px; font-weight: 500; background: var(--tone); color: var(--text); cursor: default; }
.fm-ch.no { background: var(--amber-soft); color: var(--amber); }
.fm-row-act { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.fm-row-act form { display: contents; }
.fm-bulk { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--line); }
.fm-off { display: flex; align-items: center; gap: 7px; padding: 10px 12px; border-radius: 12px; background: var(--teal-soft); color: var(--teal-ink); }
.fm-msg { width: min(560px, calc(100vw - 32px)); }
.fm-msg-box { margin-top: 12px; padding: 14px 16px; border-radius: 14px; background: var(--tone); font-size: 13.5px; }
.fm-msg-box p + p { margin-top: 8px; }
.fm-msg-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-bottom: 10px; font-size: 13px; }
.fm-msg-head span { color: var(--muted); }
.fm-msg-subj { font-weight: 600; color: var(--ink); }
.fm-msg-link { font-size: 12.5px; color: var(--teal-ink); overflow-wrap: anywhere; }
.fm-send { width: min(560px, calc(100vw - 32px)); }
.fm-who { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; }
.fm-who label, .fm-stages label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.fm-stages { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: var(--tone); font-size: 13.5px; }
.fm-channels { display: flex; flex-direction: column; gap: 8px; }
.fm-channels label { display: grid; grid-template-columns: auto 20px minmax(0, 1fr); gap: 10px; align-items: center; padding: 10px 12px; border-radius: 12px;
    box-shadow: inset 0 0 0 1px var(--line); cursor: pointer; }
.fm-channels label:has(input:checked) { box-shadow: inset 0 0 0 2px var(--teal); background: var(--teal-soft); }
.fm-channels label.is-fixed { cursor: default; }
.fm-channels i { color: var(--navy); font-size: 17px; }
.fm-channels b { display: block; font-size: 13.5px; color: var(--ink); }
.fm-channels small { display: block; font-size: 12px; color: var(--muted); }
.fm-toast { position: fixed; z-index: 400; left: 50%; bottom: 28px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px;
    border-radius: 999px; background: var(--ink); color: #fff; font-size: 14px; animation: fm-toast .3s var(--ease); }
@keyframes fm-toast { from { opacity: 0; transform: translate(-50%, 10px); } }

.fm-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr)); gap: 16px; align-items: start; }
.fm-res { box-shadow: inset 0 0 0 1px var(--line); }
.fm-res-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; }
.fm-res-head h3 { font-size: 15px; line-height: 1.35; }
.fm-res-head .small i { margin-right: 2px; }
.fm-res .bar-row .val { white-space: nowrap; }
.fm-hbars { display: flex; flex-direction: column; gap: 12px; }
.fm-hbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; align-items: baseline; }
.fm-hbar-l { font-size: 13.5px; font-weight: 500; color: var(--ink); }
.fm-hbar-v { font-size: 12.5px; color: var(--faint); white-space: nowrap; font-variant-numeric: tabular-nums; }
.fm-hbar-v b { margin-right: 4px; font-size: 14px; color: var(--ink); }
.fm-hbar-t { grid-column: 1 / -1; height: 8px; border-radius: 999px; background: var(--tone-2); overflow: hidden; }
.fm-hbar-t span { display: block; height: 100%; border-radius: inherit; background: var(--navy); opacity: .55; transform-origin: left; animation: fm-grow 1s var(--ease) both; }
.fm-hbar.is-top .fm-hbar-t span { background: var(--teal); opacity: 1; }
.fm-hist { display: grid; gap: 8px; align-items: end; height: 160px; }
.fm-hist-col { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; min-width: 0; }
.fm-hist-col b { font-size: 13px; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.fm-hist-col small { font-size: 11px; color: var(--faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.fm-hist-t { flex: 1; width: 100%; display: flex; align-items: flex-end; border-radius: 8px; background: var(--tone); overflow: hidden; }
.fm-hist-t span { display: block; width: 100%; border-radius: 8px; background: var(--teal); transform-origin: bottom; animation: fm-rise 1s var(--ease) both; }
@keyframes fm-rise { from { transform: scaleY(0); } }
.fm-dist { display: grid; grid-template-columns: minmax(0, 1fr) 140px; gap: 18px; align-items: end; }
.fm-avg { display: flex; flex-direction: column; gap: 2px; padding: 14px; border-radius: 14px; background: var(--tone); }
.fm-avg span { font-size: 12px; color: var(--muted); }
.fm-avg b { font-size: clamp(20px, 2.2vw, 28px); overflow-wrap: anywhere; font-weight: 600; color: var(--ink); line-height: 1.1; font-variant-numeric: tabular-nums; }
.fm-avg small { font-size: 11.5px; color: var(--faint); }
.fm-res.is-text { grid-column: 1 / -1; }
.fm-texts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 8px; }
.fm-texts li { padding: 12px 14px; border-radius: 14px; background: var(--tone); }
.fm-texts li[hidden] { display: none; }
.fm-texts b { display: block; font-size: 12.5px; color: var(--navy); }
.fm-texts p { margin-top: 3px; font-size: 13.5px; color: var(--text); line-height: 1.5; white-space: pre-line; }

.fm-answers { box-shadow: inset 0 0 0 1px var(--line); padding: 8px; }
.fm-scroll { overflow-x: auto; }
.fm-table { min-width: 100%; }
.fm-table th { min-width: 160px; white-space: nowrap; font-size: 12.5px; }
.fm-table th:first-child { position: sticky; left: 0; z-index: 1; background: #fff; min-width: 200px; }
.fm-table td:first-child { position: sticky; left: 0; background: #fff; }
.fm-table td { vertical-align: top; font-size: 13px; max-width: 320px; }
.fm-table tr:target td { background: var(--teal-soft); }
.fm-cell-who { display: inline-flex; align-items: center; gap: 10px; }
.fm-cell-who b { color: var(--ink); }
.nowrap { white-space: nowrap; }

.fm-ai { box-shadow: inset 0 0 0 1px var(--line); }
.fm-ai .panel-head h2 { display: inline-flex; align-items: center; gap: 8px; }
.fm-ai .panel-head h2 i { color: var(--teal-ink); }
.fm-ai-sum { margin-top: 16px; padding: 18px 20px; border-radius: 18px; background: var(--navy); color: #fff; }
.fm-ai-sum p { font-size: 15px; line-height: 1.6; }
.fm-ai-sum small { display: block; margin-top: 8px; font-size: 12px; color: rgba(255, 255, 255, .7); }
.fm-ai-qs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 14px; margin-top: 16px; }
.fm-ai-q { display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.fm-ai-q header { display: flex; gap: 10px; align-items: flex-start; }
.fm-ai-q h3 { font-size: 14.5px; line-height: 1.35; }
.fm-ai-q > p { font-size: 13.5px; line-height: 1.55; }
.fm-themes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fm-themes li { display: grid; grid-template-columns: minmax(0, 1fr) 90px 24px; gap: 10px; align-items: center; font-size: 13px; }
.fm-theme-l { color: var(--ink); font-weight: 500; }
.fm-theme-bar { height: 6px; border-radius: 6px; background: var(--tone-2); overflow: hidden; }
.fm-theme-bar span { display: block; height: 100%; border-radius: inherit; background: var(--teal); transform-origin: left; animation: grow 1s var(--ease) both; }
.fm-themes b { text-align: right; color: var(--ink); font-variant-numeric: tabular-nums; }
.fm-quotes { display: flex; flex-direction: column; gap: 8px; }
.fm-quotes blockquote { margin: 0; padding: 10px 14px; border-left: 3px solid var(--teal); border-radius: 0 12px 12px 0; background: var(--tone); }
.fm-quotes p { font-size: 13px; color: var(--text); font-style: italic; }
.fm-quotes cite { display: block; margin-top: 4px; font-size: 12px; font-style: normal; color: var(--muted); }
.fm-gap { display: flex; gap: 7px; font-size: 12.5px; color: var(--amber); }

/* ── Doldurma ──────────────────────────────────────────────────────────── */
.fm-fill { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.fm-fill-brand { display: flex; justify-content: center; padding-top: 4px; }
.fm-fill-head { position: relative; overflow: hidden; padding: 26px; border-radius: 26px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.fm-fill-head::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--navy); }
.fm-fill-org { display: flex; align-items: center; gap: 12px; }
.fm-fill-org .prog-logo { width: 96px; height: 46px; }
.fm-fill-org .prog-logo img { max-width: 80px; max-height: 32px; }
.fm-fill-org b { display: block; font-size: 13.5px; color: var(--ink); }
.fm-fill-org small { display: block; font-size: 12.5px; color: var(--muted); }
.fm-fill-head h1 { margin-top: 18px; font-size: clamp(24px, 3vw, 30px); letter-spacing: -.02em; }
.fm-fill-desc { margin-top: 8px; color: var(--text); line-height: 1.6; white-space: pre-line; }
.fm-fill-head .chips { margin-top: 14px; }
.fm-fill-head .chip .logo.xs { margin-left: -4px; }
.fm-fill-form { display: flex; flex-direction: column; gap: 12px; }
.fm-progress { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 12px; padding: 10px 4px; background: var(--bg); }
.fm-progress-bar { flex: 1; height: 8px; border-radius: 999px; background: var(--tone-2); overflow: hidden; }
.fm-progress-bar span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--teal); transition: width .5s var(--ease); }
.fm-progress small { min-width: 48px; text-align: right; font-size: 12.5px; font-weight: 600; color: var(--muted); font-variant-numeric: tabular-nums; }
.fm-q { margin: 0; display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 0; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--line);
    transition: box-shadow .25s var(--ease); }
.fm-q:focus-within { box-shadow: inset 0 0 0 2px var(--teal); }
.fm-q.has-error { box-shadow: inset 0 0 0 2px var(--red); }
.fm-q.is-answered .fm-qno { background: var(--teal); }
.fm-q legend { display: flex; gap: 10px; align-items: flex-start; padding: 0; font-size: 15.5px; font-weight: 600; color: var(--ink); line-height: 1.4; float: left; width: 100%; }
.fm-q legend + * { clear: both; }
.fm-req { color: var(--red); font-style: normal; }
.fm-help { font-size: 13px; color: var(--muted); }
.fm-q .input { width: 100%; min-height: 44px; padding: 10px 14px; border: 0; border-radius: 12px; background: var(--tone); box-shadow: inset 0 0 0 1px var(--line);
    font: inherit; font-size: 15px; color: var(--ink); }
.fm-q textarea.input { resize: vertical; line-height: 1.55; }
.fm-q .input:focus { outline: none; background: #fff; box-shadow: inset 0 0 0 2px var(--teal); }
.fm-num { max-width: 240px; }
.fm-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.fm-opts label, .fm-scale label { position: relative; cursor: pointer; }
.fm-opts input, .fm-scale input { position: absolute; opacity: 0; pointer-events: none; }
.fm-opts span { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 16px; border-radius: 999px; background: var(--tone); box-shadow: inset 0 0 0 1px var(--line);
    font-size: 14px; color: var(--ink); transition: background .2s, box-shadow .2s, transform .15s; }
.fm-opts label:hover span { background: var(--blue-soft); }
.fm-opts input:checked + span { background: var(--navy); color: #fff; box-shadow: none; }
.fm-opts .is-multi input:checked + span::before { content: "✓"; font-weight: 700; }
.fm-opts input:focus-visible + span, .fm-scale input:focus-visible + span { outline: 2px solid var(--teal); outline-offset: 2px; }
.fm-opts label:active span, .fm-scale label:active span { transform: scale(.96); }
.fm-yesno span { min-width: 92px; justify-content: center; }
.fm-scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; max-width: 420px; }
.fm-scale span { display: grid; place-items: center; height: 48px; border-radius: 14px; background: var(--tone); box-shadow: inset 0 0 0 1px var(--line);
    font-size: 17px; font-weight: 600; color: var(--ink); transition: background .2s, transform .15s; }
.fm-scale label:hover span { background: var(--blue-soft); }
.fm-scale input:checked + span { background: var(--navy); color: #fff; box-shadow: none; }
.fm-scale-ends { display: flex; justify-content: space-between; max-width: 420px; font-size: 12px; color: var(--faint); }
.fm-err { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--red); }
.fm-submit { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 6px 2px 20px; }
.fm-submit .btn { height: 46px; padding: 0 26px; font-size: 15px; }
.fm-submit small { font-size: 12.5px; color: var(--muted); }
.fm-done { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 26px; border-radius: 24px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.fm-done-ic { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--teal); color: #fff; font-size: 26px; animation: fm-pop .5s var(--ease); }
.fm-done.is-view .fm-done-ic { background: var(--blue-soft); color: var(--navy); }
@keyframes fm-pop { from { transform: scale(.4); opacity: 0; } }
.fm-done h2 { font-size: 20px; }
.fm-done p { color: var(--muted); }
.fm-view { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.fm-view li { display: flex; gap: 12px; padding: 16px 18px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.fm-view b { color: var(--ink); }
.fm-view p { margin-top: 4px; color: var(--text); white-space: pre-line; }

/* ── Program alanı kartı ───────────────────────────────────────────────── */
.fm-space { box-shadow: inset 0 0 0 2px var(--teal); }
.fm-space-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.fm-space-list li { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.fm-space-list li:first-child { border-top: 0; padding-top: 0; }
.fm-space-list b { display: block; color: var(--ink); font-size: 14px; }
.fm-space-list small { display: block; font-size: 12px; color: var(--muted); }
.fm-space-ic { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--amber-soft); color: var(--amber); }
.fm-space-list li.is-done .fm-space-ic { background: var(--teal-soft); color: var(--teal-ink); }

@media (max-width: 1100px) {
    .fm-builder { grid-template-columns: minmax(0, 1fr); }
    .fm-build-preview { position: static; max-height: none; }
}
@media (max-width: 760px) {
    .fm-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "who state" "ch ch" "act act"; gap: 8px 10px; }
    .fm-row-who { grid-area: who; }
    .fm-row-state { grid-area: state; align-items: flex-end; }
    .fm-row-ch { grid-area: ch; }
    .fm-row-act { grid-area: act; justify-content: flex-start; }
    .fm-dist { grid-template-columns: minmax(0, 1fr); }
    .fm-results, .fm-ai-qs { grid-template-columns: minmax(0, 1fr); }
    .fm-bulk { flex-direction: column; align-items: stretch; }
    .fm-fill-head { padding: 20px; border-radius: 22px; }
    .fm-q { padding: 16px; border-radius: 18px; }
    .fm-opts { flex-direction: column; }
    .fm-opts span { width: 100%; }
    .fm-submit .btn { width: 100%; }
    .fm-table thead { display: none; }
    .fm-table, .fm-table tbody, .fm-table tr, .fm-table td { display: block; }
    .fm-table tr { padding: 12px 6px; border-bottom: 1px solid var(--line); }
    .fm-table td { max-width: none; padding: 4px 0 !important; border: 0 !important; position: static !important; }
    .fm-table td[data-q]::before { content: attr(data-q); display: block; font-size: 11.5px; font-weight: 600; color: var(--muted); }
}
@media (prefers-reduced-motion: reduce) { .fm-qcard, .fm-done-ic, .fm-toast, .fm-seg, .fm-theme-bar span, .fm-hbar-t span, .fm-hist-t span { animation: none; } .fm-progress-bar span { transition: none; } }
.fm-file { display: flex; flex-direction: column; gap: 8px; }
.fm-file input[type=file] { padding: 10px; }
.fm-file-cur { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0; font-size: 14px; color: var(--ink); }
.fm-file-cur i { color: var(--teal); }
.fm-file-cur small { color: var(--muted); font-size: 12.5px; }
