/* SWLARC Club Management v2.16 — Campaign Designer */

html.sw-campaign216 {
  --sw216-navy:#0d2242;
  --sw216-blue:#174f78;
  --sw216-orange:#f58a1f;
  --sw216-line:#d7e0e8;
  --sw216-soft:#f5f7f9;
  --sw216-text:#17212b;
  --sw216-muted:#6a7988;
  --sw216-good:#237148;
  --sw216-warn:#a56800;
  --sw216-danger:#a33232;
}

html.sw-campaign216 .sw216-create-button {
  min-height:38px!important;
  padding:0 16px!important;
  border:1px solid var(--sw216-orange)!important;
  border-radius:2px!important;
  background:var(--sw216-orange)!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:none!important;
}

/* Create Campaign launcher */
html.sw-campaign216 .sw216-launch {
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(7,23,34,.72);
  backdrop-filter:blur(2px);
}

html.sw-campaign216 .sw216-launch-card {
  width:min(920px,94vw);
  border-top:4px solid var(--sw216-orange);
  background:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.34);
}

html.sw-campaign216 .sw216-launch-card > header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--sw216-line);
}

html.sw-campaign216 .sw216-launch-card header span {
  color:#21608f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

html.sw-campaign216 .sw216-launch-card header h2 {
  margin:4px 0 3px;
  color:var(--sw216-text);
  font-size:25px;
}

html.sw-campaign216 .sw216-launch-card header p {
  margin:0;
  color:var(--sw216-muted);
}

html.sw-campaign216 .sw216-launch-card header button {
  width:36px;
  height:36px;
  border:1px solid #b9c6d0;
  background:#fff;
  color:#173b5b;
  font-size:20px;
  cursor:pointer;
}

html.sw-campaign216 .sw216-launch-options {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  padding:20px 24px 24px;
}

html.sw-campaign216 .sw216-launch-options > button {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:210px;
  padding:20px;
  border:1px solid var(--sw216-line);
  border-radius:0;
  background:#fff;
  color:var(--sw216-text);
  text-align:left;
  cursor:pointer;
}

html.sw-campaign216 .sw216-launch-options > button:hover {
  border-color:var(--sw216-blue);
  box-shadow:0 8px 22px rgba(13,34,66,.08);
}

html.sw-campaign216 .sw216-launch-options i {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:18px;
  background:#eef4f8;
  color:var(--sw216-blue);
  font-size:22px;
  font-style:normal;
  font-weight:900;
}

html.sw-campaign216 .sw216-launch-options b {
  font-size:15px;
}

html.sw-campaign216 .sw216-launch-options span {
  margin-top:7px;
  color:var(--sw216-muted);
  font-size:11px;
  line-height:1.45;
}

html.sw-campaign216 .sw216-launch-options em {
  margin-top:auto;
  padding-top:18px;
  color:var(--sw216-blue);
  font-size:10px;
  font-style:normal;
  font-weight:900;
}

/* Root designer replaces the generic visible editor body */
html.sw-campaign216 .sw216-root {
  width:min(98vw,1580px)!important;
  max-width:1580px!important;
  max-height:96vh!important;
  overflow:hidden!important;
  background:#fff!important;
}

html.sw-campaign216 .sw216-root > *:not(.sw216-shell):not(:has(.sw216-shell)) {
  /* Native pieces moved into the new shell remain visible there. */
}

html.sw-campaign216 .sw216-old-title {
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

html.sw-campaign216 .sw216-native-footer {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
}

html.sw-campaign216 .sw216-shell {
  display:flex;
  flex-direction:column;
  height:min(900px,92vh);
  min-height:660px;
  background:#fff;
}

html.sw-campaign216 .sw216-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:13px 16px;
  border-bottom:1px solid #244564;
  background:var(--sw216-navy);
  color:#fff;
}

html.sw-campaign216 .sw216-brand span {
  display:block;
  color:#ffac52;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}

html.sw-campaign216 .sw216-brand h2 {
  margin:2px 0 1px!important;
  color:#fff!important;
  font-size:19px!important;
}

html.sw-campaign216 .sw216-brand h2 em {
  margin-left:6px;
  color:#ffac52;
  font-size:9px;
  font-style:normal;
}

html.sw-campaign216 .sw216-brand p {
  margin:0;
  color:#bdcbd8;
  font-size:9px;
}

html.sw-campaign216 .sw216-header-actions {
  display:flex;
  gap:7px;
}

html.sw-campaign216 .sw216-header-actions button {
  min-height:32px;
  padding:0 11px;
  border:1px solid #6c839a;
  background:#163654;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

html.sw-campaign216 .sw216-header-actions .exit {
  background:transparent;
}

html.sw-campaign216 .sw216-flow {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#f7f9fb;
  border-bottom:1px solid var(--sw216-line);
}

html.sw-campaign216 .sw216-flow > button {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:8px 16px;
  border:0;
  border-right:1px solid var(--sw216-line);
  border-bottom:3px solid transparent;
  background:transparent;
  color:#657585;
  text-align:left;
  cursor:pointer;
}

html.sw-campaign216 .sw216-flow > button:last-child {
  border-right:0;
}

html.sw-campaign216 .sw216-flow > button.active {
  border-bottom-color:var(--sw216-orange);
  background:#fff;
  color:var(--sw216-navy);
}

html.sw-campaign216 .sw216-flow i {
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  border-radius:50%;
  background:#dfe6ec;
  color:#5e6f7e;
  font-style:normal;
  font-weight:900;
}

html.sw-campaign216 .sw216-flow > button.active i {
  background:var(--sw216-navy);
  color:#fff;
}

html.sw-campaign216 .sw216-flow b,
html.sw-campaign216 .sw216-flow small {
  display:block;
}

html.sw-campaign216 .sw216-flow b {
  font-size:11px;
}

html.sw-campaign216 .sw216-flow small {
  margin-top:2px;
  color:#7a8997;
  font-size:8px;
}

html.sw-campaign216 .sw216-message {
  min-height:0;
  font-size:9px;
}

html.sw-campaign216 .sw216-message.error {
  padding:7px 15px;
  border-bottom:1px solid #edc7c7;
  background:#fff0f0;
  color:var(--sw216-danger);
  font-weight:800;
}

html.sw-campaign216 .sw216-body {
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  background:#eef2f5;
}

html.sw-campaign216 .sw216-body > section[hidden] {
  display:none!important;
}

/* Campaign setup */
html.sw-campaign216 .sw216-setup {
  height:100%;
  overflow:auto;
  padding:18px;
  box-sizing:border-box;
}

html.sw-campaign216 .sw216-start-card,
html.sw-campaign216 .sw216-details-card {
  max-width:1080px;
  margin:0 auto 12px;
  border:1px solid var(--sw216-line);
  background:#fff;
}

html.sw-campaign216 .sw216-start-card {
  padding:16px;
}

html.sw-campaign216 .sw216-start-card > div:first-child span,
html.sw-campaign216 .sw216-details-card > header span {
  display:block;
  color:#21608f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
}

html.sw-campaign216 .sw216-start-card h3,
html.sw-campaign216 .sw216-details-card h3 {
  margin:4px 0 3px!important;
  color:var(--sw216-text)!important;
  font-size:16px!important;
}

html.sw-campaign216 .sw216-start-card p {
  margin:0;
  color:var(--sw216-muted);
  font-size:10px;
}

html.sw-campaign216 .sw216-start-options {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:14px;
}

html.sw-campaign216 .sw216-start-options > button {
  display:grid;
  grid-template-columns:34px 1fr;
  column-gap:9px;
  min-height:74px;
  padding:11px;
  border:1px solid #c6d0d8;
  background:#fff;
  color:var(--sw216-text);
  text-align:left;
  cursor:pointer;
}

html.sw-campaign216 .sw216-start-options > button.selected {
  border-color:var(--sw216-blue);
  background:#f2f7fa;
}

html.sw-campaign216 .sw216-start-options i {
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  background:#e7f0f6;
  color:var(--sw216-blue);
  font-style:normal;
  font-weight:900;
}

html.sw-campaign216 .sw216-start-options b {
  font-size:10px;
}

html.sw-campaign216 .sw216-start-options small {
  color:#71808e;
  font-size:8px;
}

html.sw-campaign216 .sw216-details-card > header {
  padding:13px 14px 0;
}

html.sw-campaign216 .sw216-setup-fields {
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:10px;
  padding:14px;
}

html.sw-campaign216 .sw216-setup-fields > * {
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

html.sw-campaign216 .sw216-setup-fields > *:last-child {
  grid-column:1/-1;
}

html.sw-campaign216 .sw216-setup-fields input,
html.sw-campaign216 .sw216-setup-fields select,
html.sw-campaign216 .sw216-setup-fields textarea {
  width:100%!important;
  min-height:40px!important;
  height:40px!important;
  box-sizing:border-box!important;
}

/* Designer */
html.sw-campaign216 .sw216-design {
  display:grid;
  grid-template-columns:230px minmax(480px,1fr) 310px;
  gap:8px;
  height:100%;
  padding:8px;
  box-sizing:border-box;
}

html.sw-campaign216 .sw216-library,
html.sw-campaign216 .sw216-canvas,
html.sw-campaign216 .sw216-inspector {
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid var(--sw216-line);
  background:#fff;
}

html.sw-campaign216 .sw216-library,
html.sw-campaign216 .sw216-inspector {
  display:flex;
  flex-direction:column;
}

html.sw-campaign216 .sw216-library > header,
html.sw-campaign216 .sw216-inspector > header {
  padding:10px 11px 8px;
  border-bottom:1px solid var(--sw216-line);
}

html.sw-campaign216 .sw216-library header span,
html.sw-campaign216 .sw216-inspector header span,
html.sw-campaign216 .sw216-canvas-top span {
  display:block;
  color:#21608f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
}

html.sw-campaign216 .sw216-library header h3,
html.sw-campaign216 .sw216-inspector header h3 {
  margin:2px 0 0!important;
  color:var(--sw216-text)!important;
  font-size:14px!important;
}

html.sw-campaign216 .sw216-library-tools {
  padding:8px;
  border-bottom:1px solid var(--sw216-line);
  background:#f8fafb;
}

html.sw-campaign216 .sw216-library-tools input {
  width:100%;
  min-height:31px;
  padding:5px 7px;
  border:1px solid #bcc8d1;
  box-sizing:border-box;
}

html.sw-campaign216 .sw216-library-tools > div {
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin-top:6px;
}

html.sw-campaign216 .sw216-library-tools button {
  min-height:25px;
  padding:0 7px;
  border:1px solid #c4ced6;
  background:#fff;
  color:#4d6374;
  font-size:8px;
  font-weight:800;
  cursor:pointer;
}

html.sw-campaign216 .sw216-library-tools button.active {
  border-color:var(--sw216-blue);
  background:var(--sw216-blue);
  color:#fff;
}

html.sw-campaign216 .sw216-library-host,
html.sw-campaign216 .sw216-inspector-host {
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}

html.sw-campaign216 .sw216-library-host > *,
html.sw-campaign216 .sw216-inspector-host > * {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  box-sizing:border-box!important;
}

html.sw-campaign216 .sw216-block-button {
  display:grid!important;
  grid-template-columns:28px 1fr!important;
  align-items:center!important;
  gap:7px!important;
  width:calc(100% - 12px)!important;
  min-height:42px!important;
  margin:6px!important;
  padding:6px!important;
  border:1px solid #ccd5dc!important;
  background:#fff!important;
  color:#173b5b!important;
  text-align:left!important;
  font-size:9px!important;
  font-weight:800!important;
}

html.sw-campaign216 .sw216-block-button:hover {
  border-color:var(--sw216-blue)!important;
  background:#f2f7fa!important;
}

html.sw-campaign216 .sw216-block-button[hidden] {
  display:none!important;
}

html.sw-campaign216 .sw216-block-icon {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  background:#edf3f7;
  color:var(--sw216-blue);
  font-style:normal;
  font-size:12px;
  font-weight:900;
}

html.sw-campaign216 .sw216-canvas {
  display:flex;
  flex-direction:column;
  background:#eef2f5;
}

html.sw-campaign216 .sw216-canvas-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:7px 11px;
  border-bottom:1px solid var(--sw216-line);
  background:#fff;
}

html.sw-campaign216 .sw216-canvas-top b {
  display:block;
  margin-top:2px;
  color:var(--sw216-text);
  font-size:12px;
}

html.sw-campaign216 .sw216-canvas-note {
  color:#71808e;
  font-size:8px;
}

html.sw-campaign216 .sw216-canvas-host {
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:10px;
}

html.sw-campaign216 .sw216-canvas-host > * {
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* Review */
html.sw-campaign216 .sw216-review {
  height:100%;
  overflow:auto;
  padding:18px;
  box-sizing:border-box;
}

html.sw-campaign216 .sw216-review-hero {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  max-width:1080px;
  margin:0 auto;
  padding:18px;
  border-top:4px solid var(--sw216-orange);
  background:var(--sw216-navy);
  color:#fff;
}

html.sw-campaign216 .sw216-review-hero span {
  color:#ffb25f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
}

html.sw-campaign216 .sw216-review-hero h3 {
  margin:4px 0 3px!important;
  color:#fff!important;
  font-size:20px!important;
}

html.sw-campaign216 .sw216-review-hero p {
  margin:0;
  color:#c9d4de;
  font-size:9px;
}

html.sw-campaign216 .sw216-review-score {
  min-width:78px;
  padding:10px;
  border:1px solid #49637b;
  text-align:center;
}

html.sw-campaign216 .sw216-review-score strong,
html.sw-campaign216 .sw216-review-score small {
  display:block;
}

html.sw-campaign216 .sw216-review-score strong {
  font-size:22px;
}

html.sw-campaign216 .sw216-review-score small {
  color:#b8c8d6;
  font-size:8px;
  text-transform:uppercase;
}

html.sw-campaign216 .sw216-summary,
html.sw-campaign216 .sw216-checks {
  display:grid;
  max-width:1080px;
  margin:9px auto 0;
  gap:8px;
}

html.sw-campaign216 .sw216-summary {
  grid-template-columns:repeat(4,1fr);
}

html.sw-campaign216 .sw216-summary section,
html.sw-campaign216 .sw216-checks > div {
  padding:11px;
  border:1px solid var(--sw216-line);
  background:#fff;
}

html.sw-campaign216 .sw216-summary span {
  display:block;
  color:#748391;
  font-size:8px;
  font-weight:900;
}

html.sw-campaign216 .sw216-summary b {
  display:block;
  margin-top:4px;
  color:var(--sw216-text);
  overflow-wrap:anywhere;
}

html.sw-campaign216 .sw216-checks {
  grid-template-columns:1fr 1fr;
}

html.sw-campaign216 .sw216-checks > div {
  display:flex;
  gap:9px;
}

html.sw-campaign216 .sw216-checks i {
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  font-style:normal;
  font-weight:900;
}

html.sw-campaign216 .sw216-checks .good i {
  background:#e7f5ec;
  color:var(--sw216-good);
}

html.sw-campaign216 .sw216-checks .warn i {
  background:#fff2d9;
  color:var(--sw216-warn);
}

html.sw-campaign216 .sw216-checks b,
html.sw-campaign216 .sw216-checks small {
  display:block;
}

html.sw-campaign216 .sw216-checks small {
  margin-top:2px;
  color:#748391;
  font-size:8px;
}

html.sw-campaign216 .sw216-after-save {
  display:flex;
  gap:10px;
  max-width:1080px;
  margin:9px auto 0;
  padding:10px 11px;
  border-left:4px solid var(--sw216-blue);
  background:#fff;
  color:#687888;
  font-size:9px;
}

html.sw-campaign216 .sw216-after-save b {
  color:var(--sw216-text);
  white-space:nowrap;
}

/* Footer */
html.sw-campaign216 .sw216-native-footer {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
}

html.sw-campaign216 .sw216-footer {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:58px;
  padding:9px 14px;
  border-top:1px solid var(--sw216-line);
  background:#f7f9fb;
}

html.sw-campaign216 .sw216-footer > div {
  display:flex;
  gap:7px;
}

html.sw-campaign216 .sw216-footer button {
  min-height:35px;
  padding:0 13px;
  font-weight:900;
  cursor:pointer;
}

html.sw-campaign216 .sw216-footer .secondary {
  border:1px solid #b8c6d1;
  background:#fff;
  color:#173b5b;
}

html.sw-campaign216 .sw216-footer .primary {
  border:1px solid var(--sw216-blue);
  background:var(--sw216-blue);
  color:#fff;
}

html.sw-campaign216 .sw216-footer .save {
  border:1px solid var(--sw216-orange);
  background:var(--sw216-orange);
  color:#fff;
}

html.sw-campaign216 .sw216-reuse-notice {
  display:flex;
  justify-content:space-between;
  gap:12px;
  max-width:1360px;
  margin:9px auto;
  padding:10px 12px;
  border-left:4px solid var(--sw216-blue);
  background:#fff;
  box-shadow:0 4px 14px rgba(13,34,66,.08);
}

html.sw-campaign216 .sw216-reuse-notice b,
html.sw-campaign216 .sw216-reuse-notice span {
  display:block;
}

html.sw-campaign216 .sw216-reuse-notice span {
  margin-top:2px;
  color:#6b7a89;
  font-size:9px;
}

html.sw-campaign216 .sw216-reuse-notice button {
  width:30px;
  height:30px;
  border:1px solid #b8c6d1;
  background:#fff;
  color:#173b5b;
  font-size:17px;
  cursor:pointer;
}

@media(max-width:1000px) {
  html.sw-campaign216 .sw216-design {
    grid-template-columns:200px minmax(380px,1fr) 260px;
  }

  html.sw-campaign216 .sw216-launch-options,
  html.sw-campaign216 .sw216-start-options {
    grid-template-columns:1fr;
  }
}

@media(max-width:760px) {
  html.sw-campaign216 .sw216-design {
    grid-template-columns:1fr;
    overflow:auto;
  }

  html.sw-campaign216 .sw216-library,
  html.sw-campaign216 .sw216-canvas,
  html.sw-campaign216 .sw216-inspector {
    min-height:320px;
  }

  html.sw-campaign216 .sw216-setup-fields,
  html.sw-campaign216 .sw216-summary,
  html.sw-campaign216 .sw216-checks {
    grid-template-columns:1fr;
  }

  html.sw-campaign216 .sw216-setup-fields > *:last-child {
    grid-column:auto;
  }
}

@media(max-width:600px) {
  html.sw-campaign216 .sw216-flow {
    grid-template-columns:1fr;
  }

  html.sw-campaign216 .sw216-launch-options {
    grid-template-columns:1fr;
  }

  html.sw-campaign216 .sw216-launch-options > button {
    min-height:150px;
  }

  html.sw-campaign216 .sw216-footer > div {
    width:100%;
    flex-wrap:wrap;
  }

  html.sw-campaign216 .sw216-footer button {
    flex:1 1 45%;
  }
}
