/* Single-page plan editor with a live message preview. */
.modal.campaign-wizard {
  --wizard-accent: #9db7ed;
  width: min(1600px, calc(100vw - 32px));
  max-width: 1600px;
  height: calc(100dvh - 32px);
  max-height: calc(100dvh - 32px);
  background: #101621;
  border: 1px solid #7b85934a;
  border-radius: 20px;
  box-shadow: 0 30px 100px #0009, 0 1px 0 #ffffff12 inset;
}
.campaign-wizard[data-wizard-stage="1"] { --wizard-accent: #dcc199; }
.campaign-wizard[data-wizard-stage="2"] { --wizard-accent: #baacdf; }
.campaign-wizard .modal-head {
  padding: 22px 28px;
  background: linear-gradient(110deg, #1b2433, #1a1d2b 70%, #272235);
  border-bottom: 1px solid #8c93a624;
}
.campaign-wizard .modal-head h2 { font-size: 21px; letter-spacing: .5px; color: #f1f0ed; }
.campaign-wizard .wizard-nav { padding: 16px 24px; gap: 14px; background: #101620; border-color: #7b859326; }
.campaign-wizard .wizard-nav button {
  position: relative;
  padding: 12px 15px;
  min-height: 52px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #8994a5;
  font-size: 13px;
  gap: 12px;
}
.campaign-wizard .wizard-nav button b { width: 28px; height: 28px; border-radius: 50%; background: #202937; border-color: #74809924; color: #94a2b9; }
.campaign-wizard .wizard-nav button.active { background: #242c3b; border-color: #8499bf42; color: #e8edf5; }
.campaign-wizard .wizard-nav button.active b { background: #394b68; border-color: #94b8ef63; color: #dceaff; box-shadow: none; }
.campaign-wizard .wizard-nav button[data-step="1"].active { background: #2a292a; border-color: #bca38145; }
.campaign-wizard .wizard-nav button[data-step="1"].active b { background: #5b4b37; border-color: #d2b27c55; color: #f1dbba; }
.campaign-wizard .wizard-nav button[data-step="2"].active { background: #292534; border-color: #b5a0d947; }
.campaign-wizard .wizard-nav button[data-step="2"].active b { background: #4b3d67; border-color: #c2a2f154; color: #e0cef7; }
.campaign-wizard .wizard-nav button.done { color: #b5c8c2; }
.campaign-wizard .wizard-nav button.done b { background: #263b36; border-color: #83a49944; color: #b2d9ca; }
.campaign-wizard .wizard-shell { grid-template-columns: minmax(0, 1fr) 340px; background: #0d141e; }
.campaign-step-nav { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; min-width: 0; padding: 14px 22px; border-bottom: 1px solid #8c93a624; background: #141c29; }
.campaign-step-nav button { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 56px; padding: 10px 12px; border: 1px solid #7187a82e; border-radius: 9px; background: transparent; color: #8c9db6; text-align: left; font: inherit; cursor: pointer; }
.campaign-step-nav button span { min-width: 0; font-size: 13px; line-height: 1.5; }
.campaign-step-nav button b { display: grid; place-items: center; flex: 0 0 27px; height: 27px; border-radius: 50%; background: #64758b26; color: #a9b7ca; font-size: 12px; }
.campaign-step-nav button:hover { border-color: #a1c4f1; color: #d4e3f6; }
.campaign-step-nav button:focus-visible { outline: 2px solid #a1c4f1; outline-offset: 3px; }
.campaign-step-nav button.active { border-color: #91b8ee; background: #253c58; color: #edf5ff; }
.campaign-step-nav button.active b { background: #9ecbff; color: #163149; }
.campaign-step-nav button.done { color: #b4d4c2; border-color: #708d7f55; }
.campaign-step-description { margin: -6px 0 22px; color: #98abc5; font-size: 13px; line-height: 1.7; }
.campaign-editor [data-campaign-step="4"] .test-option { margin-top: 0; }
.campaign-editor [data-campaign-step="4"] .test-choice-header { flex-direction: column; align-items: stretch; }
.campaign-editor [data-campaign-step="4"] .test-choice-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 6px; }
.campaign-editor [data-campaign-step="4"] .test-choice-buttons button { min-height: 54px; white-space: normal; font-size: 14px; }
.campaign-wizard .wizard-fields { padding: 22px; scrollbar-color: #495362 transparent; }
.campaign-wizard .campaign-save-status { display: flex; align-items: center; gap: 10px; padding: 12px 24px; background: #252b3c; border-bottom: 1px solid #aaa0cb3b; color: #d9d3e9; font-size: 12px; }
.campaign-wizard .campaign-save-status[hidden] { display: none; }
.campaign-wizard .save-elapsed { margin-left: auto; color: #9facc2; white-space: nowrap; font-size: 11px; }
.campaign-wizard .wizard-section-card { padding: 22px; margin-bottom: 18px; background: #171f2c; border: 1px solid #8c9aaf22; border-radius: 14px; box-shadow: 0 4px 18px #00000012; }
.campaign-wizard .wizard-section-card:last-child { margin-bottom: 0; }
.campaign-wizard .section-label { margin: 0 0 21px; padding-bottom: 14px; border-bottom: 1px solid #8a96ac20; color: #e3e7ec; font-size: 14px; letter-spacing: .3px; }
.campaign-wizard .section-label::before { content: ""; width: 3px; height: 15px; border-radius: 3px; background: var(--wizard-accent); }
.campaign-wizard .section-label i { display: none; }
.campaign-wizard .field>label { color: #b2bccb; font-size: 12px; margin-bottom: 8px; }
.campaign-wizard input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]), .campaign-wizard select, .campaign-wizard textarea { background: #101925; border-color: #6f7c942e; border-radius: 8px; color: #e4e9f1; font-size: 13px; }
.campaign-wizard input:focus, .campaign-wizard select:focus, .campaign-wizard textarea:focus { border-color: var(--wizard-accent); outline: 0; box-shadow: 0 0 0 3px #8daee014; }
.campaign-wizard input::placeholder, .campaign-wizard textarea::placeholder { color: #687689; }
.campaign-wizard .grid2 { gap: 16px; }
.campaign-wizard .plan-owner-actions { margin: 4px 0 18px; gap: 10px; }
.campaign-wizard .plan-owner-actions .btn { padding: 6px 10px; color: #98b7ce; }
.campaign-wizard .plan-ownership-picker { margin: 4px 0 18px; }
.campaign-wizard .plan-ownership-columns { display: grid; grid-template-columns: 1fr 1.2fr; gap: 14px; }
.campaign-wizard .plan-choice-panel { min-width: 0; border: 1px solid #8395b436; border-radius: 11px; padding: 15px; background: #111b29; }
.campaign-wizard .plan-choice-heading { display: flex; align-items: center; gap: 9px; margin-bottom: 13px; color: #b8c6dc; }
.campaign-wizard .plan-choice-heading>span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; color: #b7c9eb; background: #2e415b; font-size: 10px; }
.campaign-wizard .plan-choice-panel:last-child .plan-choice-heading>span { color: #d4c2ec; background: #42364f; }
.campaign-wizard .plan-choice-heading strong { font-size: 12px; font-weight: 500; }
.campaign-wizard .plan-choice-panel input[type="search"] { width: 100%; padding: 9px 11px; border: 1px solid #7283a035; margin-bottom: 10px; }
.campaign-wizard .plan-choice-list { display: grid; gap: 8px; max-height: 240px; overflow: auto; padding: 1px; }
.campaign-wizard .plan-choice { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; min-height: 47px; width: 100%; padding: 11px 12px; border: 1px solid #7283a02b; border-radius: 8px; background: #192334; color: #aebbd0; text-align: left; cursor: pointer; }
.campaign-wizard .plan-choice strong { display: block; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.campaign-wizard .plan-choice small { display: block; font-size: 10px; color: #7e91b0; margin-top: 4px; }
.campaign-wizard .plan-choice svg { flex: 0 0 auto; }
.campaign-wizard .plan-choice:hover, .campaign-wizard .plan-choice:focus-visible { border-color: #9ebbed88; outline: none; }
.campaign-wizard .plan-choice.selected { color: #ddeaff; background: #293c57; border-color: #8eafea80; }
.campaign-wizard .plan-choice-panel:last-child .plan-choice.selected { color: #e4d8f5; background: #362e49; border-color: #ba9ad77a; }
.campaign-wizard .plan-choice-empty { color: #778aa8; font-size: 11px; line-height: 1.8; padding: 18px 10px; }
.campaign-wizard .plan-ownership-summary { display: flex; align-items: center; gap: 9px; padding: 12px 4px 0; color: #8d9fb8; font-size: 11px; }
.campaign-wizard .plan-ownership-summary>span { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.campaign-wizard .plan-ownership-summary strong { color: #bac9df; font-weight: 500; }
.campaign-wizard .recipient-input-tabs { background: #101925; border-color: #6e80932c; border-radius: 9px; padding: 4px; }
.campaign-wizard .recipient-input-tabs button { padding: 10px 12px; font-size: 12px; color: #8493a7; }
.campaign-wizard .recipient-input-tabs button.active { background: #29394b; color: #c5d8ec; border-color: #91b3d53d; box-shadow: 0 2px 8px #0002; }
.campaign-wizard .campaign-dropzone { min-height: 146px; border: 1px dashed #849aaf52; border-radius: 11px; background: radial-gradient(ellipse at 50% 0, #35566029, transparent 65%), #121c28; padding: 24px 16px; }
.campaign-wizard .campaign-dropzone>svg { color: #9cc7c0; }
.campaign-wizard .campaign-dropzone strong { color: #ccdadf; font-weight: 500; }
.campaign-wizard .campaign-dropzone small { color: #7f91a4; font-size: 10px; }
.campaign-wizard .campaign-dropzone:hover { border-color: #9abaca; background-color: #172534; }
.campaign-wizard .import-counts { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.campaign-wizard .import-counts>div { display: flex; align-items: center; gap: 10px; min-height: 34px; padding: 7px 10px; border: 1px solid #75849a2b; border-radius: 7px; background: #1c2634; }
.campaign-wizard .import-counts span { font-size: 10px; color: #a2aebc; }
.campaign-wizard .import-counts strong { margin: 0; font-size: 16px; line-height: 1.2; font-weight: 500; }
.campaign-wizard .import-counts>div:nth-child(1) { background: #192f2d; border-color: #739c9135; }
.campaign-wizard .import-counts>div:nth-child(1) strong { color: #a7dcc6; }
.campaign-wizard .import-counts>div:nth-child(2) { background: #30242c; border-color: #b17f8f30; }
.campaign-wizard .import-counts>div:nth-child(2) strong { color: #deb2bf; }
.campaign-wizard .import-counts>div:nth-child(3) { background: #302b24; border-color: #b59c7635; }
.campaign-wizard .import-counts>div:nth-child(3) strong { color: #dec397; }
.campaign-wizard .plan-mode-option { background: #111925; border-color: #7b819c38; min-height: 50px; }
.campaign-wizard .plan-mode-option.active { background: #302d43; border-color: #aea2d55a; color: #e0d8fa; }
.campaign-wizard .plan-mode-check { color: #c3b5eb; }
.campaign-editor form[data-current-step="0"] .wizard-shell { grid-template-columns: minmax(0,1fr); }
.campaign-editor form[data-current-step="0"] .wizard-preview { display: none; }
.campaign-editor form[data-current-step="0"] .wizard-fields { display: flex; flex-direction: column; }
.campaign-editor .plan-type-card {
  display: grid;
  grid-template-columns: minmax(300px,1fr) minmax(300px,1fr);
  grid-template-rows: auto 1fr;
  align-items: center;
  gap: 0 28px;
  flex: 1;
  min-height: 490px;
  margin: 0;
  padding: 26px 34px;
  overflow: hidden;
  background: radial-gradient(ellipse at 85% 60%, #28559b24, transparent 65%), #151f2f;
  border-color: #6586b339;
}
.campaign-editor .plan-type-card > .section-label { grid-column: 1 / -1; margin-bottom: 0; }
.plan-type-content { position: relative; z-index: 1; padding: 30px 0; }
.campaign-editor .plan-type-content > .campaign-step-description { margin: 0 0 28px; font-size: 15px; color: #adbed7; }
.campaign-editor .plan-type-content > .field { margin: 0; }
.campaign-editor .plan-type-content > .field > label { display: none; }
.plan-type-card .plan-mode-switch { display: grid; grid-template-columns: 1fr; gap: 16px; }
.campaign-editor .plan-type-card .plan-mode-option { gap: 18px; min-height: 124px; padding: 24px; border: 1px solid #6c8ab63d; border-radius: 15px; background: #162337b8; text-align: left; transition: border-color .15s, background .15s; }
.campaign-editor .plan-type-card .plan-mode-option:hover { border-color: #91c4f5a6; background: #203450; }
.campaign-editor .plan-type-card .plan-mode-option:focus-visible { outline: 2px solid #a6d0ff; outline-offset: 4px; }
.campaign-editor .plan-type-card .plan-mode-option.active { border-color: #8ec6ff; background: linear-gradient(110deg, #29486a, #223852); box-shadow: 0 0 0 1px #8ec6ff22, 0 8px 22px #040d1e20; }
.plan-type-card .plan-mode-symbol { display: grid; place-items: center; flex: 0 0 50px; height: 50px; border: 1px solid #9dbbec24; border-radius: 13px; background: #7fa4d414; color: #a6c8ef; }
.plan-type-card .active .plan-mode-symbol { background: #84c0ff25; color: #c6e4ff; border-color: #99c9fa42; }
.plan-type-card .plan-mode-copy { flex: 1; min-width: 0; }
.campaign-editor .plan-type-card .plan-mode-copy strong { display: block; color: #e5effc; font-size: 20px; font-weight: 600; }
.plan-type-card .plan-mode-copy small { display: block; margin-top: 9px; color: #9cb3d0; font-size: 13px; line-height: 1.6; }
.plan-type-card .plan-mode-check { display: grid; place-items: center; flex: 0 0 23px; height: 23px; margin-left: 0; border: 1px solid #7184a255; border-radius: 50%; opacity: 1; }
.plan-type-card .active .plan-mode-check { border-color: #a7d4ff; background: #a7d4ff; color: #173552; }
.plan-type-visual { align-self: stretch; min-height: 390px; background: url('/static/plan-message-technology.webp') center / contain no-repeat; mask-image: radial-gradient(ellipse at center, #000 54%, transparent 92%); pointer-events: none; }
@media (max-width: 1000px) {
  .campaign-editor .plan-type-card { grid-template-columns: minmax(270px,1fr) minmax(230px,.8fr); gap: 0 16px; padding: 24px; }
  .campaign-editor .plan-type-card .plan-mode-option { padding: 20px; gap: 14px; }
}
@media (max-width: 650px) {
  .campaign-editor .plan-type-card { grid-template-columns: minmax(0,1fr); min-height: 0; padding: 20px; }
  .plan-type-content { padding: 22px 0 0; }
  .campaign-editor .plan-type-content > .campaign-step-description { margin-bottom: 20px; font-size: 13px; }
  .campaign-editor .plan-type-card .plan-mode-option { min-height: 106px; padding: 18px; gap: 12px; }
  .campaign-editor .plan-type-card .plan-mode-copy strong { font-size: 18px; }
  .plan-type-card .plan-mode-copy small { font-size: 12px; }
  .plan-type-card .plan-mode-symbol { flex-basis: 42px; height: 42px; border-radius: 11px; }
  .plan-type-visual { min-height: 220px; margin: 4px -10px -20px; background-size: contain; }
}
.campaign-wizard .distribution-tabs button.active { background: #473b2a; border-color: #d0ac6945; color: #e4cda9; }
.campaign-wizard #split-fields { margin-top: 18px; padding-top: 18px; border-top: 1px solid #8792a423; }
.campaign-wizard .distribution-remainder { color: #cfaa70; margin-top: 5px; }
.campaign-wizard .preview-delivery-target { color: #d1b88e; font-size: 11px; font-weight: 400; margin-left: 12px; }
.campaign-wizard .delivery-target-single { padding: 18px; margin-top: 20px; border: 1px solid #b7a2df3b; border-radius: 10px; background: #292637; }
.campaign-wizard .delivery-target-single .field { margin: 0; }
.campaign-wizard .delivery-target-list { margin-top: 24px; }
.campaign-wizard .delivery-target-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; color: #d5cce9; }
.campaign-wizard .delivery-target-heading small { font-size: 11px; color: #9c93ad; }
.campaign-wizard .delivery-target-columns, .campaign-wizard .delivery-target-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(65px, .6fr) minmax(100px, .8fr); gap: 16px; align-items: center; }
.campaign-wizard .delivery-target-columns { padding: 0 12px 10px; font-size: 11px; color: #8c96aa; }
.campaign-wizard .delivery-target-row { margin-bottom: 8px; padding: 12px; background: #121b29; border: 1px solid #8b83a52b; border-radius: 9px; }
.campaign-wizard .delivery-target-row strong { font-size: 12px; color: #d2d8e2; font-weight: 500; }
.campaign-wizard .delivery-target-row small { display: block; font-size: 10px; color: #8b98ac; margin-top: 5px; overflow-wrap: anywhere; }
.campaign-wizard .delivery-target-row>span { font-size: 12px; color: #a3b3ca; }
.campaign-wizard .delivery-target-row input { width: 100%; padding: 10px; border: 1px solid #889bb447; }
.campaign-wizard .split-target-control { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; margin-top: 20px; }
.campaign-wizard .split-target-control .field { margin-bottom: 0; }
.campaign-wizard .split-target-control .btn { min-height: 42px; margin-bottom: 0; }
.campaign-wizard .brief-status { color: #b9c4e2; padding: 10px 12px; border-radius: 8px; background: #31334a66; }
.campaign-wizard textarea[name="body"] { min-height: 240px; line-height: 1.85; padding: 16px; }
.campaign-wizard textarea[name="contact_list"] { min-height: 136px; line-height: 1.7; }
.campaign-wizard .test-option { background: #1a2b30; border-color: #87aeb331; border-radius: 11px; }
.campaign-wizard .test-option .checkrow { color: #ccdddc; }
.campaign-wizard .test-option .summary-line { color: #91a5ab; }
.campaign-wizard .summary-line, .campaign-wizard .field>small { font-size: 11px; line-height: 1.7; }
.campaign-wizard .wizard-preview { padding: 23px; border-color: #8893a52b; background: linear-gradient(160deg, #1b2231, #1c1d2c); scrollbar-color: #514f69 transparent; }
.wizard-preview-head { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; color: #dce0ea; }
.wizard-preview-head>span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #b1a6d444; border-radius: 9px; color: #c3b5e5; background: #39314666; }
.wizard-preview-head strong { font-size: 13px; font-weight: 550; letter-spacing: .5px; }
.campaign-wizard .wizard-preview .campaign-preview>.row { gap: 8px; padding: 0 0 14px; margin-bottom: 4px; border-bottom: 1px solid #8c91a82d; font-size: 11px; color: #b4bfd0; }
.campaign-wizard .wizard-preview .variant-preview { border: 0; padding: 13px 0; }
.campaign-wizard .wizard-preview .variant-preview summary { color: #c0c9d8; font-size: 11px; line-height: 1.7; }
.campaign-wizard .wizard-preview .variant-preview summary b { color: #b7b0da; font-size: 12px; }
.campaign-wizard .wizard-preview .variant-preview>div { margin-top: 12px; padding: 20px; border: 1px solid #e7e3dc99; border-radius: 14px 14px 4px 14px; background: linear-gradient(130deg, #f2f0e9, #e4e7f0); box-shadow: 0 7px 22px #0002; color: #283343; font-size: 13px; line-height: 1.9; }
.campaign-wizard .preview-empty { color: #949db2; border: 1px dashed #9198aa35; border-radius: 13px; background: #272d3a70; padding: 32px 18px; }
.campaign-wizard .review-identity { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 16px; }
.campaign-wizard .review-identity>div { min-width: 0; flex: 1 1 180px; }
.campaign-wizard .review-identity h3 { margin: 0; color: #edf0f5; font-size: 19px; font-weight: 600; overflow-wrap: anywhere; }
.campaign-wizard .review-identity p { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; color: #97a5ba; font-size: 12px; overflow-wrap: anywhere; }
.campaign-wizard .review-mode { padding: 6px 10px; border: 1px solid #aaa0cb3b; border-radius: 6px; background: #a69bc312; color: #c4b8df; font-size: 11px; white-space: nowrap; }
.campaign-wizard .review-goal { margin-top: 24px; padding: 22px 24px; border: 1px solid #b0a5cc3b; border-radius: 12px; background: linear-gradient(115deg, #282638, #202939); }
.campaign-wizard .review-goal>span { color: #aeb9cd; font-size: 12px; }
.campaign-wizard .review-goal>div { display: flex; align-items: baseline; gap: 8px; margin-top: 10px; }
.campaign-wizard .review-goal strong { color: #e1d9f3; font-size: 32px; line-height: 1.2; font-weight: 600; font-variant-numeric: tabular-nums; }
.campaign-wizard .review-goal>div>span { color: #aeb9cd; font-size: 12px; }
.campaign-wizard .review-goal p { margin: 10px 0 0; color: #b6b5c9; font-size: 12px; }
.campaign-wizard .review-details { margin-top: 22px; border-top: 1px solid #8c9aaf22; }
.campaign-wizard .review-details>summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 17px 0 0; color: #aab7cd; font-size: 12px; cursor: pointer; list-style: none; }
.campaign-wizard .review-details>summary::-webkit-details-marker { display: none; }
.campaign-wizard .review-details>summary:focus-visible { outline: 2px solid var(--wizard-accent); outline-offset: 4px; border-radius: 3px; }
.campaign-wizard .review-details[open]>summary svg { transform: rotate(180deg); }
.campaign-wizard .review-child-targets, .campaign-wizard .review-settings { margin: 16px 0 0; }
.campaign-wizard .review-child-targets>div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid #8c9aaf1c; }
.campaign-wizard .review-child-targets dt { min-width: 0; }
.campaign-wizard .review-child-targets dt span { display: block; color: #7e8da4; font-size: 10px; margin-bottom: 5px; }
.campaign-wizard .review-child-targets dt strong { color: #c8d2e3; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.campaign-wizard .review-child-targets dd { margin: 0; color: #d5c8eb; font-size: 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.campaign-wizard .review-settings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; padding-top: 4px; }
.campaign-wizard .review-settings>div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; font-size: 11px; }
.campaign-wizard .review-settings dt { color: #8090a8; }
.campaign-wizard .review-settings dd { margin: 0; color: #b2bfd1; }
.campaign-wizard .alert { background: #252b35; border-color: #959cac2b; color: #aeb8c7; border-radius: 10px; font-size: 11px; }
.campaign-wizard .campaign-draft-bar { padding-bottom: 12px; margin-bottom: 18px; border-color: #838ea522; }
.campaign-wizard[data-wizard-stage="2"] .campaign-draft-toolbar { display: none; }
.campaign-wizard .modal-foot { padding: 17px 25px; border-color: #8994a72d; background: #151d2a; }
.campaign-wizard .wizard-foot-hint { color: #8e9aaf; font-size: 10px; letter-spacing: .25px; }
.campaign-wizard .modal-foot .btn { padding: 10px 17px; border-radius: 8px; }
.campaign-wizard .modal-foot .btn.primary { background: linear-gradient(110deg, #b8c9f0, #c7b9e5); border-color: #d0cff477; color: #1b2440; box-shadow: 0 3px 12px #151a3333; }
.campaign-wizard .modal-foot .btn.primary:hover { background: linear-gradient(110deg, #cad8f4, #d5c8ef); }
@media (max-width: 950px) {
  .campaign-wizard .wizard-shell { grid-template-columns: minmax(0, 1fr) 300px; }
  .campaign-wizard .wizard-fields, .campaign-wizard .wizard-preview { padding: 17px; }
  .campaign-wizard .wizard-section-card { padding: 17px; }
}
@media (max-width: 760px) {
  .modal.campaign-wizard { width: calc(100vw - 16px); height: calc(100dvh - 16px); border-radius: 14px; }
  .campaign-wizard .modal-head { padding: 18px; }
  .campaign-step-nav { grid-template-columns: repeat(5,155px); overflow-x: auto; padding: 10px 14px; gap: 8px; scrollbar-width: thin; }
  .campaign-step-nav button { padding: 8px; }
  .campaign-wizard .wizard-nav { padding: 10px; gap: 5px; }
  .campaign-wizard .wizard-nav button { padding: 8px 5px; gap: 6px; font-size: 11px; }
  .campaign-wizard .wizard-nav button b { width: 23px; height: 23px; font-size: 9px; }
  .campaign-wizard .wizard-shell { display: block; }
  .campaign-wizard .wizard-preview { border-left: 0; border-top: 1px solid #8893a52b; }
  .campaign-wizard .modal-foot { padding: 13px; }
}
@media (max-width: 540px) {
  .campaign-wizard .plan-ownership-columns { grid-template-columns: 1fr; }
  .campaign-wizard .review-settings { grid-template-columns: 1fr; }
}
.campaign-wizard .wizard-preview .variant-preview>div.mobile-text-preview,
.test-preview-bubble.mobile-text-preview {
  box-sizing: border-box;
  width: 100%;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.campaign-editor .campaign-save-hint { color:#92a4bf; font-size:12px; margin-right:auto; }
.campaign-editor .test-option { margin-top:20px; padding:18px; }
.campaign-editor .test-choice-header { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.campaign-editor .test-choice-header strong { color:#d7e4f2; font-size:13px; font-weight:600; }
.campaign-editor .test-choice-header p { margin:6px 0 0; color:#91a3b9; font-size:11px; line-height:1.7; }
.campaign-editor .test-choice-buttons { display:flex; flex-shrink:0; gap:4px; padding:4px; border:1px solid #6d89a333; border-radius:9px; background:#101b29; }
.campaign-editor .test-choice-buttons button { min-width:48px; border:1px solid transparent; border-radius:6px; padding:7px 12px; background:transparent; color:#8ca0bb; cursor:pointer; font-size:12px; }
.campaign-editor .test-choice-buttons button.active { background:#2d4563; color:#e0edff; border-color:#82baff55; }
.campaign-editor .test-choice-buttons button:disabled { opacity:.4; cursor:not-allowed; }
.campaign-editor .test-number-details { margin-top:14px; padding-top:12px; border-top:1px solid #7d9b9c2d; }
.campaign-editor .campaign-plan-summary { margin-top:22px; padding-top:18px; border-top:1px solid #8193ae33; }
.campaign-editor .campaign-plan-summary>summary { color:#bac9de; font-size:12px; cursor:pointer; }
.campaign-editor .campaign-plan-summary .wizard-final-review { padding-top:18px; }
.campaign-editor .campaign-plan-summary .review-goal { margin-top:18px; }
@media(max-width:600px) {
  .campaign-editor .campaign-save-hint { font-size:10px; max-width:110px; line-height:1.6; }
  .campaign-editor .test-choice-header { align-items:flex-start; }
  .campaign-editor .test-choice-buttons button { min-width:38px; padding:7px 9px; }
}
.campaign-content-selector { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 16px; margin-bottom: 20px; }
.campaign-content-selector > .summary-line { grid-column: 1 / -1; }
.recommended-image-caption { margin: 12px 0 18px; padding: 16px; border: 1px solid #728db13d; border-radius: 10px; background: #101a2a; }
.recommended-image-caption p { margin: 0 0 12px; color: #d8e5f7; line-height: 1.7; white-space: pre-line; }
.recommended-image-caption small { color: #91a3b9; font-size: 11px; line-height: 1.6; }
.content-editor-section { min-width: 0; border: 1px solid #647b9a42; border-radius: 12px; background: #111b29; overflow: hidden; }
.content-editor-section.active { border-color: #86acd46b; background: #162232; }
.content-part-toggle { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 78px; padding: 17px 18px; border: 0; background: transparent; color: #9cb7da; text-align: left; cursor: pointer; }
.content-part-toggle:focus-visible { outline: 2px solid #b6d4ff; outline-offset: -3px; }
.content-part-copy { flex: 1; min-width: 0; }
.content-part-copy strong { display: block; color: #e0ebfa; font-size: 16px; }
.content-part-copy small { display: block; margin-top: 5px; color: #94a9c5; font-size: 12px; line-height: 1.5; }
.content-part-action { flex-shrink: 0; padding: 7px 14px; border-radius: 7px; background: #95c5ff; color: #152c47; font-size: 12px; }
.active > .content-part-toggle .content-part-action { background: #25374f; color: #acc2df; }
.content-editor-body { padding: 18px; border-top: 1px solid #7794b633; }
.content-editor-body .field:last-child { margin-bottom: 0; }
.content-editor-body .message-image-picker { margin: 0; padding: 0; border: 0; background: transparent; }
.content-editor-body .image-source-option { min-height: 68px; padding: 12px; border-width: 1px; }
.content-editor-body .image-source-option strong { font-size: 14px; }
.content-editor-body .image-source-option small { display: none; }
.content-editor-body .image-source-icon { flex-basis: 34px; height: 34px; }
.content-editor-body .image-upload-panel { padding: 20px 14px; }
.campaign-editor [hidden] { display: none !important; }
@media (max-width:1200px) {
  .campaign-content-selector { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .content-part-toggle { gap: 9px; padding: 14px; }
  .content-editor-body { padding: 14px; }
  .content-part-copy strong { font-size: 15px; }
  .content-part-copy small { font-size: 11px; }
}

@media(max-width:600px) {
  .campaign-editor .modal-foot { flex-wrap: wrap; }
  .campaign-editor .campaign-save-hint { flex-basis: 100%; max-width: none; font-size: 12px; }
  .campaign-editor .modal-foot > .row { width: 100%; justify-content: flex-end; }
  .campaign-step-nav button span { font-size: 12px; }
}
