/* Setup steps 4–6 and Settings · First message. Layout only: tokens and components come from ic.css.
   s4- step 4 campaigns, fm- the shared first-message editor and preview, s6- step 6 sending. */

/* ---------- first-message editor (fm-) ---------- */
.ic-page.rail.fm-rail,.ic-railgrid.fm-grid{grid-template-columns:minmax(0,1fr) 470px;gap:28px}
.fm-head{grid-column:1/-1}
.fm-sub{max-width:620px}
.fm-h2{font-family:var(--ic-display);font-size:26px}
.fm-main{gap:18px}
.fm-scope{display:flex;flex-direction:column;gap:6px;min-width:220px;max-width:320px}
.fm-scope-label{font-size:13px;font-weight:600;color:var(--ic-ink-3)}
.fm-scope-value{display:flex;align-items:center;min-height:42px;box-sizing:border-box;padding:0 12px;border-radius:10px;border:1px solid var(--ic-field);background:#fff;font-size:14px;color:var(--ic-ink)}
.ic-app .ic-select.fm-scope-pick{min-height:42px}
.fm-scope-note{font-size:13px;color:var(--ic-amber-text)}

/* A campaign's own message: each part says whether it follows the default, and locks when it does. */
.fm-part-head{flex-wrap:wrap;row-gap:6px}
.fm-part{margin-left:auto;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 4px 4px 10px;border-radius:999px;border:1px solid var(--ic-line);background:var(--ic-surface-2)}
.fm-part.own{border-color:var(--ic-blue-line);background:var(--ic-blue-bg)}
.fm-part-state{font-size:12px;font-weight:700;color:var(--ic-ink-3)}
.fm-part.own .fm-part-state{color:var(--ic-blue-ink)}
.fm-part .ic-link{padding:2px 8px}
.fm-fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:14px}
.fm-fieldset:disabled .ic-textarea,.fm-fieldset:disabled .ic-input,.fm-fieldset:disabled .ic-select{background:var(--ic-surface-2);color:var(--ic-ink-2)}
.fm-campaigns{display:flex;flex-direction:column;gap:8px}
.fm-campaign{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;border:1px solid var(--ic-line);text-decoration:none;color:var(--ic-ink)}
.fm-campaign:hover{border-color:var(--ic-blue-line)}
.fm-campaign-name{font-size:14px;font-weight:600;flex:1 1 220px;min-width:0}
.fm-campaign-state{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--ic-surface-2);color:var(--ic-ink-3)}
.fm-campaign-state.own{background:var(--ic-blue-bg);color:var(--ic-blue-ink)}
.fm-campaign-state.clash{background:var(--ic-amber-bg);color:var(--ic-amber-ink)}

/* 1. channel order */
.fm-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ic-choice.fm-order{flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px}
.fm-order-top{width:100%;flex-wrap:wrap;row-gap:4px}
.fm-order-top>.ic-grow{flex:1 1 150px}
.fm-order-top>.ic-pill{margin-left:auto}
.fm-order .ic-radio{margin-top:0}
.fm-order[aria-checked=true] .ic-radio{border:6px solid var(--ic-blue)}
.fm-order-help{font-size:13px;line-height:1.45;color:var(--ic-ink-3);padding-left:28px}
.ic-pill.fm-pill-sm{font-size:11px;padding:2px 7px}
.fm-seqbox{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:12px;background:var(--ic-surface-2)}
.ic-app .ic-select.fm-delay-select{width:auto;min-width:150px}
.fm-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;color:var(--ic-ink-2)}

/* 2. instructions */
.ic-app .ic-textarea.fm-ta2{min-height:70px}
.ic-app .ic-textarea.fm-ta3{min-height:92px}
.fm-quick{height:34px;max-width:100%;padding:0 12px;border-radius:99px;border:1px dashed #B9B7B0;background:#fff;font-size:13px;color:var(--ic-ink);cursor:pointer;font-family:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-quick:hover{border-color:var(--ic-blue);color:var(--ic-blue-ink)}
.fm-details>summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ic-blue);padding:6px 0}
.fm-details[open]>summary{margin-bottom:10px}
.fm-brief-pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.55;background:var(--ic-surface-2);border:1px solid var(--ic-line-2);border-radius:10px;padding:12px 14px;margin:0 0 6px;color:var(--ic-ink-2)}

/* 3. how it sounds */
.fm-tones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ic-choice.fm-tone{flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px}
.fm-tone-sample{font-size:13px;line-height:1.4;color:var(--ic-ink-3);font-style:italic;overflow-wrap:anywhere}
.fm-pair{gap:16px}
.fm-pair .ic-seg>button{height:38px;padding:0 14px}

/* 4. what to include */
.fm-file{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--ic-line)}
.fm-file.on{background:var(--ic-blue-tint);border-color:var(--ic-blue-line)}
.fm-file.off{background:var(--ic-surface-2)}
.fm-file.none{background:var(--ic-surface-2);border:1px dashed var(--ic-field)}
.ic-tile.fm-tile-off{background:var(--ic-line-4);color:var(--ic-ink-4)}
.fm-box{width:24px;height:24px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box;padding:0;background:#fff;border:1.5px solid var(--ic-ink-5);color:#fff}
.fm-box[aria-checked=true]{background:var(--ic-blue);border:none}
.fm-box:disabled{cursor:not-allowed;opacity:.45}
.fm-break{overflow-wrap:anywhere}
.fm-inset{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;background:var(--ic-surface-2)}
.fm-divided{padding-top:12px;border-top:1px solid var(--ic-line-2)}
/* the "add a photo or catalogue" card, and the one-file WhatsApp choice */
.fm-nudge{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;background:var(--ic-green-tint);border:1px solid var(--ic-green-line)}
button.fm-file{width:100%;box-sizing:border-box;font:inherit;color:inherit;text-align:left;cursor:pointer}
button.fm-file:disabled{cursor:not-allowed}
.fm-left{text-align:left;min-width:0}
.fm-wa-img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:8px}
.fm-wa-bubble.fm-wa-doc{flex-direction:row;align-items:center;gap:10px;min-width:220px}

/* 5. signature */
.fm-logo-row{min-height:44px}
.fm-upload{position:relative;cursor:pointer}
.fm-upload:focus-within{outline:3px solid #86A8FF;outline-offset:2px}
.fm-sig-card{margin-top:20px}
.fm-sig-more{padding-top:4px}
.fm-sig-frame{display:block;width:100%;height:300px;box-sizing:border-box;border:1px solid var(--ic-line);border-radius:10px;background:#fff}
.fm-sig-frame.tall{height:480px}
.fm-sig-details>summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ic-ink-2)}
.fm-sig-pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;margin:8px 0 0}
.fm-sig-sample{padding-top:10px}

/* compact channel plan and free-text brief, used beside single drafts and in older settings */
.fm-seq-line{display:flex;flex-wrap:wrap;gap:6px 12px;padding:10px 12px;border-radius:10px;background:var(--ic-surface-2);font-size:13px;color:var(--ic-ink-2)}

/* preview rail */
.fm-aside{gap:14px}
.fm-preview{gap:12px}
.fm-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fm-steps li{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--ic-surface-2)}
.fm-chan{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;flex-shrink:0}
.fm-chan.email{background:var(--ic-blue-bg);color:var(--ic-blue-ink)}
.fm-chan.wa{background:#E7F6EF;color:#0E6B45}
.fm-ptabs{display:flex;gap:4px;padding:3px;border-radius:10px;background:var(--ic-line-4)}
.fm-ptabs button{flex:1 1 0;min-width:0;height:36px;border-radius:8px;border:none;font-size:14px;font-weight:600;cursor:pointer;background:transparent;color:var(--ic-ink-2);font-family:inherit}
.fm-ptabs button[aria-selected=true]{background:#fff;color:var(--ic-ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.fm-mail{display:flex;flex-direction:column;border:1px solid var(--ic-line);border-radius:12px;overflow:hidden;background:#fff}
.fm-mail-head{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-bottom:1px solid var(--ic-line-2);background:var(--ic-surface-2);font-size:13px;overflow-wrap:anywhere}
.fm-mail-subject{font-size:15px;font-weight:700;padding-top:2px;color:var(--ic-ink-4);font-style:italic}
.fm-mail-body{display:flex;flex-direction:column;gap:10px;padding:16px 14px}
.fm-para{font-size:14px;line-height:1.6;color:var(--ic-ink);overflow-wrap:anywhere;white-space:pre-line}
.fm-para.ph{color:var(--ic-ink-4);font-style:italic}
.fm-attach{display:inline-flex;align-items:center;gap:8px;min-height:36px;max-width:100%;box-sizing:border-box;padding:4px 12px;border-radius:8px;border:1px solid var(--ic-line);background:var(--ic-surface-2);font-size:13px;font-weight:600;overflow-wrap:anywhere}
.fm-attach-pdf{font-size:10px;font-weight:800;color:var(--ic-red-ink)}
.fm-mail .fm-sig-frame{height:270px;border:none;border-top:1px solid var(--ic-line-2);border-radius:0}
.fm-wa{border-radius:12px;background:#EFE7DD;padding:14px;min-height:200px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.fm-wa-bubble{max-width:330px;display:flex;flex-direction:column;gap:6px;background:#D9FDD3;border-radius:12px 12px 2px 12px;padding:10px 12px;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.fm-wa-bubble .fm-para{color:#111B21;line-height:1.5}
.fm-wa-bubble .fm-para.ph,.fm-wa-bubble .fm-para.stop{color:#54656F}
.fm-wa-bubble .fm-para.stop{font-size:12px}
.fm-used{font-size:12px;padding:4px 8px;border-radius:6px;background:var(--ic-blue-bg);color:var(--ic-blue-ink);font-weight:600}
.ic-card.fm-later{gap:6px;border:none;background:var(--ic-surface-3)}
.fm-savecard{gap:10px}
.ic-card.dark .fm-savecard-title{color:#fff}
.ic-btn.fm-btn-light{background:#fff;color:var(--ic-ink)!important}
.ic-btn.fm-btn-light:hover{background:var(--ic-surface-3)}
.ic-btn.fm-btn-outline{background:transparent;border-color:var(--ic-ink-4);font-weight:600}
.ic-btn.fm-btn-outline:hover{background:var(--ic-dark-3)}
.fm-foot-error{font-size:14px;font-weight:600;color:var(--ic-red-ink)}
@media (min-width:1101px){
  /* The preview stays in view while the form scrolls, and scrolls itself when taller than the window. */
  .fm-aside{position:sticky;top:80px;max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain}
  .fm-setup .fm-aside{top:96px;max-height:calc(100vh - 196px)}
}

/* ---------- step 4: campaigns (s4-) ---------- */
.s4-main{gap:28px}
.s4-sub{max-width:680px}
.s4-h2-note{font-weight:500;color:var(--ic-ink-4)}
.s4-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ic-choice.s4-goal{flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border-radius:14px}
.s4-goal-top{width:100%}
.s4-goal-mark{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--ic-display);font-size:18px;font-weight:700;background:var(--ic-surface-3);color:var(--ic-ink)}
.s4-goal[aria-pressed=true] .s4-goal-mark{background:var(--ic-blue);color:#fff}
.s4-box{width:24px;height:24px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;background:#fff;border:1.5px solid var(--ic-ink-5);color:#fff}
.s4-box.lg{width:28px;height:28px;cursor:pointer}
.s4-goal[aria-pressed=true] .s4-box,.s4-box[aria-checked=true]{background:var(--ic-blue);border:none}
.s4-box:disabled{cursor:not-allowed;opacity:.5}
.ic-link.s4-more{align-self:flex-start;min-height:40px;padding:0 4px;font-weight:700}
.s4-describe{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;background:#fff;border:1px solid var(--ic-line)}
.ic-row.s4-baseline{align-items:baseline}
.s4-tip{display:flex;gap:12px;align-items:flex-start;background:var(--ic-blue-bg);border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.5;color:#1A2F7A}
.s4-tip>.ic-icon{color:var(--ic-blue-ink);margin-top:1px}
.s4-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;border-radius:14px;background:#fff;border:1px dashed #B9B7B0;text-align:center;font-size:15px;color:var(--ic-ink-3)}
.s4-empty b{font-size:16px;color:var(--ic-ink)}
.s4-camp{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:16px;background:#fff;border:1px solid var(--ic-line);margin:1px}
.s4-camp.on{border:2px solid var(--ic-blue);margin:0}
.s4-pills{flex-shrink:0;justify-content:flex-end}
.s4-facts{display:grid;grid-template-columns:130px minmax(0,1fr);row-gap:8px;column-gap:14px;margin:0;font-size:14px;line-height:1.5}
.s4-facts dt{margin:0;color:var(--ic-ink-4)}
.s4-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}
.s4-where{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--ic-blue-bg);color:var(--ic-blue-ink)}
.s4-where.warn{background:var(--ic-amber-bg);color:var(--ic-amber-ink)}
.s4-avoid{color:var(--ic-red-ink)}
.s4-flag{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--ic-amber-bg);border:1px solid var(--ic-amber-line);font-size:13px;line-height:1.5;color:var(--ic-amber-text)}
.s4-flag strong{flex-shrink:0}
.s4-edit{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;background:var(--ic-surface-2);border:1px solid var(--ic-line-2)}
.ic-btn.s4-pick{height:38px}
.ic-btn.s4-pick.on{background:var(--ic-blue-bg);border-color:var(--ic-blue);color:var(--ic-blue-ink)!important}
.ic-btn.s4-next:disabled{background:var(--ic-field-2);color:var(--ic-ink-3)!important;opacity:1}
.ic-btn.s4-pick:disabled{background:var(--ic-field-2);color:var(--ic-ink-3)!important;opacity:1}
.s4-add{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;padding:0 16px;border-radius:14px;border:1.5px dashed #B9B7B0;background:transparent;color:var(--ic-ink);font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
.s4-add:hover{background:#fff}
.s4-excl-help{font-size:14px;font-weight:400;line-height:1.5;color:var(--ic-ink-3)}
.s4-rail-title{font-size:18px}
.s4-picked{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--ic-blue-tint)}
.ic-num.s4-picked-n{background:var(--ic-blue)}
.ic-iconbtn.s4-remove{width:32px;height:32px}
.s4-rail-text{color:var(--ic-ink-2)}
.s4-note{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:16px;background:var(--ic-surface-3)}

/* ---------- step 6: sending (s6-) ---------- */
.s6-main{gap:32px}
.s6-sub{max-width:660px}
.s6-h2-note{font-weight:500;color:var(--ic-ink-4)}
.s6-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ic-choice.s6-method{flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border-radius:14px}
.s6-method-top{width:100%}
.s6-method .ic-radio{margin-top:0}
.s6-method[aria-checked=true] .ic-radio{border:6px solid var(--ic-blue)}
.s6-method-help{font-size:14px;line-height:1.5;color:var(--ic-ink-3);padding-left:30px}
.ic-card.s6-panel{gap:14px;border-radius:14px}
.s6-wait{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--ic-amber-bg);border:1px solid var(--ic-amber-line);color:var(--ic-amber-text)}
.s6-wait>.ic-icon{color:var(--ic-amber-ink);margin-top:1px}
.s6-wait>.ic-stack{flex:1 1 260px}
.s6-wait-btn{flex-shrink:0;display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:8px;border:1px solid #C99A45;background:#fff;color:var(--ic-amber-text)!important;font-size:13px;font-weight:700;text-decoration:none!important}
.s6-kv{display:grid;grid-template-columns:120px minmax(0,1fr);row-gap:8px;column-gap:16px;margin:0;font-size:14px}
.s6-kv dt{margin:0;color:var(--ic-ink-4)}
.s6-kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.s6-inline-link{font-weight:600;margin-left:6px}
.s6-operator{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding-top:12px;border-top:1px solid var(--ic-line-2)}
.ic-link.s6-adv-toggle{align-self:flex-start;min-height:36px;font-weight:700}
.s6-adv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.s6-adv .full{grid-column:1/-1}
.s6-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.s6-checks li{display:flex;gap:10px;align-items:flex-start}
.s6-details{display:flex;flex-direction:column;gap:8px}
.s6-details>summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ic-ink-3)}
.s6-row{display:flex;align-items:flex-start;gap:16px;padding:18px;border-bottom:1px solid var(--ic-line-2)}
.s6-row:last-child{border-bottom:none}
.s6-pace-icon{color:var(--ic-green);margin-top:2px}
.s6-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ic-card.s6-channel{gap:6px;border-radius:14px}
.ic-card.s6-channel.off{background:var(--ic-surface-4)}
.s6-na{min-height:32px;display:flex;align-items:center}
.s6-rail-title{font-size:18px}
.s6-setup{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.s6-setup li{display:flex;align-items:center;gap:10px;font-size:14px}
.s6-setup li.current{font-weight:700}
.s6-setup .s6-ok{color:var(--ic-green)}
.s6-setup .s6-todo{color:var(--ic-amber-ink)}
.s6-ring{width:16px;height:16px;border-radius:50%;border:2px solid var(--ic-blue);box-sizing:border-box;flex-shrink:0}
.ic-card.dark .s6-dark-title{color:#fff}
.ic-card.dark .s6-dark-text{color:#E2E4EA;line-height:1.55}
.s6-gaps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.s6-gaps li{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--ic-line-2)}
.s6-gaps li:last-child{border-bottom:none;padding-bottom:0}

.fm-mobilebar{display:none}
@media (max-width:1100px){
  .fm-mobilebar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px 16px;background:#fff;border-top:1px solid var(--ic-line);box-shadow:0 -6px 18px rgba(0,0,0,.06)}
  .fm-settings{padding-bottom:96px}
}
@media (min-width:901px) and (max-width:1100px){.fm-mobilebar{left:var(--ic-side-w)}}

/* ---------- typed-in company profile (/profile) ---------- */
.ic-pill.fm-prof-req{font-size:11px;padding:2px 7px;margin-left:4px;vertical-align:1px}
.fm-prof-table{min-width:640px}
.ic-tr.fm-prof-row{grid-template-columns:200px 80px 110px minmax(0,1fr)}
.fm-prof-check{width:18px;height:18px;margin:0;accent-color:var(--ic-blue)}
.ic-app .ic-textarea.fm-prof-postal{min-height:70px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .ic-page.rail.fm-rail,.ic-railgrid.fm-grid{grid-template-columns:minmax(0,1fr)}
  .s4-goals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s6-channels{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .fm-orders,.fm-tones,.s4-goals,.s6-methods,.s6-channels,.s6-adv{grid-template-columns:minmax(0,1fr)}
  .fm-scope{max-width:none;width:100%}
  .fm-file{flex-wrap:wrap}
  .fm-mail .fm-sig-frame{height:360px}
  .fm-order-help,.s6-method-help{padding-left:0}
  .s4-camp{padding:16px;gap:12px}
  .s4-facts,.s6-kv{grid-template-columns:minmax(0,1fr);row-gap:2px}
  .s4-facts dd,.s6-kv dd{margin-bottom:6px}
  /* Long step buttons wrap instead of pushing the footer wider than the phone. */
  .ic-btn.s4-next,.ic-btn.fm-next,.ic-btn.s6-finish{white-space:normal;height:auto;min-height:48px;padding:10px 18px;line-height:1.3;text-align:center}
}
