body.ecim-portal-body, body.ecim-login-body { margin: 0; font-family: Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--ecim-bg, #f4f6fb); color: var(--ecim-text, #172033); }
.ecim-login-body { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(circle at top left, color-mix(in srgb, var(--ecim-primary, #111827) 18%, transparent), transparent 30%), var(--ecim-bg, #f8fafc); }
.ecim-login-card { width: min(92vw, 440px); background: var(--ecim-panel, #fff); border: 1px solid #e5e7eb; border-radius: 28px; box-shadow: 0 24px 70px rgba(15,23,42,.12); padding: 36px; }
.ecim-logo { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; background: var(--ecim-primary, #111827); color: #fff; font-weight: 800; margin-bottom: 18px; }
.ecim-button, .ecim-logout { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; background: var(--ecim-primary, #111827); color: #fff; padding: 12px 18px; text-decoration: none; font-weight: 700; }
.ecim-app-shell { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; }
.ecim-sidebar { background: var(--ecim-sidebar, #0f172a); color: #fff; padding: 24px; }
.ecim-brand { display: flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 800; margin-bottom: 28px; }
.ecim-brand-mark { min-width: 48px; height: 48px; border-radius: 16px; display: grid; place-items: center; background: rgba(255,255,255,.12); color: #fff; font-size: 16px; }
.ecim-brand-logo { width: 52px; height: 52px; object-fit: contain; border-radius: 14px; background: rgba(255,255,255,.08); padding: 6px; }
.ecim-login-logo-image { max-width: 180px; max-height: 90px; object-fit: contain; margin-bottom: 18px; display: block; }
.ecim-brand small { display: block; font-size: 12px; color: #cbd5e1; font-weight: 500; }
.ecim-sidebar nav { display: grid; gap: 8px; }
.ecim-sidebar a { color: #e2e8f0; text-decoration: none; padding: 12px 14px; border-radius: 14px; }
.ecim-sidebar a:hover { background: rgba(255,255,255,.08); }
.ecim-main { padding: 28px; }
.ecim-topbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 22px; }
.ecim-topbar h1 { margin: 0; font-size: 28px; }
.ecim-topbar p { margin: 6px 0 0; color: #64748b; }
.ecim-panel, .ecim-card { background: var(--ecim-panel, #fff); border: 1px solid #e5e7eb; border-radius: 24px; box-shadow: 0 16px 40px rgba(15,23,42,.06); padding: 24px; }
.ecim-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.ecim-card h3 { margin-top: 0; }
.ecim-muted { color: #64748b; }
@media (max-width: 800px) { .ecim-app-shell { grid-template-columns: 1fr; } .ecim-sidebar { position: static; } .ecim-topbar { align-items: flex-start; flex-direction: column; } }
.ecim-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.ecim-section-heading h2 { margin: 0; font-size: 26px; }
.ecim-card-topline { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.ecim-event-card { display: flex; flex-direction: column; gap: 10px; }
.ecim-stat-row { display: flex; gap: 12px; margin: 12px 0; }
.ecim-stat-row span { flex: 1; border: 1px solid #e5e7eb; border-radius: 16px; padding: 12px; background: #f8fafc; }
.ecim-stat-row strong { display: block; font-size: 24px; line-height: 1; }
.ecim-stat-row small { color: #64748b; }
.ecim-stat-row.stacked { flex-direction: column; }
.ecim-card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: auto; }
.ecim-button-small { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--ecim-primary, #111827); color: #fff; padding: 9px 13px; text-decoration: none; font-weight: 700; border: 0; cursor: pointer; }
.ecim-link { color: #334155; font-weight: 700; }
.ecim-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: 12px; font-weight: 800; background: #e2e8f0; color: #334155; }
.ecim-pill-ok { background: #dcfce7; color: #166534; }
.ecim-pill-warn { background: #fef3c7; color: #92400e; }
.ecim-pill-neutral { background: #e2e8f0; color: #334155; }
.ecim-error { color: #b91c1c; font-weight: 700; }
.ecim-subnav { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.ecim-subnav a { text-decoration: none; border: 1px solid #e5e7eb; color: #334155; background: #fff; border-radius: 999px; padding: 9px 13px; font-weight: 700; }
.ecim-subnav a.active { background: var(--ecim-primary, #111827); color: #fff; border-color: #111827; }
.ecim-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.ecim-settings-form { display: grid; gap: 14px; max-width: 760px; }
.ecim-settings-form label { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.ecim-settings-form input[type="checkbox"] { width: 18px; height: 18px; }
@media (max-width: 800px) { .ecim-stat-row { flex-direction: column; } }

.ecim-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.ecim-subnav { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.ecim-subnav button, .ecim-actions button, .ecim-card button { border: 0; border-radius: 999px; padding: 9px 14px; cursor: pointer; font-weight: 700; }
.ecim-subnav button.active { outline: 2px solid currentColor; }
.ecim-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 18px; overflow: hidden; }
.ecim-table th, .ecim-table td { padding: 12px 14px; border-bottom: 1px solid rgba(15, 23, 42, 0.08); text-align: left; }
.ecim-search { padding: 10px 12px; border: 1px solid rgba(15, 23, 42, 0.18); border-radius: 12px; min-width: 260px; margin-right: 8px; }
.ecim-error { color: #b42318; font-weight: 700; }
.no-accessibility .yydev_accessibility_container,
.no-accessibility .accessibility_container { display: none !important; }

.ecim-actions, .ecim-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ecim-actions button, .ecim-subnav button, .ecim-toolbar button { border: 0; border-radius: 999px; padding: 10px 14px; font-weight: 700; cursor: pointer; background: var(--ecim-primary, #2563eb); color: #fff; }
.ecim-actions button:hover, .ecim-subnav button:hover, .ecim-toolbar button:hover { filter: brightness(.95); }
.ecim-subnav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid rgba(148,163,184,.35); }
.ecim-subnav button { background: #e2e8f0; color: #0f172a; }
.ecim-subnav button.active { background: var(--ecim-primary, #2563eb); color: #fff; }
.ecim-table { width: 100%; border-collapse: collapse; margin-top: 16px; overflow: hidden; border-radius: 18px; background: #fff; }
.ecim-table th, .ecim-table td { text-align: left; border-bottom: 1px solid #e5e7eb; padding: 14px; vertical-align: middle; }
.ecim-table th { background: #f8fafc; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #64748b; }
.ecim-search { min-width: min(420px, 100%); border: 1px solid #cbd5e1; border-radius: 999px; padding: 11px 14px; }
.ecim-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 10px; background: #e2e8f0; color: #334155; font-weight: 700; font-size: 12px; }
.ecim-pill-success { background: #dcfce7; color: #166534; }
.ecim-error { border: 1px solid #fecaca; background: #fef2f2; color: #991b1b; padding: 12px 14px; border-radius: 14px; }
.ecim-notice { border: 1px solid #bfdbfe; background: #eff6ff; color: #1e3a8a; padding: 12px 14px; border-radius: 14px; margin-bottom: 14px; }
.ecim-profile h3 { margin-top: 0; }
.ecim-details { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: 8px 16px; margin: 20px 0; }
.ecim-details dt { font-weight: 800; color: #475569; }
.ecim-details dd { margin: 0; }
.ecim-card label { display: block; margin: 12px 0; font-weight: 700; }
@media (max-width: 700px) { .ecim-table { display: block; overflow-x: auto; } .ecim-details { grid-template-columns: 1fr; } }

.ecim-badge-preview-card { overflow-x: auto; }
.ecim-badge-preview-wrap { display: grid; place-items: center; min-height: 360px; padding: 28px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 22px; }
.ecim-badge-render { position: relative; width: var(--ecim-badge-width); height: var(--ecim-badge-height); background: var(--ecim-badge-bg); color: var(--ecim-badge-text); overflow: hidden; box-sizing: border-box; border: 1px solid #e2e8f0; box-shadow: 0 18px 36px rgba(15, 23, 42, .12); }
.ecim-badge-render::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 10px; background: var(--ecim-badge-primary); }
.ecim-badge-element { position: absolute; box-sizing: border-box; }
.ecim-badge-text { max-width: 230px; line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ecim-badge-qr { display: grid; place-items: center; background: #fff; overflow: hidden; }
.ecim-badge-qr img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ecim-badge-qr-empty { border: 2px solid var(--ecim-badge-primary); text-align: center; color: var(--ecim-badge-primary); font-weight: 800; }
.ecim-badge-qr span { font-size: 18px; }
.ecim-badge-qr small { font-size: 7px; max-width: 90%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ecim-top-actions {
  margin-bottom: 1rem;
}

.ecim-form-card {
  display: grid;
  gap: 1rem;
  max-width: 760px;
}

.ecim-form-card label {
  display: grid;
  gap: .4rem;
  font-weight: 700;
}

.ecim-form-card input,
.ecim-form-card select,
.ecim-form-card textarea {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, .16);
  border-radius: 14px;
  padding: .8rem 1rem;
  font: inherit;
  background: #fff;
}

.ecim-actions button:disabled,
.ecim-toolbar button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.ecim-button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 800;
  text-decoration: none;
  background: var(--ecim-primary, #2563eb);
  color: #fff;
}

.ecim-button-link:hover {
  color: #fff;
  filter: brightness(.95);
}
.ecim-check { display: block; margin: 8px 0; color: var(--ecim-text, #0b1630); }
.ecim-check input { margin-right: 8px; }

.ecim-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}

.ecim-inline-actions button:disabled,
.ecim-actions button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

#ecim-scanner-input {
  font-size: 1.05rem;
  min-height: 48px;
}

.ecim-scan-hit h3 {
  margin-top: 0;
}

.ecim-check {
  display: flex !important;
  align-items: center;
  gap: .6rem !important;
}

.ecim-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

.ecim-danger {
  border-color: #fecaca !important;
  background: #fff1f2 !important;
  color: #991b1b !important;
}

.ecim-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#ecim-badge-json {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
}

.ecim-badge-preview-wrap {
  overflow: auto;
}

@media (max-width: 760px) {
  .ecim-two-col {
    grid-template-columns: 1fr;
  }
}

.ecim-designer-grid {
  display: grid;
  grid-template-columns: minmax(340px, 520px) minmax(320px, 1fr);
  gap: 18px;
  align-items: start;
}
.ecim-designer-panel { max-width: none; }
.ecim-designer-preview-card { position: sticky; top: 24px; }
.ecim-designer-element { border: 1px solid #e2e8f0; border-radius: 16px; padding: 10px 12px; background: #f8fafc; margin: 10px 0; }
.ecim-designer-element summary { cursor: pointer; font-weight: 800; }
.ecim-four-col { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ecim-json-details { border-top: 1px solid #e2e8f0; padding-top: 12px; margin-top: 12px; }
.ecim-json-details summary { cursor: pointer; font-weight: 800; }
.ecim-designer-output { margin-top: 18px; }
.ecim-badge-logo-preview { position: absolute; right: 18px; top: 18px; max-width: 92px; max-height: 42px; object-fit: contain; z-index: 2; }
@media (max-width: 980px) {
  .ecim-designer-grid { grid-template-columns: 1fr; }
  .ecim-designer-preview-card { position: static; }
  .ecim-four-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v0.5.1 badge designer interaction polish */
.ecim-compact-actions { margin: 8px 0 12px; }
.ecim-element-actions { margin-top: 10px; }
.ecim-badge-render {
  position: relative;
  width: var(--ecim-badge-width, 4in);
  height: var(--ecim-badge-height, 3in);
  background: var(--ecim-badge-bg, #fff);
  color: var(--ecim-badge-text, #0f172a);
  border: 1px solid #cbd5e1;
  box-shadow: 0 16px 40px rgba(15, 23, 42, .14);
  overflow: hidden;
  transform-origin: top left;
}
.ecim-badge-element {
  position: absolute;
  cursor: grab;
  user-select: none;
  touch-action: none;
  min-width: 28px;
  min-height: 20px;
  border: 1px dashed transparent;
  border-radius: 8px;
  padding: 2px;
}
.ecim-badge-element:hover,
.ecim-badge-element.is-dragging {
  border-color: var(--ecim-primary, #0b1630);
  background: rgba(255, 255, 255, .72);
}
.ecim-badge-element.is-dragging { cursor: grabbing; }
.ecim-badge-text span { white-space: nowrap; display: inline-block; }
.ecim-badge-qr > div {
  border: 2px solid var(--ecim-badge-primary, #2563eb);
  background: #fff;
  display: grid;
  place-items: center;
  text-align: center;
  color: #0f172a;
}
.ecim-badge-qr span { font-weight: 900; font-size: 18px; line-height: 1; }
.ecim-badge-qr small { display: block; font-size: 7px; max-width: 90%; overflow: hidden; text-overflow: ellipsis; }

/* v0.5.2 professional badge designer controls */
.ecim-three-col {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.ecim-badge-show-grid {
  background-image:
    linear-gradient(to right, rgba(37, 99, 235, .14) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(37, 99, 235, .14) 1px, transparent 1px) !important;
  background-size: var(--ecim-grid-size, 8px) var(--ecim-grid-size, 8px) !important;
}
.ecim-badge-show-grid[style*="background-image:url"] {
  background-blend-mode: normal;
}
.ecim-badge-element.is-locked {
  cursor: not-allowed;
  opacity: .92;
}
.ecim-badge-element.is-locked:hover::after {
  content: "Locked";
  position: absolute;
  right: 0;
  top: -20px;
  font-size: 10px;
  background: #0f172a;
  color: #fff;
  border-radius: 999px;
  padding: 2px 6px;
}
.ecim-badge-text-inner {
  display: block;
  width: 100%;
  height: 100%;
}
.ecim-badge-image-el {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
.ecim-image-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border: 1px dashed #94a3b8;
  color: #64748b;
  background: rgba(248, 250, 252, .78);
  font-weight: 800;
}
.ecim-badge-qr-box {
  width: 100%;
  height: 100%;
  background: #fff;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.ecim-badge-qr-box img,
.ecim-badge-qr-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
@media (max-width: 760px) {
  .ecim-three-col { grid-template-columns: 1fr; }
}

/* v0.5.4 visual designer toolbar / Elementor-style polish */
.ecim-designer-grid {
  grid-template-columns: minmax(320px, 420px) minmax(520px, 1fr);
}
.ecim-badge-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 10px;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
  background: #f8fafc;
  margin: 10px 0 14px;
  position: sticky;
  top: 0;
  z-index: 5;
}
.ecim-badge-toolbar select,
.ecim-badge-toolbar input[type="number"] {
  width: auto;
  min-height: 34px;
  padding: 5px 8px;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  background: #fff;
}
.ecim-badge-toolbar #ecim-toolbar-font { min-width: 160px; }
.ecim-badge-toolbar #ecim-toolbar-size { width: 64px; }
.ecim-badge-toolbar button {
  border: 1px solid transparent;
  border-radius: 8px;
  min-width: 34px;
  height: 34px;
  padding: 4px 8px;
  background: #fff;
  color: #0f172a;
  box-shadow: none;
}
.ecim-badge-toolbar button:hover,
.ecim-badge-toolbar button.active {
  border-color: var(--ecim-primary, #0b1630);
  background: #e2e8f0;
}
.ecim-toolbar-separator {
  display: inline-block;
  width: 1px;
  height: 28px;
  background: #cbd5e1;
  margin: 0 3px;
}
.ecim-toolbar-colour {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  font-weight: 900;
}
.ecim-toolbar-colour input { width: 34px; height: 28px; padding: 0; border: 0; background: transparent; }
.ecim-toolbar-wrap { margin: 0 4px !important; }
.ecim-badge-canvas-shell {
  border: 1px solid #dbe3ee;
  border-radius: 18px;
  padding: 14px;
  background: linear-gradient(135deg, #f8fafc, #eef2f7);
}
.ecim-drop-hint {
  font-size: 12px;
  color: #64748b;
  margin-bottom: 10px;
}
.ecim-badge-preview-wrap {
  min-height: 360px;
  display: grid;
  place-items: start center;
  padding: 18px;
  background: #e5e7eb;
  border-radius: 14px;
}
.ecim-badge-element.is-selected {
  border-color: #e11d48 !important;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 0 0 2px rgba(225, 29, 72, .16);
}
.ecim-badge-element.is-selected::before,
.ecim-badge-element.is-selected::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #e11d48;
  border: 1px solid #fff;
  border-radius: 999px;
  pointer-events: none;
}
.ecim-badge-element.is-selected::before { left: -5px; top: -5px; }
.ecim-badge-element.is-selected::after { right: -5px; bottom: -5px; }
.ecim-designer-element.is-selected {
  border-color: #e11d48;
  background: #fff7f9;
  box-shadow: 0 0 0 2px rgba(225, 29, 72, .08);
}
.ecim-designer-element.is-selected summary::after {
  content: "Selected";
  float: right;
  font-size: 11px;
  color: #e11d48;
  background: #ffe4e6;
  border-radius: 999px;
  padding: 2px 8px;
}
@media (max-width: 1080px) {
  .ecim-designer-grid { grid-template-columns: 1fr; }
  .ecim-badge-toolbar { position: static; }
}

/* v0.5.5 visual resizing and Media Library controls */
.ecim-colour-control {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 8px;
  align-items: center;
}
.ecim-colour-control input[type="color"] {
  width: 46px;
  height: 42px;
  padding: 3px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
}
.ecim-media-control {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}
.ecim-media-control button {
  white-space: nowrap;
  min-height: 42px;
}
.ecim-resize-handle {
  position: absolute;
  display: none;
  background: #e11d48;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(15,23,42,.25);
  z-index: 40;
}
.ecim-badge-element.is-selected .ecim-resize-handle { display: block; }
.ecim-resize-se {
  right: -7px;
  bottom: -7px;
  width: 13px;
  height: 13px;
  border-radius: 999px;
  cursor: nwse-resize;
  pointer-events: auto;
}
.ecim-resize-e {
  right: -7px;
  top: calc(50% - 6px);
  width: 12px;
  height: 12px;
  border-radius: 999px;
  cursor: ew-resize;
  pointer-events: auto;
}
.ecim-resize-s {
  left: calc(50% - 6px);
  bottom: -7px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  cursor: ns-resize;
  pointer-events: auto;
}
.ecim-badge-element.is-resizing {
  border-color: #e11d48;
  background: rgba(255,255,255,.84);
  cursor: nwse-resize;
  z-index: 30;
}
@media (max-width: 760px) {
  .ecim-media-control { grid-template-columns: 1fr; }
  .ecim-colour-control { grid-template-columns: 1fr; }
}


/* v0.5.6 badge designer layout cleanup */
.ecim-designer-grid {
  grid-template-columns: 360px minmax(560px, 1fr);
  gap: 24px;
  align-items: start;
}
.ecim-designer-panel {
  max-height: calc(100vh - 120px);
  overflow: auto;
  padding: 24px;
}
.ecim-designer-preview-card {
  padding: 24px;
}
.ecim-designer-panel h3,
.ecim-designer-preview-card h3 {
  margin-top: 0;
}
.ecim-designer-panel > label,
.ecim-designer-panel .ecim-two-col > label,
.ecim-designer-panel .ecim-three-col > label,
.ecim-designer-element label {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 12px;
}
.ecim-designer-panel input,
.ecim-designer-panel select,
.ecim-designer-panel textarea,
.ecim-designer-element input,
.ecim-designer-element select,
.ecim-designer-element textarea {
  margin-top: 6px;
}
.ecim-colour-control {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 8px;
  align-items: center;
}
.ecim-colour-control input[type="color"] {
  width: 46px;
  min-width: 46px;
  height: 42px;
  padding: 3px;
  border-radius: 12px;
  cursor: pointer;
}
.ecim-colour-control input[type="text"],
.ecim-colour-control input:not([type]) {
  min-width: 0;
}
.ecim-media-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.ecim-media-control button {
  white-space: nowrap;
  padding-inline: 14px;
}
.ecim-badge-preview-wrap {
  min-height: 560px;
  padding: 32px;
  background:
    linear-gradient(45deg, rgba(148,163,184,.18) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(148,163,184,.18) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(148,163,184,.18) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(148,163,184,.18) 75%);
  background-size: 22px 22px;
  background-position: 0 0, 0 11px, 11px -11px, -11px 0;
  background-color: #f8fafc;
}
.ecim-badge-render {
  border-radius: 2px;
  box-shadow: 0 24px 60px rgba(15,23,42,.18);
}
.ecim-badge-render::before { display: none !important; content: none !important; }
.ecim-badge-toolbar {
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15,23,42,.06);
}
.ecim-drop-hint {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 9px 12px;
}
.ecim-designer-element {
  background: #fff;
  border-color: #dbe3ee;
  box-shadow: 0 8px 18px rgba(15,23,42,.04);
}
.ecim-designer-element[open] {
  border-color: rgba(225,29,72,.32);
}
.ecim-element-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ecim-element-actions button {
  padding: 7px 10px;
}
@media (max-width: 1100px) {
  .ecim-designer-grid { grid-template-columns: 1fr; }
  .ecim-designer-panel { max-height: none; }
}

/* v0.5.7 drag/drop badge designer fixes */
.ecim-element-palette {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0 14px;
  padding: 12px;
  border: 1px solid #dbe3ee;
  border-radius: 16px;
  background: #f8fafc;
}
.ecim-element-palette button {
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  padding: 10px 12px;
  font-weight: 800;
  cursor: grab;
  box-shadow: 0 4px 12px rgba(15,23,42,.04);
}
.ecim-element-palette button:hover {
  border-color: var(--ecim-primary, #0b1630);
  background: #eef2ff;
}
.ecim-element-palette button:active { cursor: grabbing; }
.ecim-element-palette .ecim-danger-light {
  color: #be123c;
  border-color: #fecdd3;
  background: #fff1f2;
}
.ecim-media-control button,
.ecim-element-float-tools button {
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #0f172a;
  font-weight: 800;
  min-height: 36px;
}
.ecim-media-control button:hover,
.ecim-element-float-tools button:hover {
  border-color: var(--ecim-primary, #0b1630);
  background: #f1f5f9;
}
.ecim-element-float-tools {
  display: none;
  position: absolute;
  left: 0;
  top: -34px;
  gap: 4px;
  z-index: 60;
  white-space: nowrap;
}
.ecim-badge-element.is-selected .ecim-element-float-tools,
.ecim-badge-element:hover .ecim-element-float-tools {
  display: flex;
}
.ecim-element-float-tools button {
  font-size: 11px;
  min-height: 26px;
  padding: 3px 7px;
  box-shadow: 0 8px 18px rgba(15,23,42,.12);
}
.ecim-badge-render {
  outline: 2px dashed transparent;
  outline-offset: 8px;
}
.ecim-badge-canvas-shell:has(.ecim-badge-render:hover) .ecim-drop-hint {
  border-color: var(--ecim-primary, #0b1630);
  color: #0f172a;
}
.ecim-image-placeholder small { display:block; font-size: 10px; font-weight: 600; color:#64748b; margin-top: 3px; }
.ecim-designer-preview-card { overflow: visible; }
@media (max-width: 760px) {
  .ecim-element-palette { grid-template-columns: 1fr; }
}

/* v0.5.8 inline editing + image workflow */
.ecim-background-panel,
.ecim-image-control {
  border: 1px solid #dbe3ee;
  border-radius: 16px;
  background: #f8fafc;
  padding: 12px;
  margin: 12px 0;
}
.ecim-background-picker,
.ecim-image-control {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: center;
}
.ecim-background-thumb,
.ecim-image-thumb {
  width: 96px;
  height: 72px;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 12px;
  text-align: center;
  padding: 6px;
}
.ecim-background-thumb img,
.ecim-image-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ecim-image-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ecim-image-actions button,
.ecim-image-actions .button {
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #0f172a;
  font-weight: 800;
  min-height: 38px;
  padding: 8px 12px;
}
.ecim-image-actions button:hover {
  border-color: var(--ecim-primary, #0b1630);
  background: #eef2ff;
}
.ecim-ghost-danger {
  color: #be123c !important;
  border-color: #fecdd3 !important;
  background: #fff1f2 !important;
}
.ecim-advanced-url {
  grid-column: 1 / -1;
  margin-top: 8px;
  color: #475569;
}
.ecim-advanced-url summary {
  cursor: pointer;
  font-weight: 800;
  font-size: 12px;
}
.ecim-badge-text-inner[contenteditable="true"] {
  cursor: text;
  outline: none;
  display: block;
  min-height: 1em;
}
.ecim-badge-element.is-selected .ecim-badge-text-inner[contenteditable="true"]:focus {
  box-shadow: inset 0 -2px 0 rgba(225, 29, 72, .35);
  background: rgba(255,255,255,.6);
}
.ecim-badge-logo-preview { display: none !important; }
@media (max-width: 760px) {
  .ecim-background-picker,
  .ecim-image-control { grid-template-columns: 1fr; }
  .ecim-background-thumb,
  .ecim-image-thumb { width: 100%; }
}


/* v0.5.9 designer input polish */
.ecim-designer-element .ecim-two-col,
.ecim-designer-element .ecim-three-col,
.ecim-designer-element .ecim-four-col {
  gap: 12px;
  align-items: end;
}
.ecim-designer-element .ecim-four-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 1280px) {
  .ecim-designer-element .ecim-four-col {
    grid-template-columns: repeat(4, minmax(88px, 1fr));
  }
}
.ecim-designer-element label {
  line-height: 1.15;
}
.ecim-element-colour-control {
  grid-template-columns: 44px minmax(108px, 1fr);
}
.ecim-element-colour-control input[type="color"] {
  width: 44px;
  min-width: 44px;
  height: 40px;
}
.ecim-badge-el-line-height,
.ecim-badge-el-letter,
.ecim-badge-el-size,
.ecim-badge-el-weight {
  min-width: 0;
  width: 100%;
}


/* v0.6.0 designer layout rebalance */
.ecim-designer-grid {
  grid-template-columns: minmax(430px, 0.58fr) minmax(460px, 0.42fr);
  gap: 22px;
}
.ecim-designer-panel {
  min-width: 0;
}
.ecim-designer-preview-card {
  min-width: 0;
}
.ecim-designer-element .ecim-four-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 1320px) {
  .ecim-designer-element .ecim-four-col {
    grid-template-columns: repeat(4, minmax(74px, 1fr));
  }
}
.ecim-designer-element .ecim-four-col label {
  min-width: 0;
}
.ecim-designer-element input,
.ecim-designer-element select,
.ecim-designer-element textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.ecim-element-colour-control {
  grid-template-columns: 44px minmax(120px, 1fr);
}
.ecim-badge-toolbar {
  overflow-x: auto;
}
.ecim-badge-preview-wrap {
  padding: 24px;
}
@media (max-width: 1180px) {
  .ecim-designer-grid {
    grid-template-columns: 1fr;
  }
}


/* v0.6.1 designer balance + background image fix */
.ecim-designer-grid {
  grid-template-columns: minmax(520px, 0.62fr) minmax(360px, 0.38fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.ecim-designer-panel,
.ecim-designer-preview-card {
  height: min(74vh, 760px) !important;
  min-height: 620px;
  overflow: auto;
  box-sizing: border-box;
}
.ecim-designer-preview-card {
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 22px;
}
.ecim-designer-preview-card .ecim-badge-canvas-shell {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.ecim-designer-preview-card .ecim-badge-preview-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 18px;
}
.ecim-designer-panel .ecim-background-panel,
.ecim-designer-panel .ecim-image-control {
  background: #f8fafc;
}
.ecim-badge-show-grid {
  background-image: none !important;
}
@media (max-width: 1180px) {
  .ecim-designer-grid { grid-template-columns: 1fr !important; }
  .ecim-designer-panel,
  .ecim-designer-preview-card { height: auto !important; min-height: 0; }
  .ecim-designer-preview-card { position: static; }
}


/* v0.6.2 background rendering fix */
.ecim-badge-render.ecim-show-grid::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  background-image: linear-gradient(to right, rgba(37,99,235,.14) 1px, transparent 1px), linear-gradient(to bottom, rgba(37,99,235,.14) 1px, transparent 1px);
  background-size: var(--ecim-grid-size, 8px) var(--ecim-grid-size, 8px), var(--ecim-grid-size, 8px) var(--ecim-grid-size, 8px);
  background-position: 0 0, 0 0;
}
/* Layering fix: do not override inline element z-index while grid is visible. */



/* v0.7.6 layering hardening: preserve per-element inline z-index. */
.ecim-badge-render { isolation: isolate; }
.ecim-badge-render::before { position: absolute; z-index: 1; pointer-events: none; }
.ecim-badge-bg-image { z-index: 0 !important; }
.ecim-badge-element { position: absolute; }
.ecim-badge-render.ecim-show-grid::after { pointer-events: none; }

/* v0.7.5 designer UX/layering corrections */
.ecim-designer-grid {
  grid-template-columns: minmax(540px, 0.6fr) minmax(420px, 0.4fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.ecim-designer-panel,
.ecim-designer-preview-card {
  height: min(72vh, 720px) !important;
  min-height: 620px !important;
  overflow: auto !important;
}
.ecim-designer-preview-card {
  position: sticky !important;
  top: 22px !important;
}
.ecim-badge-bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}
/* Element z-index is controlled inline by the designer. Do not force it here. */
.ecim-badge-render.ecim-show-grid::after {
  z-index: 40 !important;
}
/* Keep grid overlay independent; never flatten element layers while grid is visible. */
.ecim-element-float-tools {
  top: -36px !important;
  left: 0 !important;
  z-index: 120 !important;
  display: none;
  opacity: 1 !important;
}
.ecim-badge-element.is-selected .ecim-element-float-tools,
.ecim-badge-element:hover .ecim-element-float-tools {
  display: flex !important;
}
.ecim-element-float-tools button {
  background: rgba(255,255,255,.96) !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.18) !important;
}
.ecim-element-float-tools button:hover,
.ecim-element-float-tools button:focus {
  background: #0f172a !important;
  color: #fff !important;
  border-color: #0f172a !important;
}
@media (max-width: 1180px) {
  .ecim-designer-grid { grid-template-columns: 1fr !important; }
  .ecim-designer-panel,
  .ecim-designer-preview-card { height: auto !important; min-height: 0 !important; }
  .ecim-designer-preview-card { position: static !important; }
}


/* v0.6.5 panel sizing + layer ordering */
.ecim-designer-grid {
  grid-template-columns: minmax(660px, 0.7fr) minmax(300px, 0.3fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.ecim-designer-panel {
  min-width: 0 !important;
}
.ecim-designer-preview-card {
  min-width: 0 !important;
  max-width: 540px !important;
  justify-self: stretch !important;
}
.ecim-designer-panel,
.ecim-designer-preview-card {
  height: min(72vh, 720px) !important;
  min-height: 620px !important;
  overflow: auto !important;
}
.ecim-layer-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}
.ecim-layer-actions button {
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  border-radius: 12px;
}
.ecim-badge-element {
  isolation: isolate;
}
@media (min-width: 1500px) {
  .ecim-designer-grid {
    grid-template-columns: minmax(720px, 0.72fr) minmax(300px, 0.28fr) !important;
  }
  .ecim-designer-preview-card { max-width: 520px !important; }
}
@media (max-width: 1180px) {
  .ecim-designer-grid { grid-template-columns: 1fr !important; }
  .ecim-designer-preview-card { max-width: none !important; }
  .ecim-designer-panel,
  .ecim-designer-preview-card { height: auto !important; min-height: 0 !important; }
}

/* v0.6.6 designer panel correction: preview left, setup right */
.ecim-designer-grid {
  display: grid !important;
  grid-template-columns: minmax(620px, 0.68fr) minmax(340px, 0.32fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.ecim-designer-preview-card {
  order: 1 !important;
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
}
.ecim-designer-panel {
  order: 2 !important;
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
}
.ecim-designer-panel,
.ecim-designer-preview-card {
  height: min(76vh, 760px) !important;
  min-height: 640px !important;
  overflow: auto !important;
}
.ecim-badge-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
.ecim-badge-toolbar [data-action="badge-element-back"],
.ecim-badge-toolbar [data-action="badge-element-backward"],
.ecim-badge-toolbar [data-action="badge-element-forward"],
.ecim-badge-toolbar [data-action="badge-element-front"] {
  min-width: auto !important;
  padding: 8px 10px !important;
  font-size: 12px !important;
}
.ecim-layer-actions { display: none !important; }
@media (max-width: 1180px) {
  .ecim-designer-grid { grid-template-columns: 1fr !important; }
  .ecim-designer-preview-card,
  .ecim-designer-panel { order: initial !important; height: auto !important; min-height: 0 !important; }
}

/* v0.7.0 dynamic layout engine v1 */
.ecim-designer-group summary {
  color: #0f172a;
}
.ecim-stack-preview {
  display: grid;
  gap: 4px;
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  font-size: 12px;
}
.ecim-badge-group {
  overflow: visible !important;
  border: 1px dashed rgba(37, 99, 235, 0.45);
  background: rgba(37, 99, 235, 0.025);
}
.ecim-badge-group-child {
  position: absolute;
  display: block;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ecim-badge-group-label {
  position: absolute;
  right: 4px;
  top: -18px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #2563eb;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
  opacity: .85;
}
.ecim-badge-render:not(:hover) .ecim-badge-group-label {
  opacity: 0;
}
.ecim-badge-group.is-selected {
  border-style: solid;
  background: rgba(37, 99, 235, 0.06);
}

/* v0.8.0 multi-select, grouping, and alignment tools */
.ecim-badge-element.is-selected {
  outline: 2px solid rgba(225, 29, 72, .9) !important;
  outline-offset: 1px;
}
.ecim-designer-element.is-selected > summary {
  color: #e11d48;
}
.ecim-badge-selection-box {
  position: absolute;
  border: 1px solid #2563eb;
  background: rgba(37, 99, 235, .12);
  pointer-events: none;
  z-index: 1000000;
}
.ecim-badge-toolbar [data-action="badge-align-selected"],
.ecim-badge-toolbar [data-action="badge-distribute-selected"],
.ecim-badge-toolbar [data-action="badge-group-selected"],
.ecim-badge-toolbar [data-action="badge-ungroup-selected"],
.ecim-badge-toolbar [data-action="badge-toolbar-align"] {
  min-width: auto !important;
  padding: 8px 10px !important;
  font-size: 12px !important;
}
.ecim-badge-group[data-badge-index].is-selected {
  outline-color: rgba(37, 99, 235, .95) !important;
}

/* v0.8.3 compact grouped designer toolbar + inline editing stability */
.ecim-badge-toolbar-modern {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(203, 213, 225, .78) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .055) !important;
}
.ecim-badge-toolbar-modern .ecim-toolbar-group {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 40px !important;
  padding: 2px 10px 2px 0 !important;
  border: 0 !important;
  border-right: 1px solid rgba(203, 213, 225, .85) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ecim-badge-toolbar-modern .ecim-toolbar-group:last-child {
  border-right: 0 !important;
  padding-right: 0 !important;
}
.ecim-badge-toolbar-modern .ecim-toolbar-label {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 2px 0 0 !important;
  color: #64748b !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.ecim-badge-toolbar-modern select,
.ecim-badge-toolbar-modern input[type="number"] {
  min-height: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  border: 1px solid #dbe3ee !important;
  background: #fff !important;
  color: #0f172a !important;
  font-weight: 650 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .035) !important;
}
.ecim-badge-toolbar-modern #ecim-toolbar-font { min-width: 158px !important; }
.ecim-badge-toolbar-modern #ecim-toolbar-size { width: 64px !important; }
.ecim-badge-toolbar-modern button {
  min-width: 34px !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 10px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .04) !important;
}
.ecim-badge-toolbar-modern button:hover,
.ecim-badge-toolbar-modern button:focus-visible {
  border-color: rgba(37, 99, 235, .45) !important;
  background: #eef4ff !important;
  color: #1d4ed8 !important;
  transform: translateY(-1px);
}
.ecim-badge-toolbar-modern button.active {
  border-color: rgba(37, 99, 235, .72) !important;
  background: linear-gradient(135deg, var(--ecim-primary, #2563eb), #7c3aed) !important;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(37, 99, 235, .22) !important;
}
.ecim-badge-toolbar-modern .ecim-icon-button {
  font-size: 14px !important;
}
.ecim-badge-toolbar-modern .ecim-toolbar-colour {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 8px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 9px !important;
  background: #fff !important;
  gap: 6px !important;
}
.ecim-badge-toolbar-modern .ecim-toolbar-colour span {
  font-weight: 900 !important;
}
.ecim-badge-toolbar-modern .ecim-toolbar-colour input {
  width: 26px !important;
  height: 26px !important;
  border-radius: 7px !important;
  overflow: hidden;
}
.ecim-badge-toolbar-modern .ecim-toolbar-wrap {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 8px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 9px !important;
  background: #fff !important;
  gap: 6px !important;
  font-weight: 800 !important;
}
.ecim-badge-toolbar-modern .ecim-toolbar-separator { display: none !important; }
@media (max-width: 900px) {
  .ecim-badge-toolbar-modern {
    align-items: stretch !important;
  }
  .ecim-badge-toolbar-modern .ecim-toolbar-group {
    width: 100%;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(203, 213, 225, .65) !important;
    padding-bottom: 8px !important;
  }
  .ecim-badge-toolbar-modern .ecim-toolbar-group:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}
}


/* v0.8.4 professional grouped badge toolbar */
.ecim-badge-toolbar-pro {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(203, 213, 225, .82) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .07) !important;
  backdrop-filter: blur(12px);
}
.ecim-badge-toolbar-pro .ecim-toolbar-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-row-secondary {
  border-top: 1px solid rgba(226, 232, 240, .9) !important;
  padding-top: 16px !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-group {
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  align-items: center !important;
  gap: 10px 12px !important;
  min-height: 88px !important;
  padding: 0 28px !important;
  border-right: 1px solid rgba(203, 213, 225, .8) !important;
  border-bottom: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-group:first-child { padding-left: 0 !important; }
.ecim-badge-toolbar-pro .ecim-toolbar-group:last-child { border-right: 0 !important; padding-right: 0 !important; }
.ecim-badge-toolbar-pro .ecim-toolbar-label {
  flex: 0 0 100% !important;
  display: block !important;
  margin: 0 0 8px !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: .065em !important;
  text-transform: uppercase !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-controls {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
.ecim-badge-toolbar-pro select,
.ecim-badge-toolbar-pro input[type="number"] {
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  border: 1px solid #dbe3ee !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size: 17px !important;
  font-weight: 650 !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, .045) !important;
}
.ecim-badge-toolbar-pro #ecim-toolbar-font { min-width: 210px !important; }
.ecim-badge-toolbar-pro #ecim-toolbar-size-select { width: 90px !important; }
.ecim-badge-toolbar-pro #ecim-toolbar-size { display: none !important; }
.ecim-badge-toolbar-pro .ecim-toolbar-menu { min-width: 176px !important; }
.ecim-badge-toolbar-pro button {
  min-width: 48px !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 15px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, .045) !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-format-button {
  font-size: 20px !important;
  width: 56px !important;
  padding: 0 !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-format-button.active,
.ecim-badge-toolbar-pro button.active {
  border-color: rgba(37, 99, 235, .65) !important;
  background: linear-gradient(135deg, var(--ecim-primary, #2563eb), #7c3aed) !important;
  color: #fff !important;
  box-shadow: 0 12px 22px rgba(37, 99, 235, .25) !important;
}
.ecim-badge-toolbar-pro button:hover,
.ecim-badge-toolbar-pro button:focus-visible,
.ecim-badge-toolbar-pro select:hover {
  border-color: rgba(37, 99, 235, .42) !important;
  background: #f8fbff !important;
  transform: translateY(-1px);
}
.ecim-badge-toolbar-pro .ecim-toolbar-mini {
  width: 48px !important;
  padding: 0 !important;
  color: #4f46e5 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  background: rgba(99, 102, 241, .055) !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-tile,
.ecim-badge-toolbar-pro .ecim-toolbar-action {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  width: 72px !important;
  height: 72px !important;
  padding: 6px !important;
  color: #0f172a !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-tile span,
.ecim-badge-toolbar-pro .ecim-toolbar-action span {
  display: block !important;
  color: #4f46e5 !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-tile small,
.ecim-badge-toolbar-pro .ecim-toolbar-action small {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.05 !important;
  font-weight: 750 !important;
  color: #111827 !important;
  white-space: nowrap !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-colour {
  display: inline-flex !important;
  align-items: center !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 10px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 12px !important;
  background: #fff !important;
  gap: 6px !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-colour span { font-size: 18px !important; font-weight: 900 !important; }
.ecim-badge-toolbar-pro .ecim-toolbar-colour input { width: 34px !important; height: 34px !important; border-radius: 8px !important; padding: 0 !important; }
.ecim-badge-toolbar-pro .ecim-toolbar-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 12px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-wrap input {
  appearance: none !important;
  width: 42px !important;
  height: 24px !important;
  border-radius: 999px !important;
  border: 1px solid #cbd5e1 !important;
  background: #e2e8f0 !important;
  position: relative !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-wrap input::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(15,23,42,.22);
  transition: left .15s ease;
}
.ecim-badge-toolbar-pro .ecim-toolbar-wrap input:checked { background: linear-gradient(135deg, var(--ecim-primary, #2563eb), #7c3aed) !important; border-color: transparent !important; }
.ecim-badge-toolbar-pro .ecim-toolbar-wrap input:checked::after { left: 21px; }
.ecim-badge-toolbar-pro .ecim-toolbar-duplicate { background: rgba(99, 102, 241, .08) !important; border-color: rgba(99, 102, 241, .15) !important; color: #4f46e5 !important; }
.ecim-badge-toolbar-pro .ecim-toolbar-delete { background: rgba(239, 68, 68, .08) !important; border-color: rgba(239, 68, 68, .15) !important; color: #dc2626 !important; }
.ecim-badge-toolbar-pro .ecim-toolbar-delete span,
.ecim-badge-toolbar-pro .ecim-toolbar-delete small { color: #dc2626 !important; }
.ecim-badge-toolbar-pro .ecim-toolbar-shortcuts {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px 28px !important;
  margin-top: 2px !important;
  padding: 14px 18px !important;
  border: 1px solid rgba(199, 210, 254, .7) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(248, 250, 255, .96), rgba(255,255,255,.92)) !important;
  color: #475569 !important;
}
.ecim-badge-toolbar-pro .ecim-toolbar-shortcuts strong { color: #4f46e5 !important; margin-right: 4px !important; }
.ecim-badge-toolbar-pro kbd {
  padding: 4px 8px !important;
  border-radius: 7px !important;
  border: 1px solid #cbd5e1 !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-family: inherit !important;
  font-weight: 700 !important;
}
@media (max-width: 1180px) {
  .ecim-badge-toolbar-pro .ecim-toolbar-row { flex-wrap: wrap !important; gap: 18px 0 !important; }
  .ecim-badge-toolbar-pro .ecim-toolbar-group { min-height: auto !important; padding-top: 4px !important; padding-bottom: 4px !important; }
}
@media (max-width: 760px) {
  .ecim-badge-toolbar-pro { padding: 14px !important; border-radius: 18px !important; }
  .ecim-badge-toolbar-pro .ecim-toolbar-group { width: 100% !important; border-right: 0 !important; padding: 0 !important; }
  .ecim-badge-toolbar-pro .ecim-toolbar-label { margin-top: 4px !important; }
}


/* v0.8.6 Word-style badge toolbar cleanup */
.ecim-badge-toolbar-word {
  position: relative !important;
  padding: 20px 24px !important;
  border: 1px solid #dbe4f0 !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .06) !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-row + .ecim-toolbar-row {
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid #e6edf7 !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-group {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 76px !important;
  padding: 0 28px !important;
  border-right: 1px solid #dbe4f0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-group:first-child { padding-left: 0 !important; }
.ecim-badge-toolbar-word .ecim-toolbar-group:last-child { border-right: 0 !important; padding-right: 0 !important; }
.ecim-badge-toolbar-word .ecim-toolbar-label {
  align-self: flex-start !important;
  min-width: auto !important;
  margin: 4px 6px 0 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.ecim-badge-toolbar-word select,
.ecim-badge-toolbar-word input[type="number"] {
  height: 42px !important;
  border: 1px solid #d6e0ee !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  box-shadow: 0 9px 18px rgba(15, 23, 42, .05) !important;
}
.ecim-badge-toolbar-word #ecim-toolbar-font { min-width: 210px !important; }
.ecim-badge-toolbar-word #ecim-toolbar-size-select { width: 92px !important; }
.ecim-badge-toolbar-word #ecim-toolbar-size { display: none !important; }
.ecim-badge-toolbar-word .ecim-toolbar-menu { min-width: 210px !important; }
.ecim-badge-toolbar-word .ecim-toolbar-controls {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-format-button,
.ecim-badge-toolbar-word .ecim-toolbar-tile,
.ecim-badge-toolbar-word .ecim-toolbar-action,
.ecim-badge-toolbar-word .ecim-toolbar-keyboard {
  min-width: 48px !important;
  height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid #d9e2ef !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: 0 9px 18px rgba(15, 23, 42, .05) !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-format-button.active,
.ecim-badge-toolbar-word .ecim-toolbar-format-button:hover,
.ecim-badge-toolbar-word .ecim-toolbar-keyboard:hover {
  background: linear-gradient(135deg, var(--ecim-primary, #2563eb), #7c3aed) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 12px 22px rgba(79, 70, 229, .25) !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-tile {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 76px !important;
  height: 68px !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-tile span { font-size: 22px !important; line-height: 1 !important; color: #4f46e5 !important; }
.ecim-badge-toolbar-word .ecim-toolbar-tile small,
.ecim-badge-toolbar-word .ecim-toolbar-action small { font-size: 12px !important; font-weight: 800 !important; }
.ecim-badge-toolbar-word .ecim-toolbar-colour {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 48px !important;
  padding: 0 12px !important;
  border: 1px solid #d9e2ef !important;
  border-radius: 11px !important;
  background: #fff !important;
  box-shadow: 0 9px 18px rgba(15, 23, 42, .05) !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-colour input { width: 34px !important; height: 34px !important; border: 0 !important; padding: 0 !important; background: transparent !important; }
.ecim-badge-toolbar-word .ecim-toolbar-wrap { gap: 10px !important; font-weight: 800 !important; }
.ecim-badge-toolbar-word .ecim-toolbar-actions { margin-left: auto !important; }
.ecim-badge-toolbar-word .ecim-toolbar-action { min-width: 104px !important; height: 58px !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; justify-content: center !important; }
.ecim-badge-toolbar-word .ecim-toolbar-delete { background: rgba(239, 68, 68, .08) !important; border-color: rgba(239, 68, 68, .18) !important; color: #dc2626 !important; }
.ecim-badge-toolbar-word .ecim-toolbar-duplicate { background: rgba(79, 70, 229, .08) !important; border-color: rgba(79, 70, 229, .18) !important; color: #4f46e5 !important; }
.ecim-badge-toolbar-word .ecim-toolbar-keyboard { min-width: 48px !important; font-size: 22px !important; }
.ecim-badge-toolbar-word .ecim-toolbar-shortcuts-popover {
  position: absolute !important;
  right: 22px !important;
  bottom: 18px !important;
  transform: translateY(100%) !important;
  z-index: 50 !important;
  width: 320px !important;
  padding: 16px !important;
  border: 1px solid #dbe4f0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 20px 50px rgba(15, 23, 42, .16) !important;
}
.ecim-badge-toolbar-word .ecim-toolbar-shortcuts-popover[hidden] { display: none !important; }
.ecim-badge-toolbar-word .ecim-toolbar-shortcuts-popover p { display: flex !important; justify-content: space-between !important; gap: 12px !important; margin: 10px 0 0 !important; color: #475569 !important; }
.ecim-badge-toolbar-word kbd { border: 1px solid #cbd5e1 !important; border-radius: 7px !important; padding: 3px 7px !important; background: #f8fafc !important; color: #0f172a !important; font-weight: 800 !important; }
.ecim-badge-toolbar-word .ecim-toolbar-shortcuts { display: none !important; }
@media (max-width: 1100px) {
  .ecim-badge-toolbar-word .ecim-toolbar-row { flex-wrap: wrap !important; gap: 16px 0 !important; }
  .ecim-badge-toolbar-word .ecim-toolbar-group { min-height: auto !important; padding: 0 18px !important; }
}

/* v0.9.0 Canva-style contextual badge toolbar */
.ecim-badge-toolbar-canva {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: calc(100% - 16px) !important;
  min-height: 48px !important;
  margin: 0 auto 18px !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(203, 213, 225, .9) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .13) !important;
  backdrop-filter: blur(14px) !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: thin !important;
}
.ecim-badge-toolbar-canva * { box-sizing: border-box !important; }
.ecim-badge-toolbar-canva .ecim-toolbar-hidden-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-swatch:hover,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-swatch:focus-visible {
  box-shadow: 0 0 0 1px rgba(15, 23, 42, .18), 0 0 0 4px rgba(9, 140, 201, .16) !important;
  outline: none !important;
}
.ecim-badge-toolbar-canva select,
.ecim-badge-toolbar-canva input[type="number"] {
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
.ecim-badge-toolbar-canva .ecim-canva-font {
  width: 148px !important;
  min-width: 148px !important;
  padding: 0 28px 0 10px !important;
}
.ecim-badge-toolbar-canva .ecim-canva-size-stepper {
  display: inline-flex !important;
  align-items: center !important;
  height: 34px !important;
  min-width: 116px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}
.ecim-badge-toolbar-canva .ecim-canva-size-stepper button {
  width: 31px !important;
  height: 32px !important;
  min-width: 31px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
.ecim-badge-toolbar-canva .ecim-canva-size-stepper button:hover { background: #f1f5f9 !important; }
.ecim-badge-toolbar-canva #ecim-toolbar-size {
  display: block !important;
  width: 52px !important;
  min-width: 52px !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid #e2e8f0 !important;
  border-right: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  -moz-appearance: textfield !important;
}
.ecim-badge-toolbar-canva #ecim-toolbar-size::-webkit-outer-spin-button,
.ecim-badge-toolbar-canva #ecim-toolbar-size::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0 !important; }
.ecim-badge-toolbar-canva .ecim-canva-icon,
.ecim-badge-toolbar-canva .ecim-canva-pill-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 9px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ecim-badge-toolbar-canva .ecim-canva-pill-button {
  min-width: auto !important;
  padding: 0 12px !important;
  font-size: 14px !important;
}
.ecim-badge-toolbar-canva .ecim-canva-icon:hover,
.ecim-badge-toolbar-canva .ecim-canva-pill-button:hover,
.ecim-badge-toolbar-canva select:hover,
.ecim-badge-toolbar-canva .ecim-canva-colour:hover,
.ecim-badge-toolbar-canva .ecim-canva-wrap:hover { background: #f1f5f9 !important; }
.ecim-badge-toolbar-canva .ecim-toolbar-format-button.active {
  background: #ede9fe !important;
  color: #4f46e5 !important;
  box-shadow: none !important;
}
.ecim-badge-toolbar-canva .ecim-canva-danger { color: #dc2626 !important; }
.ecim-badge-toolbar-canva .ecim-canva-danger:hover { background: #fee2e2 !important; }
.ecim-badge-toolbar-canva .ecim-canva-colour {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
.ecim-badge-toolbar-canva .ecim-canva-colour span::after {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  right: 8px !important;
  bottom: 6px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #8b5cf6) !important;
}
.ecim-badge-toolbar-canva .ecim-canva-colour input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
}
.ecim-badge-toolbar-canva .ecim-canva-separator {
  width: 1px !important;
  height: 26px !important;
  margin: 0 2px !important;
  background: #dbe4f0 !important;
  flex: 0 0 auto !important;
}
.ecim-badge-toolbar-canva .ecim-canva-menu,
.ecim-badge-toolbar-canva .ecim-canva-pill {
  width: auto !important;
  min-width: auto !important;
  padding: 0 26px 0 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
.ecim-badge-toolbar-canva .ecim-canva-menu-icon { max-width: 92px !important; }
.ecim-badge-toolbar-canva .ecim-canva-pill { max-width: 116px !important; }
.ecim-badge-toolbar-canva #ecim-toolbar-style {
  background-color: #ede9fe !important;
  color: #4f46e5 !important;
  font-weight: 800 !important;
}
.ecim-badge-toolbar-canva .ecim-canva-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 34px !important;
  padding: 0 9px !important;
  border-radius: 8px !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}
.ecim-badge-toolbar-canva .ecim-canva-wrap input {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  accent-color: var(--ecim-primary, #2563eb) !important;
}
.ecim-badge-toolbar-canva .ecim-toolbar-shortcuts-popover {
  position: absolute !important;
  right: 8px !important;
  top: calc(100% + 10px) !important;
  z-index: 200 !important;
  width: 310px !important;
  padding: 14px !important;
  border: 1px solid #dbe4f0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .18) !important;
}
.ecim-badge-toolbar-canva .ecim-toolbar-shortcuts-popover[hidden] { display: none !important; }
.ecim-badge-toolbar-canva .ecim-toolbar-shortcuts-popover p {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 9px 0 0 !important;
  color: #475569 !important;
}
.ecim-badge-toolbar-canva kbd {
  border: 1px solid #cbd5e1 !important;
  border-radius: 7px !important;
  padding: 3px 7px !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-weight: 800 !important;
}
@media (max-width: 1180px) {
  .ecim-badge-toolbar-canva {
    justify-content: flex-start !important;
    width: 100% !important;
  }
}

/* v0.9.1 two-row Canva-style toolbar: no horizontal scrollbar */
.ecim-badge-toolbar-canva {
  width: fit-content !important;
  max-width: calc(100% - 16px) !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-content: center !important;
  gap: 6px 8px !important;
  min-height: 86px !important;
  padding: 7px 8px !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
}
.ecim-badge-toolbar-canva::-webkit-scrollbar { display: none !important; }
.ecim-badge-toolbar-canva .ecim-canva-row-break {
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 0 !important;
  margin: -1px 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.ecim-badge-toolbar-canva .ecim-canva-separator {
  height: 28px !important;
  margin: 0 3px !important;
}
.ecim-badge-toolbar-canva select,
.ecim-badge-toolbar-canva input[type="number"],
.ecim-badge-toolbar-canva .ecim-canva-size-stepper,
.ecim-badge-toolbar-canva .ecim-canva-icon,
.ecim-badge-toolbar-canva .ecim-canva-pill-button,
.ecim-badge-toolbar-canva .ecim-canva-colour,
.ecim-badge-toolbar-canva .ecim-canva-wrap {
  flex: 0 0 auto !important;
}
.ecim-badge-toolbar-canva .ecim-toolbar-shortcuts-popover {
  right: 8px !important;
  top: calc(100% + 8px) !important;
}
@media (max-width: 760px) {
  .ecim-badge-toolbar-canva {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .ecim-badge-toolbar-canva .ecim-canva-font { width: 132px !important; min-width: 132px !important; }
  .ecim-badge-toolbar-canva .ecim-canva-size-stepper { min-width: 104px !important; }
  .ecim-badge-toolbar-canva #ecim-toolbar-size { width: 42px !important; min-width: 42px !important; }
}


/* v0.9.2 taller designer panels + canvas zoom footer */
.ecim-designer-panel,
.ecim-designer-preview-card {
  height: calc(100vh - 150px) !important;
  min-height: 820px !important;
  max-height: none !important;
}
.ecim-designer-preview-card {
  display: flex !important;
  flex-direction: column !important;
}
.ecim-designer-preview-card .ecim-badge-canvas-shell {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
.ecim-designer-preview-card .ecim-badge-preview-wrap {
  flex: 1 1 auto !important;
  min-height: 560px !important;
  overflow: auto !important;
  align-items: flex-start !important;
  justify-items: center !important;
  padding: 34px !important;
}
#ecim-badge-live-preview {
  --ecim-badge-zoom: 1;
  transform: scale(var(--ecim-badge-zoom));
  transform-origin: top center;
  transition: transform .12s ease;
}
.ecim-badge-canvas-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border: 1px solid #dbe4f0 !important;
  border-top: 0 !important;
  border-radius: 0 0 16px 16px !important;
  background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.ecim-zoom-controls {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.ecim-zoom-controls button,
.ecim-zoom-controls select {
  height: 32px !important;
  min-height: 32px !important;
  border: 1px solid #dbe4f0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .035) !important;
}
.ecim-zoom-controls button {
  min-width: 32px !important;
  padding: 0 10px !important;
  cursor: pointer !important;
}
.ecim-zoom-controls select {
  min-width: 84px !important;
  padding: 0 26px 0 10px !important;
}
.ecim-zoom-controls button:hover,
.ecim-zoom-controls select:hover {
  border-color: rgba(79, 70, 229, .38) !important;
  background: #f5f3ff !important;
}
@media (max-width: 1180px) {
  .ecim-designer-panel,
  .ecim-designer-preview-card {
    height: auto !important;
    min-height: 0 !important;
  }
  .ecim-designer-preview-card .ecim-badge-preview-wrap {
    min-height: 520px !important;
  }
}
@media (max-width: 760px) {
  .ecim-badge-canvas-footer {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .ecim-zoom-controls { justify-content: space-between !important; }
}

/* v0.9.3 canvas spacing cleanup + working zoom buttons */
.ecim-badge-toolbar-canva {
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
}
.ecim-designer-preview-card .ecim-badge-canvas-shell {
  background: #fff !important;
  background-image: none !important;
  padding: 10px 14px 18px !important;
  border-color: #dbe4f0 !important;
}
.ecim-drop-hint {
  display: none !important;
}
.ecim-designer-preview-card .ecim-badge-preview-wrap {
  background: transparent !important;
  border-radius: 14px 14px 0 0 !important;
  padding: 36px 34px 52px !important;
  margin: 0 !important;
}
.ecim-badge-canvas-footer {
  margin-top: 0 !important;
  padding: 12px 12px 14px !important;
}
.ecim-zoom-controls button {
  user-select: none !important;
}


/* v0.9.4 clean Canva-like canvas workspace */
.ecim-designer-preview-card {
  overflow: visible !important;
  padding-bottom: 22px !important;
}
.ecim-designer-panel {
  overflow: auto !important;
}
.ecim-designer-preview-card .ecim-section-heading {
  display: none !important;
}
.ecim-designer-preview-card .ecim-badge-toolbar-canva {
  margin: 0 auto 28px !important;
}
.ecim-designer-preview-card .ecim-badge-canvas-shell {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  padding: 0 10px 34px !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.ecim-designer-preview-card .ecim-badge-preview-wrap {
  min-height: 675px !important;
  padding: 56px 44px 84px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: start center !important;
  align-items: flex-start !important;
  justify-items: center !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  overflow: auto !important;
}
.ecim-designer-preview-card .ecim-badge-preview-wrap::-webkit-scrollbar {
  width: 10px !important;
  height: 10px !important;
}
.ecim-designer-preview-card .ecim-badge-preview-wrap::-webkit-scrollbar-track {
  background: transparent !important;
}
.ecim-designer-preview-card .ecim-badge-preview-wrap::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, .35) !important;
  border-radius: 999px !important;
}
#ecim-badge-live-preview {
  margin-top: 0 !important;
}
.ecim-badge-canvas-footer {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin-top: 18px !important;
  padding: 0 2px !important;
  box-shadow: none !important;
}
.ecim-zoom-help {
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.ecim-zoom-controls {
  gap: 10px !important;
}
.ecim-zoom-controls button,
.ecim-zoom-controls select {
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 12px !important;
  border-color: #dbe4f0 !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .06) !important;
  font-size: 14px !important;
}
.ecim-zoom-controls button {
  min-width: 42px !important;
}
.ecim-zoom-controls select {
  min-width: 124px !important;
}
@media (max-width: 1180px) {
  .ecim-designer-preview-card { overflow: visible !important; }
  .ecim-designer-preview-card .ecim-badge-preview-wrap {
    min-height: 560px !important;
    padding: 36px 24px 72px !important;
  }
}

/* v0.9.5 spacing + alignment polish from approved layout */
.ecim-designer-grid {
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 28px !important;
  align-items: start !important;
}

.ecim-designer-preview-card,
.ecim-designer-panel {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.ecim-designer-preview-card {
  padding: 24px 24px 26px !important;
  border-radius: 22px !important;
}

.ecim-designer-panel {
  padding: 22px 22px 24px !important;
  border-radius: 22px !important;
  position: sticky !important;
  top: 22px !important;
  max-height: calc(100vh - 44px) !important;
  overflow-y: auto !important;
}

.ecim-designer-preview-card .ecim-badge-toolbar-canva {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 30px !important;
  padding: 16px 18px 22px !important;
  min-height: 108px !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .075) !important;
}

.ecim-badge-toolbar-canva {
  gap: 6px 10px !important;
}

.ecim-badge-toolbar-canva .ecim-canva-row-break {
  margin: -3px 0 -2px !important;
}

.ecim-badge-toolbar-canva .ecim-canva-separator {
  height: 24px !important;
  margin: 0 4px !important;
}

.ecim-badge-toolbar-canva select,
.ecim-badge-toolbar-canva input[type="number"],
.ecim-badge-toolbar-canva .ecim-canva-size-stepper,
.ecim-badge-toolbar-canva .ecim-canva-icon,
.ecim-badge-toolbar-canva .ecim-canva-pill-button,
.ecim-badge-toolbar-canva .ecim-canva-colour,
.ecim-badge-toolbar-canva .ecim-canva-wrap {
  height: 32px !important;
  min-height: 32px !important;
}

.ecim-badge-toolbar-canva .ecim-canva-icon,
.ecim-badge-toolbar-canva .ecim-canva-colour {
  min-width: 32px !important;
}

.ecim-badge-toolbar-canva .ecim-canva-size-stepper button {
  height: 30px !important;
}

.ecim-designer-preview-card .ecim-badge-canvas-shell {
  padding: 0 !important;
  margin: 0 !important;
}

.ecim-designer-preview-card .ecim-badge-preview-wrap {
  min-height: 650px !important;
  padding: 54px 44px 72px !important;
  border-radius: 18px !important;
  margin: 0 !important;
}

.ecim-badge-canvas-footer {
  margin-top: 22px !important;
  padding: 0 4px !important;
}

.ecim-zoom-controls button,
.ecim-zoom-controls select {
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 12px !important;
}

.ecim-zoom-controls button {
  min-width: 38px !important;
}

.ecim-zoom-controls select {
  min-width: 112px !important;
}

.ecim-designer-panel h3 {
  margin-bottom: 6px !important;
}

.ecim-designer-panel > .ecim-muted:first-of-type {
  margin-bottom: 18px !important;
}

.ecim-designer-panel .ecim-background-panel,
.ecim-designer-panel .ecim-element-palette,
.ecim-designer-panel .ecim-json-details {
  margin-top: 22px !important;
}

.ecim-designer-panel .ecim-actions:last-child {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 25 !important;
  margin: 26px -22px -24px !important;
  padding: 18px 22px 20px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.72), #ffffff 34%) !important;
  border-top: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 -14px 30px rgba(15, 23, 42, .06) !important;
}

.ecim-designer-panel .ecim-actions:last-child button[data-action="save-badge-template"] {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #4f46e5, #6d28d9) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(79, 70, 229, .24) !important;
}

.ecim-designer-panel .ecim-actions:last-child button[data-action="save-badge-template"]::before {
  content: "💾";
  margin-right: 8px;
}

.ecim-output-panel,
.ecim-card:has([data-action="open-badge-tools"]) {
  margin-top: 28px !important;
}

@media (max-width: 1180px) {
  .ecim-designer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .ecim-designer-panel {
    position: static !important;
    max-height: none !important;
  }

  .ecim-designer-preview-card .ecim-badge-preview-wrap {
    min-height: 560px !important;
    padding: 38px 24px 64px !important;
  }
}


/* v0.9.6 output save CTA + preview sizing */
.ecim-card.ecim-designer-preview-card {
  width: 95% !important;
  max-width: 95% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ecim-designer-panel > .ecim-actions:last-child,
.ecim-designer-panel .ecim-actions:last-child:has(button[data-action="save-badge-template"]) {
  display: none !important;
}

.ecim-card.ecim-designer-output {
  margin-top: 30px !important;
  padding: 28px 30px !important;
  border-radius: 22px !important;
}

.ecim-output-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 22px !important;
}

.ecim-output-heading h3 {
  margin: 0 0 8px !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  color: #0f172a !important;
}

.ecim-output-heading p {
  margin: 0 !important;
  max-width: 760px !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.ecim-output-save-template {
  min-height: 50px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #4f46e5, #6d28d9) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  box-shadow: 0 14px 30px rgba(79, 70, 229, .24) !important;
  cursor: pointer !important;
}

.ecim-output-save-template::before {
  content: "💾";
  margin-right: 8px;
}

.ecim-output-save-template:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(79, 70, 229, .30) !important;
}

@media (max-width: 1180px) {
  .ecim-card.ecim-designer-preview-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ecim-output-header {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .ecim-output-save-template {
    width: 100% !important;
  }
}

/* v0.9.8 resizable designer panels + wider Badge Setup */
.ecim-designer-grid {
  --ecim-badge-setup-width: 410px;
  grid-template-columns: minmax(0, 1fr) 14px minmax(380px, var(--ecim-badge-setup-width)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.ecim-designer-resizer {
  width: 14px;
  align-self: stretch;
  min-height: 100%;
  border-radius: 999px;
  cursor: col-resize;
  position: relative;
  opacity: .55;
  transition: opacity .16s ease, background .16s ease;
}

.ecim-designer-resizer::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 50%;
  width: 3px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #dbe3ee;
}

.ecim-designer-resizer::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 46px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background:
    radial-gradient(circle, #94a3b8 1px, transparent 2px) center 8px / 6px 8px repeat-y;
}

.ecim-designer-resizer:hover,
body.ecim-resizing-panels .ecim-designer-resizer {
  opacity: 1;
  background: rgba(79, 70, 229, .06);
}

body.ecim-resizing-panels {
  cursor: col-resize !important;
  user-select: none !important;
}

.ecim-designer-panel {
  min-width: 380px !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable;
}

.ecim-designer-panel *,
.ecim-designer-preview-card *,
.ecim-card.ecim-designer-output * {
  box-sizing: border-box;
}

.ecim-designer-panel input,
.ecim-designer-panel select,
.ecim-designer-panel textarea,
.ecim-designer-panel button {
  max-width: 100% !important;
}

.ecim-designer-panel .ecim-two-col,
.ecim-designer-panel .ecim-three-col,
.ecim-designer-panel .ecim-element-palette {
  min-width: 0 !important;
}

.ecim-designer-panel .ecim-colour-control {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.ecim-designer-panel .ecim-background-picker {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

.ecim-designer-panel .ecim-image-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.ecim-designer-panel .ecim-element-palette {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Resizable panels supersede the temporary 95% preview shrink. */
.ecim-card.ecim-designer-preview-card {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 1180px) {
  .ecim-designer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .ecim-designer-resizer {
    display: none !important;
  }

  .ecim-designer-panel {
    min-width: 0 !important;
    overflow-x: hidden !important;
  }
}


/* =========================================
   v0.9.8: fixed resizable panel architecture
   Keeps toolbar/canvas in left preview column and setup in right column.
========================================= */
.ecim-designer-grid {
  --ecim-badge-setup-width: 440px;
  display: grid !important;
  grid-template-columns: minmax(560px, 1fr) 14px minmax(420px, var(--ecim-badge-setup-width)) !important;
  gap: 26px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.ecim-card.ecim-designer-preview-card {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 24px 24px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}

.ecim-designer-resizer {
  grid-column: 2 !important;
  width: 14px !important;
  min-width: 14px !important;
  height: auto !important;
  min-height: 720px !important;
  align-self: stretch !important;
  justify-self: center !important;
  cursor: col-resize !important;
  z-index: 8 !important;
}

.ecim-card.ecim-form-card.ecim-designer-panel {
  grid-column: 3 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  justify-self: stretch !important;
  position: sticky !important;
  top: 22px !important;
  max-height: calc(100vh - 44px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 22px 22px 24px !important;
  box-sizing: border-box !important;
}

/* Make the Canva toolbar stay horizontal/two-row inside the preview column. */
.ecim-designer-preview-card .ecim-badge-toolbar-canva {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 30px !important;
  padding: 16px 18px 24px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
  gap: 7px 10px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.ecim-designer-preview-card .ecim-badge-toolbar-canva > * {
  flex: 0 0 auto !important;
}

.ecim-designer-preview-card .ecim-badge-toolbar-canva .ecim-canva-row-break {
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 0 !important;
  margin: -2px 0 -4px !important;
  padding: 0 !important;
  border: 0 !important;
}

.ecim-designer-preview-card .ecim-badge-toolbar-canva select,
.ecim-designer-preview-card .ecim-badge-toolbar-canva input[type="number"],
.ecim-designer-preview-card .ecim-badge-toolbar-canva .ecim-canva-size-stepper,
.ecim-designer-preview-card .ecim-badge-toolbar-canva .ecim-canva-icon,
.ecim-designer-preview-card .ecim-badge-toolbar-canva .ecim-canva-pill-button,
.ecim-designer-preview-card .ecim-badge-toolbar-canva .ecim-canva-colour,
.ecim-designer-preview-card .ecim-badge-toolbar-canva .ecim-canva-wrap {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
}

.ecim-designer-preview-card .ecim-badge-toolbar-canva .ecim-canva-font {
  width: 150px !important;
  min-width: 150px !important;
}

.ecim-designer-preview-card .ecim-badge-toolbar-canva .ecim-canva-size-stepper {
  min-width: 98px !important;
}

.ecim-designer-preview-card .ecim-badge-toolbar-canva .ecim-canva-menu {
  min-width: 86px !important;
  max-width: 128px !important;
}

.ecim-designer-preview-card .ecim-badge-canvas-shell {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

.ecim-designer-preview-card .ecim-badge-preview-wrap {
  min-height: 650px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: auto !important;
  box-sizing: border-box !important;
}

.ecim-card.ecim-designer-output {
  width: 100% !important;
  margin-top: 30px !important;
  box-sizing: border-box !important;
}

/* Keep Badge Setup form controls inside the right panel without horizontal scrollbars. */
.ecim-designer-panel,
.ecim-designer-panel * {
  box-sizing: border-box !important;
}

.ecim-designer-panel input,
.ecim-designer-panel select,
.ecim-designer-panel textarea,
.ecim-designer-panel button {
  max-width: 100% !important;
}

.ecim-designer-panel .ecim-two-col,
.ecim-designer-panel .ecim-three-col {
  gap: 14px !important;
  min-width: 0 !important;
}

.ecim-designer-panel .ecim-colour-control {
  grid-template-columns: 42px minmax(0, 1fr) !important;
  min-width: 0 !important;
}

.ecim-designer-panel .ecim-background-picker {
  grid-template-columns: 82px minmax(0, 1fr) !important;
  min-width: 0 !important;
}

.ecim-designer-panel .ecim-element-palette {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  min-width: 0 !important;
}

@media (max-width: 1280px) {
  .ecim-designer-grid {
    grid-template-columns: minmax(500px, 1fr) 12px minmax(400px, var(--ecim-badge-setup-width)) !important;
    gap: 22px !important;
  }
}

@media (max-width: 1180px) {
  .ecim-designer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .ecim-designer-resizer {
    display: none !important;
  }
  .ecim-card.ecim-designer-preview-card,
  .ecim-card.ecim-form-card.ecim-designer-panel {
    grid-column: 1 !important;
    position: static !important;
    max-height: none !important;
  }
}

/* =========================================
   v0.9.9 layout nesting fix
   Keeps the toolbar directly above the canvas and prevents the
   resizable panel wrapper from creating a giant empty preview area.
========================================= */
.ecim-designer-grid {
  --ecim-badge-setup-width: clamp(420px, 34vw, 520px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 12px var(--ecim-badge-setup-width) !important;
  gap: 30px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.ecim-card.ecim-designer-preview-card {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 24px 24px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  overflow: visible !important;
  position: static !important;
}

.ecim-card.ecim-designer-preview-card > .ecim-section-heading {
  display: none !important;
}

.ecim-designer-preview-card .ecim-badge-toolbar-canva {
  order: 1 !important;
  margin: 0 0 28px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  padding: 16px 18px 24px !important;
}

.ecim-designer-preview-card .ecim-badge-canvas-shell {
  order: 2 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.ecim-designer-preview-card .ecim-badge-preview-wrap {
  width: 100% !important;
  min-height: 620px !important;
  max-height: none !important;
  padding: 52px 44px 72px !important;
  margin: 0 !important;
  overflow: auto !important;
  display: grid !important;
  place-items: start center !important;
  align-items: flex-start !important;
  justify-items: center !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
}

.ecim-badge-canvas-footer {
  margin-top: 22px !important;
  padding: 0 4px !important;
}

.ecim-designer-resizer {
  grid-column: 2 !important;
  width: 12px !important;
  min-width: 12px !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch !important;
  justify-self: center !important;
  cursor: col-resize !important;
}

.ecim-card.ecim-form-card.ecim-designer-panel {
  grid-column: 3 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  justify-self: stretch !important;
  position: sticky !important;
  top: 22px !important;
  max-height: calc(100vh - 44px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.ecim-card.ecim-designer-output {
  margin-top: 30px !important;
  width: 100% !important;
}

@media (max-width: 1280px) {
  .ecim-designer-grid {
    --ecim-badge-setup-width: clamp(400px, 36vw, 500px) !important;
    grid-template-columns: minmax(0, 1fr) 12px var(--ecim-badge-setup-width) !important;
    gap: 24px !important;
  }
}

@media (max-width: 1180px) {
  .ecim-designer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .ecim-designer-resizer {
    display: none !important;
  }

  .ecim-card.ecim-form-card.ecim-designer-panel {
    grid-column: 1 !important;
    position: static !important;
    max-height: none !important;
  }

  .ecim-designer-preview-card .ecim-badge-preview-wrap {
    min-height: 540px !important;
    padding: 38px 24px 64px !important;
  }
}


/* =========================================
   v1.0.0 fixed stable badge designer layout
   Resizable divider removed.
========================================= */
.ecim-designer-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 68fr) minmax(360px, 32fr) !important;
  gap: 34px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.ecim-designer-resizer {
  display: none !important;
}

.ecim-card.ecim-designer-preview-card {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 24px 24px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  position: static !important;
  overflow: visible !important;
}

.ecim-card.ecim-designer-preview-card > .ecim-section-heading {
  display: none !important;
}

.ecim-designer-preview-card .ecim-badge-toolbar-canva {
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 16px 18px 22px !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.ecim-badge-toolbar-canva .ecim-toolbar-row + .ecim-toolbar-row {
  margin-top: 8px !important;
  padding-top: 4px !important;
}

.ecim-badge-toolbar-canva .ecim-toolbar-row--secondary {
  gap: 8px !important;
}

.ecim-designer-preview-card .ecim-badge-canvas-shell {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.ecim-designer-preview-card .ecim-badge-preview-wrap {
  width: 100% !important;
  min-height: 620px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 52px 44px 72px !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  display: grid !important;
  place-items: start center !important;
  overflow: auto !important;
}

.ecim-badge-canvas-footer {
  margin-top: 22px !important;
  padding: 0 4px !important;
}

.ecim-card.ecim-form-card.ecim-designer-panel {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 360px !important;
  max-width: none !important;
  justify-self: stretch !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  position: sticky !important;
  top: 22px !important;
  max-height: calc(100vh - 44px) !important;
}

.ecim-card.ecim-designer-output {
  margin-top: 34px !important;
}

@media (max-width: 1280px) {
  .ecim-designer-grid {
    grid-template-columns: minmax(0, 64fr) minmax(340px, 36fr) !important;
    gap: 28px !important;
  }
  .ecim-card.ecim-form-card.ecim-designer-panel {
    min-width: 340px !important;
  }
}

@media (max-width: 1180px) {
  .ecim-designer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .ecim-card.ecim-form-card.ecim-designer-panel {
    grid-column: 1 !important;
    position: static !important;
    min-width: 0 !important;
    max-height: none !important;
  }
  .ecim-designer-preview-card .ecim-badge-preview-wrap {
    min-height: 540px !important;
    padding: 38px 24px 64px !important;
  }
}

/* ECIM v1.1.0 operational core polish */
.ecim-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ecim-profile-editor {
    margin: 22px 0;
    background: #f8fafc;
}

.ecim-profile-editor textarea,
.ecim-profile-editor input,
.ecim-form-card textarea,
.ecim-form-card input,
.ecim-form-card select {
    width: 100%;
}

.ecim-registration-mode-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 800;
    background: #eef2ff;
    color: #4338ca;
}

@media (max-width: 860px) {
    .ecim-grid-two {
        grid-template-columns: 1fr;
    }
}

/* ECIM v1.1.1 attendee profile read-first operations layout */
.ecim-attendee-panel {
    padding: 28px;
}

.ecim-attendee-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid #e5e7eb;
}

.ecim-kicker {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.ecim-attendee-hero h3 {
    margin: 0 0 10px;
    color: #0f172a;
    font-size: 34px;
    line-height: 1.05;
}

.ecim-attendee-pills,
.ecim-attendee-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.ecim-attendee-actions {
    justify-content: flex-end;
    max-width: 520px;
}

.ecim-pill,
.ecim-attendee-panel .ecim-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 7px 12px;
    background: #eef2f7;
    color: #0f172a;
    font-size: 12px;
    font-weight: 800;
}

.ecim-attendee-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.ecim-info-card {
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #ffffff;
    padding: 20px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.035);
}

.ecim-info-card-wide {
    grid-column: 1 / -1;
}

.ecim-info-card h4 {
    margin: 0 0 16px;
    color: #0f172a;
    font-size: 18px;
    font-weight: 850;
}

.ecim-info-row {
    display: grid;
    grid-template-columns: minmax(150px, 0.42fr) minmax(0, 1fr);
    gap: 18px;
    padding: 11px 0;
    border-bottom: 1px solid #f1f5f9;
}

.ecim-info-row:last-child {
    border-bottom: 0;
}

.ecim-info-row span {
    color: #475569;
    font-size: 13px;
    font-weight: 850;
}

.ecim-info-row strong {
    color: #0f172a;
    font-size: 15px;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.ecim-profile-editor {
    margin-top: 24px;
    background: #f8fafc;
    border-color: #e2e8f0;
}

.ecim-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.ecim-form-header h3 {
    margin: 0 0 4px;
}

.ecim-is-hidden {
    display: none !important;
}

.ecim-attendee-footer {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

button.ecim-secondary,
.ecim-secondary {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #dbe3ee !important;
    box-shadow: none !important;
}

@media (max-width: 980px) {
    .ecim-attendee-hero {
        flex-direction: column;
    }

    .ecim-attendee-actions {
        justify-content: flex-start;
        max-width: none;
    }

    .ecim-attendee-grid {
        grid-template-columns: 1fr;
    }

    .ecim-info-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

/* ECIM v1.1.2 inline attendee editing */
.ecim-attendee-panel .ecim-edit-only,
.ecim-attendee-panel .ecim-inline-edit {
    display: none;
}

.ecim-attendee-panel.ecim-editing .ecim-edit-only,
.ecim-attendee-panel.ecim-editing .ecim-inline-edit {
    display: block;
}

.ecim-attendee-panel.ecim-editing .ecim-edit-toggle,
.ecim-attendee-panel.ecim-editing .ecim-inline-view {
    display: none;
}

.ecim-inline-edit {
    width: 100%;
    min-height: 38px;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
    background: #ffffff;
    padding: 9px 11px;
    color: #0f172a;
    font-size: 14px;
    font-weight: 650;
    box-shadow: inset 0 1px 1px rgba(15, 23, 42, 0.03);
}

textarea.ecim-inline-edit {
    min-height: 82px;
    resize: vertical;
    line-height: 1.45;
}

.ecim-attendee-panel.ecim-editing .ecim-info-card {
    border-color: #c7d2fe;
    box-shadow: 0 12px 30px rgba(79, 70, 229, 0.08);
}

.ecim-save-inline {
    background: linear-gradient(135deg, #4f46e5, #6d28d9) !important;
    color: #ffffff !important;
    border: 0 !important;
}

/* ECIM v1.1.4 ticket operations cards */
.ecim-ticket-list { display: grid; gap: 14px; margin-top: 14px; }
.ecim-ticket-card { background: #fff; border: 1px solid rgba(15, 23, 42, 0.09); border-radius: 22px; padding: 16px; box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06); }
.ecim-ticket-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.ecim-ticket-main h4 { margin: 3px 0 2px; font-size: 18px; color: #0f172a; }
.ecim-ticket-status { flex: 0 0 auto; }
.ecim-ticket-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ecim-ticket-metrics div { background: #f8fafc; border: 1px solid rgba(15, 23, 42, 0.06); border-radius: 16px; padding: 10px 12px; min-width: 0; }
.ecim-ticket-metrics span { display: block; color: #64748b; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; font-weight: 800; margin-bottom: 4px; }
.ecim-ticket-metrics strong { display: block; color: #0f172a; font-size: 14px; overflow-wrap: anywhere; }
.ecim-ticket-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
.ecim-empty-state { padding: 18px; border: 1px dashed rgba(15, 23, 42, 0.18); border-radius: 18px; color: #64748b; background: #f8fafc; }
@media (max-width: 900px) { .ecim-ticket-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ecim-ticket-main { display: block; } .ecim-ticket-status { margin-top: 10px; } .ecim-ticket-metrics { grid-template-columns: 1fr; } .ecim-ticket-actions { justify-content: flex-start; flex-wrap: wrap; } }


/* ==========================================================
   ECIM v1.2.8 — Concept A / TIAC UI Framework v2
   UI-only refresh: navigation, dashboard, layout hierarchy,
   cards, forms, tables, actions, and operational rhythm.
   ========================================================== */
:root {
  --ecim-tiac-deep-blue: #262E38;
  --ecim-tiac-west: #697889;
  --ecim-tiac-east: #098CC9;
  --ecim-tiac-sunlight: #EC9A00;
  --ecim-tiac-maple: #BD5D21;
  --ecim-tiac-spring: #8BC53F;
  --ecim-tiac-boreal: #4F6B19;
  --ecim-tiac-canopy: #678A22;
  --ecim-v2-bg: #F5F7FA;
  --ecim-v2-surface: #FFFFFF;
  --ecim-v2-surface-soft: #F9FBFD;
  --ecim-v2-border: rgba(38, 46, 56, .11);
  --ecim-v2-border-strong: rgba(38, 46, 56, .18);
  --ecim-v2-text: #1D2733;
  --ecim-v2-muted: #697889;
  --ecim-v2-shadow: 0 14px 34px rgba(38, 46, 56, .07);
  --ecim-v2-shadow-soft: 0 6px 18px rgba(38, 46, 56, .055);
  --ecim-v2-radius: 18px;
  --ecim-v2-radius-sm: 12px;
}

body.ecim-portal-body,
body.ecim-login-body {
  background:
    radial-gradient(circle at 12% -8%, rgba(9, 140, 201, .13), transparent 28%),
    linear-gradient(180deg, #F8FAFC 0%, var(--ecim-v2-bg) 100%) !important;
  color: var(--ecim-v2-text) !important;
  letter-spacing: -0.01em;
}

.ecim-app-shell {
  grid-template-columns: 248px minmax(0, 1fr) !important;
  background: transparent;
}

.ecim-sidebar {
  background: var(--ecim-tiac-deep-blue) !important;
  padding: 20px 14px !important;
  display: flex;
  flex-direction: column;
  gap: 18px;
  border-right: 1px solid rgba(255,255,255,.08);
  box-shadow: 8px 0 28px rgba(38,46,56,.12);
}

.ecim-brand {
  gap: 12px !important;
  margin: 0 4px 6px !important;
  padding: 8px 8px 16px;
  border-bottom: 1px solid rgba(255,255,255,.09);
  font-size: 15px !important;
  line-height: 1.15;
}
.ecim-brand > div span,
.ecim-brand span:not(.ecim-brand-mark) {
  display: block;
  font-weight: 800;
  color: #fff;
}
.ecim-brand small {
  color: rgba(255,255,255,.62) !important;
  margin-top: 3px;
  font-size: 11px !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ecim-brand-mark {
  min-width: 40px !important;
  width: 40px;
  height: 40px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--ecim-tiac-east), #0a6d98) !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.32);
  font-size: 13px !important;
}
.ecim-brand-logo {
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.08) !important;
}

.ecim-primary-nav,
.ecim-sidebar nav {
  display: grid !important;
  gap: 4px !important;
}
.ecim-sidebar a {
  display: flex !important;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.74) !important;
  border-radius: 12px !important;
  padding: 10px 10px !important;
  font-size: 14px;
  font-weight: 700;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}
.ecim-sidebar a:hover {
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
  transform: translateX(1px);
}
.ecim-sidebar a.active {
  background: rgba(9, 140, 201, .19) !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 var(--ecim-tiac-east);
}
.ecim-nav-icon {
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  border-radius: 9px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.055);
  font-size: 14px;
  line-height: 1;
}
.ecim-sidebar a.active .ecim-nav-icon {
  background: var(--ecim-tiac-east);
  color: #fff;
}
.ecim-sidebar-footer {
  margin-top: auto;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.075);
  color: #fff;
}
.ecim-sidebar-footer-label {
  display: block;
  color: rgba(255,255,255,.54);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 3px;
}

.ecim-main {
  padding: 24px 30px 34px !important;
  min-width: 0;
}
.ecim-topbar {
  margin: 0 0 22px !important;
  padding: 2px 0 18px;
  border-bottom: 1px solid var(--ecim-v2-border);
}
.ecim-topbar h1 {
  font-size: 24px !important;
  line-height: 1.15;
  letter-spacing: -0.035em;
  color: var(--ecim-tiac-deep-blue);
}
.ecim-topbar p {
  color: var(--ecim-v2-muted) !important;
  font-size: 14px;
  max-width: 760px;
}
.ecim-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  color: var(--ecim-tiac-east);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ecim-logout {
  background: var(--ecim-v2-surface) !important;
  color: var(--ecim-tiac-deep-blue) !important;
  border: 1px solid var(--ecim-v2-border) !important;
  box-shadow: var(--ecim-v2-shadow-soft);
  padding: 9px 14px !important;
  border-radius: 12px !important;
}

.ecim-view,
.ecim-panel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.ecim-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.ecim-page-head h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -0.045em;
  color: var(--ecim-tiac-deep-blue);
}
.ecim-page-body {
  display: grid;
  gap: 16px;
}
.ecim-page-toolbar,
.ecim-top-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 2px !important;
}

.ecim-card,
.ecim-login-card,
.ecim-form-card,
.ecim-toolbar,
.ecim-table {
  background: var(--ecim-v2-surface) !important;
  border: 1px solid var(--ecim-v2-border) !important;
  border-radius: var(--ecim-v2-radius) !important;
  box-shadow: var(--ecim-v2-shadow-soft) !important;
}
.ecim-card {
  padding: 20px !important;
}
.ecim-card h3 {
  margin: 0 0 8px !important;
  font-size: 17px;
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: var(--ecim-tiac-deep-blue);
}
.ecim-card p {
  margin-top: 8px;
}
.ecim-muted,
.ecim-topbar p,
.ecim-card small {
  color: var(--ecim-v2-muted) !important;
}
.ecim-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.ecim-grid {
  grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)) !important;
  gap: 14px !important;
}
.ecim-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.ecim-metric-card {
  padding: 18px;
  border: 1px solid var(--ecim-v2-border);
  border-radius: var(--ecim-v2-radius);
  background: linear-gradient(180deg, #fff 0%, #FBFCFE 100%);
  box-shadow: var(--ecim-v2-shadow-soft);
}
.ecim-metric-card span {
  display: block;
  color: var(--ecim-v2-muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.ecim-metric-card strong {
  display: block;
  margin: 8px 0 4px;
  color: var(--ecim-tiac-deep-blue);
  font-size: 32px;
  line-height: 1;
  letter-spacing: -0.055em;
}
.ecim-metric-card small {
  color: var(--ecim-v2-muted);
}
.ecim-dashboard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 14px;
}
.ecim-dashboard-section {
  min-width: 0;
}
.ecim-dashboard-aside {
  align-self: start;
}
.ecim-op-list,
.ecim-event-list {
  display: grid;
  gap: 10px;
}
.ecim-op-row,
.ecim-event-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px !important;
}
.ecim-op-row-main,
.ecim-event-row-main {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.ecim-op-row-main strong,
.ecim-event-row h3 {
  display: block;
  margin: 0 0 3px !important;
  color: var(--ecim-tiac-deep-blue);
  font-size: 16px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ecim-op-row-main span,
.ecim-op-row-meta,
.ecim-event-meta {
  color: var(--ecim-v2-muted);
  font-size: 13px;
}
.ecim-op-row-meta,
.ecim-event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}
.ecim-event-date-chip {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #F1F8FC;
  border: 1px solid rgba(9,140,201,.14);
  color: var(--ecim-tiac-east);
}
.ecim-event-date-chip strong {
  font-size: 17px;
  line-height: 1;
}
.ecim-event-date-chip span {
  margin-top: -10px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ecim-row-actions {
  justify-content: flex-end;
  margin: 0 !important;
}

.ecim-actions,
.ecim-toolbar,
.ecim-inline-actions,
.ecim-card-actions {
  gap: 8px !important;
}
.ecim-actions button,
.ecim-subnav button,
.ecim-toolbar button,
.ecim-card button,
.ecim-button,
.ecim-button-small,
.ecim-button-link {
  border-radius: 11px !important;
  min-height: 38px;
  padding: 9px 13px !important;
  background: var(--ecim-tiac-deep-blue) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}
.ecim-actions button:hover,
.ecim-toolbar button:hover,
.ecim-card button:hover,
.ecim-button:hover,
.ecim-button-small:hover,
.ecim-button-link:hover {
  background: #1d242d !important;
  filter: none !important;
}
.ecim-actions button:nth-child(n+2),
.ecim-row-actions button:nth-child(n+2),
.ecim-inline-actions button:nth-child(n+2),
.ecim-toolbar button:not([data-action="save-badge-template"]):not([data-action="save-new-event"]):not([data-action="save-existing-event"]) {
  background: #fff !important;
  color: var(--ecim-tiac-deep-blue) !important;
  border-color: var(--ecim-v2-border-strong) !important;
}
.ecim-actions-column {
  display: grid !important;
  align-items: stretch !important;
}
.ecim-actions-column button {
  width: 100%;
  justify-content: flex-start;
}
button:disabled,
.ecim-actions button:disabled,
.ecim-toolbar button:disabled {
  opacity: .48 !important;
}

.ecim-subnav {
  display: flex !important;
  gap: 6px !important;
  padding: 4px !important;
  margin-bottom: 16px !important;
  border: 1px solid var(--ecim-v2-border) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.68) !important;
  box-shadow: var(--ecim-v2-shadow-soft);
}
.ecim-subnav button {
  min-height: 34px !important;
  padding: 7px 10px !important;
  background: transparent !important;
  color: var(--ecim-v2-muted) !important;
  border: 0 !important;
  border-radius: 10px !important;
}
.ecim-subnav button.active {
  background: var(--ecim-tiac-deep-blue) !important;
  color: #fff !important;
  outline: 0 !important;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.ecim-settings-subnav button span { color: inherit !important; }

.ecim-table {
  overflow: hidden;
  border-collapse: separate !important;
  border-spacing: 0;
}
.ecim-table th {
  background: #FAFBFD !important;
  color: var(--ecim-v2-muted) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  padding: 12px 14px !important;
}
.ecim-table td {
  border-bottom: 1px solid var(--ecim-v2-border) !important;
  padding: 13px 14px !important;
}
.ecim-table tr:last-child td { border-bottom: 0 !important; }

.ecim-search,
.ecim-form-card input,
.ecim-form-card select,
.ecim-form-card textarea,
.ecim-card input,
.ecim-card select,
.ecim-card textarea,
.ecim-settings-form input[type="text"],
.ecim-settings-form select,
.ecim-settings-form textarea {
  border: 1px solid var(--ecim-v2-border-strong) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--ecim-v2-text) !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.02);
}
.ecim-search:focus,
.ecim-form-card input:focus,
.ecim-form-card select:focus,
.ecim-form-card textarea:focus,
.ecim-card input:focus,
.ecim-card select:focus,
.ecim-card textarea:focus {
  outline: 3px solid rgba(9,140,201,.16);
  border-color: rgba(9,140,201,.55) !important;
}
.ecim-form-card,
.ecim-settings-form {
  gap: 12px !important;
}
.ecim-form-card label,
.ecim-settings-form label,
.ecim-card label {
  color: var(--ecim-tiac-deep-blue);
  font-size: 13px;
  font-weight: 800 !important;
}

.ecim-pill {
  border-radius: 999px !important;
  background: #EEF2F6 !important;
  color: var(--ecim-v2-muted) !important;
  padding: 5px 9px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
}
.ecim-pill-success,
.ecim-pill-ok {
  background: rgba(139,197,63,.17) !important;
  color: var(--ecim-tiac-boreal) !important;
}
.ecim-pill-warn {
  background: rgba(236,154,0,.16) !important;
  color: #8a5600 !important;
}
.ecim-pill-danger {
  background: rgba(189,93,33,.13) !important;
  color: var(--ecim-tiac-maple) !important;
}
.ecim-notice,
.ecim-error {
  border-radius: 14px !important;
  box-shadow: none !important;
}
.ecim-notice {
  background: #F1F8FC !important;
  border-color: rgba(9,140,201,.2) !important;
  color: #075985 !important;
}
.ecim-error {
  background: #FFF6F2 !important;
  border-color: rgba(189,93,33,.22) !important;
  color: var(--ecim-tiac-maple) !important;
}

.ecim-attendee-panel,
.ecim-profile {
  border-radius: 22px !important;
}
.ecim-details {
  gap: 10px 18px !important;
}
.ecim-details dt {
  color: var(--ecim-v2-muted) !important;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.ecim-details dd {
  color: var(--ecim-v2-text);
}

/* Designer gets visual refinement only; no layout/logic rewrite. */
.ecim-badge-toolbar {
  background: #fff !important;
  border-color: var(--ecim-v2-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--ecim-v2-shadow-soft);
}
.ecim-badge-toolbar button {
  min-width: 34px !important;
  background: #fff !important;
  color: var(--ecim-tiac-deep-blue) !important;
  border: 1px solid var(--ecim-v2-border) !important;
}
.ecim-badge-toolbar button.active,
.ecim-badge-toolbar button:hover {
  background: #F1F8FC !important;
  border-color: rgba(9,140,201,.28) !important;
  color: var(--ecim-tiac-east) !important;
}
.ecim-badge-canvas-shell,
.ecim-badge-preview-wrap {
  background: #EEF2F6 !important;
  border-color: var(--ecim-v2-border) !important;
}
.ecim-badge-element.is-selected,
.ecim-designer-element.is-selected {
  border-color: var(--ecim-tiac-east) !important;
  box-shadow: 0 0 0 2px rgba(9,140,201,.14) !important;
}
.ecim-badge-element.is-selected::before,
.ecim-badge-element.is-selected::after,
.ecim-resize-handle {
  background: var(--ecim-tiac-east) !important;
}
.ecim-designer-element.is-selected summary::after {
  background: #E7F5FC !important;
  color: var(--ecim-tiac-east) !important;
}

@media (max-width: 1120px) {
  .ecim-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ecim-dashboard-layout { grid-template-columns: 1fr; }
  .ecim-op-row,
  .ecim-event-row { grid-template-columns: 1fr; }
  .ecim-row-actions { justify-content: flex-start; }
}
@media (max-width: 800px) {
  .ecim-app-shell { grid-template-columns: 1fr !important; }
  .ecim-sidebar { position: static; border-radius: 0 0 22px 22px; }
  .ecim-sidebar-footer { display: none; }
  .ecim-primary-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ecim-main { padding: 18px !important; }
  .ecim-dashboard-grid { grid-template-columns: 1fr; }
  .ecim-page-head h2 { font-size: 25px; }
}


/* ==========================================================
   ECIM v1.2.9 — Concept A Pro Refinement
   UI-only correction against v1.2.8. No operational logic.
   ========================================================== */
body.ecim-portal-body {
  background: #EEF2F5 !important;
}
.ecim-app-shell {
  grid-template-columns: 264px minmax(0, 1fr) !important;
  min-height: 100vh;
}
.ecim-sidebar {
  background: #262E38 !important;
  padding: 22px 16px !important;
  box-shadow: none !important;
}
.ecim-brand {
  padding: 6px 6px 18px !important;
  margin-bottom: 10px !important;
}
.ecim-brand-mark,
.ecim-brand-logo {
  border-radius: 10px !important;
}
.ecim-primary-nav a,
.ecim-sidebar nav a {
  min-height: 42px;
  border-radius: 10px !important;
  padding: 9px 11px !important;
  color: rgba(255,255,255,.68) !important;
}
.ecim-sidebar a.active {
  background: rgba(9,140,201,.16) !important;
  box-shadow: inset 3px 0 0 #098CC9 !important;
}
.ecim-nav-icon {
  background: transparent !important;
  width: 24px !important;
  height: 24px !important;
  opacity: .92;
}
.ecim-sidebar-footer {
  border-radius: 12px !important;
}
.ecim-main {
  padding: 22px 28px 36px !important;
  background: linear-gradient(180deg, #F7F9FB 0%, #EEF2F5 100%);
}
.ecim-topbar {
  justify-content: flex-end !important;
  border-bottom: 0 !important;
  margin-bottom: 8px !important;
  padding: 0 !important;
}
.ecim-topbar > div {
  display: none !important;
}
.ecim-logout {
  background: #fff !important;
  border-color: rgba(38,46,56,.12) !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
}
.ecim-page-head {
  align-items: center !important;
  margin-bottom: 18px !important;
}
.ecim-page-head h2 {
  font-size: 34px !important;
  font-weight: 850 !important;
  letter-spacing: -0.055em !important;
}
.ecim-kicker {
  color: #098CC9 !important;
  letter-spacing: .11em !important;
}
.ecim-dashboard-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 24px 26px;
  border-radius: 18px;
  background: linear-gradient(135deg, #262E38 0%, #303C49 62%, #204B62 100%);
  color: #fff;
  box-shadow: 0 18px 42px rgba(38,46,56,.18);
  border: 1px solid rgba(255,255,255,.08);
}
.ecim-dashboard-hero h3 {
  margin: 0 0 6px;
  font-size: 26px;
  letter-spacing: -.04em;
  color: #fff;
}
.ecim-dashboard-hero p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.45;
}
.ecim-dashboard-hero .ecim-kicker {
  color: #8BC53F !important;
}
.ecim-dashboard-hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.ecim-dashboard-hero-actions button,
.ecim-card-header button,
.ecim-actions button,
.ecim-toolbar button,
.ecim-page-toolbar button,
.ecim-top-actions button {
  border-radius: 10px !important;
  box-shadow: none !important;
}
.ecim-dashboard-hero-actions button:first-child,
.ecim-card-header button:first-of-type,
.ecim-actions button:first-child {
  background: #098CC9 !important;
}
.ecim-dashboard-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.ecim-metric-card {
  border-radius: 16px !important;
  padding: 20px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(38,46,56,.055) !important;
  position: relative;
  overflow: hidden;
}
.ecim-metric-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #098CC9;
  opacity: .86;
}
.ecim-metric-card:nth-child(2)::before { background: #8BC53F; }
.ecim-metric-card:nth-child(3)::before { background: #EC9A00; }
.ecim-metric-card:nth-child(4)::before { background: #697889; }
.ecim-metric-card span {
  font-size: 11px !important;
  letter-spacing: .075em !important;
}
.ecim-metric-card strong {
  font-size: 40px !important;
  font-weight: 850;
  letter-spacing: -.07em !important;
}
.ecim-dashboard-layout {
  grid-template-columns: minmax(0, 1.65fr) 360px !important;
  gap: 16px !important;
}
.ecim-card,
.ecim-form-card,
.ecim-toolbar,
.ecim-table {
  border-radius: 16px !important;
  box-shadow: 0 10px 26px rgba(38,46,56,.055) !important;
}
.ecim-dashboard-events-card {
  padding: 0 !important;
  overflow: hidden;
}
.ecim-dashboard-events-card .ecim-card-header {
  padding: 20px 22px 16px;
  border-bottom: 1px solid rgba(38,46,56,.08);
  margin: 0 !important;
}
.ecim-dashboard-events-card .ecim-op-list {
  gap: 0 !important;
}
.ecim-dashboard-event-row,
.ecim-op-row {
  grid-template-columns: 56px minmax(0, 1fr) 190px auto !important;
  gap: 16px !important;
  padding: 16px 22px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(38,46,56,.075) !important;
  background: #fff !important;
}
.ecim-dashboard-event-row:last-child,
.ecim-op-row:last-child {
  border-bottom: 0 !important;
}
.ecim-dashboard-event-row:hover,
.ecim-op-row:hover {
  background: #FAFCFE !important;
}
.ecim-event-date-chip {
  width: 50px !important;
  height: 50px !important;
  border-radius: 12px !important;
  background: #EFF8FC !important;
}
.ecim-dashboard-progress {
  min-width: 170px;
}
.ecim-dashboard-progress-top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #697889;
  font-size: 12px;
  margin-bottom: 7px;
}
.ecim-dashboard-progress-top strong {
  color: #262E38;
}
.ecim-progress-track {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #E6ECF1;
}
.ecim-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #098CC9, #8BC53F);
}
.ecim-ghost-action {
  background: #fff !important;
  border: 1px solid rgba(38,46,56,.14) !important;
  color: #262E38 !important;
  border-radius: 10px !important;
  padding: 9px 12px !important;
}
.ecim-dashboard-aside {
  background: #fff !important;
  padding: 22px !important;
}
.ecim-quick-action-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.ecim-quick-action-list button {
  width: 100%;
  display: grid;
  gap: 3px;
  text-align: left;
  border: 1px solid rgba(38,46,56,.10) !important;
  border-radius: 12px !important;
  background: #F8FAFC !important;
  color: #262E38 !important;
  padding: 13px 14px !important;
}
.ecim-quick-action-list button:hover {
  background: #EFF8FC !important;
  border-color: rgba(9,140,201,.25) !important;
}
.ecim-quick-action-list span {
  font-weight: 850;
}
.ecim-quick-action-list small {
  color: #697889;
  font-weight: 600;
}
.ecim-table th {
  background: #F4F7FA !important;
}
.ecim-subnav a,
.ecim-subnav button,
.ecim-pill,
.ecim-actions button,
.ecim-toolbar button {
  border-radius: 10px !important;
}
.ecim-pill {
  padding: 5px 9px !important;
  font-size: 11px !important;
  letter-spacing: .02em;
}
@media (max-width: 1180px) {
  .ecim-dashboard-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .ecim-dashboard-layout { grid-template-columns: 1fr !important; }
  .ecim-dashboard-event-row, .ecim-op-row { grid-template-columns: 56px minmax(0,1fr) auto !important; }
  .ecim-dashboard-progress { grid-column: 2 / -1; }
}
@media (max-width: 800px) {
  .ecim-main { padding: 18px !important; }
  .ecim-dashboard-hero { align-items: flex-start; flex-direction: column; }
  .ecim-dashboard-grid { grid-template-columns: 1fr !important; }
  .ecim-dashboard-event-row, .ecim-op-row { grid-template-columns: 50px minmax(0,1fr) !important; }
  .ecim-ghost-action { grid-column: 2; width: fit-content; }
}

/* v1.2.9.1 dashboard polish + accessibility refinements */
.ecim-dashboard-hero-actions button,
.ecim-card-header button,
.ecim-page-toolbar button,
.ecim-top-actions button,
.ecim-actions button,
.ecim-toolbar button {
  border: 1px solid transparent !important;
  background: #098CC9 !important;
  color: #FFFFFF !important;
  text-shadow: none !important;
}
.ecim-dashboard-hero-actions button:hover,
.ecim-card-header button:hover,
.ecim-page-toolbar button:hover,
.ecim-top-actions button:hover,
.ecim-actions button:hover,
.ecim-toolbar button:hover {
  background: #087CAF !important;
  color: #FFFFFF !important;
  filter: none !important;
}
.ecim-dashboard-hero-actions button.ecim-secondary-action,
.ecim-dashboard-hero-actions button:nth-child(2),
.ecim-actions button.ecim-secondary,
.ecim-toolbar button.ecim-secondary {
  background: rgba(255,255,255,.09) !important;
  border-color: rgba(255,255,255,.38) !important;
  color: #FFFFFF !important;
}
.ecim-dashboard-hero-actions button.ecim-secondary-action:hover,
.ecim-dashboard-hero-actions button:nth-child(2):hover {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.58) !important;
}
.ecim-ghost-action,
.ecim-actions button.ecim-secondary,
.ecim-attendee-actions .ecim-secondary {
  background: #FFFFFF !important;
  border: 1px solid rgba(38,46,56,.16) !important;
  color: #262E38 !important;
}
.ecim-event-date-chip {
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 0 !important;
  text-align: center !important;
  color: #262E38 !important;
  line-height: 1 !important;
}
.ecim-event-date-chip strong {
  display: block !important;
  font-size: 23px !important;
  font-weight: 850 !important;
  line-height: .95 !important;
  letter-spacing: -.05em !important;
  color: #262E38 !important;
}
.ecim-event-date-chip span {
  display: block !important;
  margin-top: 4px !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  text-transform: none !important;
  color: #098CC9 !important;
}
.ecim-dashboard-schedule-header {
  align-items: flex-start !important;
}
.ecim-dashboard-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.ecim-dashboard-search,
.ecim-dashboard-type-filter {
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(38,46,56,.14);
  background: #fff;
  color: #262E38;
  font-weight: 650;
  box-shadow: 0 4px 14px rgba(38,46,56,.04);
}
.ecim-dashboard-search {
  min-width: 240px;
  margin-right: 0 !important;
}
.ecim-dashboard-type-filter {
  min-width: 150px;
  padding: 0 12px;
}
.ecim-pill-type {
  background: rgba(9,140,201,.10) !important;
  color: #075F88 !important;
  border: 1px solid rgba(9,140,201,.16);
}
.ecim-type-webinar { background: rgba(9,140,201,.12) !important; color: #075F88 !important; }
.ecim-type-townhall { background: rgba(236,154,0,.16) !important; color: #8A5900 !important; }
.ecim-type-hybrid { background: rgba(139,197,63,.18) !important; color: #4F6B19 !important; }
.ecim-dashboard-event-tags {
  margin-top: 8px;
}
.ecim-badge-toolbar button,
.ecim-badge-toolbar-modern button,
.ecim-toolbar-group button,
.ecim-zoom-controls button,
button[data-action="badge-zoom-in"],
button[data-action="badge-zoom-out"],
button[data-action="badge-zoom-fit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 34px !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
button[data-action="badge-zoom-in"],
button[data-action="badge-zoom-out"] {
  min-width: 34px !important;
  width: 34px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
button[data-action="badge-zoom-fit"] {
  min-width: 48px !important;
}
@media (max-width: 900px) {
  .ecim-dashboard-schedule-header { gap: 16px; flex-direction: column; }
  .ecim-dashboard-filters { justify-content: stretch; width: 100%; }
  .ecim-dashboard-search, .ecim-dashboard-type-filter { width: 100%; min-width: 0; }
}

/* v1.2.9.2 UI refinement: Concept A toolbar + staff footer + contrast fixes */
.ecim-dashboard-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin-left: auto;
}
.ecim-dashboard-toolbar .ecim-dashboard-search {
  width: min(320px, 34vw);
  min-width: 220px;
}
.ecim-dashboard-toolbar .ecim-dashboard-type-filter {
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;
}
.ecim-dashboard-toolbar .ecim-create-event-button,
.ecim-create-event-button,
.ecim-dashboard-hero-actions button:first-child,
.ecim-card-header button.ecim-create-event-button {
  background: var(--ecim-tiac-east, #098CC9) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .22) !important;
}
.ecim-dashboard-toolbar .ecim-create-event-button:hover,
.ecim-create-event-button:hover,
.ecim-dashboard-hero-actions button:first-child:hover {
  background: #077eb5 !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.ecim-dashboard-hero-actions .ecim-secondary-action,
.ecim-secondary-action,
.ecim-card button.ecim-secondary-action {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.28) !important;
}
.ecim-dashboard-hero-actions .ecim-secondary-action:hover,
.ecim-secondary-action:hover {
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
}
.ecim-dashboard-schedule-header {
  align-items: center !important;
  gap: 18px !important;
}
.ecim-dashboard-schedule-header > div:first-child {
  min-width: 170px;
}
.ecim-event-date-chip {
  width: 58px !important;
  height: 64px !important;
  grid-template-rows: 1fr auto !important;
  gap: 2px !important;
  place-items: center !important;
  padding: 8px 6px !important;
}
.ecim-event-date-chip strong {
  font-size: 26px !important;
  line-height: .95 !important;
  letter-spacing: -.06em !important;
}
.ecim-event-date-chip span {
  margin-top: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  font-weight: 800 !important;
}
.ecim-zoom-controls button,
.ecim-zoom-controls select {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
.ecim-zoom-controls select {
  line-height: 32px !important;
  text-align-last: center !important;
}
.ecim-sidebar-footer.ecim-user-menu-wrap {
  position: relative;
  margin-top: auto;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #fff;
}
.ecim-user-menu-button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 58px;
  padding: 10px 8px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: #fff !important;
  text-align: left;
  cursor: pointer;
  box-shadow: none !important;
}
.ecim-user-menu-button:hover,
.ecim-user-menu-wrap.is-open .ecim-user-menu-button {
  background: rgba(255,255,255,.075) !important;
}
.ecim-user-avatar {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 999px;
  object-fit: cover;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  display: inline-grid;
  place-items: center;
  font-weight: 900;
  color: #fff;
}
.ecim-user-meta {
  min-width: 0;
  display: grid;
  gap: 2px;
  flex: 1;
}
.ecim-user-meta strong {
  display: block;
  color: #fff;
  font-size: 14px;
  line-height: 1.15;
  font-weight: 850;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ecim-user-meta small {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.15;
  font-weight: 600;
}
.ecim-user-chevron {
  color: rgba(255,255,255,.64);
  font-size: 16px;
  transform: translateY(-1px);
}
.ecim-user-menu-wrap.is-open .ecim-user-chevron {
  transform: rotate(180deg);
}
.ecim-user-menu {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 10px);
  z-index: 20;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 18px 42px rgba(0,0,0,.24);
  color: var(--ecim-tiac-deep-blue, #262E38);
}
.ecim-user-menu-head {
  padding: 8px 9px 9px;
  border-bottom: 1px solid #edf1f5;
  margin-bottom: 6px;
}
.ecim-user-menu-head strong,
.ecim-user-menu-head small {
  display: block;
}
.ecim-user-menu-head strong {
  font-size: 13px;
  font-weight: 850;
}
.ecim-user-menu-head small {
  color: #697889;
  font-size: 12px;
  margin-top: 2px;
}
.ecim-user-menu a {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 9px 10px !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-weight: 800;
  text-decoration: none;
}
.ecim-user-menu a:hover {
  background: #f4f7fb !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  transform: none !important;
}
.ecim-topbar-actions {
  min-width: 1px;
}
@media (max-width: 900px) {
  .ecim-dashboard-toolbar {
    width: 100%;
    justify-content: stretch;
  }
  .ecim-dashboard-toolbar .ecim-dashboard-search,
  .ecim-dashboard-toolbar .ecim-dashboard-type-filter,
  .ecim-dashboard-toolbar .ecim-create-event-button {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ECIM v1.2.9.3 — Concept A sidebar identity refinement */
.ecim-brand {
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}
.ecim-primary-nav,
.ecim-sidebar nav {
  padding-bottom: 18px !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.ecim-sidebar-footer.ecim-user-menu-wrap {
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}
.ecim-user-menu-button {
  width: 100% !important;
  min-height: 62px !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 18px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border-radius: 13px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  text-align: left !important;
}
.ecim-user-menu-button:hover,
.ecim-user-menu-wrap.is-open .ecim-user-menu-button {
  background: rgba(255,255,255,.075) !important;
  border-color: rgba(255,255,255,.08) !important;
}
.ecim-user-avatar {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
}
.ecim-user-meta {
  display: block !important;
  min-width: 0 !important;
}
.ecim-user-meta strong {
  max-width: 150px !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  letter-spacing: -.015em !important;
}
.ecim-user-meta small {
  margin-top: 3px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  color: rgba(255,255,255,.62) !important;
}
.ecim-user-chevron {
  width: 14px !important;
  height: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,.58) !important;
  transform: none !important;
}
.ecim-user-chevron svg {
  width: 11px !important;
  height: 11px !important;
  display: block !important;
  fill: currentColor !important;
}
.ecim-user-menu-wrap.is-open .ecim-user-chevron {
  transform: rotate(180deg) !important;
}
.ecim-user-menu {
  left: 0 !important;
  right: 0 !important;
  bottom: calc(100% + 12px) !important;
}

/* ==========================================================
   ECIM v1.2.9.5 — Fixed viewport sidebar footer
   UI-only: prevents admin-bar/viewport overflow from forcing sidebar scroll.
   ========================================================== */
body.ecim-portal-body {
  min-height: 100vh !important;
  overflow-x: hidden !important;
}
.ecim-app-shell {
  min-height: 100vh !important;
}
.ecim-sidebar {
  min-height: 100vh !important;
  height: 100vh !important;
  max-height: 100vh !important;
  position: sticky !important;
  top: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
body.admin-bar .ecim-app-shell {
  min-height: calc(100vh - 32px) !important;
}
body.admin-bar .ecim-sidebar {
  min-height: calc(100vh - 32px) !important;
  height: calc(100vh - 32px) !important;
  max-height: calc(100vh - 32px) !important;
}
.ecim-brand {
  flex: 0 0 auto !important;
}
.ecim-primary-nav,
.ecim-sidebar nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 2px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.22) transparent;
}
.ecim-primary-nav::-webkit-scrollbar,
.ecim-sidebar nav::-webkit-scrollbar {
  width: 4px;
}
.ecim-primary-nav::-webkit-scrollbar-thumb,
.ecim-sidebar nav::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.22);
  border-radius: 999px;
}
.ecim-sidebar-footer.ecim-user-menu-wrap {
  flex: 0 0 auto !important;
  margin-top: 14px !important;
  padding-top: 12px !important;
  padding-bottom: 2px !important;
}
.ecim-user-menu-button {
  min-height: 56px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
@media (max-width: 782px) {
  body.admin-bar .ecim-app-shell {
    min-height: calc(100vh - 46px) !important;
  }
  body.admin-bar .ecim-sidebar {
    min-height: calc(100vh - 46px) !important;
    height: calc(100vh - 46px) !important;
    max-height: calc(100vh - 46px) !important;
  }
}
@media (max-width: 800px) {
  .ecim-sidebar {
    position: static !important;
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .ecim-primary-nav,
  .ecim-sidebar nav {
    overflow: visible !important;
  }
}

/* ==========================================================
   ECIM v1.2.9.6 — Sidebar shell fix + non-admin app mode
   UI-only: compact nav rhythm, stable fixed footer, admin-bar-aware shell.
   ========================================================== */
body.ecim-portal-body {
  min-height: 100vh !important;
  overflow-x: hidden !important;
}
body.ecim-portal-body .ecim-app-shell {
  min-height: 100vh !important;
  align-items: stretch !important;
}
body.admin-bar.ecim-portal-body .ecim-app-shell {
  min-height: calc(100vh - 32px) !important;
}
body.ecim-portal-body .ecim-sidebar {
  position: sticky !important;
  top: 0 !important;
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 20px 16px 14px !important;
  box-sizing: border-box !important;
}
body.admin-bar.ecim-portal-body .ecim-sidebar {
  top: 32px !important;
  height: calc(100vh - 32px) !important;
  min-height: calc(100vh - 32px) !important;
  max-height: calc(100vh - 32px) !important;
}
body.ecim-portal-body .ecim-brand {
  flex: 0 0 auto !important;
  margin: 0 0 16px !important;
  padding: 4px 6px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}
body.ecim-portal-body .ecim-primary-nav,
body.ecim-portal-body .ecim-sidebar nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  align-items: stretch !important;
  gap: 8px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 12px 0 !important;
  margin: 0 !important;
}
body.ecim-portal-body .ecim-primary-nav a,
body.ecim-portal-body .ecim-sidebar nav a {
  flex: 0 0 auto !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}
body.ecim-portal-body .ecim-nav-icon {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
body.ecim-portal-body .ecim-sidebar-footer.ecim-user-menu-wrap {
  flex: 0 0 auto !important;
  margin-top: 14px !important;
  padding-top: 16px !important;
  padding-bottom: 4px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  background: transparent !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
}
body.ecim-portal-body .ecim-user-menu-button {
  min-height: 58px !important;
  height: 58px !important;
  padding: 8px 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  width: 100% !important;
  border-radius: 14px !important;
}
body.ecim-portal-body .ecim-user-meta {
  text-align: left !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
body.ecim-portal-body .ecim-user-meta strong,
body.ecim-portal-body .ecim-user-meta small {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.ecim-portal-body .ecim-user-chevron {
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  margin-left: auto !important;
  color: rgba(255,255,255,.74) !important;
  opacity: .85 !important;
}
body.ecim-portal-body .ecim-user-chevron svg {
  width: 10px !important;
  height: 10px !important;
  fill: currentColor !important;
  display: block !important;
}
body.ecim-portal-body .ecim-user-menu-button:hover .ecim-user-chevron,
body.ecim-portal-body .ecim-user-menu-wrap.is-open .ecim-user-chevron {
  color: #fff !important;
  opacity: 1 !important;
}
@media (max-width: 782px) {
  body.admin-bar.ecim-portal-body .ecim-app-shell {
    min-height: calc(100vh - 46px) !important;
  }
  body.admin-bar.ecim-portal-body .ecim-sidebar {
    top: 46px !important;
    height: calc(100vh - 46px) !important;
    min-height: calc(100vh - 46px) !important;
    max-height: calc(100vh - 46px) !important;
  }
}
@media (max-width: 800px) {
  body.ecim-portal-body .ecim-sidebar {
    position: static !important;
    top: auto !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.ecim-portal-body .ecim-primary-nav,
  body.ecim-portal-body .ecim-sidebar nav {
    overflow: visible !important;
  }
}

/* ==========================================================
   ECIM v1.2.9.7 — Sidebar divider cleanup + app-only portal
   UI-only: keep one Concept A divider above the user profile.
   ========================================================== */
body.ecim-portal-body .ecim-primary-nav,
body.ecim-portal-body .ecim-sidebar nav {
  border-bottom: 0 !important;
  padding-bottom: 12px !important;
}
body.ecim-portal-body .ecim-sidebar-footer.ecim-user-menu-wrap {
  border-top: 1px solid rgba(255,255,255,.12) !important;
  padding-top: 14px !important;
}

/* ==========================================================
   ECIM v1.2.9.8 — Portal cleanup: hide public-site accessibility widgets
   UI-only. Keeps third-party accessibility widget off the ECIM app shell.
   ========================================================== */
body.ecim-portal-body [class*="yydev"],
body.ecim-portal-body [id*="yydev"],
body.ecim-portal-body [class*="yydev-accessibility"],
body.ecim-portal-body [id*="yydev-accessibility"],
body.ecim-portal-body .yydev-accessibility,
body.ecim-portal-body #yydev-accessibility,
body.ecim-portal-body .yydev-accessibility-wrapper,
body.ecim-portal-body .yydev-accessibility-icon,
body.ecim-portal-body .yydev-accessibility-btn,
body.ecim-portal-body .yydev-accessibility-panel,
body.ecim-portal-body .yydev-accessibility-toolbar,
body.ecim-portal-body .accessibility-widget,
body.ecim-portal-body .accessibility-button,
body.ecim-portal-body .accessibility-toolbar,
body.ecim-portal-body [class*="accessibility-widget"],
body.ecim-portal-body [id*="accessibility-widget"],
body.ecim-portal-body [class*="accessibility-toolbar"],
body.ecim-portal-body [id*="accessibility-toolbar"],
body.ecim-portal-body [aria-label*="Accessibility"],
body.ecim-portal-body [title*="Accessibility"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ECIM workspace/navigation refactor */
body.ecim-portal-body .ecim-nav-icon i {
  width: 1em !important;
  height: 1em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

.ecim-workspace-inline-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.ecim-workspace-inline-actions h3 {
  margin: 2px 0 4px;
}

.ecim-workspace-inline-actions p {
  margin: 0;
}

@media (max-width: 760px) {
  .ecim-workspace-inline-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

/* ECIM v1.2.9.6 — Event workspace entry flow */
.ecim-workspace-header {
  padding: 16px 18px 0 !important;
}
.ecim-workspace-title-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}
.ecim-workspace-title-row h3 {
  margin: 3px 0 4px !important;
  font-size: 24px !important;
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.ecim-workspace-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.ecim-back-link {
  min-height: auto !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ecim-v2-muted) !important;
  font-size: 13px;
  font-weight: 800;
  box-shadow: none !important;
}
.ecim-back-link:hover {
  color: var(--ecim-tiac-east) !important;
}
.ecim-workspace-header .ecim-subnav {
  margin: 0 -18px !important;
  padding: 10px 14px !important;
  border-top: 1px solid var(--ecim-v2-border) !important;
  border-bottom: 0 !important;
  background: rgba(248,250,252,.72);
  border-radius: 0 0 var(--ecim-v2-radius) var(--ecim-v2-radius);
}
.ecim-workspace-header .ecim-subnav button {
  background: transparent !important;
  color: var(--ecim-v2-muted) !important;
  min-height: 34px;
  padding: 7px 10px !important;
}
.ecim-workspace-header .ecim-subnav button:hover,
.ecim-workspace-header .ecim-subnav button.active {
  background: var(--ecim-tiac-deep-blue) !important;
  color: #fff !important;
  outline: 0 !important;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.ecim-settings-subnav button span { color: inherit !important; }
@media (max-width: 760px) {
  .ecim-workspace-title-row { align-items: flex-start; flex-direction: column; }
  .ecim-workspace-status { justify-content: flex-start; }
}

/* ECIM v1.2.9.9 — workspace polish, event filters, settings layouts */
.ecim-back-link-inline {
  padding: 8px 12px !important;
  margin: 0 4px 0 0 !important;
  border-radius: 10px !important;
  background: var(--ecim-tiac-deep-blue) !important;
  color: #fff !important;
  line-height: 1 !important;
}
.ecim-back-link-inline:hover {
  color: #fff !important;
  background: var(--ecim-tiac-east) !important;
}
.ecim-events-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}
.ecim-events-header h3 {
  margin: 4px 0;
}
.ecim-events-filterbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(160px, 220px) minmax(160px, 220px);
  gap: 12px;
  align-items: center;
}
.ecim-events-filterbar input,
.ecim-events-filterbar select,
.ecim-field-block select {
  width: 100%;
  min-height: 42px;
}
.ecim-settings-grid {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(320px, 1.1fr);
  gap: 18px;
  align-items: start;
}
.ecim-settings-feature {
  border-left: 4px solid var(--ecim-tiac-east) !important;
}
.ecim-settings-panel h3,
.ecim-settings-feature h3 {
  margin: 4px 0 8px;
}
.ecim-event-settings-grid .ecim-settings-feature {
  grid-row: span 2;
}
.ecim-check-list {
  display: grid;
  gap: 10px;
  margin: 10px 0 14px;
}
.ecim-check-list label {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 750;
}
.ecim-field-block {
  display: grid;
  gap: 7px;
  font-weight: 800;
  margin-top: 10px;
}
.ecim-sticky-actions {
  margin-top: 18px;
}
.ecim-row-selected {
  background: rgba(9, 140, 201, .08);
}
@media (max-width: 900px) {
  .ecim-events-filterbar,
  .ecim-settings-grid {
    grid-template-columns: 1fr;
  }
  .ecim-events-header {
    align-items: stretch;
    flex-direction: column;
  }
}

/* v1.2.10 attendee badge preview polish */
.ecim-attendee-badge-view .ecim-badge-preview-heading {
    align-items: flex-start;
    gap: 16px;
}

.ecim-attendee-badge-view .ecim-badge-preview-heading .ecim-actions {
    align-items: center;
    justify-content: flex-end;
}

.ecim-badge-preview-stage {
    margin-top: 18px;
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    overflow: auto;
}

.ecim-badge-preview-stage .ecim-badge-canvas,
.ecim-badge-preview-stage .ecim-badge-page {
    margin: 0 auto;
}

/* v1.2.12 consolidation polish */
.ecim-page-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 18px;
}
.ecim-page-subtitle {
    margin: -4px 0 0;
    color: #5f7187;
    font-size: 15px;
}
.ecim-template-summary-card .ecim-summary-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
}
.ecim-summary-stats span {
    display: block;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: rgba(241, 245, 249, 0.7);
}
.ecim-summary-stats strong {
    display: block;
    color: #172033;
    font-size: 16px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ecim-summary-stats small {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.ecim-template-manager-card { margin-bottom: 18px; }
.ecim-template-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}
.ecim-template-card {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 16px;
    background: #ffffff;
}
.ecim-template-card.active {
    border-color: rgba(9, 140, 201, 0.55);
    background: rgba(9, 140, 201, 0.06);
}
.ecim-template-card h4 {
    margin: 0 0 8px;
    font-size: 15px;
}
.ecim-template-card p { margin: 10px 0 0; }
.ecim-events-page-toolbar button { margin-top: 0; }

/* v1.2.13 badge template manager compaction */
.ecim-template-table td:first-child strong { margin-right: 8px; }
.ecim-row-active td { background: rgba(9, 140, 201, 0.045); }
.ecim-table-actions { white-space: nowrap; text-align: right !important; }
.ecim-table-actions button { margin-left: 8px; }
.ecim-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.42);
}
.ecim-modal {
    width: min(760px, 100%);
    max-height: min(720px, calc(100vh - 48px));
    overflow: auto;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 24px 80px rgba(15, 23, 42, 0.25);
    padding: 22px;
}

/* v1.2.14 badge template open picker */
.ecim-template-open-card {
    margin-bottom: 18px;
}
.ecim-template-current-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: rgba(241, 245, 249, 0.55);
}
.ecim-template-current-row h4 {
    margin: 2px 0 4px;
    color: #172033;
    font-size: 18px;
}
.ecim-mini-label {
    display: block;
    margin-bottom: 2px;
    color: #0077b6;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ecim-template-picker-table td:first-child strong {
    margin-right: 8px;
}

/* v1.2.15 badge template picker simplification */
.ecim-template-topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 6px 4px 2px;
}
.ecim-template-topbar h2 {
    margin: 4px 0 6px;
    color: #172033;
    font-size: 28px;
    line-height: 1.1;
}
.ecim-template-topbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.ecim-template-chip {
    display: inline-flex;
    flex-direction: column;
    min-width: 220px;
    padding: 9px 12px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 12px;
    background: #fff;
}
.ecim-template-chip strong {
    color: #172033;
    font-size: 14px;
    line-height: 1.25;
}
.ecim-template-chip small {
    color: #5f7088;
    font-size: 12px;
    margin-top: 2px;
}
.ecim-modal-header-compact {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
}
.ecim-modal-header-compact h3 {
    margin: 4px 0 0;
    font-size: 24px;
    color: #172033;
}
.ecim-template-picker-modal {
    width: min(620px, 100%);
}
.ecim-template-pick-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}
.ecim-template-pick-item {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 14px;
    background: #fff;
    color: #172033;
    text-align: left;
    box-shadow: none;
}
.ecim-template-pick-item:hover,
.ecim-template-pick-item:focus {
    border-color: rgba(9, 140, 201, 0.45);
    background: rgba(9, 140, 201, 0.045);
    color: #172033;
}
.ecim-template-pick-item strong,
.ecim-template-pick-item small {
    display: block;
}
.ecim-template-pick-item strong {
    font-size: 15px;
}
.ecim-template-pick-item small {
    margin-top: 3px;
    color: #5f7088;
    font-size: 12px;
}
.ecim-template-pick-item em {
    font-style: normal;
    font-size: 11px;
    font-weight: 800;
    color: #4f6f1f;
    background: #e8f5d6;
    border-radius: 999px;
    padding: 4px 8px;
    white-space: nowrap;
}
@media (max-width: 900px) {
    .ecim-template-topbar { flex-direction: column; }
    .ecim-template-topbar-actions { justify-content: flex-start; }
    .ecim-template-chip { min-width: 0; width: 100%; }
}

/* v1.2.16: reliable, cleaner badge template picker */
.ecim-template-picker-backdrop {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(15, 23, 42, 0.42);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 7vh 20px 24px;
}
.ecim-template-picker-panel {
    width: min(680px, 100%);
    max-height: 82vh;
    overflow: auto;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 18px;
    box-shadow: 0 26px 80px rgba(15, 23, 42, 0.26);
    padding: 22px;
}
.ecim-template-picker-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 14px;
}
.ecim-template-picker-head h3 {
    margin: 4px 0 6px;
    font-size: 24px;
    color: #172033;
}
.ecim-template-picker-panel .ecim-template-pick-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}
.ecim-template-picker-panel .ecim-template-pick-item {
    cursor: pointer;
}

/* v1.2.17: TIAC brand hierarchy guardrails
   Prevent theme/default anchor and button styling from leaking into ECIM. */
body.ecim-portal-body .ecim-main a,
body.ecim-portal-body .ecim-template-picker-backdrop a,
body.ecim-login-body a {
  color: var(--ecim-tiac-east, #098CC9) !important;
  text-decoration: none !important;
  font-weight: 700;
  text-underline-offset: 3px;
  border-radius: 6px;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
body.ecim-portal-body .ecim-main a:hover,
body.ecim-portal-body .ecim-main a:focus,
body.ecim-portal-body .ecim-template-picker-backdrop a:hover,
body.ecim-portal-body .ecim-template-picker-backdrop a:focus,
body.ecim-login-body a:hover,
body.ecim-login-body a:focus {
  color: #087CAF !important;
  background: rgba(9, 140, 201, .08) !important;
  text-decoration: none !important;
  outline: none !important;
}
body.ecim-portal-body .ecim-main a.ecim-button,
body.ecim-portal-body .ecim-main a.ecim-button-small,
body.ecim-portal-body .ecim-main .ecim-primary-nav a,
body.ecim-portal-body .ecim-main .ecim-subnav a,
body.ecim-portal-body .ecim-sidebar a {
  background: inherit;
}

body.ecim-portal-body .ecim-main button,
body.ecim-portal-body .ecim-template-picker-backdrop button,
body.ecim-login-body button,
body.ecim-portal-body .ecim-main .ecim-button,
body.ecim-portal-body .ecim-main .ecim-button-small {
  font-family: inherit !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

body.ecim-portal-body .ecim-main button:not(.ecim-secondary):not(.ecim-danger):not(.ecim-template-pick-item):not(.ecim-tab-button):not(.ecim-quick-action):not(.ecim-row-action):not(.ecim-calendar-month-event):not(.ecim-calendar-chip):not(.ecim-dashboard-tool-button):not(.ecim-frontdesk-action):not(.ecim-table-sort):not(.ecim-chip-action),
body.ecim-portal-body .ecim-main .ecim-button,
body.ecim-portal-body .ecim-main .ecim-button-small,
body.ecim-portal-body .ecim-template-picker-backdrop button:not(.ecim-secondary):not(.ecim-template-pick-item) {
  background: var(--ecim-tiac-east, #098CC9) !important;
  border: 1px solid var(--ecim-tiac-east, #098CC9) !important;
  color: #FFFFFF !important;
}

body.ecim-portal-body .ecim-main button:not(.ecim-secondary):not(.ecim-danger):not(.ecim-template-pick-item):not(.ecim-tab-button):not(.ecim-quick-action):not(.ecim-row-action):not(.ecim-calendar-month-event):not(.ecim-calendar-chip):not(.ecim-dashboard-tool-button):not(.ecim-frontdesk-action):not(.ecim-table-sort):not(.ecim-chip-action):hover,
body.ecim-portal-body .ecim-main button:not(.ecim-secondary):not(.ecim-danger):not(.ecim-template-pick-item):not(.ecim-tab-button):not(.ecim-quick-action):not(.ecim-row-action):not(.ecim-calendar-month-event):not(.ecim-calendar-chip):not(.ecim-dashboard-tool-button):not(.ecim-frontdesk-action):not(.ecim-table-sort):not(.ecim-chip-action):focus,
body.ecim-portal-body .ecim-main .ecim-button:hover,
body.ecim-portal-body .ecim-main .ecim-button:focus,
body.ecim-portal-body .ecim-main .ecim-button-small:hover,
body.ecim-portal-body .ecim-main .ecim-button-small:focus,
body.ecim-portal-body .ecim-template-picker-backdrop button:not(.ecim-secondary):not(.ecim-template-pick-item):hover,
body.ecim-portal-body .ecim-template-picker-backdrop button:not(.ecim-secondary):not(.ecim-template-pick-item):focus {
  background: #087CAF !important;
  border-color: #087CAF !important;
  color: #FFFFFF !important;
  filter: none !important;
  outline: none !important;
}

body.ecim-portal-body .ecim-main .ecim-secondary,
body.ecim-portal-body .ecim-template-picker-backdrop .ecim-secondary,
body.ecim-portal-body .ecim-main button.ecim-secondary {
  background: #FFFFFF !important;
  border: 1px solid rgba(38, 46, 56, .18) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
}
body.ecim-portal-body .ecim-main .ecim-secondary:hover,
body.ecim-portal-body .ecim-main .ecim-secondary:focus,
body.ecim-portal-body .ecim-template-picker-backdrop .ecim-secondary:hover,
body.ecim-portal-body .ecim-template-picker-backdrop .ecim-secondary:focus,
body.ecim-portal-body .ecim-main button.ecim-secondary:hover,
body.ecim-portal-body .ecim-main button.ecim-secondary:focus {
  background: rgba(9, 140, 201, .08) !important;
  border-color: rgba(9, 140, 201, .42) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  outline: none !important;
}

body.ecim-portal-body .ecim-main .ecim-danger,
body.ecim-portal-body .ecim-template-picker-backdrop .ecim-danger {
  background: #FFFFFF !important;
  border: 1px solid rgba(189, 93, 33, .42) !important;
  color: var(--ecim-tiac-maple, #BD5D21) !important;
}
body.ecim-portal-body .ecim-main .ecim-danger:hover,
body.ecim-portal-body .ecim-template-picker-backdrop .ecim-danger:hover {
  background: rgba(189, 93, 33, .08) !important;
}

body.ecim-portal-body .ecim-template-picker-panel {
  border-radius: 22px !important;
  border: 1px solid rgba(38, 46, 56, .12) !important;
}
body.ecim-portal-body .ecim-template-picker-head {
  border-bottom: 1px solid rgba(38, 46, 56, .10);
  padding-bottom: 16px;
}
body.ecim-portal-body .ecim-template-picker-head h3 {
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
}
body.ecim-portal-body .ecim-template-pick-list {
  gap: 8px !important;
}
body.ecim-portal-body button.ecim-template-pick-item,
body.ecim-portal-body .ecim-template-picker-panel button.ecim-template-pick-item {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid transparent !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  text-align: left !important;
  width: 100% !important;
  box-shadow: none !important;
}
body.ecim-portal-body button.ecim-template-pick-item:hover,
body.ecim-portal-body button.ecim-template-pick-item:focus,
body.ecim-portal-body .ecim-template-picker-panel button.ecim-template-pick-item:hover,
body.ecim-portal-body .ecim-template-picker-panel button.ecim-template-pick-item:focus {
  background: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .42) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  outline: none !important;
}
body.ecim-portal-body button.ecim-template-pick-item strong,
body.ecim-portal-body .ecim-template-picker-panel button.ecim-template-pick-item strong {
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-weight: 800 !important;
}
body.ecim-portal-body button.ecim-template-pick-item small,
body.ecim-portal-body .ecim-template-picker-panel button.ecim-template-pick-item small {
  color: var(--ecim-v2-muted, #697889) !important;
}
body.ecim-portal-body button.ecim-template-pick-item em,
body.ecim-portal-body .ecim-template-picker-panel button.ecim-template-pick-item em {
  background: rgba(139, 197, 63, .18) !important;
  color: var(--ecim-tiac-boreal, #4F6B19) !important;
}


/* v1.2.18: softer TIAC hierarchy polish
   Roboto base, outline quick actions, clearer hover/active states. */
body.ecim-portal-body,
body.ecim-login-body,
body.ecim-portal-body button,
body.ecim-portal-body input,
body.ecim-portal-body select,
body.ecim-portal-body textarea {
  font-family: Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.ecim-portal-body .ecim-main h1,
body.ecim-portal-body .ecim-main h2,
body.ecim-portal-body .ecim-main h3,
body.ecim-portal-body .ecim-brand,
body.ecim-portal-body .ecim-section-kicker,
body.ecim-portal-body .ecim-card-kicker,
body.ecim-portal-body .ecim-card-eyebrow {
  font-family: Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.ecim-portal-body .ecim-main h1 {
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
}

body.ecim-portal-body .ecim-main h2,
body.ecim-portal-body .ecim-main h3 {
  font-weight: 700 !important;
  letter-spacing: -0.018em !important;
}

body.ecim-portal-body .ecim-quick-action-list button {
  background: #FFFFFF !important;
  border: 1px solid rgba(9, 140, 201, .34) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.ecim-portal-body .ecim-quick-action-list button span {
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-weight: 700 !important;
}

body.ecim-portal-body .ecim-quick-action-list button small {
  color: var(--ecim-v2-muted, #697889) !important;
  font-weight: 400 !important;
}

body.ecim-portal-body .ecim-quick-action-list button:hover,
body.ecim-portal-body .ecim-quick-action-list button:focus {
  background: rgba(9, 140, 201, .07) !important;
  border-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .10) !important;
  outline: none !important;
}

body.ecim-portal-body .ecim-quick-action-list button:hover span,
body.ecim-portal-body .ecim-quick-action-list button:focus span {
  color: var(--ecim-tiac-east, #098CC9) !important;
}

body.ecim-portal-body .ecim-quick-action-list button:active,
body.ecim-portal-body .ecim-quick-action-list button.active {
  background: rgba(9, 140, 201, .12) !important;
  border-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: inset 4px 0 0 var(--ecim-tiac-east, #098CC9) !important;
}

body.ecim-portal-body .ecim-main button,
body.ecim-portal-body .ecim-main .ecim-button,
body.ecim-portal-body .ecim-main .ecim-button-small,
body.ecim-portal-body .ecim-template-picker-backdrop button {
  font-weight: 700 !important;
}

body.ecim-portal-body .ecim-main p,
body.ecim-portal-body .ecim-main small,
body.ecim-portal-body .ecim-muted {
  font-weight: 400 !important;
}

/* v1.2.19 action hierarchy fix: dashboard quick actions + attendee row actions */
body.ecim-portal-body .ecim-main .ecim-quick-action-list button.ecim-quick-action {
  display: grid !important;
  gap: 4px !important;
  width: 100% !important;
  min-height: 72px !important;
  padding: 15px 16px !important;
  text-align: left !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(9, 140, 201, .32) !important;
  border-left: 4px solid var(--ecim-tiac-east, #098CC9) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  transform: none !important;
}
body.ecim-portal-body .ecim-main .ecim-quick-action-list button.ecim-quick-action span {
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
body.ecim-portal-body .ecim-main .ecim-quick-action-list button.ecim-quick-action small {
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}
body.ecim-portal-body .ecim-main .ecim-quick-action-list button.ecim-quick-action:hover,
body.ecim-portal-body .ecim-main .ecim-quick-action-list button.ecim-quick-action:focus-visible {
  background: rgba(9, 140, 201, .055) !important;
  border-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 8px 18px rgba(9, 140, 201, .10) !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 2px !important;
}
body.ecim-portal-body .ecim-main .ecim-quick-action-list button.ecim-quick-action:hover span,
body.ecim-portal-body .ecim-main .ecim-quick-action-list button.ecim-quick-action:focus-visible span {
  color: var(--ecim-tiac-east, #098CC9) !important;
}
body.ecim-portal-body .ecim-main .ecim-quick-action-list button.ecim-quick-action:active {
  background: rgba(9, 140, 201, .10) !important;
  box-shadow: inset 0 0 0 1px rgba(9, 140, 201, .18) !important;
}
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action {
  min-width: 92px !important;
  justify-content: center !important;
  border-radius: 8px !important;
  padding: 9px 13px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-checkin:not(:disabled) {
  background: var(--ecim-tiac-east, #098CC9) !important;
  border: 1px solid var(--ecim-tiac-east, #098CC9) !important;
  color: #FFFFFF !important;
}
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-checkin:not(:disabled):hover,
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-checkin:not(:disabled):focus-visible {
  background: #087CAF !important;
  border-color: #087CAF !important;
  box-shadow: 0 8px 16px rgba(9, 140, 201, .16) !important;
  outline: 2px solid rgba(9, 140, 201, .18) !important;
  outline-offset: 2px !important;
}
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-open {
  background: #FFFFFF !important;
  border: 1px solid rgba(38, 46, 56, .22) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
}
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-open:hover,
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-open:focus-visible {
  background: rgba(9, 140, 201, .06) !important;
  border-color: rgba(9, 140, 201, .50) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
  outline: 2px solid rgba(9, 140, 201, .14) !important;
  outline-offset: 2px !important;
}
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-checkin:disabled,
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-checkin.is-disabled {
  background: #E5E7EB !important;
  border: 1px solid #D1D5DB !important;
  color: #6B7280 !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  box-shadow: none !important;
}


/* v1.2.20 real action hierarchy patch */
body.ecim-portal-body .ecim-main .ecim-dashboard-aside .ecim-quick-action-list {
  gap: 12px !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-aside button.ecim-quick-action,
body.ecim-portal-body .ecim-main button.ecim-quick-action.ecim-quick-action-card {
  appearance: none !important;
  display: grid !important;
  gap: 5px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 14px 16px !important;
  text-align: left !important;
  background: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .72) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-aside button.ecim-quick-action span,
body.ecim-portal-body .ecim-main button.ecim-quick-action.ecim-quick-action-card span {
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-aside button.ecim-quick-action small,
body.ecim-portal-body .ecim-main button.ecim-quick-action.ecim-quick-action-card small {
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-aside button.ecim-quick-action:hover,
body.ecim-portal-body .ecim-main .ecim-dashboard-aside button.ecim-quick-action:focus-visible,
body.ecim-portal-body .ecim-main button.ecim-quick-action.ecim-quick-action-card:hover,
body.ecim-portal-body .ecim-main button.ecim-quick-action.ecim-quick-action-card:focus-visible {
  background: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .10) !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 2px !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-aside button.ecim-quick-action:hover span,
body.ecim-portal-body .ecim-main .ecim-dashboard-aside button.ecim-quick-action:focus-visible span,
body.ecim-portal-body .ecim-main button.ecim-quick-action.ecim-quick-action-card:hover span,
body.ecim-portal-body .ecim-main button.ecim-quick-action.ecim-quick-action-card:focus-visible span {
  color: var(--ecim-tiac-east, #098CC9) !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-aside button.ecim-quick-action:active,
body.ecim-portal-body .ecim-main button.ecim-quick-action.ecim-quick-action-card:active {
  background: rgba(9, 140, 201, .10) !important;
  transform: translateY(1px) !important;
}
body.ecim-portal-body .ecim-main .ecim-attendee-row-actions .ecim-row-action,
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action {
  appearance: none !important;
  min-width: 92px !important;
  justify-content: center !important;
  border-radius: 8px !important;
  padding: 9px 13px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
body.ecim-portal-body .ecim-main .ecim-attendee-row-actions .ecim-row-action-checkin:not(:disabled),
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-checkin:not(:disabled) {
  background: var(--ecim-tiac-east, #098CC9) !important;
  border: 1px solid var(--ecim-tiac-east, #098CC9) !important;
  color: #FFFFFF !important;
}
body.ecim-portal-body .ecim-main .ecim-attendee-row-actions .ecim-row-action-open,
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-open {
  background: #FFFFFF !important;
  border: 1px solid rgba(38, 46, 56, .22) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
}
body.ecim-portal-body .ecim-main .ecim-attendee-row-actions .ecim-row-action-open:hover,
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-open:hover,
body.ecim-portal-body .ecim-main .ecim-attendee-row-actions .ecim-row-action-open:focus-visible,
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-open:focus-visible {
  background: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .50) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
}
body.ecim-portal-body .ecim-main .ecim-attendee-row-actions .ecim-row-action-checkin:disabled,
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-checkin:disabled,
body.ecim-portal-body .ecim-main .ecim-attendee-row-actions .ecim-row-action-checkin.is-disabled,
body.ecim-portal-body .ecim-main .ecim-inline-actions .ecim-row-action-checkin.is-disabled {
  background: #E5E7EB !important;
  border: 1px solid #D1D5DB !important;
  color: #6B7280 !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* v1.2.22 - event workspace overview cleanup */
.ecim-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 18px;
  margin-bottom: 18px;
}
.ecim-overview-card h3,
.ecim-overview-actions-card h3 {
  margin-top: 4px;
}
.ecim-overview-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.ecim-overview-metric {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.62);
}
.ecim-overview-metric span,
.ecim-overview-metric small {
  display: block;
  color: #64748b;
  font-size: 13px;
  font-weight: 500;
}
.ecim-overview-metric strong {
  display: block;
  margin: 6px 0 2px;
  color: #172033;
  font-size: 28px;
  line-height: 1.05;
  font-weight: 700;
}
.ecim-detail-list {
  display: grid;
  gap: 12px;
  margin: 16px 0 0;
}
.ecim-detail-list div {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}
.ecim-detail-list dt {
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
}
.ecim-detail-list dd {
  margin: 0;
  color: #172033;
  font-weight: 500;
}
.ecim-overview-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.ecim-workflow-card {
  text-align: left;
  border: 1px solid rgba(0, 130, 200, 0.28) !important;
  background: #fff !important;
  color: #172033 !important;
  border-radius: 16px;
  padding: 16px;
  box-shadow: none !important;
}
.ecim-workflow-card strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #172033;
}
.ecim-workflow-card span {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 13px;
  font-weight: 500;
}
.ecim-workflow-card:hover,
.ecim-workflow-card:focus {
  border-color: #098cc9 !important;
  background: rgba(9, 140, 201, 0.06) !important;
  transform: translateY(-1px);
}
.ecim-workflow-card:active {
  transform: translateY(0);
}
@media (max-width: 1100px) {
  .ecim-overview-grid,
  .ecim-overview-actions {
    grid-template-columns: 1fr;
  }
}

/* v1.2.23 - Events launchpad views + overview cleanup */
.ecim-events-page-toolbar {
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px !important;
}
.ecim-events-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.ecim-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.ecim-view-toggle button,
.ecim-events-view-toggle {
  width: 34px !important;
  height: 32px !important;
  min-width: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #64748b !important;
  box-shadow: none !important;
  line-height: 1 !important;
}
.ecim-view-toggle button i,
.ecim-events-view-toggle i {
  font-size: 14px;
  line-height: 1;
  pointer-events: none;
}
.ecim-view-toggle button:hover,
.ecim-events-view-toggle:hover,
.ecim-view-toggle button:focus,
.ecim-events-view-toggle:focus {
  background: rgba(9, 140, 201, 0.08) !important;
  color: #098CC9 !important;
  outline: none !important;
}
.ecim-view-toggle button:focus-visible,
.ecim-events-view-toggle:focus-visible {
  outline: 2px solid rgba(9, 140, 201, 0.35) !important;
  outline-offset: 2px;
}
.ecim-view-toggle button.is-active,
.ecim-events-view-toggle.is-active {
  background: #172033 !important;
  color: #ffffff !important;
}
.ecim-event-list-compact .ecim-event-row {
  grid-template-columns: minmax(0, 1fr) auto;
}
.ecim-event-list-compact .ecim-row-actions {
  white-space: nowrap;
}
.ecim-event-list-detailed .ecim-event-row {
  grid-template-columns: minmax(0, 1fr) auto;
}
.ecim-events-calendar-lite {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}
.ecim-calendar-day {
  padding: 16px !important;
}
.ecim-calendar-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  color: #172033;
}
.ecim-calendar-day-head span {
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
}
.ecim-calendar-day-events {
  display: grid;
  gap: 8px;
}
.ecim-calendar-event {
  text-align: left;
  border: 1px solid rgba(9, 140, 201, 0.22) !important;
  background: #fff !important;
  color: #172033 !important;
  border-radius: 12px !important;
  padding: 12px !important;
  box-shadow: none !important;
}
.ecim-calendar-event strong,
.ecim-calendar-event span {
  display: block;
}
.ecim-calendar-event strong {
  font-weight: 700;
}
.ecim-calendar-event span {
  color: #64748b;
  font-size: 13px;
  margin-top: 3px;
}
.ecim-calendar-event:hover,
.ecim-calendar-event:focus {
  border-color: #098cc9 !important;
  background: rgba(9, 140, 201, 0.06) !important;
}
.ecim-overview-grid {
  margin-bottom: 0;
}
@media (max-width: 900px) {
  .ecim-events-page-toolbar,
  .ecim-events-header-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .ecim-view-toggle {
    width: 100%;
  }
  .ecim-view-toggle button,
  .ecim-events-view-toggle {
    flex: 1 1 0;
  }
  .ecim-event-list-compact .ecim-event-row,
  .ecim-event-list-detailed .ecim-event-row {
    grid-template-columns: 1fr;
  }
}

/* ECIM v1.2.25 — real operational month calendar */
.ecim-events-calendar-month {
  padding: 18px !important;
  overflow: hidden;
}
.ecim-calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.ecim-calendar-toolbar > strong {
  font-size: 18px;
  font-weight: 700;
  color: #172033;
}
.ecim-calendar-toolbar-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ecim-calendar-nav {
  width: 36px !important;
  min-width: 36px !important;
  height: 34px !important;
  padding: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}
.ecim-calendar-today {
  height: 34px !important;
  padding: 0 12px !important;
}
.ecim-calendar-weekdays,
.ecim-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.ecim-calendar-weekdays {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
  background: #f8fafc;
  overflow: hidden;
}
.ecim-calendar-weekdays span {
  padding: 9px 10px;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
  border-right: 1px solid rgba(15, 23, 42, 0.08);
}
.ecim-calendar-weekdays span:last-child { border-right: 0; }
.ecim-calendar-grid {
  border-left: 1px solid rgba(15, 23, 42, 0.12);
  border-top: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0 0 14px 14px;
  overflow: hidden;
}
.ecim-calendar-cell {
  min-height: 128px;
  padding: 9px;
  background: #ffffff;
  border-right: 1px solid rgba(15, 23, 42, 0.12);
  border-bottom: 1px solid rgba(15, 23, 42, 0.12);
}
.ecim-calendar-cell.is-outside-month {
  background: #f8fafc;
  color: #94a3b8;
}
.ecim-calendar-cell.is-today {
  background: rgba(9, 140, 201, 0.045);
  box-shadow: inset 0 0 0 2px rgba(9, 140, 201, 0.25);
}
.ecim-calendar-date {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-bottom: 6px;
  border-radius: 999px;
  color: #172033;
  font-size: 12px;
  font-weight: 800;
}
.ecim-calendar-cell.is-outside-month .ecim-calendar-date { color: #94a3b8; }
.ecim-calendar-cell.is-today .ecim-calendar-date {
  background: #098CC9;
  color: #ffffff;
}
.ecim-calendar-cell-events {
  display: grid;
  gap: 5px;
}
.ecim-calendar-month-event {
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 28px;
  padding: 5px 6px !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #172033 !important;
  text-align: left !important;
  box-shadow: none !important;
}
.ecim-calendar-month-event:hover,
.ecim-calendar-month-event:focus {
  border-color: rgba(9, 140, 201, 0.45) !important;
  background: rgba(9, 140, 201, 0.06) !important;
  transform: none !important;
}
.ecim-event-type-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #098CC9;
  box-shadow: 0 0 0 2px rgba(9, 140, 201, 0.12);
}
.ecim-event-type-dot-in-person { background: #098CC9; }
.ecim-event-type-dot-webinar { background: #7c3aed; box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.14); }
.ecim-event-type-dot-townhall { background: #f59e0b; box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.16); }
.ecim-event-type-dot-hybrid { background: #0f766e; box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.14); }
.ecim-calendar-event-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
}
.ecim-calendar-event-time {
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .ecim-events-calendar-month { overflow-x: auto; }
  .ecim-calendar-weekdays,
  .ecim-calendar-grid { min-width: 760px; }
}

/* v1.2.26: ECIM-wide component reset
   Stop theme/default hyperlink and generic button fills from leaking into ECIM UI components. */
body.ecim-portal-body .ecim-main a[class^="ecim-"],
body.ecim-portal-body .ecim-main a[class*=" ecim-"],
body.ecim-portal-body .ecim-template-picker-backdrop a[class^="ecim-"],
body.ecim-portal-body .ecim-template-picker-backdrop a[class*=" ecim-"] {
  color: inherit !important;
  text-decoration: none !important;
  text-shadow: none !important;
  background: transparent !important;
  box-shadow: none;
  font-weight: inherit;
}

body.ecim-portal-body .ecim-main a[class^="ecim-"]:hover,
body.ecim-portal-body .ecim-main a[class^="ecim-"]:focus,
body.ecim-portal-body .ecim-main a[class*=" ecim-"]:hover,
body.ecim-portal-body .ecim-main a[class*=" ecim-"]:focus,
body.ecim-portal-body .ecim-template-picker-backdrop a[class^="ecim-"]:hover,
body.ecim-portal-body .ecim-template-picker-backdrop a[class^="ecim-"]:focus,
body.ecim-portal-body .ecim-template-picker-backdrop a[class*=" ecim-"]:hover,
body.ecim-portal-body .ecim-template-picker-backdrop a[class*=" ecim-"]:focus {
  color: inherit !important;
  text-decoration: none !important;
  background: transparent !important;
}

/* Text links remain visibly links only when explicitly marked as text links. */
body.ecim-portal-body .ecim-main a.ecim-text-link,
body.ecim-portal-body .ecim-main .ecim-rich-text a:not([class]) {
  color: var(--ecim-tiac-east, #098CC9) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
body.ecim-portal-body .ecim-main a.ecim-text-link:hover,
body.ecim-portal-body .ecim-main .ecim-rich-text a:not([class]):hover {
  color: #087CAF !important;
  background: transparent !important;
}

/* Explicit component button hierarchy. */
body.ecim-portal-body .ecim-main .ecim-button,
body.ecim-portal-body .ecim-main a.ecim-button,
body.ecim-portal-body .ecim-main button.ecim-button,
body.ecim-portal-body .ecim-main .ecim-button-small,
body.ecim-portal-body .ecim-main a.ecim-button-small,
body.ecim-portal-body .ecim-main button.ecim-button-small {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 10px !important;
  border: 1px solid var(--ecim-tiac-east, #098CC9) !important;
  background: var(--ecim-tiac-east, #098CC9) !important;
  color: #fff !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
body.ecim-portal-body .ecim-main .ecim-button:hover,
body.ecim-portal-body .ecim-main a.ecim-button:hover,
body.ecim-portal-body .ecim-main button.ecim-button:hover,
body.ecim-portal-body .ecim-main .ecim-button-small:hover,
body.ecim-portal-body .ecim-main a.ecim-button-small:hover,
body.ecim-portal-body .ecim-main button.ecim-button-small:hover,
body.ecim-portal-body .ecim-main .ecim-button:focus-visible,
body.ecim-portal-body .ecim-main .ecim-button-small:focus-visible {
  border-color: #087CAF !important;
  background: #087CAF !important;
  color: #fff !important;
  outline: 2px solid rgba(9, 140, 201, .18) !important;
  outline-offset: 2px !important;
}
body.ecim-portal-body .ecim-main .ecim-secondary,
body.ecim-portal-body .ecim-main a.ecim-secondary,
body.ecim-portal-body .ecim-main button.ecim-secondary {
  border: 1px solid rgba(38, 46, 56, .18) !important;
  background: #fff !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
}
body.ecim-portal-body .ecim-main .ecim-secondary:hover,
body.ecim-portal-body .ecim-main a.ecim-secondary:hover,
body.ecim-portal-body .ecim-main button.ecim-secondary:hover,
body.ecim-portal-body .ecim-main .ecim-secondary:focus-visible {
  border-color: rgba(9, 140, 201, .45) !important;
  background: rgba(9, 140, 201, .06) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
}

/* Navigation links are app chrome, not website hyperlinks. */
body.ecim-portal-body .ecim-sidebar a,
body.ecim-portal-body .ecim-main .ecim-subnav a,
body.ecim-portal-body .ecim-main a.ecim-tab-button {
  text-decoration: none !important;
  background-image: none !important;
}

/* Calendar items are operational chips, not CTAs or hyperlinks. */
body.ecim-portal-body .ecim-main button.ecim-calendar-month-event,
body.ecim-portal-body .ecim-main a.ecim-calendar-month-event,
body.ecim-portal-body .ecim-main .ecim-calendar-month-event {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-height: 28px !important;
  padding: 5px 6px !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  border-radius: 8px !important;
  background: #fff !important;
  background-image: none !important;
  color: #172033 !important;
  text-align: left !important;
  text-decoration: none !important;
  font: inherit !important;
  line-height: 1.2 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
  cursor: pointer !important;
}
body.ecim-portal-body .ecim-main button.ecim-calendar-month-event:hover,
body.ecim-portal-body .ecim-main button.ecim-calendar-month-event:focus-visible,
body.ecim-portal-body .ecim-main a.ecim-calendar-month-event:hover,
body.ecim-portal-body .ecim-main a.ecim-calendar-month-event:focus-visible,
body.ecim-portal-body .ecim-main .ecim-calendar-month-event:hover,
body.ecim-portal-body .ecim-main .ecim-calendar-month-event:focus-visible {
  border-color: rgba(9, 140, 201, 0.45) !important;
  background: rgba(9, 140, 201, 0.055) !important;
  color: #172033 !important;
  outline: 2px solid rgba(9, 140, 201, .13) !important;
  outline-offset: 1px !important;
  transform: none !important;
}
body.ecim-portal-body .ecim-main .ecim-calendar-month-event .ecim-calendar-event-title {
  color: #172033 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
body.ecim-portal-body .ecim-main .ecim-calendar-month-event .ecim-calendar-event-time {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

/* v1.2.27: calendar events are outline chips, never filled CTA buttons. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-calendar-cell-events button.ecim-calendar-month-event,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-calendar-cell-events a.ecim-calendar-month-event,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-calendar-cell-events .ecim-calendar-month-event,
html body.ecim-portal-body .ecim-main .ecim-calendar-grid button.ecim-calendar-month-event,
html body.ecim-portal-body .ecim-main .ecim-calendar-grid a.ecim-calendar-month-event,
html body.ecim-portal-body .ecim-main .ecim-calendar-grid .ecim-calendar-month-event {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-height: 28px !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(9, 140, 201, 0.32) !important;
  border-left-width: 3px !important;
  border-radius: 8px !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #172033 !important;
  text-align: left !important;
  text-decoration: none !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-calendar-cell-events button.ecim-calendar-month-event:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-calendar-cell-events button.ecim-calendar-month-event:focus-visible,
html body.ecim-portal-body .ecim-main .ecim-calendar-grid button.ecim-calendar-month-event:hover,
html body.ecim-portal-body .ecim-main .ecim-calendar-grid button.ecim-calendar-month-event:focus-visible {
  border-color: rgba(9, 140, 201, 0.68) !important;
  background: rgba(9, 140, 201, 0.055) !important;
  background-color: rgba(9, 140, 201, 0.055) !important;
  color: #172033 !important;
  outline: 2px solid rgba(9, 140, 201, 0.14) !important;
  outline-offset: 1px !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-main .ecim-calendar-grid .ecim-calendar-month-event .ecim-calendar-event-title {
  color: #172033 !important;
  font-weight: 500 !important;
}
html body.ecim-portal-body .ecim-main .ecim-calendar-grid .ecim-calendar-month-event .ecim-calendar-event-time {
  color: #64748b !important;
  font-weight: 500 !important;
}


/* v1.2.28: hard override for month calendar event chips.
   These buttons must never inherit ECIM primary button styling. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-chip,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-chip:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-chip:focus,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-chip:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(9, 140, 201, 0.34) !important;
  border-radius: 8px !important;
  color: #172033 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  filter: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-chip:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-chip:focus-visible {
  background: rgba(9, 140, 201, 0.045) !important;
  background-color: rgba(9, 140, 201, 0.045) !important;
  border-color: rgba(9, 140, 201, 0.58) !important;
  outline: 2px solid rgba(9, 140, 201, 0.12) !important;
  outline-offset: 1px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-chip .ecim-calendar-event-title,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-chip .ecim-calendar-event-time {
  color: inherit !important;
  text-decoration: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-chip .ecim-calendar-event-time {
  color: #64748b !important;
}


/* Registration Workspace */
.ecim-registration-layout {
  align-items: start;
}

.ecim-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ecim-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.ecim-registration-ticket-list,
.ecim-registration-status-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ecim-registration-ticket-row,
.ecim-registration-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.ecim-registration-ticket-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

.ecim-registration-ticket-meta {
  display: flex;
  gap: 10px;
  margin-top: 4px;
  font-size: 12px;
  opacity: .72;
  flex-wrap: wrap;
}

.ecim-ops-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
  margin-bottom: 14px;
}

.ecim-ops-stat {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 12px;
}

.ecim-ops-label {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .7;
  margin-bottom: 6px;
}

.ecim-registration-duplicate-notice {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(9,140,201,.3);
  border-radius: 8px;
  background: rgba(9,140,201,.08);
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
}

@media (max-width: 1100px) {
  .ecim-ops-grid {
    grid-template-columns: 1fr;
  }
}

/* Registration Workspace Density Refinement */
.ecim-registration-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 14px 0 18px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.ecim-registration-toolbar .ecim-kicker { margin-bottom: 2px; }
.ecim-registration-toolbar p { margin: 0; }
.ecim-registration-overview-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin: 0 0 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.08);
}
.ecim-registration-overview-strip > div {
  background: #fff;
  padding: 12px 14px;
}
.ecim-registration-overview-strip strong {
  display: block;
  font-size: 18px;
  line-height: 1.15;
  color: #142033;
}
.ecim-registration-layout-clean { align-items: start; }
.ecim-section-head-compact { margin-bottom: 10px; }
.ecim-section-head-compact h3 { margin: 0; font-size: 15px; }
.ecim-registration-ticket-table {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 10px;
  overflow: hidden;
}
.ecim-registration-ticket-table-head,
.ecim-registration-ticket-table-row {
  display: grid;
  grid-template-columns: minmax(190px, 1.5fr) .8fr .7fr .8fr;
  gap: 10px;
  align-items: center;
  padding: 9px 12px;
}
.ecim-registration-ticket-table-head {
  background: rgba(15, 23, 42, 0.035);
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ecim-registration-ticket-table-row {
  min-height: 42px;
  border-top: 1px solid rgba(15, 23, 42, 0.07);
  font-size: 13px;
}
.ecim-registration-ticket-name {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: #142033;
}
.ecim-empty-row { padding: 14px; color: #64748b; }
.ecim-registration-launch-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.ecim-registration-launch-card .ecim-muted { max-width: 620px; margin-bottom: 0; }
.ecim-registration-launch-actions { flex: 0 0 auto; }
.ecim-registration-status-list-compact { gap: 0; }
.ecim-registration-status-list-compact .ecim-registration-status-row {
  padding: 10px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}
.ecim-registration-status-list-compact .ecim-registration-status-row:last-child { border-bottom: 0; }
.ecim-registration-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(15, 23, 42, 0.34);
  opacity: 0;
  transition: opacity .16s ease;
}
.ecim-registration-drawer-backdrop.is-open { opacity: 1; }
.ecim-registration-drawer-backdrop[hidden] { display: none; }
.ecim-registration-drawer {
  position: absolute;
  top: 0;
  right: 0;
  width: min(680px, calc(100vw - 32px));
  height: 100%;
  background: #fff;
  box-shadow: -18px 0 40px rgba(15, 23, 42, 0.18);
  display: flex;
  flex-direction: column;
  transform: translateX(18px);
  transition: transform .16s ease;
}
.ecim-registration-drawer-backdrop.is-open .ecim-registration-drawer { transform: translateX(0); }
.ecim-registration-drawer-head,
.ecim-registration-drawer-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.ecim-registration-drawer-foot {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  border-bottom: 0;
  justify-content: flex-end;
}
.ecim-registration-drawer-head h3 { margin: 2px 0 0; }
.ecim-registration-drawer-body {
  overflow: auto;
  padding: 18px 20px;
}
@media (max-width: 1100px) {
  .ecim-registration-overview-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ecim-registration-launch-card { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 760px) {
  .ecim-registration-toolbar { align-items: flex-start; flex-direction: column; }
  .ecim-registration-overview-strip { grid-template-columns: 1fr; }
  .ecim-registration-ticket-table-head { display: none; }
  .ecim-registration-ticket-table-row { grid-template-columns: 1fr; gap: 5px; }
  .ecim-registration-drawer { width: 100vw; }
}


/* ECIM v1.2.31 — Registration drawer form polish
   Keeps the side drawer compact, aligned, and protected from theme form styling. */
body.ecim-portal-body .ecim-registration-drawer {
  width: min(720px, calc(100vw - 40px));
  background: #f8fafc;
}

body.ecim-portal-body .ecim-registration-drawer-head,
body.ecim-portal-body .ecim-registration-drawer-foot {
  background: #ffffff;
  padding: 18px 22px;
}

body.ecim-portal-body .ecim-registration-drawer-head h3 {
  color: #142033;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 800;
}

body.ecim-portal-body .ecim-registration-drawer-body {
  padding: 20px 22px;
}

body.ecim-portal-body .ecim-registration-form-grid {
  display: grid;
  gap: 16px;
}

body.ecim-portal-body .ecim-registration-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

body.ecim-portal-body .ecim-registration-drawer .ecim-field {
  display: grid;
  gap: 6px;
  margin: 0;
  color: #263244;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

body.ecim-portal-body .ecim-registration-drawer .ecim-field span {
  display: block;
}

body.ecim-portal-body .ecim-registration-drawer input,
body.ecim-portal-body .ecim-registration-drawer select,
body.ecim-portal-body .ecim-registration-drawer textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px;
  box-sizing: border-box;
  border: 1px solid rgba(100, 116, 139, 0.32) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #142033 !important;
  box-shadow: none !important;
  outline: none;
  padding: 10px 12px !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body.ecim-portal-body .ecim-registration-drawer textarea {
  min-height: 82px;
  resize: vertical;
}

body.ecim-portal-body .ecim-registration-drawer input:focus,
body.ecim-portal-body .ecim-registration-drawer select:focus,
body.ecim-portal-body .ecim-registration-drawer textarea:focus {
  border-color: rgba(9, 140, 201, 0.72) !important;
  box-shadow: 0 0 0 3px rgba(9, 140, 201, 0.12) !important;
}

body.ecim-portal-body .ecim-registration-duplicate-notice {
  display: grid;
  gap: 4px;
  margin-top: 18px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(9, 140, 201, 0.28);
  background: rgba(9, 140, 201, 0.08);
  color: #155e75;
  font-size: 12px;
}

body.ecim-portal-body .ecim-registration-drawer-foot button {
  min-height: 42px;
}

@media (max-width: 760px) {
  body.ecim-portal-body .ecim-registration-drawer { width: 100vw; }
  body.ecim-portal-body .ecim-registration-form-row { grid-template-columns: 1fr; }
}

/* v1.2.32 registration drawer validation + event edit affordance */
.ecim-workspace-edit-button {
  padding: 7px 10px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap;
}

.ecim-registration-form-alert {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(220, 38, 38, 0.25);
  background: rgba(254, 242, 242, 0.95);
  color: #991b1b;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
}

.ecim-registration-drawer .ecim-field.is-error > span {
  color: #991b1b;
}

.ecim-registration-drawer .ecim-field.is-error input,
.ecim-registration-drawer .ecim-field.is-error select,
.ecim-registration-drawer .ecim-field.is-error textarea {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.10) !important;
}

.ecim-registration-drawer .ecim-field-error {
  display: block;
  margin-top: 5px;
  color: #991b1b;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
}

/* v1.2.33 registration success / checkout / duplicate drawer states */
.ecim-registration-result {
  margin-top: 16px;
}

.ecim-registration-result-card {
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: #ffffff;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.ecim-registration-result-card h3 {
  margin: 4px 0 6px;
  font-size: 20px;
  line-height: 1.2;
  color: #142033;
}

.ecim-registration-result-card p {
  margin: 0 0 14px;
  color: #536273;
  font-size: 13px;
}

.ecim-registration-result-card.is-success {
  border-color: rgba(22, 163, 74, 0.22);
  background: linear-gradient(180deg, rgba(240, 253, 244, 0.92), #ffffff 56%);
}

.ecim-registration-result-card.is-checkout {
  border-color: rgba(9, 140, 201, 0.24);
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.94), #ffffff 58%);
}

.ecim-registration-result-card.is-warning {
  border-color: rgba(245, 158, 11, 0.36);
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.95), #ffffff 56%);
}

.ecim-registration-result-summary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 12px 0 14px;
}

.ecim-registration-result-summary > div,
.ecim-registration-duplicate-list > div {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.84);
}

.ecim-registration-result-summary span,
.ecim-registration-duplicate-list span {
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.ecim-registration-result-summary strong,
.ecim-registration-duplicate-list strong {
  color: #142033;
  font-size: 13px;
}

.ecim-registration-duplicate-list {
  display: grid;
  gap: 8px;
  margin: 12px 0 14px;
}

.ecim-registration-result-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
}

.ecim-registration-result-actions button,
.ecim-registration-result-actions .ecim-button-link {
  min-height: 38px;
}

/* v1.2.35 event form, images, and safe CSV export */
.ecim-event-form-grid {
  display: grid;
  gap: 14px;
}
.ecim-image-field {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 1.6fr;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.82);
  margin-top: 10px;
}
.ecim-image-field span {
  display: block;
  font-weight: 800;
  color: #0f172a;
}
.ecim-image-field small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  line-height: 1.35;
}
.ecim-image-picker-row {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.ecim-image-thumb {
  width: 112px;
  height: 64px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #94a3b8;
  font-size: 12px;
}
.ecim-image-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ecim-export-modal {
  width: min(820px, calc(100vw - 32px));
}
.ecim-export-group {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  padding: 12px;
  margin: 10px 0;
  background: rgba(248, 250, 252, 0.75);
}
.ecim-export-group h4 {
  margin: 0 0 8px;
  font-size: 13px;
  color: #0f172a;
}
.ecim-export-field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 7px 12px;
}
.ecim-export-field-grid label {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 13px;
  color: #334155;
}
.ecim-export-actions {
  justify-content: flex-end;
  margin-top: 14px;
}
@media (max-width: 760px) {
  .ecim-image-field { grid-template-columns: 1fr; }
  .ecim-image-picker-row { justify-content: flex-start; }
}

/* ECIM v1.2.37 — event lifecycle editor */
.ecim-event-lifecycle-form .ecim-form-card {
  align-self: start;
}

.ecim-compact-check-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px 14px;
  margin: 8px 0 14px;
}

.ecim-event-lifecycle-form .ecim-muted strong {
  color: inherit;
}

/* v1.2.38 event lifecycle flow + restored tag pills */
.ecim-event-lifecycle-form{max-width:760px}
.ecim-event-flow-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 .9rem 0;position:sticky;top:0;z-index:5;background:linear-gradient(180deg,var(--ecim-bg,#f4f6fb) 0%,rgba(244,246,251,.92) 100%);padding:.35rem 0 .55rem}
.ecim-event-flow-tabs button{border:1px solid rgba(15,23,42,.12);background:#fff;color:#344054;border-radius:999px;padding:.55rem .9rem;font-weight:800;font-size:.86rem;box-shadow:0 1px 2px rgba(15,23,42,.04);cursor:pointer}
.ecim-event-flow-tabs button.is-active{background:#098cc9;color:#fff;border-color:#098cc9;box-shadow:0 8px 18px rgba(9,140,201,.18)}
.ecim-event-flow-panel[hidden]{display:none!important}
.ecim-tag-panel{display:flex;flex-direction:column;gap:.55rem;width:100%}
.ecim-active-tags{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.ecim-op-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;background:#eef6fb;color:#075985;font-weight:800;font-size:.82rem;border:1px solid rgba(9,140,201,.18)}
.ecim-op-tag button{border:0;background:transparent;color:inherit;padding:0;font-weight:900;cursor:pointer;line-height:1}
.ecim-tags-row .ecim-inline-view{display:none}
.ecim-tags-row .ecim-inline-edit{max-width:420px}

/* ECIM v1.2.39 — compact event wizard, copyable URL, and operational toggles */
.ecim-event-lifecycle-form{
  max-width: 820px;
}
.ecim-event-flow-tabs{
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 16px;
  padding: 6px 4px 14px;
  background: transparent;
  overflow: hidden;
}
.ecim-event-flow-tabs::before{
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 28px;
  height: 2px;
  background: rgba(9, 140, 201, 0.24);
  z-index: 0;
}
.ecim-event-flow-tabs button{
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #475467;
  padding: 0 4px;
  font-weight: 800;
  font-size: .82rem;
  cursor: pointer;
}
.ecim-flow-dot{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 2px solid #098cc9;
  color: #098cc9;
  font-size: .78rem;
  line-height: 1;
}
.ecim-event-flow-tabs button.is-active,
.ecim-event-flow-tabs button.is-complete{
  color: #0f172a;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.ecim-event-flow-tabs button.is-active .ecim-flow-dot,
.ecim-event-flow-tabs button.is-complete .ecim-flow-dot{
  background: #098cc9;
  color: #fff;
}
.ecim-event-flow-actions{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.ecim-event-flow-actions button{
  min-width: 96px;
}
.ecim-danger-actions{
  justify-content: flex-start;
  margin-top: 10px;
}
.ecim-check-list.ecim-compact-check-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 16px;
}
.ecim-check-list.ecim-compact-check-list label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 999px;
  background: rgba(248, 250, 252, .9);
  font-size: .82rem;
  line-height: 1.2;
  white-space: nowrap;
}
.ecim-check-list.ecim-compact-check-list input[type="checkbox"]{
  width: 15px;
  height: 15px;
  margin: 0;
}
.ecim-url-copy-row{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.ecim-url-copy-row input{
  min-width: min(420px, 100%);
  flex: 1 1 260px;
  height: 38px;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 10px;
  padding: 0 10px;
  color: #334155;
  background: #fff;
}
.ecim-success-card{
  max-width: 720px;
  text-align: left;
}
.ecim-success-mark{
  width: 52px;
  height: 52px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #dcfce7;
  color: #15803d;
  font-size: 30px;
  font-weight: 900;
  margin-bottom: 12px;
}
.ecim-detail-list .ecim-url-copy-row{
  margin-top: 0;
}
.ecim-detail-list .ecim-url-copy-row input{
  min-width: min(320px, 100%);
}
@media (max-width: 760px){
  .ecim-event-flow-tabs{grid-template-columns: repeat(5, 1fr);}
  .ecim-event-flow-tabs button span:last-child{font-size: .72rem;}
  .ecim-flow-dot{width: 24px;height: 24px;font-size:.7rem;}
  .ecim-event-flow-tabs::before{top: 24px;}
  .ecim-check-list.ecim-compact-check-list label{white-space: normal;}
}


/* ECIM v1.2.40 — line-step wizard, inline validation, and compact URL copy field */
.ecim-event-lifecycle-form{max-width:820px;}
.ecim-event-flow-tabs{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin:0 0 14px;
  padding:0 8px 10px;
  background:transparent;
  overflow:visible;
}
.ecim-event-flow-tabs::before{
  content:"";
  position:absolute;
  left:calc(10% + 14px);
  right:calc(10% + 14px);
  top:44px;
  height:3px;
  background:#098cc9;
  z-index:0;
}
.ecim-event-flow-tabs button{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  gap:8px;
  border:0;
  background:transparent!important;
  box-shadow:none!important;
  color:#0f172a;
  padding:0 4px;
  font-weight:500;
  font-size:.95rem;
  cursor:pointer;
}
.ecim-flow-label{
  display:block;
  color:#0f172a;
  font-size:.95rem;
  line-height:1.2;
  font-weight:500;
}
.ecim-flow-dot{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  border:3px solid #098cc9;
  color:transparent;
  font-size:0;
  line-height:1;
  box-shadow:0 0 0 4px #fff;
}
.ecim-event-flow-tabs button.is-active,
.ecim-event-flow-tabs button.is-complete{
  color:#0f172a;
  background:transparent!important;
  border-color:transparent;
  box-shadow:none!important;
}
.ecim-event-flow-tabs button.is-active .ecim-flow-dot,
.ecim-event-flow-tabs button.is-complete .ecim-flow-dot{
  background:#098cc9;
  color:transparent;
}
.ecim-event-step-error{
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:10px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#c2410c;
  font-weight:700;
}
.ecim-field-error{
  border-color:#f97316!important;
  box-shadow:0 0 0 3px rgba(249,115,22,.15)!important;
}
.ecim-url-copy-row{
  display:flex;
  align-items:stretch;
  gap:0;
  flex-wrap:nowrap;
  margin-top:8px;
  max-width:680px;
}
.ecim-url-copy-row input{
  min-width:0;
  flex:1 1 auto;
  height:38px;
  border:1px solid rgba(15,23,42,.16);
  border-right:0;
  border-radius:10px 0 0 10px;
  padding:0 11px;
  color:#334155;
  background:#fff;
}
.ecim-url-copy-row .ecim-icon-copy{
  width:42px;
  height:38px;
  min-width:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.16);
  border-radius:0 10px 10px 0;
  background:#fff;
  color:#098cc9;
  padding:0;
  cursor:pointer;
}
.ecim-url-copy-row .ecim-icon-copy:hover,
.ecim-url-copy-row .ecim-icon-copy.is-copied{
  background:#eef6fb;
  color:#075985;
}
.ecim-url-copy-row .ecim-button-link{
  margin-left:8px;
  align-self:center;
}
@media (max-width:760px){
  .ecim-event-flow-tabs{grid-template-columns:repeat(5,1fr);padding-left:0;padding-right:0;}
  .ecim-flow-label{font-size:.72rem;}
  .ecim-flow-dot{width:22px;height:22px;border-width:2px;box-shadow:0 0 0 3px #fff;}
  .ecim-event-flow-tabs::before{top:36px;left:calc(10% + 10px);right:calc(10% + 10px);}
  .ecim-url-copy-row{max-width:100%;}
}


/* ECIM v1.2.41 — true line-step wizard and cleaner public URL field */
.ecim-event-lifecycle-form .ecim-event-flow-tabs{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin:0 0 16px;
  padding:0 8px 12px;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible;
}
.ecim-event-lifecycle-form .ecim-event-flow-tabs::before{
  content:"";
  position:absolute;
  left:calc(10% + 16px);
  right:calc(10% + 16px);
  top:41px;
  height:3px;
  background:#098cc9;
  z-index:0;
}
.ecim-event-lifecycle-form .ecim-event-flow-tabs > button,
.ecim-event-lifecycle-form .ecim-event-flow-tabs > button.is-active,
.ecim-event-lifecycle-form .ecim-event-flow-tabs > button.is-complete,
.ecim-event-lifecycle-form .ecim-event-flow-tabs > button:hover,
.ecim-event-lifecycle-form .ecim-event-flow-tabs > button:focus{
  position:relative;
  z-index:1;
  display:grid!important;
  justify-items:center;
  align-content:start;
  gap:7px;
  min-width:0!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0 4px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none;
  color:#0f172a!important;
  cursor:pointer;
}
.ecim-event-lifecycle-form .ecim-flow-label{
  display:block;
  color:#0f172a!important;
  font-size:.95rem;
  line-height:1.15;
  font-weight:500;
  text-align:center;
  background:transparent!important;
}
.ecim-event-lifecycle-form .ecim-flow-dot{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center;
  background:#fff!important;
  border:3px solid #098cc9!important;
  box-shadow:0 0 0 4px #fff!important;
  color:transparent!important;
  font-size:0!important;
  line-height:1!important;
}
.ecim-event-lifecycle-form .ecim-event-flow-tabs > button.is-active .ecim-flow-dot,
.ecim-event-lifecycle-form .ecim-event-flow-tabs > button.is-complete .ecim-flow-dot{
  background:#098cc9!important;
}
.ecim-public-url-field,
.ecim-url-copy-row.ecim-public-url-field{
  display:flex;
  align-items:stretch;
  gap:0;
  width:100%;
  max-width:520px;
  margin:0;
}
.ecim-public-url-field input,
.ecim-url-copy-row.ecim-public-url-field input{
  flex:1 1 auto;
  min-width:0;
  height:38px;
  border:1px solid rgba(15,23,42,.16);
  border-right:0;
  border-radius:10px 0 0 10px;
  padding:0 12px;
  background:#fff;
  color:#0f172a;
  font-weight:500;
}
.ecim-public-url-field .ecim-icon-copy,
.ecim-url-copy-row.ecim-public-url-field .ecim-icon-copy{
  width:42px;
  height:38px;
  min-width:42px;
  border:1px solid rgba(15,23,42,.16);
  border-radius:0 10px 10px 0;
  background:#fff!important;
  color:#098cc9!important;
  display:grid;
  place-items:center;
  padding:0;
  box-shadow:none!important;
}
.ecim-public-url-field .ecim-icon-copy:hover,
.ecim-url-copy-row.ecim-public-url-field .ecim-icon-copy:hover,
.ecim-public-url-field .ecim-icon-copy.is-copied,
.ecim-url-copy-row.ecim-public-url-field .ecim-icon-copy.is-copied{
  background:#eef6fb!important;
  color:#075985!important;
}
.ecim-detail-list .ecim-url-copy-row.ecim-public-url-field{
  margin-top:0;
  max-width:520px;
}
@media (max-width:760px){
  .ecim-event-lifecycle-form .ecim-flow-label{font-size:.72rem;}
  .ecim-event-lifecycle-form .ecim-flow-dot{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;border-width:2px!important;box-shadow:0 0 0 3px #fff!important;}
  .ecim-event-lifecycle-form .ecim-event-flow-tabs::before{top:34px;left:calc(10% + 10px);right:calc(10% + 10px);}
}

/* ECIM v1.2.42 — reference-matched event editor wizard */
.ecim-event-lifecycle-form.ecim-event-builder{
  width:100%;
  max-width:1180px!important;
  display:block;
}
.ecim-event-editor-breadcrumb{
  display:flex;
  align-items:center;
  gap:10px;
  margin:-8px 0 26px;
  color:#64748b;
  font-weight:700;
}
.ecim-event-editor-breadcrumb button{
  border:0;
  background:transparent;
  color:#0678b8;
  padding:0;
  font:inherit;
  cursor:pointer;
}
.ecim-event-editor-breadcrumb strong{color:#0678b8;font-weight:800;}
.ecim-event-builder .ecim-event-flow-tabs{
  width:min(100%,1040px);
  margin:0 auto 34px!important;
  padding:0 14px 18px!important;
}
.ecim-event-builder .ecim-event-flow-tabs::before{
  top:43px!important;
  left:calc(10% + 14px)!important;
  right:calc(10% + 14px)!important;
  height:3px!important;
  background:#098cc9!important;
}
.ecim-event-builder .ecim-event-flow-tabs > button{
  gap:10px!important;
}
.ecim-event-builder .ecim-flow-label{
  order:0;
  font-size:14px!important;
  font-weight:800!important;
  color:#111827!important;
}
.ecim-event-builder .ecim-flow-dot{
  order:1;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  border:3px solid #098cc9!important;
  box-shadow:0 0 0 5px #fff!important;
  background:#fff!important;
}
.ecim-event-builder .ecim-event-flow-tabs > button.is-active .ecim-flow-dot,
.ecim-event-builder .ecim-event-flow-tabs > button.is-complete .ecim-flow-dot{
  background:#098cc9!important;
  box-shadow:inset 0 0 0 5px #fff,0 0 0 5px #fff!important;
}
.ecim-event-builder-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:24px;
  align-items:start;
}
.ecim-event-builder-main{
  min-width:0;
  display:grid;
  gap:0;
}
.ecim-event-builder-main .ecim-form-card{
  padding:22px 22px 24px;
  border-radius:16px;
  box-shadow:0 14px 32px rgba(15,23,42,.08);
}
.ecim-event-builder-main .ecim-kicker{
  display:flex;
  align-items:center;
  gap:8px;
  color:#087fc0;
  font-size:13px;
  letter-spacing:.07em;
}
.ecim-event-builder-main label{
  font-weight:800;
  color:#0f172a;
}
.ecim-event-builder-main input,
.ecim-event-builder-main select,
.ecim-event-builder-main textarea{
  margin-top:8px;
  min-height:42px;
  border-radius:9px;
  border-color:rgba(100,116,139,.28);
  box-shadow:0 1px 2px rgba(15,23,42,.03);
  font-size:15px;
}
.ecim-event-builder-main textarea{min-height:132px;}
.ecim-event-builder-main .ecim-two-col,
.ecim-event-builder-main .ecim-three-col{
  gap:16px;
  margin-top:20px;
}
.ecim-event-builder-main .ecim-two-col + .ecim-three-col,
.ecim-event-builder-main .ecim-three-col + label,
.ecim-event-builder-main label + .ecim-two-col{
  margin-top:22px;
}
.ecim-event-builder-sidebar{
  display:grid;
  gap:14px;
  position:sticky;
  top:18px;
}
.ecim-step-helper-card{
  padding:22px;
  border-radius:16px;
  box-shadow:0 14px 32px rgba(15,23,42,.08);
}
.ecim-step-helper-card h3{
  margin:0 0 10px;
  color:#0f172a;
  font-size:18px;
}
.ecim-step-required-list{
  display:grid;
  gap:14px;
  margin-top:18px;
}
.ecim-step-required-item{
  display:flex;
  align-items:center;
  gap:10px;
  color:#0f172a;
  font-weight:650;
}
.ecim-step-required-item span{
  width:18px;
  height:18px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#18a83b;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.ecim-help-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  color:#0678b8;
  font-weight:800;
  text-decoration:none;
}
.ecim-event-flow-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:0!important;
  padding:18px 0 0!important;
  border-top:1px solid rgba(100,116,139,.22);
}
.ecim-event-flow-action-right{
  display:flex;
  gap:10px;
  align-items:center;
}
.ecim-event-flow-actions button{
  min-height:42px;
  border-radius:9px;
  padding:0 18px;
}
.ecim-event-flow-actions [data-action="event-flow-next"]{
  background:#0077bd;
  box-shadow:0 8px 16px rgba(0,119,189,.18);
}
.ecim-field-error{
  border-color:#dc2626!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.12)!important;
}
.ecim-event-step-error{
  margin:0 0 16px!important;
}
.ecim-page-body > .ecim-event-form-grid + .ecim-muted{display:none;}
@media (max-width:1100px){
  .ecim-event-builder-layout{grid-template-columns:1fr;}
  .ecim-event-builder-sidebar{position:static;grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .ecim-event-builder .ecim-event-flow-tabs{margin-bottom:22px!important;padding-left:0!important;padding-right:0!important;}
  .ecim-event-builder .ecim-event-flow-tabs::before{top:38px!important;left:calc(10% + 10px)!important;right:calc(10% + 10px)!important;}
  .ecim-event-builder .ecim-flow-label{font-size:11px!important;}
  .ecim-event-builder .ecim-flow-dot{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;}
  .ecim-event-builder-sidebar{grid-template-columns:1fr;}
}

/* ECIM v1.2.43 — event editor refinements */
.ecim-event-editor-breadcrumb{display:none!important;}

.ecim-event-builder .ecim-event-flow-tabs > button.ecim-event-flow-step,
.ecim-event-builder .ecim-event-flow-tabs > button.ecim-event-flow-step:hover,
.ecim-event-builder .ecim-event-flow-tabs > button.ecim-event-flow-step:focus,
.ecim-event-builder .ecim-event-flow-tabs > button.ecim-event-flow-step:active{
  appearance:none!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  color:#0f172a!important;
  text-decoration:none!important;
  border-radius:0!important;
  padding:0!important;
}
.ecim-event-builder .ecim-event-flow-tabs > button.ecim-event-flow-step:focus-visible .ecim-flow-dot{
  outline:3px solid rgba(9,140,201,.22)!important;
  outline-offset:4px!important;
}

.ecim-step-required-item span{
  background:#e2e8f0!important;
  color:#64748b!important;
}
.ecim-step-required-item.is-complete span{
  background:#18a83b!important;
  color:#fff!important;
}

.ecim-event-builder-layout > .ecim-event-flow-actions{
  grid-column:1 / -1;
  width:100%;
}
.ecim-event-flow-actions{
  border-top:0!important;
  padding:18px 0 0!important;
  display:grid!important;
  grid-template-columns:minmax(120px, 1fr) minmax(260px, 2fr);
  gap:14px!important;
  align-items:center;
}
.ecim-event-flow-action-right{
  width:100%;
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:12px!important;
}
.ecim-event-flow-actions button{
  width:100%;
}
@media (max-width:760px){
  .ecim-event-flow-actions{grid-template-columns:1fr;}
  .ecim-event-flow-action-right{grid-template-columns:1fr;}
}


/* ECIM v1.2.44 — hard reset event editor line stepper */
.ecim-event-builder .ecim-line-stepper,
.ecim-event-lifecycle-form .ecim-line-stepper,
.ecim-line-stepper{
  --ecim-step-blue:#098cc9;
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  width:100%!important;
  max-width:1080px!important;
  margin:18px auto 34px!important;
  padding:0 28px 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.ecim-event-builder .ecim-line-stepper::before,
.ecim-event-lifecycle-form .ecim-line-stepper::before,
.ecim-line-stepper::before{
  content:""!important;
  position:absolute!important;
  left:calc(10% + 28px)!important;
  right:calc(10% + 28px)!important;
  top:45px!important;
  height:3px!important;
  background:var(--ecim-step-blue)!important;
  border:0!important;
  z-index:0!important;
}
.ecim-event-builder .ecim-line-stepper > .ecim-event-flow-step,
.ecim-event-builder .ecim-line-stepper > a.ecim-event-flow-step,
.ecim-event-builder .ecim-line-stepper > button.ecim-event-flow-step,
.ecim-event-lifecycle-form .ecim-line-stepper > .ecim-event-flow-step,
.ecim-line-stepper > .ecim-event-flow-step,
.ecim-line-stepper > a.ecim-event-flow-step,
.ecim-line-stepper > button.ecim-event-flow-step,
.ecim-line-stepper > .ecim-event-flow-step:hover,
.ecim-line-stepper > .ecim-event-flow-step:focus,
.ecim-line-stepper > .ecim-event-flow-step:active,
.ecim-line-stepper > .ecim-event-flow-step.is-active,
.ecim-line-stepper > .ecim-event-flow-step.is-complete{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  justify-items:center!important;
  align-items:start!important;
  gap:10px!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  color:#0f172a!important;
  text-decoration:none!important;
  cursor:pointer!important;
  overflow:visible!important;
}
.ecim-line-stepper > .ecim-event-flow-step::before,
.ecim-line-stepper > .ecim-event-flow-step::after{
  content:none!important;
  display:none!important;
}
.ecim-event-builder .ecim-line-stepper .ecim-flow-label,
.ecim-event-lifecycle-form .ecim-line-stepper .ecim-flow-label,
.ecim-line-stepper .ecim-flow-label{
  display:block!important;
  order:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#0f172a!important;
  font-size:20px!important;
  line-height:1.15!important;
  font-weight:400!important;
  text-align:center!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.ecim-event-builder .ecim-line-stepper .ecim-flow-dot,
.ecim-event-lifecycle-form .ecim-line-stepper .ecim-flow-dot,
.ecim-line-stepper .ecim-flow-dot{
  display:block!important;
  order:1!important;
  width:31px!important;
  height:31px!important;
  min-width:31px!important;
  min-height:31px!important;
  margin:0!important;
  padding:0!important;
  border-radius:999px!important;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border:4px solid var(--ecim-step-blue)!important;
  box-shadow:0 0 0 5px #fff!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-decoration:none!important;
}
.ecim-event-builder .ecim-line-stepper > .ecim-event-flow-step.is-active .ecim-flow-dot,
.ecim-event-builder .ecim-line-stepper > .ecim-event-flow-step.is-complete .ecim-flow-dot,
.ecim-event-lifecycle-form .ecim-line-stepper > .ecim-event-flow-step.is-active .ecim-flow-dot,
.ecim-event-lifecycle-form .ecim-line-stepper > .ecim-event-flow-step.is-complete .ecim-flow-dot,
.ecim-line-stepper > .ecim-event-flow-step.is-active .ecim-flow-dot,
.ecim-line-stepper > .ecim-event-flow-step.is-complete .ecim-flow-dot{
  background:var(--ecim-step-blue)!important;
  background-color:var(--ecim-step-blue)!important;
  box-shadow:inset 0 0 0 6px #fff,0 0 0 5px #fff!important;
}
@media (max-width:760px){
  .ecim-line-stepper{padding:0 8px!important;margin-bottom:24px!important;}
  .ecim-line-stepper::before{left:calc(10% + 12px)!important;right:calc(10% + 12px)!important;top:36px!important;}
  .ecim-line-stepper .ecim-flow-label{font-size:12px!important;}
  .ecim-line-stepper .ecim-flow-dot{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;border-width:3px!important;box-shadow:0 0 0 4px #fff!important;}
  .ecim-line-stepper > .ecim-event-flow-step.is-active .ecim-flow-dot,
  .ecim-line-stepper > .ecim-event-flow-step.is-complete .ecim-flow-dot{box-shadow:inset 0 0 0 5px #fff,0 0 0 4px #fff!important;}
}

/* ECIM v1.2.45 — event editor stepper is no longer button/anchor based */
.ecim-event-builder .ecim-line-stepper.ecim-event-flow-tabs,
.ecim-event-lifecycle-form .ecim-line-stepper.ecim-event-flow-tabs,
.ecim-line-stepper.ecim-event-flow-tabs{
  --ecim-step-blue:#098cc9;
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  width:min(100%,1080px)!important;
  max-width:1080px!important;
  margin:18px auto 34px!important;
  padding:0 28px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.ecim-event-builder .ecim-line-stepper.ecim-event-flow-tabs::before,
.ecim-event-lifecycle-form .ecim-line-stepper.ecim-event-flow-tabs::before,
.ecim-line-stepper.ecim-event-flow-tabs::before{
  content:""!important;
  position:absolute!important;
  left:calc(10% + 28px)!important;
  right:calc(10% + 28px)!important;
  top:45px!important;
  height:3px!important;
  background:var(--ecim-step-blue)!important;
  z-index:0!important;
}
.ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step,
.ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step:hover,
.ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step:focus,
.ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step:active,
.ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step.is-active,
.ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step.is-complete{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  justify-items:center!important;
  align-items:start!important;
  gap:10px!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  color:#0f172a!important;
  text-decoration:none!important;
  cursor:pointer!important;
  overflow:visible!important;
}
.ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step:focus-visible .ecim-flow-dot{
  outline:3px solid rgba(9,140,201,.22)!important;
  outline-offset:4px!important;
}
.ecim-line-stepper.ecim-event-flow-tabs .ecim-flow-label{
  order:0!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#0f172a!important;
  font-size:20px!important;
  line-height:1.15!important;
  font-weight:400!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.ecim-line-stepper.ecim-event-flow-tabs .ecim-flow-dot{
  order:1!important;
  display:block!important;
  width:31px!important;
  height:31px!important;
  min-width:31px!important;
  min-height:31px!important;
  margin:0!important;
  padding:0!important;
  border-radius:999px!important;
  background:#fff!important;
  border:4px solid var(--ecim-step-blue)!important;
  box-shadow:0 0 0 5px #fff!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
}
.ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step.is-active .ecim-flow-dot,
.ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step.is-complete .ecim-flow-dot{
  background:var(--ecim-step-blue)!important;
  box-shadow:inset 0 0 0 6px #fff,0 0 0 5px #fff!important;
}
@media (max-width:760px){
  .ecim-line-stepper.ecim-event-flow-tabs{padding:0 8px!important;margin-bottom:24px!important;}
  .ecim-line-stepper.ecim-event-flow-tabs::before{left:calc(10% + 12px)!important;right:calc(10% + 12px)!important;top:36px!important;}
  .ecim-line-stepper.ecim-event-flow-tabs .ecim-flow-label{font-size:12px!important;}
  .ecim-line-stepper.ecim-event-flow-tabs .ecim-flow-dot{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;border-width:3px!important;box-shadow:0 0 0 4px #fff!important;}
  .ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step.is-active .ecim-flow-dot,
  .ecim-line-stepper.ecim-event-flow-tabs > .ecim-event-flow-step.is-complete .ecim-flow-dot{box-shadow:inset 0 0 0 5px #fff,0 0 0 4px #fff!important;}
}

/* ECIM v1.2.46 — event editor footer action layout + danger button */
.ecim-event-flow-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  padding:18px 0 0!important;
  border-top:0!important;
}
.ecim-event-flow-action-left,
.ecim-event-flow-action-right{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.ecim-event-flow-action-left{justify-content:flex-start!important;}
.ecim-event-flow-action-right{justify-content:flex-end!important;margin-left:auto!important;}
.ecim-event-flow-actions button{
  width:auto!important;
  min-width:128px!important;
  min-height:44px!important;
  padding:0 22px!important;
}
.ecim-event-flow-actions [data-action="event-flow-next"]{
  min-width:150px!important;
}
.ecim-danger-outline,
.ecim-event-flow-actions .ecim-danger-outline{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  background:#fff5f5!important;
  color:#dc2626!important;
  border:1px solid #ef4444!important;
  box-shadow:0 1px 2px rgba(220,38,38,.08)!important;
  font-weight:800!important;
}
.ecim-danger-outline:hover,
.ecim-danger-outline:focus{
  background:#dc2626!important;
  color:#fff!important;
  border-color:#b91c1c!important;
  box-shadow:0 8px 18px rgba(220,38,38,.18)!important;
}
.ecim-danger-outline i{font-size:14px!important;line-height:1!important;}
@media (max-width:760px){
  .ecim-event-flow-actions{flex-direction:column!important;align-items:stretch!important;}
  .ecim-event-flow-action-left,.ecim-event-flow-action-right{width:100%!important;justify-content:stretch!important;}
  .ecim-event-flow-actions button{width:100%!important;}
}

/* v1.2.47 — Event wizard ticket/coupon step */
.ecim-ticket-coupon-wizard-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.ecim-ticket-coupon-wizard-card{
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);
  padding:18px;
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.ecim-ticket-coupon-wizard-card strong{
  display:block;
  margin:.35rem 0 .55rem;
  font-size:28px;
  line-height:1;
  color:#0f172a;
}
.ecim-ticket-coupon-wizard-card button{
  align-self:flex-start;
}
@media (max-width:900px){
  .ecim-ticket-coupon-wizard-grid{grid-template-columns:1fr;}
}

/* ECIM v1.2.48 — six-step wizard line lock + embedded ticket manager */
.ecim-line-stepper.ecim-event-flow-tabs{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  width:100%!important;
  max-width:1180px!important;
  padding:0 20px!important;
}
.ecim-line-stepper.ecim-event-flow-tabs::before{
  left:calc(8.333% + 20px)!important;
  right:calc(8.333% + 20px)!important;
}
.ecim-line-stepper.ecim-event-flow-tabs .ecim-flow-label{
  font-size:16px!important;
  letter-spacing:-.01em!important;
}
@media (max-width:1100px){
  .ecim-line-stepper.ecim-event-flow-tabs .ecim-flow-label{font-size:13px!important;}
  .ecim-line-stepper.ecim-event-flow-tabs{padding:0 10px!important;}
  .ecim-line-stepper.ecim-event-flow-tabs::before{left:calc(8.333% + 10px)!important;right:calc(8.333% + 10px)!important;}
}
.ecim-wizard-ticket-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}
.ecim-wizard-ticket-summary > div{
  border:1px solid #dbe3eb;
  border-radius:14px;
  background:#f8fafc;
  padding:14px 16px;
}
.ecim-wizard-ticket-summary strong{
  display:block;
  margin-top:6px;
  font-size:22px;
  color:#0f172a;
}
.ecim-wizard-ticket-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:18px;
  align-items:start;
}
.ecim-wizard-ticket-list,
.ecim-wizard-ticket-form,
.ecim-wizard-coupon-placeholder{
  border:1px solid #dbe3eb;
  border-radius:16px;
  background:#fff;
  padding:18px;
}
.ecim-wizard-ticket-list h3,
.ecim-wizard-ticket-form h3{
  margin-top:0;
}
.ecim-wizard-ticket-card{
  box-shadow:none!important;
  margin-bottom:12px;
}
.ecim-wizard-coupon-placeholder{
  margin-top:18px;
  background:#fbfdff;
}
.ecim-inline-actions{
  display:flex;
  gap:10px;
  align-items:center;
}
@media (max-width:900px){
  .ecim-wizard-ticket-summary,
  .ecim-wizard-ticket-grid{grid-template-columns:1fr;}
}


/* ECIM v1.2.49 — isolated six-step event wizard stepper */
.ecim-event-builder .ecim-event-wizard-stepper,
.ecim-event-lifecycle-form .ecim-event-wizard-stepper,
.ecim-event-wizard-stepper{
  --ecim-wizard-blue:#098cc9;
  --ecim-wizard-text:#0f172a;
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-template-rows:auto!important;
  gap:0!important;
  width:100%!important;
  max-width:1180px!important;
  margin:18px auto 34px!important;
  padding:0 20px!important;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  white-space:normal!important;
  flex-wrap:nowrap!important;
}
.ecim-event-builder .ecim-event-wizard-stepper::before,
.ecim-event-lifecycle-form .ecim-event-wizard-stepper::before,
.ecim-event-wizard-stepper::before{
  content:""!important;
  position:absolute!important;
  left:calc(8.333% + 20px)!important;
  right:calc(8.333% + 20px)!important;
  top:44px!important;
  height:3px!important;
  background:var(--ecim-wizard-blue)!important;
  border:0!important;
  z-index:0!important;
}
.ecim-event-builder .ecim-event-wizard-stepper > .ecim-event-flow-step,
.ecim-event-lifecycle-form .ecim-event-wizard-stepper > .ecim-event-flow-step,
.ecim-event-wizard-stepper > .ecim-event-flow-step,
.ecim-event-wizard-stepper > .ecim-event-flow-step:hover,
.ecim-event-wizard-stepper > .ecim-event-flow-step:focus,
.ecim-event-wizard-stepper > .ecim-event-flow-step:active,
.ecim-event-wizard-stepper > .ecim-event-flow-step.is-active,
.ecim-event-wizard-stepper > .ecim-event-flow-step.is-complete{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  justify-items:center!important;
  align-items:start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  color:var(--ecim-wizard-text)!important;
  text-decoration:none!important;
  cursor:pointer!important;
  overflow:visible!important;
  transform:none!important;
}
.ecim-event-wizard-stepper > .ecim-event-flow-step::before,
.ecim-event-wizard-stepper > .ecim-event-flow-step::after{
  content:none!important;
  display:none!important;
}
.ecim-event-wizard-stepper .ecim-flow-label{
  order:0!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:var(--ecim-wizard-text)!important;
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:500!important;
  letter-spacing:-.01em!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-decoration:none!important;
}
.ecim-event-wizard-stepper .ecim-flow-dot{
  order:1!important;
  display:block!important;
  width:31px!important;
  height:31px!important;
  min-width:31px!important;
  min-height:31px!important;
  max-width:31px!important;
  max-height:31px!important;
  margin:0!important;
  padding:0!important;
  border-radius:999px!important;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border:4px solid var(--ecim-wizard-blue)!important;
  box-shadow:0 0 0 5px #fff!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-decoration:none!important;
}
.ecim-event-wizard-stepper > .ecim-event-flow-step.is-active .ecim-flow-dot,
.ecim-event-wizard-stepper > .ecim-event-flow-step.is-complete .ecim-flow-dot{
  background:var(--ecim-wizard-blue)!important;
  background-color:var(--ecim-wizard-blue)!important;
  box-shadow:inset 0 0 0 6px #fff,0 0 0 5px #fff!important;
}
.ecim-event-wizard-stepper > .ecim-event-flow-step:focus-visible .ecim-flow-dot{
  outline:3px solid rgba(9,140,201,.22)!important;
  outline-offset:4px!important;
}
@media (max-width:1100px){
  .ecim-event-wizard-stepper{padding:0 10px!important;margin-bottom:28px!important;}
  .ecim-event-wizard-stepper::before{left:calc(8.333% + 10px)!important;right:calc(8.333% + 10px)!important;top:41px!important;}
  .ecim-event-wizard-stepper .ecim-flow-label{font-size:12px!important;}
  .ecim-event-wizard-stepper .ecim-flow-dot{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;border-width:3px!important;box-shadow:0 0 0 4px #fff!important;}
  .ecim-event-wizard-stepper > .ecim-event-flow-step.is-active .ecim-flow-dot,
  .ecim-event-wizard-stepper > .ecim-event-flow-step.is-complete .ecim-flow-dot{box-shadow:inset 0 0 0 5px #fff,0 0 0 4px #fff!important;}
}

/* ECIM v1.2.50 — ticket wizard spacing + real requirements/help cleanup */
.ecim-wizard-ticket-summary{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.ecim-wizard-ticket-summary > div{
  padding:16px 18px!important;
}
.ecim-wizard-ticket-summary strong{
  font-size:20px!important;
  line-height:1.15!important;
}
.ecim-wizard-ticket-grid{
  grid-template-columns:1fr!important;
  gap:20px!important;
}
.ecim-wizard-ticket-list,
.ecim-wizard-ticket-form,
.ecim-wizard-coupon-placeholder{
  padding:22px!important;
}
.ecim-wizard-ticket-card{
  padding:16px!important;
}
.ecim-wizard-ticket-card .ecim-ticket-metrics{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.ecim-wizard-ticket-form .ecim-two-col{
  grid-template-columns:repeat(2,minmax(220px,1fr));
}
.ecim-no-required-fields,
.ecim-help-note{
  margin:10px 0 0!important;
}
.ecim-step-required-item span:empty{
  background:#d7dee7;
  border-radius:999px;
  width:18px;
  height:18px;
  display:inline-block;
}
@media (max-width:1100px){
  .ecim-wizard-ticket-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ecim-wizard-ticket-card .ecim-ticket-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
  .ecim-wizard-ticket-summary,
  .ecim-wizard-ticket-form .ecim-two-col,
  .ecim-wizard-ticket-card .ecim-ticket-metrics{grid-template-columns:1fr!important;}
}

/* ECIM v1.2.57 — single operational actions dropdown */
body.ecim-portal-body .ecim-main .ecim-dashboard-action-menu {
  position: relative;
  margin-top: 14px;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-root {
  width: 100% !important;
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-radius: 14px !important;
  background: var(--ecim-tiac-deep-blue, #262E38) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(38, 46, 56, .14) !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-root span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-panel {
  display: none;
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid rgba(38, 46, 56, .12);
  border-radius: 16px;
  box-shadow: 0 18px 42px rgba(38, 46, 56, .16);
  padding: 8px;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-menu:hover .ecim-dashboard-action-panel,
body.ecim-portal-body .ecim-main .ecim-dashboard-action-menu:focus-within .ecim-dashboard-action-panel {
  display: block;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-item {
  position: relative;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-trigger {
  width: 100% !important;
  min-height: 54px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 10px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  text-align: left !important;
  box-shadow: none !important;
  transition: background-color .16s ease, padding-left .16s ease, color .16s ease;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-item:hover .ecim-dashboard-action-trigger,
body.ecim-portal-body .ecim-main .ecim-dashboard-action-trigger:focus {
  background: rgba(9, 140, 201, .08) !important;
  padding-left: 14px !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--ecim-tiac-east, #098CC9);
  background: rgba(9, 140, 201, .10);
  flex: 0 0 auto;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-text strong {
  display: block;
  color: var(--ecim-tiac-deep-blue, #262E38);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.15;
  margin-bottom: 3px;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-text small {
  display: block;
  color: var(--ecim-v2-muted, #697889);
  font-size: 12px;
  line-height: 1.25;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-chevron {
  color: rgba(105, 120, 137, .75);
  font-size: 11px;
  transition: transform .16s ease, color .16s ease;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-item:hover .ecim-dashboard-action-chevron {
  color: var(--ecim-tiac-east, #098CC9);
  transform: translateX(2px);
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-events {
  display: none;
  position: absolute;
  top: 0;
  left: calc(100% + 8px);
  min-width: 260px;
  max-width: 360px;
  max-height: 280px;
  overflow: auto;
  background: #fff;
  border: 1px solid rgba(38, 46, 56, .12);
  border-radius: 14px;
  box-shadow: 0 18px 42px rgba(38, 46, 56, .16);
  padding: 7px;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-item:hover .ecim-dashboard-action-events,
body.ecim-portal-body .ecim-main .ecim-dashboard-action-item:focus-within .ecim-dashboard-action-events {
  display: grid;
  gap: 4px;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-event {
  width: 100% !important;
  display: block !important;
  padding: 10px 11px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  text-align: left !important;
  box-shadow: none !important;
  transition: background-color .16s ease, padding-left .16s ease;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-event:hover,
body.ecim-portal-body .ecim-main .ecim-dashboard-action-event:focus {
  background: rgba(9, 140, 201, .08) !important;
  padding-left: 15px !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-event span {
  display: block;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-event small {
  display: block;
  margin-top: 2px;
  font-size: 11.5px;
  color: var(--ecim-v2-muted, #697889);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-action-empty {
  padding: 12px;
  color: var(--ecim-v2-muted, #697889);
  font-size: 13px;
}
@media (max-width: 1180px) {
  body.ecim-portal-body .ecim-main .ecim-dashboard-action-events {
    position: static;
    min-width: 0;
    max-width: none;
    margin: 4px 0 8px 44px;
    box-shadow: none;
  }
}


/* ECIM v1.2.53 — Attendee operational workspace refinement */
.ecim-attendee-table th,
.ecim-attendee-table td {
  padding: 11px 12px;
}

.ecim-attendee-row.is-highlighted td:first-child {
  border-left: 4px solid var(--ecim-primary, #2563eb);
}

.ecim-attendee-row.is-checked-in {
  background: #fbfefc;
}

.ecim-attendee-cell-main {
  display: grid;
  gap: 3px;
  min-width: 170px;
}

.ecim-attendee-cell-main strong {
  font-size: 14px;
  color: #0f172a;
}

.ecim-attendee-cell-main span {
  font-size: 12px;
  color: #64748b;
}

.ecim-attendee-pill-stack,
.ecim-attendee-status-stack {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}

.ecim-role-pill,
.ecim-flag-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
  background: #e2e8f0;
  color: #334155;
  white-space: nowrap;
}

.ecim-role-vip,
.ecim-flag-priority {
  background: #fef3c7;
  color: #92400e;
}

.ecim-role-media,
.ecim-flag-info {
  background: #dbeafe;
  color: #1e40af;
}

.ecim-role-sponsor,
.ecim-flag-sponsor {
  background: #ede9fe;
  color: #5b21b6;
}

.ecim-role-staff,
.ecim-flag-staff {
  background: #e0f2fe;
  color: #075985;
}

.ecim-flag-warn {
  background: #fef3c7;
  color: #92400e;
}

.ecim-flag-danger {
  background: #fee2e2;
  color: #991b1b;
}

.ecim-attendee-row-actions {
  min-width: 260px;
}

.ecim-attendee-row-actions .ecim-row-action {
  padding: 7px 10px;
  font-size: 12px;
}

.ecim-attendee-tabbar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 18px 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e2e8f0;
}

.ecim-attendee-tabbar button {
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  padding: 8px 12px;
  font-weight: 800;
  cursor: pointer;
}

.ecim-attendee-tabbar button.active {
  background: var(--ecim-primary, #2563eb);
  border-color: var(--ecim-primary, #2563eb);
  color: #fff;
}

.ecim-attendee-tab-panel {
  display: none;
}

.ecim-attendee-tab-panel.is-active {
  display: block;
}

.ecim-attendee-grid {
  display: block;
}

.ecim-attendee-tab-panel .ecim-info-row {
  min-height: 38px;
}

@media (max-width: 980px) {
  .ecim-attendee-table {
    display: block;
    overflow-x: auto;
  }
  .ecim-attendee-row-actions {
    min-width: 220px;
  }
}

/* v1.2.54 attendee tag selector + calendar soft refresh */
.ecim-tag-picker{display:flex;flex-wrap:wrap;gap:.4rem;margin:.15rem 0 .2rem}
.ecim-tag-choice{border:1px solid rgba(15,23,42,.14);background:#fff;color:#334155;border-radius:999px;padding:.32rem .58rem;font-size:.78rem;font-weight:800;line-height:1.1;box-shadow:none}
.ecim-tag-choice:hover{border-color:rgba(9,140,201,.38);color:#075985;background:#f8fbfd}
.ecim-tag-choice.is-selected{background:#075985;color:#fff;border-color:#075985}
.ecim-tag-choice.is-selected:hover{background:#064e73;color:#fff}
.ecim-tag-panel .ecim-muted{font-size:.78rem}

/* v1.2.55 badge variable reference */
.ecim-variable-reference {
  margin: 10px 0 14px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(248, 250, 252, 0.82);
}
.ecim-variable-reference summary {
  cursor: pointer;
  font-weight: 700;
  color: #334155;
}
.ecim-variable-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.ecim-variable-token {
  border: 1px solid rgba(37, 99, 235, 0.22);
  background: #fff;
  color: #1e3a8a;
  border-radius: 999px;
  padding: 4px 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  line-height: 1.2;
}
.ecim-variable-token:hover,
.ecim-variable-token:focus {
  background: #eff6ff;
  border-color: rgba(37, 99, 235, 0.42);
}

/* v1.2.56 attendee notes + activity workspace */
.ecim-note-composer{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:14px;margin-bottom:14px}
.ecim-note-history,.ecim-activity-timeline{margin-top:14px;border-top:1px solid #e2e8f0;padding-top:12px}
.ecim-note-history h5,.ecim-activity-timeline h5{margin:0 0 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.ecim-note-history-item,.ecim-activity-item{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:11px 12px;margin-bottom:9px}
.ecim-note-history-item p{margin:0 0 6px;color:#0f172a;white-space:pre-wrap}
.ecim-note-history-item small{color:#64748b;font-weight:700}
.ecim-activity-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ecim-activity-item strong{display:block;color:#0f172a;font-size:.9rem}
.ecim-activity-item span{display:block;color:#64748b;font-size:.82rem;margin-top:2px}
.ecim-activity-item time{color:#64748b;font-size:.78rem;white-space:nowrap;font-weight:700}
.ecim-activity-summary{margin-bottom:6px}

/* ECIM v1.2.58 — shared event selector quick actions */
body.ecim-portal-body .ecim-main .ecim-dashboard-shared-event-label {
  display: block;
  margin: 14px 0 6px;
  color: var(--ecim-v2-muted, #697889);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.ecim-portal-body .ecim-main select.ecim-dashboard-shared-event {
  width: 100% !important;
  min-height: 42px !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 13px !important;
  box-shadow: 0 8px 18px rgba(38, 46, 56, .05) !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-tools-shared {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-button {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 13px 14px !important;
  border: 1px solid rgba(38, 46, 56, .10) !important;
  border-radius: 15px !important;
  background: #fff !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  text-align: left !important;
  box-shadow: 0 8px 20px rgba(38, 46, 56, .045) !important;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-button:hover,
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-button:focus {
  background: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .22) !important;
  transform: translateX(2px);
  box-shadow: 0 10px 24px rgba(38, 46, 56, .07) !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-button:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-button .ecim-dashboard-tool-head {
  display: flex;
  align-items: center;
  gap: 11px;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-button .ecim-dashboard-tool-head span:last-child {
  display: grid;
  gap: 3px;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-button .ecim-dashboard-tool-card-arrow {
  color: rgba(105, 120, 137, .75);
  font-size: 11px;
  transition: transform .16s ease, color .16s ease;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-button:hover .ecim-dashboard-tool-card-arrow,
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-button:focus .ecim-dashboard-tool-card-arrow {
  color: var(--ecim-tiac-east, #098CC9);
  transform: translateX(2px);
}

/* ECIM v1.2.59 — protect Dashboard Quick Actions from global theme/link styles */
body.ecim-portal-body .ecim-main .ecim-dashboard-tools-shared {
  display: grid !important;
  gap: 14px !important;
  margin-top: 12px !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button,
body.ecim-portal-body .ecim-main .ecim-dashboard-tool-card.ecim-dashboard-tool-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid rgba(38, 46, 56, .12) !important;
  border-left: 4px solid rgba(9, 140, 201, .70) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  cursor: pointer !important;
  outline: none !important;
  transform: none;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:hover,
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:focus,
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:active {
  background: #fff !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  text-decoration: none !important;
  border-color: rgba(9, 140, 201, .24) !important;
  border-left-color: rgba(9, 140, 201, .88) !important;
  box-shadow: 0 10px 24px rgba(38, 46, 56, .07) !important;
  transform: translateX(2px) !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:focus-visible {
  outline: 2px solid rgba(9, 140, 201, .24) !important;
  outline-offset: 2px !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button .ecim-dashboard-tool-head {
  display: flex !important;
  align-items: flex-start !important;
  gap: 11px !important;
  min-width: 0 !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button .ecim-dashboard-tool-head > span:last-child {
  display: block !important;
  min-width: 0 !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button strong {
  display: block !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 0 3px !important;
  text-decoration: none !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button small {
  display: block !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 12.5px !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button i,
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button span {
  text-decoration: none !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button .ecim-dashboard-tool-card-arrow {
  color: rgba(105, 120, 137, .72) !important;
  font-size: 11px !important;
  transition: transform .16s ease, color .16s ease !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:hover .ecim-dashboard-tool-card-arrow,
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:focus .ecim-dashboard-tool-card-arrow {
  color: var(--ecim-tiac-east, #098CC9) !important;
  transform: translateX(2px) !important;
}


/* ECIM v1.2.60 — restore v1.2.43 Quick Actions visual style with shared event selector behaviour */
body.ecim-portal-body .ecim-main .ecim-dashboard-tools-shared {
  display: grid !important;
  gap: 12px !important;
  margin-top: 12px !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 14px 16px !important;
  text-align: left !important;
  background: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .72) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  text-shadow: none !important;
  filter: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  outline: none !important;
  transform: none !important;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease, outline-color .16s ease !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button .ecim-dashboard-tool-head {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: start !important;
  gap: 10px !important;
  min-width: 0 !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button .ecim-dashboard-tool-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  margin-top: 1px !important;
  color: rgba(9, 140, 201, .82) !important;
  background: rgba(9, 140, 201, .08) !important;
  border-radius: 999px !important;
  font-size: 12px !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button strong {
  display: block !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  margin: 0 0 4px !important;
  text-decoration: none !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button small {
  display: block !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button .ecim-dashboard-tool-card-arrow {
  color: rgba(105, 120, 137, .72) !important;
  font-size: 11px !important;
  transition: transform .16s ease, color .16s ease !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:hover,
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:focus-visible {
  background: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .10) !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 2px !important;
  transform: none !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:hover strong,
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:focus-visible strong {
  color: var(--ecim-tiac-east, #098CC9) !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:hover .ecim-dashboard-tool-card-arrow,
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:focus-visible .ecim-dashboard-tool-card-arrow {
  color: var(--ecim-tiac-east, #098CC9) !important;
  transform: translateX(2px) !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:active {
  background: rgba(9, 140, 201, .10) !important;
  transform: translateY(1px) !important;
}
body.ecim-portal-body .ecim-main button.ecim-dashboard-tool-card.ecim-dashboard-tool-button:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
}


/* ECIM v1.2.61 — hard isolate dashboard quick-action cards from global primary button/link rules */
body.ecim-portal-body .ecim-main .ecim-dashboard-aside .ecim-dashboard-tools-shared > button[type="button"].ecim-dashboard-tool-card.ecim-dashboard-tool-button.ecim-quick-action {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .72) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-aside .ecim-dashboard-tools-shared > button[type="button"].ecim-dashboard-tool-card.ecim-dashboard-tool-button.ecim-quick-action:hover,
body.ecim-portal-body .ecim-main .ecim-dashboard-aside .ecim-dashboard-tools-shared > button[type="button"].ecim-dashboard-tool-card.ecim-dashboard-tool-button.ecim-quick-action:focus,
body.ecim-portal-body .ecim-main .ecim-dashboard-aside .ecim-dashboard-tools-shared > button[type="button"].ecim-dashboard-tool-card.ecim-dashboard-tool-button.ecim-quick-action:focus-visible {
  background-color: rgba(9, 140, 201, .055) !important;
  background-image: none !important;
  border-color: rgba(9, 140, 201, .58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .10) !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 2px !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-aside .ecim-dashboard-tools-shared > button[type="button"].ecim-dashboard-tool-card.ecim-dashboard-tool-button.ecim-quick-action strong {
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
}
body.ecim-portal-body .ecim-main .ecim-dashboard-aside .ecim-dashboard-tools-shared > button[type="button"].ecim-dashboard-tool-card.ecim-dashboard-tool-button.ecim-quick-action small {
  color: var(--ecim-v2-muted, #697889) !important;
}

/* ECIM v1.2.62 — attendee intelligence filters and tag save feedback */
.ecim-attendee-filterbar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 10px 0 14px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.82);
}

.ecim-attendee-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  color: #334155;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.1;
  cursor: pointer;
  transition: background-color .14s ease, border-color .14s ease, transform .14s ease, color .14s ease;
}

.ecim-attendee-filter:hover,
.ecim-attendee-filter:focus-visible {
  background: #f8fbfd;
  border-color: rgba(9, 140, 201, 0.36);
  color: #075985;
  transform: translateY(-1px);
}

.ecim-attendee-filter.is-active {
  background: #0f172a;
  border-color: #0f172a;
  color: #fff;
}

.ecim-attendee-filter span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.08);
  color: inherit;
  font-size: 11px;
}

.ecim-attendee-filter.is-active span {
  background: rgba(255, 255, 255, 0.18);
}

.ecim-tag-save-state {
  display: inline-flex;
  margin-left: 4px;
  font-weight: 800;
  color: #64748b;
  transition: color .14s ease;
}

.ecim-tag-save-state.is-saved {
  color: #166534;
}

/* v1.2.63 Communications Workspace */
.ecim-communications-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(280px, 0.9fr);
  gap: 18px;
  align-items: start;
}

.ecim-communications-segments {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.ecim-comm-segment {
  appearance: none;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: #fff;
  border-radius: 14px;
  padding: 12px 13px;
  text-align: left;
  color: #0f172a;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.ecim-comm-segment:hover,
.ecim-comm-segment:focus-visible {
  border-color: rgba(9, 140, 201, 0.34);
  background: rgba(9, 140, 201, 0.035);
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
}

.ecim-comm-segment.is-active {
  border-color: rgba(9, 140, 201, 0.55);
  background: rgba(9, 140, 201, 0.07);
}

.ecim-comm-segment span,
.ecim-comm-segment strong,
.ecim-comm-segment small {
  display: block;
}

.ecim-comm-segment span {
  font-size: 13px;
  font-weight: 700;
}

.ecim-comm-segment strong {
  margin-top: 5px;
  font-size: 24px;
  line-height: 1;
}

.ecim-comm-segment small {
  margin-top: 5px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.35;
}

.ecim-comm-recipient-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin: 14px 0 8px;
}

.ecim-communications-table td:first-child strong,
.ecim-communications-table td:first-child span {
  display: block;
}

.ecim-communications-table td:first-child span {
  color: #64748b;
  font-size: 12px;
  margin-top: 2px;
}

.ecim-comm-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
}

.ecim-comm-roadmap {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.ecim-comm-roadmap h4 {
  margin: 0 0 10px;
  font-size: 14px;
}

.ecim-comm-roadmap button {
  width: 100%;
  justify-content: flex-start;
  margin-bottom: 8px;
}

.ecim-comm-roadmap button:disabled {
  opacity: .58;
  cursor: not-allowed;
}

@media (max-width: 980px) {
  .ecim-communications-grid {
    grid-template-columns: 1fr;
  }
}


/* v1.2.64 Communications segment card isolation
   Keep recipient targeting segment controls out of the global portal button/link rules. */
body.ecim-portal-body .ecim-main .ecim-communications-segments button.ecim-comm-segment,
body.ecim-portal-body .ecim-main button.ecim-comm-segment,
.ecim-communications-segments button.ecim-comm-segment {
  appearance: none !important;
  border: 1px solid rgba(15, 23, 42, 0.1) !important;
  background: #FFFFFF !important;
  background-image: none !important;
  color: #0f172a !important;
  text-align: left !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
  border-radius: 14px !important;
  padding: 12px 13px !important;
  cursor: pointer !important;
}

body.ecim-portal-body .ecim-main .ecim-communications-segments button.ecim-comm-segment:hover,
body.ecim-portal-body .ecim-main .ecim-communications-segments button.ecim-comm-segment:focus-visible,
body.ecim-portal-body .ecim-main button.ecim-comm-segment:hover,
body.ecim-portal-body .ecim-main button.ecim-comm-segment:focus-visible,
.ecim-communications-segments button.ecim-comm-segment:hover,
.ecim-communications-segments button.ecim-comm-segment:focus-visible {
  border-color: rgba(9, 140, 201, 0.34) !important;
  background: rgba(9, 140, 201, 0.035) !important;
  color: #0f172a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07) !important;
  outline: none !important;
}

body.ecim-portal-body .ecim-main .ecim-communications-segments button.ecim-comm-segment.is-active,
body.ecim-portal-body .ecim-main button.ecim-comm-segment.is-active,
.ecim-communications-segments button.ecim-comm-segment.is-active {
  border-color: rgba(9, 140, 201, 0.55) !important;
  background: rgba(9, 140, 201, 0.07) !important;
  color: #0f172a !important;
}

body.ecim-portal-body .ecim-main .ecim-communications-segments button.ecim-comm-segment span,
body.ecim-portal-body .ecim-main .ecim-communications-segments button.ecim-comm-segment strong,
body.ecim-portal-body .ecim-main .ecim-communications-segments button.ecim-comm-segment small,
.ecim-communications-segments button.ecim-comm-segment span,
.ecim-communications-segments button.ecim-comm-segment strong,
.ecim-communications-segments button.ecim-comm-segment small {
  color: inherit !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

body.ecim-portal-body .ecim-main .ecim-communications-segments button.ecim-comm-segment small,
.ecim-communications-segments button.ecim-comm-segment small {
  color: #64748b !important;
}

/* ECIM v1.2.65 — communications segment cards are not links or buttons.
   This intentionally avoids both global anchor CSS and broad .ecim-card button rules. */
.ecim-communications-segments .ecim-comm-segment-card,
body.ecim-portal-body .ecim-main .ecim-communications-segments .ecim-comm-segment-card,
body.ecim-portal-body .ecim-main .ecim-card .ecim-communications-segments .ecim-comm-segment-card {
  display: block !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid rgba(15, 23, 42, 0.11) !important;
  border-left: 3px solid transparent !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #0f172a !important;
  border-radius: 14px !important;
  padding: 12px 13px !important;
  text-align: left !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
  cursor: pointer !important;
  transition: border-color .18s ease, border-left-color .18s ease, transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

.ecim-communications-segments .ecim-comm-segment-card:hover,
.ecim-communications-segments .ecim-comm-segment-card:focus,
.ecim-communications-segments .ecim-comm-segment-card:focus-visible,
body.ecim-portal-body .ecim-main .ecim-communications-segments .ecim-comm-segment-card:hover,
body.ecim-portal-body .ecim-main .ecim-communications-segments .ecim-comm-segment-card:focus-visible {
  background: #f8fbfd !important;
  background-color: #f8fbfd !important;
  background-image: none !important;
  border-color: rgba(9, 140, 201, 0.30) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  color: #0f172a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07) !important;
  outline: none !important;
}

.ecim-communications-segments .ecim-comm-segment-card.is-active,
body.ecim-portal-body .ecim-main .ecim-communications-segments .ecim-comm-segment-card.is-active {
  background: #f8fbfd !important;
  background-color: #f8fbfd !important;
  background-image: none !important;
  border-color: rgba(9, 140, 201, 0.34) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  color: #0f172a !important;
}

.ecim-communications-segments .ecim-comm-segment-card span,
.ecim-communications-segments .ecim-comm-segment-card strong,
.ecim-communications-segments .ecim-comm-segment-card small {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

.ecim-communications-segments .ecim-comm-segment-card span {
  font-size: 13px !important;
  font-weight: 800 !important;
}

.ecim-communications-segments .ecim-comm-segment-card strong {
  margin-top: 5px !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: #0f172a !important;
}

.ecim-communications-segments .ecim-comm-segment-card small {
  margin-top: 5px !important;
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}


/* ECIM v1.2.66 — Communications segment controls must not inherit global link/button CTA styling.
   The rendered controls are div.ecim-comm-segment-card, not <a> or <button>. */
body.ecim-portal-body .ecim-app .ecim-communications-segments .ecim-comm-segment-card {
  display: block !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #0f172a !important;
  border-radius: 14px !important;
  padding: 12px 13px !important;
  text-align: left !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

body.ecim-portal-body .ecim-app .ecim-communications-segments .ecim-comm-segment-card:hover,
body.ecim-portal-body .ecim-app .ecim-communications-segments .ecim-comm-segment-card:focus,
body.ecim-portal-body .ecim-app .ecim-communications-segments .ecim-comm-segment-card:focus-visible {
  border-color: rgba(9, 140, 201, 0.34) !important;
  background: rgba(9, 140, 201, 0.035) !important;
  background-color: rgba(9, 140, 201, 0.035) !important;
  color: #0f172a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07) !important;
  outline: none !important;
}

body.ecim-portal-body .ecim-app .ecim-communications-segments .ecim-comm-segment-card.is-active {
  border-color: rgba(9, 140, 201, 0.55) !important;
  background: rgba(9, 140, 201, 0.07) !important;
  background-color: rgba(9, 140, 201, 0.07) !important;
  color: #0f172a !important;
}

body.ecim-portal-body .ecim-app .ecim-communications-segments .ecim-comm-segment-card span,
body.ecim-portal-body .ecim-app .ecim-communications-segments .ecim-comm-segment-card strong,
body.ecim-portal-body .ecim-app .ecim-communications-segments .ecim-comm-segment-card small {
  display: block !important;
  color: inherit !important;
}

body.ecim-portal-body .ecim-app .ecim-communications-segments .ecim-comm-segment-card small {
  color: #64748b !important;
}

/* v1.2.68: multi-day events should read as spanning across the month calendar. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-span-start {
  margin-right: -9px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right-color: rgba(9, 140, 201, 0.18) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-span-middle {
  margin-left: -9px !important;
  margin-right: -9px !important;
  border-radius: 0 !important;
  border-left-color: rgba(9, 140, 201, 0.18) !important;
  border-right-color: rgba(9, 140, 201, 0.18) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid .ecim-calendar-cell-events button.ecim-calendar-month-event.ecim-calendar-span-end {
  margin-left: -9px !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-left-color: rgba(9, 140, 201, 0.18) !important;
}

/* v1.2.69: Outlook/Gmail-style calendar span bars. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid {
  display: block !important;
  border-left: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-top: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 0 0 14px 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week {
  position: relative !important;
  min-height: 126px !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12) !important;
  background: #ffffff !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week:last-child {
  border-bottom: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-cells,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-cells {
  min-height: 126px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week .ecim-calendar-cell {
  min-height: 126px !important;
  padding: 9px !important;
  border-right: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-bottom: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week .ecim-calendar-cell:last-child {
  border-right: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 38px !important;
  z-index: 3 !important;
  gap: 4px 0 !important;
  padding: 0 6px !important;
  pointer-events: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar {
  pointer-events: auto !important;
  min-width: 0 !important;
  min-height: 28px !important;
  margin: 0 2px 5px 2px !important;
  padding: 5px 8px !important;
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1px solid rgba(9, 140, 201, 0.35) !important;
  border-radius: 8px !important;
  background: #f8fcff !important;
  color: #172033 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  text-align: left !important;
  transform: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar.ecim-calendar-bar-multiday {
  background: #eef8fd !important;
  border-color: rgba(9, 140, 201, 0.42) !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar.is-continuing-before {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  margin-left: -6px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar.is-continuing-after {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  margin-right: -6px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar:focus-visible {
  background: #e6f5fc !important;
  border-color: rgba(9, 140, 201, 0.72) !important;
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.08) !important;
  color: #172033 !important;
  outline: none !important;
}


/* v1.2.70: force month calendar to use true week-row span bars, not per-cell duplicate chips. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid {
  display: block !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week {
  display: block !important;
  position: relative !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-cells {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  position: absolute !important;
  top: 38px !important;
  left: 0 !important;
  right: 0 !important;
  padding: 0 4px !important;
  gap: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar {
  width: auto !important;
  max-width: none !important;
  pointer-events: auto !important;
  position: relative !important;
  margin: 0 2px 5px 2px !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar.ecim-calendar-bar-multiday {
  border-radius: 8px !important;
  background: #eef8fd !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar.is-continuing-before {
  margin-left: -4px !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-week-bars .ecim-calendar-span-bar.is-continuing-after {
  margin-right: -4px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* v1.2.71: true Outlook-style month calendar row span bars.
   Uses isolated div components so old per-cell calendar chip/button CSS cannot split multi-day events. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid {
  display: block !important;
  border-left: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-top: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 0 0 14px 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-week {
  display: block !important;
  position: relative !important;
  min-height: 128px !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12) !important;
  background: #ffffff !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-week:last-child {
  border-bottom: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-week-cells {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  min-height: 128px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-cell {
  min-height: 128px !important;
  padding: 9px !important;
  border-right: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-cell:last-child {
  border-right: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-week-bars {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 38px !important;
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  grid-auto-rows: 30px !important;
  gap: 5px 0 !important;
  padding: 0 6px !important;
  z-index: 5 !important;
  pointer-events: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-row-span-event {
  pointer-events: auto !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  height: 28px !important;
  margin: 0 2px !important;
  padding: 5px 8px !important;
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1px solid rgba(9, 140, 201, 0.38) !important;
  border-radius: 8px !important;
  background: #f8fcff !important;
  color: #172033 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  text-align: left !important;
  cursor: pointer !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-row-span-event.ecim-calendar-bar-multiday {
  background: #eef8fd !important;
  border-color: rgba(9, 140, 201, 0.48) !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-row-span-event.is-continuing-before {
  margin-left: -6px !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-row-span-event.is-continuing-after {
  margin-right: -6px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-row-span-event:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-grid.ecim-calendar-span-grid .ecim-calendar-row-span-event:focus-visible {
  background: #e6f5fc !important;
  border-color: rgba(9, 140, 201, 0.72) !important;
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.08) !important;
  outline: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-row-span-event .ecim-calendar-event-title,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-row-span-event .ecim-calendar-event-time {
  min-width: 0 !important;
  color: #172033 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-calendar-row-span-event .ecim-calendar-event-time {
  color: #52627a !important;
  font-size: 12px !important;
}

/* v1.2.72: fully isolated month calendar board.
   This avoids the older .ecim-calendar-grid layout that was transposing weeks into columns. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-board {
  display: block !important;
  width: 100% !important;
  border-left: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-top: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 0 0 14px 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-week {
  display: block !important;
  position: relative !important;
  min-height: 128px !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12) !important;
  background: #ffffff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-week:last-child {
  border-bottom: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-week-cells {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  min-height: 128px !important;
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-cell {
  display: block !important;
  min-height: 128px !important;
  padding: 9px !important;
  border-right: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-bottom: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-cell:last-child {
  border-right: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-date {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  height: 22px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #172033 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-cell.is-outside-month .ecim-month-date {
  color: #94a3b8 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-cell.is-today {
  background: rgba(9, 140, 201, 0.08) !important;
  box-shadow: inset 0 0 0 2px rgba(9, 140, 201, 0.28) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-cell.is-today .ecim-month-date {
  color: #ffffff !important;
  background: #098cc9 !important;
  border-radius: 999px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-week-bars {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 38px !important;
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  grid-auto-rows: 30px !important;
  gap: 5px 0 !important;
  padding: 0 6px !important;
  z-index: 8 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event {
  pointer-events: auto !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  height: 28px !important;
  margin: 0 2px !important;
  padding: 5px 8px !important;
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1px solid rgba(9, 140, 201, 0.38) !important;
  border-radius: 8px !important;
  background: #f8fcff !important;
  color: #172033 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  text-align: left !important;
  cursor: pointer !important;
  text-decoration: none !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event.ecim-calendar-bar-multiday {
  background: #eef8fd !important;
  border-color: rgba(9, 140, 201, 0.48) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event.is-continuing-before {
  margin-left: -6px !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event.is-continuing-after {
  margin-right: -6px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event:focus-visible {
  background: #e6f5fc !important;
  border-color: rgba(9, 140, 201, 0.72) !important;
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.08) !important;
  outline: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event .ecim-calendar-event-title,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event .ecim-calendar-event-time {
  min-width: 0 !important;
  color: #172033 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event .ecim-calendar-event-time {
  color: #52627a !important;
  font-size: 12px !important;
}


/* v1.2.76 — soft event type colour outlines for calendar bars */
.ecim-event-type-colour-settings { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(15, 23, 42, 0.08); }
.ecim-event-type-colour-grid { display: grid; gap: 10px; margin-top: 10px; }
.ecim-event-type-colour-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 12px; border: 1px solid rgba(15, 23, 42, 0.10); border-radius: 12px; background: #fff; }
.ecim-event-type-colour-row span { font-weight: 700; color: #172033; }
.ecim-event-type-colour-row input[type="color"] { width: 44px; height: 32px; padding: 2px; border: 1px solid rgba(15, 23, 42, 0.18); border-radius: 8px; background: #fff; cursor: pointer; }
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event {
  border-style: solid !important;
  background: var(--ecim-event-type-bg, rgba(9, 140, 201, 0.12)) !important;
  border-color: var(--ecim-event-type-border, rgba(9, 140, 201, 0.55)) !important;
  color: #172033 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event .ecim-calendar-event-title,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event .ecim-calendar-event-time { color: inherit !important; }
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-events-calendar-month .ecim-month-span-event:focus {
  background: color-mix(in srgb, var(--ecim-event-type-color, #098cc9) 18%, #ffffff) !important;
  border-color: var(--ecim-event-type-color, #098cc9) !important;
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.08) !important;
  transform: translateY(-1px);
}

/* v1.2.77 — dedicated event type colour settings card with HEX-first controls */
.ecim-event-type-colour-card { grid-column: span 1; }
.ecim-event-type-colour-card .ecim-event-type-colour-grid {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.ecim-event-type-colour-card .ecim-event-type-colour-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0;
  background: transparent;
}
.ecim-event-type-colour-card .ecim-event-type-colour-row:last-child { border-bottom: 0; }
.ecim-event-type-colour-card .ecim-event-type-colour-row strong {
  display: block;
  font-weight: 800;
  color: #172033;
  line-height: 1.2;
}
.ecim-event-type-colour-card .ecim-event-type-colour-row small {
  display: block;
  margin-top: 3px;
  color: #617089;
  font-size: 12px;
}
.ecim-event-type-colour-control {
  display: inline-grid;
  grid-template-columns: 92px 28px;
  align-items: center;
  gap: 8px;
}
.ecim-event-type-colour-hex {
  width: 92px;
  height: 34px;
  padding: 6px 9px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: #fff;
  color: #172033;
  font: 700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  text-transform: uppercase;
  box-shadow: none;
}
.ecim-event-type-colour-hex:focus {
  border-color: rgba(9, 140, 201, 0.65);
  outline: 3px solid rgba(9, 140, 201, 0.12);
}
.ecim-event-type-colour-swatch {
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  overflow: hidden;
}
.ecim-event-type-colour-swatch::-webkit-color-swatch-wrapper { padding: 0; }
.ecim-event-type-colour-swatch::-webkit-color-swatch { border: 1px solid rgba(15, 23, 42, 0.14); border-radius: 999px; }
.ecim-event-type-colour-swatch::-moz-color-swatch { border: 1px solid rgba(15, 23, 42, 0.14); border-radius: 999px; }
@media (max-width: 720px) {
  .ecim-event-type-colour-card .ecim-event-type-colour-row { grid-template-columns: 1fr; gap: 8px; }
  .ecim-event-type-colour-control { justify-self: start; }
}

/* v1.2.79 — tag library controls */
.ecim-global-tag-card,
.ecim-event-tag-card {
  grid-column: span 1;
}
.ecim-tag-settings-editor {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.ecim-tag-setting-rows {
  display: grid;
  gap: 8px;
}
.ecim-tag-setting-row,
.ecim-tag-setting-add {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.ecim-tag-setting-row:last-child { border-bottom: 0; }
.ecim-tag-setting-label,
.ecim-tag-setting-new {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  color: #172033;
  font-weight: 650;
}
.ecim-tag-setting-segment,
.ecim-tag-setting-add label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  color: #52627a;
  font-size: 12px;
  font-weight: 700;
}
.ecim-tag-setting-add {
  margin-top: 2px;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  border-bottom: 0;
}
.ecim-tag-empty { margin: 0; }
@media (max-width: 820px) {
  .ecim-tag-setting-row,
  .ecim-tag-setting-add { grid-template-columns: 1fr; align-items: stretch; }
  .ecim-tag-setting-segment,
  .ecim-tag-setting-add label { white-space: normal; }
}


/* v1.2.84 — shared settings sub-navigation; isolated from global button/link CSS */
.ecim-hidden { display: none !important; }
.ecim-settings-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  padding: 6px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
}
.ecim-settings-subnav .ecim-settings-tab {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 13px !important;
  border-radius: 11px !important;
  color: #52627a !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  outline: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.ecim-settings-subnav .ecim-settings-tab:hover,
.ecim-settings-subnav .ecim-settings-tab:focus {
  color: #172033 !important;
  background: rgba(9, 140, 201, .06) !important;
  border-color: rgba(9, 140, 201, .18) !important;
  transform: translateY(-1px);
}
.ecim-settings-subnav .ecim-settings-tab.is-active {
  color: #ffffff !important;
  background: var(--ecim-tiac-east) !important;
  border-color: var(--ecim-tiac-east) !important;
}
.ecim-settings-grid-section {
  grid-template-columns: minmax(320px, 760px);
}
.ecim-settings-section-colours,
.ecim-settings-section-tags,
.ecim-settings-section-templates,
.ecim-settings-section-commerce {
  grid-template-columns: minmax(320px, 820px);
}
.ecim-global-tag-card .ecim-actions { margin-top: 12px; }
.ecim-tag-setting-add { grid-template-columns: minmax(180px, 1fr) auto auto; }
@media (max-width: 760px) {
  .ecim-settings-subnav { display: grid; grid-template-columns: 1fr 1fr; }
  .ecim-settings-subnav .ecim-settings-tab { justify-content: center !important; }
  .ecim-tag-setting-row,
  .ecim-tag-setting-add { grid-template-columns: 1fr; align-items: stretch; }
}

/* v1.2.85 — single shared Settings subnav component, link-based and fully isolated */
.ecim-hidden { display: none !important; }
.ecim-settings-subnav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 16px !important;
  padding: 6px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
}
body.ecim-portal-body .ecim-main .ecim-settings-subnav a.ecim-settings-tab,
.ecim-settings-subnav a.ecim-settings-tab {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 13px !important;
  border-radius: 11px !important;
  color: #52627a !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  outline: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  width: auto !important;
  min-width: 0 !important;
  transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease !important;
}
body.ecim-portal-body .ecim-main .ecim-settings-subnav a.ecim-settings-tab:hover,
body.ecim-portal-body .ecim-main .ecim-settings-subnav a.ecim-settings-tab:focus,
.ecim-settings-subnav a.ecim-settings-tab:hover,
.ecim-settings-subnav a.ecim-settings-tab:focus {
  color: #172033 !important;
  background: rgba(9,140,201,.06) !important;
  border-color: rgba(9,140,201,.18) !important;
  transform: translateY(-1px) !important;
}
body.ecim-portal-body .ecim-main .ecim-settings-subnav a.ecim-settings-tab.is-active,
.ecim-settings-subnav a.ecim-settings-tab.is-active {
  color: #ffffff !important;
  background: var(--ecim-tiac-east, #098cc9) !important;
  border-color: var(--ecim-tiac-east, #098cc9) !important;
}
.ecim-settings-section-templates {
  grid-template-columns: minmax(320px, 1fr) !important;
}
.ecim-template-designer-panel {
  min-width: 0;
}
@media (max-width: 760px) {
  .ecim-settings-subnav { display: grid !important; grid-template-columns: 1fr 1fr !important; }
  .ecim-settings-subnav a.ecim-settings-tab { justify-content: center !important; }
}

/* v1.2.86 — attendee export modal backdrop no longer captures internal clicks */
.ecim-modal-backdrop[data-modal-backdrop="1"] .ecim-export-modal { pointer-events: auto; }

/* ECIM v1.2.89 — operational communications and reporting foundations */
.ecim-operational-block {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.ecim-section-heading-compact {
  margin-bottom: 12px;
}

.ecim-template-library {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ecim-template-card {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 12px;
  padding: 12px;
  background: rgba(248, 250, 252, 0.78);
  display: grid;
  gap: 5px;
}

.ecim-template-card strong,
.ecim-template-card span,
.ecim-template-card small,
.ecim-communications-table td:first-child strong,
.ecim-communications-table td:first-child span {
  display: block;
}

.ecim-template-card span,
.ecim-template-card small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.ecim-reports-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
  align-items: start;
}

.ecim-report-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 16px;
}

.ecim-report-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ecim-export-preset-list {
  display: grid;
  gap: 8px;
  margin: 14px 0;
}

.ecim-export-preset-list .ecim-secondary {
  width: 100%;
  justify-content: flex-start;
}

@media (max-width: 980px) {
  .ecim-reports-grid,
  .ecim-communications-grid,
  .ecim-report-columns,
  .ecim-template-library {
    grid-template-columns: 1fr;
  }
}

/* ECIM v1.2.90 — reports workspace refactor + organization intelligence table */
.ecim-organization-coverage-card {
  margin-top: 16px;
}

.ecim-operational-flags-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ecim-flag-card {
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: rgba(248, 250, 252, 0.72);
  border-radius: 12px;
  padding: 11px 12px;
  display: grid;
  gap: 3px;
}

.ecim-flag-card.has-count {
  border-color: rgba(37, 99, 235, 0.24);
  background: rgba(239, 246, 255, 0.72);
}

.ecim-flag-card span,
.ecim-flag-card small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.3;
}

.ecim-flag-card strong {
  color: #0f172a;
  font-size: 22px;
  line-height: 1;
}

.ecim-report-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 130px;
  gap: 10px;
  margin: 12px 0 10px;
}

.ecim-report-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

body.ecim-portal-body .ecim-main button.ecim-chip-action,
.ecim-chip-action {
  border: 1px solid rgba(148, 163, 184, 0.36);
  background: #fff;
  color: #334155;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

body.ecim-portal-body .ecim-main button.ecim-chip-action.is-active,
.ecim-chip-action.is-active {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}

.ecim-table-scroll {
  overflow-x: auto;
}

.ecim-org-coverage-table {
  min-width: 860px;
}

.ecim-org-coverage-table th,
.ecim-org-coverage-table td {
  white-space: nowrap;
}

body.ecim-portal-body .ecim-main button.ecim-table-sort,
.ecim-table-sort {
  border: 0;
  background: transparent;
  color: #475569;
  padding: 0;
  font: inherit;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 800;
  cursor: pointer;
}

body.ecim-portal-body .ecim-main button.ecim-table-sort.is-active,
.ecim-table-sort.is-active {
  color: #1d4ed8;
}

.ecim-report-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  color: #64748b;
  font-size: 13px;
}

@media (max-width: 760px) {
  .ecim-report-toolbar,
  .ecim-operational-flags-grid {
    grid-template-columns: 1fr;
  }

  .ecim-report-pagination {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ECIM v1.2.91 — quiet hierarchy for report data-grid sort controls.
   Sort headers are utility controls, not primary action buttons. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-org-coverage-table button.ecim-table-sort,
html body.ecim-portal-body .ecim-main .ecim-org-coverage-table button.ecim-table-sort {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-height: 24px !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(148, 163, 184, .34) !important;
  border-radius: 999px !important;
  background: rgba(248, 250, 252, .78) !important;
  color: #475569 !important;
  box-shadow: none !important;
  font-size: 10.5px !important;
  font-weight: 750 !important;
  letter-spacing: .055em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-org-coverage-table button.ecim-table-sort:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-org-coverage-table button.ecim-table-sort:focus-visible {
  background: #f1f5f9 !important;
  border-color: rgba(100, 116, 139, .44) !important;
  color: #0f172a !important;
  outline: 2px solid rgba(148, 163, 184, .20) !important;
  outline-offset: 2px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-org-coverage-table button.ecim-table-sort.is-active,
html body.ecim-portal-body .ecim-main .ecim-org-coverage-table button.ecim-table-sort.is-active {
  background: rgba(239, 246, 255, .86) !important;
  border-color: rgba(37, 99, 235, .32) !important;
  color: #1d4ed8 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-org-coverage-table thead th {
  vertical-align: middle !important;
}

/* ECIM v1.2.92 — operational communication template preview */
.ecim-template-library button.ecim-template-card,
body.ecim-portal-body .ecim-main .ecim-template-library button.ecim-template-card {
  width: 100%;
  text-align: left;
  cursor: pointer;
  color: #1e293b !important;
  background: rgba(248, 250, 252, 0.78) !important;
  border: 1px solid rgba(148, 163, 184, 0.24) !important;
  box-shadow: none !important;
}

.ecim-template-library button.ecim-template-card:hover,
.ecim-template-library button.ecim-template-card:focus-visible {
  background: #ffffff !important;
  border-color: rgba(9, 140, 201, 0.34) !important;
}

.ecim-template-library button.ecim-template-card.is-active,
body.ecim-portal-body .ecim-main .ecim-template-library button.ecim-template-card.is-active {
  background: #f0f9ff !important;
  border-color: rgba(9, 140, 201, 0.42) !important;
  box-shadow: inset 3px 0 0 #098CC9 !important;
}

.ecim-template-preview {
  margin-top: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  background: #fff;
  padding: 14px;
  display: grid;
  gap: 12px;
}

.ecim-template-preview-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.ecim-template-preview h4 {
  margin: 2px 0 4px;
  font-size: 16px;
  letter-spacing: -.02em;
}

.ecim-template-subject {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.ecim-template-subject span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748b;
  font-weight: 750;
}

.ecim-template-subject strong {
  color: #1e293b;
  font-size: 13px;
}

.ecim-template-body {
  margin: 0;
  white-space: pre-wrap;
  font-family: inherit;
  line-height: 1.48;
  font-size: 13px;
  color: #334155;
  background: #fbfdff;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  padding: 12px;
}

.ecim-template-variable-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ecim-template-variable-row code {
  border-radius: 999px;
  background: #f1f5f9;
  border: 1px solid rgba(148, 163, 184, 0.22);
  color: #475569;
  padding: 4px 8px;
  font-size: 11px;
}

@media (max-width: 780px) {
  .ecim-template-preview-head {
    display: grid;
  }
}

/* ECIM v1.2.93 — event communication orchestration shell + quick-action profile cards */
.ecim-comm-shell-note {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(9, 140, 201, .20);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(240,249,255,.86), rgba(255,255,255,.92));
  margin-bottom: 14px;
}

.ecim-comm-shell-note strong {
  color: #0f172a;
  font-size: 13px;
}

.ecim-comm-shell-note span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.42;
}

.ecim-operational-block-first {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.ecim-comm-profile-library {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card,
html body.ecim-portal-body .ecim-main .ecim-template-library button.ecim-comm-profile-card,
.ecim-template-library button.ecim-comm-profile-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  grid-template-areas:
    "icon title"
    "icon desc"
    "icon meta" !important;
  column-gap: 10px !important;
  align-items: start !important;
  min-height: 88px !important;
  padding: 13px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148, 163, 184, .26) !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
}

.ecim-comm-profile-card .ecim-comm-profile-icon {
  grid-area: icon;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f1f5f9;
  color: #2563eb;
  font-size: 15px;
}

.ecim-comm-profile-card strong { grid-area: title; }
.ecim-comm-profile-card > span:not(.ecim-comm-profile-icon) { grid-area: desc; }
.ecim-comm-profile-card small { grid-area: meta; }

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card:hover,
html body.ecim-portal-body .ecim-main .ecim-template-library button.ecim-comm-profile-card:focus-visible {
  border-color: rgba(9, 140, 201, .36) !important;
  background: #fbfdff !important;
  transform: translateY(-1px);
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card.is-active,
html body.ecim-portal-body .ecim-main .ecim-template-library button.ecim-comm-profile-card.is-active {
  background: #f8fbff !important;
  border-color: rgba(37, 99, 235, .42) !important;
  box-shadow: inset 3px 0 0 #2563eb, 0 1px 2px rgba(15,23,42,.04) !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card.is-active .ecim-comm-profile-icon {
  background: #dbeafe;
  color: #1d4ed8;
}

.ecim-email-shell-preview {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.ecim-email-shell-header,
.ecim-email-shell-footer {
  padding: 13px 15px;
  display: grid;
  gap: 3px;
  background: #f8fafc;
  border-bottom: 1px solid rgba(148, 163, 184, .20);
}

.ecim-email-shell-footer {
  border-top: 1px solid rgba(148, 163, 184, .20);
  border-bottom: 0;
}

.ecim-email-shell-header strong,
.ecim-email-shell-footer strong {
  color: #0f172a;
  font-size: 13px;
}

.ecim-email-shell-header span,
.ecim-email-shell-footer span {
  color: #64748b;
  font-size: 12px;
}

.ecim-email-shell-meta {
  display: grid;
  gap: 4px;
  padding: 11px 15px;
  background: #fff;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
}

.ecim-email-shell-meta span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748b;
  font-weight: 750;
}

.ecim-email-shell-meta strong {
  color: #172033;
  font-size: 13px;
}

.ecim-email-shell-body {
  padding: 16px 15px;
  color: #334155;
  font-size: 13px;
  line-height: 1.55;
  background: #fff;
}

.ecim-communication-orchestration-preview .ecim-template-body,
.ecim-communication-orchestration-preview .ecim-template-subject {
  display: none;
}

@media (max-width: 780px) {
  .ecim-comm-profile-library {
    grid-template-columns: 1fr;
  }
}

/* ECIM v1.2.94 — communications card hierarchy + tag filter usage controls */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card.ecim-dashboard-tool-card.ecim-dashboard-tool-button,
body.ecim-portal-body .ecim-main .ecim-template-library button.ecim-comm-profile-card.ecim-dashboard-tool-card.ecim-dashboard-tool-button,
.ecim-template-library button.ecim-comm-profile-card.ecim-dashboard-tool-card.ecim-dashboard-tool-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 14px 16px !important;
  text-align: left !important;
  background: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .72) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  text-shadow: none !important;
  filter: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  outline: none !important;
  transform: none !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-head,
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text,
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text strong,
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text small {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text strong {
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  margin: 0 0 4px !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text small {
  display: block !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-comm-profile-meta {
  margin-top: 2px !important;
  font-size: 12px !important;
  color: #7a8797 !important;
}
.ecim-template-library button.ecim-comm-profile-card.is-active {
  background: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .10) !important;
}
.ecim-tag-setting-row {
  grid-template-columns: minmax(180px, 1fr) auto auto !important;
  align-items: center !important;
  gap: 10px !important;
}
.ecim-tag-setting-usage,
.ecim-tag-setting-add label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
.ecim-tag-setting-usage label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
}


/* ECIM v1.2.95 — communications quick-action card parity + calmer copy layout */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card.ecim-dashboard-tool-card.ecim-dashboard-tool-button,
body.ecim-portal-body .ecim-main .ecim-template-library button.ecim-comm-profile-card.ecim-dashboard-tool-card.ecim-dashboard-tool-button,
.ecim-template-library button.ecim-comm-profile-card.ecim-dashboard-tool-card.ecim-dashboard-tool-button {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 70px !important;
  padding: 13px 15px !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .55) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  text-shadow: none !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-head,
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-head {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 11px !important;
  min-width: 0 !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-icon,
.ecim-template-library button.ecim-comm-profile-card .ecim-comm-profile-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 12px !important;
  background: rgba(9, 140, 201, .10) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text strong,
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text small {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text strong {
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  margin: 0 0 3px !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-text small {
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.28 !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-comm-profile-meta {
  margin-top: 2px !important;
  font-size: 11.5px !important;
  color: #7a8797 !important;
}
.ecim-template-library button.ecim-comm-profile-card .ecim-dashboard-tool-card-arrow {
  color: #94a3b8 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card:focus-visible {
  background: #fbfdff !important;
  border-color: rgba(9, 140, 201, .34) !important;
  border-left-color: rgba(9, 140, 201, .80) !important;
  transform: translateY(-1px) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-library button.ecim-comm-profile-card.is-active,
body.ecim-portal-body .ecim-main .ecim-template-library button.ecim-comm-profile-card.is-active,
.ecim-template-library button.ecim-comm-profile-card.is-active {
  background: rgba(9, 140, 201, .075) !important;
  border-color: rgba(9, 140, 201, .45) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 6px 16px rgba(9, 140, 201, .08) !important;
}
.ecim-template-library button.ecim-comm-profile-card.is-active .ecim-dashboard-tool-icon,
.ecim-template-library button.ecim-comm-profile-card.is-active .ecim-comm-profile-icon {
  background: rgba(9, 140, 201, .18) !important;
  color: #0877ab !important;
}
.ecim-template-library button.ecim-comm-profile-card.is-active .ecim-dashboard-tool-text strong {
  color: #12324a !important;
}
.ecim-communications-primary .ecim-section-heading p.ecim-muted,
.ecim-communications-primary .ecim-section-heading-compact p.ecim-muted {
  max-width: 760px !important;
  line-height: 1.45 !important;
}
.ecim-communications-primary .ecim-kicker {
  letter-spacing: .075em !important;
}


/* ECIM v1.2.96 — hard communications cards to Dashboard Quick Actions style */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 10px 0 16px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card.ecim-dashboard-tool-card.ecim-dashboard-tool-button,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card.ecim-quick-action {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas: none !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 14px 16px !important;
  text-align: left !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .72) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  text-shadow: none !important;
  filter: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  outline: none !important;
  transform: none !important;
  overflow: hidden !important;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease, outline-color .16s ease !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-areas: none !important;
  align-items: start !important;
  gap: 10px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-comm-profile-icon {
  grid-area: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  margin-top: 1px !important;
  color: rgba(9, 140, 201, .82) !important;
  background: rgba(9, 140, 201, .08) !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  flex: 0 0 24px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text small {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  color: inherit !important;
  text-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text strong {
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  margin: 0 0 4px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text small {
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-comm-profile-meta {
  color: #7a8797 !important;
  font-size: 12px !important;
  margin-top: 2px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-card-arrow {
  color: rgba(105, 120, 137, .72) !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:focus-visible {
  background: rgba(9, 140, 201, .055) !important;
  background-color: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .10) !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 2px !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card.is-active {
  background: rgba(9, 140, 201, .075) !important;
  background-color: rgba(9, 140, 201, .075) !important;
  border-color: rgba(9, 140, 201, .58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card.is-active .ecim-dashboard-tool-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card.is-active .ecim-comm-profile-icon {
  background: rgba(9, 140, 201, .16) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
}
@media (max-width: 780px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-template-library.ecim-comm-profile-library {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.97 — real Communications cards: reuse Dashboard Quick Action layout, override legacy template grid styles */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 10px 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-dashboard-tool-card.ecim-dashboard-tool-button.ecim-quick-action.ecim-comm-profile-card {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto !important;
  grid-template-areas: none !important;
  align-items: center !important;
  justify-items: stretch !important;
  justify-content: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 72px !important;
  padding: 14px 16px !important;
  text-align: left !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .72) !important;
  border-radius: 14px !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card > .ecim-dashboard-tool-head {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  grid-template-areas: none !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  color: inherit !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  background: rgba(9, 140, 201, .09) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  color: inherit !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text strong {
  display: block !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text small {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card > .ecim-dashboard-tool-card-arrow {
  grid-area: auto !important;
  align-self: center !important;
  justify-self: end !important;
  margin: 0 !important;
  color: rgba(105, 120, 137, .72) !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:focus-visible {
  background: rgba(9, 140, 201, .055) !important;
  background-color: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .10) !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 2px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card.is-active {
  background: rgba(9, 140, 201, .14) !important;
  background-color: rgba(9, 140, 201, .14) !important;
  border-color: rgba(9, 140, 201, .62) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card.is-active .ecim-dashboard-tool-icon {
  background: rgba(9, 140, 201, .18) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
}
@media (max-width: 780px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.98 — Communications cards: use an isolated Quick Action clone instead of inheriting old dashboard/template rules. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-quick-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 10px 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-quick-action {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 16px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 14px 16px !important;
  text-align: left !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(38,46,56,.14) !important;
  border-left: 4px solid rgba(9,140,201,.72) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  text-shadow: none !important;
  line-height: 1.25 !important;
  transform: none !important;
  justify-content: stretch !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-quick-action:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-quick-action:focus-visible {
  background: rgba(9,140,201,.055) !important;
  background-color: rgba(9,140,201,.055) !important;
  border-color: rgba(9,140,201,.58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.10) !important;
  outline: 2px solid rgba(9,140,201,.16) !important;
  outline-offset: 2px !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-quick-action.is-active {
  background: rgba(9,140,201,.12) !important;
  background-color: rgba(9,140,201,.12) !important;
  border-color: rgba(9,140,201,.62) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-quick-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 12px !important;
  background: rgba(9,140,201,.09) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  margin: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-quick-action.is-active .ecim-comm-quick-icon {
  background: rgba(9,140,201,.18) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-quick-copy {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  text-align: left !important;
  overflow: hidden !important;
  white-space: normal !important;
  color: inherit !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-quick-copy strong {
  display: block !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-quick-copy small {
  display: -webkit-box !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-quick-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 16px !important;
  color: rgba(105,120,137,.72) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  margin: 0 !important;
  position: static !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-quick-action:hover .ecim-comm-quick-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-quick-action:focus-visible .ecim-comm-quick-copy strong {
  color: var(--ecim-tiac-east, #098CC9) !important;
}
@media (max-width: 780px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-quick-actions {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.99 — Communications cards: exact Dashboard Quick Action component, with only selected-state additions. */
html body.ecim-portal-body .ecim-app .ecim-comm-profile-library {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  gap: 10px !important;
  margin: 10px 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 74px !important;
  padding: 14px 16px !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(38,46,56,.14) !important;
  border-left: 4px solid rgba(9,140,201,.62) !important;
  border-radius: 14px !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  text-align: left !important;
  text-shadow: none !important;
  line-height: 1.25 !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card .ecim-dashboard-tool-head {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card .ecim-dashboard-tool-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 12px !important;
  background: rgba(9,140,201,.09) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  margin: 0 !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card .ecim-dashboard-tool-text {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: inherit !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card .ecim-dashboard-tool-text strong {
  display: block !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card .ecim-dashboard-tool-text small {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card .ecim-dashboard-tool-card-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  min-width: 16px !important;
  color: rgba(105,120,137,.75) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  margin: 0 !important;
  position: static !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card:hover,
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card:focus-visible {
  background: rgba(9,140,201,.045) !important;
  background-color: rgba(9,140,201,.045) !important;
  border-color: rgba(9,140,201,.45) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.08) !important;
  outline: 2px solid rgba(9,140,201,.14) !important;
  outline-offset: 2px !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card.is-active {
  background: rgba(9,140,201,.16) !important;
  background-color: rgba(9,140,201,.16) !important;
  border-color: rgba(9,140,201,.55) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app button.ecim-dashboard-tool-card.ecim-comm-profile-card.is-active .ecim-dashboard-tool-icon {
  background: rgba(9,140,201,.18) !important;
}
@media (max-width: 780px) {
  html body.ecim-portal-body .ecim-app .ecim-comm-profile-library {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.100 — Communications action cards: isolated Quick Action component clone.
   Do not inherit dashboard/template-card rules; this fixes the left chevron/content offset issue. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-action-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  gap: 10px !important;
  margin: 10px 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  text-align: left !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(38,46,56,.14) !important;
  border-left: 4px solid rgba(9,140,201,.72) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  text-shadow: none !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
  transform: none !important;
  filter: none !important;
  outline: none !important;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, outline-color .16s ease !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-main {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 10px !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  order: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  margin: 1px 0 0 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: rgba(9,140,201,.08) !important;
  color: rgba(9,140,201,.82) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-text {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-decoration: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-text strong {
  display: block !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-decoration: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-text small {
  display: -webkit-box !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-decoration: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(105,120,137,.72) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  position: static !important;
  transform: none !important;
  order: 2 !important;
  justify-self: end !important;
  align-self: center !important;
  text-decoration: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:focus-visible {
  background: rgba(9,140,201,.055) !important;
  background-color: rgba(9,140,201,.055) !important;
  border-color: rgba(9,140,201,.58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.10) !important;
  outline: 2px solid rgba(9,140,201,.16) !important;
  outline-offset: 2px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:hover .ecim-comm-action-text strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:focus-visible .ecim-comm-action-text strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:hover .ecim-comm-action-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:focus-visible .ecim-comm-action-arrow {
  color: var(--ecim-tiac-east, #098CC9) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:hover .ecim-comm-action-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:focus-visible .ecim-comm-action-arrow {
  transform: translateX(2px) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card.is-active {
  background: rgba(9,140,201,.13) !important;
  background-color: rgba(9,140,201,.13) !important;
  border-color: rgba(9,140,201,.60) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card.is-active .ecim-comm-action-icon {
  background: rgba(9,140,201,.18) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
}
@media (max-width: 780px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-action-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.101 — Communications cards: stop using the broken pill/button clones.
   These cards now reuse the exact Dashboard Quick Action component structure:
   .ecim-dashboard-tool-card > .ecim-dashboard-tool-head > icon + stacked text, with chevron at far right. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  gap: 10px !important;
  margin: 10px 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-dashboard-tool-card.ecim-dashboard-tool-button.ecim-quick-action.ecim-comm-profile-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  text-align: left !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .72) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card > .ecim-dashboard-tool-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  margin: 1px 0 0 !important;
  border-radius: 999px !important;
  background: rgba(9, 140, 201, .08) !important;
  color: rgba(9, 140, 201, .82) !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text strong {
  display: block !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card .ecim-dashboard-tool-text small {
  display: -webkit-box !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card > .ecim-dashboard-tool-card-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: end !important;
  align-self: center !important;
  width: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(105, 120, 137, .72) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:focus-visible {
  background: rgba(9, 140, 201, .055) !important;
  background-color: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .10) !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 2px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:hover .ecim-dashboard-tool-text strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:focus-visible .ecim-dashboard-tool-text strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:hover > .ecim-dashboard-tool-card-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card:focus-visible > .ecim-dashboard-tool-card-arrow {
  color: var(--ecim-tiac-east, #098CC9) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card.is-active {
  background: rgba(9, 140, 201, .13) !important;
  background-color: rgba(9, 140, 201, .13) !important;
  border-color: rgba(9, 140, 201, .60) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library > button[type="button"].ecim-comm-profile-card.is-active .ecim-dashboard-tool-icon {
  background: rgba(9, 140, 201, .18) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
}
@media (max-width: 780px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-dashboard-tools-shared.ecim-comm-profile-library {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.102 — Communications cards final fix.
   Use a dedicated isolated component. Do not inherit Dashboard button or old template-card CSS. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-action-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 12px 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-action-grid > button.ecim-comm-action-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 74px !important;
  margin: 0 !important;
  padding: 14px 16px 14px 14px !important;
  text-align: left !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(38,46,56,.14) !important;
  border-left: 4px solid rgba(9,140,201,.72) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  text-shadow: none !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
  transform: none !important;
  filter: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-main {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  order: 1 !important;
  text-align: left !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-icon {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex: 0 0 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
  background: rgba(9,140,201,.09) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-text {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  color: inherit !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-text strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-text small {
  display: block !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  max-width: 100% !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-shadow: none !important;
  text-decoration: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-text strong {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-text small {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card .ecim-comm-action-arrow {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(105,120,137,.72) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  order: 2 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  text-decoration: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:focus-visible {
  background: rgba(9,140,201,.055) !important;
  background-color: rgba(9,140,201,.055) !important;
  border-color: rgba(9,140,201,.58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.10) !important;
  outline: 2px solid rgba(9,140,201,.16) !important;
  outline-offset: 2px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:hover .ecim-comm-action-text strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:focus-visible .ecim-comm-action-text strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:hover .ecim-comm-action-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card:focus-visible .ecim-comm-action-arrow {
  color: var(--ecim-tiac-east, #098CC9) !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card.is-active {
  background: rgba(9,140,201,.13) !important;
  background-color: rgba(9,140,201,.13) !important;
  border-color: rgba(9,140,201,.60) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.08) !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary button.ecim-comm-action-card.is-active .ecim-comm-action-icon {
  background: rgba(9,140,201,.18) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
}

@media (max-width: 780px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-comm-action-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.105 — Communications cards: force two-column Quick Action grid until narrow mobile.
   This intentionally targets the same dashboard classes used by Open Scanner / Registration / Attendee Lookup.
   Only communication-specific additions are selected state and audience line. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools.ecim-dashboard-tools-shared {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 12px 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools.ecim-dashboard-tools-shared > button.ecim-dashboard-tool-card.ecim-dashboard-tool-button.ecim-communication-template-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 68px !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  text-align: left !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .72) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  text-shadow: none !important;
  filter: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  outline: none !important;
  transform: none !important;
  overflow: hidden !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card > .ecim-dashboard-tool-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card .ecim-dashboard-tool-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  margin-top: 1px !important;
  color: rgba(9, 140, 201, .82) !important;
  background: rgba(9, 140, 201, .08) !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card .ecim-dashboard-tool-text {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  overflow: hidden !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card .ecim-dashboard-tool-text strong {
  display: block !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card .ecim-dashboard-tool-text small {
  display: block !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card .ecim-communication-template-audience {
  margin-top: 2px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card > .ecim-dashboard-tool-card-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: end !important;
  align-self: center !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(105, 120, 137, .72) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  position: static !important;
  transform: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card:focus-visible {
  background: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .10) !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 2px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools > button.ecim-communication-template-card.is-active {
  background: rgba(9, 140, 201, .075) !important;
  border-color: rgba(9, 140, 201, .60) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9, 140, 201, .08) !important;
}


@media (max-width: 640px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary .ecim-communication-template-tools.ecim-dashboard-tools-shared {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.105 final override: Communications template chooser must be two columns on desktop. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary div.ecim-dashboard-tools.ecim-dashboard-tools-shared.ecim-communication-template-tools {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  gap: 12px !important;
}

@media (max-width: 640px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-primary div.ecim-dashboard-tools.ecim-dashboard-tools-shared.ecim-communication-template-tools {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.106 — definitive communications template grid.
   This deliberately targets the actual rendered grid class/attribute without parent dependencies,
   so older Dashboard/card rules cannot collapse the communication cards back to one column. */
.ecim-communication-template-grid,
.ecim-dashboard-tools.ecim-dashboard-tools-shared.ecim-communication-template-tools.ecim-communication-template-grid,
div[data-ecim-communication-template-grid="true"] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
}

.ecim-communication-template-grid > .ecim-communication-template-card,
div[data-ecim-communication-template-grid="true"] > .ecim-communication-template-card {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  .ecim-communication-template-grid,
  .ecim-dashboard-tools.ecim-dashboard-tools-shared.ecim-communication-template-tools.ecim-communication-template-grid,
  div[data-ecim-communication-template-grid="true"] {
    grid-template-columns: 1fr !important;
  }
}

/* Communications editor */
.ecim-communication-editor-grid {
  display: grid;
  gap: 14px;
  margin: 18px 0;
}

.ecim-communication-editor-grid .ecim-field {
  display: grid;
  gap: 6px;
}

.ecim-communication-editor-grid input,
.ecim-communication-editor-grid textarea {
  width: 100%;
}

.ecim-communication-body-field textarea {
  min-height: 220px;
  resize: vertical;
  font-family: inherit;
  line-height: 1.45;
}

.ecim-comm-preview-label {
  margin: 18px 0 8px;
}

.ecim-variable-chip {
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  color: #475569;
  cursor: pointer;
}

.ecim-variable-chip:hover {
  border-color: rgba(14, 165, 233, 0.45);
  color: #0284c7;
}

/* ECIM v1.2.108 — communications workspace redesign + global communication defaults */
.ecim-communications-workspace {
  display: grid;
  gap: 14px;
}

.ecim-communications-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.ecim-communications-topbar h3 {
  margin: 3px 0 6px;
}

.ecim-communications-subnav,
.ecim-communication-workspace-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid #dce5ec;
  border-radius: 14px;
  background: #fff;
}

.ecim-communications-subnav button,
.ecim-communication-workspace-tabs button {
  border: 1px solid transparent;
  background: transparent;
  color: #536579;
  padding: 8px 12px;
  border-radius: 10px;
  font-weight: 700;
  cursor: pointer;
}

.ecim-communications-subnav button.is-active,
.ecim-communication-workspace-tabs button.is-active {
  background: #098cc9;
  border-color: #098cc9;
  color: #fff;
}

.ecim-communication-workspace-tabs button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.ecim-communication-orchestration-preview {
  padding: 0;
  background: transparent;
  border: 0;
}

.ecim-communication-editor-shell {
  display: grid;
  grid-template-columns: 315px minmax(0, 1fr) 270px;
  gap: 14px;
  align-items: start;
}

.ecim-communication-template-rail,
.ecim-communication-compose,
.ecim-communication-context-panel,
.ecim-communication-placeholder {
  background: #fff;
  border: 1px solid #dce5ec;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .04);
}

.ecim-communication-template-rail,
.ecim-communication-compose,
.ecim-communication-context-panel {
  padding: 16px;
}

.ecim-rail-heading h3,
.ecim-communication-context-panel h3 {
  margin: 4px 0 6px;
}

.ecim-communication-template-rail .ecim-communication-template-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-communication-template-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin-top: 12px;
}

.ecim-communication-template-rail .ecim-dashboard-tool-card.ecim-communication-template-card {
  min-height: 74px !important;
}

.ecim-communication-template-rail .ecim-dashboard-tool-card.ecim-communication-template-card .ecim-dashboard-tool-text small {
  white-space: normal;
}

.ecim-compose-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #edf2f7;
}

.ecim-communication-edit-preview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 14px;
  margin-top: 14px;
}

.ecim-communication-editor-grid {
  display: grid;
  gap: 12px;
}

.ecim-communication-body-field textarea {
  min-height: 390px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  line-height: 1.55;
}

.ecim-variable-insert-control select {
  max-width: 260px;
}

.ecim-communication-preview-panel {
  border: 1px solid #e3eaf0;
  border-radius: 14px;
  background: #f8fafc;
  padding: 12px;
}

.ecim-comm-preview-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.ecim-comm-preview-label small {
  color: #64748b;
  font-weight: 700;
}

.ecim-communication-context-panel .ecim-info-row {
  border-top: 1px solid #eef3f7;
  padding: 10px 0;
}

.ecim-communication-context-panel .ecim-info-row:first-of-type {
  border-top: 0;
}

.ecim-communication-placeholder {
  padding: 22px;
}

.ecim-global-communications-layout {
  display: grid;
  grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
  gap: 16px;
  margin-top: 16px;
}

.ecim-global-communication-shell,
.ecim-global-communication-defaults {
  display: grid;
  gap: 12px;
}

.ecim-global-template-default {
  border: 1px solid #dce5ec;
  border-radius: 14px;
  background: #f8fbfd;
  overflow: hidden;
}

.ecim-global-template-default summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
}

.ecim-global-template-default summary span {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.ecim-global-template-default .ecim-field {
  padding: 0 14px 12px;
}

.ecim-global-template-default textarea,
.ecim-global-communication-shell textarea {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  line-height: 1.5;
}

/* ECIM v1.2.109 — communications hierarchy + full-width global communications settings */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-subnav {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  max-width: 100% !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 4px !important;
  border: 1px solid rgba(148, 163, 184, .20) !important;
  border-radius: 12px !important;
  background: rgba(248, 250, 252, .72) !important;
  box-shadow: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-subnav button {
  min-height: 28px !important;
  padding: 5px 10px !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-subnav button:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-subnav button:focus-visible {
  background: rgba(9, 140, 201, .06) !important;
  border-color: rgba(9, 140, 201, .18) !important;
  color: #0f638a !important;
  outline: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-subnav button.is-active {
  background: rgba(9, 140, 201, .10) !important;
  border-color: rgba(9, 140, 201, .20) !important;
  color: #0877aa !important;
  box-shadow: inset 0 0 0 1px rgba(9, 140, 201, .04) !important;
}

/* The template rail is a narrow selector rail, so cards must stack vertically inside it. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail div.ecim-communication-template-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail div[data-ecim-communication-template-grid="true"] {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-dashboard-tool-card.ecim-communication-template-card {
  min-height: 78px !important;
  padding: 12px 14px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-dashboard-tool-card.ecim-communication-template-card .ecim-dashboard-tool-text {
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-dashboard-tool-card.ecim-communication-template-card .ecim-dashboard-tool-text strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-dashboard-tool-card.ecim-communication-template-card .ecim-dashboard-tool-text small {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* Communications settings is an operational workspace; it should use the full content width. */
.ecim-settings-grid.ecim-settings-section-communications,
.ecim-settings-grid-section.ecim-settings-section-communications,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-settings-section-communications {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
}

.ecim-settings-section-communications .ecim-global-communications-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-card {
  width: 100% !important;
  max-width: none !important;
  grid-column: 1 / -1 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-layout {
  display: grid !important;
  grid-template-columns: minmax(360px, .95fr) minmax(520px, 1.35fr) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communication-shell textarea,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-default textarea {
  min-height: 150px !important;
}

@media (max-width: 1100px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-layout {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.110 — communications operational layout cleanup */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-editor-shell {
  grid-template-columns: 360px minmax(0, 1fr) 255px !important;
  gap: 16px !important;
}

.ecim-communication-rail-list,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 12px !important;
}

.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card {
  appearance: none !important;
  border: 1px solid #dbe6ee !important;
  border-left: 4px solid #38bdf8 !important;
  background: #fff !important;
  border-radius: 14px !important;
  padding: 12px 12px !important;
  width: 100% !important;
  min-height: 78px !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) 18px !important;
  gap: 10px !important;
  align-items: center !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.ecim-communication-rail-card.is-active,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card.is-active {
  border-color: #38bdf8 !important;
  border-left-color: #0284c7 !important;
  background: #effaff !important;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, .18) !important;
}

.ecim-communication-rail-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #e0f2fe;
  color: #0284c7;
  font-size: 12px;
}

.ecim-communication-rail-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.ecim-communication-rail-copy strong {
  color: #172033;
  font-size: 13px;
  line-height: 1.15;
  white-space: normal;
}

.ecim-communication-rail-copy small {
  color: #52667a;
  font-size: 11px;
  line-height: 1.25;
  white-space: normal;
}

.ecim-communication-rail-arrow {
  color: #8aa0b4;
  justify-self: end;
}

.ecim-communications-topbar .ecim-actions:empty {
  display: none !important;
}

.ecim-rich-text-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  border: 1px solid #dce5ec;
  border-radius: 12px;
  background: #fff;
  margin: 6px 0 8px;
}

.ecim-rich-text-toolbar select,
.ecim-rich-text-toolbar input[type="number"] {
  min-height: 34px;
  border: 1px solid #d7e1e8;
  border-radius: 9px;
  background: #fff;
  padding: 0 9px;
  font-weight: 700;
  color: #172033;
}

.ecim-rich-text-toolbar select {
  min-width: 138px;
}

.ecim-toolbar-stepper {
  display: inline-grid;
  grid-template-columns: 34px 54px 34px;
  overflow: hidden;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
}

.ecim-toolbar-stepper button,
.ecim-rich-text-toolbar > button {
  min-height: 34px;
  min-width: 34px;
  border: 0;
  border-radius: 9px;
  background: #098cc9;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.ecim-toolbar-stepper input {
  border: 0 !important;
  border-left: 1px solid #d7e1e8 !important;
  border-right: 1px solid #d7e1e8 !important;
  border-radius: 0 !important;
  text-align: center;
  min-width: 0 !important;
}

.ecim-toolbar-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #172033;
  font-weight: 700;
  font-size: 13px;
}

.ecim-toolbar-color-a {
  display: inline-block;
  border-bottom: 3px solid #f59e0b;
  line-height: 1;
}

.ecim-global-sender-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ecim-email-builder {
  border: 1px solid #dce5ec;
  border-radius: 16px;
  background: #f8fbfd;
  padding: 14px;
  display: grid;
  gap: 12px;
}

.ecim-email-builder-head,
.ecim-global-defaults-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.ecim-email-builder-head strong,
.ecim-global-defaults-head strong {
  display: block;
  font-size: 15px;
  color: #172033;
}

.ecim-email-builder-head small,
.ecim-global-defaults-head small {
  display: block;
  color: #64748b;
  font-size: 12px;
  margin-top: 3px;
}

.ecim-email-builder-canvas {
  display: grid;
  gap: 8px;
}

.ecim-email-builder-block {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 30px 30px;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  background: #fff;
}

.ecim-email-builder-block input {
  min-height: 34px;
  border: 1px solid #e2e8f0;
  border-radius: 9px;
  padding: 0 10px;
  width: 100%;
}

.ecim-email-builder-block button {
  min-height: 30px;
  border: 1px solid #d7e1e8;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-weight: 800;
  cursor: pointer;
}

.ecim-builder-grip {
  color: #94a3b8;
  font-weight: 900;
  cursor: grab;
  text-align: center;
}

.ecim-email-builder-source textarea,
.ecim-global-template-default textarea,
.ecim-communication-body-field textarea {
  font-family: Inter, Arial, sans-serif !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-layout {
  grid-template-columns: minmax(520px, 1fr) minmax(520px, 1fr) !important;
}

/* ECIM v1.2.111 — cleaner communications global settings UI */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail {
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-card {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-clean {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 18px !important;
  width: 100% !important;
  margin-top: 18px !important;
}
.ecim-section-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.ecim-section-headline h3 {
  margin: 3px 0 5px;
}
.ecim-global-shell-settings-card,
.ecim-global-defaults-workspace {
  padding: 18px !important;
}
.ecim-shell-builder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.ecim-shell-builder-card {
  border: 1px solid #dce5ec;
  border-radius: 16px;
  background: #f8fbfd;
  padding: 14px;
  display: grid;
  gap: 12px;
}
.ecim-shell-builder-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.ecim-shell-builder-card-head strong {
  display: block;
  color: #172033;
  font-size: 15px;
}
.ecim-shell-builder-card-head small {
  display: block;
  color: #64748b;
  font-size: 12px;
  margin-top: 3px;
}
.ecim-inheritance-pill {
  border: 1px solid #dbe6ee;
  background: #fff;
  color: #64748b;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.ecim-shell-visual-preview {
  display: grid;
  gap: 8px;
}
.ecim-shell-preview-line {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  background: #fff;
}
.ecim-shell-preview-line input {
  width: 100%;
  min-height: 34px;
  border: 0;
  background: transparent;
  color: #334155;
  font-weight: 600;
}
.ecim-shell-preview-line.is-strong input {
  color: #172033;
  font-weight: 800;
}
.ecim-shell-source-details {
  border-top: 1px solid #edf2f7;
  padding-top: 10px;
}
.ecim-shell-source-details summary {
  cursor: pointer;
  color: #0877aa;
  font-weight: 800;
  font-size: 12px;
}
.ecim-shell-source-details textarea {
  margin-top: 10px;
  width: 100%;
  min-height: 96px !important;
  font-family: Inter, Arial, sans-serif !important;
}
.ecim-global-template-list-clean {
  display: grid;
  gap: 10px;
}
.ecim-global-template-default.is-clean {
  border: 1px solid #dce5ec !important;
  border-radius: 14px !important;
  background: #fff !important;
  overflow: hidden;
}
.ecim-global-template-default.is-clean summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 13px 15px !important;
}
.ecim-global-template-default.is-clean summary div {
  display: grid;
  gap: 3px;
}
.ecim-global-template-default.is-clean summary strong {
  color: #172033;
  font-size: 14px;
}
.ecim-global-template-default.is-clean summary small,
.ecim-global-template-default.is-clean summary span {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}
.ecim-global-template-editor-clean {
  display: grid;
  gap: 12px;
  padding: 0 15px 15px;
  border-top: 1px solid #edf2f7;
}
.ecim-global-template-editor-clean .ecim-field {
  padding: 0 !important;
  margin-top: 12px;
}
.ecim-rich-text-toolbar-compact {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 6px !important;
  gap: 6px !important;
  border-radius: 11px !important;
  background: #f8fafc !important;
}
.ecim-rich-text-toolbar-compact select {
  min-width: 112px !important;
  min-height: 30px !important;
}
.ecim-rich-text-toolbar-compact .ecim-toolbar-stepper {
  grid-template-columns: 30px 48px 30px !important;
}
.ecim-rich-text-toolbar-compact .ecim-toolbar-stepper button,
.ecim-rich-text-toolbar-compact > button {
  min-width: 30px !important;
  min-height: 30px !important;
  border-radius: 8px !important;
}
.ecim-toolbar-divider {
  width: 1px;
  height: 24px;
  background: #dbe6ee;
  margin: 0 2px;
}
@media (max-width: 1200px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-clean,
  .ecim-shell-builder-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.112 — communications declutter pass */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-editor-shell {
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 16px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-context-panel {
  display: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-compose {
  box-shadow: 0 8px 22px rgba(15,23,42,.035) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail {
  padding: 14px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card {
  min-height: auto !important;
  padding: 11px 12px !important;
  border-left-width: 3px !important;
  border-color: #e2e8f0 !important;
  border-left-color: #dbeafe !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card.is-active {
  background: #f8fcff !important;
  border-color: #bae6fd !important;
  border-left-color: #0284c7 !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-icon {
  width: 22px !important;
  height: 22px !important;
  background: #f0f9ff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-copy strong {
  font-size: 12px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-copy small {
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-compose-head {
  padding-bottom: 10px !important;
  margin-bottom: 10px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-compose-head .ecim-actions {
  gap: 6px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-compose-head .ecim-actions .ecim-secondary {
  display: none !important;
}
.ecim-communication-context-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 12px;
  padding: 10px;
  border: 1px solid #edf2f7;
  border-radius: 12px;
  background: #f8fafc;
}
.ecim-communication-context-strip span {
  display: grid;
  gap: 2px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.25;
}
.ecim-communication-context-strip strong {
  color: #334155;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-edit-preview-grid {
  grid-template-columns: minmax(0, 1fr) minmax(310px, .82fr) !important;
  gap: 12px !important;
  margin-top: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field textarea {
  min-height: 340px !important;
}
.ecim-formatting-drawer {
  margin: 5px 0 8px;
  border: 1px solid #e2e8f0;
  border-radius: 11px;
  background: #f8fafc;
}
.ecim-formatting-drawer summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 34px;
  padding: 0 10px;
  cursor: pointer;
  list-style: none;
  color: #334155;
  font-weight: 800;
  font-size: 12px;
}
.ecim-formatting-drawer summary::-webkit-details-marker { display: none; }
.ecim-formatting-drawer summary small {
  color: #94a3b8;
  font-weight: 700;
  font-size: 11px;
}
.ecim-formatting-drawer[open] summary {
  border-bottom: 1px solid #e2e8f0;
}
.ecim-formatting-drawer .ecim-rich-text-toolbar-compact {
  border: 0 !important;
  border-radius: 0 0 11px 11px !important;
  margin: 0 !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-subnav {
  display: flex !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-subnav button {
  min-height: 34px !important;
  padding: 8px 10px !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 12px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-subnav button.is-active {
  color: #0877aa !important;
  background: transparent !important;
  border-bottom-color: #098cc9 !important;
  box-shadow: none !important;
}
/* Global settings: calm builder and less visible controls until needed. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-clean {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
}
.ecim-shell-builder-card {
  background: #fff !important;
}
.ecim-shell-source-details:not([open]) {
  border-top: 0 !important;
  padding-top: 0 !important;
}
.ecim-global-template-editor-clean .ecim-formatting-drawer:not([open]) {
  margin-bottom: 8px;
}
@media (max-width: 1280px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-editor-shell,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-edit-preview-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.113 — communications workspace width + calmer quick-action rail cards */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-editor-shell {
  grid-template-columns: 270px minmax(0, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-compose {
  width: 100% !important;
  max-width: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-edit-preview-grid {
  grid-template-columns: minmax(520px, 1.38fr) minmax(280px, .62fr) !important;
  gap: 14px !important;
  width: 100% !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail {
  padding: 14px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list {
  gap: 9px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 16px !important;
  gap: 10px !important;
  align-items: start !important;
  min-height: 74px !important;
  padding: 12px 12px !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-left: 4px solid rgba(9, 140, 201, .55) !important;
  background: #ffffff !important;
  color: #172033 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card:focus-visible {
  background: #fbfdff !important;
  border-color: rgba(9, 140, 201, .30) !important;
  border-left-color: rgba(9, 140, 201, .80) !important;
  outline: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card.is-active {
  background: rgba(9, 140, 201, .30) !important;
  border-color: rgba(9, 140, 201, .45) !important;
  border-left-color: #098cc9 !important;
  box-shadow: inset 0 0 0 1px rgba(9, 140, 201, .14), 0 1px 2px rgba(15, 23, 42, .04) !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-icon {
  align-self: start !important;
  justify-self: start !important;
  width: 22px !important;
  height: 22px !important;
  margin-top: 1px !important;
  border-radius: 999px !important;
  background: rgba(14, 165, 233, .10) !important;
  color: #098cc9 !important;
  font-size: 11px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card.is-active .ecim-communication-rail-icon {
  background: rgba(255, 255, 255, .62) !important;
  color: #0877aa !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-copy {
  align-self: start !important;
  gap: 2px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-copy strong {
  color: #172033 !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-copy small {
  color: #52667a !important;
  font-size: 10.5px !important;
  line-height: 1.22 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-arrow {
  align-self: center !important;
  color: #94a3b8 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card.is-active .ecim-communication-rail-arrow {
  color: #0877aa !important;
}

/* ECIM v1.2.114 — force communications workspace refinements and bust stale cascade/cache */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-editor-shell,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell {
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  align-items: start !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-compose,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-edit-preview-grid,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(600px, 1.55fr) minmax(300px, .45fr) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  align-items: start !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-template-rail,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-template-rail {
  width: 250px !important;
  max-width: 250px !important;
  min-width: 0 !important;
  padding: 14px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-rail-list,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-communication-rail-card {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 14px !important;
  align-items: start !important;
  justify-items: stretch !important;
  column-gap: 9px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(38, 46, 56, .14) !important;
  border-left: 4px solid rgba(9, 140, 201, .70) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #172033 !important;
  box-shadow: 0 1px 0 rgba(38, 46, 56, .04) !important;
  text-align: left !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview button.ecim-communication-rail-card.is-active,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-communication-rail-card.is-active {
  background: rgba(9, 140, 201, .30) !important;
  background-color: rgba(9, 140, 201, .30) !important;
  border-color: rgba(9, 140, 201, .48) !important;
  border-left-color: #098cc9 !important;
  box-shadow: inset 0 0 0 1px rgba(9, 140, 201, .12), 0 1px 0 rgba(38, 46, 56, .04) !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-rail-icon,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-icon {
  align-self: start !important;
  justify-self: start !important;
  margin: 1px 0 0 !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(9, 140, 201, .09) !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-rail-copy,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-copy {
  align-self: start !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-rail-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-copy strong {
  display: block !important;
  margin: 0 0 3px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  color: #172033 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-rail-copy small,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-copy small {
  display: -webkit-box !important;
  margin: 0 !important;
  color: #52667a !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview .ecim-communication-rail-arrow,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-arrow {
  align-self: center !important;
  justify-self: end !important;
  color: rgba(105,120,137,.70) !important;
}


/* ECIM v1.2.115 — hard-applied communications rail/editor refinements */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-preview.ecim-communication-orchestration-preview {
  width: 100% !important;
  max-width: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  align-items: start !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-template-rail {
  width: 240px !important;
  max-width: 240px !important;
  min-width: 0 !important;
  padding: 14px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(620px, 1.65fr) minmax(280px, .35fr) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  align-items: start !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-communication-rail-card {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 14px !important;
  align-items: start !important;
  width: 100% !important;
  min-height: 72px !important;
  padding: 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-left: 4px solid rgba(9, 140, 201, .55) !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #172033 !important;
  text-align: left !important;
  gap: 10px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-communication-rail-card.is-active {
  background: rgba(9, 140, 201, .30) !important;
  background-color: rgba(9, 140, 201, .30) !important;
  border-color: rgba(9, 140, 201, .45) !important;
  border-left-color: #098cc9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-icon {
  align-self: start !important;
  justify-self: start !important;
  margin-top: 1px !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-copy {
  align-self: start !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-copy strong {
  display: block !important;
  margin: 0 0 3px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  color: #172033 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-copy small {
  color: #52667a !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-arrow {
  align-self: center !important;
  justify-self: end !important;
}

/* ECIM v1.2.116 — communications polish: visible formatting bar, wider preview, calmer rail cards */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell {
  grid-template-columns: 230px minmax(0, 1fr) !important;
  gap: 14px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-template-rail {
  width: 230px !important;
  max-width: 230px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
  grid-template-columns: minmax(480px, 1fr) minmax(430px, .95fr) !important;
  gap: 16px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-preview-panel {
  min-width: 420px !important;
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail button.ecim-communication-rail-card {
  background: #fff !important;
  background-color: #fff !important;
  color: #172033 !important;
  border: 1px solid rgba(148, 163, 184, .30) !important;
  border-left: 4px solid rgba(9, 140, 201, .48) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
  align-items: start !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-communication-rail-card.is-active,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list button.ecim-communication-rail-card.is-active,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail button.ecim-communication-rail-card.is-active {
  background: rgba(9, 140, 201, .14) !important;
  background-color: rgba(9, 140, 201, .14) !important;
  border-color: rgba(9, 140, 201, .50) !important;
  border-left-color: #098cc9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list .ecim-communication-rail-icon {
  align-self: start !important;
  justify-self: start !important;
  margin-top: 0 !important;
  background: rgba(9, 140, 201, .10) !important;
  color: #098cc9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 6px 0 10px !important;
  padding: 8px !important;
  border: 1px solid rgba(203, 213, 225, .80) !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar select {
  min-height: 34px !important;
  min-width: 148px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #172033 !important;
  font-weight: 700 !important;
  padding: 0 10px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-format-size-control {
  display: inline-grid !important;
  grid-template-columns: 32px 52px 32px !important;
  overflow: hidden !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 10px !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-format-size-control button,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-format-icon {
  min-width: 32px !important;
  min-height: 32px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #098cc9 !important;
  color: #fff !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-format-size-control input {
  width: 52px !important;
  min-height: 32px !important;
  border: 0 !important;
  border-left: 1px solid rgba(203, 213, 225, .95) !important;
  border-right: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-weight: 800 !important;
  color: #172033 !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-format-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: 2px !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-drawer {
  display: none !important;
}

/* ECIM v1.2.117 — Communications true workspace refinement */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-editor-shell {
  grid-template-columns: 220px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-template-rail {
  width: 220px !important;
  max-width: 220px !important;
  padding: 14px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-edit-preview-grid {
  grid-template-columns: minmax(520px, 1fr) minmax(480px, 1fr) !important;
  gap: 18px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-rail-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace button.ecim-communication-rail-card {
  background: #fff !important;
  color: #172033 !important;
  border: 1px solid rgba(148,163,184,.30) !important;
  border-left: 4px solid rgba(9,140,201,.38) !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  min-height: 66px !important;
  padding: 10px 11px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace button.ecim-communication-rail-card.is-active {
  background: rgba(9,140,201,.12) !important;
  border-color: rgba(9,140,201,.34) !important;
  border-left-color: #098cc9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace button.ecim-communication-rail-card .ecim-communication-rail-icon {
  align-self: start !important;
  justify-self: start !important;
  margin-top: 1px !important;
  background: rgba(14,165,233,.10) !important;
  color: #098cc9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace button.ecim-communication-rail-card.is-active .ecim-communication-rail-icon {
  background: rgba(9,140,201,.18) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace button.ecim-communication-rail-card strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace button.ecim-communication-rail-card small {
  color: inherit !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace button.ecim-communication-rail-card small {
  color: #52667a !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-formatting-bar {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 8px !important;
  margin: 6px 0 8px !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.80) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-formatting-bar select {
  height: 32px !important;
  min-width: 130px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(148,163,184,.32) !important;
  background: #fff !important;
  font-size: 12px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-format-size-control {
  display: inline-flex !important;
  height: 32px !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  border: 1px solid rgba(9,140,201,.20) !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-format-size-control button,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-format-icon {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #eef8fd !important;
  color: #0877aa !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-format-size-control input {
  width: 42px !important;
  height: 32px !important;
  border: 0 !important;
  text-align: center !important;
  background: #fff !important;
  font-size: 12px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-format-wrap {
  margin-left: auto !important;
  font-size: 12px !important;
  color: #52667a !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-preview-panel {
  min-width: 0 !important;
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-email-shell-preview {
  max-width: none !important;
}

/* ECIM v1.2.118 — hard fix communications rail + Canva-like formatting bar */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-rail-list > button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-list > button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-communication-rail-list > button.ecim-communication-rail-card {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #172033 !important;
  border: 1px solid rgba(148,163,184,.32) !important;
  border-left: 4px solid rgba(9,140,201,.36) !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  text-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-rail-list > button.ecim-communication-rail-card.is-active,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-list > button.ecim-communication-rail-card.is-active,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-communication-rail-list > button.ecim-communication-rail-card.is-active {
  background: rgba(9,140,201,.16) !important;
  background-color: rgba(9,140,201,.16) !important;
  background-image: none !important;
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-icon {
  align-self: start !important;
  justify-self: start !important;
  background: rgba(14,165,233,.10) !important;
  color: #098cc9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active .ecim-communication-rail-icon {
  background: rgba(9,140,201,.22) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card strong { color:#172033 !important; }
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card small { color:#52667a !important; }

html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar.ecim-formatting-bar-canva,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-formatting-bar.ecim-formatting-bar-canva {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 10px !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(203,213,225,.85) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  overflow-x: auto !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva select {
  flex: 0 0 136px !important;
  width: 136px !important;
  min-width: 136px !important;
  max-width: 136px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-size-control {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: auto !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 9px !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-size-control button,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva button.ecim-format-icon {
  flex: 0 0 32px !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-size-control input {
  flex: 0 0 48px !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid rgba(203,213,225,.85) !important;
  border-right: 1px solid rgba(203,213,225,.85) !important;
  border-radius: 0 !important;
  text-align: center !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva button.ecim-format-icon:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-size-control button:hover {
  background: #f1f5f9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-wrap {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}

/* v1.2.119 — Communications hierarchy + AJAX section switching + rail hard override */
body.ecim-portal-body .ecim-main .ecim-communications-workspace {
  display: block !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-topbar {
  display: none !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav {
  margin: 0 0 16px !important;
  padding: 6px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav button.ecim-settings-tab {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 13px !important;
  border-radius: 11px !important;
  color: #52627a !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  outline: 0 !important;
  cursor: pointer !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav button.ecim-settings-tab:hover,
body.ecim-portal-body .ecim-main .ecim-communications-subnav button.ecim-settings-tab:focus {
  color: #172033 !important;
  background: rgba(9,140,201,.06) !important;
  border-color: rgba(9,140,201,.18) !important;
  transform: translateY(-1px) !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav button.ecim-settings-tab.is-active {
  color: #ffffff !important;
  background: var(--ecim-tiac-east, #098cc9) !important;
  border-color: var(--ecim-tiac-east, #098cc9) !important;
}
body.ecim-portal-body .ecim-main .ecim-communication-rail-card,
body.ecim-portal-body .ecim-main button.ecim-communication-rail-card {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #172033 !important;
  border-color: rgba(148,163,184,.30) !important;
  border-left-color: rgba(9,140,201,.34) !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
}
body.ecim-portal-body .ecim-main .ecim-communication-rail-card.is-active,
body.ecim-portal-body .ecim-main button.ecim-communication-rail-card.is-active {
  background: rgba(9,140,201,.16) !important;
  background-color: rgba(9,140,201,.16) !important;
  color: #172033 !important;
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
body.ecim-portal-body .ecim-main .ecim-communication-rail-card * {
  color: inherit !important;
}
body.ecim-portal-body .ecim-main .ecim-communication-rail-card small,
body.ecim-portal-body .ecim-main .ecim-communication-rail-card .ecim-communication-template-audience {
  color: #52667a !important;
}
body.ecim-portal-body .ecim-main .ecim-communication-rail-icon {
  align-self: start !important;
  justify-self: start !important;
  margin-top: 1px !important;
  background: rgba(14,165,233,.10) !important;
  color: #098cc9 !important;
}
body.ecim-portal-body .ecim-main .ecim-communication-edit-preview-grid {
  grid-template-columns: minmax(560px, 1fr) minmax(560px, .95fr) !important;
}
body.ecim-portal-body .ecim-main .ecim-formatting-bar-canva {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 5px 6px !important;
  border-radius: 12px !important;
  background: #fff !important;
  border: 1px solid rgba(203,213,225,.9) !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
}

/* v1.2.120 — Communications submenu hierarchy + rich text editor polish */
body.ecim-portal-body .ecim-main .ecim-communications-subnav {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  padding: 8px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav button.ecim-settings-tab {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: transparent !important;
  color: #30445c !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transform: none !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav button.ecim-settings-tab:hover,
body.ecim-portal-body .ecim-main .ecim-communications-subnav button.ecim-settings-tab:focus-visible {
  background: rgba(9, 140, 201, .07) !important;
  color: #172033 !important;
  border: 0 !important;
  transform: none !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav button.ecim-settings-tab.is-active {
  background: var(--ecim-tiac-east, #098cc9) !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.ecim-portal-body .ecim-main .ecim-rich-formatting-bar,
body.ecim-portal-body .ecim-main .ecim-formatting-bar-canva.ecim-rich-formatting-bar {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 8px 0 10px !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(203, 213, 225, .88) !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06) !important;
  overflow: visible !important;
}
body.ecim-portal-body .ecim-main .ecim-rich-formatting-bar select.ecim-format-font {
  width: 132px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
body.ecim-portal-body .ecim-main .ecim-rich-formatting-bar .ecim-format-size-control {
  display: inline-flex !important;
  align-items: center !important;
  height: 32px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}
body.ecim-portal-body .ecim-main .ecim-rich-formatting-bar .ecim-format-size-control button {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #172033 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.ecim-portal-body .ecim-main .ecim-rich-formatting-bar .ecim-format-size-control input {
  width: 42px !important;
  min-width: 42px !important;
  height: 30px !important;
  border: 0 !important;
  border-left: 1px solid rgba(203, 213, 225, .85) !important;
  border-right: 1px solid rgba(203, 213, 225, .85) !important;
  background: #ffffff !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #172033 !important;
  padding: 0 !important;
}
body.ecim-portal-body .ecim-main .ecim-rich-formatting-bar .ecim-format-icon {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #172033 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  box-shadow: none !important;
}
body.ecim-portal-body .ecim-main .ecim-rich-formatting-bar .ecim-format-icon:hover,
body.ecim-portal-body .ecim-main .ecim-rich-formatting-bar .ecim-format-icon:focus-visible {
  background: rgba(9, 140, 201, .08) !important;
  color: #0877aa !important;
}
body.ecim-portal-body .ecim-main .ecim-toolbar-color-a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.ecim-portal-body .ecim-main .ecim-toolbar-color-a::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 1px !important;
  width: 15px !important;
  height: 3px !important;
  transform: translateX(-50%) !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #ef4444, #f59e0b, #22c55e, #098cc9, #8b5cf6) !important;
}
body.ecim-portal-body .ecim-main .ecim-rich-email-editor {
  min-height: 360px !important;
  width: 100% !important;
  padding: 18px !important;
  border: 1px solid rgba(15, 23, 42, .22) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #172033 !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  overflow: auto !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .04) !important;
}
body.ecim-portal-body .ecim-main .ecim-rich-email-editor:focus {
  outline: 3px solid rgba(9, 140, 201, .16) !important;
  border-color: rgba(9, 140, 201, .55) !important;
}


/* v1.2.121 — Communications subnav uses the exact Global Settings tab treatment */
body.ecim-portal-body .ecim-main .ecim-communications-subnav.ecim-settings-subnav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 16px !important;
  padding: 6px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05) !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav.ecim-settings-subnav a.ecim-settings-tab {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  height: auto !important;
  padding: 0 13px !important;
  border-radius: 11px !important;
  color: #52627a !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  outline: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  transform: none !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav.ecim-settings-subnav a.ecim-settings-tab:hover,
body.ecim-portal-body .ecim-main .ecim-communications-subnav.ecim-settings-subnav a.ecim-settings-tab:focus {
  color: #172033 !important;
  background: rgba(9, 140, 201, .06) !important;
  border-color: rgba(9, 140, 201, .18) !important;
  transform: translateY(-1px) !important;
}
body.ecim-portal-body .ecim-main .ecim-communications-subnav.ecim-settings-subnav a.ecim-settings-tab.is-active {
  color: #ffffff !important;
  background: var(--ecim-tiac-east, #098cc9) !important;
  border-color: var(--ecim-tiac-east, #098cc9) !important;
}


/* v1.2.122 — Communication rail text/chevron hard fix + real colour picker affordance */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:focus,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:focus-visible,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card:focus,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card:focus-visible,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card.is-active {
  color: #111827 !important;
  text-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:focus strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active strong,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card strong,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card:hover strong,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card:focus strong,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-communication-rail-card.is-active strong {
  color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-arrow *,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover .ecim-communication-rail-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover .ecim-communication-rail-arrow *,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:focus .ecim-communication-rail-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:focus .ecim-communication-rail-arrow *,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active .ecim-communication-rail-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active .ecim-communication-rail-arrow * {
  color: #111827 !important;
  opacity: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:focus small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active small {
  color: #52667a !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-picker {
  position: relative !important;
  cursor: pointer !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-picker input[type="color"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  border: 0 !important;
  padding: 0 !important;
}


/* v1.2.123 — hard rail text/chevron colour + Canva-like colour picker button */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list > button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-communication-rail-list > button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-list > button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list > button.ecim-communication-rail-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list > button.ecim-communication-rail-card:focus,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list > button.ecim-communication-rail-card.is-active {
  background-image: none !important;
  text-shadow: none !important;
  color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:focus strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover .ecim-communication-rail-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active .ecim-communication-rail-copy strong {
  color: #111827 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-arrow i,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover .ecim-communication-rail-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover .ecim-communication-rail-arrow i,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active .ecim-communication-rail-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active .ecim-communication-rail-arrow i {
  color: #111827 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card:hover small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card.is-active small {
  color: #52667a !important;
  -webkit-text-fill-color: #52667a !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar {
  gap: 7px !important;
  padding: 6px 8px !important;
  border-radius: 12px !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-picker {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-picker input[type="color"] {
  position: absolute !important;
  left: 0 !important;
  top: 100% !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-toolbar-color-a::after {
  bottom: -4px !important;
  height: 4px !important;
  width: 18px !important;
  background: linear-gradient(90deg,#ef4444,#f59e0b,#22c55e,#098cc9,#8b5cf6) !important;
}


/* v1.2.124 — Communications toolbar polish + hard rail card colour reset */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-list > button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-communication-rail-list > button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list > button.ecim-communication-rail-card {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  border-color: rgba(148,163,184,.30) !important;
  border-left-color: rgba(9,140,201,.34) !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-list > button.ecim-communication-rail-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-communication-rail-list > button.ecim-communication-rail-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list > button.ecim-communication-rail-card:hover {
  background: rgba(9,140,201,.07) !important;
  background-color: rgba(9,140,201,.07) !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-rail-list > button.ecim-communication-rail-card.is-active,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-template-rail .ecim-communication-rail-list > button.ecim-communication-rail-card.is-active,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-list > button.ecim-communication-rail-card.is-active {
  background: rgba(9,140,201,.16) !important;
  background-color: rgba(9,140,201,.16) !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card *,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-arrow * {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  text-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-template-audience {
  color: #52667a !important;
  -webkit-text-fill-color: #52667a !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar.ecim-formatting-bar-canva {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  padding: 6px !important;
  margin: 6px 0 10px !important;
  border: 1px solid #dbe4f0 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar select.ecim-format-font {
  height: 34px !important;
  min-width: 138px !important;
  max-width: 160px !important;
  border: 1px solid #cfd8e3 !important;
  border-radius: 10px !important;
  background: #fff !important;
  padding: 0 28px 0 11px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-size-control {
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #cfd8e3 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-size-control button,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-size-control input {
  height: 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111827 !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-size-control button {
  width: 34px !important;
  padding: 0 !important;
  font-size: 16px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-size-control input {
  width: 48px !important;
  text-align: center !important;
  font-size: 13px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar button.ecim-format-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  box-shadow: none !important;
  font-size: 15px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar button.ecim-format-icon:hover {
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva {
  width: 48px !important;
  min-width: 48px !important;
  height: 34px !important;
  position: relative !important;
  overflow: visible !important;
  gap: 4px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva .ecim-toolbar-color-a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva .ecim-toolbar-color-a::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -7px !important;
  width: 22px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,#ef4444,#f59e0b,#22c55e,#098cc9,#8b5cf6) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva .ecim-toolbar-color-swatch {
  width: 9px !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: #098cc9 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #cbd5e1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva input[type="color"] {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 48px !important;
  height: 34px !important;
  opacity: 0.001 !important;
  cursor: pointer !important;
  border: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}

/* v1.2.125 — Communications colour picker breathing room / Canva-style hard fix */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar button.ecim-format-color-canva,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-color-canva,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva button.ecim-format-color-canva {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 9px !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar button.ecim-format-color-canva:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-color-canva:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva button.ecim-format-color-canva:hover {
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva .ecim-toolbar-color-a,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-color-canva .ecim-toolbar-color-a {
  flex: 0 0 auto !important;
  width: 20px !important;
  height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  z-index: 2 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva .ecim-toolbar-color-a::after,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-color-canva .ecim-toolbar-color-a::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -3px !important;
  width: 24px !important;
  height: 4px !important;
  transform: translateX(-50%) !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,#ef4444,#f59e0b,#22c55e,#098cc9,#8b5cf6) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva .ecim-toolbar-color-swatch,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-color-canva .ecim-toolbar-color-swatch {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-block !important;
  border-radius: 5px !important;
  background: #098cc9 !important;
  border: 1px solid rgba(15,23,42,.18) !important;
  box-shadow: inset 0 0 0 2px #fff !important;
  z-index: 2 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva input[type="color"],
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar button.ecim-format-color-canva input[type="color"],
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-color-canva input[type="color"],
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva button.ecim-format-color-canva input[type="color"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  z-index: 5 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva input[type="color"]::-webkit-color-swatch-wrapper,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-rich-formatting-bar .ecim-format-color-canva input[type="color"]::-webkit-color-swatch,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-color-canva input[type="color"]::-webkit-color-swatch-wrapper,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-formatting-bar-canva .ecim-format-color-canva input[type="color"]::-webkit-color-swatch {
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  background: transparent !important;
}

/* v1.2.126 — Communications toolbar uses the exact Badge Template Canva toolbar system */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 48px !important;
  margin: 0 0 12px !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(203, 213, 225, .9) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .13) !important;
  backdrop-filter: blur(14px) !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: thin !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva * {
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva select,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva input[type="number"] {
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-font {
  width: 148px !important;
  min-width: 148px !important;
  max-width: 148px !important;
  padding: 0 28px 0 10px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  display: inline-flex !important;
  align-items: center !important;
  height: 34px !important;
  min-width: 116px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper button {
  width: 31px !important;
  height: 32px !important;
  min-width: 31px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper button:hover {
  background: #f1f5f9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper input[type="number"] {
  display: block !important;
  width: 52px !important;
  min-width: 52px !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid #e2e8f0 !important;
  border-right: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  -moz-appearance: textfield !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper input::-webkit-outer-spin-button,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 34px !important;
  min-width: 34px !important;
  width: auto !important;
  padding: 0 9px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-icon:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva select:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour:hover {
  background: #f1f5f9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour span {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  line-height: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour span::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -5px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #8b5cf6) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour input[type="color"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
}

/* v1.2.127 — Shared editor toolbar: Communications now reuses Badge Template toolbar architecture */
.ecim-badge-toolbar-canva .ecim-toolbar-size-input,
.ecim-badge-toolbar-canva .ecim-canva-size-stepper input[type="number"] {
  display: block !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid #e2e8f0 !important;
  border-right: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  -moz-appearance: textfield !important;
}
.ecim-badge-toolbar-canva .ecim-toolbar-size-input::-webkit-outer-spin-button,
.ecim-badge-toolbar-canva .ecim-toolbar-size-input::-webkit-inner-spin-button,
.ecim-badge-toolbar-canva .ecim-canva-size-stepper input[type="number"]::-webkit-outer-spin-button,
.ecim-badge-toolbar-canva .ecim-canva-size-stepper input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: calc(100% - 16px) !important;
  min-height: 48px !important;
  margin: 0 auto 18px !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(203, 213, 225, .9) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .13) !important;
  backdrop-filter: blur(14px) !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: thin !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  display: inline-flex !important;
  align-items: center !important;
  height: 34px !important;
  min-width: 116px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper button {
  width: 31px !important;
  height: 32px !important;
  min-width: 31px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour input[type="color"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
}

/* v1.2.128 — communications/global settings architecture cleanup */
.ecim-email-shell-image {
  display: block;
  width: 100%;
  max-height: 180px;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
}
.ecim-global-branding-card .ecim-info-strip,
.ecim-global-automation-card .ecim-info-strip {
  margin-top: 14px;
}
.ecim-global-automation-card .ecim-check-row {
  margin-top: 12px;
}

/* v1.2.129 — event email header sizing + real email preview frame */
.ecim-image-sizing-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 150px;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(148, 163, 184, .18);
}
.ecim-image-sizing-row label {
  display: grid;
  gap: 6px;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
}
.ecim-image-sizing-row select,
.ecim-image-sizing-row input {
  height: 38px;
  border: 1px solid rgba(148, 163, 184, .44);
  border-radius: 10px;
  padding: 0 10px;
  background: #fff;
  color: #0f172a;
  font-weight: 650;
}
.ecim-email-client-frame {
  max-width: 680px;
  margin: 0 auto;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 18px;
  background: #eef2f7;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .10);
  overflow: hidden;
}
.ecim-email-client-toolbar {
  height: 34px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  background: #f8fafc;
  border-bottom: 1px solid rgba(148, 163, 184, .22);
}
.ecim-email-client-toolbar span {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #cbd5e1;
}
.ecim-email-client-frame .ecim-email-shell-preview {
  width: min(100%, 620px);
  margin: 22px auto;
  border-radius: 0;
  border: 1px solid rgba(148, 163, 184, .22);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .08);
}
.ecim-email-preheader {
  padding: 10px 24px;
  color: #94a3b8;
  font-size: 11px;
  line-height: 1.35;
  background: #f8fafc;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
}
.ecim-email-hero {
  background: #f8fafc;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
}
.ecim-email-hero.is-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  color: #64748b;
  font-weight: 800;
  letter-spacing: .02em;
}
.ecim-email-client-frame .ecim-email-shell-image {
  max-height: none;
  border: 0;
  border-radius: 0;
  margin: 0;
}
.ecim-email-client-frame .ecim-email-shell-header,
.ecim-email-client-frame .ecim-email-shell-footer {
  padding: 20px 24px;
  background: #ffffff;
}
.ecim-email-client-frame .ecim-email-shell-header strong {
  font-size: 18px;
}
.ecim-email-client-frame .ecim-email-shell-body {
  padding: 28px 24px;
  font-size: 14px;
  line-height: 1.68;
}
.ecim-email-client-frame .ecim-email-shell-meta {
  padding: 14px 24px;
}
@media (max-width: 780px) {
  .ecim-image-sizing-row { grid-template-columns: 1fr; }
  .ecim-email-client-frame .ecim-email-shell-preview { margin: 12px; width: auto; }
}

/* v1.2.130 — Gmail/Outlook desktop/mobile communications preview */
.ecim-preview-toolbar-head {
  align-items: center;
  gap: 14px;
}
.ecim-preview-controls {
  margin-left: auto;
  display: grid;
  grid-template-columns: auto auto;
  gap: 8px;
  align-items: center;
}
.ecim-preview-controls > div {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 12px;
  background: #f8fafc;
}
.ecim-preview-toggle {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  border-radius: 9px;
  padding: 7px 10px;
  background: transparent;
  color: #52667a;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.ecim-preview-toggle.is-active {
  background: #098cc9;
  color: #fff;
  box-shadow: 0 8px 18px rgba(9,140,201,.16);
}
.ecim-email-client-frame {
  max-width: 920px;
  background: #f5f7fb;
  border-radius: 18px;
}
.ecim-email-client-topbar {
  min-height: 48px;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(148, 163, 184, .24);
  background: #fff;
}
.ecim-email-client-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #172033;
  font-size: 13px;
}
.ecim-email-client-brand span {
  width: 24px;
  height: 24px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e0f2fe;
  color: #0369a1;
  font-weight: 900;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-brand span {
  background: #dbeafe;
  color: #1d4ed8;
}
.ecim-email-client-search {
  height: 30px;
  border-radius: 999px;
  background: #eef2f7;
  color: #94a3b8;
  display: flex;
  align-items: center;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 650;
}
.ecim-email-client-layout {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  min-height: 540px;
}
.ecim-email-client-sidebar {
  padding: 14px 10px;
  border-right: 1px solid rgba(148, 163, 184, .20);
  background: #f8fafc;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}
.ecim-email-client-sidebar span:first-child {
  color: #0f172a;
  background: rgba(9, 140, 201, .10);
  border-radius: 999px;
}
.ecim-email-client-sidebar span {
  padding: 8px 10px;
}
.ecim-email-client-message {
  padding: 22px;
  background: #fff;
}
.ecim-email-client-message-head {
  max-width: 680px;
  margin: 0 auto 16px;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
  padding-bottom: 14px;
}
.ecim-email-client-message-head h3 {
  margin: 0 0 14px;
  font-size: 22px;
  line-height: 1.25;
  color: #172033;
}
.ecim-email-client-from-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  color: #334155;
}
.ecim-email-avatar {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #e2e8f0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: #475569;
}
.ecim-email-client-from-row strong {
  display: block;
  font-size: 13px;
  color: #172033;
}
.ecim-email-client-from-row small,
.ecim-email-client-from-row time {
  color: #64748b;
  font-size: 11px;
}
.ecim-email-client-frame .ecim-email-shell-preview {
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
  border: 0;
  box-shadow: none;
}
.ecim-email-client-frame .ecim-email-shell-body {
  padding: 30px 28px;
  font-size: 14px;
  line-height: 1.7;
}
.ecim-email-client-frame .ecim-email-shell-footer {
  padding: 18px 28px;
  background: #f8fafc;
}
.ecim-email-client-frame.is-mobile {
  max-width: 390px;
}
.ecim-email-client-frame.is-mobile .ecim-email-client-topbar {
  grid-template-columns: 1fr;
}
.ecim-email-client-frame.is-mobile .ecim-email-client-search,
.ecim-email-client-frame.is-mobile .ecim-email-client-sidebar {
  display: none;
}
.ecim-email-client-frame.is-mobile .ecim-email-client-layout {
  grid-template-columns: 1fr;
  min-height: 620px;
}
.ecim-email-client-frame.is-mobile .ecim-email-client-message {
  padding: 14px 12px;
}
.ecim-email-client-frame.is-mobile .ecim-email-client-message-head h3 {
  font-size: 18px;
}
.ecim-email-client-frame.is-mobile .ecim-email-client-from-row {
  grid-template-columns: 32px minmax(0, 1fr);
}
.ecim-email-client-frame.is-mobile .ecim-email-client-from-row time {
  display: none;
}
.ecim-email-client-frame.is-mobile .ecim-email-shell-body {
  padding: 24px 18px;
  font-size: 14px;
}
.ecim-email-client-frame.is-mobile .ecim-email-shell-footer {
  padding: 16px 18px;
}
@media (max-width: 900px) {
  .ecim-preview-controls { grid-template-columns: 1fr; justify-items: end; }
  .ecim-email-client-layout { grid-template-columns: 1fr; }
  .ecim-email-client-sidebar { display: none; }
}

/* v1.2.131 — Communications preview realism + simpler editor live preview */
.ecim-email-live-simple {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 16px;
  background: #f8fafc;
  overflow: hidden;
}
.ecim-email-live-subject {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
  background: #fff;
}
.ecim-email-live-subject strong {
  color: #64748b;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ecim-email-live-subject span {
  color: #172033;
  font-size: 14px;
  font-weight: 800;
}
.ecim-email-live-canvas {
  max-height: 440px;
  overflow: auto;
  background: #fff;
}
.ecim-email-live-hero {
  border-bottom: 1px solid rgba(148, 163, 184, .16);
}
.ecim-email-live-body {
  padding: 18px;
  color: #334155;
  font-size: 13px;
  line-height: 1.6;
}
.ecim-email-device-stage {
  display: grid;
  gap: 8px;
  justify-items: center;
}
.ecim-device-scroll-note {
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
}
.ecim-email-scroll-region {
  max-height: 620px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 8px 0 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 116, 139, .55) rgba(226, 232, 240, .7);
}
.ecim-email-scroll-region::-webkit-scrollbar,
.ecim-email-live-canvas::-webkit-scrollbar {
  width: 9px;
}
.ecim-email-scroll-region::-webkit-scrollbar-track,
.ecim-email-live-canvas::-webkit-scrollbar-track {
  background: rgba(226, 232, 240, .7);
  border-radius: 999px;
}
.ecim-email-scroll-region::-webkit-scrollbar-thumb,
.ecim-email-live-canvas::-webkit-scrollbar-thumb {
  background: rgba(100, 116, 139, .55);
  border-radius: 999px;
}
.ecim-email-client-frame.is-gmail {
  background: #f6f8fc;
  border-radius: 20px;
}
.ecim-email-client-frame.is-gmail .ecim-email-client-topbar {
  background: #f6f8fc;
}
.ecim-email-client-frame.is-gmail .ecim-email-client-sidebar {
  background: #f6f8fc;
  border-right: 0;
}
.ecim-email-client-frame.is-gmail .ecim-email-client-message {
  background: #fff;
  border-radius: 18px 0 0 0;
}
.ecim-email-client-frame.is-gmail .ecim-email-client-message-head h3 {
  font-size: 22px;
  font-weight: 500;
}
.ecim-email-client-frame.is-outlook {
  background: #f3f6fb;
  border-radius: 6px;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-topbar {
  background: #2563eb;
  color: #fff;
  border-bottom: 0;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-brand,
.ecim-email-client-frame.is-outlook .ecim-email-client-brand strong {
  color: #fff;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-search {
  background: rgba(255,255,255,.22);
  color: #eaf2ff;
  border-radius: 4px;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-sidebar {
  background: #eef3fb;
  border-right: 1px solid rgba(30, 64, 175, .18);
}
.ecim-email-client-frame.is-outlook .ecim-email-client-sidebar span:first-child {
  border-left: 3px solid #2563eb;
  border-radius: 4px;
  background: #dbeafe;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-message {
  background: #fff;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-message-head h3 {
  font-size: 20px;
  font-weight: 650;
}
.ecim-email-client-frame.is-mobile {
  border-radius: 28px;
  border: 10px solid #111827;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
}
.ecim-email-client-frame.is-mobile .ecim-email-scroll-region {
  max-height: 560px;
  padding-right: 4px;
}
.ecim-email-client-frame.is-mobile .ecim-email-client-message-head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff;
}
.ecim-preview-controls {
  grid-template-columns: auto auto auto;
}
@media (max-width: 1100px) {
  .ecim-preview-controls { grid-template-columns: 1fr; justify-items: end; }
}

/* v1.2.132 — Communications preview data/render corrections */
.ecim-preview-controls {
  grid-template-columns: auto auto auto minmax(220px, 1fr);
  align-items: center;
}
.ecim-preview-recipient-select {
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr);
  align-items: center;
  gap: 8px;
  justify-self: stretch;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}
.ecim-preview-recipient-select select {
  min-height: 34px;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 10px;
  background: #fff;
  padding: 0 10px;
  color: #172033;
  font-size: 12px;
  font-weight: 700;
}
.ecim-email-qr-block {
  margin: 20px 0;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 16px;
  background: #f8fafc;
  display: inline-grid;
  gap: 8px;
  justify-items: center;
}
.ecim-email-qr-code {
  width: 138px;
  height: 138px;
  border-radius: 12px;
  background: #fff;
  display: grid;
  place-items: center;
  padding: 10px;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .22);
}
.ecim-email-qr-code svg {
  width: 100%;
  height: 100%;
  display: block;
}
.ecim-email-qr-block figcaption {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.ecim-email-client-frame.is-gmail {
  background: #f8fafd;
  border: 1px solid rgba(218, 220, 224, .95);
  box-shadow: 0 18px 50px rgba(60, 64, 67, .16);
  font-family: Arial, Roboto, sans-serif;
}
.ecim-email-client-frame.is-gmail .ecim-email-client-topbar {
  min-height: 56px;
  background: #f8fafd;
  grid-template-columns: 172px minmax(0, 1fr);
  border-bottom: 1px solid rgba(218, 220, 224, .7);
}
.ecim-email-client-frame.is-gmail .ecim-email-client-brand span {
  background: #fff;
  color: #ea4335;
  border: 1px solid rgba(218, 220, 224, .9);
  border-radius: 999px;
}
.ecim-email-client-frame.is-gmail .ecim-email-client-search {
  height: 42px;
  border-radius: 24px;
  background: #edf2fa;
  color: #5f6368;
  justify-content: flex-start;
}
.ecim-email-client-frame.is-gmail .ecim-email-client-sidebar span:first-child {
  background: #d3e3fd;
  border-radius: 0 18px 18px 0;
  color: #001d35;
}
.ecim-email-client-frame.is-gmail .ecim-email-client-message {
  background: #fff;
  border-left: 1px solid rgba(218, 220, 224, .65);
}
.ecim-email-client-frame.is-gmail .ecim-email-client-message-head {
  max-width: 720px;
  border-bottom: 0;
}
.ecim-email-client-frame.is-gmail .ecim-email-client-message-head h3 {
  font-size: 22px;
  font-weight: 400;
  color: #1f1f1f;
}
.ecim-email-client-frame.is-outlook {
  background: #f5f6f8;
  border-radius: 8px;
  border: 1px solid rgba(209, 213, 219, .95);
  box-shadow: 0 18px 50px rgba(15, 23, 42, .14);
  font-family: "Segoe UI", Arial, sans-serif;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-topbar {
  min-height: 52px;
  background: #0f6cbd;
  grid-template-columns: 184px minmax(0, 1fr);
}
.ecim-email-client-frame.is-outlook .ecim-email-client-brand span {
  background: #fff;
  color: #0f6cbd;
  border-radius: 3px;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-search {
  height: 34px;
  max-width: 520px;
  border-radius: 4px;
  background: rgba(255,255,255,.92);
  color: #475569;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-layout {
  grid-template-columns: 156px minmax(0, 1fr);
}
.ecim-email-client-frame.is-outlook .ecim-email-client-sidebar {
  background: #f3f2f1;
  color: #323130;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-message-head {
  max-width: 720px;
  border-bottom: 1px solid #edebe9;
}
.ecim-email-client-frame.is-outlook .ecim-email-client-message-head h3 {
  font-size: 21px;
  font-weight: 600;
  color: #323130;
}
.ecim-email-client-frame.is-mobile .ecim-email-client-topbar {
  min-height: 44px;
}
.ecim-email-client-frame.is-mobile .ecim-email-client-message-head {
  max-width: none;
}
.ecim-email-client-frame.is-mobile .ecim-email-qr-code {
  width: 120px;
  height: 120px;
}
@media (max-width: 1100px) {
  .ecim-preview-controls { grid-template-columns: 1fr; justify-items: stretch; }
  .ecim-preview-recipient-select { grid-template-columns: 1fr; }
}

/* v1.2.133 — More realistic Gmail/Outlook preview shells + repaired mobile frame */
.ecim-email-client-frame.is-gmail,
.ecim-email-client-frame.is-outlook {
  max-width: 1120px;
  width: 100%;
  overflow: hidden;
}
.ecim-email-client-frame.is-mobile {
  width: 390px;
  max-width: 390px;
  height: 760px;
  border: 12px solid #111827;
  border-radius: 34px;
  background: #fff;
  overflow: hidden;
}
.ecim-gmail-topbar,
.ecim-outlook-ribbon {
  display: grid;
  align-items: center;
  gap: 12px;
}
.ecim-gmail-topbar {
  grid-template-columns: 56px minmax(0, 1fr) 40px;
  min-height: 64px;
  padding: 10px 18px;
  background: #f8fafd;
  border-bottom: 1px solid #e5e7eb;
  font-family: Arial, Roboto, sans-serif;
}
.ecim-gmail-logo {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #dadce0;
  display: grid;
  place-items: center;
  color: #d93025;
  font-weight: 800;
}
.ecim-gmail-search {
  height: 44px;
  border-radius: 24px;
  background: #edf2fa;
  display: flex;
  align-items: center;
  padding: 0 18px;
  color: #5f6368;
  font-size: 13px;
}
.ecim-gmail-actions {
  color: #5f6368;
  font-weight: 800;
  text-align: center;
}
.ecim-gmail-layout {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  min-height: 660px;
  background: #f8fafd;
  font-family: Arial, Roboto, sans-serif;
}
.ecim-gmail-sidebar {
  padding: 14px 12px;
  display: grid;
  align-content: start;
  gap: 5px;
  color: #3c4043;
  font-size: 13px;
}
.ecim-gmail-sidebar button {
  border: 0;
  border-radius: 16px;
  background: #c2e7ff;
  padding: 14px 18px;
  font-weight: 700;
  color: #001d35;
  margin-bottom: 10px;
}
.ecim-gmail-sidebar span {
  padding: 8px 14px;
  border-radius: 0 18px 18px 0;
}
.ecim-gmail-sidebar span.active {
  background: #d3e3fd;
  font-weight: 700;
}
.ecim-gmail-message {
  background: #fff;
  border-left: 1px solid #e5e7eb;
  padding: 0 28px 28px;
  min-width: 0;
}
.ecim-gmail-actionbar {
  height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #5f6368;
  font-size: 12px;
  border-bottom: 1px solid #f1f3f4;
}
.ecim-gmail-subject-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 22px 0 12px;
}
.ecim-gmail-subject-row h3 {
  margin: 0;
  color: #1f1f1f;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
}
.ecim-gmail-label {
  background: #e8eaed;
  color: #5f6368;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 700;
}
.ecim-gmail-from-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
}
.ecim-gmail-from-row strong,
.ecim-outlook-message-head strong { color: #202124; font-size: 13px; }
.ecim-gmail-from-row small,
.ecim-gmail-from-row time,
.ecim-outlook-message-head small,
.ecim-outlook-message-head time { color: #5f6368; font-size: 12px; }
.ecim-outlook-ribbon {
  grid-template-columns: 150px minmax(0, 1fr) auto auto auto;
  min-height: 56px;
  padding: 8px 16px;
  background: #0f6cbd;
  color: #fff;
  font-family: "Segoe UI", Arial, sans-serif;
}
.ecim-outlook-search {
  height: 34px;
  max-width: 520px;
  border-radius: 4px;
  background: rgba(255,255,255,.92);
  color: #605e5c;
  display: flex;
  align-items: center;
  padding: 0 12px;
}
.ecim-outlook-ribbon span {
  font-size: 12px;
  font-weight: 600;
  opacity: .95;
}
.ecim-outlook-layout {
  display: grid;
  grid-template-columns: 150px 270px minmax(0, 1fr);
  min-height: 670px;
  background: #fff;
  font-family: "Segoe UI", Arial, sans-serif;
}
.ecim-outlook-folders {
  background: #f3f2f1;
  border-right: 1px solid #edebe9;
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 14px 10px;
  color: #323130;
  font-size: 13px;
}
.ecim-outlook-folders strong { margin: 0 8px 8px; font-size: 12px; color: #605e5c; }
.ecim-outlook-folders span { padding: 8px 10px; border-radius: 4px; }
.ecim-outlook-folders span.active { background: #deecf9; color: #0f6cbd; font-weight: 700; }
.ecim-outlook-list {
  background: #faf9f8;
  border-right: 1px solid #edebe9;
  min-width: 0;
}
.ecim-outlook-list-head {
  padding: 12px 14px;
  border-bottom: 1px solid #edebe9;
  color: #323130;
  font-size: 13px;
  font-weight: 700;
}
.ecim-outlook-list-item {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-bottom: 1px solid #edebe9;
  color: #323130;
  font-size: 13px;
}
.ecim-outlook-list-item.active {
  background: #deecf9;
  border-left: 3px solid #0f6cbd;
}
.ecim-outlook-list-item span,
.ecim-outlook-list-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ecim-outlook-list-item small { color: #605e5c; }
.ecim-outlook-reading {
  background: #fff;
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
}
.ecim-outlook-commandbar {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 0 18px;
  border-bottom: 1px solid #edebe9;
  color: #323130;
  font-size: 12px;
  font-weight: 600;
}
.ecim-outlook-message-head {
  padding: 20px 28px 16px;
  border-bottom: 1px solid #edebe9;
}
.ecim-outlook-message-head h3 {
  margin: 0 0 14px;
  color: #323130;
  font-size: 22px;
  font-weight: 600;
}
.ecim-email-client-frame .ecim-email-scroll-region {
  max-height: 520px;
  overflow-y: auto;
  padding-right: 10px;
}
.ecim-email-client-frame .ecim-email-shell-preview {
  max-width: 680px;
  width: 100%;
  margin: 0 auto 24px;
  background: #fff;
}
.ecim-outlook-reading .ecim-email-scroll-region,
.ecim-gmail-message .ecim-email-scroll-region {
  padding-top: 0;
}
.ecim-email-client-frame.is-mobile .ecim-gmail-topbar,
.ecim-email-client-frame.is-mobile .ecim-outlook-ribbon {
  min-height: 54px;
  padding: 8px 12px;
  grid-template-columns: minmax(0, 1fr) auto;
}
.ecim-email-client-frame.is-mobile .ecim-gmail-search,
.ecim-email-client-frame.is-mobile .ecim-gmail-actions,
.ecim-email-client-frame.is-mobile .ecim-gmail-sidebar,
.ecim-email-client-frame.is-mobile .ecim-outlook-search,
.ecim-email-client-frame.is-mobile .ecim-outlook-ribbon span,
.ecim-email-client-frame.is-mobile .ecim-outlook-folders,
.ecim-email-client-frame.is-mobile .ecim-outlook-list,
.ecim-email-client-frame.is-mobile .ecim-gmail-actionbar {
  display: none;
}
.ecim-email-client-frame.is-mobile .ecim-gmail-layout,
.ecim-email-client-frame.is-mobile .ecim-outlook-layout {
  display: block;
  min-height: auto;
}
.ecim-email-client-frame.is-mobile .ecim-gmail-message,
.ecim-email-client-frame.is-mobile .ecim-outlook-reading {
  padding: 0;
  border: 0;
  display: block;
}
.ecim-email-client-frame.is-mobile .ecim-gmail-subject-row,
.ecim-email-client-frame.is-mobile .ecim-outlook-message-head {
  padding: 16px 14px 10px;
}
.ecim-email-client-frame.is-mobile .ecim-gmail-subject-row h3,
.ecim-email-client-frame.is-mobile .ecim-outlook-message-head h3 {
  font-size: 18px;
}
.ecim-email-client-frame.is-mobile .ecim-gmail-from-row,
.ecim-email-client-frame.is-mobile .ecim-email-client-from-row {
  grid-template-columns: 34px minmax(0, 1fr);
  padding: 0 14px 12px;
}
.ecim-email-client-frame.is-mobile .ecim-gmail-from-row time,
.ecim-email-client-frame.is-mobile .ecim-email-client-from-row time {
  display: none;
}
.ecim-email-client-frame.is-mobile .ecim-email-scroll-region {
  height: 590px;
  max-height: 590px;
  padding: 0 4px 0 0;
}
.ecim-email-client-frame.is-mobile .ecim-email-shell-preview {
  width: 100%;
  margin: 0;
  box-shadow: none;
  border: 0;
}
@media (max-width: 1180px) {
  .ecim-outlook-layout { grid-template-columns: 128px 220px minmax(0, 1fr); }
  .ecim-gmail-layout { grid-template-columns: 140px minmax(0, 1fr); }
}

/* v1.2.134 communications template alignment + QR block designer */
.ecim-communication-toolbar-canva .ecim-canva-separator {
  align-self: stretch;
}
.ecim-communication-qr-designer {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 1.2fr) 96px 110px 120px;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 16px;
  background: #f8fafc;
}
.ecim-communication-qr-designer > div {
  display: grid;
  gap: 2px;
}
.ecim-communication-qr-designer strong {
  color: #172033;
  font-size: 13px;
  line-height: 1.2;
}
.ecim-communication-qr-designer small {
  color: #64748b;
  font-size: 11px;
  line-height: 1.25;
}
.ecim-communication-qr-designer label {
  display: grid;
  gap: 5px;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}
.ecim-communication-qr-designer input:not([type="checkbox"]),
.ecim-communication-qr-designer select {
  min-height: 34px;
  border: 1px solid rgba(148, 163, 184, .32);
  border-radius: 10px;
  background: #fff;
  padding: 0 10px;
  color: #172033;
  font-size: 12px;
  font-weight: 700;
}
.ecim-communication-qr-designer .ecim-qr-show-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  color: #334155;
}
.ecim-email-qr-block {
  width: fit-content;
  max-width: 100%;
}
.ecim-email-qr-block.is-align-center { margin-left: auto; margin-right: auto; }
.ecim-email-qr-block.is-align-right { margin-left: auto; margin-right: 0; }
.ecim-email-qr-code {
  width: var(--ecim-email-qr-size, 138px);
  height: var(--ecim-email-qr-size, 138px);
}
.ecim-gmail-app-shell,
.ecim-outlook-app-shell {
  height: 760px;
  background: #fff;
  border-radius: 34px;
  overflow: hidden;
  border: 10px solid #111827;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
  display: grid;
  grid-template-rows: auto auto 1fr;
}
.ecim-mobile-status {
  height: 30px;
  padding: 6px 18px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  font-weight: 800;
  background: #fff;
  color: #111827;
}
.ecim-gmail-app-header,
.ecim-outlook-app-header {
  height: 48px;
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
  font-size: 14px;
}
.ecim-gmail-app-header { color: #202124; background: #fff; }
.ecim-outlook-app-header { color: #fff; background: #2563eb; }
.ecim-gmail-app-message,
.ecim-outlook-app-message {
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  padding: 18px 16px 0;
  background: #fff;
}
.ecim-gmail-app-message .ecim-email-scroll-region,
.ecim-outlook-app-message .ecim-email-scroll-region {
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px 0 18px;
}
.ecim-gmail-app-replybar,
.ecim-outlook-app-actionbar {
  display: flex;
  gap: 8px;
  padding: 12px 0 16px;
  border-top: 1px solid rgba(148, 163, 184, .18);
  background: #fff;
}
.ecim-gmail-app-replybar button,
.ecim-outlook-app-actionbar button {
  border: 1px solid rgba(148, 163, 184, .3);
  background: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 800;
  color: #334155;
}
.ecim-outlook-app-actionbar button:first-child { background: #2563eb; border-color: #2563eb; color: #fff; }
@media (max-width: 1100px) {
  .ecim-communication-qr-designer { grid-template-columns: 1fr 1fr; }
}

/* v1.2.135 — Communications toolbar containment + preview toggles/device frames */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 14px !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  overflow: visible !important;
  row-gap: 8px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-font {
  width: 150px !important;
  min-width: 136px !important;
  flex: 0 1 150px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  flex: 0 0 116px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-separator {
  width: 1px !important;
  height: 28px !important;
  min-width: 1px !important;
  align-self: center !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour {
  flex: 0 0 34px !important;
}
.ecim-preview-controls {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px 12px;
  align-items: center;
}
.ecim-preview-switcher {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #64748b;
  font-size: 11px;
  font-weight: 850;
}
.ecim-preview-switcher > span {
  text-transform: uppercase;
  letter-spacing: .06em;
}
.ecim-preview-switcher > div {
  display: inline-flex;
  align-items: center;
  padding: 3px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 999px;
  background: #f8fafc;
}
.ecim-preview-segment {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 7px 11px;
  background: transparent;
  color: #52667a;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.ecim-preview-segment.is-active {
  background: #098cc9;
  color: #fff;
  box-shadow: 0 8px 18px rgba(9, 140, 201, .16);
}
.ecim-preview-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  user-select: none;
}
.ecim-preview-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.ecim-preview-switch i {
  position: relative;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: inset 0 0 0 1px rgba(100, 116, 139, .16);
}
.ecim-preview-switch i::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .24);
  transition: transform .16s ease;
}
.ecim-preview-switch input:checked + i {
  background: #098cc9;
}
.ecim-preview-switch input:checked + i::after {
  transform: translateX(18px);
}
.ecim-preview-recipient-select {
  min-width: 260px;
  margin-left: 0;
}
.ecim-mobile-device-label {
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #020617;
  color: #e5e7eb;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ecim-mobile-device.ecim-device-iphone {
  width: 430px;
  max-width: 430px;
  height: 932px;
  border-radius: 42px;
  border: 12px solid #111827;
}
.ecim-mobile-device.ecim-device-galaxy {
  width: 412px;
  max-width: 412px;
  height: 915px;
  border-radius: 36px;
  border: 10px solid #111827;
}
.ecim-mobile-device .ecim-email-scroll-region {
  min-height: 0;
  max-height: none !important;
}
.ecim-mobile-device .ecim-email-shell-body {
  font-size: 14px;
  line-height: 1.62;
}
@media (max-width: 1180px) {
  .ecim-preview-controls { justify-content: flex-start; }
  .ecim-preview-recipient-select { width: 100%; min-width: 0; }
}
@media (max-width: 620px) {
  .ecim-mobile-device.ecim-device-iphone,
  .ecim-mobile-device.ecim-device-galaxy {
    width: min(100%, 390px);
    height: 760px;
  }
}

/* v1.2.136 — Communications toolbar containment + true preview toggles/phone device frames */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-edit-preview-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-compose,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-editor-shell {
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-editor-grid {
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 0 14px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  gap: 7px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-font {
  width: 136px !important;
  min-width: 0 !important;
  max-width: 136px !important;
  flex: 1 1 132px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  flex: 0 0 116px !important;
  max-width: 116px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-separator {
  display: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour {
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
}
.ecim-preview-mode-switch {
  padding: 4px 8px;
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 999px;
  background: #fff;
}
.ecim-phone-switcher {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px;
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 999px;
  background: #fff;
}
.ecim-phone-choice {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  padding: 0;
}
.ecim-phone-choice.is-active {
  background: rgba(9, 140, 201, .14);
  box-shadow: inset 0 0 0 1px rgba(9, 140, 201, .22);
}
.ecim-phone-outline {
  position: relative;
  display: block;
  border: 2px solid #111827;
  background: #0f172a;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}
.ecim-phone-outline b {
  position: absolute;
  display: block;
  background: #e5e7eb;
}
.ecim-phone-iphone {
  width: 17px;
  height: 29px;
  border-radius: 7px;
}
.ecim-phone-iphone::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 50%;
  width: 7px;
  height: 2px;
  border-radius: 999px;
  transform: translateX(-50%);
  background: #020617;
}
.ecim-phone-iphone b {
  left: 4px;
  right: 4px;
  bottom: 3px;
  height: 2px;
  border-radius: 999px;
}
.ecim-phone-galaxy {
  width: 16px;
  height: 29px;
  border-radius: 4px;
}
.ecim-phone-galaxy::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 50%;
  width: 3px;
  height: 3px;
  border-radius: 999px;
  transform: translateX(-50%);
  background: #020617;
}
.ecim-phone-galaxy b {
  left: 6px;
  right: 6px;
  bottom: 3px;
  height: 2px;
  border-radius: 999px;
}
.ecim-mobile-device.ecim-device-iphone {
  width: 430px;
  max-width: 430px;
  height: 932px;
  border-radius: 46px;
  border: 13px solid #111827;
  box-shadow: 0 18px 45px rgba(15,23,42,.24), inset 0 0 0 2px rgba(255,255,255,.06);
}
.ecim-mobile-device.ecim-device-iphone::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 50%;
  width: 118px;
  height: 31px;
  transform: translateX(-50%);
  border-radius: 0 0 18px 18px;
  background: #111827;
  z-index: 4;
}
.ecim-mobile-device.ecim-device-galaxy {
  width: 412px;
  max-width: 412px;
  height: 915px;
  border-radius: 30px;
  border: 9px solid #111827;
  box-shadow: 0 18px 45px rgba(15,23,42,.24), inset 0 0 0 2px rgba(255,255,255,.06);
}
.ecim-mobile-device.ecim-device-galaxy::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #111827;
  z-index: 4;
}

/* v1.2.137 — communications toolbar containment + functional preview control layout */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-edit-preview-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr) !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(118px, 1fr) 116px 34px repeat(8, 34px) !important;
  gap: 7px !important;
  align-items: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-font {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  width: 116px !important;
  max-width: 116px !important;
  flex: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  flex: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-preview-panel {
  min-width: 0 !important;
  overflow: hidden !important;
}
.ecim-preview-switch input[data-action="communication-preview-switch"] + i,
.ecim-preview-switch input[data-action="communication-preview-live-toggle"] + i {
  pointer-events: none;
}
@media (max-width: 1320px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-edit-preview-grid {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
    grid-template-columns: minmax(120px,1fr) 116px repeat(5,34px) !important;
  }
}

/* v1.2.138 — communications thorough review fixes */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-edit-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px) !important;
  gap: 18px !important;
  align-items: start !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 12px !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  row-gap: 6px !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-font {
  flex: 1 1 140px !important;
  min-width: 130px !important;
  max-width: 180px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  flex: 0 0 auto !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-separator {
  display: none !important;
}
.ecim-preview-toggle-group {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 3px;
  border: 1px solid rgba(203,213,225,.9);
  border-radius: 999px;
  background: #f8fafc;
}
.ecim-preview-toggle-option {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 7px 12px !important;
  min-height: 30px !important;
  background: transparent !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  cursor: pointer;
}
.ecim-preview-toggle-option.is-active {
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: 0 1px 4px rgba(15,23,42,.12) !important;
}
.ecim-preview-controls {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
@media (max-width: 1240px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-edit-preview-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v1.2.139 — verified communications preview + toolbar fixes */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-edit-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
  gap: 18px !important;
  align-items: start !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-body-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-email-editor {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 10px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-font {
  flex: 1 1 140px !important;
  width: auto !important;
  min-width: 132px !important;
  max-width: 190px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  flex: 0 0 116px !important;
  width: 116px !important;
  max-width: 116px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-toolbar-canva .ecim-canva-colour {
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-preview-panel {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.ecim-preview-switch-wide {
  min-width: 168px;
  justify-content: space-between;
}
.ecim-preview-switch input[data-action="communication-preview-switch"] + i,
.ecim-preview-switch input[data-action="communication-preview-live-toggle"] + i {
  pointer-events: none;
}
.ecim-email-device-stage.is-mobile {
  display: flex;
  justify-content: center;
  overflow: auto;
  padding: 18px 0 6px;
}
.ecim-email-client-frame.is-mobile {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow: visible;
}
.ecim-mobile-device {
  position: relative;
  overflow: hidden;
  background: #fff;
  margin: 0 auto;
}
.ecim-mobile-device.ecim-device-iphone {
  width: 430px !important;
  height: 932px !important;
  border-radius: 54px !important;
  border: 12px solid #1f2937 !important;
  outline: 2px solid #0b1220;
  box-shadow: 0 22px 55px rgba(15,23,42,.28), inset 0 0 0 1px rgba(255,255,255,.2) !important;
}
.ecim-mobile-device.ecim-device-iphone::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  width: 124px;
  height: 36px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #111827;
  z-index: 20;
}
.ecim-mobile-device.ecim-device-galaxy {
  width: 412px !important;
  height: 915px !important;
  border-radius: 34px !important;
  border: 9px solid #111827 !important;
  outline: 1px solid #334155;
  box-shadow: 0 22px 55px rgba(15,23,42,.28), inset 0 0 0 1px rgba(255,255,255,.22) !important;
}
.ecim-mobile-device.ecim-device-galaxy::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 50%;
  width: 9px;
  height: 9px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #020617;
  z-index: 20;
}
.ecim-mobile-device .ecim-email-scroll-region {
  max-height: calc(100% - 185px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.ecim-phone-outline.ecim-phone-iphone {
  width: 18px;
  height: 31px;
  border-radius: 8px;
}
.ecim-phone-outline.ecim-phone-iphone::before {
  width: 8px;
  height: 3px;
  top: 3px;
  border-radius: 999px;
}
.ecim-phone-outline.ecim-phone-galaxy {
  width: 17px;
  height: 31px;
  border-radius: 5px;
}
.ecim-phone-outline.ecim-phone-galaxy::before {
  width: 4px;
  height: 4px;
  top: 3px;
  border-radius: 999px;
}
@media (max-width: 1280px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-edit-preview-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v1.2.140 — real containment for communications editor toolbar + scaled mobile device previews */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px) !important;
  gap: 20px !important;
  align-items: start !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-body-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-email-editor {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  position: static !important;
  top: auto !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(110px, 150px) 116px repeat(5, 34px) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: 34px !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: start !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  padding: 10px !important;
  margin: 0 0 14px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-font {
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 150px !important;
  flex: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  width: 116px !important;
  min-width: 116px !important;
  max-width: 116px !important;
  flex: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-colour,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-icon {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  flex: none !important;
  padding: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-separator {
  display: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-preview-panel {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.ecim-template-inline-preview-controls {
  margin: 8px 0 12px;
}
.ecim-template-live-preview-controls {
  justify-content: flex-start !important;
  gap: 8px !important;
}
.ecim-template-recipient-select {
  min-width: 0 !important;
  width: 100% !important;
}
.ecim-template-recipient-select select {
  width: 100% !important;
}
.ecim-email-device-stage.is-mobile {
  max-width: 100% !important;
  overflow: auto !important;
  padding: 14px 0 8px !important;
}
.ecim-email-device-stage.is-mobile .ecim-email-client-frame.is-mobile {
  min-width: 0 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  overflow: visible !important;
}
.ecim-mobile-device.ecim-device-iphone {
  width: 344px !important;
  height: 746px !important;
  border-radius: 43px !important;
  border: 10px solid #111827 !important;
  outline: 2px solid #0b1220 !important;
}
.ecim-mobile-device.ecim-device-iphone::before {
  top: 8px !important;
  width: 98px !important;
  height: 28px !important;
  border-radius: 999px !important;
}
.ecim-mobile-device.ecim-device-galaxy {
  width: 344px !important;
  height: 764px !important;
  border-radius: 30px !important;
  border: 8px solid #111827 !important;
  outline: 1px solid #334155 !important;
}
.ecim-mobile-device.ecim-device-galaxy::before {
  top: 12px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
}
.ecim-mobile-device .ecim-mobile-status {
  padding-left: 18px !important;
  padding-right: 18px !important;
}
.ecim-mobile-device .ecim-email-scroll-region {
  max-height: calc(100% - 180px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.ecim-mobile-device .ecim-email-shell-preview {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.ecim-mobile-device .ecim-email-shell-image,
.ecim-mobile-device .ecim-email-hero img {
  max-width: 100% !important;
}
@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 700px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
    grid-template-columns: minmax(110px, 1fr) 116px repeat(3, 34px) !important;
  }
  .ecim-mobile-device.ecim-device-iphone,
  .ecim-mobile-device.ecim-device-galaxy {
    width: 320px !important;
    height: 700px !important;
  }
}

/* v1.2.141 — communications template editor no-bleed toolbar + true mobile device switch */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 400px) !important;
  gap: 24px !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-body-field {
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 10px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-font {
  flex: 1 1 132px !important;
  max-width: 180px !important;
  min-width: 120px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  flex: 0 0 116px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-colour,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-icon {
  flex: 0 0 34px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-preview-panel {
  position: relative !important;
  z-index: 0 !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-email-editor {
  overflow-x: hidden !important;
}
.ecim-preview-switch.ecim-phone-toggle {
  min-width: 104px !important;
  justify-content: center !important;
  gap: 7px !important;
}
.ecim-preview-switch.ecim-phone-toggle > .ecim-phone-outline {
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 28px !important;
  margin: 0 !important;
}
.ecim-preview-switch.ecim-phone-toggle > .ecim-phone-outline.ecim-phone-galaxy {
  border-radius: 6px !important;
}
.ecim-email-client-frame.is-mobile[data-phone="iphone"] .ecim-mobile-device:not(.ecim-device-iphone),
.ecim-email-client-frame.is-mobile[data-phone="galaxy"] .ecim-mobile-device:not(.ecim-device-galaxy) {
  display: none !important;
}
.ecim-email-client-frame.is-mobile[data-phone="iphone"] .ecim-mobile-device.ecim-device-iphone,
.ecim-email-client-frame.is-mobile[data-phone="galaxy"] .ecim-mobile-device.ecim-device-galaxy {
  display: flex !important;
  flex-direction: column !important;
}
.ecim-mobile-device .ecim-email-scroll-region {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
}
.ecim-mobile-device .ecim-email-shell-preview,
.ecim-mobile-device .ecim-email-shell-body,
.ecim-mobile-device .ecim-email-live-body {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.ecim-mobile-device .ecim-email-shell-image,
.ecim-mobile-device .ecim-email-hero img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 1500px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-preview-panel {
    max-width: 720px !important;
  }
}

/* v1.2.142 — confirmed single-device mobile frame + hard template toolbar containment */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 400px) !important;
  gap: 28px !important;
  align-items: start !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-body-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-email-editor {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  position: relative !important;
  z-index: 1 !important;
  width: auto !important;
  max-width: 620px !important;
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 10px !important;
  margin: 0 0 14px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-font {
  flex: 0 1 150px !important;
  width: 150px !important;
  min-width: 120px !important;
  max-width: 150px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  flex: 0 0 116px !important;
  width: 116px !important;
  min-width: 116px !important;
  max-width: 116px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-colour,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-icon {
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-preview-panel {
  position: relative !important;
  z-index: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
}

.ecim-email-device-stage.is-mobile .ecim-email-client-frame.is-mobile {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  overflow: visible !important;
}
.ecim-email-client-frame.is-mobile .ecim-mobile-device {
  position: relative !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  box-sizing: border-box !important;
  outline: 0 !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .18) !important;
}
.ecim-email-client-frame.is-mobile[data-phone="iphone"] .ecim-mobile-device:not(.ecim-device-iphone),
.ecim-email-client-frame.is-mobile[data-phone="galaxy"] .ecim-mobile-device:not(.ecim-device-galaxy) {
  display: none !important;
}
.ecim-email-client-frame.is-mobile[data-phone="iphone"] .ecim-mobile-device.ecim-device-iphone,
.ecim-email-client-frame.is-mobile[data-phone="galaxy"] .ecim-mobile-device.ecim-device-galaxy {
  display: flex !important;
}
.ecim-email-client-frame.is-mobile .ecim-mobile-device::after {
  content: none !important;
  display: none !important;
}
.ecim-mobile-device.ecim-device-iphone {
  width: 344px !important;
  height: 746px !important;
  border: 10px solid #111827 !important;
  border-radius: 44px !important;
  overflow: hidden !important;
}
.ecim-mobile-device.ecim-device-iphone::before {
  content: "" !important;
  position: absolute !important;
  top: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 98px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #111827 !important;
  z-index: 10 !important;
}
.ecim-mobile-device.ecim-device-galaxy {
  width: 344px !important;
  height: 746px !important;
  border: 8px solid #111827 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
}
.ecim-mobile-device.ecim-device-galaxy::before {
  content: "" !important;
  position: absolute !important;
  top: 13px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #111827 !important;
  z-index: 10 !important;
}
.ecim-mobile-device .ecim-email-shell-image,
.ecim-mobile-device .ecim-email-hero img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
@media (max-width: 1500px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
    max-width: 620px !important;
  }
}


/* v1.2.145 — Communications preview hard reset: segmented toggles, one mobile frame, no editor bleed */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-edit-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 400px) !important;
  gap: 28px !important;
  align-items: start !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-body-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-email-editor,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-body-field,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-rich-email-editor {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva.ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 10px !important;
  margin: 0 0 14px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-preview-panel,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-preview-panel {
  position: relative !important;
  z-index: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
}
.ecim-preview-controls {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.ecim-preview-segmented {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 3px !important;
  background: #f1f5f9 !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
}
.ecim-preview-segmented button {
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 8px 11px !important;
  cursor: pointer !important;
}
.ecim-preview-segmented button.is-active {
  background: #0f8fc9 !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.12) !important;
}
.ecim-email-device-stage.is-mobile {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: auto !important;
  padding: 14px 0 8px !important;
  max-width: 100% !important;
}
.ecim-email-device-stage.is-mobile .ecim-email-client-frame.is-mobile {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.ecim-email-client-frame.is-mobile > .ecim-mobile-device {
  position: relative !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  box-sizing: border-box !important;
  outline: 0 !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}
.ecim-email-client-frame.is-mobile > .ecim-mobile-device:not(:first-of-type) {
  display: none !important;
}
.ecim-email-client-frame.is-mobile > .ecim-mobile-device::after {
  content: none !important;
  display: none !important;
}
.ecim-email-client-frame.is-mobile > .ecim-mobile-device.ecim-device-iphone {
  width: 344px !important;
  height: 746px !important;
  border: 10px solid #111827 !important;
  border-radius: 44px !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .18) !important;
}
.ecim-email-client-frame.is-mobile > .ecim-mobile-device.ecim-device-iphone::before {
  content: "" !important;
  position: absolute !important;
  top: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 98px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #111827 !important;
  z-index: 10 !important;
}
.ecim-email-client-frame.is-mobile > .ecim-mobile-device.ecim-device-galaxy {
  width: 344px !important;
  height: 746px !important;
  border: 8px solid #111827 !important;
  border-radius: 30px !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .18) !important;
}
.ecim-email-client-frame.is-mobile > .ecim-mobile-device.ecim-device-galaxy::before {
  content: "" !important;
  position: absolute !important;
  top: 13px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #111827 !important;
  z-index: 10 !important;
}
.ecim-mobile-device .ecim-email-scroll-region {
  max-height: calc(100% - 180px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.ecim-mobile-device .ecim-email-shell-preview,
.ecim-mobile-device .ecim-email-shell-body,
.ecim-mobile-device .ecim-email-live-body {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.ecim-mobile-device .ecim-email-shell-image,
.ecim-mobile-device .ecim-email-hero img,
.ecim-mobile-device .ecim-email-live-hero {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 1500px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-edit-preview-grid {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-preview-panel,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace .ecim-communication-preview-panel {
    max-width: 720px !important;
  }
}


/* v1.2.146 — Communications editor containment and cache-busted toolbar fix
   This block intentionally comes last to override earlier v1.2.11x/14x layout experiments. */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview *,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview * {
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communications-workspace,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-editor-shell {
  display: grid !important;
  grid-template-columns: 236px minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
  align-items: start !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-template-rail,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-template-rail {
  width: 236px !important;
  max-width: 236px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-compose {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-edit-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
  align-items: start !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid > *,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-body-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-subject-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-preview-panel {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-email-editor,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview #ecim-template-subject-input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-shared-editor-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: normal !important;
  padding: 10px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva > *,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-formatting-bar > *,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-shared-editor-toolbar > * {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-font {
  width: 142px !important;
  max-width: 42% !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  width: 114px !important;
  min-width: 104px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva .ecim-canva-separator {
  display: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-controls,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-template-live-preview-controls {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented {
  display: inline-flex !important;
  align-items: center !important;
  overflow: hidden !important;
  border: 1px solid #d7e2ea !important;
  border-radius: 999px !important;
  background: #fff !important;
  padding: 2px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button {
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #52667a !important;
  padding: 6px 10px !important;
  min-height: 28px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button.is-active {
  background: #098cc9 !important;
  color: #fff !important;
}

@media (max-width: 1500px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-edit-preview-grid {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px) !important;
  }
}

@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-editor-shell,
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-edit-preview-grid {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-template-rail,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-template-rail {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v1.2.148 — remove ONLY the inline Template Editor live preview; keep Preview tab intact */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid > .ecim-communication-preview-panel {
  display: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-body-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-email-editor,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-shared-editor-toolbar {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-shared-editor-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  overflow: hidden !important;
  width: 100% !important;
}

/* v1.2.148 — Preview tab segmented buttons: active blue/white, inactive white/blue */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented {
  background: #ffffff !important;
  border: 1px solid rgba(9, 140, 201, .32) !important;
  border-radius: 999px !important;
  padding: 3px !important;
  gap: 3px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button {
  background: #ffffff !important;
  color: #098cc9 !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button.is-active,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button[aria-pressed="true"] {
  background: #098cc9 !important;
  color: #ffffff !important;
  border-color: #098cc9 !important;
}


/* v1.2.149 — Template Editor has no inline Live Preview; Preview tab remains intact. */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid.ecim-communication-editor-only-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-toolbar-canva,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-shared-editor-toolbar {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
}

/* v1.2.149 — Preview tab segmented controls: inactive white/blue, active blue/white. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-controls {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 3px !important;
  border: 1px solid rgba(9, 140, 201, .28) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button:not(.is-active):not([aria-pressed="true"]) {
  appearance: none !important;
  border: 1px solid rgba(9, 140, 201, .35) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #098cc9 !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  padding: 9px 14px !important;
  min-height: 34px !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button.is-active,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button[aria-pressed="true"] {
  border-color: #098cc9 !important;
  background: #098cc9 !important;
  background-color: #098cc9 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(9, 140, 201, .22) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button.is-active *,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-preview-segmented button[aria-pressed="true"] * {
  color: #ffffff !important;
}


/* ECIM v1.2.150 — Communications Templates layout cleanup
   Removes the former live-preview dead space by making the templates rail wider
   and constraining the editor to the actual editing controls. */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: visible !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell {
  display: grid !important;
  grid-template-columns: 340px minmax(0, 960px) !important;
  gap: 16px !important;
  width: auto !important;
  max-width: 1320px !important;
  min-width: 0 !important;
  align-items: start !important;
  justify-content: start !important;
  overflow: visible !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-template-rail {
  width: 340px !important;
  max-width: 340px !important;
  padding: 16px !important;
  overflow: visible !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose {
  width: 100% !important;
  max-width: 960px !important;
  min-width: 0 !important;
  overflow: visible !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-edit-preview-grid,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-only-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-template-preview-head,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-compose-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-compose-actions {
  flex: 0 0 auto !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview [data-action="communication-template-copy-subject"],
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview [data-action="communication-template-copy-body"] {
  display: none !important;
}

@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-template-rail,
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* ECIM v1.2.152 — Communications variables rail refined to compact text-link grid. */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell-three {
  display: grid !important;
  grid-template-columns: 330px minmax(0, 820px) minmax(360px, 430px) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 1660px !important;
  min-width: 0 !important;
  align-items: stretch !important;
  justify-content: start !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-template-rail,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-variables-panel {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose {
  width: 100% !important;
  max-width: 820px !important;
  overflow: visible !important;
  padding: 20px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-card-head {
  gap: 12px !important;
  align-items: flex-start !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-card-head > div:first-child {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-card-head .ecim-button,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-card-head button[data-action="communication-save-template"] {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-communication-subject-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-communication-body-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-rich-email-editor,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose .ecim-communication-qr-designer,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose input[type="text"],
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-formatting-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-email-editor {
  min-height: 250px !important;
  padding: 18px !important;
  line-height: 1.55 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-qr-designer {
  display: grid !important;
  grid-template-columns: minmax(180px, 1.15fr) minmax(150px, 1fr) 110px 140px 120px !important;
  gap: 12px !important;
  align-items: end !important;
  padding: 14px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-variables-panel {
  width: 100% !important;
  align-self: stretch !important;
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .055) !important;
  padding: 20px 22px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head {
  margin: 0 0 18px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head .ecim-kicker {
  display: block !important;
  margin-bottom: 8px !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head h3 {
  display: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head .ecim-muted {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-groups {
  display: grid !important;
  gap: 0 !important;
  margin-top: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group {
  border-top: 1px solid rgba(148, 163, 184, .24) !important;
  padding: 18px 0 16px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group:last-child {
  padding-bottom: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group h4 {
  margin: 0 0 12px !important;
  color: #098cc9 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
  row-gap: 12px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-token {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-token-icon {
  flex: 0 0 16px !important;
  width: 16px !important;
  min-width: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  opacity: .86 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-token-label {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-token:hover,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-token:focus-visible {
  color: #075985 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  outline: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-token:hover .ecim-variable-token-icon,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-token:focus-visible .ecim-variable-token-icon {
  color: #098cc9 !important;
  opacity: 1 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-insert-control {
  display: none !important;
}

@media (max-width: 1560px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell-three {
    grid-template-columns: 320px minmax(0, 760px) minmax(330px, 380px) !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    column-gap: 14px !important;
  }
}

@media (max-width: 1260px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell-three {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-variables-panel,
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose {
    max-width: 100% !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-qr-designer,
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.153 — Communications variables panel: text-link variable inserts, no blue pills. */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-variables-panel {
  width: 100% !important;
  align-self: stretch !important;
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .055) !important;
  padding: 20px 22px !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
  row-gap: 13px !important;
  align-items: start !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #111827 !important;
  font: inherit !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link .ecim-comm-variable-icon {
  flex: 0 0 16px !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  opacity: .82 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link .ecim-comm-variable-label {
  display: inline-block !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link:hover,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link:focus-visible {
  background: transparent !important;
  background-color: transparent !important;
  color: #075985 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  outline: none !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link:hover .ecim-comm-variable-icon,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link:focus-visible .ecim-comm-variable-icon {
  color: #098cc9 !important;
  opacity: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group {
  border-top: 1px solid rgba(148, 163, 184, .24) !important;
  padding: 18px 0 16px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}
@media (max-width: 1560px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
  }
}
@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* ECIM v1.2.154 — Communications Variables panel: proper card panel + text inserts, no blue buttons. */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell-three {
  display: grid !important;
  grid-template-columns: 340px minmax(0, 840px) minmax(340px, 420px) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 1640px !important;
  align-items: stretch !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-template-rail,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-side-panel {
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .06) !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  align-self: stretch !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose {
  max-width: 840px !important;
  width: 100% !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .06) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head {
  margin: 0 0 16px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head .ecim-kicker {
  display: block !important;
  margin-bottom: 10px !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head h3 {
  display: block !important;
  margin: 0 0 8px !important;
  color: #0f172a !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head .ecim-muted {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-groups {
  display: grid !important;
  gap: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group {
  border-top: 1px solid rgba(148, 163, 184, .26) !important;
  padding: 16px 0 14px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group:last-child {
  padding-bottom: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group h4 {
  margin: 0 0 12px !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 16px !important;
  align-items: start !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #0f172a !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link .ecim-comm-variable-icon {
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #334155 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  opacity: .82 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link .ecim-comm-variable-label {
  display: inline !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link:hover,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link:focus-visible {
  color: #098cc9 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-subject-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-body-field,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-rich-email-editor,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-qr-designer,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview #ecim-template-subject-input {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 1500px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell-three {
    grid-template-columns: 320px minmax(0, 760px) minmax(300px, 360px) !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell-three {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-compose {
    max-width: 100% !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* ECIM v1.2.155 — Variables panel card: match Templates-style white panel with compact grouped text inserts. */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell-three {
  display: grid !important;
  grid-template-columns: 340px minmax(0, 840px) minmax(370px, 430px) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 1640px !important;
  align-items: stretch !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-variables-panel.ecim-communication-side-panel {
  background: #ffffff !important;
  border: 1px solid rgba(203, 213, 225, .82) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, .07) !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  align-self: stretch !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head .ecim-kicker {
  display: block !important;
  margin: 0 0 10px !important;
  color: #098cc9 !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: .115em !important;
  text-transform: uppercase !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head h3 {
  display: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variables-panel-head .ecim-muted {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-groups {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group {
  margin: 0 !important;
  padding: 17px 0 16px !important;
  border-top: 1px solid rgba(226, 232, 240, .95) !important;
  background: transparent !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group:last-child {
  padding-bottom: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-group h4 {
  margin: 0 0 13px !important;
  padding: 0 !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .095em !important;
  text-transform: uppercase !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 13px 20px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link:visited,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: #0f172a !important;
  font-size: 12.5px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  text-align: left !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link .ecim-comm-variable-icon,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link .ecim-comm-variable-icon {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #334155 !important;
  opacity: .9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link .ecim-comm-variable-icon svg,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link .ecim-comm-variable-icon svg {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
  color: currentColor !important;
  stroke: currentColor !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link .ecim-comm-variable-label,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link .ecim-comm-variable-label {
  display: inline-block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: inherit !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link:hover,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link:focus-visible,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link:hover,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link:focus-visible {
  color: #098cc9 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link:hover .ecim-comm-variable-icon,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview a.ecim-comm-variable-link:focus-visible .ecim-comm-variable-icon,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link:hover .ecim-comm-variable-icon,
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview button.ecim-comm-variable-link:focus-visible .ecim-comm-variable-icon {
  color: #098cc9 !important;
  opacity: 1 !important;
}
@media (max-width: 1500px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell-three {
    grid-template-columns: 320px minmax(0, 760px) minmax(340px, 390px) !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-communication-editor-shell-three {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-variable-list {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.156 — Communications Variables panel: final card layout cleanup.
   Purpose: override legacy variable/button styles with a proper Templates-style card panel.
   This intentionally uses lower structural selectors plus !important because older cascade
   generations used very specific selectors and inline styles. */
#ecim-communication-template-preview .ecim-communication-editor-shell.ecim-communication-editor-shell-three,
.ecim-communication-orchestration-preview .ecim-communication-editor-shell.ecim-communication-editor-shell-three {
  display: grid !important;
  grid-template-columns: minmax(300px, 360px) minmax(0, 820px) minmax(330px, 390px) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 1600px !important;
  align-items: start !important;
}
#ecim-communication-template-preview .ecim-communication-compose,
.ecim-communication-orchestration-preview .ecim-communication-compose {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
#ecim-communication-template-preview .ecim-communication-compose .ecim-communication-subject-field,
#ecim-communication-template-preview .ecim-communication-compose .ecim-communication-body-field,
#ecim-communication-template-preview .ecim-communication-compose .ecim-rich-formatting-bar,
#ecim-communication-template-preview .ecim-communication-compose .ecim-rich-email-editor,
#ecim-communication-template-preview .ecim-communication-compose .ecim-communication-qr-designer,
#ecim-communication-template-preview .ecim-communication-compose #ecim-template-subject-input,
.ecim-communication-orchestration-preview .ecim-communication-compose .ecim-communication-subject-field,
.ecim-communication-orchestration-preview .ecim-communication-compose .ecim-communication-body-field,
.ecim-communication-orchestration-preview .ecim-communication-compose .ecim-rich-formatting-bar,
.ecim-communication-orchestration-preview .ecim-communication-compose .ecim-rich-email-editor,
.ecim-communication-orchestration-preview .ecim-communication-compose .ecim-communication-qr-designer,
.ecim-communication-orchestration-preview .ecim-communication-compose #ecim-template-subject-input {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel,
.ecim-communication-variables-panel.ecim-communication-side-panel {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  align-self: start !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07) !important;
  padding: 22px 24px !important;
  overflow: visible !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variables-panel-head,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variables-panel-head,
.ecim-communication-variables-panel .ecim-variables-panel-head {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variables-panel-head .ecim-kicker,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variables-panel-head .ecim-kicker,
.ecim-communication-variables-panel .ecim-variables-panel-head .ecim-kicker {
  display: block !important;
  margin: 0 0 8px !important;
  color: #098cc9 !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variables-panel-head .ecim-muted,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variables-panel-head .ecim-muted,
.ecim-communication-variables-panel .ecim-variables-panel-head .ecim-muted {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-groups,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-groups,
.ecim-communication-variables-panel .ecim-variable-groups {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-group,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-group,
.ecim-communication-variables-panel .ecim-variable-group {
  display: block !important;
  margin: 0 !important;
  padding: 17px 0 16px !important;
  border-top: 1px solid #e5edf5 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-group:first-child,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-group:first-child,
.ecim-communication-variables-panel .ecim-variable-group:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-group:last-child,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-group:last-child,
.ecim-communication-variables-panel .ecim-variable-group:last-child {
  padding-bottom: 0 !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-group h4,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-group h4,
.ecim-communication-variables-panel .ecim-variable-group h4 {
  display: block !important;
  margin: 0 0 13px !important;
  padding: 0 !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-list,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-list,
.ecim-communication-variables-panel .ecim-variable-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 16px !important;
  row-gap: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  background: transparent !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-list > *,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-list > *,
.ecim-communication-variables-panel .ecim-variable-list > * {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link,
#ecim-communication-template-preview aside.ecim-communication-variables-panel a.ecim-comm-variable-link,
#ecim-communication-template-preview aside.ecim-communication-variables-panel button.ecim-comm-variable-link,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel a.ecim-comm-variable-link,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel button.ecim-comm-variable-link,
.ecim-communication-variables-panel .ecim-comm-variable-link,
.ecim-communication-variables-panel a.ecim-comm-variable-link,
.ecim-communication-variables-panel button.ecim-comm-variable-link {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-grid !important;
  grid-template-columns: 16px minmax(0, auto) !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 7px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: #0f172a !important;
  font-size: 12.5px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link .ecim-comm-variable-icon,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link .ecim-comm-variable-icon,
.ecim-communication-variables-panel .ecim-comm-variable-link .ecim-comm-variable-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  color: #334155 !important;
  opacity: .9 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link .ecim-comm-variable-icon svg,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link .ecim-comm-variable-icon svg,
.ecim-communication-variables-panel .ecim-comm-variable-link .ecim-comm-variable-icon svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  stroke: currentColor !important;
  color: currentColor !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link .ecim-comm-variable-label,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link .ecim-comm-variable-label,
.ecim-communication-variables-panel .ecim-comm-variable-link .ecim-comm-variable-label {
  display: inline-block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: inherit !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link:hover,
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link:focus-visible,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link:hover,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link:focus-visible,
.ecim-communication-variables-panel .ecim-comm-variable-link:hover,
.ecim-communication-variables-panel .ecim-comm-variable-link:focus-visible {
  color: #098cc9 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  outline: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link:hover .ecim-comm-variable-icon,
#ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link:focus-visible .ecim-comm-variable-icon,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link:hover .ecim-comm-variable-icon,
.ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-comm-variable-link:focus-visible .ecim-comm-variable-icon,
.ecim-communication-variables-panel .ecim-comm-variable-link:hover .ecim-comm-variable-icon,
.ecim-communication-variables-panel .ecim-comm-variable-link:focus-visible .ecim-comm-variable-icon {
  color: #098cc9 !important;
  opacity: 1 !important;
}
@media (max-width: 1500px) {
  #ecim-communication-template-preview .ecim-communication-editor-shell.ecim-communication-editor-shell-three,
  .ecim-communication-orchestration-preview .ecim-communication-editor-shell.ecim-communication-editor-shell-three {
    grid-template-columns: minmax(280px, 340px) minmax(0, 740px) minmax(330px, 390px) !important;
  }
  #ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-list,
  .ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-list,
  .ecim-communication-variables-panel .ecim-variable-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1180px) {
  #ecim-communication-template-preview .ecim-communication-editor-shell.ecim-communication-editor-shell-three,
  .ecim-communication-orchestration-preview .ecim-communication-editor-shell.ecim-communication-editor-shell-three {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  #ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-list,
  .ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-list,
  .ecim-communication-variables-panel .ecim-variable-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  #ecim-communication-template-preview aside.ecim-communication-variables-panel .ecim-variable-list,
  .ecim-communication-orchestration-preview aside.ecim-communication-variables-panel .ecim-variable-list,
  .ecim-communication-variables-panel .ecim-variable-list {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.159 — Communications automation rule builder cleanup */
body.ecim-portal-body .ecim-main .ecim-automation-workspace {
  display: grid;
  gap: 16px;
  width: 100%;
  max-width: 1540px;
}

body.ecim-portal-body .ecim-main .ecim-automation-rule-list,
body.ecim-portal-body .ecim-main .ecim-automation-editor-card {
  background: #fff;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

body.ecim-portal-body .ecim-main .ecim-automation-builder-layout {
  display: grid;
  grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

body.ecim-portal-body .ecim-main .ecim-automation-panel-heading,
body.ecim-portal-body .ecim-main .ecim-automation-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

body.ecim-portal-body .ecim-main .ecim-automation-panel-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

body.ecim-portal-body .ecim-main .ecim-automation-panel-heading .ecim-kicker,
body.ecim-portal-body .ecim-main .ecim-automation-panel-heading h4,
body.ecim-portal-body .ecim-main .ecim-automation-panel-heading p {
  grid-column: 1;
}

body.ecim-portal-body .ecim-main .ecim-automation-add-inline {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: start;
}

body.ecim-portal-body .ecim-main .ecim-automation-panel-heading h4,
body.ecim-portal-body .ecim-main .ecim-automation-editor-head h3 {
  margin: 2px 0 4px;
}

body.ecim-portal-body .ecim-main .ecim-automation-rule-stack {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

body.ecim-portal-body .ecim-main button.ecim-automation-rule-card {
  appearance: none;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto 14px;
  align-items: start;
  gap: 10px;
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 14px;
  background: #fff;
  color: #111827;
  text-align: left;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035);
  cursor: pointer;
}

body.ecim-portal-body .ecim-main button.ecim-automation-rule-card:hover,
body.ecim-portal-body .ecim-main button.ecim-automation-rule-card:focus-visible {
  border-color: rgba(9, 140, 201, .36);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .07);
  outline: none;
}

body.ecim-portal-body .ecim-main button.ecim-automation-rule-card.is-active {
  border-color: rgba(9, 140, 201, .46);
  border-left: 4px solid #098cc9;
  background: rgba(9, 140, 201, .07);
}

body.ecim-portal-body .ecim-main .ecim-automation-rule-icon {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(9, 140, 201, .10);
  color: #098cc9;
  font-size: 12px;
}

body.ecim-portal-body .ecim-main .ecim-automation-rule-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

body.ecim-portal-body .ecim-main .ecim-automation-rule-copy strong {
  font-size: 13px;
  line-height: 1.2;
  color: #111827;
}

body.ecim-portal-body .ecim-main .ecim-automation-rule-copy small,
body.ecim-portal-body .ecim-main .ecim-automation-rule-copy em {
  font-size: 11px;
  line-height: 1.25;
  color: #64748b;
  font-style: normal;
}

body.ecim-portal-body .ecim-main .ecim-automation-rule-arrow {
  align-self: center;
  color: #94a3b8;
  font-size: 12px;
}

body.ecim-portal-body .ecim-main .ecim-automation-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: start;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .30);
  background: #f8fafc;
  color: #475569;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
}

body.ecim-portal-body .ecim-main .ecim-automation-status-pill.is-active {
  border-color: rgba(22, 163, 74, .24);
  background: rgba(22, 163, 74, .10);
  color: #15803d;
}

body.ecim-portal-body .ecim-main .ecim-automation-status-pill.is-paused {
  border-color: rgba(245, 158, 11, .24);
  background: rgba(245, 158, 11, .10);
  color: #b45309;
}

body.ecim-portal-body .ecim-main .ecim-automation-status-pill.is-disabled {
  border-color: rgba(100, 116, 139, .24);
  background: rgba(100, 116, 139, .10);
  color: #475569;
}

body.ecim-portal-body .ecim-main .ecim-automation-empty {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px dashed rgba(148, 163, 184, .46);
  border-radius: 14px;
  color: #64748b;
  background: #f8fafc;
}

body.ecim-portal-body .ecim-main .ecim-automation-empty strong {
  color: #111827;
}

body.ecim-portal-body .ecim-main .ecim-automation-sentence {
  margin: 14px 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(9, 140, 201, .18);
  background: rgba(9, 140, 201, .06);
  color: #334155;
  font-size: 13px;
  line-height: 1.45;
}

body.ecim-portal-body .ecim-main .ecim-automation-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.ecim-portal-body .ecim-main .ecim-automation-security-field {
  grid-column: 1 / -1;
}

body.ecim-portal-body .ecim-main .ecim-automation-condition-box {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, .24);
  background: #f8fafc;
}

body.ecim-portal-body .ecim-main .ecim-automation-condition-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .6fr) minmax(0, 1fr);
  gap: 10px;
}

body.ecim-portal-body .ecim-main .ecim-automation-save-note {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f8fafc;
}

@media (max-width: 1100px) {
  body.ecim-portal-body .ecim-main .ecim-automation-builder-layout,
  body.ecim-portal-body .ecim-main .ecim-automation-form-grid,
  body.ecim-portal-body .ecim-main .ecim-automation-condition-grid {
    grid-template-columns: 1fr;
  }

  body.ecim-portal-body .ecim-main .ecim-automation-panel-heading,
  body.ecim-portal-body .ecim-main .ecim-automation-editor-head {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  body.ecim-portal-body .ecim-main .ecim-automation-add-inline {
    grid-column: 1;
    grid-row: auto;
  }
}

/* ECIM v1.2.159 — Automation card/test notice polish */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list button.ecim-automation-rule-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list button.ecim-automation-rule-card.is-active {
  background: #ffffff !important;
  color: #0f172a !important;
  white-space: normal !important;
  overflow: visible !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list button.ecim-automation-rule-card.is-active {
  background: rgba(9, 140, 201, .07) !important;
  border-color: rgba(9, 140, 201, .48) !important;
  border-left: 4px solid #098cc9 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy em {
  color: inherit;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  max-width: 100%;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy em {
  color: #64748b !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-status-pill {
  color: #475569 !important;
  flex-shrink: 0;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-test-notice {
  display: grid;
  gap: 3px;
  margin: 16px 0 14px;
  padding: 13px 14px;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.4;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-test-notice strong {
  font-size: 13px;
  font-weight: 800;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-test-notice.is-success {
  border: 1px solid #16a34a;
  background: rgba(22, 163, 74, .30);
  color: #14532d;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-test-notice.is-error {
  border: 1px solid #dc2626;
  background: rgba(220, 38, 38, .30);
  color: #7f1d1d;
}

/* ECIM v1.2.160 — Automation saved-rule card and test-result polish */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card.is-active {
  appearance: none;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) auto 14px;
  align-items: start;
  gap: 10px;
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-radius: 14px;
  background: #ffffff !important;
  color: #0f172a !important;
  text-align: left;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035);
  cursor: pointer;
  white-space: normal !important;
  overflow: visible !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card:focus-visible {
  border-color: rgba(9, 140, 201, .36) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .07);
  outline: none;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card.is-active {
  background: rgba(9, 140, 201, .055) !important;
  border-color: rgba(9, 140, 201, .48) !important;
  border-left: 4px solid #098cc9 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-card .ecim-automation-rule-copy em {
  display: block;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  max-width: 100%;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading {
  display: block !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-add-inline {
  display: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-test-notice {
  display: grid !important;
  gap: 5px;
  margin: 0 0 16px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  font-size: 13px;
  line-height: 1.45;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-test-notice strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-test-notice span {
  display: block !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-test-notice.is-success {
  border: 1px solid #16a34a !important;
  background: rgba(22, 163, 74, .30) !important;
  color: #14532d !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-test-notice.is-error {
  border: 1px solid #dc2626 !important;
  background: rgba(220, 38, 38, .30) !important;
  color: #7f1d1d !important;
}


/* ECIM v1.2.162 — Preview width + automation locked/edit states */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-editor-shell {
  grid-template-columns: 340px minmax(0, 1150px) !important;
  max-width: 1510px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-communication-compose {
  width: 100% !important;
  max-width: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-orchestration-preview .ecim-email-shell-preview {
  max-width: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-empty {
  min-height: 180px;
  align-content: start;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-card.is-readonly .ecim-automation-sentence {
  background: #f8fafc !important;
  border-color: rgba(148, 163, 184, .28) !important;
  color: #334155 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-readonly-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-readonly-grid > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 12px;
  background: #f8fafc;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-readonly-grid span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-readonly-grid strong {
  color: #0f172a;
  font-size: 13px;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-readonly-grid {
    grid-template-columns: 1fr;
  }
}

/* ECIM Communications execution layer */
.ecim-communication-test-send-panel {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 16px;
  background: #f8fafc;
}
.ecim-communication-test-send-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  align-items: end;
}
@media (max-width: 840px) {
  .ecim-communication-test-send-grid { grid-template-columns: 1fr; }
}

/* v1.2.165 — Communications email settings, send logs, and refined template header */
.ecim-compose-head-refined {
  align-items: flex-start;
  gap: 16px;
}
.ecim-compose-head-refined .ecim-compose-title-block {
  min-width: 0;
  max-width: 640px;
}
.ecim-compose-head-refined .ecim-compose-actions-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 250px;
}
.ecim-compose-head-refined .ecim-compose-actions-row button {
  white-space: nowrap;
}
.ecim-communication-context-strip-refined {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.ecim-communication-context-strip-refined span {
  min-width: 0;
}
.ecim-communication-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.ecim-nested-card {
  box-shadow: none;
  border-color: rgba(148, 163, 184, .26);
}
.ecim-communication-log-table td span {
  display: block;
  margin-top: 2px;
  color: #64748b;
  font-size: 12px;
}
.ecim-communication-log-table td {
  vertical-align: top;
}
@media (max-width: 980px) {
  .ecim-compose-head-refined {
    flex-direction: column;
  }
  .ecim-compose-head-refined .ecim-compose-actions-row {
    justify-content: flex-start;
    min-width: 0;
  }
  .ecim-communication-context-strip-refined,
  .ecim-communication-settings-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.2.165 — Sender identity is global-only; event Communications keeps event-scoped logs. */

/* v1.2.166 — Redesigned Global Settings → Communications page */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-card {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-communications-redesign {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  width: 100% !important;
  margin-top: 14px !important;
}
.ecim-global-communications-hero {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 20px 24px !important;
  border: 1px solid #dfe8ef !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .045) !important;
}
.ecim-global-communications-hero-copy {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}
.ecim-global-communications-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: #eaf6fd;
  color: #0877aa;
  font-size: 25px;
  line-height: 1;
}
.ecim-global-communications-hero h3,
.ecim-redesign-card-head h3 {
  margin: 0 !important;
  color: #172033 !important;
  font-size: 20px !important;
  letter-spacing: -.02em !important;
}
.ecim-global-communications-hero p,
.ecim-redesign-card-head p {
  margin: 5px 0 0 !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.ecim-global-communications-hero button {
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 9px !important;
  background: #0877bb !important;
  color: #fff !important;
  border: 1px solid #0877bb !important;
  box-shadow: 0 8px 18px rgba(8, 119, 187, .18) !important;
}
.ecim-global-redesign-card {
  padding: 18px 22px !important;
  border: 1px solid #dfe8ef !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .035) !important;
}
.ecim-redesign-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
}
.ecim-redesign-card-head h3 {
  font-size: 17px !important;
}
.ecim-redesign-card-head h3 span {
  color: #64748b;
  font-size: 13px;
  vertical-align: 1px;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-sender-grid-redesign {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 18px !important;
}
.ecim-global-sender-grid-redesign .ecim-field {
  padding: 0 !important;
  gap: 7px !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.ecim-global-sender-grid-redesign input,
.ecim-global-subject-field input,
.ecim-global-template-editor-panel textarea {
  border: 1px solid #d7e1e8 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, .02) !important;
}
.ecim-global-sender-grid-redesign input {
  min-height: 42px !important;
  padding: 0 13px !important;
}
.ecim-global-shell-redesign-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.ecim-global-shell-panel {
  border: 1px solid #d7e1e8;
  border-radius: 13px;
  background: #fbfdff;
  padding: 14px;
  display: grid;
  gap: 10px;
}
.ecim-global-shell-panel-title {
  color: #172033;
  font-size: 14px;
  font-weight: 900;
}
.ecim-global-shell-preview {
  display: grid;
  gap: 8px;
}
.ecim-global-shell-preview .ecim-email-builder-block {
  grid-template-columns: 42px minmax(0, 1fr) 30px 30px !important;
  gap: 10px !important;
  padding: 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #fff !important;
}
.ecim-global-shell-preview .ecim-email-builder-block input {
  min-height: 28px !important;
  border: 0 !important;
  padding: 0 !important;
  font-weight: 800 !important;
  color: #172033 !important;
  background: transparent !important;
}
.ecim-global-shell-preview .ecim-email-builder-block.is-supporting input {
  font-weight: 600 !important;
  color: #475569 !important;
}
.ecim-global-shell-preview .ecim-email-builder-block button {
  opacity: .55;
}
.ecim-shell-preview-icon {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eaf6fd;
  color: #0877aa;
  font-size: 18px;
}
.ecim-global-source-copy summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0877aa !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.ecim-global-source-copy summary::before {
  content: '✎';
  font-size: 12px;
}
.ecim-global-lifecycle-workspace {
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr) minmax(260px, 330px);
  gap: 14px;
  border: 1px solid #d7e1e8;
  border-radius: 13px;
  overflow: hidden;
  background: #fff;
}
.ecim-global-template-sidebar {
  background: #fbfdff;
  border-right: 1px solid #e2e8f0;
  padding: 8px;
  display: grid;
  align-content: start;
  gap: 4px;
}
.ecim-global-template-nav-item {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 46px !important;
  padding: 8px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
  text-align: left !important;
  font-weight: 800 !important;
}
.ecim-global-template-nav-item:hover {
  background: #f1f7fb !important;
}
.ecim-global-template-nav-item.is-active {
  color: #0877aa !important;
  background: #eef7fd !important;
  border-color: #d9edf8 !important;
}
.ecim-global-template-nav-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1f3a4d;
  font-size: 16px;
}
.ecim-global-template-editor-stack {
  min-width: 0;
  padding: 14px;
}
.ecim-global-template-editor-panel {
  display: none;
}
.ecim-global-template-editor-panel.is-active {
  display: grid;
  gap: 12px;
}
.ecim-global-template-meta-row {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 2px;
}
.ecim-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: #f4f7fa;
  border: 1px solid #e2e8f0;
  color: #64748b;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 700;
}
.ecim-meta-pill strong {
  color: #334155;
  font-weight: 900;
}
.ecim-global-subject-field {
  padding: 0 !important;
  gap: 6px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.ecim-global-subject-field input {
  min-height: 40px !important;
  padding: 0 12px !important;
  width: 100% !important;
}
.ecim-global-body-editor {
  border: 1px solid #d7e1e8;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.ecim-global-body-editor .ecim-rich-text-toolbar-compact {
  display: flex !important;
  border: 0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  background: #fbfdff !important;
  padding: 8px !important;
  width: 100% !important;
}
.ecim-global-body-editor textarea {
  width: 100% !important;
  min-height: 230px !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 14px !important;
  resize: vertical;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.ecim-global-communications-bottom-actions {
  display: flex;
  justify-content: flex-start;
  padding: 2px 0 8px;
}
.ecim-global-communications-bottom-actions button {
  min-height: 42px !important;
  padding: 0 20px !important;
  border-radius: 9px !important;
}
@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-sender-grid-redesign,
  .ecim-global-shell-redesign-grid,
  .ecim-global-lifecycle-workspace {
    grid-template-columns: 1fr !important;
  }
  .ecim-global-template-sidebar {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }
  .ecim-global-communications-hero {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* v1.2.167 — Global Communications refinement */
.ecim-global-communications-redesign {
  display: grid;
  gap: 18px;
}
.ecim-global-communications-redesign .ecim-card,
.ecim-global-redesign-card {
  padding: 18px 20px !important;
}
.ecim-global-communications-hero {
  margin-bottom: 2px;
}
.ecim-global-shell-redesign-grid {
  gap: 18px !important;
}
.ecim-global-shell-card .ecim-global-shell-panel {
  padding: 14px !important;
}
.ecim-global-lifecycle-card {
  padding-bottom: 20px !important;
}
.ecim-global-lifecycle-workspace {
  gap: 0;
  border-radius: 16px;
  margin-top: 6px;
}
.ecim-global-template-sidebar {
  padding: 14px !important;
  gap: 10px !important;
  background: #f8fbfd !important;
}
.ecim-global-template-nav-item {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  min-height: 72px !important;
  padding: 12px 14px !important;
  border: 1px solid #dbe7f0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.ecim-global-template-nav-item:hover {
  background: #f8fcff !important;
  border-color: #c7ddec !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
  transform: translateY(-1px);
}
.ecim-global-template-nav-item.is-active {
  background: #eef7fd !important;
  border-color: #b8dff1 !important;
  box-shadow: inset 0 0 0 1px rgba(8,119,170,.06) !important;
}
.ecim-global-template-nav-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: #eef6fb !important;
  color: #0877aa !important;
  font-size: 16px !important;
  margin-top: 1px;
}
.ecim-global-template-nav-item.is-active .ecim-global-template-nav-icon {
  background: #dceefa !important;
}
.ecim-global-template-nav-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.ecim-global-template-nav-copy strong {
  font-size: 14px;
  line-height: 1.25;
  font-weight: 800;
  color: #1f2937;
}
.ecim-global-template-nav-copy small {
  font-size: 12px;
  line-height: 1.35;
  color: #64748b;
}
.ecim-global-template-editor-stack {
  padding: 18px !important;
}
.ecim-global-template-editor-panel.is-active {
  gap: 14px !important;
}
.ecim-global-body-editor {
  border: 1px solid #d7e1e8;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-editor .ecim-communication-toolbar-canva.ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-editor .ecim-shared-editor-toolbar {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 12px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 8px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-editor .ecim-communication-toolbar-canva.ecim-rich-formatting-bar > *,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-editor .ecim-shared-editor-toolbar > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-editor .ecim-communication-toolbar-canva .ecim-canva-font,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-editor .ecim-communication-toolbar-canva .ecim-canva-size-stepper,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-editor .ecim-communication-toolbar-canva .ecim-canva-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-editor .ecim-communication-toolbar-canva .ecim-canva-colour {
  border-radius: 10px !important;
}
.ecim-global-body-editor textarea {
  padding: 16px !important;
}
.ecim-global-communications-bottom-actions {
  padding-top: 2px;
}
@media (max-width: 1180px) {
  .ecim-global-template-sidebar {
    padding: 12px !important;
  }
  .ecim-global-template-editor-stack {
    padding: 14px !important;
  }
}

/* v1.2.168 — Global Communications lifecycle selector parity with Dashboard Quick Actions / Email Lifecycle */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-lifecycle-workspace {
  grid-template-columns: 330px minmax(0, 1fr) !important;
  align-items: stretch !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar {
  display: grid !important;
  align-content: start !important;
  gap: 12px !important;
  padding: 16px !important;
  background: #fbfdff !important;
  border-right: 1px solid #d7e1e8 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) 16px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 74px !important;
  padding: 14px 14px !important;
  text-align: left !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(38,46,56,.14) !important;
  border-left: 4px solid rgba(9,140,201,.72) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  text-shadow: none !important;
  line-height: 1.25 !important;
  transform: none !important;
  justify-content: stretch !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item:hover,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item:focus-visible {
  background: rgba(9,140,201,.055) !important;
  background-color: rgba(9,140,201,.055) !important;
  border-color: rgba(9,140,201,.58) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.10) !important;
  outline: 2px solid rgba(9,140,201,.16) !important;
  outline-offset: 2px !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item.is-active {
  background: rgba(9,140,201,.12) !important;
  background-color: rgba(9,140,201,.12) !important;
  border-color: rgba(9,140,201,.62) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  box-shadow: 0 10px 22px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item .ecim-global-template-nav-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 12px !important;
  background: rgba(9,140,201,.09) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  margin: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item.is-active .ecim-global-template-nav-icon {
  background: rgba(9,140,201,.18) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item .ecim-global-template-nav-copy {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  text-align: left !important;
  overflow: hidden !important;
  white-space: normal !important;
  color: inherit !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item .ecim-global-template-nav-copy strong {
  display: block !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item .ecim-global-template-nav-copy small {
  display: -webkit-box !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item .ecim-global-template-nav-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 16px !important;
  color: rgba(105,120,137,.72) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  margin: 0 !important;
  position: static !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item:hover .ecim-global-template-nav-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item:focus-visible .ecim-global-template-nav-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-global-template-nav-item.is-active .ecim-global-template-nav-copy strong {
  color: var(--ecim-tiac-east, #098CC9) !important;
}
@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-lifecycle-workspace {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar {
    border-right: 0 !important;
    border-bottom: 1px solid #d7e1e8 !important;
  }
}

/* v1.2.169 — make Global Communications lifecycle selector match event Communications Email Lifecycle */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar {
  padding: 16px !important;
  background: #fbfdff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list {
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item {
  border-radius: 14px !important;
  border: 1px solid rgba(148,163,184,.30) !important;
  border-left: 4px solid rgba(9,140,201,.34) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item:focus-visible {
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item.is-active,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item.is-active {
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  background: rgba(9,140,201,.16) !important;
  background-color: rgba(9,140,201,.16) !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item .ecim-global-template-nav-icon {
  background: rgba(14,165,233,.10) !important;
  color: #098cc9 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item.is-active .ecim-global-template-nav-icon {
  background: rgba(9,140,201,.22) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item .ecim-global-template-nav-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item .ecim-global-template-nav-copy small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item .ecim-global-template-nav-arrow,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-item .ecim-global-template-nav-arrow i {
  color: inherit !important;
}

/* v1.2.170 — Global lifecycle selector final parity fix: no solid-blue cards, centred chevrons */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-lifecycle-workspace {
  grid-template-columns: 330px minmax(0, 1fr) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar {
  padding: 16px !important;
  background: #fbfdff !important;
  border-right: 1px solid #d7e1e8 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item:focus,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item:focus-visible {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 14px !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148,163,184,.30) !important;
  border-left: 4px solid rgba(9,140,201,.34) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  color: #111827 !important;
  text-align: left !important;
  overflow: hidden !important;
  transform: none !important;
  text-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item:focus-visible {
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item.is-active {
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  background: rgba(9,140,201,.16) !important;
  background-color: rgba(9,140,201,.16) !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-icon {
  align-self: start !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin-top: 1px !important;
  border-radius: 999px !important;
  background: rgba(14,165,233,.10) !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar button.ecim-global-template-nav-item.is-active .ecim-global-template-nav-icon {
  background: rgba(9,140,201,.22) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-copy {
  align-self: start !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-copy strong {
  display: block !important;
  margin: 0 0 3px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  color: #111827 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-copy small {
  display: -webkit-box !important;
  margin: 0 !important;
  color: #52667a !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-copy .ecim-global-template-audience {
  display: block !important;
  margin-top: 3px !important;
  color: #64748b !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-arrow {
  align-self: center !important;
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 22px !important;
  margin: 0 !important;
  color: #111827 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  position: static !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-nav-arrow i {
  color: #111827 !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-lifecycle-workspace {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar {
    border-right: 0 !important;
    border-bottom: 1px solid #d7e1e8 !important;
  }
}

/* v1.2.171 — isolated Global Communications lifecycle selector; avoids inherited blue button styles */
html body .ecim-main .ecim-global-template-sidebar .ecim-global-lifecycle-option-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
}
html body .ecim-main .ecim-global-template-sidebar button.ecim-global-lifecycle-option,
html body .ecim-main .ecim-global-template-sidebar button.ecim-global-lifecycle-option:visited {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0,1fr) 16px !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148,163,184,.30) !important;
  border-left: 4px solid rgba(9,140,201,.34) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  color: #111827 !important;
  text-align: left !important;
  text-decoration: none !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transform: none !important;
  text-shadow: none !important;
}
html body .ecim-main .ecim-global-template-sidebar button.ecim-global-lifecycle-option:hover,
html body .ecim-main .ecim-global-template-sidebar button.ecim-global-lifecycle-option:focus,
html body .ecim-main .ecim-global-template-sidebar button.ecim-global-lifecycle-option:focus-visible {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
  color: #111827 !important;
  outline: none !important;
}
html body .ecim-main .ecim-global-template-sidebar button.ecim-global-lifecycle-option.is-active {
  background: rgba(9,140,201,.12) !important;
  background-color: rgba(9,140,201,.12) !important;
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
  color: #111827 !important;
}
html body .ecim-main .ecim-global-template-sidebar .ecim-global-lifecycle-option-icon {
  align-self: start !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin-top: 1px !important;
  border-radius: 999px !important;
  background: rgba(14,165,233,.10) !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
html body .ecim-main .ecim-global-template-sidebar button.ecim-global-lifecycle-option.is-active .ecim-global-lifecycle-option-icon {
  background: rgba(9,140,201,.22) !important;
}
html body .ecim-main .ecim-global-template-sidebar .ecim-global-lifecycle-option-copy {
  align-self: start !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #111827 !important;
}
html body .ecim-main .ecim-global-template-sidebar .ecim-global-lifecycle-option-copy strong {
  display: block !important;
  margin: 0 0 3px !important;
  color: #111827 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body .ecim-main .ecim-global-template-sidebar .ecim-global-lifecycle-option-copy small {
  display: -webkit-box !important;
  margin: 0 !important;
  color: #52667a !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body .ecim-main .ecim-global-template-sidebar .ecim-global-lifecycle-option-copy .ecim-global-lifecycle-option-audience {
  display: block !important;
  margin-top: 3px !important;
  color: #64748b !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html body .ecim-main .ecim-global-template-sidebar .ecim-global-lifecycle-option-arrow {
  align-self: center !important;
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 24px !important;
  margin: 0 !important;
  color: #111827 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  position: static !important;
  transform: none !important;
}
html body .ecim-main .ecim-global-template-sidebar .ecim-global-lifecycle-option-arrow i {
  color: #111827 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* v1.2.172 — Global settings lifecycle selector uses the exact Email Lifecycle card pattern */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card:focus,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card:focus-visible {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0,1fr) 14px !important;
  align-items: start !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148,163,184,.30) !important;
  border-left: 4px solid rgba(9,140,201,.34) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  color: #111827 !important;
  text-align: left !important;
  gap: 10px !important;
  overflow: hidden !important;
  text-shadow: none !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card.is-active {
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  background: rgba(9,140,201,.16) !important;
  background-color: rgba(9,140,201,.16) !important;
  background-image: none !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card .ecim-communication-rail-icon {
  align-self: start !important;
  justify-self: start !important;
  margin-top: 1px !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(14,165,233,.10) !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card.is-active .ecim-communication-rail-icon {
  background: rgba(9,140,201,.22) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card .ecim-communication-rail-copy {
  align-self: start !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #111827 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card .ecim-communication-rail-copy strong {
  display: block !important;
  margin: 0 0 3px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  color: #111827 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card .ecim-communication-rail-copy small {
  display: -webkit-box !important;
  margin: 0 !important;
  color: #52667a !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card .ecim-global-template-audience {
  display: block !important;
  margin-top: 3px !important;
  color: #64748b !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-global-template-rail-list > button.ecim-communication-rail-card .ecim-communication-rail-arrow {
  align-self: center !important;
  justify-self: end !important;
  color: #111827 !important;
  position: static !important;
  transform: none !important;
  margin: 0 !important;
}

/* v1.2.173 — force Email Lifecycle card copy to stack vertically */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-copy {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-copy strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-communication-rail-card .ecim-communication-rail-copy strong {
  display: block !important;
  margin: 0 0 3px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-copy small,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-sidebar .ecim-communication-rail-card .ecim-communication-rail-copy small {
  display: block !important;
  margin: 0 0 3px !important;
  white-space: normal !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-copy .ecim-communication-template-audience,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-rail-card .ecim-communication-rail-copy .ecim-global-template-audience {
  display: block !important;
  margin-top: 3px !important;
}

/* v1.2.174 — Communications editor polish: real rich editor, toolbar above editor */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-compose,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field {
  display: grid !important;
  gap: 10px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-shared-editor-toolbar {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-communication-toolbar-canva.ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-shared-editor-toolbar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva.ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-shared-editor-toolbar {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-editor {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-rich-email-editor,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field .ecim-rich-email-editor {
  width: 100% !important;
  min-height: 260px !important;
  padding: 16px 18px !important;
  border: 1px solid #d7e1e8 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.025) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
  color: #0f172a !important;
  resize: vertical;
  overflow: auto;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-rich-email-editor:focus,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field .ecim-rich-email-editor:focus {
  outline: 3px solid rgba(9,140,201,.14) !important;
  border-color: rgba(9,140,201,.48) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-canva-font,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva .ecim-canva-font {
  width: 166px !important;
  min-width: 166px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-canva-size-stepper,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  min-width: 112px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-canva-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-canva-colour,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva .ecim-canva-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva .ecim-canva-colour {
  box-shadow: none !important;
}

/* v1.2.175 — Communications editor toolbar full-width polish */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-compose,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field {
  width: 100% !important;
  max-width: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-shared-editor-toolbar {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-communication-toolbar-canva.ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-shared-editor-toolbar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva.ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-shared-editor-toolbar {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  padding: 7px 8px !important;
  min-height: 42px !important;
  background: #ffffff !important;
  border: 1px solid #d7e1e8 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.035) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-communication-toolbar-canva .ecim-canva-font,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva .ecim-canva-font {
  height: 32px !important;
  min-height: 32px !important;
  width: 170px !important;
  min-width: 170px !important;
  padding: 0 10px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-communication-toolbar-canva .ecim-canva-size-stepper,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva .ecim-canva-size-stepper {
  height: 32px !important;
  min-height: 32px !important;
  min-width: 112px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-communication-toolbar-canva .ecim-canva-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar .ecim-communication-toolbar-canva .ecim-canva-colour,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva .ecim-canva-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-communication-toolbar-canva .ecim-canva-colour {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-rich-email-editor,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field .ecim-rich-email-editor {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* v1.2.176 — force Communications formatting toolbar to span the editor column */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-template-editor-panel.is-active,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-compose,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar > .ecim-badge-toolbar-canva.ecim-communication-toolbar-canva.ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar > .ecim-shared-editor-toolbar.ecim-communication-toolbar-canva,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-badge-toolbar-canva.ecim-communication-toolbar-canva.ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-shared-editor-toolbar.ecim-communication-toolbar-canva {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
  box-sizing: border-box !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 0 0 10px 0 !important;
  padding: 6px 8px !important;
  min-height: 42px !important;
  background: #ffffff !important;
  border: 1px solid #d7e1e8 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.035) !important;
  overflow: visible !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar > .ecim-badge-toolbar-canva.ecim-communication-toolbar-canva.ecim-rich-formatting-bar > *,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-badge-toolbar-canva.ecim-communication-toolbar-canva.ecim-rich-formatting-bar > * {
  flex: 0 0 auto !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar > .ecim-badge-toolbar-canva.ecim-communication-toolbar-canva.ecim-rich-formatting-bar .ecim-canva-font,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field > .ecim-badge-toolbar-canva.ecim-communication-toolbar-canva.ecim-rich-formatting-bar .ecim-canva-font {
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-rich-email-editor,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field .ecim-rich-email-editor {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
}

/* v1.2.177 — target the exact Communications toolbar element and override inherited badge width */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-body-toolbar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-communication-body-field {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-badge-toolbar.ecim-badge-toolbar-canva.ecim-shared-editor-toolbar.ecim-communication-toolbar-canva.ecim-rich-formatting-bar,
html body.ecim-portal-body .ecim-app .ecim-main div.ecim-badge-toolbar.ecim-badge-toolbar-canva.ecim-shared-editor-toolbar.ecim-communication-toolbar-canva.ecim-rich-formatting-bar {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  justify-content: flex-start !important;
  align-items: center !important;
  align-content: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 0 0 10px 0 !important;
  padding: 6px 8px !important;
  min-height: 42px !important;
  background: #ffffff !important;
  border: 1px solid #d7e1e8 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.035) !important;
  overflow: visible !important;
  scrollbar-width: none !important;
  backdrop-filter: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-badge-toolbar.ecim-badge-toolbar-canva.ecim-shared-editor-toolbar.ecim-communication-toolbar-canva.ecim-rich-formatting-bar > * {
  flex: 0 0 auto !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-badge-toolbar.ecim-badge-toolbar-canva.ecim-shared-editor-toolbar.ecim-communication-toolbar-canva.ecim-rich-formatting-bar .ecim-canva-font {
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
}

/* v1.2.181 — Communications logs and person activity visibility */
.ecim-communication-log-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .75fr));
  gap: 10px;
  margin: 14px 0 16px;
  align-items: end;
}
.ecim-communication-log-filters label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  color: #334155;
}
.ecim-communication-log-filters input,
.ecim-communication-log-filters select {
  width: 100%;
  min-height: 38px;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
  padding: 0 10px;
  background: #fff;
  color: #0f172a;
}
.ecim-communication-log-table td strong,
.ecim-communication-log-table td span {
  display: block;
}
.ecim-communication-log-table td span {
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
}
.ecim-status-chip {
  display: inline-flex !important;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px !important;
  font-weight: 900;
  border: 1px solid #d7e1e8;
  background: #f8fafc;
  color: #475569 !important;
}
.ecim-status-chip.is-success { background: #ecfdf5; border-color: #bbf7d0; color: #166534 !important; }
.ecim-status-chip.is-failure { background: #fef2f2; border-color: #fecaca; color: #991b1b !important; }
.ecim-status-chip.is-skipped { background: #fff7ed; border-color: #fed7aa; color: #9a3412 !important; }
.ecim-log-detail summary {
  cursor: pointer;
  color: #0877aa;
  font-weight: 800;
}
.ecim-log-detail div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 8px;
  margin-top: 7px;
  font-size: 12px;
}
.ecim-log-detail div strong {
  color: #334155;
}
.ecim-log-detail div span {
  margin: 0;
  overflow-wrap: anywhere;
}
.ecim-log-error span { color: #991b1b !important; }
.ecim-activity-item [class*="communication_email"] + * {}
@media (max-width: 1080px) {
  .ecim-communication-log-filters { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .ecim-communication-log-filters { grid-template-columns: 1fr; }
}

/* v1.2.182 — Communications Manual Send */
.ecim-communication-manual-panel .ecim-communication-manual-grid {
  display: grid;
  grid-template-columns: minmax(320px, 480px) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 16px;
}
.ecim-communication-manual-card {
  border: 1px solid #d7e1e8;
  border-radius: 16px;
  background: #fff;
  padding: 16px;
  display: grid;
  gap: 14px;
  align-content: start;
}
.ecim-communication-manual-card.is-preview {
  background: #fbfdff;
}
.ecim-communication-manual-card h4 {
  margin: 0;
  color: #172033;
}
.ecim-communication-manual-card p {
  margin: 0;
}
.ecim-communication-manual-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
}
.ecim-communication-manual-card dl div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 12px;
  padding-top: 10px;
  border-top: 1px solid #e2e8f0;
}
.ecim-communication-manual-card dt {
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
}
.ecim-communication-manual-card dd {
  margin: 0;
  font-size: 13px;
  color: #172033;
  overflow-wrap: anywhere;
}
.ecim-notice.is-success,
.ecim-notice.is-error,
.ecim-notice.is-warning {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  margin-top: 12px;
}
.ecim-notice.is-success {
  border: 1px solid rgba(34,197,94,.28);
  background: rgba(34,197,94,.08);
  color: #166534;
}
.ecim-notice.is-error {
  border: 1px solid rgba(220,38,38,.28);
  background: rgba(220,38,38,.08);
  color: #991b1b;
}
.ecim-notice.is-warning {
  border: 1px solid rgba(245,158,11,.34);
  background: rgba(245,158,11,.10);
  color: #92400e;
}
@media (max-width: 980px) {
  .ecim-communication-manual-panel .ecim-communication-manual-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.2.185 — Manual send duplicate override */
.ecim-communication-manual-card .ecim-manual-duplicate-override {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 4px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 12px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  font-weight: 700;
}
.ecim-communication-manual-card .ecim-manual-duplicate-override input {
  width: 16px;
  height: 16px;
  margin: 0;
}
.ecim-communication-manual-card .ecim-manual-override-note {
  margin-top: 0 !important;
  font-size: 12px !important;
}

/* v1.2.186 — Automation dry run / eligibility preview */
.ecim-automation-dry-run-card {
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 16px;
  background: #fbfdff;
}
.ecim-automation-dry-run-card > div:first-child,
.ecim-automation-dry-run-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.ecim-automation-dry-run-card strong {
  color: #172033;
}
.ecim-automation-dry-run-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.ecim-automation-dry-run-metrics div {
  padding: 12px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 12px;
  background: #fff;
}
.ecim-automation-dry-run-metrics span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #697889;
}
.ecim-automation-dry-run-metrics strong {
  display: block;
  margin-top: 3px;
  font-size: 24px;
  line-height: 1;
}
.ecim-automation-dry-run-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.ecim-automation-dry-run-lists > div,
.ecim-automation-dry-run-issues {
  padding: 12px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 12px;
  background: #fff;
}
.ecim-automation-dry-run-lists ul,
.ecim-automation-dry-run-issues ul {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}
.ecim-automation-dry-run-lists li {
  display: grid;
  gap: 2px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(148,163,184,.18);
}
.ecim-automation-dry-run-lists li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.ecim-automation-dry-run-lists li span,
.ecim-automation-dry-run-issues li {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}
.ecim-automation-dry-run-card.is-ready-no {
  border-color: rgba(245,158,11,.35);
  background: #fffaf0;
}
.ecim-automation-dry-run-card.is-ready-yes {
  border-color: rgba(34,197,94,.28);
  background: #f7fef9;
}
@media (max-width: 980px) {
  .ecim-automation-dry-run-metrics,
  .ecim-automation-dry-run-lists {
    grid-template-columns: 1fr;
  }
}

/* v1.2.188 — Scheduled automation foundation */
.ecim-automation-schedule-card {
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid #d7e1e8;
  border-radius: 14px;
  background: #fbfdff;
  margin-top: 12px;
}
.ecim-automation-schedule-card > div:first-child strong {
  display: block;
  color: #172033;
  font-size: 14px;
  font-weight: 900;
}
.ecim-automation-schedule-card.is-active {
  border-color: rgba(9,140,201,.34);
  background: rgba(9,140,201,.045);
}
.ecim-automation-schedule-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.ecim-automation-schedule-grid div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}
.ecim-automation-schedule-grid span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 3px;
}
.ecim-automation-schedule-grid strong {
  display: block;
  color: #172033;
  font-size: 13px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
@media (max-width: 1100px) {
  .ecim-automation-schedule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .ecim-automation-schedule-grid { grid-template-columns: 1fr; }
}

/* v1.2.189 — Automation run history + scheduler monitor */
.ecim-automation-history-card {
  margin-top: 16px;
}
.ecim-automation-history-stack {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.ecim-automation-history-row {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.ecim-automation-history-row strong {
  display: block;
  color: #111827;
  font-size: 13px;
  line-height: 1.25;
}
.ecim-automation-history-row span,
.ecim-automation-history-row p {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}
.ecim-automation-history-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.ecim-automation-history-counts span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f4f7fa;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-weight: 700;
}

/* v1.2.190 — Automation panel title consistency */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading {
  display: grid;
  gap: 8px;
  align-content: start;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading .ecim-kicker,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-card > .ecim-kicker {
  margin: 0;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading h3,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-card > h3,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-head h3 {
  margin: 0;
  color: #111827;
  font-size: 22px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -0.02em;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading p,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-card > p,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-head p {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-history-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-card {
  padding: 20px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-history-card .ecim-automation-history-stack,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list .ecim-automation-rule-stack {
  margin-top: 18px;
}


/* v1.2.191 — Automation panel heading stack fix */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  gap: 8px !important;
  align-content: start !important;
  align-items: start !important;
  justify-items: start !important;
  text-align: left !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading .ecim-kicker,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading h3,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading h4,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading p {
  grid-column: 1 !important;
  justify-self: start !important;
  text-align: left !important;
  width: auto !important;
  max-width: 100% !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading h3 {
  margin: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-panel-heading p {
  margin: 0 !important;
}


/* v1.2.192 — Automation cards now use the same direct stacked title hierarchy as Rule Builder */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list > .ecim-kicker,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list > h3,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list > p,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-history-card > .ecim-kicker,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-history-card > h3,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-history-card > p {
  display: block;
  text-align: left;
  justify-self: start;
  max-width: 100%;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list > .ecim-kicker,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-history-card > .ecim-kicker {
  margin: 0 0 8px;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list > h3,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-history-card > h3 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 22px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -0.02em;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-rule-list > p,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-history-card > p {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
}

/* v1.2.193 — Automation reliability controls */
.ecim-automation-enabled-strip {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 14px 0 16px;
  padding: 10px 12px;
  border: 1px solid #dbeafe;
  border-radius: 14px;
  background: #eff6ff;
  color: #1e3a8a;
}
.ecim-automation-enabled-strip strong {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.ecim-automation-enabled-strip span {
  font-size: 13px;
  line-height: 1.35;
}
.ecim-automation-enabled-strip.is-disabled {
  border-color: #e5e7eb;
  background: #f9fafb;
  color: #6b7280;
}
.ecim-automation-monitor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 10px;
}
.ecim-automation-monitor-grid > div {
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #f9fafb;
}
.ecim-automation-monitor-grid span {
  display: block;
  margin-bottom: 6px;
  color: #6b7280;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ecim-automation-monitor-grid strong {
  display: block;
  color: #111827;
  font-size: 14px;
  line-height: 1.3;
}
.ecim-automation-monitor-actions {
  justify-content: flex-start;
  margin: 12px 0 0;
}
.ecim-automation-scheduler-message {
  margin-top: 8px !important;
}
@media (max-width: 900px) {
  .ecim-automation-monitor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .ecim-automation-enabled-strip {
    align-items: flex-start;
    flex-direction: column;
  }
  .ecim-automation-monitor-grid {
    grid-template-columns: 1fr;
  }
}


/* v1.2.194 — Scheduler monitor feedback de-duplication */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-history-card .ecim-automation-test-notice {
  margin-top: 12px !important;
}

/* v1.2.195 — Automation monitor detail polish */
.ecim-automation-monitor-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.ecim-automation-monitor-details {
  margin: 14px 0 0;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
}
.ecim-automation-monitor-details summary {
  cursor: pointer;
  padding: 12px 14px;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.01em;
  list-style-position: inside;
}
.ecim-automation-monitor-details[open] summary {
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
}
.ecim-automation-monitor-rule-stack {
  display: grid;
  gap: 10px;
  padding: 12px;
}
.ecim-automation-monitor-rule {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(130px, auto);
  gap: 10px 14px;
  align-items: start;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #d1d5db;
  border-radius: 14px;
  background: #ffffff;
}
.ecim-automation-monitor-rule.is-due {
  border-left-color: #2563eb;
  background: #eff6ff;
}
.ecim-automation-monitor-rule.is-waiting {
  border-left-color: #10b981;
}
.ecim-automation-monitor-rule.is-disabled {
  border-left-color: #9ca3af;
  background: #f9fafb;
}
.ecim-automation-monitor-rule strong,
.ecim-automation-monitor-rule span {
  display: block;
}
.ecim-automation-monitor-rule > div:first-child strong {
  color: #111827;
  font-size: 14px;
  line-height: 1.3;
}
.ecim-automation-monitor-rule > div:first-child span {
  margin-top: 3px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.ecim-automation-monitor-rule > div:nth-child(2) span {
  color: #6b7280;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ecim-automation-monitor-rule > div:nth-child(2) strong {
  margin-top: 3px;
  color: #111827;
  font-size: 13px;
  white-space: nowrap;
}
.ecim-automation-monitor-rule p {
  grid-column: 1 / -1;
  margin: 0;
  color: #4b5563;
  font-size: 13px;
  line-height: 1.4;
}
.ecim-automation-monitor-empty,
.ecim-automation-history-empty {
  padding: 12px;
  border: 1px dashed #d1d5db;
  border-radius: 14px;
  background: #f9fafb;
}
@media (max-width: 1100px) {
  .ecim-automation-monitor-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .ecim-automation-monitor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ecim-automation-monitor-rule {
    grid-template-columns: 1fr;
  }
  .ecim-automation-monitor-rule > div:nth-child(2) strong {
    white-space: normal;
  }
}

/* v1.2.196 — Automation rule UX polish */
.ecim-automation-state-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 14px 0;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #9ca3af;
  border-radius: 16px;
  background: #ffffff;
}
.ecim-automation-state-panel.is-active {
  border-left-color: #2563eb;
  background: #eff6ff;
}
.ecim-automation-state-panel.is-paused {
  border-left-color: #f59e0b;
  background: #fffbeb;
}
.ecim-automation-state-panel.is-disabled,
.ecim-automation-state-panel.is-draft {
  border-left-color: #9ca3af;
  background: #f9fafb;
}
.ecim-automation-state-panel .ecim-kicker,
.ecim-automation-state-panel strong,
.ecim-automation-state-panel p {
  display: block;
  text-align: left;
}
.ecim-automation-state-panel strong {
  margin-top: 4px;
  color: #111827;
  font-size: 16px;
  line-height: 1.25;
}
.ecim-automation-state-panel p {
  margin: 5px 0 0;
}
.ecim-automation-validation-card {
  margin: 14px 0;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #10b981;
  border-radius: 16px;
  background: #f8fafc;
}
.ecim-automation-validation-card.is-warning {
  border-left-color: #f59e0b;
  background: #fffbeb;
}
.ecim-automation-validation-card strong {
  display: block;
  color: #111827;
  font-size: 14px;
  line-height: 1.3;
}
.ecim-automation-validation-card ul {
  margin: 8px 0 0 18px;
  padding: 0;
  color: #374151;
  font-size: 13px;
  line-height: 1.45;
}
.ecim-automation-validation-card p {
  margin: 8px 0 0;
  color: #374151;
  font-size: 13px;
  line-height: 1.45;
}
.ecim-automation-rule-card.has-issues {
  border-left: 3px solid #f59e0b;
}
.ecim-automation-rule-card.is-ready {
  border-left: 3px solid #10b981;
}
.ecim-automation-rule-card.has-issues.is-active,
.ecim-automation-rule-card.is-ready.is-active {
  border-left-color: #2563eb;
}
@media (max-width: 760px) {
  .ecim-automation-state-panel {
    align-items: stretch;
    flex-direction: column;
  }
  .ecim-automation-state-panel button {
    width: 100%;
  }
}

/* v1.2.197 — Automation builder close/collapse polish */

/* v1.2.198 — Automation activity + audit polish */
.ecim-automation-audit-inline {
  margin: 10px 0 14px;
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.9);
}
.ecim-automation-audit-card {
  margin-top: 16px;
}
.ecim-automation-audit-stack {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.ecim-automation-audit-row {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  background: #fff;
}
.ecim-automation-audit-row > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}
.ecim-automation-audit-row span {
  color: var(--ecim-muted, #64748b);
  font-size: 12px;
}
.ecim-automation-audit-row p {
  margin: 0;
  color: var(--ecim-muted, #64748b);
  font-size: 13px;
}

/* v1.2.199 — Group automation audit activity by rule */
.ecim-automation-audit-group {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}
.ecim-automation-audit-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}
.ecim-automation-audit-group summary::-webkit-details-marker {
  display: none;
}
.ecim-automation-audit-group summary::before {
  content: '▸';
  color: var(--ecim-muted, #64748b);
  font-size: 13px;
  margin-right: -4px;
  transition: transform 0.15s ease;
}
.ecim-automation-audit-group[open] summary::before {
  transform: rotate(90deg);
}
.ecim-automation-audit-group summary span {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.ecim-automation-audit-group summary strong {
  color: var(--ecim-text, #0f172a);
  font-size: 14px;
}
.ecim-automation-audit-group summary em {
  color: var(--ecim-muted, #64748b);
  font-size: 12px;
  font-style: normal;
}
.ecim-automation-audit-group summary b {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
}
.ecim-automation-audit-group-body {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px 38px;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  background: rgba(248, 250, 252, 0.65);
}
.ecim-automation-audit-group-body .ecim-automation-audit-row {
  margin-top: 12px;
}
@media (max-width: 760px) {
  .ecim-automation-audit-group summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .ecim-automation-audit-group-body {
    padding-left: 14px;
  }
}

/* v1.2.200 — Left-align grouped automation activity headings */
.ecim-automation-audit-group summary {
  justify-content: flex-start;
}
.ecim-automation-audit-group summary span {
  flex: 1 1 auto;
}
.ecim-automation-audit-group summary b {
  margin-left: auto;
}
@media (max-width: 760px) {
  .ecim-automation-audit-group summary b {
    margin-left: 0;
  }
}

/* v1.2.201 — Automation rule labelling polish */
.ecim-automation-label-assistant {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  margin: 14px 0;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.92);
}

.ecim-automation-label-assistant > div {
  min-width: 0;
}

.ecim-automation-label-assistant strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  line-height: 1.25;
}

.ecim-automation-label-assistant p {
  margin: 6px 0 0;
}

.ecim-automation-name-field small {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.ecim-automation-rule-copy small {
  line-height: 1.35;
}

@media (max-width: 760px) {
  .ecim-automation-label-assistant {
    align-items: stretch;
    flex-direction: column;
  }

  .ecim-automation-label-assistant .ecim-secondary {
    width: 100%;
  }
}

/* v1.2.202 — Automation rule preview polish */
.ecim-automation-rule-preview {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(14, 140, 201, .24);
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fcff 0%, #fff 100%);
}
.ecim-automation-rule-preview h4 {
  margin: 0;
  color: #111827;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 800;
}
.ecim-automation-rule-preview-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ecim-automation-rule-preview-meta span,
.ecim-automation-audience-summary {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 12px;
  background: #fff;
  color: #64748b;
  font-size: 12px;
}
.ecim-automation-rule-preview-meta strong,
.ecim-automation-audience-summary strong {
  color: #172033;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ecim-automation-rule-preview.is-ready {
  border-color: rgba(34, 197, 94, .30);
  background: linear-gradient(180deg, #f7fef9 0%, #fff 100%);
}
.ecim-automation-rule-preview.is-warning {
  border-color: rgba(245, 158, 11, .36);
  background: linear-gradient(180deg, #fffaf0 0%, #fff 100%);
}
.ecim-automation-audience-summary {
  border-color: rgba(14, 140, 201, .25);
  background: #f8fcff;
}
.ecim-automation-audience-summary span {
  color: #334155;
  font-size: 13px;
  font-weight: 700;
}
.ecim-automation-dry-run-lists li em {
  color: #475569;
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}
.ecim-automation-dry-run-lists > div > p.ecim-muted {
  margin-top: 2px;
  font-size: 12px;
}
@media (max-width: 980px) {
  .ecim-automation-rule-preview-meta {
    grid-template-columns: 1fr;
  }
}


/* v1.2.207 — Scheduler health notification compact settings rhythm. */
.ecim-scheduler-heartbeat-card {
  display: grid;
  gap: 10px;
}

.ecim-scheduler-heartbeat-card > .ecim-kicker,
.ecim-scheduler-heartbeat-card > h3,
.ecim-scheduler-heartbeat-card > p {
  display: block;
  text-align: left;
}

.ecim-scheduler-heartbeat-card > .ecim-kicker {
  margin: 0;
}

.ecim-scheduler-heartbeat-card > h3 {
  margin: 2px 0 0;
}

.ecim-scheduler-heartbeat-card > .ecim-scheduler-heartbeat-intro {
  margin: 2px 0 4px;
  max-width: 720px;
}

.ecim-scheduler-heartbeat-card > .ecim-check-row {
  margin-top: 0;
}

.ecim-scheduler-heartbeat-card .ecim-global-sender-grid {
  margin-top: 2px;
}

.ecim-scheduler-heartbeat-channels {
  margin-top: 6px;
  padding: 14px;
  border: 1px solid var(--ecim-border);
  border-radius: 16px;
  background: var(--ecim-bg-soft);
  display: grid;
  gap: 10px;
}

.ecim-scheduler-heartbeat-channels .ecim-kicker {
  display: block;
  text-align: left;
  margin: 0;
}

.ecim-scheduler-heartbeat-channels .ecim-muted {
  margin: 0;
}

.ecim-scheduler-heartbeat-channels .ecim-check-row {
  margin-top: 2px;
}

/* v1.2.208 — automation send safety confirmation */
.ecim-send-confirm-modal {
    width: min(860px, 100%);
}
.ecim-send-confirm-head.ecim-section-heading {
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 16px;
}
.ecim-send-confirm-rule {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.9);
}
.ecim-send-confirm-rule strong {
    color: #172033;
    font-size: 15px;
}
.ecim-send-confirm-rule span {
    color: #64748b;
    font-size: 13px;
}
.ecim-send-confirm-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 14px;
}
.ecim-send-confirm-metrics div {
    padding: 12px 13px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: #fff;
}
.ecim-send-confirm-metrics span {
    display: block;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.ecim-send-confirm-metrics strong {
    display: block;
    margin-top: 5px;
    color: #172033;
    font-size: 24px;
    line-height: 1;
}
.ecim-send-confirm-note {
    margin: 0 0 14px;
    padding: 13px 15px;
    border: 1px solid rgba(9, 140, 201, 0.14);
    border-radius: 14px;
    background: rgba(9, 140, 201, 0.045);
}
.ecim-send-confirm-note strong {
    display: block;
    margin-bottom: 4px;
    color: #172033;
}
.ecim-send-confirm-note p {
    margin: 0;
}
.ecim-send-confirm-lists {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}
.ecim-send-confirm-lists > div,
.ecim-send-confirm-details {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.75);
    padding: 13px 14px;
}
.ecim-send-confirm-lists strong {
    display: block;
    margin-bottom: 8px;
    color: #172033;
    font-size: 13px;
}
.ecim-send-confirm-lists ul,
.ecim-send-confirm-details ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ecim-send-confirm-lists li,
.ecim-send-confirm-details li {
    display: grid;
    gap: 2px;
    color: #475569;
    font-size: 12px;
}
.ecim-send-confirm-lists li strong,
.ecim-send-confirm-details li strong {
    margin: 0;
    color: #172033;
    font-size: 12px;
}
.ecim-send-confirm-lists li span,
.ecim-send-confirm-details li span {
    color: #64748b;
}
.ecim-send-confirm-lists li em,
.ecim-send-confirm-details li em {
    color: #64748b;
    font-style: normal;
}
.ecim-send-confirm-check {
    margin: 2px 0 14px;
    padding: 12px 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: #fff;
}
.ecim-send-confirm-actions {
    justify-content: flex-end;
    margin-top: 8px;
}
.ecim-send-confirm-details {
    margin-bottom: 14px;
}
.ecim-send-confirm-details summary {
    cursor: pointer;
    color: #172033;
    font-weight: 800;
}
@media (max-width: 900px) {
    .ecim-send-confirm-metrics,
    .ecim-send-confirm-lists {
        grid-template-columns: 1fr;
    }
}

/* v1.2.211 — Automation dry-run clickable cards and scheduler check hardening */
.ecim-automation-dry-run-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ecim-automation-dry-run-lists.is-expanded {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.ecim-automation-audience-panel {
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.ecim-automation-audience-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(148,163,184,.16);
}
.ecim-automation-audience-panel summary span {
  display: grid;
  gap: 2px;
}
.ecim-automation-audience-panel summary strong {
  font-size: 14px;
}
.ecim-automation-audience-panel summary small,
.ecim-automation-audience-panel summary em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
}
.ecim-audience-search {
  display: grid;
  gap: 5px;
  margin: 12px 14px 4px;
}
.ecim-audience-search span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ecim-audience-search input {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148,163,184,.36);
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
}
.ecim-automation-audience-panel ul {
  display: grid;
  gap: 0;
  margin: 8px 14px 14px;
  padding: 0;
  list-style: none;
  max-height: 360px;
  overflow: auto;
}
.ecim-automation-audience-panel li {
  display: grid;
  padding: 0;
  border-bottom: 1px solid rgba(148,163,184,.16);
}
.ecim-automation-audience-panel li:last-child {
  border-bottom: 0;
}
.ecim-automation-audience-panel .ecim-audience-recipient-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px;
  box-shadow: none !important;
  color: #0f172a !important;
  display: grid !important;
  gap: 2px;
  justify-items: start;
  padding: 10px 8px;
  text-align: left !important;
  text-decoration: none !important;
  width: 100%;
}
.ecim-automation-audience-panel .ecim-audience-recipient-card.is-clickable {
  cursor: pointer;
}
.ecim-automation-audience-panel .ecim-audience-recipient-card.is-static {
  cursor: default;
}
.ecim-automation-audience-panel .ecim-audience-recipient-card.is-clickable:hover,
.ecim-automation-audience-panel .ecim-audience-recipient-card.is-clickable:focus-visible {
  background: rgba(14, 165, 233, .06) !important;
  outline: none;
}
.ecim-automation-audience-panel .ecim-audience-recipient-name {
  color: #0f172a !important;
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}
.ecim-automation-audience-panel .ecim-audience-recipient-meta,
.ecim-automation-audience-panel .ecim-audience-recipient-reason,
.ecim-audience-no-results {
  color: #64748b !important;
  display: block;
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}
.ecim-audience-no-results {
  margin: 0 14px 14px;
}
.ecim-link-button {
  appearance: none;
  border: 0;
  background: transparent;
  color: #0f172a;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: 0;
  text-align: left;
}
.ecim-link-button:hover,
.ecim-link-button:focus-visible {
  color: #087fb7;
  text-decoration: underline;
}
@media (max-width: 980px) {
  .ecim-automation-dry-run-metrics {
    grid-template-columns: 1fr;
  }
}

/* v1.2.213 — Scheduler monitor problem-only alert */
.ecim-automation-cron-context {
  display: grid;
  gap: 4px;
  margin: 14px 0 10px;
  padding: 12px 14px;
  border: 1px solid #fecaca;
  border-left: 4px solid #dc2626;
  border-radius: 14px;
  background: #fef2f2;
}
.ecim-automation-cron-context.is-warning {
  border-color: #fed7aa;
  border-left-color: #f97316;
  background: #fff7ed;
}
.ecim-automation-cron-context strong {
  color: #7f1d1d;
  font-size: 13px;
  line-height: 1.3;
}
.ecim-automation-cron-context.is-warning strong {
  color: #7c2d12;
}
.ecim-automation-cron-context span {
  color: #991b1b;
  font-size: 13px;
  line-height: 1.45;
}
.ecim-automation-cron-context.is-warning span {
  color: #9a3412;
}
.ecim-automation-history-row.is-failed {
  border-left: 4px solid #f59e0b;
}
.ecim-automation-history-counts {
  flex-wrap: wrap;
}
.ecim-automation-audit-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.ecim-automation-audit-chips span {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 4px 8px;
  text-transform: uppercase;
}
.ecim-automation-audit-row.is-automation_send_failure,
.ecim-automation-audit-row.is-automation_manual_check {
  border-left: 3px solid #cbd5e1;
}
.ecim-automation-audit-row.is-automation_send_failure {
  border-left-color: #f59e0b;
}

/* v1.2.214 — Automation recipient-level send result details */
.ecim-send-result-row,
.ecim-send-result-empty {
    display: grid;
    gap: 3px;
    padding: 8px 10px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    background: #fff;
}
.ecim-send-result-row strong,
.ecim-send-result-empty strong {
    color: #172033;
    font-size: 12px;
    font-weight: 700;
}
.ecim-send-result-row span,
.ecim-send-result-empty span,
.ecim-send-result-row em {
    color: #64748b;
    font-size: 12px;
    font-style: normal;
    line-height: 1.3;
}
.ecim-send-result-row.is-success {
    border-left: 3px solid rgba(22, 163, 74, 0.45);
}
.ecim-send-result-row.is-failure {
    border-left: 3px solid rgba(220, 38, 38, 0.5);
}
.ecim-send-result-row.is-skipped {
    border-left: 3px solid rgba(245, 158, 11, 0.45);
}
.ecim-automation-history-details {
    margin-top: 2px;
    padding-top: 8px;
    border-top: 1px dashed rgba(148, 163, 184, 0.35);
}
.ecim-automation-history-details summary {
    cursor: pointer;
    color: #172033;
    font-size: 12px;
    font-weight: 800;
}
.ecim-automation-history-details ul {
    display: grid;
    gap: 7px;
    margin: 9px 0 0;
    padding: 0;
    list-style: none;
}

/* v1.2.215 — Automation audit/history readability */
.ecim-automation-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #f8fafc;
  color: #334155;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.035em;
  line-height: 1;
  text-transform: uppercase;
}
.ecim-automation-status-chip.is-completed,
.ecim-automation-status-chip.is-success,
.ecim-automation-status-chip.is-sent {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.18);
  color: #047857;
}
.ecim-automation-status-chip.is-failed,
.ecim-automation-status-chip.is-failure,
.ecim-automation-status-chip.is-error {
  background: rgba(220, 38, 38, 0.08);
  border-color: rgba(220, 38, 38, 0.18);
  color: #b91c1c;
}
.ecim-automation-status-chip.is-skipped,
.ecim-automation-status-chip.is-duplicate_suppressed,
.ecim-automation-status-chip.is-suppressed {
  background: rgba(245, 158, 11, 0.1);
  border-color: rgba(245, 158, 11, 0.2);
  color: #92400e;
}
.ecim-automation-audit-row-head,
.ecim-automation-history-row-head,
.ecim-send-result-row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.ecim-automation-history-row-head > span,
.ecim-automation-audit-row-head > span {
  flex: 1 1 auto;
  min-width: 0;
}
.ecim-automation-history-row-head .ecim-automation-status-chip,
.ecim-send-result-row-head .ecim-automation-status-chip {
  flex: 0 0 auto;
}
.ecim-send-result-row-head strong {
  flex: 1 1 auto;
  min-width: 0;
}
.ecim-automation-history-group {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}
.ecim-automation-history-group + .ecim-automation-history-group {
  margin-top: 10px;
}
.ecim-automation-history-group summary {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: space-between;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}
.ecim-automation-history-group summary::-webkit-details-marker {
  display: none;
}
.ecim-automation-history-group summary::before {
  content: '▸';
  color: #64748b;
  font-size: 13px;
  transition: transform 0.15s ease;
}
.ecim-automation-history-group[open] summary::before {
  transform: rotate(90deg);
}
.ecim-automation-history-group summary span {
  display: grid;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
}
.ecim-automation-history-group summary strong {
  color: #0f172a;
  font-size: 14px;
  line-height: 1.25;
}
.ecim-automation-history-group summary em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
}
.ecim-automation-history-group summary b {
  flex: 0 0 auto;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
}
.ecim-automation-history-group-body {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px 38px;
  background: rgba(248, 250, 252, 0.65);
  border-top: 1px solid rgba(15, 23, 42, 0.06);
}
.ecim-automation-history-group-body .ecim-automation-history-row {
  margin-top: 12px;
}
.ecim-automation-audit-row .ecim-automation-audit-chips span {
  background: #f8fafc;
}
@media (max-width: 760px) {
  .ecim-automation-history-group summary,
  .ecim-automation-audit-row-head,
  .ecim-automation-history-row-head,
  .ecim-send-result-row-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .ecim-automation-history-group summary b {
    align-self: flex-start;
  }
  .ecim-automation-history-group-body {
    padding-left: 14px;
  }
}

/* ECIM v1.2.216 — communications final polish */
.ecim-communication-readiness-card {
  margin-bottom: 14px;
}

.ecim-communication-readiness-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.ecim-communication-readiness-grid > div,
.ecim-communication-safety-strip > div,
.ecim-communication-log-summary span {
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #f8fafc;
  border-radius: 14px;
  padding: 10px 12px;
}

.ecim-communication-readiness-grid span,
.ecim-communication-safety-strip span {
  display: block;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 5px;
}

.ecim-communication-readiness-grid strong,
.ecim-communication-safety-strip strong {
  display: block;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 650;
  color: #0f172a;
}

.ecim-communication-readiness-grid small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
}

.ecim-communication-safety-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 14px;
}

.ecim-communication-safety-strip strong {
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.ecim-communication-log-summary {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 12px 0 14px;
}

.ecim-communication-log-summary span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  font-size: 12px;
  color: #475569;
}

.ecim-communication-log-summary strong {
  color: #0f172a;
  font-weight: 700;
}

@media (max-width: 900px) {
  .ecim-communication-readiness-grid,
  .ecim-communication-safety-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .ecim-communication-readiness-grid,
  .ecim-communication-safety-strip {
    grid-template-columns: 1fr;
  }
}

/* ECIM v1.2.217 participant tag rules */
.ecim-tag-rule-card {
  margin-top: 18px;
}
.ecim-tag-rule-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.ecim-tag-rule-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(280px, 1.2fr);
  gap: 16px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.72);
}
.ecim-tag-rule-row strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
}
.ecim-tag-rule-row .ecim-muted {
  display: block;
  margin-top: 3px;
  font-size: 12px;
}
.ecim-tag-rule-row .ecim-field {
  margin: 0;
}
.ecim-tag-rule-row input {
  width: 100%;
}
@media (max-width: 780px) {
  .ecim-tag-rule-row {
    grid-template-columns: 1fr;
  }
}

/* ECIM v1.2.218 tag availability controls */
.ecim-tag-setting-usage {
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
}
.ecim-tag-rule-available {
  margin-top: -4px !important;
  margin-bottom: 10px !important;
  font-size: 12px !important;
}

/* v1.2.219 ticket operational controls */
.ecim-tag-multiselect {
  min-height: 44px;
  max-height: 112px;
  padding: 8px 10px;
  line-height: 1.35;
}
.ecim-tag-multiselect option {
  padding: 5px 7px;
}
.ecim-compact-help {
  margin-top: -4px;
  margin-bottom: 10px;
  font-size: 12px;
}
.ecim-ticket-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 2px;
}
.ecim-mini-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d8e2ec;
  background: #f8fafc;
  color: #334155;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
}
.ecim-mini-pill-muted {
  background: #ffffff;
  color: #475569;
  font-weight: 500;
}

/* v1.2.220 ticket form polish */
.ecim-ticket-form-intro {
  border: 1px solid rgba(14, 165, 233, 0.18);
  border-left: 4px solid #0ea5e9;
  background: linear-gradient(135deg, rgba(240, 249, 255, 0.82), rgba(248, 250, 252, 0.92));
  border-radius: 14px;
  padding: 12px 14px;
  margin: 10px 0 18px;
}
.ecim-ticket-form-intro .ecim-kicker {
  margin-bottom: 4px;
}
.ecim-ticket-form-intro p {
  margin: 4px 0 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.45;
}
.ecim-ticket-tag-picker {
  display: grid;
  gap: 8px;
  margin: 10px 0 6px;
}
.ecim-ticket-tag-picker .ecim-ticket-tag-select {
  margin-bottom: 0;
}
.ecim-ticket-tag-picker select {
  width: 100%;
}
.ecim-ticket-tag-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 28px;
  align-items: center;
}
.ecim-ticket-tag-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(14, 165, 233, 0.24) !important;
  background: #f0f9ff !important;
  color: #075985 !important;
  border-radius: 999px !important;
  padding: 5px 9px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  box-shadow: none !important;
}
.ecim-ticket-tag-pill:hover {
  background: #e0f2fe !important;
  color: #0c4a6e !important;
}
.ecim-ticket-tag-empty {
  font-size: 12px;
}


/* v1.2.223 coupon operational tag mapping */
.ecim-participant-tag-rule-picker {
  display: grid;
  gap: 8px;
}
.ecim-participant-tag-rule-picker .ecim-participant-rule-tag-select {
  margin: 0;
}
.ecim-participant-tag-rule-picker select {
  width: 100%;
}
.ecim-participant-rule-tag-pills {
  padding-top: 1px;
}
.ecim-participant-rule-tag-pill {
  cursor: pointer;
}
.ecim-tag-rule-card .ecim-notice strong {
  color: #0f172a;
}

/* v1.2.224 — ECIM coupon manager */
.ecim-coupon-manager-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(420px, 1.22fr);
  gap: 18px;
  align-items: start;
}
.ecim-coupon-editor-card .ecim-section-heading,
.ecim-coupon-list-card .ecim-section-heading {
  margin-bottom: 14px;
}
.ecim-coupon-ticket-box {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  border-radius: 14px;
  padding: 12px;
  display: grid;
  gap: 8px;
}
.ecim-coupon-ticket-box > strong {
  color: #0f172a;
  font-size: 13px;
}
.ecim-coupon-ticket-box .ecim-check {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 8px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
}
.ecim-coupon-ticket-box .ecim-check span {
  flex: 1;
  color: #111827;
  font-weight: 600;
}
.ecim-coupon-ticket-box .ecim-check em {
  color: #64748b;
  font-style: normal;
  font-size: 12px;
}
.ecim-field-checkbox {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  margin-top: 22px;
}
.ecim-coupon-table .ecim-mini-pill {
  margin: 2px 3px 2px 0;
}
.ecim-table-actions {
  white-space: nowrap;
  text-align: right;
}
.ecim-table-actions button {
  margin-left: 6px;
}
.ecim-wizard-coupon-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.ecim-wizard-coupon-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.ecim-wizard-coupon-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}
.ecim-wizard-coupon-row strong {
  color: #111827;
}
.ecim-wizard-coupon-row span {
  color: #64748b;
  font-size: 12px;
}
@media (max-width: 1050px) {
  .ecim-coupon-manager-layout { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .ecim-wizard-coupon-header,
  .ecim-wizard-coupon-row { grid-template-columns: 1fr; }
  .ecim-table-actions { text-align: left; }
  .ecim-table-actions button { margin: 4px 6px 0 0; }
}

/* v1.2.226 — coupon manager copy, combine flag, and ticket restriction tightening */
.ecim-coupon-inline-tag-box {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  border-radius: 14px;
  padding: 12px;
  display: grid;
  gap: 8px;
}
.ecim-coupon-inline-tag-box .ecim-participant-rule-tag-select span {
  color: #0f172a;
  font-weight: 650;
}
.ecim-registration-coupon-card .ecim-actions {
  margin-top: 12px;
}


/* v1.2.226 — tighter coupon manager form polish */
.ecim-coupon-provider-notice {
  margin: 0 0 14px;
}
.ecim-coupon-provider-notice span {
  color: inherit;
  font-size: 13px;
  line-height: 1.4;
}
.ecim-coupon-combine-field {
  margin-top: 22px;
  align-items: flex-start !important;
  padding-top: 8px;
}
.ecim-coupon-combine-field > span {
  display: grid;
  gap: 3px;
  line-height: 1.25;
}
.ecim-coupon-combine-field strong {
  color: #0f172a;
  font-size: 13px;
}
.ecim-coupon-combine-field small {
  color: #64748b;
  font-size: 12px;
  font-weight: 500;
}
.ecim-coupon-ticket-box {
  padding: 12px 14px;
  gap: 8px;
}
.ecim-coupon-ticket-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.ecim-coupon-ticket-head strong {
  color: #0f172a;
  font-size: 13px;
}
.ecim-coupon-ticket-head .ecim-muted {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 700;
}
.ecim-coupon-ticket-help {
  margin: 0 0 4px;
  font-size: 12px;
  line-height: 1.35;
}
.ecim-coupon-ticket-list {
  display: grid;
  gap: 6px;
}
.ecim-coupon-ticket-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 6px 8px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
  cursor: pointer;
}
.ecim-coupon-ticket-row input {
  margin: 0;
}
.ecim-coupon-ticket-name {
  min-width: 0;
  color: #111827;
  font-size: 13px;
  font-weight: 650;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ecim-coupon-ticket-price {
  color: #475569;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.ecim-coupon-ticket-row:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}
.ecim-coupon-ticket-empty {
  margin: 0;
}

/* v1.2.228 — WooCommerce coupon manager refinement */
.ecim-coupon-ticket-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  margin: 0 0 2px;
}
.ecim-coupon-ticket-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.ecim-ghost-button {
  border: 1px solid #e2e8f0 !important;
  background: #fff !important;
  color: #475569 !important;
  border-radius: 999px !important;
  padding: 5px 9px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  box-shadow: none !important;
}
.ecim-ghost-button:hover,
.ecim-ghost-button:focus-visible {
  border-color: rgba(9,140,201,.45) !important;
  color: #098CC9 !important;
  background: rgba(9,140,201,.045) !important;
}
.ecim-coupon-ticket-main {
  display: grid;
  min-width: 0;
  gap: 1px;
}
.ecim-coupon-ticket-meta {
  color: #64748b;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ecim-coupon-ticket-note {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.35;
}
.ecim-coupon-ticket-row:has(input:checked) {
  border-color: rgba(9,140,201,.45);
  background: rgba(9,140,201,.055);
}
.ecim-coupon-ticket-row:has(input:checked) .ecim-coupon-ticket-name {
  color: #0f5f8a;
}
@media (max-width: 720px) {
  .ecim-coupon-ticket-toolbar { grid-template-columns: 1fr; }
  .ecim-coupon-ticket-actions { justify-content: flex-start; }
}

/* v1.2.229 — show existing tickets in coupon restrictions without hiding non-WooCommerce ticket types */
.ecim-coupon-ticket-row.is-disabled {
  cursor: not-allowed;
  opacity: .72;
  background: #f8fafc;
  border-style: dashed;
}
.ecim-coupon-ticket-row.is-disabled:hover {
  border-color: #e2e8f0;
  background: #f8fafc;
}
.ecim-coupon-ticket-row.is-disabled .ecim-coupon-ticket-name {
  color: #334155;
}
.ecim-coupon-ticket-row.is-disabled .ecim-coupon-ticket-meta {
  color: #94a3b8;
}
.ecim-coupon-ticket-row.is-disabled input {
  cursor: not-allowed;
}


/* v1.2.230 — WooCommerce ticket provider readiness notices */
.ecim-ticket-provider-notice,
.ecim-coupon-provider-notice {
  margin-bottom: 14px;
}
.ecim-coupon-ticket-row.is-disabled .ecim-coupon-ticket-meta {
  color: #9a3412;
}

/* v1.2.231 — operational integrity event readiness panel */
.ecim-integrity-card {
  margin-top: 18px;
  border-color: rgba(15, 23, 42, .10) !important;
}
.ecim-integrity-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 14px;
}
.ecim-integrity-head h3 {
  margin: 4px 0 4px;
}
.ecim-integrity-overall {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 108px;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  border: 1px solid rgba(15, 23, 42, .12);
  background: #f8fafc;
  color: #334155;
  white-space: nowrap;
}
.ecim-integrity-overall.is-success { background: #ecfdf5; border-color: #bbf7d0; color: #166534; }
.ecim-integrity-overall.is-attention { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.ecim-integrity-overall.is-warning { background: #fff7ed; border-color: #fed7aa; color: #9a3412; }
.ecim-integrity-overall.is-danger { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.ecim-integrity-list {
  display: grid;
  gap: 9px;
}
.ecim-integrity-row {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  gap: 12px;
  align-items: flex-start;
  padding: 12px 13px;
  border: 1px solid rgba(15, 23, 42, .09);
  border-radius: 14px;
  background: #fff;
}
.ecim-integrity-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  margin-top: 5px;
  background: #94a3b8;
}
.ecim-integrity-row strong {
  display: block;
  color: #172033;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 2px;
}
.ecim-integrity-row p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}
.ecim-integrity-row.is-success .ecim-integrity-dot { background: #16a34a; }
.ecim-integrity-row.is-attention .ecim-integrity-dot { background: #2563eb; }
.ecim-integrity-row.is-warning .ecim-integrity-dot { background: #f97316; }
.ecim-integrity-row.is-danger .ecim-integrity-dot { background: #dc2626; }
.ecim-integrity-row.is-info .ecim-integrity-dot { background: #94a3b8; }
@media (max-width: 720px) {
  .ecim-integrity-head { display: grid; }
  .ecim-integrity-overall { justify-self: start; }
}

/* v1.2.238 — registration drawer step screens */
body.ecim-portal-body .ecim-registration-drawer [hidden],
body.ecim-portal-body .ecim-registration-form-grid[hidden],
body.ecim-portal-body .ecim-registration-duplicate-notice[hidden],
body.ecim-portal-body .ecim-registration-result[hidden] {
  display: none !important;
}

body.ecim-portal-body .ecim-registration-drawer[data-step="result"] .ecim-registration-drawer-body {
  display: block;
}

body.ecim-portal-body .ecim-registration-step-screen {
  display: grid;
  min-height: calc(100vh - 170px);
  align-content: start;
  padding-top: 18px;
}

body.ecim-portal-body .ecim-registration-drawer[data-step="result"] .ecim-registration-result {
  margin-top: 0;
}

body.ecim-portal-body .ecim-registration-drawer[data-step="result"] .ecim-registration-result-card {
  box-shadow: none;
}

/* ECIM v1.2.242 — stabilization sprint permission/empty-state polish */
body.ecim-portal-body .ecim-access-empty {
  display: grid;
  gap: 6px;
  align-items: start;
  max-width: 720px;
}
body.ecim-portal-body .ecim-access-empty strong {
  color: #0f172a;
  font-size: 15px;
}
body.ecim-portal-body .ecim-access-empty span {
  color: #64748b;
  line-height: 1.45;
}

/* ECIM v1.2.243 — initial load performance pass */

/* ECIM v1.2.244 — stabilization sprint 2 loading, empty, mobile polish */
body.ecim-portal-body .ecim-loading-card {
  display: grid;
  gap: 18px;
  max-width: 980px;
  min-height: 168px;
  align-content: start;
}
body.ecim-portal-body .ecim-loading-card h3 {
  margin: 4px 0 5px;
  color: #0f172a;
}
body.ecim-portal-body .ecim-skeleton-stack {
  display: grid;
  gap: 10px;
}
body.ecim-portal-body .ecim-skeleton-line {
  display: block;
  width: 74%;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(226,232,240,.8), rgba(248,250,252,.95), rgba(226,232,240,.8));
  background-size: 220% 100%;
  animation: ecimSkeleton 1.2s ease-in-out infinite;
}
body.ecim-portal-body .ecim-skeleton-line.is-wide { width: 92%; height: 14px; }
body.ecim-portal-body .ecim-skeleton-line.is-short { width: 42%; }
@keyframes ecimSkeleton {
  0% { background-position: 220% 0; }
  100% { background-position: -220% 0; }
}
body.ecim-portal-body .ecim-state-card {
  display: grid;
  gap: 6px;
  align-items: start;
  max-width: 760px;
}
body.ecim-portal-body .ecim-state-icon {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #eef2ff;
  color: #334155;
  font-weight: 900;
  line-height: 1;
}
body.ecim-portal-body .ecim-state-card strong {
  color: #0f172a;
  font-size: 15px;
}
body.ecim-portal-body .ecim-state-card span,
body.ecim-portal-body .ecim-state-card small {
  color: #64748b;
  line-height: 1.45;
}
body.ecim-portal-body .ecim-error-card {
  display: grid;
  gap: 5px;
  max-width: 760px;
}
body.ecim-portal-body .ecim-error-card strong { color: #991b1b; }
body.ecim-portal-body .ecim-error-card span { color: #7f1d1d; font-weight: 500; line-height: 1.45; }
body.ecim-portal-body .ecim-table-empty {
  display: grid;
  gap: 3px;
  padding: 14px 10px;
  color: #64748b;
}
body.ecim-portal-body .ecim-table-empty strong {
  color: #0f172a;
  font-size: 13px;
}
body.ecim-portal-body .ecim-table-empty span {
  color: #64748b;
  font-size: 13px;
}
@media (max-width: 760px) {
  body.ecim-portal-body .ecim-page-head {
    gap: 10px;
  }
  body.ecim-portal-body .ecim-page-head h2 {
    font-size: 20px;
    line-height: 1.18;
  }
  body.ecim-portal-body .ecim-toolbar,
  body.ecim-portal-body .ecim-report-toolbar,
  body.ecim-portal-body .ecim-actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  body.ecim-portal-body .ecim-toolbar button,
  body.ecim-portal-body .ecim-actions button,
  body.ecim-portal-body .ecim-row-action {
    min-height: 42px;
  }
  body.ecim-portal-body .ecim-attendee-row-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  body.ecim-portal-body .ecim-attendee-filterbar,
  body.ecim-portal-body .ecim-report-chip-row {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }
  body.ecim-portal-body .ecim-attendee-filter,
  body.ecim-portal-body .ecim-chip-action {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  body.ecim-portal-body .ecim-loading-card {
    min-height: 140px;
  }
}

/* v1.2.249 Organizer contact placement/save-display hotfix */
.ecim-registration-contact-card {
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(248, 250, 252, 0.78);
  border-radius: 16px;
  padding: 16px;
  margin: 14px 0 16px;
}
.ecim-registration-contact-card h3 {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.25;
  color: #0f172a;
}
.ecim-registration-contact-card .ecim-muted {
  margin: 0 0 14px;
}

/* v1.2.251 — trial readiness and front-desk QA */
.ecim-frontdesk-card,
.ecim-trial-readiness-card {
  margin-top: 18px;
  border-color: rgba(15, 23, 42, .10) !important;
}
.ecim-frontdesk-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.ecim-frontdesk-action {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon desc";
  align-items: center;
  gap: 2px 10px;
  min-height: 76px;
  text-align: left !important;
  padding: 14px !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: none !important;
}
.ecim-frontdesk-action.is-primary {
  border-color: rgba(9, 140, 201, .38) !important;
  background: rgba(9, 140, 201, .055) !important;
}
.ecim-frontdesk-action i {
  grid-area: icon;
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #f1f5f9;
  color: #098cc9;
}
.ecim-frontdesk-action strong {
  grid-area: title;
  font-size: 14px;
  font-weight: 800;
  color: #172033;
}
.ecim-frontdesk-action span {
  grid-area: desc;
  font-size: 12px;
  line-height: 1.35;
  color: #64748b;
  font-weight: 600;
}
.ecim-frontdesk-action:hover,
.ecim-frontdesk-action:focus-visible {
  border-color: #098cc9 !important;
  background: rgba(9, 140, 201, .075) !important;
  transform: translateY(-1px);
}
.ecim-trial-readiness-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}
.ecim-trial-readiness-head h3 {
  margin: 4px 0;
}
.ecim-trial-score {
  display: grid;
  justify-items: center;
  min-width: 112px;
  border-radius: 18px;
  padding: 12px 14px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: #f8fafc;
}
.ecim-trial-score strong {
  display: block;
  font-size: 26px;
  line-height: 1;
  color: #172033;
}
.ecim-trial-score span {
  margin-top: 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #64748b;
}
.ecim-trial-score.is-success { background: #ecfdf5; border-color: #bbf7d0; }
.ecim-trial-score.is-success strong,
.ecim-trial-score.is-success span { color: #166534; }
.ecim-trial-score.is-attention { background: #eff6ff; border-color: #bfdbfe; }
.ecim-trial-score.is-attention strong,
.ecim-trial-score.is-attention span { color: #1d4ed8; }
.ecim-trial-score.is-warning { background: #fff7ed; border-color: #fed7aa; }
.ecim-trial-score.is-warning strong,
.ecim-trial-score.is-warning span { color: #9a3412; }
.ecim-trial-progress {
  position: relative;
  overflow: hidden;
  height: 9px;
  margin: 16px 0;
  border-radius: 999px;
  background: #e2e8f0;
}
.ecim-trial-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #098cc9, #1d4ed8);
}
.ecim-trial-readiness-list {
  display: grid;
  gap: 9px;
}
.ecim-trial-readiness-item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 13px;
  border: 1px solid rgba(15, 23, 42, .09);
  border-radius: 14px;
  background: #fff;
}
.ecim-trial-check {
  display: inline-flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}
.ecim-trial-readiness-item.is-ready .ecim-trial-check { background: #dcfce7; color: #166534; }
.ecim-trial-readiness-item.is-danger .ecim-trial-check { background: #fee2e2; color: #991b1b; }
.ecim-trial-readiness-item.is-warning .ecim-trial-check { background: #ffedd5; color: #9a3412; }
.ecim-trial-readiness-item.is-attention .ecim-trial-check { background: #dbeafe; color: #1d4ed8; }
.ecim-trial-readiness-item strong {
  display: block;
  color: #172033;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 2px;
}
.ecim-trial-readiness-item p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.42;
}
.ecim-trial-action {
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .ecim-frontdesk-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .ecim-frontdesk-actions,
  .ecim-trial-readiness-item {
    grid-template-columns: 1fr;
  }
  .ecim-frontdesk-action {
    grid-template-columns: 34px minmax(0, 1fr);
  }
  .ecim-trial-readiness-head {
    display: grid;
  }
  .ecim-trial-score {
    justify-items: start;
    width: 100%;
  }
  .ecim-trial-action {
    justify-self: start;
  }
}


/* v1.2.252 — front-desk workflow action card polish
   Match Quick Actions / Email Template card treatment; never use filled primary buttons here. */
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action,
body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  grid-template-areas: "icon title" "icon desc" !important;
  align-items: center !important;
  gap: 2px 12px !important;
  min-height: 74px !important;
  width: 100% !important;
  padding: 15px 16px !important;
  text-align: left !important;
  cursor: pointer !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(9, 140, 201, .28) !important;
  border-left: 4px solid var(--ecim-tiac-east, #098CC9) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 0 rgba(38,46,56,.04) !important;
  transform: none !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action.is-primary,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action.is-primary {
  background: #FFFFFF !important;
  border-color: rgba(9, 140, 201, .32) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action i,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action i {
  grid-area: icon !important;
  display: inline-flex !important;
  width: 36px !important;
  height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: rgba(9, 140, 201, .09) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action strong {
  grid-area: title !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action span,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action span {
  grid-area: desc !important;
  color: var(--ecim-v2-muted, #697889) !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action:hover,
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action:focus-visible,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action:focus-visible {
  background: rgba(9, 140, 201, .055) !important;
  border-color: var(--ecim-tiac-east, #098CC9) !important;
  border-left-color: var(--ecim-tiac-east, #098CC9) !important;
  color: var(--ecim-tiac-deep-blue, #262E38) !important;
  box-shadow: 0 8px 18px rgba(9, 140, 201, .10) !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 2px !important;
  transform: translateY(-1px) !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action:hover strong,
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action:focus-visible strong {
  color: var(--ecim-tiac-east, #098CC9) !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action:active {
  background: rgba(9, 140, 201, .10) !important;
  box-shadow: inset 0 0 0 1px rgba(9, 140, 201, .18) !important;
  transform: translateY(0) !important;
}


/* v1.2.253 — event-day workflow polish */
body.ecim-portal-body .ecim-main .ecim-frontdesk-card .ecim-section-heading-compact {
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.ecim-frontdesk-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border: 1px solid rgba(9, 140, 201, .24);
  background: rgba(9, 140, 201, .07);
  color: var(--ecim-tiac-east, #098CC9);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action {
  grid-template-areas: "icon title" "icon desc" "icon meta" !important;
  min-height: 88px !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action em,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action em {
  grid-area: meta !important;
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-top: 5px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action:hover em,
body.ecim-portal-body .ecim-main .ecim-frontdesk-actions button.ecim-frontdesk-action:focus-visible em {
  background: rgba(9, 140, 201, .12) !important;
  color: var(--ecim-tiac-east, #098CC9) !important;
}
.ecim-frontdesk-loop {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px dashed rgba(100, 116, 139, .35);
  border-radius: 14px;
  background: #f8fafc;
  color: #64748b;
  font-size: 12px;
}
.ecim-frontdesk-loop span {
  margin-right: 4px;
  color: #64748b;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ecim-frontdesk-loop strong {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  color: #172033;
  font-size: 12px;
  font-weight: 800;
}
.ecim-frontdesk-loop i {
  color: #94a3b8;
  font-style: normal;
  font-weight: 900;
}
@media (max-width: 720px) {
  body.ecim-portal-body .ecim-main .ecim-frontdesk-card .ecim-section-heading-compact {
    display: grid;
  }
  .ecim-frontdesk-status {
    justify-self: start;
  }
  .ecim-frontdesk-loop {
    align-items: flex-start;
  }
}

/* v1.2.254 — attendee check-in in-place updates */
.ecim-attendee-inline-notice{margin:0 0 14px;}

/* v1.2.255 — event settings layout polish */
.ecim-event-settings-shell {
  display: grid;
  gap: 18px;
}
.ecim-settings-overview-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  border-left: 4px solid var(--ecim-tiac-east) !important;
}
.ecim-settings-overview-card h3 {
  margin: 4px 0 8px;
}
.ecim-settings-overview-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  color: #64748b;
  font-size: 13px;
  text-align: right;
  min-width: 320px;
}
.ecim-event-settings-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.ecim-event-settings-grid .ecim-settings-feature {
  grid-row: auto;
}
.ecim-settings-wide-card {
  grid-column: 1 / -1;
}
.ecim-section-heading-compact {
  margin-bottom: 12px;
}
.ecim-section-heading-compact h3 {
  margin: 4px 0 6px;
}
.ecim-section-heading-compact .ecim-muted {
  margin: 0;
}
.ecim-setting-toggle-list {
  display: grid;
  gap: 10px;
}
.ecim-setting-toggle-list-compact {
  margin-top: 12px;
}
.ecim-setting-toggle {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.72);
  cursor: pointer;
}
.ecim-setting-toggle:hover {
  border-color: rgba(9, 140, 201, 0.28);
  background: rgba(9, 140, 201, 0.045);
}
.ecim-setting-toggle input {
  margin-top: 2px;
}
.ecim-setting-toggle strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  line-height: 1.25;
}
.ecim-setting-toggle small {
  display: block;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
  margin-top: 3px;
}
.ecim-settings-current-template {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
}
.ecim-settings-current-template span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.ecim-settings-current-template strong {
  color: #0f172a;
  font-size: 14px;
}
.ecim-settings-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}
.ecim-settings-card-footer .ecim-muted {
  margin: 0;
}
.ecim-event-tag-card .ecim-tag-setting-row,
.ecim-event-tag-card .ecim-tag-setting-add {
  grid-template-columns: minmax(220px, 1fr) repeat(4, auto) auto;
  padding: 10px 0;
}
.ecim-event-tag-card .ecim-tag-setting-add {
  align-items: center;
}
@media (max-width: 1100px) {
  .ecim-settings-overview-card,
  .ecim-settings-overview-meta,
  .ecim-settings-card-footer {
    align-items: stretch;
    flex-direction: column;
    text-align: left;
  }
  .ecim-settings-overview-meta {
    min-width: 0;
  }
  .ecim-event-settings-grid {
    grid-template-columns: 1fr;
  }
  .ecim-settings-wide-card {
    grid-column: auto;
  }
}
@media (max-width: 760px) {
  .ecim-event-tag-card .ecim-tag-setting-row,
  .ecim-event-tag-card .ecim-tag-setting-add {
    grid-template-columns: 1fr 1fr;
  }
  .ecim-event-tag-card .ecim-tag-setting-label,
  .ecim-event-tag-card .ecim-tag-setting-new {
    grid-column: 1 / -1;
  }
}

/* v1.2.256 — remove trial-specific overview language and enforce event settings layout */
body.ecim-portal-body .ecim-main .ecim-frontdesk-card .ecim-section-heading-compact {
  align-items: flex-start !important;
}
body.ecim-portal-body .ecim-main .ecim-frontdesk-status,
body.ecim-portal-body .ecim-main .ecim-frontdesk-loop,
body.ecim-portal-body .ecim-main #ecim-trial-readiness-wrap,
body.ecim-portal-body .ecim-main .ecim-trial-readiness-card {
  display: none !important;
}
body.ecim-portal-body .ecim-main .ecim-event-settings-shell-v256 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  align-items: start !important;
}
body.ecim-portal-body .ecim-main .ecim-settings-hero-card {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  border-left: 4px solid var(--ecim-tiac-east) !important;
}
body.ecim-portal-body .ecim-main .ecim-settings-hero-card h3 {
  margin: 4px 0 8px !important;
}
body.ecim-portal-body .ecim-main .ecim-event-settings-control-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}
body.ecim-portal-body .ecim-main .ecim-settings-tags-card-v256 {
  width: 100% !important;
}
body.ecim-portal-body .ecim-main .ecim-event-settings-shell-v256 .ecim-card {
  min-width: 0 !important;
}
@media (max-width: 980px) {
  body.ecim-portal-body .ecim-main .ecim-settings-hero-card,
  body.ecim-portal-body .ecim-main .ecim-event-settings-control-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

/* v1.2.257 — Event operations brief */
.ecim-ops-brief-card {
  display: grid;
  gap: 18px;
}
.ecim-ops-brief-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.ecim-ops-brief-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.ecim-ops-brief-panel {
  border: 1px solid var(--ecim-border, #d9e2ec);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
  display: grid;
  gap: 10px;
  min-width: 0;
}
.ecim-ops-brief-panel h4 {
  margin: 0;
  font-size: 14px;
  color: var(--ecim-text, #14213d);
}
.ecim-ops-queue-row,
.ecim-ops-activity-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #e3ebf3;
  border-radius: 14px;
  padding: 10px 12px;
  background: #fdfefe;
}
.ecim-ops-activity-row {
  grid-template-columns: minmax(0, 1fr) auto;
}
.ecim-ops-queue-row strong,
.ecim-ops-activity-row strong {
  display: block;
  font-size: 13px;
  color: var(--ecim-text, #14213d);
}
.ecim-ops-queue-row p,
.ecim-ops-activity-row p,
.ecim-ops-queue-row small {
  display: block;
  margin: 2px 0 0;
  color: var(--ecim-muted, #5f7187);
  font-size: 12px;
  line-height: 1.35;
}
.ecim-ops-activity-row time {
  color: var(--ecim-muted, #5f7187);
  font-size: 11px;
  white-space: nowrap;
}
.ecim-ops-queue-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #8aa0b7;
}
.ecim-ops-queue-row.is-attention .ecim-ops-queue-dot { background: #d97706; }
.ecim-ops-queue-row.is-warning .ecim-ops-queue-dot { background: #b91c1c; }
.ecim-ops-queue-row.is-info .ecim-ops-queue-dot { background: #0284c7; }
.ecim-compact-action {
  padding: 7px 10px !important;
  font-size: 12px !important;
  border-radius: 10px !important;
  white-space: nowrap;
}
@media (max-width: 980px) {
  .ecim-ops-brief-metrics,
  .ecim-ops-brief-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.2.258 — Event overview two-panel operations row */
.ecim-eventday-row-v258 {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 18px;
}
.ecim-eventday-row-v258 > .ecim-frontdesk-card,
.ecim-eventday-row-v258 > #ecim-operations-brief-wrap,
.ecim-eventday-row-v258 > #ecim-operations-brief-wrap > .ecim-card {
  min-width: 0;
  height: 100%;
}
.ecim-ops-brief-card-v258 {
  display: grid;
  align-content: start;
  gap: 16px;
}
.ecim-ops-brief-card-v258 .ecim-section-heading {
  margin-bottom: 0;
}
.ecim-ops-brief-metrics-v258 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 1180px) {
  .ecim-eventday-row-v258 {
    grid-template-columns: 1fr;
  }
  .ecim-ops-brief-metrics-v258 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .ecim-ops-brief-metrics-v258 {
    grid-template-columns: 1fr 1fr;
  }
}

/* v1.2.259 — Event overview operations row spacing polish */
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 {
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  gap: 16px;
  align-items: stretch;
  margin-top: 16px;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 > .ecim-frontdesk-card,
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 > #ecim-operations-brief-wrap > .ecim-card {
  height: 100%;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-frontdesk-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-frontdesk-action {
  min-height: 96px;
  align-content: center;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-ops-brief-card-v258 {
  padding: 24px !important;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-ops-brief-metrics-v258 {
  gap: 12px;
}
@media (max-width: 1180px) {
  body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 {
    grid-template-columns: 1fr;
  }
  body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-frontdesk-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-frontdesk-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-frontdesk-actions,
  body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-ops-brief-metrics-v258 {
    grid-template-columns: 1fr;
  }
}


/* v1.2.260 — Event overview panel top alignment fix
   The Front Desk card inherited an older standalone margin-top, while Event-day Pulse did not.
   Reset row child margins and make both panels start from the same grid line. */
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 {
  align-items: stretch !important;
  column-gap: 18px !important;
  row-gap: 18px !important;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 > .ecim-frontdesk-card,
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 > #ecim-operations-brief-wrap {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: stretch !important;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 > #ecim-operations-brief-wrap {
  display: flex !important;
  min-width: 0 !important;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 > .ecim-frontdesk-card,
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 > #ecim-operations-brief-wrap > .ecim-card {
  height: auto !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 > #ecim-operations-brief-wrap > .ecim-card {
  width: 100% !important;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-frontdesk-actions {
  align-items: stretch !important;
}
body.ecim-portal-body .ecim-main .ecim-eventday-row-v258 .ecim-frontdesk-actions button.ecim-frontdesk-action {
  height: 100% !important;
}

/* ECIM v1.2.261 — Microsoft Teams provider settings */
.ecim-integrations-card .ecim-global-sender-grid {
  margin-top: 14px;
}
.ecim-provider-readiness {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 14px;
  background: rgba(248, 250, 252, .92);
}
.ecim-provider-readiness small { color: #64748b; }
.ecim-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  color: #475569;
  background: #e2e8f0;
}
.ecim-status-pill.ecim-status-success { color: #065f46; background: #d1fae5; }
.ecim-status-pill.ecim-status-warning { color: #92400e; background: #fef3c7; }
.ecim-status-pill.ecim-status-danger,
.ecim-status-pill.ecim-status-failed { color: #991b1b; background: #fee2e2; }
.ecim-provider-test-result { margin-top: 12px; }
.ecim-provider-test-result .ecim-loading-card { padding: 12px 14px; }

/* ECIM v1.2.262 — Integrations submenu and Teams credential polish */
.ecim-integrations-shell {
  padding: 20px !important;
}
.ecim-integrations-heading {
  margin-bottom: 16px;
}
.ecim-integrations-heading h3 {
  margin: 4px 0 6px;
}
.ecim-integrations-layout {
  display: grid;
  grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.ecim-integrations-submenu {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 18px;
  background: #f8fafc;
}
.ecim-integration-subitem {
  appearance: none;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: #334155 !important;
  padding: 11px 12px !important;
  min-height: 58px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  box-shadow: none !important;
  cursor: pointer;
}
.ecim-integration-subitem strong {
  font-size: 13px;
  line-height: 1.2;
}
.ecim-integration-subitem small {
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ecim-integration-subitem:hover,
.ecim-integration-subitem:focus-visible,
.ecim-integration-subitem.is-active {
  background: #fff !important;
  border-color: rgba(14, 116, 144, .24) !important;
  color: #0f172a !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
}
.ecim-integration-subitem.is-active {
  border-left: 4px solid #0ea5e9 !important;
  padding-left: 9px !important;
}
.ecim-integration-detail-card {
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 20px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .05);
}
.ecim-integration-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}
.ecim-integration-detail-head > div {
  flex: 1 1 auto;
  min-width: 0;
}
.ecim-integration-detail-head h3 {
  margin: 3px 0 5px;
}
.ecim-toggle-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
.ecim-toggle-row input {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 auto;
}
.ecim-toggle-row span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.ecim-credential-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}
.ecim-credential-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 16px;
  background: #fbfdff;
}
.ecim-credential-field-wide {
  margin-top: 14px;
}
.ecim-credential-field span {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #475569;
}
.ecim-credential-field input,
.ecim-credential-field textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, .42) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #0f172a !important;
  padding: 11px 12px !important;
  font-size: 14px;
  box-shadow: none !important;
}
.ecim-credential-field input:focus,
.ecim-credential-field textarea:focus {
  outline: 2px solid rgba(14, 165, 233, .18) !important;
  border-color: rgba(14, 165, 233, .65) !important;
}
.ecim-credential-field small {
  color: #64748b;
  line-height: 1.35;
}
@media (max-width: 1024px) {
  .ecim-integrations-layout {
    grid-template-columns: 1fr;
  }
  .ecim-integrations-submenu {
    flex-direction: row;
    overflow-x: auto;
  }
  .ecim-integration-subitem {
    min-width: 170px;
  }
}
@media (max-width: 760px) {
  .ecim-credential-grid {
    grid-template-columns: 1fr;
  }
  .ecim-integration-detail-head {
    flex-direction: column;
  }
}


/* ECIM v1.2.263 — Integration provider cards: Teams/CRM/Webhooks only */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-integrations-submenu {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-integration-subitem,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-integration-subitem:visited {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) 18px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 76px !important;
  padding: 13px 14px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(148,163,184,.32) !important;
  border-left: 4px solid rgba(9,140,201,.36) !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #111827 !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  text-align: left !important;
  text-decoration: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transform: none !important;
  text-shadow: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-integration-subitem:hover,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-integration-subitem:focus-visible,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-integration-subitem.is-active {
  background: #fff !important;
  border-color: rgba(9,140,201,.45) !important;
  border-left-color: #098cc9 !important;
  box-shadow: 0 10px 24px rgba(9,140,201,.08) !important;
  color: #111827 !important;
  outline: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-integration-subitem.is-active {
  background: rgba(9,140,201,.08) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-integration-subitem-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: rgba(14,165,233,.10) !important;
  color: #098cc9 !important;
  font-size: 13px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-integration-subitem.is-active .ecim-integration-subitem-icon {
  background: rgba(9,140,201,.18) !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-integration-subitem-copy {
  display: block !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-integration-subitem-copy strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #0f172a !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-integration-subitem-copy small {
  display: -webkit-box !important;
  margin: 0 !important;
  color: #52667a !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-integration-subitem-copy em {
  display: inline-block !important;
  margin-top: 6px !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-integration-subitem-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0f172a !important;
  font-size: 12px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-credential-field input,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-credential-field textarea {
  min-height: 42px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(15,23,42,.03) !important;
}
@media (max-width: 1024px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-integrations-submenu {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(190px, 1fr)) !important;
    overflow-x: auto !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main button.ecim-integration-subitem {
    min-width: 220px !important;
  }
}
@media (max-width: 760px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-integrations-submenu {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.264 — full-width Integrations layout + lifecycle-style provider cards */
html body .ecim-main .ecim-settings-grid.ecim-settings-grid-section.ecim-settings-section-integrations {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
}
html body .ecim-main .ecim-settings-grid.ecim-settings-section-integrations > [data-settings-panel="integrations"],
html body .ecim-main .ecim-integrations-card.ecim-integrations-shell {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
html body .ecim-main .ecim-integrations-layout {
  display: grid !important;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: start !important;
  width: 100% !important;
}
html body .ecim-main .ecim-integration-detail-card {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
html body .ecim-main .ecim-integrations-submenu {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
}
html body .ecim-main button.ecim-integration-subitem.ecim-integration-provider-card,
html body .ecim-main button.ecim-integration-subitem.ecim-integration-provider-card:hover,
html body .ecim-main button.ecim-integration-subitem.ecim-integration-provider-card:focus,
html body .ecim-main button.ecim-integration-subitem.ecim-integration-provider-card:focus-visible {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0,1fr) 14px !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148,163,184,.30) !important;
  border-left: 4px solid rgba(9,140,201,.34) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
  color: #111827 !important;
  text-align: left !important;
  text-decoration: none !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transform: none !important;
  text-shadow: none !important;
}
html body .ecim-main button.ecim-integration-subitem.ecim-integration-provider-card:hover,
html body .ecim-main button.ecim-integration-subitem.ecim-integration-provider-card:focus-visible {
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
html body .ecim-main button.ecim-integration-subitem.ecim-integration-provider-card.is-active {
  border-color: rgba(9,140,201,.42) !important;
  border-left-color: #098cc9 !important;
  background: rgba(9,140,201,.12) !important;
  background-color: rgba(9,140,201,.12) !important;
  box-shadow: 0 8px 20px rgba(9,140,201,.08) !important;
}
html body .ecim-main .ecim-integration-provider-card .ecim-integration-subitem-icon {
  align-self: start !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin-top: 1px !important;
  border-radius: 999px !important;
  background: rgba(14,165,233,.10) !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
html body .ecim-main button.ecim-integration-provider-card.is-active .ecim-integration-subitem-icon {
  background: rgba(9,140,201,.22) !important;
}
html body .ecim-main .ecim-integration-provider-card .ecim-integration-subitem-copy strong {
  display: block !important;
  margin: 0 0 3px !important;
  color: #111827 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}
html body .ecim-main .ecim-integration-provider-card .ecim-integration-subitem-copy small {
  display: -webkit-box !important;
  margin: 0 !important;
  color: #52667a !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body .ecim-main .ecim-integration-provider-card .ecim-integration-subitem-copy em {
  display: block !important;
  margin-top: 3px !important;
  color: #64748b !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html body .ecim-main .ecim-integration-provider-card .ecim-integration-subitem-arrow {
  align-self: center !important;
  justify-self: end !important;
  width: 14px !important;
  color: #111827 !important;
  font-size: 12px !important;
}
@media (max-width: 1100px) {
  html body .ecim-main .ecim-integrations-layout { grid-template-columns: 1fr !important; }
  html body .ecim-main .ecim-integrations-submenu { grid-template-columns: repeat(3, minmax(190px, 1fr)) !important; }
}
@media (max-width: 760px) {
  html body .ecim-main .ecim-integrations-submenu { grid-template-columns: 1fr !important; }
}

/* ECIM v1.2.265 — Integrations icon colour + Teams logo polish */
html body .ecim-main .ecim-integration-provider-card .ecim-integration-subitem-icon,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-integration-subitem-icon {
  background: rgba(9,140,201,.12) !important;
  color: #098cc9 !important;
}
html body .ecim-main button.ecim-integration-provider-card.is-active .ecim-integration-subitem-icon,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-integration-subitem.is-active .ecim-integration-subitem-icon,
html body .ecim-main button.ecim-integration-provider-card:hover .ecim-integration-subitem-icon,
html body .ecim-main button.ecim-integration-provider-card:focus-visible .ecim-integration-subitem-icon {
  background: rgba(9,140,201,.18) !important;
  color: #098cc9 !important;
}
html body .ecim-main .ecim-integration-subitem-icon i,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-integration-subitem-icon i {
  color: #098cc9 !important;
}
html body .ecim-main .ecim-teams-logo {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 17px !important;
  height: 17px !important;
  color: #098cc9 !important;
}
html body .ecim-main .ecim-teams-logo-t {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 4px !important;
  background: #098cc9 !important;
  color: #ffffff !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 1px 2px rgba(9,140,201,.18) !important;
}
html body .ecim-main .ecim-teams-logo-dot {
  position: absolute !important;
  display: block !important;
  border-radius: 999px !important;
  background: #098cc9 !important;
  opacity: .72 !important;
}
html body .ecim-main .ecim-teams-logo-dot-one {
  width: 5px !important;
  height: 5px !important;
  top: 1px !important;
  right: 0 !important;
}
html body .ecim-main .ecim-teams-logo-dot-two {
  width: 4px !important;
  height: 4px !important;
  bottom: 2px !important;
  right: 1px !important;
  opacity: .52 !important;
}


/* ECIM v1.2.266 — Uploaded Teams SVG icon */
html body .ecim-main .ecim-teams-logo.ecim-teams-logo-uploaded {
  width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: inherit !important;
}
html body .ecim-main .ecim-teams-logo.ecim-teams-logo-uploaded svg,
html body .ecim-main .ecim-teams-logo.ecim-teams-logo-uploaded .ecim-teams-provider-svg {
  width: 19px !important;
  height: 19px !important;
  display: block !important;
  flex: 0 0 auto !important;
}
html body .ecim-main .ecim-teams-logo.ecim-teams-logo-uploaded .ecim-teams-logo-t,
html body .ecim-main .ecim-teams-logo.ecim-teams-logo-uploaded .ecim-teams-logo-dot {
  display: none !important;
}


.ecim-toggle-row-centered {
  align-self: center;
  flex: 0 0 auto;
  min-width: 168px;
  justify-content: center;
  text-align: center;
}
@media (max-width: 720px) {
  .ecim-integration-detail-head {
    align-items: stretch;
    flex-direction: column;
  }
  .ecim-toggle-row-centered {
    width: 100%;
  }
}
.ecim-provider-checklist{
margin:18px 0;
padding:18px;
border:1px solid #dbe4f0;
border-radius:14px;
background:#f8fbff;
}
.ecim-checklist-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:12px;
margin-top:14px;
}
.ecim-checklist-item{
display:flex;
align-items:center;
gap:10px;
padding:10px 12px;
background:#fff;
border:1px solid #dfe7f3;
border-radius:12px;
font-size:13px;
}
.ecim-checklist-item.is-complete{
border-color:#bfd9c7;
background:#f5fcf7;
}
.ecim-checklist-icon{
font-weight:700;
min-width:18px;
text-align:center;
}


/* ECIM v1.2.271 — Teams enable provider toggle alignment hardening
   Scope this aggressively so older checkbox/label rules cannot pull the input over the text. */
html body.ecim-portal-body .ecim-main label.ecim-toggle-row.ecim-toggle-row-centered {
  display: inline-grid !important;
  grid-template-columns: 16px max-content !important;
  align-items: center !important;
  justify-content: center !important;
  justify-items: center !important;
  column-gap: 8px !important;
  row-gap: 0 !important;
  min-width: 168px !important;
  width: fit-content !important;
  max-width: 100% !important;
  line-height: 1 !important;
  text-align: center !important;
}
html body.ecim-portal-body .ecim-main label.ecim-toggle-row.ecim-toggle-row-centered input[type="checkbox"] {
  display: block !important;
  position: static !important;
  inset: auto !important;
  float: none !important;
  transform: none !important;
  translate: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  flex: none !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  align-self: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
}
html body.ecim-portal-body .ecim-main label.ecim-toggle-row.ecim-toggle-row-centered span {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  justify-self: start !important;
  align-self: center !important;
}
@media (max-width: 720px) {
  html body.ecim-portal-body .ecim-main label.ecim-toggle-row.ecim-toggle-row-centered {
    width: 100% !important;
  }
}

/* ECIM v1.2.272 — Microsoft Graph readiness diagnostics */
.ecim-provider-diagnostics{
margin-top:16px;
padding:16px;
border:1px solid #dfe7f3;
border-radius:16px;
background:#f8fbff;
}
.ecim-provider-diagnostics-head{
margin-bottom:12px;
}
.ecim-provider-diagnostics-head p{
margin:4px 0 0;
}
.ecim-diagnostic-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:10px;
}
.ecim-diagnostic-grid-inline{
margin-top:12px;
}
.ecim-diagnostic-item{
display:grid;
grid-template-columns:24px 1fr;
gap:10px;
align-items:start;
padding:11px 12px;
border:1px solid #dfe7f3;
border-radius:12px;
background:#fff;
}
.ecim-diagnostic-item strong{
display:block;
font-size:13px;
line-height:1.2;
color:#172033;
}
.ecim-diagnostic-item small{
display:block;
margin-top:4px;
font-size:12px;
line-height:1.35;
color:#64748b;
}
.ecim-diagnostic-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:22px;
height:22px;
border-radius:999px;
font-size:12px;
font-weight:800;
background:#edf2f7;
color:#475569;
}
.ecim-diagnostic-success{
border-color:#bfdec8;
background:#f7fcf8;
}
.ecim-diagnostic-success .ecim-diagnostic-icon{
background:#dcfce7;
color:#166534;
}
.ecim-diagnostic-failed{
border-color:#fecaca;
background:#fff7f7;
}
.ecim-diagnostic-failed .ecim-diagnostic-icon,
.ecim-diagnostic-warning .ecim-diagnostic-icon{
background:#fee2e2;
color:#b91c1c;
}
.ecim-diagnostic-warning{
border-color:#fed7aa;
background:#fffaf2;
}
.ecim-diagnostic-warning .ecim-diagnostic-icon{
background:#ffedd5;
color:#c2410c;
}

/* ECIM v1.2.273 — Microsoft Graph simulation mode */
.ecim-simulation-panel{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:18px;
  align-items:start;
  border:1px solid #dbe6f3;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbff 0%,#ffffff 100%);
  padding:18px;
  margin:16px 0;
}
.ecim-simulation-panel h4{margin:4px 0 6px;font-size:16px;color:#172033;}
.ecim-simulation-controls{display:grid;gap:12px;}
.ecim-check-row-strong{
  justify-content:flex-start;
  font-weight:800;
  background:#fff;
  border:1px solid #dbe6f3;
  border-radius:999px;
  padding:10px 12px;
}
.ecim-simulation-active{color:#6d28d9;font-weight:800;}
@media (max-width: 860px){.ecim-simulation-panel{grid-template-columns:1fr;}}

/* ECIM v1.2.274 — virtual event workflow shell */
.ecim-virtual-workflow-shell {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(248,250,252,.96), rgba(255,255,255,.98));
  box-shadow: 0 14px 32px rgba(15, 23, 42, .06);
}
.ecim-virtual-workflow-shell.is-disabled { opacity: .72; }
.ecim-virtual-workflow-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.ecim-virtual-workflow-head h3 { margin: 3px 0 4px; }
.ecim-virtual-workflow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 12px;
}
.ecim-virtual-workflow-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 700;
  color: #172033;
}
.ecim-virtual-workflow-grid select,
.ecim-virtual-workflow-grid input {
  width: 100%;
}
.ecim-virtual-workflow-grid small,
.ecim-virtual-readiness-cards span {
  color: #64748b;
  font-weight: 500;
  line-height: 1.35;
}
.ecim-virtual-workflow-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(15, 23, 42, .08);
}
.ecim-virtual-readiness-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.ecim-virtual-readiness-cards > div {
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: #fff;
}
.ecim-virtual-readiness-cards strong,
.ecim-virtual-readiness-cards span {
  display: block;
}
.ecim-inline-success {
  margin-left: 10px;
  color: #047857;
  font-weight: 800;
  font-size: 12px;
}
@media (max-width: 980px) {
  .ecim-virtual-workflow-grid,
  .ecim-virtual-readiness-cards { grid-template-columns: 1fr; }
  .ecim-virtual-workflow-head,
  .ecim-virtual-workflow-actions { flex-direction: column; align-items: stretch; }
}

/* ECIM v1.2.275 — virtual event planning UI polish */
.ecim-virtual-section {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  background: #fff;
}
.ecim-virtual-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.ecim-virtual-section-head h4 {
  margin: 2px 0 4px;
  font-size: 16px;
  color: #172033;
}
.ecim-virtual-section-head p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.4;
}
.ecim-small-button {
  min-height: 34px;
  padding: 8px 11px;
  font-size: 12px;
  white-space: nowrap;
}
.ecim-virtual-people-list {
  display: grid;
  gap: 10px;
}
.ecim-virtual-person-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.1fr) 38px;
  gap: 10px;
  align-items: end;
  padding: 10px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: #f8fafc;
}

.ecim-virtual-person-role-pill {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(14, 165, 233, .22);
  background: #f0f9ff;
  color: #0369a1;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.ecim-virtual-person-row[data-role="presenters"] .ecim-virtual-person-role-pill {
  border-color: rgba(124, 58, 237, .20);
  background: #f5f3ff;
  color: #6d28d9;
}
.ecim-virtual-person-row label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  color: #334155;
}
.ecim-virtual-person-row input {
  width: 100%;
  background: #fff;
}
.ecim-icon-button.ecim-virtual-person-remove {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, .45);
  background: #fff;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled) {
  color: #b91c1c;
  border-color: rgba(185, 28, 28, .35);
  background: #fff5f5;
}
.ecim-icon-button.ecim-virtual-person-remove:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.ecim-switch-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.ecim-switch-row {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: #f8fafc;
  cursor: pointer;
}
.ecim-switch-row input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.ecim-switch-track {
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #cbd5e1;
  border: 1px solid rgba(100, 116, 139, .25);
  position: relative;
  transition: background .18s ease, border-color .18s ease;
}
.ecim-switch-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(15, 23, 42, .18);
  transition: transform .18s ease;
}
.ecim-switch-row input[type="checkbox"]:checked + .ecim-switch-track {
  background: #2563eb;
  border-color: #2563eb;
}
.ecim-switch-row input[type="checkbox"]:checked + .ecim-switch-track .ecim-switch-knob {
  transform: translateX(18px);
}
.ecim-switch-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: #172033;
}
.ecim-switch-copy strong {
  font-size: 13px;
  line-height: 1.2;
}
.ecim-switch-copy small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.3;
}
@media (max-width: 980px) {
  .ecim-virtual-section-head { flex-direction: column; align-items: stretch; }
  .ecim-virtual-person-row { grid-template-columns: 1fr; }
  .ecim-virtual-person-role-pill { justify-self: start; }
  .ecim-icon-button.ecim-virtual-person-remove { width: 100%; }
  .ecim-switch-grid { grid-template-columns: 1fr; }
}

/* ECIM v1.2.276 — Teams virtual workflow readiness polish */
.ecim-virtual-connector-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  margin: 14px 0 16px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(248,250,252,0.9));
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}
.ecim-virtual-connector-strip strong {
  display: block;
  margin-top: 2px;
  color: #172033;
  font-size: 13px;
}
.ecim-virtual-connector-strip p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
}
.ecim-virtual-connector-strip.is-ready {
  border-color: rgba(34, 197, 94, 0.26);
  background: linear-gradient(135deg, rgba(240,253,244,0.9), rgba(255,255,255,0.96));
}
.ecim-virtual-connector-strip.is-blocked {
  border-color: rgba(251, 191, 36, 0.34);
  background: linear-gradient(135deg, rgba(255,251,235,0.84), rgba(255,255,255,0.96));
}
.ecim-inline-warning {
  display: inline-flex;
  align-items: center;
  margin-left: 10px;
  color: #92400e;
  font-weight: 700;
  font-size: 12px;
}

/* ECIM v1.2.278 — simplified webinar setup experience */
.ecim-virtual-access-panel {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.ecim-virtual-webinar-setup {
  padding: 26px 28px;
  border-radius: 22px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #fff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}
.ecim-virtual-product-head {
  margin-bottom: 22px;
  padding-bottom: 0;
  border-bottom: 0;
}
.ecim-virtual-product-head h3 {
  margin: 8px 0 8px;
  font-size: 23px;
  line-height: 1.15;
  color: #172033;
}
.ecim-virtual-product-head .ecim-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0878bd;
}
.ecim-virtual-product-section {
  padding: 22px 0;
  border-top: 1px solid rgba(15, 23, 42, .09);
}
.ecim-virtual-product-section:first-of-type {
  border-top: 0;
  padding-top: 0;
}
.ecim-virtual-step-title {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 14px;
}
.ecim-virtual-step-title > span {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #0b86c8;
  font-weight: 900;
  font-size: 13px;
  border: 1px solid rgba(14, 165, 233, .28);
}
.ecim-virtual-step-title h4 {
  margin: 1px 0 4px;
  font-size: 17px;
  line-height: 1.2;
  color: #172033;
}
.ecim-virtual-step-title p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}
.ecim-provider-choice-row {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}
.ecim-provider-select-label {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-weight: 800;
  color: #172033;
}
.ecim-provider-select-label select {
  min-height: 46px;
  border-radius: 13px;
  background: #fff;
}
.ecim-provider-status-pill {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, .28);
  background: #f8fafc;
}
.ecim-provider-status-pill i { margin-top: 1px; }
.ecim-provider-status-pill strong {
  display: block;
  color: #172033;
  font-size: 13px;
}
.ecim-provider-status-pill small {
  display: block;
  margin-top: 2px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}
.ecim-provider-status-pill.is-ready {
  background: #f0fdf4;
  border-color: rgba(34, 197, 94, .28);
  color: #047857;
}
.ecim-provider-status-pill.is-warning {
  background: #fffbeb;
  border-color: rgba(245, 158, 11, .34);
  color: #92400e;
}
.ecim-default-organizer-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid rgba(14, 165, 233, .24);
  border-radius: 16px;
  background: linear-gradient(135deg, #f8fbff, #ffffff);
}
.ecim-default-organizer-card small {
  display: block;
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 5px;
}
.ecim-default-organizer-card strong {
  display: block;
  color: #172033;
  font-size: 16px;
  line-height: 1.25;
}
.ecim-default-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-size: 12px;
  font-weight: 900;
}
.ecim-role-action-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}
.ecim-role-action-row .ecim-small-button {
  min-height: 40px;
  border-radius: 12px;
  padding: 9px 14px;
  color: #075985;
  background: #fff;
  border-color: rgba(14, 165, 233, .25);
}
.ecim-virtual-role-lists {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.ecim-virtual-role-lists .ecim-virtual-people-list:empty { display: none; }
.ecim-virtual-role-lists .ecim-virtual-person-row {
  background: #fff;
  border-color: rgba(148, 163, 184, .26);
}
.ecim-meeting-experience-stack {
  display: grid;
  gap: 0;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}
.ecim-meeting-experience-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) minmax(220px, 330px);
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-top: 1px solid rgba(15, 23, 42, .08);
}
.ecim-meeting-experience-row:first-child { border-top: 0; }
.ecim-meeting-experience-icon {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #2563eb;
}
.ecim-meeting-experience-icon.is-purple {
  background: #f5f3ff;
  color: #7c3aed;
}
.ecim-meeting-experience-icon.is-red {
  background: #fff1f2;
  color: #e11d48;
}
.ecim-meeting-experience-copy strong {
  display: block;
  color: #172033;
  font-size: 14px;
}
.ecim-meeting-experience-copy small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  line-height: 1.35;
}
.ecim-meeting-select select {
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
}
.ecim-meeting-toggle-list {
  display: grid;
  gap: 10px;
}
.ecim-meeting-toggle-list .ecim-switch-row {
  grid-template-columns: 42px minmax(0, 1fr);
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}
.ecim-meeting-toggle-list .ecim-switch-copy strong {
  font-size: 13px;
}
.ecim-meeting-toggle-list .ecim-switch-copy small {
  font-size: 12px;
}
@media (max-width: 980px) {
  .ecim-virtual-webinar-setup { padding: 20px; }
  .ecim-provider-choice-row,
  .ecim-meeting-experience-row {
    grid-template-columns: 1fr;
  }
  .ecim-default-organizer-card {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ECIM v1.2.280 — Teams icon polish for virtual event setup title */
html body .ecim-main .ecim-virtual-setup-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

html body .ecim-main .ecim-virtual-title-teams-icon {
  width: 24px;
  height: 24px;
  min-width: 24px;
  border-radius: 8px;
  background: #f4f6ff;
  box-shadow: none;
}

html body .ecim-main .ecim-virtual-title-teams-icon svg,
html body .ecim-main .ecim-virtual-title-teams-icon .ecim-teams-provider-svg {
  width: 18px;
  height: 18px;
}


/* ECIM v1.2.281 — flatten virtual event setup into the main access panel */
html body .ecim-main .ecim-event-flow-panel.ecim-virtual-access-panel {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
  padding: 26px 28px;
}

html body .ecim-main .ecim-virtual-access-panel .ecim-virtual-workflow-shell,
html body .ecim-main .ecim-virtual-access-panel .ecim-virtual-webinar-setup {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html body .ecim-main .ecim-virtual-access-panel .ecim-virtual-product-head {
  margin-bottom: 22px;
}

@media (max-width: 980px) {
  html body .ecim-main .ecim-event-flow-panel.ecim-virtual-access-panel {
    padding: 20px;
  }
}

/* ECIM v1.2.290 — hybrid attendance-mode guardrails */
.ecim-mini-pill-warning {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}
.ecim-attendance-mode-warning {
  display: grid;
  gap: 4px;
  margin-bottom: 14px;
}
.ecim-attendance-mode-warning strong {
  color: #9a3412;
}
.ecim-attendance-mode-warning span {
  color: #7c2d12;
}

/* ECIM v1.2.292 — Teams provisioning mapping preview */
.ecim-virtual-setup-review {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 12px;
  padding-top: 18px;
  border-top: 1px solid rgba(15, 23, 42, .09);
}
.ecim-virtual-setup-review small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}
.ecim-teams-provisioning-preview {
  margin-top: 14px;
}
.ecim-provisioning-summary-card {
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #ffffff;
  padding: 18px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}
.ecim-provisioning-summary-card.is-ready {
  border-color: rgba(34, 197, 94, .25);
  background: linear-gradient(180deg, #ffffff, #f7fef9);
}
.ecim-provisioning-summary-card.needs-attention {
  border-color: rgba(245, 158, 11, .32);
  background: linear-gradient(180deg, #ffffff, #fffbeb);
}
.ecim-provisioning-summary-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}
.ecim-provisioning-summary-head h4 {
  margin: 3px 0 5px;
  font-size: 17px;
  color: #172033;
}
.ecim-provisioning-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.ecim-provisioning-summary-grid > div {
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, .22);
  background: rgba(255, 255, 255, .74);
  padding: 12px;
}
.ecim-provisioning-summary-grid span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 5px;
}
.ecim-provisioning-summary-grid strong {
  display: block;
  color: #172033;
  font-size: 13px;
  line-height: 1.35;
}
.ecim-provisioning-warnings {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 251, 235, .92);
  border: 1px solid rgba(245, 158, 11, .30);
  color: #78350f;
}
.ecim-provisioning-warnings strong {
  display: block;
  margin-bottom: 6px;
}
.ecim-provisioning-warnings ul {
  margin: 0;
  padding-left: 18px;
}
.ecim-provisioning-warnings li + li { margin-top: 4px; }
.ecim-block-warning {
  display: block;
  padding: 12px 14px;
  border-radius: 14px;
}
@media (max-width: 980px) {
  .ecim-provisioning-summary-grid {
    grid-template-columns: 1fr;
  }
  .ecim-provisioning-summary-head {
    flex-direction: column;
  }
}


/* v1.2.294 - virtual team workspace and reliable role row add */
.ecim-virtual-team-shell .ecim-section-heading .ecim-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ecim-virtual-team-grid {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}
.ecim-virtual-team-person-card {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 16px;
  background: #fff;
}
.ecim-virtual-team-person-main h4 {
  margin: 4px 0 2px;
  font-size: 15px;
  color: #0f172a;
}
.ecim-virtual-team-person-main p {
  margin: 0;
  font-size: 13px;
  color: #475569;
}
.ecim-virtual-team-person-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.ecim-virtual-team-group {
  display: grid;
  gap: 10px;
  padding-top: 4px;
}
.ecim-virtual-team-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ecim-virtual-team-group-head h4 {
  margin: 0;
  font-size: 14px;
  color: #0f172a;
}
.ecim-virtual-team-group-head span {
  min-width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
}
.ecim-empty-copy {
  margin: 0;
  padding: 12px 14px;
  border: 1px dashed rgba(148, 163, 184, .45);
  border-radius: 14px;
  background: #f8fafc;
}
@media (max-width: 720px) {
  .ecim-virtual-team-person-card {
    align-items: flex-start;
    flex-direction: column;
  }
  .ecim-virtual-team-person-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* v1.2.295 - make added virtual team rows visibly identify co-organizer vs presenter */

/* v1.2.296 - inline virtual team management */
.ecim-virtual-team-top-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.ecim-virtual-team-edit-list {
  display: grid;
  gap: 10px;
}
.ecim-virtual-team-shell .ecim-virtual-person-row {
  margin: 0;
  background: #fff;
}
.ecim-virtual-team-savebar {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(148, 163, 184, .22);
  align-items: center;
}
.ecim-inline-status {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  font-size: 13px;
  color: #64748b;
}
.ecim-inline-status.is-saving {
  color: #1d4ed8;
  font-weight: 700;
}
.ecim-inline-status.is-saved {
  color: #15803d;
  font-weight: 800;
}
@media (max-width: 720px) {
  .ecim-virtual-team-top-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* v1.2.299 - compact saved/editable virtual team rows */
.ecim-virtual-team-shell .ecim-virtual-person-row {
  grid-template-columns: auto minmax(180px, .9fr) minmax(220px, 1.15fr) 38px 38px;
  align-items: center;
  gap: 8px;
}
.ecim-virtual-team-shell .ecim-virtual-person-row.is-saved {
  grid-template-columns: auto minmax(0, 1fr) 38px 38px 38px;
  padding: 9px 10px;
}
.ecim-virtual-person-row label > span.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.ecim-virtual-person-summary {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ecim-virtual-person-summary strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ecim-virtual-person-summary span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ecim-icon-button.ecim-virtual-person-action,
.ecim-icon-button.ecim-virtual-person-remove {
  width: 36px;
  height: 36px;
  min-width: 36px;
  padding: 0;
  border-radius: 12px;
}
.ecim-icon-button.ecim-virtual-person-send {
  color: #0369a1;
  border-color: rgba(14, 165, 233, .28);
  background: #f0f9ff;
}
.ecim-icon-button.ecim-virtual-person-send:hover:not(:disabled) {
  color: #075985;
  border-color: rgba(14, 165, 233, .48);
  background: #e0f2fe;
}
.ecim-icon-button.ecim-virtual-person-edit:hover:not(:disabled) {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, .35);
  background: #eff6ff;
}
.ecim-icon-button.ecim-virtual-person-action span,
.ecim-virtual-person-send span {
  display: none !important;
}
@media (max-width: 900px) {
  .ecim-virtual-team-shell .ecim-virtual-person-row,
  .ecim-virtual-team-shell .ecim-virtual-person-row.is-saved {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .ecim-virtual-team-shell .ecim-virtual-person-row.is-saved .ecim-virtual-person-action,
  .ecim-virtual-team-shell .ecim-virtual-person-row.is-saved .ecim-virtual-person-remove {
    width: 100%;
  }
}


/* v1.2.300 - centre virtual team action icons and make delete destructive */
.ecim-icon-button.ecim-virtual-person-action,
.ecim-icon-button.ecim-virtual-person-remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
.ecim-icon-button.ecim-virtual-person-action i,
.ecim-icon-button.ecim-virtual-person-remove i,
.ecim-icon-button.ecim-virtual-person-action svg,
.ecim-icon-button.ecim-virtual-person-remove svg {
  display: block !important;
  margin: 0 !important;
  line-height: 1 !important;
  width: 1em !important;
  height: 1em !important;
  text-align: center !important;
  flex: 0 0 auto !important;
}
.ecim-icon-button.ecim-virtual-person-remove {
  color: #dc2626 !important;
  border-color: rgba(220, 38, 38, .28) !important;
  background: #fff1f2 !important;
}
.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled) {
  color: #b91c1c !important;
  border-color: rgba(220, 38, 38, .52) !important;
  background: #ffe4e6 !important;
}


/* v1.2.301 - harden virtual team destructive action styling */
.ecim-virtual-team-shell button.ecim-icon-button.ecim-virtual-person-remove,
.ecim-virtual-team-shell .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove,
.ecim-virtual-people-list button.ecim-icon-button.ecim-virtual-person-remove,
.ecim-virtual-people-list .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove {
  color: #dc2626 !important;
  border-color: rgba(220, 38, 38, .36) !important;
  background: #fff1f2 !important;
}
.ecim-virtual-team-shell button.ecim-icon-button.ecim-virtual-person-remove i,
.ecim-virtual-team-shell .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove i,
.ecim-virtual-people-list button.ecim-icon-button.ecim-virtual-person-remove i,
.ecim-virtual-people-list .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove i {
  color: #dc2626 !important;
}
.ecim-virtual-team-shell button.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled),
.ecim-virtual-team-shell .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove:hover:not(:disabled),
.ecim-virtual-people-list button.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled),
.ecim-virtual-people-list .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove:hover:not(:disabled) {
  color: #b91c1c !important;
  border-color: rgba(185, 28, 28, .56) !important;
  background: #ffe4e6 !important;
}
.ecim-virtual-team-shell button.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled) i,
.ecim-virtual-team-shell .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove:hover:not(:disabled) i,
.ecim-virtual-people-list button.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled) i,
.ecim-virtual-people-list .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove:hover:not(:disabled) i {
  color: #b91c1c !important;
}

/* v1.2.302 - destructive virtual team delete button and lifecycle template consolidation */
html body .ecim-main .ecim-virtual-team-shell button.ecim-icon-button.ecim-virtual-person-remove,
html body .ecim-main .ecim-virtual-team-shell .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove,
html body .ecim-main .ecim-virtual-people-list button.ecim-icon-button.ecim-virtual-person-remove,
html body .ecim-main .ecim-virtual-people-list .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
}
html body .ecim-main .ecim-virtual-team-shell button.ecim-icon-button.ecim-virtual-person-remove i,
html body .ecim-main .ecim-virtual-team-shell .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove i,
html body .ecim-main .ecim-virtual-people-list button.ecim-icon-button.ecim-virtual-person-remove i,
html body .ecim-main .ecim-virtual-people-list .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove i,
html body .ecim-main .ecim-virtual-team-shell button.ecim-icon-button.ecim-virtual-person-remove svg,
html body .ecim-main .ecim-virtual-team-shell .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove svg,
html body .ecim-main .ecim-virtual-people-list button.ecim-icon-button.ecim-virtual-person-remove svg,
html body .ecim-main .ecim-virtual-people-list .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove svg,
html body .ecim-main .ecim-virtual-team-shell button.ecim-icon-button.ecim-virtual-person-remove svg path,
html body .ecim-main .ecim-virtual-team-shell .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove svg path,
html body .ecim-main .ecim-virtual-people-list button.ecim-icon-button.ecim-virtual-person-remove svg path,
html body .ecim-main .ecim-virtual-people-list .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove svg path {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
html body .ecim-main .ecim-virtual-team-shell button.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled),
html body .ecim-main .ecim-virtual-team-shell .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove:hover:not(:disabled),
html body .ecim-main .ecim-virtual-people-list button.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled),
html body .ecim-main .ecim-virtual-people-list .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove:hover:not(:disabled) {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
}

/* v1.2.303 - force virtual team delete buttons to be red by default, not only on hover */
button.ecim-icon-button.ecim-virtual-person-remove,
button.ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove,
.ecim-icon-button.ecim-virtual-person-remove,
.ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove,
.ecim-virtual-person-row button.ecim-icon-button.ecim-virtual-person-remove,
.ecim-virtual-person-row .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove {
  background-color: #dc2626 !important;
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
}
button.ecim-icon-button.ecim-virtual-person-remove *,
button.ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove *,
.ecim-icon-button.ecim-virtual-person-remove *,
.ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove *,
.ecim-virtual-person-row button.ecim-icon-button.ecim-virtual-person-remove *,
.ecim-virtual-person-row .ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove *,
button.ecim-icon-button.ecim-virtual-person-remove svg,
button.ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove svg,
button.ecim-icon-button.ecim-virtual-person-remove svg path,
button.ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove svg path {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
button.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled),
button.ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove:hover:not(:disabled),
.ecim-icon-button.ecim-virtual-person-remove:hover:not(:disabled),
.ecim-icon-button.ecim-virtual-person-action.ecim-virtual-person-remove:hover:not(:disabled) {
  background-color: #b91c1c !important;
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
}

/* ECIM v1.2.306 - custom lifecycle template creation polish */
.ecim-communication-template-create-inline {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 54px;
  padding: 12px 18px;
  border: 2px solid #098cc9;
  border-radius: 14px;
  background: #ffffff;
  color: #111827;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.ecim-communication-template-create-inline:hover,
.ecim-communication-template-create-inline:focus-visible {
  background: rgba(9,140,201,.06);
  color: #075f8d;
  outline: none;
  box-shadow: 0 0 0 3px rgba(9,140,201,.16);
}
.ecim-template-name-field {
  margin: 4px 0 6px;
  max-width: 420px;
}
.ecim-template-name-field span {
  font-size: 11px;
  font-weight: 800;
  color: #52667a;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.ecim-template-name-field input {
  width: 100%;
  margin-top: 5px;
  padding: 10px 12px;
  border: 1px solid rgba(148,163,184,.45);
  border-radius: 12px;
  font-size: 18px;
  font-weight: 700;
  color: #172033;
  background: #fff;
}


/* ECIM v1.2.307 - custom lifecycle template delete action */
.ecim-template-delete-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 9px 14px !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.ecim-compose-actions-row .ecim-template-delete-button {
  margin-right: auto;
}
.ecim-global-custom-template-meta {
  align-items: end;
}
.ecim-global-custom-template-meta .ecim-template-delete-button {
  align-self: end;
}

/* v1.2.308 — Communications shell polish */
.ecim-global-shell-redesign-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 18px;
  align-items: start;
}
.ecim-global-shell-editor-panel {
  display: grid;
  gap: 12px;
}
.ecim-global-shell-panel-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.ecim-global-shell-source-copy {
  margin: 0;
}
.ecim-global-shell-source-copy textarea {
  min-height: 96px;
  resize: vertical;
}
.ecim-global-shell-live-preview {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 10px;
}
.ecim-global-shell-live-card {
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .07);
}
.ecim-global-shell-live-card header {
  display: grid;
  gap: 4px;
  padding: 18px 20px;
  color: #fff;
  background: #0f172a;
}
.ecim-global-shell-live-card header strong,
.ecim-global-shell-live-card footer strong {
  display: block;
  font-weight: 800;
}
.ecim-global-shell-live-card header span,
.ecim-global-shell-live-card footer span {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  opacity: .86;
}
.ecim-global-shell-live-card main {
  padding: 20px;
  color: #172033;
  line-height: 1.55;
}
.ecim-global-shell-live-card footer {
  display: grid;
  gap: 4px;
  padding: 16px 20px;
  color: #64748b;
  background: #f8fafc;
  border-top: 1px solid rgba(148, 163, 184, .24);
}
@media (max-width: 1100px) {
  .ecim-global-shell-redesign-layout {
    grid-template-columns: 1fr;
  }
  .ecim-global-shell-live-preview {
    position: static;
  }
}

/* v1.2.309 — HTML email shell editor */
.ecim-global-shell-html-panel .ecim-global-shell-html-compose {
  display: grid;
  gap: 10px;
}
.ecim-global-shell-rich-editor {
  min-height: 132px;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 14px;
  background: #fff;
  padding: 14px 16px;
  line-height: 1.55;
  color: #172033;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .03);
}
.ecim-global-shell-rich-editor:focus {
  outline: none;
  border-color: rgba(9, 140, 201, .62);
  box-shadow: 0 0 0 3px rgba(9, 140, 201, .12);
}
.ecim-global-shell-html-source {
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 14px;
  background: rgba(248, 250, 252, .72);
  padding: 10px 12px;
}
.ecim-global-shell-html-source summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  color: #52667a;
}
.ecim-global-shell-source-textarea {
  width: 100%;
  margin-top: 10px;
  min-height: 110px;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 12px;
  padding: 10px 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  line-height: 1.45;
  resize: vertical;
}
.ecim-global-shell-live-card header p,
.ecim-global-shell-live-card footer p {
  margin: 0 0 6px;
}
.ecim-global-shell-live-card header p:last-child,
.ecim-global-shell-live-card footer p:last-child {
  margin-bottom: 0;
}
.ecim-global-shell-live-card header a { color: #bfdbfe; }
.ecim-global-shell-live-card footer a { color: #0369a1; }

/* v1.2.310 — polished global shell + event banner override */
.ecim-global-shell-redesign-layout {
  grid-template-columns: minmax(420px, 0.95fr) minmax(520px, 1.2fr) !important;
  gap: 22px !important;
}
.ecim-global-shell-redesign-grid {
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}
.ecim-global-shell-editor-panel {
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, .26) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .04) !important;
}
.ecim-global-shell-panel-title-row {
  border-bottom: 1px solid rgba(148, 163, 184, .16);
  padding-bottom: 10px;
}
.ecim-global-shell-live-preview {
  min-width: 0;
}
.ecim-global-shell-live-card {
  max-width: none;
  min-height: 520px;
}
.ecim-global-shell-rich-editor {
  min-height: 156px;
}
.ecim-global-shell-live-card main {
  min-height: 220px;
}
.ecim-event-comm-shell-grid {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(360px, 1.1fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}
.ecim-event-comm-shell-card,
.ecim-event-comm-shell-preview-card {
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  display: grid;
  gap: 14px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}
.ecim-event-header-toggle {
  justify-content: flex-start;
  width: fit-content;
  min-width: 220px;
}
.ecim-event-header-toggle input:disabled + span,
.ecim-event-header-toggle:has(input:disabled) {
  opacity: .65;
  cursor: not-allowed;
}
.ecim-event-header-preview {
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 16px;
  background: #f8fafc;
  overflow: hidden;
}
.ecim-event-header-preview img {
  display: block;
  width: 100%;
}
.ecim-event-header-preview small {
  display: block;
  padding: 10px 12px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}
.ecim-event-header-preview.is-empty {
  min-height: 160px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 24px;
  color: #64748b;
}
.ecim-event-header-preview.is-empty span {
  display: block;
  font-weight: 800;
  color: #334155;
}
.ecim-event-header-preview.is-empty small {
  padding: 4px 0 0;
}
.ecim-event-comm-save-note {
  margin: 0;
}
@media (max-width: 1180px) {
  .ecim-global-shell-redesign-layout,
  .ecim-event-comm-shell-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v1.2.311 — Mailchimp-style global email shell designer */
.ecim-global-shell-redesign-layout {
  grid-template-columns: minmax(460px, .9fr) minmax(560px, 1.25fr) !important;
  align-items: start;
}
.ecim-global-shell-panel-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.ecim-link-button {
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  background: transparent;
  color: #098cc9;
  font-size: 12px;
  font-weight: 800;
  padding: 4px 0;
  cursor: pointer;
}
.ecim-link-button:hover,
.ecim-link-button:focus {
  color: #0369a1;
  text-decoration: underline;
}
.ecim-email-designer-block-palette {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border: 1px dashed rgba(9, 140, 201, .32);
  border-radius: 14px;
  background: rgba(240, 249, 255, .52);
}
.ecim-email-designer-block-button {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(9, 140, 201, .32);
  background: #fff;
  color: #075985;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.ecim-email-designer-block-button:hover,
.ecim-email-designer-block-button:focus {
  background: rgba(9, 140, 201, .1);
  border-color: rgba(9, 140, 201, .52);
}
.ecim-global-shell-rich-editor {
  min-height: 210px !important;
  padding: 0 !important;
  overflow: hidden;
}
.ecim-global-shell-rich-editor > * {
  max-width: 100%;
}
.ecim-global-shell-live-card {
  width: 100%;
}
.ecim-global-shell-live-card header,
.ecim-global-shell-live-card footer {
  padding: 0 !important;
  display: block !important;
}
.ecim-global-shell-live-card header > *,
.ecim-global-shell-live-card footer > * {
  margin: 0;
}
.ecim-global-shell-live-card main {
  margin: 24px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 14px;
  background: #fff;
}
@media (max-width: 1220px) {
  .ecim-global-shell-redesign-layout {
    grid-template-columns: 1fr !important;
  }
}

/* v1.2.317 capacity model helper */
.ecim-field-help-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(14, 165, 233, 0.22);
  background: rgba(240, 249, 255, 0.72);
  border-radius: 14px;
  color: #475569;
  min-height: 58px;
}
.ecim-field-help-card strong {
  color: #0f172a;
  font-size: 13px;
}
.ecim-field-help-card span {
  font-size: 12px;
  line-height: 1.35;
}
.ecim-capacity-model-row {
  align-items: stretch;
}

/* v1.2.318 — guided global email shell builder controls */
.ecim-email-guided-toolbox {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 14px;
  background: #f8fafc;
}
.ecim-email-guided-toolbox-head {
  display: grid;
  gap: 2px;
}
.ecim-email-guided-toolbox-head strong {
  color: #172033;
  font-size: 13px;
  font-weight: 800;
}
.ecim-email-guided-toolbox-head span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
}
.ecim-email-guided-subhead {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(148, 163, 184, .22);
}
.ecim-email-guided-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.ecim-email-social-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ecim-email-guided-grid input {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(148, 163, 184, .36);
  border-radius: 10px;
  background: #fff;
  padding: 8px 10px;
  color: #172033;
  font-size: 12px;
}
.ecim-email-guided-grid input:focus {
  outline: none;
  border-color: rgba(9, 140, 201, .62);
  box-shadow: 0 0 0 3px rgba(9, 140, 201, .12);
}
.ecim-guided-insert-button {
  justify-self: start;
  min-height: 34px;
  font-size: 12px;
  border-radius: 10px;
}
.ecim-email-header-image-block img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 980px) {
  .ecim-email-guided-grid,
  .ecim-email-social-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.2.319 — selected global email shell designer + clean preview */
.ecim-shell-selected-layout {
  display: grid !important;
  grid-template-columns: minmax(420px, .88fr) minmax(620px, 1.22fr) !important;
  gap: 22px !important;
  align-items: start;
}
.ecim-global-shell-topbar {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  margin: -8px 0 12px;
}
.ecim-shell-selected-editors { display: grid; gap: 14px !important; }
.ecim-shell-designer-card {
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  display: grid;
  gap: 14px;
  box-shadow: 0 8px 22px rgba(15,23,42,.045);
}
.ecim-shell-designer-card-head {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) 32px;
  align-items: start;
  gap: 10px;
}
.ecim-shell-step-badge {
  width: 24px; height: 24px; border-radius: 9px; background: #098cc9; color: #fff;
  display: inline-grid; place-items: center; font-weight: 900; font-size: 12px;
}
.ecim-shell-designer-card-head h4 { margin: 0; color: #172033; font-size: 15px; line-height: 1.2; }
.ecim-shell-designer-card-head p { margin: 2px 0 0; color: #64748b; font-size: 12px; }
.ecim-shell-status-dot { color: #16a34a; font-weight: 900; }
.ecim-shell-collapse-button {
  width: 30px; height: 30px; border: 0; background: transparent; color: #64748b; font-weight: 900; cursor: pointer;
}
.ecim-shell-designer-field { display: grid; gap: 7px; }
.ecim-shell-designer-field > span { color: #334155; font-size: 12px; font-weight: 800; }
.ecim-shell-designer-field input,
.ecim-shell-manage-links-panel input {
  width: 100%; min-height: 38px; border: 1px solid rgba(148,163,184,.36); border-radius: 10px;
  background: #fff; padding: 8px 10px; color: #172033; font-size: 13px;
}
.ecim-shell-banner-control { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; }
.ecim-shell-inline-tools { display: grid; grid-template-columns: minmax(0,1fr) 42px 42px; gap: 0; }
.ecim-shell-inline-tools input { border-radius: 10px 0 0 10px; }
.ecim-format-mini {
  min-height: 38px; border: 1px solid rgba(148,163,184,.36); border-left: 0; background: #fff; color: #172033; font-weight: 900;
}
.ecim-format-mini:last-child { border-radius: 0 10px 10px 0; }
.ecim-shell-social-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ecim-shell-social-row button:not(.ecim-secondary) {
  width: 36px; height: 36px; border-radius: 12px; border: 1px solid rgba(148,163,184,.32); background: #fff;
  color: #334155; font-weight: 900; display: inline-grid; place-items: center;
}
.ecim-shell-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.ecim-shell-chip {
  min-height: 34px; padding: 7px 12px; border-radius: 10px; border: 1px solid rgba(148,163,184,.32);
  background: #fff; color: #334155; font-size: 12px; font-weight: 800;
}
.ecim-shell-manage-links-panel { display: none; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.ecim-shell-manage-links-panel.is-open { display: grid; }
.ecim-shell-additional-options {
  border-top: 1px solid rgba(148,163,184,.20); padding-top: 12px; color: #334155;
}
.ecim-shell-additional-options summary { cursor: pointer; font-weight: 800; font-size: 12px; color: #52667a; }
.ecim-shell-live-head { display: flex; justify-content: space-between; gap: 14px; align-items: start; margin-bottom: 12px; }
.ecim-shell-live-head h4 { margin: 0; font-size: 15px; color: #172033; }
.ecim-shell-live-head p { margin: 2px 0 0; color: #64748b; font-size: 12px; }
.ecim-shell-device-toggle { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid rgba(148,163,184,.25); border-radius: 12px; background: #f8fafc; }
.ecim-shell-device-toggle button { border: 0; background: transparent; border-radius: 9px; padding: 8px 14px; font-weight: 800; color: #64748b; }
.ecim-shell-device-toggle button.is-active { background: #098cc9; color: #fff; }
.ecim-global-shell-live-card {
  max-width: 760px; margin: 0 auto; min-height: 560px; background: #fff !important;
  border-radius: 18px !important; border: 1px solid rgba(148,163,184,.28) !important;
  box-shadow: 0 16px 38px rgba(15,23,42,.08) !important;
}
.ecim-global-shell-live-card header {
  background: #fff !important; color: #172033 !important; padding: 0 !important; display: block !important;
}
.ecim-global-shell-live-card header a { color: #0369a1 !important; }
.ecim-global-shell-live-card main {
  margin: 0 !important; padding: 24px 34px !important; border: 0 !important; border-radius: 0 !important;
  background: #fff !important; min-height: 260px;
}
.ecim-global-shell-live-card footer {
  display: block !important; padding: 0 !important; background: transparent !important; border-top: 0 !important; color: #64748b !important;
}
@media (max-width: 1220px) { .ecim-shell-selected-layout { grid-template-columns: 1fr !important; } }
@media (max-width: 720px) { .ecim-shell-banner-control, .ecim-shell-manage-links-panel { grid-template-columns: 1fr; } }

/* v1.2.323 — selected Global Email Shell designer target */
.ecim-global-shell-redesign-layout {
  grid-template-columns: minmax(430px, .9fr) minmax(620px, 1.15fr) !important;
  gap: 22px !important;
  align-items: start !important;
}
.ecim-global-shell-redesign-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}
.ecim-global-shell-card .ecim-redesign-card-head {
  margin-bottom: 12px !important;
}
.ecim-shell-designer-card {
  border-radius: 12px !important;
  padding: 16px !important;
  gap: 14px !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.035) !important;
}
.ecim-shell-step-badge {
  border-radius: 8px !important;
  background: #098cc9 !important;
}
.ecim-shell-status-dot {
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background: #16a34a;
  color: #fff !important;
  font-size: 10px;
  margin-left: 4px;
}
.ecim-shell-banner-preview {
  min-height: 52px;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(135deg, #dbeafe, #f8fafc);
  display: grid;
  place-items: center;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}
.ecim-shell-banner-preview img {
  display: block;
  width: 100%;
  height: 58px;
  object-fit: cover;
}
.ecim-shell-logo-control {
  display: grid;
  grid-template-columns: minmax(120px, 170px) auto auto;
  gap: 10px;
  align-items: center;
}
.ecim-shell-logo-preview {
  min-height: 42px;
  border: 1px solid rgba(148,163,184,.30);
  border-radius: 10px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #172033;
  font-size: 18px;
  font-weight: 800;
  padding: 6px 10px;
}
.ecim-shell-logo-control + input,
.ecim-shell-logo-control + input + input {
  margin-top: 8px;
}
.ecim-shell-inline-tools {
  grid-template-columns: minmax(0,1fr) 42px 42px 42px !important;
}
.ecim-shell-plus-button {
  min-width: 40px !important;
  width: 40px !important;
  padding-inline: 0 !important;
}
.ecim-shell-contact-links-panel {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
.ecim-shell-additional-options {
  margin: 2px -16px -16px;
  padding: 12px 16px !important;
  background: #f8fafc;
  border-radius: 0 0 12px 12px;
}
.ecim-global-shell-live-preview {
  min-width: 0 !important;
}
.ecim-global-shell-live-card {
  max-width: 760px !important;
  min-height: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.ecim-global-shell-live-card header {
  background: #fff !important;
  color: #172033 !important;
  padding: 0 !important;
}
.ecim-global-shell-live-card header img {
  max-width: 100%;
}
.ecim-global-shell-live-card main {
  padding: 24px 34px !important;
  min-height: 250px !important;
}
.ecim-global-shell-live-card footer {
  padding: 0 !important;
  background: transparent !important;
  border-top: 0 !important;
}
.ecim-global-shell-live-card footer table {
  font-size: 12px;
}
@media (max-width: 1220px) {
  .ecim-global-shell-redesign-layout { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px) {
  .ecim-shell-logo-control,
  .ecim-shell-banner-control,
  .ecim-shell-contact-links-panel { grid-template-columns: 1fr !important; }
}

/* v1.2.323 — media-library shell controls, sizing, and working device preview */
.ecim-shell-media-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.ecim-shell-size-control {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 5px 8px;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 10px;
  background: #f8fafc;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
}
.ecim-shell-size-control input {
  width: 78px !important;
  min-height: 28px !important;
  padding: 4px 6px !important;
  border-radius: 7px !important;
  text-align: right;
  background: #fff !important;
}
.ecim-shell-size-control em {
  font-style: normal;
  color: #64748b;
  font-weight: 700;
}
.ecim-shell-size-control.is-logo {
  justify-self: start;
  margin-left: 0;
  margin-top: 8px;
}
.ecim-shell-banner-preview {
  min-height: 110px !important;
  align-items: stretch !important;
}
.ecim-shell-banner-preview img {
  height: 100% !important;
  min-height: 110px;
  object-fit: cover;
}
.ecim-shell-banner-preview.is-empty {
  min-height: 72px !important;
  align-items: center !important;
}
.ecim-shell-logo-control {
  grid-template-columns: minmax(150px, 1fr) auto auto !important;
}
.ecim-shell-logo-preview {
  justify-content: flex-start !important;
  padding: 9px 12px !important;
  color: #64748b !important;
  font-size: 12px !important;
}
.ecim-shell-logo-preview img {
  display: block;
  max-height: 74px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.ecim-shell-designer-field > span small {
  color: #94a3b8;
  font-weight: 700;
  margin-left: 4px;
}
.ecim-shell-footer-design {
  display: grid;
  gap: 12px;
}
.ecim-shell-footer-preview-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid rgba(148,163,184,.26);
  border-radius: 14px;
  overflow: hidden;
  background: #f8fafc;
}
.ecim-shell-footer-preview-card > div {
  min-height: 82px;
  padding: 14px;
  background: #fff;
}
.ecim-shell-footer-preview-card > div + div {
  border-left: 1px solid rgba(148,163,184,.24);
}
.ecim-shell-footer-kicker {
  display: block;
  margin-bottom: 10px;
  color: #0369a1;
  font-size: 12px;
  font-weight: 900;
}
.ecim-shell-footer-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ecim-shell-social-row button:not(.ecim-secondary) {
  border-radius: 999px !important;
  background: #fff !important;
  color: #334155 !important;
}
.ecim-shell-chip {
  background: #fff !important;
  color: #334155 !important;
  border-color: rgba(148,163,184,.32) !important;
}
.ecim-shell-manage-links-panel label {
  display: grid;
  gap: 5px;
  color: #52667a;
  font-size: 11px;
  font-weight: 800;
}
.ecim-global-shell-live-card.is-mobile-preview {
  max-width: 390px !important;
  min-height: 720px !important;
  border-radius: 34px !important;
  border: 10px solid #172033 !important;
  box-shadow: 0 22px 55px rgba(15,23,42,.24) !important;
}
.ecim-global-shell-live-card.is-mobile-preview main {
  padding: 20px 22px !important;
}
.ecim-global-shell-live-card.is-mobile-preview header div[style*="display:flex"] {
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: start !important;
}
.ecim-global-shell-live-card.is-mobile-preview header span[data-ecim-shell-headline="1"] {
  text-align: left !important;
}
.ecim-global-shell-live-card.is-mobile-preview footer table,
.ecim-global-shell-live-card.is-mobile-preview footer tbody,
.ecim-global-shell-live-card.is-mobile-preview footer tr,
.ecim-global-shell-live-card.is-mobile-preview footer td {
  display: block !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.ecim-global-shell-live-card.is-mobile-preview footer td[style*="width:1px"] {
  display: none !important;
}
@media (max-width: 720px) {
  .ecim-shell-footer-preview-card { grid-template-columns: 1fr; }
  .ecim-shell-footer-preview-card > div + div { border-left: 0; border-top: 1px solid rgba(148,163,184,.24); }
  .ecim-shell-size-control { margin-left: 0; }
}


/* v1.2.323 — global lifecycle variables panel and scanner badge popup */
.ecim-global-lifecycle-workspace > .ecim-communication-variables-panel {
  border-left: 1px solid #e2e8f0;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 100%;
  max-height: 720px;
  overflow: auto;
}
.ecim-badge-preview-modal {
  width: min(920px, calc(100vw - 36px)) !important;
  max-width: 920px !important;
  max-height: calc(100vh - 48px);
  overflow: auto;
}
.ecim-badge-preview-modal .ecim-badge-preview-modal-body {
  display: grid;
  place-items: center;
  padding: 18px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
}
.ecim-badge-preview-modal .ecim-badge-preview-stage {
  width: auto;
  max-width: 100%;
  overflow: auto;
  padding: 18px;
  background: #fff;
  border-radius: 14px;
}
@media (max-width: 1180px) {
  .ecim-global-lifecycle-workspace > .ecim-communication-variables-panel {
    border-left: 0;
    border-top: 1px solid #e2e8f0;
    max-height: none;
  }
}

/* v1.2.331: Front-end portal login form */
body.ecim-login-body {
  padding: 24px;
}
body.ecim-login-body .ecim-login-card {
  width: min(94vw, 460px) !important;
  padding: 34px !important;
}
.ecim-login-heading {
  display: grid;
  gap: 6px;
  margin-bottom: 24px;
}
.ecim-login-kicker {
  color: var(--ecim-tiac-east, #098CC9);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ecim-login-card h1 {
  margin: 0;
  color: var(--ecim-tiac-deep-blue, #262E38);
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.ecim-login-card p {
  margin: 0;
  color: var(--ecim-v2-muted, #697889);
  line-height: 1.45;
}
.ecim-login-form {
  display: grid;
  gap: 12px;
}
.ecim-login-form label:not(.ecim-login-remember) {
  color: var(--ecim-tiac-deep-blue, #262E38);
  font-size: 13px;
  font-weight: 800;
}
.ecim-login-form input[type="text"],
.ecim-login-form input[type="password"] {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(38, 46, 56, .16);
  border-radius: 14px;
  background: #FFFFFF;
  color: var(--ecim-tiac-deep-blue, #262E38);
  font: inherit;
  font-size: 15px;
  padding: 13px 14px;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.ecim-login-form input[type="text"]:focus,
.ecim-login-form input[type="password"]:focus {
  border-color: var(--ecim-tiac-east, #098CC9);
  box-shadow: 0 0 0 4px rgba(9, 140, 201, .12);
}
.ecim-login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 2px 0 8px;
  font-size: 13px;
}
.ecim-login-remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ecim-v2-muted, #697889);
  font-weight: 600;
}
.ecim-login-remember input {
  width: 16px;
  height: 16px;
  accent-color: var(--ecim-tiac-east, #098CC9);
}
body.ecim-login-body .ecim-login-submit {
  justify-content: center;
  width: 100%;
  border: 0;
  cursor: pointer;
  margin-top: 2px;
}
.ecim-login-alert {
  margin: 0 0 18px;
  border: 1px solid rgba(185, 28, 28, .18);
  border-radius: 14px;
  background: #FEF2F2;
  color: #991B1B;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  padding: 12px 14px;
}
@media (max-width: 520px) {
  body.ecim-login-body .ecim-login-card {
    padding: 26px !important;
    border-radius: 22px !important;
  }
  .ecim-login-options {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ECIM v1.2.332 — split menu/login logo controls */
.ecim-global-logo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 16px 0;
}
.ecim-global-logo-card {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ecim-global-logo-card > strong {
  color: #111827;
  font-size: 15px;
}
.ecim-global-logo-preview {
  min-height: 112px;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  background: #f8fafc;
  display: grid;
  place-items: center;
  padding: 14px;
  color: #64748b;
  font-weight: 800;
}
.ecim-global-logo-preview.is-menu img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 14px;
}
.ecim-global-logo-preview.is-login img {
  max-width: 220px;
  max-height: 86px;
  object-fit: contain;
}
.ecim-mini-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
@media (max-width: 820px) {
  .ecim-global-logo-grid { grid-template-columns: 1fr; }
}


/* =====================================================
 * ECIM Preloader + Skeleton System
 * Uses portal branding colours instead of a hard-coded dark/black overlay.
 * Overlays only the main workspace so the sidebar/navigation remains untouched.
 * ===================================================== */
.ecim-preloader {
  --ecim-loader-colour: var(--ecim-area-colour, var(--ecim-primary, #098CC9));
  --ecim-loader-bg: var(--ecim-bg, #F5F7FA);
  --ecim-loader-panel: var(--ecim-panel, #FFFFFF);
  --ecim-loader-border: rgba(38, 46, 56, .10);
  --ecim-loader-line-a: color-mix(in srgb, var(--ecim-loader-colour) 8%, var(--ecim-loader-panel, #FFFFFF) 92%);
  --ecim-loader-line-b: color-mix(in srgb, var(--ecim-loader-colour) 26%, var(--ecim-loader-panel, #FFFFFF) 74%);
  position: fixed;
  top: 0;
  left: var(--ecim-sidebar-width, 248px);
  right: 0;
  bottom: 0;
  z-index: 999999;
  background:
    radial-gradient(circle at 52% 44%, color-mix(in srgb, var(--ecim-loader-colour) 10%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--ecim-loader-bg) 96%, #fff 4%) 0%, var(--ecim-loader-bg) 100%);
  color: var(--ecim-text, #262E38);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease, visibility .18s ease;
}

.ecim-preloader.is-active {
  opacity: 1;
  visibility: visible;
}

.ecim-preloader[hidden] {
  display: none !important;
}

.ecim-preloader-skeleton {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  min-height: 100vh;
  opacity: .82;
}

.ecim-preloader-sidebar {
  display: none;
}

.ecim-preloader-brand-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
}

.ecim-preloader-logo-skel,
.ecim-preloader-nav-skel,
.ecim-preloader-card,
.ecim-preloader-line,
.ecim-preloader-block {
  position: relative;
  overflow: hidden;
}

.ecim-preloader-logo-skel,
.ecim-preloader-nav-skel {
  display: block;
  background: rgba(255,255,255,.11);
}

.ecim-preloader-logo-skel {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  flex: 0 0 auto;
}

.ecim-preloader-brand-lines {
  display: grid;
  gap: 8px;
  flex: 1;
}

.ecim-preloader-nav-skel {
  height: 44px;
  border-radius: 14px;
  margin-bottom: 8px;
}

.ecim-preloader-nav-skel.active {
  background: color-mix(in srgb, var(--ecim-loader-colour) 28%, rgba(255,255,255,.12));
}

.ecim-preloader-main {
  padding: 28px;
}

.ecim-preloader-heading {
  display: grid;
  gap: 10px;
  margin-bottom: 22px;
  max-width: 520px;
}

.ecim-preloader-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.ecim-preloader-card {
  min-height: 180px;
  padding: 24px;
  border-radius: 24px;
  background: color-mix(in srgb, var(--ecim-loader-panel) 86%, transparent);
  border: 1px solid var(--ecim-loader-border);
  box-shadow: 0 16px 40px rgba(15,23,42,.045);
}

.ecim-preloader-card.wide {
  grid-column: span 2;
  min-height: 280px;
}

.ecim-preloader-line,
.ecim-preloader-block {
  display: block;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ecim-loader-line-a), var(--ecim-loader-line-b), var(--ecim-loader-line-a));
  background-size: 220% 100%;
  animation: ecimPreloaderSkeleton 2.8s ease-in-out infinite;
}

.ecim-preloader-sidebar .ecim-preloader-line {
  background: linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,.20), rgba(255,255,255,.10));
  background-size: 220% 100%;
}

.ecim-preloader-line {
  height: 14px;
  margin-bottom: 18px;
}

.ecim-preloader-line.tiny { width: 84px; height: 10px; }
.ecim-preloader-line.title { width: min(360px, 55vw); height: 28px; border-radius: 12px; }
.ecim-preloader-line.short { width: 38%; }
.ecim-preloader-line.medium { width: 64%; }
.ecim-preloader-line.long { width: 88%; }

.ecim-preloader-block {
  width: 52%;
  height: 90px;
  border-radius: 14px;
  margin: 26px 0;
}

.ecim-preloader-center {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.ecim-preloader-inner {
  display: grid;
  justify-items: center;
  gap: 14px;
  transform: translateY(-2vh);
}

.ecim-leaf-loader {
  position: relative;
  width: 46px;
  height: 40px;
}

.ecim-leaf-loader svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.ecim-leaf-base {
  filter: drop-shadow(0 8px 18px rgba(38,46,56,.16));
}

.ecim-leaf-trace path {
  fill: none;
  stroke: var(--ecim-loader-colour);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 26 150;
  animation: ecimLeafTrace 2.1s linear infinite;
  filter:
    drop-shadow(0 0 5px var(--ecim-loader-colour))
    drop-shadow(0 0 10px color-mix(in srgb, var(--ecim-loader-colour) 38%, transparent));
}

.ecim-loader-text {
  font-size: 14px;
  font-weight: 700;
  color: color-mix(in srgb, var(--ecim-text, #262E38) 72%, transparent);
  letter-spacing: .01em;
}

.ecim-loader-text span {
  color: var(--ecim-loader-colour);
}

@keyframes ecimLeafTrace {
  to { stroke-dashoffset: -176; }
}

@keyframes ecimPreloaderSkeleton {
  0% { background-position: 180% 0; }
  100% { background-position: -180% 0; }
}


body.admin-bar .ecim-preloader {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .ecim-preloader {
    top: 46px;
  }
}

@media (max-width: 800px) {
  .ecim-preloader { left: 0; }
  .ecim-preloader-skeleton { grid-template-columns: 1fr; }
  .ecim-preloader-sidebar { display: none; }
  .ecim-preloader-grid { grid-template-columns: 1fr; }
  .ecim-preloader-card.wide { grid-column: span 1; }
}

@media (prefers-reduced-motion: reduce) {
  .ecim-preloader-line,
  .ecim-preloader-block,
  .ecim-leaf-trace path {
    animation: none !important;
  }
}

/* ECIM v1.2.338 — provider enable control as a proper toggle */
html body.ecim-portal-body .ecim-main .ecim-provider-enable-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 190px;
  padding: 8px 12px;
  border: 1px solid rgba(148, 163, 184, .32);
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
html body.ecim-portal-body .ecim-main .ecim-provider-enable-switch:hover,
html body.ecim-portal-body .ecim-main .ecim-provider-enable-switch:focus-within {
  border-color: rgba(14, 165, 233, .45);
  background: #fff;
  box-shadow: 0 10px 22px rgba(14, 165, 233, .08);
}
html body.ecim-portal-body .ecim-main .ecim-provider-enable-switch input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
html body.ecim-portal-body .ecim-main .ecim-provider-enable-track {
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #cbd5e1;
  border: 1px solid rgba(100, 116, 139, .28);
  position: relative;
  flex: 0 0 auto;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
html body.ecim-portal-body .ecim-main .ecim-provider-enable-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 7px rgba(15, 23, 42, .22);
  transition: transform .18s ease;
}
html body.ecim-portal-body .ecim-main .ecim-provider-enable-switch input[type="checkbox"]:checked + .ecim-provider-enable-track {
  background: #0ea5e9;
  border-color: #0ea5e9;
  box-shadow: 0 0 0 4px rgba(14, 165, 233, .12);
}
html body.ecim-portal-body .ecim-main .ecim-provider-enable-switch input[type="checkbox"]:checked + .ecim-provider-enable-track .ecim-provider-enable-knob {
  transform: translateX(18px);
}
html body.ecim-portal-body .ecim-main .ecim-provider-enable-copy {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

/* ECIM v1.2.339 — Zoho connector settings */
html body.ecim-portal-body .ecim-main .ecim-zoho-grid,
html body.ecim-portal-body .ecim-main .ecim-zoho-sync-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 16px 0;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-section,
html body.ecim-portal-body .ecim-main .ecim-zoho-mapping-card,
html body.ecim-portal-body .ecim-main .ecim-zoho-log-card {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .04);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-mapping-card,
html body.ecim-portal-body .ecim-main .ecim-zoho-log-card {
  margin-top: 16px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-api-fields {
  margin-top: 14px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-checkbox-grid {
  grid-template-columns: 1fr;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-map-head,
html body.ecim-portal-body .ecim-main .ecim-zoho-map-row {
  display: grid;
  grid-template-columns: 56px minmax(160px, 1fr) 28px minmax(160px, 1fr);
  gap: 10px;
  align-items: center;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-map-head {
  color: #64748b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 12px 0 6px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-map-row {
  padding: 8px 0;
  border-top: 1px solid rgba(226, 232, 240, .85);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-map-row input:not([type="checkbox"]) {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 10px;
  padding: 8px 10px;
  background: #f8fafc;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-map-arrow {
  text-align: center;
  color: #0ea5e9;
  font-weight: 900;
}
html body.ecim-portal-body .ecim-main .ecim-mini-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
html body.ecim-portal-body .ecim-main .ecim-mini-toggle input {
  position: absolute;
  opacity: 0;
}
html body.ecim-portal-body .ecim-main .ecim-mini-toggle span {
  width: 34px;
  height: 20px;
  border-radius: 999px;
  background: #cbd5e1;
  position: relative;
  display: inline-block;
  transition: background .18s ease;
}
html body.ecim-portal-body .ecim-main .ecim-mini-toggle span::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(15, 23, 42, .2);
  transition: transform .18s ease;
}
html body.ecim-portal-body .ecim-main .ecim-mini-toggle input:checked + span {
  background: #0ea5e9;
}
html body.ecim-portal-body .ecim-main .ecim-mini-toggle input:checked + span::after {
  transform: translateX(14px);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-entry {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 14px;
  background: #f8fafc;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-entry strong,
html body.ecim-portal-body .ecim-main .ecim-zoho-log-entry small,
html body.ecim-portal-body .ecim-main .ecim-zoho-log-entry em {
  display: block;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-entry small {
  color: #475569;
  margin-top: 2px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-entry em {
  color: #94a3b8;
  font-size: 11px;
  margin-top: 4px;
  font-style: normal;
}
html body.ecim-portal-body .ecim-main .ecim-error-text {
  color: #b91c1c;
}
@media (max-width: 980px) {
  html body.ecim-portal-body .ecim-main .ecim-zoho-grid,
  html body.ecim-portal-body .ecim-main .ecim-zoho-sync-grid {
    grid-template-columns: 1fr;
  }
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-head,
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-row {
    grid-template-columns: 48px 1fr;
  }
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-head span:nth-child(3),
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-head span:nth-child(4),
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-arrow {
    display: none;
  }
}

/* ECIM v1.2.341 — Zoho connector KISS refinement */
html body.ecim-portal-body .ecim-main .ecim-zoho-step-card {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  margin-top: 16px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .04);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-step-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-step-head > div {
  flex: 1 1 auto;
}
html body.ecim-portal-body .ecim-main .ecim-step-number {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #0ea5e9;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 12px;
  flex: 0 0 auto;
  margin-top: 2px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-step-card h4 {
  margin: 2px 0 4px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-frequency {
  margin-top: 14px;
  max-width: 420px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-map-head,
html body.ecim-portal-body .ecim-main .ecim-zoho-map-row {
  grid-template-columns: 56px minmax(180px, 1fr) 28px minmax(180px, 1fr) 40px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-map-row select,
html body.ecim-portal-body .ecim-main .ecim-zoho-map-row input:not([type="checkbox"]) {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 10px;
  padding: 8px 10px;
  background: #f8fafc;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-empty-mapping {
  margin-top: 8px;
  border: 1px dashed rgba(14, 165, 233, .28);
  background: #f8fbff;
}
@media (max-width: 980px) {
  html body.ecim-portal-body .ecim-main .ecim-zoho-step-head {
    flex-direction: column;
  }
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-head,
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-row {
    grid-template-columns: 48px 1fr 40px;
  }
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-head span:nth-child(3),
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-head span:nth-child(4),
  html body.ecim-portal-body .ecim-main .ecim-zoho-map-arrow {
    display: none;
  }
}

/* ECIM v1.2.342 — Zoho OAuth authorization refinements */
html body.ecim-portal-body .ecim-main .ecim-zoho-auth-status {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  margin: 12px 0 16px;
  border: 1px solid rgba(14, 165, 233, 0.18);
  border-radius: 16px;
  background: rgba(14, 165, 233, 0.055);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-auth-status.is-authorized {
  border-color: rgba(34, 197, 94, 0.24);
  background: rgba(34, 197, 94, 0.07);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-auth-status small {
  color: #52637a;
  font-weight: 650;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-redirect-uri input[readonly] {
  background: #f8fafc;
  color: #52637a;
  cursor: copy;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-auth-actions {
  margin-top: 14px;
}

/* ECIM v1.2.348 — Zoho click-to-connect cleanup */
html body.ecim-portal-body .ecim-main .ecim-zoho-simple-connect {
  margin-bottom: 10px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect {
  margin-top: 10px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.74);
  padding: 0;
  overflow: hidden;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect summary {
  cursor: pointer;
  padding: 12px 14px;
  font-weight: 800;
  color: #334155;
  list-style-position: inside;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect[open] summary {
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
  margin-bottom: 12px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect .ecim-credential-grid,
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect .ecim-secondary {
  margin: 0 14px 14px;
}

/* ECIM v1.2.348 — Zoho OAuth scopes field */
.ecim-zoho-scope-field { grid-column: 1 / -1; }
.ecim-zoho-scope-field textarea { min-height: 84px; resize: vertical; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; line-height: 1.45; }
.ecim-zoho-scope-field code { font-size: 11px; }

/* ECIM v1.2.390 — scoped attendee Roles & Tags pill system
   Structural fix: these selectors target only the attendee profile role/tag panel so generic
   .ecim-card button and .ecim-actions button rules cannot turn tag controls into blue blocks. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel .ecim-active-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-height: 26px;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 24px !important;
  padding: 3px 5px 3px 9px !important;
  border-radius: 999px !important;
  border: 1px solid var(--ecim-tag-border, rgba(148, 163, 184, .24)) !important;
  background: var(--ecim-tag-bg, #eef6fb) !important;
  color: var(--ecim-tag-text, #075985) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel .ecim-attendee-tag-label {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  color: inherit !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-attendee-tag-remove,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill button.ecim-attendee-tag-remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.46) !important;
  color: color-mix(in srgb, var(--ecim-tag-colour, #64748b) 72%, #0f172a) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  appearance: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-attendee-tag-remove:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-attendee-tag-remove:focus-visible {
  background: rgba(15,23,42,.08) !important;
  color: #0f172a !important;
  filter: none !important;
  outline: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-tag-add-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 30px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(9,140,201,.28) !important;
  background: #ffffff !important;
  color: #172033 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-tag-add-toggle:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-tag-add-toggle:focus-visible {
  background: #f8fbfd !important;
  border-color: rgba(9,140,201,.42) !important;
  color: #075985 !important;
  filter: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel .ecim-tag-picker {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 11px !important;
  border: 1px solid rgba(148,163,184,.26) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.10) !important;
  max-width: 560px !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel .ecim-tag-picker[hidden] {
  display: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-tag-choice.ecim-attendee-tag-add-choice {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 32px !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  border: 1px solid var(--ecim-tag-border, var(--ecim-tag-colour, #098cc9)) !important;
  background: var(--ecim-tag-bg, var(--ecim-tag-colour, #098cc9)) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  appearance: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-tag-choice.ecim-attendee-tag-add-choice .ecim-tag-choice-label,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-tag-choice.ecim-attendee-tag-add-choice .ecim-tag-choice-plus {
  color: #ffffff !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-tag-choice.ecim-attendee-tag-add-choice:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel button.ecim-tag-choice.ecim-attendee-tag-add-choice:focus-visible {
  background: color-mix(in srgb, var(--ecim-tag-colour, #098cc9) 86%, #000000) !important;
  border-color: color-mix(in srgb, var(--ecim-tag-colour, #098cc9) 86%, #000000) !important;
  color: #ffffff !important;
  filter: none !important;
  transform: none !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-attendee-role-tags-panel .ecim-tag-save-status {
  font-size: 11px !important;
  margin: -2px 0 0 !important;
}

/* ECIM v1.2.391 — Roles & Tags final subtle control reset
   The attendee profile sits inside .ecim-card, whose generic button rules are intentionally strong.
   These scoped rules reset ONLY the Roles & Tags controls so Add tag and X controls stay modern/subtle. */
.ecim-attendee-role-tags-panel,
.ecim-tags-row .ecim-attendee-role-tags-panel,
.ecim-info-row.ecim-tags-row .ecim-attendee-role-tags-panel {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
}

.ecim-attendee-role-tags-panel .ecim-active-tags,
.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-active-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
}

.ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag,
.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 24px !important;
  padding: 3px 5px 3px 10px !important;
  border-radius: 999px !important;
  border: 1px solid var(--ecim-tag-border, rgba(148, 163, 184, .24)) !important;
  background: var(--ecim-tag-bg, #eef6fb) !important;
  color: var(--ecim-tag-text, #075985) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.ecim-attendee-role-tags-panel .ecim-attendee-tag-remove,
.ecim-attendee-role-tags-panel button.ecim-attendee-tag-remove,
.ecim-attendee-role-tags-panel button[data-action="remove-attendee-tag"],
.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill button.ecim-attendee-tag-remove {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: rgba(255, 255, 255, .42) !important;
  color: color-mix(in srgb, var(--ecim-tag-colour, #64748b) 62%, #0f172a) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 17px !important;
  text-align: center !important;
  cursor: pointer !important;
}

.ecim-attendee-role-tags-panel .ecim-attendee-tag-remove:hover,
.ecim-attendee-role-tags-panel .ecim-attendee-tag-remove:focus-visible,
.ecim-attendee-role-tags-panel button[data-action="remove-attendee-tag"]:hover,
.ecim-attendee-role-tags-panel button[data-action="remove-attendee-tag"]:focus-visible {
  background: rgba(15, 23, 42, .08) !important;
  color: #0f172a !important;
  outline: 2px solid rgba(9, 140, 201, .16) !important;
  outline-offset: 1px !important;
  filter: none !important;
  transform: none !important;
}

.ecim-attendee-role-tags-panel .ecim-tag-add-toggle,
.ecim-attendee-role-tags-panel button.ecim-tag-add-toggle,
.ecim-attendee-role-tags-panel button[data-action="show-attendee-tag-picker"],
.ecim-tags-row .ecim-attendee-role-tags-panel button.ecim-tag-add-toggle {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  min-height: 28px !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(9, 140, 201, .24) !important;
  background: rgba(9, 140, 201, .055) !important;
  color: #075985 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}

.ecim-attendee-role-tags-panel .ecim-tag-add-toggle:hover,
.ecim-attendee-role-tags-panel .ecim-tag-add-toggle:focus-visible,
.ecim-attendee-role-tags-panel button[data-action="show-attendee-tag-picker"]:hover,
.ecim-attendee-role-tags-panel button[data-action="show-attendee-tag-picker"]:focus-visible {
  background: rgba(9, 140, 201, .10) !important;
  border-color: rgba(9, 140, 201, .36) !important;
  color: #064e73 !important;
  outline: 2px solid rgba(9, 140, 201, .12) !important;
  outline-offset: 2px !important;
  filter: none !important;
  transform: none !important;
}

.ecim-attendee-role-tags-panel .ecim-tag-picker,
.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-tag-picker {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px !important;
  width: auto !important;
  max-width: 560px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(148, 163, 184, .24) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .08) !important;
}

.ecim-attendee-role-tags-panel .ecim-tag-picker[hidden] {
  display: none !important;
}

.ecim-attendee-role-tags-panel .ecim-tag-choice.ecim-attendee-tag-add-choice,
.ecim-attendee-role-tags-panel button.ecim-tag-choice.ecim-attendee-tag-add-choice,
.ecim-attendee-role-tags-panel button[data-action="toggle-attendee-tag"] {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--ecim-tag-colour, #098cc9) 84%, #ffffff) !important;
  background: var(--ecim-tag-colour, #098cc9) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}

.ecim-attendee-role-tags-panel .ecim-tag-choice.ecim-attendee-tag-add-choice *,
.ecim-attendee-role-tags-panel button[data-action="toggle-attendee-tag"] * {
  color: #ffffff !important;
}

.ecim-attendee-role-tags-panel .ecim-tag-choice.ecim-attendee-tag-add-choice:hover,
.ecim-attendee-role-tags-panel .ecim-tag-choice.ecim-attendee-tag-add-choice:focus-visible,
.ecim-attendee-role-tags-panel button[data-action="toggle-attendee-tag"]:hover,
.ecim-attendee-role-tags-panel button[data-action="toggle-attendee-tag"]:focus-visible {
  background: color-mix(in srgb, var(--ecim-tag-colour, #098cc9) 88%, #000000) !important;
  border-color: color-mix(in srgb, var(--ecim-tag-colour, #098cc9) 82%, #000000) !important;
  color: #ffffff !important;
  outline: 2px solid color-mix(in srgb, var(--ecim-tag-colour, #098cc9) 20%, transparent) !important;
  outline-offset: 2px !important;
  filter: none !important;
  transform: none !important;
}


/* ECIM v1.2.392 — final Roles & Tags micro-polish
   Remove the blue/chip background from the active tag X and remove save-state text from layout. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-info-row.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag button.ecim-attendee-tag-remove.ecim-tag-remove-plain,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-info-row.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag button[data-action="remove-attendee-tag"].ecim-tag-remove-plain {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  margin: 0 0 0 1px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: color-mix(in srgb, var(--ecim-tag-text, #075985) 74%, #64748b) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  outline: 0 !important;
  filter: none !important;
  transform: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 14px !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-info-row.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag button.ecim-attendee-tag-remove.ecim-tag-remove-plain span {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  line-height: 13px !important;
  text-align: center !important;
  color: inherit !important;
}
html body.ecim-portal-body .ecim-app .ecim-main .ecim-info-row.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag button.ecim-attendee-tag-remove.ecim-tag-remove-plain:hover,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-info-row.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag button.ecim-attendee-tag-remove.ecim-tag-remove-plain:focus-visible {
  background: rgba(15, 23, 42, .06) !important;
  background-color: rgba(15, 23, 42, .06) !important;
  color: #0f172a !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.ecim-attendee-role-tags-panel .ecim-tag-save-status,
.ecim-attendee-role-tags-panel .ecim-tag-save-state {
  display: none !important;
}


/* ECIM v1.2.393 — active attendee tag X is no longer a button.
   This avoids generic button chrome entirely and keeps the remove control as plain subtle text. */
.ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag .ecim-attendee-tag-remove.ecim-tag-remove-plain,
.ecim-info-row.ecim-tags-row .ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag .ecim-attendee-tag-remove.ecim-tag-remove-plain {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  margin-left: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: color-mix(in srgb, var(--ecim-tag-text, #075985) 70%, #64748b) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  outline: 0 !important;
  filter: none !important;
  transform: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 14px !important;
  text-align: center !important;
  cursor: pointer !important;
}
.ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag .ecim-attendee-tag-remove.ecim-tag-remove-plain:hover,
.ecim-attendee-role-tags-panel .ecim-attendee-tag-pill.ecim-op-tag .ecim-attendee-tag-remove.ecim-tag-remove-plain:focus-visible {
  background: transparent !important;
  background-color: transparent !important;
  color: #334155 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* v1.2.395 — Calendar Invite / ICS editor */
.ecim-global-ics-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(220px, 1fr);
  gap: 18px;
  align-items: start;
}
.ecim-global-ics-editor {
  display: grid;
  gap: 14px;
}
.ecim-global-ics-toggles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
  padding: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #f8fafc;
}
.ecim-global-ics-variables {
  position: sticky;
  top: 18px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.ecim-global-ics-variables h4 {
  margin: 4px 0 6px;
  color: #172033;
}
.ecim-global-ics-variables p {
  margin: 0 0 12px;
  color: #64748b;
  font-size: 13px;
}
.ecim-ics-variable-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.ecim-portal-body .ecim-main .ecim-ics-variable-list button.ecim-variable-token {
  appearance: none;
  border: 1px solid #dbe3ef !important;
  background: #f8fafc !important;
  color: #334155 !important;
  border-radius: 999px !important;
  padding: 6px 9px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  min-height: 0 !important;
  width: auto !important;
  box-shadow: none !important;
}
body.ecim-portal-body .ecim-main .ecim-ics-variable-list button.ecim-variable-token:hover,
body.ecim-portal-body .ecim-main .ecim-ics-variable-list button.ecim-variable-token:focus-visible {
  background: #eef6ff !important;
  border-color: #bfdbfe !important;
  color: #075985 !important;
}
.ecim-event-ics-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  margin: 14px 0;
  border: 1px solid #dbe3ef;
  border-radius: 16px;
  background: #f8fafc;
}
.ecim-event-ics-strip strong {
  display: block;
  color: #172033;
  margin: 2px 0;
}
.ecim-event-ics-strip small {
  color: #64748b;
}
@media (max-width: 900px) {
  .ecim-global-ics-layout { grid-template-columns: 1fr; }
  .ecim-global-ics-variables { position: static; }
  .ecim-global-ics-toggles { grid-template-columns: 1fr; }
  .ecim-event-ics-strip { align-items: stretch; flex-direction: column; }
}
/* ECIM v1.2.369 — editable ICS settings */
.ecim-ics-settings-card,
.ecim-ics-event-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding: 16px;
  margin: 14px 0;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}
.ecim-ics-settings-head,
.ecim-ics-event-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.ecim-ics-settings-head h4,
.ecim-ics-event-main h4 {
  margin: 2px 0 6px;
  font-size: 18px;
  color: #0f172a;
}
.ecim-ics-option-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.ecim-ics-option-pills label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(9, 140, 201, 0.16);
  background: rgba(9, 140, 201, 0.06);
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 800;
  color: #0f172a;
}
.ecim-ics-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.ecim-ics-preview-grid div {
  border: 1px solid rgba(15, 23, 42, 0.07);
  background: #ffffff;
  border-radius: 14px;
  padding: 10px 12px;
}
.ecim-ics-preview-grid span {
  display: block;
  color: #64748b;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 900;
  margin-bottom: 4px;
}
.ecim-ics-preview-grid strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.ecim-ics-description-preview {
  margin-top: 10px;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 12px;
  background: #fff;
  padding: 8px 10px;
}
.ecim-ics-description-preview summary {
  cursor: pointer;
  color: #334155;
  font-weight: 800;
  font-size: 12px;
}
.ecim-ics-description-preview pre {
  white-space: pre-wrap;
  margin: 8px 0 0;
  color: #475569;
  font-size: 12px;
  font-family: inherit;
}
.ecim-ics-event-actions {
  margin: 0;
  flex-direction: column;
  align-items: stretch;
  min-width: 190px;
}
.ecim-ics-event-actions button { width: 100%; justify-content: center; }
@media (max-width: 900px) {
  .ecim-ics-settings-head,
  .ecim-ics-event-card { flex-direction: column; }
  .ecim-ics-preview-grid { grid-template-columns: 1fr; }
  .ecim-ics-event-actions { width: 100%; }
}

/* ECIM v1.2.373 — Calendar invite communications card */
html body.ecim-portal-body .ecim-main .ecim-global-calendar-invite-card {
  margin-top: 18px;
}
html body.ecim-portal-body .ecim-main .ecim-ics-attach-toggle {
  gap: 9px;
  padding: 8px 12px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 999px;
  background: #f8fafc;
  color: #172033;
  font-weight: 800;
}
html body.ecim-portal-body .ecim-main .ecim-ics-attach-toggle strong {
  font-size: 13px;
  line-height: 1;
}
html body.ecim-portal-body .ecim-main .ecim-global-ics-workspace {
  align-items: stretch;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr) !important;
}
html body.ecim-portal-body .ecim-main .ecim-global-ics-workspace > .ecim-ics-editor-stack {
  min-width: 0;
}
html body.ecim-portal-body .ecim-main .ecim-global-ics-workspace > .ecim-communication-variables-panel {
  max-width: none;
  min-width: 0;
}
html body.ecim-portal-body .ecim-main .ecim-ics-editor-panel {
  display: grid;
  gap: 14px;
}
html body.ecim-portal-body .ecim-main .ecim-ics-editor-panel textarea {
  min-height: 190px;
  resize: vertical;
}
html body.ecim-portal-body .ecim-main .ecim-ics-include-grid {
  margin-top: 2px;
}
html body.ecim-portal-body .ecim-main .ecim-ics-event-actions {
  align-items: center;
}
@media (max-width: 1100px) {
  html body.ecim-portal-body .ecim-main .ecim-global-ics-workspace {
    grid-template-columns: 1fr;
  }
}


/* ECIM v1.2.376 — scanner result attendee name emphasis */
html body.ecim-portal-body .ecim-main #ecim-scan-result .ecim-scan-hit > h3 {
  font-size: clamp(1.75rem, 2.2vw, 2.35rem) !important;
}

/* ECIM v1.2.398 — Global Tags card polish
   Keep the v1.2.395 tag functionality, but replace the old form-row feel with a calm Concept A library layout. */
body.ecim-portal-body .ecim-main .ecim-global-tag-card {
  max-width: 980px !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-settings-editor {
  margin-top: 18px !important;
  gap: 14px !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-rows {
  display: grid !important;
  gap: 10px !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-row,
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-add {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.3fr) minmax(360px, 1.6fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  border: 1px solid rgba(15, 23, 42, 0.075) !important;
  border-radius: 16px !important;
  background: rgba(248, 250, 252, 0.78) !important;
  box-shadow: none !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-row:hover,
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-add:hover {
  border-color: rgba(9, 140, 201, 0.18) !important;
  background: #fff !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-label,
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-new {
  width: 100% !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 8px 11px !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-label:focus,
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-new:focus {
  border-color: rgba(9, 140, 201, 0.48) !important;
  outline: 3px solid rgba(9, 140, 201, 0.12) !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-colour {
  position: relative !important;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-color,
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-new-color {
  position: absolute !important;
  inset: 0 !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-swatch {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  border: 3px solid #fff !important;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.16), 0 8px 18px rgba(15, 23, 42, 0.08) !important;
  pointer-events: none !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-usage {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 7px !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-usage label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 30px !important;
  padding: 6px 9px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #59687d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-usage input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  accent-color: var(--ecim-tiac-east, #098cc9) !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove,
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-button {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove {
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background: #fff !important;
  color: #667085 !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove:hover {
  background: #fff7f7 !important;
  border-color: rgba(190, 18, 60, 0.18) !important;
  color: #9f1239 !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-button {
  border: 1px solid rgba(9, 140, 201, 0.18) !important;
  background: rgba(9, 140, 201, 0.10) !important;
  color: var(--ecim-tiac-east, #098cc9) !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-button:hover {
  background: rgba(9, 140, 201, 0.16) !important;
}
body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-actions {
  margin-top: 16px !important;
}
@media (max-width: 1100px) {
  body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-row,
  body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-add {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }
  body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove,
  body.ecim-portal-body .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-button {
    justify-self: start !important;
  }
}


/* ECIM v1.2.399 — repaired Global Tags library layout
   The v1.2.398 CSS was placed after an unclosed scanner selector, so browsers ignored it.
   These scoped rules intentionally override older generic tag-row grids without touching scanner tags. */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-settings-editor {
  display: grid !important;
  gap: 14px !important;
  margin-top: 18px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-rows {
  display: grid !important;
  gap: 10px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-row,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) minmax(420px, 1.45fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 13px 14px !important;
  border: 1px solid rgba(15, 23, 42, .075) !important;
  border-radius: 18px !important;
  background: rgba(248, 250, 252, .82) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .02) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-row:hover,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add:hover {
  border-color: rgba(9, 140, 201, .18) !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 36px !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-label,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-new {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(15, 23, 42, .13) !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-colour {
  position: relative !important;
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-color,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-new-color {
  position: absolute !important;
  inset: 0 !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-swatch {
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  border: 3px solid #fff !important;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, .16), 0 8px 18px rgba(15, 23, 42, .08) !important;
  pointer-events: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-usage {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-usage label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 30px !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(15, 23, 42, .09) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #59687d !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-usage label:has(input:checked) {
  border-color: rgba(9, 140, 201, .25) !important;
  background: rgba(9, 140, 201, .08) !important;
  color: #075985 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-usage input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  accent-color: var(--ecim-tiac-east, #098cc9) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  width: auto !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove {
  border: 1px solid rgba(15, 23, 42, .10) !important;
  background: #fff !important;
  color: #667085 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove:hover {
  border-color: rgba(190, 18, 60, .18) !important;
  background: #fff7f7 !important;
  color: #9f1239 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-button {
  border: 1px solid rgba(9, 140, 201, .18) !important;
  background: rgba(9, 140, 201, .10) !important;
  color: var(--ecim-tiac-east, #098cc9) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-button:hover {
  background: rgba(9, 140, 201, .16) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-actions {
  margin-top: 16px !important;
}
@media (max-width: 1180px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-row,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-button {
    justify-self: start !important;
  }
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-settings-grid.ecim-settings-section-tags {
  grid-template-columns: minmax(320px, 1120px) !important;
}

/* ECIM v1.2.401 — Global Tags full-width preset library
   Keeps the functional v1.2.399 tag save logic, but restores the wider preset-library feel the user preferred. */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-settings-grid.ecim-settings-section-tags,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-settings-grid.ecim-settings-grid-section.ecim-settings-section-tags {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-settings-grid.ecim-settings-section-tags > .ecim-global-tag-card,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-settings-editor {
  display: grid !important;
  gap: 14px !important;
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add {
  display: grid !important;
  grid-template-columns: minmax(260px, .95fr) minmax(220px, 1.05fr) minmax(160px, auto) minmax(340px, 1.25fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 18px !important;
  border: 1px solid rgba(9, 140, 201, .18) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(240, 249, 255, .72), rgba(248, 250, 252, .92)) !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-copy {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-copy strong {
  color: #162033 !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add-copy small {
  color: #6b778a !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-header {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.2fr) minmax(360px, 1.55fr) minmax(170px, .55fr) minmax(86px, auto) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 11px 18px !important;
  border: 1px solid rgba(15, 23, 42, .06) !important;
  border-bottom: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  background: #f8fafc !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-rows {
  display: grid !important;
  gap: 0 !important;
  width: 100% !important;
  border: 1px solid rgba(15, 23, 42, .06) !important;
  border-radius: 0 0 16px 16px !important;
  overflow: hidden !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-row {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.2fr) minmax(360px, 1.55fr) minmax(170px, .55fr) minmax(86px, auto) !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(15, 23, 42, .06) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-row:last-child { border-bottom: 0 !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-row:hover { background: #fbfdff !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-main {
  display: grid !important;
  grid-template-columns: 14px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, .04) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-label-wrap {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-label-wrap small {
  color: #7b8798 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-label {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-label:not([readonly]) {
  padding: 7px 9px !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  border-radius: 10px !important;
  background: #fff !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-kind {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 22px !important;
  padding: 4px 8px !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-usage {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  align-items: center !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-usage label {
  min-height: 26px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-colour {
  display: grid !important;
  grid-template-columns: minmax(84px, 1fr) 24px !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  position: relative !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-color,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-new-color {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 24px !important;
  height: 24px !important;
  opacity: 0 !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-color-text,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-new-color-text {
  height: 34px !important;
  min-height: 34px !important;
  width: 100% !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #172033 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-swatch {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  border: 2px solid #fff !important;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, .16) !important;
  pointer-events: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove {
  justify-self: end !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove[hidden] {
  display: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-new {
  height: 40px !important;
  min-height: 40px !important;
  padding: 8px 12px !important;
  border-radius: 12px !important;
}
@media (max-width: 1280px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-row,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-header {
    grid-template-columns: minmax(240px, 1.2fr) minmax(310px, 1.4fr) minmax(150px, .55fr) auto !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-add {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }
}
@media (max-width: 900px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-header { display: none !important; }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-row {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-remove { justify-self: start !important; }
}


/* ECIM v1.2.402: make Global Tags colour circles genuinely clickable. */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-colour {
  position: relative !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-color,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-new-color {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 24px !important;
  height: 24px !important;
  opacity: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-tag-card .ecim-tag-setting-swatch {
  position: relative !important;
  z-index: 3 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}


/* ECIM v1.2.404 — restored Zoho sync/check controls */
/* ECIM v1.2.348 — Zoho click-to-connect cleanup */
html body.ecim-portal-body .ecim-main .ecim-zoho-simple-connect {
  margin-bottom: 10px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect {
  margin-top: 10px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.74);
  padding: 0;
  overflow: hidden;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect summary {
  cursor: pointer;
  padding: 12px 14px;
  font-weight: 800;
  color: #334155;
  list-style-position: inside;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect[open] summary {
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
  margin-bottom: 12px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect .ecim-credential-grid,
html body.ecim-portal-body .ecim-main .ecim-zoho-advanced-connect .ecim-secondary {
  margin: 0 14px 14px;
}

/* ECIM v1.2.348 — Zoho OAuth scopes field */
.ecim-zoho-scope-field { grid-column: 1 / -1; }
.ecim-zoho-scope-field textarea { min-height: 84px; resize: vertical; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; line-height: 1.45; }
.ecim-zoho-scope-field code { font-size: 11px; }


/* ECIM v1.2.357 — Zoho KISS relationship cleanup */
html body.ecim-portal-body .ecim-main .ecim-zoho-destination-card .ecim-zoho-destination-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
html body.ecim-portal-body .ecim-main .ecim-zoho-relationship {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 10px;
  margin: 12px 0 16px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-relationship > div {
  border: 1px solid rgba(14, 165, 233, .18);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(14,165,233,.07), rgba(255,255,255,.92));
  padding: 13px 14px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-relationship strong,
html body.ecim-portal-body .ecim-main .ecim-zoho-relationship span {
  display: block;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-relationship strong {
  color: #0f172a;
  font-size: 13px;
  margin-bottom: 4px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-relationship span {
  color: #52637a;
  font-size: 12px;
  line-height: 1.35;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-relationship > i {
  align-self: center;
  color: #0ea5e9;
  font-size: 12px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-optional-org {
  margin: 12px 0;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 14px;
  background: #f8fafc;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-optional-org summary {
  cursor: pointer;
  padding: 11px 13px;
  font-weight: 800;
  color: #334155;
  list-style-position: inside;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-optional-org .ecim-credential-field {
  margin: 0 13px 13px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-contact-link-note {
  align-items: flex-start;
}
@media (max-width: 980px) {
  html body.ecim-portal-body .ecim-main .ecim-zoho-destination-card .ecim-zoho-destination-grid,
  html body.ecim-portal-body .ecim-main .ecim-zoho-relationship {
    grid-template-columns: 1fr;
  }
  html body.ecim-portal-body .ecim-main .ecim-zoho-relationship > i {
    transform: rotate(90deg);
    justify-self: center;
  }
}

/* ECIM v1.2.357 — clearer Zoho Contact-link setup */
html body.ecim-portal-body .ecim-main .ecim-zoho-simple-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0 16px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-simple-flow > div {
  border: 1px solid rgba(14, 165, 233, .18);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(14,165,233,.06), rgba(255,255,255,.94));
  padding: 12px 14px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-simple-flow strong,
html body.ecim-portal-body .ecim-main .ecim-zoho-simple-flow span {
  display: block;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-simple-flow strong {
  color: #0f172a;
  font-size: 13px;
  margin-bottom: 4px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-simple-flow span {
  color: #52637a;
  font-size: 12px;
  line-height: 1.35;
}
@media (max-width: 980px) {
  html body.ecim-portal-body .ecim-main .ecim-zoho-simple-flow {
    grid-template-columns: 1fr;
  }
}

.ecim-zoho-log-context {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 8px 0 2px;
  font-size: 11px;
  color: #516173;
}
.ecim-zoho-log-context span {
  background: rgba(15, 118, 191, 0.06);
  border: 1px solid rgba(15, 118, 191, 0.12);
  border-radius: 999px;
  padding: 4px 8px;
}
.ecim-zoho-sync-warnings {
  margin: 8px 0 0 18px;
  padding: 0;
}
.ecim-zoho-sync-warnings li {
  margin: 3px 0;
}

/* ECIM v1.2.361 — clearer Zoho sync activity log */
html body.ecim-portal-body .ecim-main .ecim-zoho-log-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-entry {
  grid-template-columns: 130px 1fr;
  padding: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-left: 4px solid rgba(14, 165, 233, .28);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-success {
  border-left-color: rgba(34, 197, 94, .75);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-warning {
  border-left-color: rgba(245, 158, 11, .8);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-failed {
  border-left-color: rgba(239, 68, 68, .8);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-status {
  display: grid;
  align-content: start;
  gap: 8px;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-status em {
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-body p {
  margin: 4px 0 10px;
  color: #475569;
  line-height: 1.45;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-title strong {
  font-size: 15px;
  color: #0f172a;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 8px;
  margin: 10px 0;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-metrics span {
  display: grid;
  gap: 2px;
  padding: 9px 10px;
  border-radius: 12px;
  border: 1px solid rgba(125, 211, 252, .34);
  background: rgba(240, 249, 255, .7);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-metrics strong {
  color: #075985;
  font-size: 16px;
  line-height: 1;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-metrics em {
  color: #64748b;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-sample {
  margin-top: 10px;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 12px;
  background: #fff;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-sample summary {
  cursor: pointer;
  padding: 9px 11px;
  font-weight: 850;
  color: #075985;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-sample div {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(226, 232, 240, .9);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-sample p {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(140px, 1fr) auto;
  gap: 8px;
  margin: 0;
  padding: 9px 11px;
  border-top: 1px solid rgba(241, 245, 249, .95);
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-sample p:first-child {
  border-top: 0;
}
html body.ecim-portal-body .ecim-main .ecim-zoho-log-sample p span,
html body.ecim-portal-body .ecim-main .ecim-zoho-log-sample p em {
  color: #64748b;
  font-style: normal;
}
@media (max-width: 760px) {
  html body.ecim-portal-body .ecim-main .ecim-zoho-log-head,
  html body.ecim-portal-body .ecim-main .ecim-zoho-log-entry {
    display: grid;
    grid-template-columns: 1fr;
  }
  html body.ecim-portal-body .ecim-main .ecim-zoho-log-sample p {
    grid-template-columns: 1fr;
  }
}

/* Scanner attendee tags */
.ecim-scan-hit .ecim-scanner-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.ecim-scan-hit .ecim-scanner-tag-pill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid var(--ecim-tag-border, rgba(15, 23, 42, 0.10));
  background: var(--ecim-tag-bg, #f8fafc);
  color: var(--ecim-tag-text, #334155);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

.ecim-scan-hit .ecim-scanner-tags-empty {
  font-size: 12px;
}

/* Badge template picker filter */
body.ecim-portal-body .ecim-template-picker-filter {
  display: grid;
  gap: 6px;
  margin: 0 0 14px;
}
body.ecim-portal-body .ecim-template-picker-filter span {
  color: #475569;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
body.ecim-portal-body .ecim-template-picker-filter input {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(148, 163, 184, .42);
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  font-size: 14px;
  font-weight: 650;
  padding: 10px 12px;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .04);
}
body.ecim-portal-body .ecim-template-picker-filter input:focus {
  border-color: rgba(9, 140, 201, .58);
  box-shadow: 0 0 0 3px rgba(9, 140, 201, .12);
  outline: none;
}

/* ECIM v1.2.413.1 — KISS communications/wallet polish */
.ecim-global-shell-kiss-preheader {
  display: grid;
  gap: 14px;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  background: #f8fafc;
}
.ecim-shell-preheader-toggle {
  background: #ffffff !important;
}
.ecim-shell-preheader-fields {
  margin: 0 !important;
}
.ecim-wallet-kiss-grid {
  display: grid;
  gap: 12px;
  margin: 14px 0;
}
.ecim-wallet-toggle-row,
.ecim-wallet-design-toggle,
.ecim-wallet-field-toggle {
  background: #ffffff !important;
}
.ecim-wallet-provider-grid {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}
.ecim-wallet-provider-card {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
  overflow: hidden;
}
.ecim-wallet-provider-head {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) minmax(240px, 330px);
  gap: 14px;
  align-items: center;
  padding: 18px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.ecim-wallet-provider-mark {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0f172a;
  color: #ffffff;
  font-weight: 800;
  font-size: 20px;
}
.ecim-wallet-provider-head h4 {
  margin: 3px 0 4px;
  font-size: 17px;
  line-height: 1.2;
  color: #172033;
}
.ecim-wallet-provider-body {
  padding: 18px;
}
.ecim-wallet-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.ecim-wallet-wide-field {
  grid-column: 1 / -1;
}
.ecim-wallet-provider-foot {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-top: 1px solid rgba(15, 23, 42, .08);
  background: #f8fafc;
}
.ecim-wallet-provider-foot small {
  color: #64748b;
  font-size: 12px;
}
.ecim-wallet-readiness-card {
  margin-top: 16px;
}
.ecim-wallet-field-toggle .ecim-switch-copy strong {
  font-size: 12.5px;
}
.ecim-wallet-field-toggle {
  padding: 10px !important;
}
@media (max-width: 980px) {
  .ecim-wallet-provider-head {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .ecim-wallet-provider-head .ecim-wallet-toggle-row {
    grid-column: 1 / -1;
  }
  .ecim-wallet-fields-grid {
    grid-template-columns: 1fr;
  }
}

/* ECIM v1.2.413.2 — Global Email Shell layout + pre-header KISS fixes */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-shell-redesign-layout {
  display: grid !important;
  grid-template-columns: minmax(360px, 0.92fr) minmax(420px, 1.08fr) !important;
  gap: 22px !important;
  align-items: start !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-shell-editor-stack {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-shell-live-preview {
  grid-column: 2 !important;
  position: sticky !important;
  top: 18px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-card {
  padding: 16px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.035) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-mini-toggle {
  justify-self: end !important;
  white-space: nowrap !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-editor {
  display: grid !important;
  gap: 12px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-logo-control {
  display: grid !important;
  grid-template-columns: minmax(135px, 190px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-logo-preview {
  min-height: 70px !important;
  padding: 10px !important;
  border: 1px solid rgba(148,163,184,.32) !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-logo-preview img {
  display: block !important;
  max-width: 100% !important;
  max-height: 54px !important;
  object-fit: contain !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-logo-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-url-field {
  margin: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-fields-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-colour-field {
  grid-column: 1 / -1 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-padding-field {
  margin: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-colour-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px !important;
  gap: 8px !important;
  align-items: center !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-colour-control input[type="text"] {
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-colour-swatch {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  display: inline-block !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(15, 23, 42, .18) !important;
  background: var(--ecim-shell-swatch, #ffffff) !important;
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.7), 0 1px 2px rgba(15,23,42,.08) !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-colour-swatch:hover,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-colour-swatch:focus {
  outline: 2px solid rgba(9,140,201,.18) !important;
  outline-offset: 2px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-colour-picker {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-shell-live-card [data-shell-preview-preheader]:empty {
  display: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-email-preheader-preview img {
  max-height: 84px !important;
  object-fit: contain !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-shell-redesign-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}
@media (max-width: 1220px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-shell-redesign-layout {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-shell-live-preview {
    grid-column: auto !important;
    position: static !important;
  }
}
@media (max-width: 720px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-logo-control,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-shell-preheader-fields-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.413.2 — clearer wallet provider headers */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head {
  grid-template-columns: 54px minmax(0, 1fr) minmax(230px, 320px) !important;
  padding: 18px 20px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-mark {
  width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  color: #172033 !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-mark img {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-title h4 {
  margin: 2px 0 5px !important;
  font-size: 18px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-body-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-body-head strong {
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-body-head small {
  color: #64748b !important;
  font-size: 12px !important;
}
@media (max-width: 980px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head {
    grid-template-columns: 46px minmax(0, 1fr) !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head .ecim-wallet-toggle-row {
    grid-column: 1 / -1 !important;
  }
}

/* ECIM v1.2.413.6 — KISS Digital Wallet layout + preview */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-wallet-ics-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-wallet-design-card,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-calendar-invite-card {
  min-width: 0 !important;
  width: 100% !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-head {
  margin-bottom: 12px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 300px) !important;
  gap: 14px !important;
  align-items: start !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-editor {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-panel {
  margin: 0 !important;
  padding: 14px !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-panel .ecim-kicker {
  display: block !important;
  margin-bottom: 10px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-two,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-three {
  display: grid !important;
  gap: 10px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-three {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-field-compact-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-field-compact-grid .ecim-wallet-field-toggle {
  min-height: 38px !important;
  padding: 8px 9px !important;
  gap: 8px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-field-compact-grid .ecim-switch-copy strong {
  font-size: 11.5px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-panel {
  position: sticky !important;
  top: 18px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06) !important;
  padding: 14px !important;
  min-width: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-head strong {
  font-size: 14px !important;
  font-weight: 900 !important;
  color: #172033 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-head small {
  color: #64748b !important;
  font-size: 11px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card {
  overflow: hidden !important;
  border-radius: 22px !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 34px rgba(15, 23, 42, .12) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-status {
  padding: 8px 12px !important;
  background: #f8fafc !important;
  color: #64748b !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-hero {
  position: relative !important;
  min-height: 122px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-logo {
  position: absolute !important;
  top: 14px !important;
  padding: 7px !important;
  border-radius: 14px !important;
  max-width: 58% !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-logo.is-left { left: 14px !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-logo.is-centre { left: 50% !important; transform: translateX(-50%) !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-logo.is-right { right: 14px !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-logo.white-card { background: rgba(255,255,255,.94) !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-logo.dark-card { background: rgba(15,23,42,.88) !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-logo.glass-card { background: rgba(255,255,255,.72) !important; backdrop-filter: blur(8px) !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-logo.transparent { background: transparent !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-logo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-body {
  padding: 14px !important;
  color: var(--ecim-wallet-text) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-body h4 {
  margin: 0 0 12px !important;
  color: var(--ecim-wallet-text) !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-row {
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: baseline !important;
  padding: 7px 0 !important;
  border-top: 1px solid rgba(15, 23, 42, .07) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-row span,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-bottom small {
  color: var(--ecim-wallet-muted) !important;
  font-size: 11px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-row strong {
  color: var(--ecim-wallet-text) !important;
  font-size: 12px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-tags {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin: 10px 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-tags span {
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--ecim-wallet-accent) 16%, white) !important;
  color: var(--ecim-wallet-accent) !important;
  font-size: 10px !important;
  font-weight: 850 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-bottom {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-qr {
  width: 54px !important;
  height: 54px !important;
  border-radius: 12px !important;
  background: repeating-linear-gradient(45deg, #111827 0 4px, #fff 4px 8px) !important;
  border: 6px solid #fff !important;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, .12) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-bottom strong,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-bottom small {
  display: block !important;
}
@media (max-width: 1320px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-wallet-ics-row,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-layout {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-panel {
    position: static !important;
  }
}
@media (max-width: 760px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-two,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-kiss-three,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-field-compact-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.413.7 — wallet KISS branding/media/live-preview polish */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-media-control,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-summary {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 10px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-fallback-preview,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-thumb {
  width: 112px !important;
  height: 66px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  color: #94a3b8 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-align: center !important;
  padding: 8px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-fallback-preview img,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-thumb img {
  display: block !important;
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-media-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-summary {
  padding: 10px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-summary strong,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-summary small {
  display: block !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-summary strong {
  color: #172033 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  margin-bottom: 3px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-summary small {
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-colour-field .ecim-shell-colour-control {
  grid-template-columns: minmax(0, 1fr) 34px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-colour-field .ecim-shell-colour-swatch {
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main #ecim-wallet-support-phone,
html body.ecim-portal-body .ecim-app-shell .ecim-main #ecim-wallet-support-email {
  min-height: 42px !important;
  height: 42px !important;
  box-sizing: border-box !important;
}
@media (max-width: 760px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-media-control,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-summary {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-fallback-preview,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-brand-logo-thumb {
    width: 100% !important;
  }
}

/* ECIM v1.2.413.8 — Align Digital Wallet and Calendar Invite cards */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-wallet-ics-row > .ecim-card {
  margin-top: 0 !important;
  align-self: start !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-wallet-ics-row .ecim-global-calendar-invite-card {
  margin-top: 0 !important;
}

/* ECIM v1.2.413.9 — Wallet visible fields KISS polish */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-footer-text {
  margin-top: 10px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: rgba(15, 23, 42, .04) !important;
  color: var(--ecim-wallet-muted) !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

/* ECIM v1.2.413.10 — slick wallet preview mode selector */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-segment {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 3px !important;
  padding: 3px !important;
  margin: -4px 0 12px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-pill {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  cursor: pointer !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-pill input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-pill span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  border-radius: 999px !important;
  color: #64748b !important;
  font-size: 10.5px !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-pill input:checked + span {
  background: #ffffff !important;
  color: #0369a1 !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, .12) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-pill input:focus-visible + span {
  outline: 2px solid rgba(3, 105, 161, .35) !important;
  outline-offset: 2px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-apple {
  border-radius: 24px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-google {
  border-radius: 18px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-samsung {
  border-radius: 26px !important;
  background: #f8fafc !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-status {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 3px 8px !important;
  align-items: center !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-status > span {
  grid-row: span 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--ecim-wallet-accent) !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, .08) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-status > strong {
  color: #172033 !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-status > small {
  color: #64748b !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-provider-note {
  margin-top: 10px !important;
  color: var(--ecim-wallet-muted) !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}
@media (max-width: 760px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-segment {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    border-radius: 18px !important;
  }
}

/* ECIM v1.2.413.11 — realistic wallet preview layouts, no provider header strip */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-unified,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-apple,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-google,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-samsung {
  background: #ffffff !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-apple {
  border-radius: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .14) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-apple-top {
  min-height: 54px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-apple-top img {
  display: block !important;
  max-width: 44% !important;
  max-height: 34px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.86) !important;
  padding: 4px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-apple-strip {
  min-height: 92px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-apple-body {
  padding: 15px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-apple-body h4,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-google-body h4,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-samsung-content h4 {
  font-size: 19px !important;
  margin: 0 0 9px !important;
  letter-spacing: -.025em !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-apple-facts {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  color: var(--ecim-wallet-muted) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  margin-bottom: 8px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-apple-attendee {
  margin: 8px 0 10px !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  background: rgba(15, 23, 42, .045) !important;
  color: var(--ecim-wallet-text) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-google {
  border-radius: 20px !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .12) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-google-hero {
  min-height: 132px !important;
  position: relative !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-google-body {
  padding: 16px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-google-label {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: rgba(15, 23, 42, .05) !important;
  color: var(--ecim-wallet-muted) !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  margin-bottom: 8px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-samsung {
  border-radius: 28px !important;
  padding: 8px !important;
  background: #f1f5f9 !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .12) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-samsung-shell {
  overflow: hidden !important;
  border-radius: 22px !important;
  padding: 10px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-samsung-hero {
  min-height: 116px !important;
  position: relative !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-samsung-content {
  margin-top: 10px !important;
  padding: 14px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.92) !important;
  color: var(--ecim-wallet-text) !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-provider-note {
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
  padding-top: 9px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-apple .ecim-wallet-preview-bottom,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-google .ecim-wallet-preview-bottom,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-preview-card.ecim-wallet-preview-samsung .ecim-wallet-preview-bottom {
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
}


/* ECIM v1.2.414.1 — Calendar invite variables panel: two-column layout for readability. */
html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-ics-variables-panel .ecim-variable-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 13px 18px !important;
}

@media (max-width: 900px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-ics-variables-panel .ecim-variable-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  html body.ecim-portal-body .ecim-app .ecim-main #ecim-communication-template-preview .ecim-ics-variables-panel .ecim-variable-list {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.414.2 — Correct Calendar Invite variables panel to two columns in Global Communications. */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-ics-workspace .ecim-ics-variables-panel .ecim-variable-list,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-ics-workspace .ecim-ics-variables-panel .ecim-variable-list,
html body.ecim-portal-body .ecim-main .ecim-global-calendar-invite-card .ecim-ics-variables-panel .ecim-variable-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 18px !important;
  row-gap: 13px !important;
}

@media (max-width: 560px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-global-ics-workspace .ecim-ics-variables-panel .ecim-variable-list,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-global-ics-workspace .ecim-ics-variables-panel .ecim-variable-list,
  html body.ecim-portal-body .ecim-main .ecim-global-calendar-invite-card .ecim-ics-variables-panel .ecim-variable-list {
    grid-template-columns: 1fr !important;
  }
}

.ecim-sync-pill {
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.ecim-sync-pill.is-active {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #047857;
}
.ecim-sync-pill.is-warning {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #c2410c;
}

.ecim-debug-log-output {
  margin-top: 10px;
  max-height: 320px;
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--ecim-border, #d8e3ef);
  border-radius: 10px;
  background: #0f172a;
  color: #e5e7eb;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}

/* ECIM v1.2.416.11 — Wallet Passes integrations workspace refresh */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-pass-workspace {
  background: #ffffff !important;
  border: 1px solid #dfe8f3 !important;
  border-radius: 18px !important;
  padding: 24px !important;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .06) !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-workspace-hero {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding-bottom: 20px !important;
  margin-bottom: 18px !important;
  border-bottom: 1px solid #e6edf5 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-hero-title {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-hero-icon {
  width: 54px !important;
  height: 54px !important;
  border-radius: 16px !important;
  border: 1px solid #dce7f3 !important;
  background: #f8fbff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-hero-icon img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-hero-title h3 {
  margin: 3px 0 5px !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  color: #0f172a !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-hero-toggle {
  min-width: 270px !important;
  border: 1px solid #dfe8f3 !important;
  background: #fbfdff !important;
  border-radius: 16px !important;
  padding: 12px 14px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-readiness-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-readiness-tile {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 74px !important;
  padding: 13px 14px !important;
  border: 1px solid #dfe8f3 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-readiness-tile.is-enabled {
  border-color: #bce6ca !important;
  background: #fbfffc !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-readiness-icon {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: #f3f7fb !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-readiness-icon img {
  width: 25px !important;
  height: 25px !important;
  object-fit: contain !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-readiness-tile strong {
  display: block !important;
  font-size: 14px !important;
  color: #0f172a !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-readiness-tile small {
  display: block !important;
  margin-top: 2px !important;
  font-size: 12px !important;
  color: #64748b !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-status-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  color: #64748b !important;
  background: #f4f7fb !important;
  border: 1px solid #e2e8f0 !important;
  white-space: nowrap !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-status-badge span {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #94a3b8 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-status-ready,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-status-enabled {
  color: #15803d !important;
  background: #ecfdf3 !important;
  border-color: #bbf7d0 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-status-ready span,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-status-enabled span {
  background: #22c55e !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-stack {
  display: grid !important;
  gap: 14px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-card {
  border: 1px solid #dfe8f3 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .045) !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 16px 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border-bottom: 1px solid #edf2f7 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head-main,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head-actions {
  gap: 14px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-mark {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  background: #f6f9fc !important;
  border: 1px solid #e2eaf3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  font-size: 22px !important;
  font-weight: 800 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-mark img {
  width: 26px !important;
  height: 26px !important;
  object-fit: contain !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-title h4 {
  margin: 0 0 3px !important;
  font-size: 17px !important;
  color: #0f172a !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-title p {
  margin: 0 !important;
  font-size: 13px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-caret {
  color: #64748b !important;
  font-size: 13px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-body {
  padding: 18px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-google-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 18px !important;
  align-items: start !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-google-config-card,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostics-card {
  border: 1px solid #e0e8f2 !important;
  border-radius: 15px !important;
  background: #ffffff !important;
  padding: 18px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostics-card {
  position: sticky !important;
  top: 18px !important;
  background: #fbfdff !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-section-head {
  margin-bottom: 16px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-section-head h4 {
  margin: 2px 0 4px !important;
  color: #0f172a !important;
  font-size: 18px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-google-fields {
  grid-template-columns: 1fr 1fr !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-setup-chips {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding-top: 14px !important;
  margin-top: 16px !important;
  border-top: 1px solid #edf2f7 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-managed-note {
  margin-top: 14px !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  background: #f8fbff !important;
  border: 1px solid #e1ecf7 !important;
  display: grid !important;
  gap: 4px !important;
  color: #334155 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-connection-status {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  column-gap: 8px !important;
  row-gap: 3px !important;
  align-items: center !important;
  padding: 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  margin-bottom: 12px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #f59e0b !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-dot.is-ok {
  background: #22c55e !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-connection-status small {
  grid-column: 2 !important;
  color: #64748b !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-action-stack {
  display: grid !important;
  gap: 9px !important;
  margin-bottom: 12px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-action-stack button {
  width: 100% !important;
  justify-content: center !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-action-stack button:first-child {
  background: #0ea5e9 !important;
  border-color: #0ea5e9 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(14, 165, 233, .2) !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostics-result .ecim-notice,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostics-result .ecim-error {
  margin: 10px 0 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-latest-log {
  border: 1px solid #e2e8f0 !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  padding: 12px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-latest-log > div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 8px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-latest-log pre {
  margin: 0 !important;
  white-space: pre-wrap !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #475569 !important;
  background: #f8fafc !important;
  border-radius: 10px !important;
  padding: 10px !important;
  max-height: 120px !important;
  overflow: auto !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-inline-actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding-top: 14px !important;
  margin-top: 14px !important;
  border-top: 1px solid #edf2f7 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-inline-actions small {
  color: #64748b !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-footnote {
  margin: 16px 0 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
}

@media (max-width: 1280px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-readiness-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-google-layout {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostics-card {
    position: static !important;
  }
}

@media (max-width: 760px) {
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-workspace-hero,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-hero-toggle {
    min-width: 0 !important;
  }
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-readiness-row,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-google-fields,
  html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-setup-chips {
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.416.12 — Wallet provider accordion behaviour */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head {
  cursor: pointer !important;
  user-select: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head:focus-visible {
  outline: 3px solid rgba(9, 140, 201, 0.18) !important;
  outline-offset: -3px !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-card.is-collapsed .ecim-wallet-provider-body {
  display: none !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-card.is-collapsed .ecim-wallet-provider-head {
  border-bottom: 0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-card.is-expanded .ecim-wallet-provider-body {
  display: block !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-caret {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head input,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head label,
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-provider-head button {
  cursor: auto !important;
}

/* ECIM v1.2.416.14 — Google Wallet diagnostics cleanup */
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-list {
  display: grid !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 10px 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item .ecim-wallet-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #94a3b8 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item.is-ok .ecim-wallet-dot { background: #22c55e !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item.is-warning .ecim-wallet-dot { background: #f59e0b !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item.is-error .ecim-wallet-dot { background: #ef4444 !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item.is-unknown .ecim-wallet-dot { background: #94a3b8 !important; }

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item strong {
  display: block !important;
  color: #0f172a !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item small {
  display: block !important;
  margin-top: 2px !important;
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item em {
  font-style: normal !important;
  font-weight: 700 !important;
  color: #334155 !important;
  font-size: 12px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item.is-ok em { color: #15803d !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item.is-warning em { color: #b45309 !important; }
html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-diagnostic-item.is-error em { color: #b91c1c !important; }

html body.ecim-portal-body .ecim-app-shell .ecim-main .ecim-wallet-latest-log {
  display: none !important;
}


/* v1.2.416.16 — Staff Alerts */
.ecim-staff-alerts-three-panel,
.ecim-communication-three-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(260px, .85fr);
  gap: 18px;
  align-items: start;
}
.ecim-staff-alert-preview {
  border: 1px solid rgba(15, 23, 42, .08);
  background: #f8fafc;
  border-radius: 14px;
  padding: 18px;
  min-height: 120px;
  display: flex;
  align-items: center;
}
.ecim-staff-alert-preview p { margin: 0; font-weight: 700; color: #0f172a; }
.ecim-variable-group { margin-bottom: 16px; }
.ecim-variable-group h5 { margin: 0 0 8px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #64748b; }
.ecim-variable-list { display: flex; flex-wrap: wrap; gap: 8px; }
.ecim-variable-list button { border: 1px solid rgba(37,99,235,.18); background: #eff6ff; color: #1d4ed8; border-radius: 999px; padding: 6px 9px; font-size: 12px; }
.ecim-staff-alert-profile-card.is-disabled { opacity: .62; filter: grayscale(.1); }
.ecim-staff-alert-selected-users { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; }
.ecim-staff-alert-recipient-pill { display: inline-flex; align-items: center; gap: 7px; border: 1px solid rgba(15,23,42,.10); background: #fff; border-radius: 999px; padding: 5px 9px 5px 5px; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.ecim-recipient-avatar { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #dbeafe; color: #1d4ed8; font-weight: 800; font-size: 12px; }
.ecim-staff-alert-recipient-pill button { border: 0; background: transparent; color: #64748b; padding: 0 2px; font-size: 16px; line-height: 1; }
.ecim-staff-alert-user-results { display: grid; gap: 6px; margin: 8px 0 10px; }
.ecim-staff-alert-user-result { width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; border: 1px solid rgba(15,23,42,.10); background: #fff; border-radius: 12px; padding: 9px; }
.ecim-staff-alert-user-result small { display:block; color:#64748b; font-weight:500; }
.ecim-notice-muted { background: #f8fafc; border-color: rgba(15,23,42,.10); color: #475569; }
@media (max-width: 1100px) { .ecim-staff-alerts-three-panel, .ecim-communication-three-panel { grid-template-columns: 1fr; } }

/* v1.2.416.17 — Staff Alerts Communications-style editor */
.ecim-staff-alerts-communications-style .ecim-staff-alerts-three-panel {
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) minmax(240px, 300px);
  align-items: start;
}
.ecim-staff-alerts-template-list h3,
.ecim-staff-alerts-template-editor h3,
.ecim-staff-alerts-variable-panel h3 {
  margin-top: 6px;
}
.ecim-template-list-card {
  width: 100%;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 18px;
  gap: 10px;
  align-items: center;
  text-align: left;
  border: 1px solid rgba(37, 99, 235, .35);
  background: #eff6ff;
  color: #0f172a;
  border-radius: 12px;
  padding: 12px;
  margin-top: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.ecim-template-list-card strong { display:block; font-size: 13px; line-height: 1.25; }
.ecim-template-list-card small { display:block; color:#475569; font-size:11px; line-height:1.3; margin-top:3px; }
.ecim-template-list-card em { display:block; color:#1d4ed8; font-size:11px; font-style:normal; font-weight:700; margin-top:5px; }
.ecim-template-list-icon {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #dbeafe;
  color: #1d4ed8;
  font-weight: 800;
}
.ecim-template-list-arrow { color:#1d4ed8; font-size: 22px; line-height: 1; }
.ecim-staff-alerts-scope-note {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(15,23,42,.08);
  background: #f8fafc;
  border-radius: 12px;
  display: grid;
  gap: 4px;
}
.ecim-staff-alerts-scope-note strong { font-size: 12px; color:#0f172a; }
.ecim-staff-alerts-scope-note span { font-size: 12px; color:#64748b; line-height:1.35; }
.ecim-communication-editor-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}
.ecim-communication-editor-heading h3 { margin: 4px 0 2px; }
.ecim-template-meta-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 12px;
  background: rgba(15,23,42,.08);
  margin-bottom: 16px;
}
.ecim-template-meta-strip > div {
  background: #f8fafc;
  padding: 10px 12px;
}
.ecim-template-meta-strip span {
  display:block;
  color:#64748b;
  font-size:10px;
  text-transform: uppercase;
  letter-spacing:.05em;
  font-weight:800;
}
.ecim-template-meta-strip strong {
  display:block;
  margin-top:3px;
  color:#0f172a;
  font-size:12px;
}
.ecim-staff-alerts-template-editor textarea#ecim-staff-alert-template-body {
  min-height: 180px;
  font-family: inherit;
  line-height: 1.55;
}
.ecim-staff-alert-preview-block {
  margin-top: 14px;
  border: 1px solid rgba(37,99,235,.14);
  background: #f8fbff;
  border-radius: 14px;
  padding: 14px;
}
.ecim-staff-alert-preview-block .ecim-kicker { display:block; margin-bottom: 8px; }
.ecim-staff-alerts-variable-panel .ecim-variable-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.ecim-staff-alerts-variable-panel .ecim-variable-list button {
  border: 0;
  background: transparent;
  color: #0f172a;
  border-radius: 8px;
  padding: 4px 2px;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
}
.ecim-staff-alerts-variable-panel .ecim-variable-list button:hover {
  background: #eff6ff;
  color: #1d4ed8;
}
.ecim-staff-alerts-variable-panel .ecim-variable-group {
  border-bottom: 1px solid rgba(15,23,42,.08);
  padding-bottom: 12px;
}
.ecim-staff-alerts-variable-panel .ecim-variable-group:last-child { border-bottom: 0; }
@media (max-width: 1200px) {
  .ecim-staff-alerts-communications-style .ecim-staff-alerts-three-panel { grid-template-columns: 1fr; }
  .ecim-communication-editor-heading { flex-direction: column; }
  .ecim-template-meta-strip { grid-template-columns: 1fr; }
}


/* v1.2.416.18 — Staff Alerts moved into Event Settings */
.ecim-settings-staff-alerts-editor-block { margin: 18px 0; }
.ecim-staff-alerts-settings-editor .ecim-communication-compose { padding: 16px; }
.ecim-staff-alerts-settings-editor #ecim-staff-alert-template-body {
  min-height: 170px;
  font-family: inherit;
  line-height: 1.55;
  resize: vertical;
}
.ecim-settings-staff-alerts-card-merged { min-height: 0; }
@media (max-width: 1200px) {
  .ecim-staff-alerts-settings-editor {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }
  .ecim-staff-alerts-settings-editor .ecim-communication-template-rail,
  .ecim-staff-alerts-settings-editor .ecim-communication-compose,
  .ecim-staff-alerts-settings-editor .ecim-staff-alerts-variable-panel {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ECIM v1.2.416.20 — Automation query builder polish */
body.ecim-portal-body .ecim-main .ecim-automation-query-builder {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, .24);
  background: #f8fafc;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-head strong {
  display: block;
  margin-top: 2px;
  color: #111827;
  font-size: 15px;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-logic {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: start;
  padding: 8px 10px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 12px;
  background: #ffffff;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-logic select {
  min-height: 32px;
  padding: 5px 30px 5px 8px;
  border-radius: 10px;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-logic.is-muted {
  opacity: .72;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-rows {
  display: grid;
  gap: 10px;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-row {
  display: grid;
  grid-template-columns: 28px minmax(150px, .8fr) minmax(150px, .8fr) minmax(180px, 1fr) 34px;
  gap: 10px;
  align-items: end;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 14px;
  background: #ffffff;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-row-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(9, 140, 201, .11);
  color: #0979ae;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 7px;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-row label {
  display: grid;
  gap: 5px;
  margin: 0;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-row label span {
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #64748b;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-remove {
  width: 34px;
  min-width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 10px;
  font-size: 18px;
  line-height: 1;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-empty {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: 14px;
  border: 1px dashed rgba(148, 163, 184, .46);
  background: #ffffff;
  color: #64748b;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-empty strong {
  color: #111827;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-summary {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid rgba(9, 140, 201, .18);
  background: rgba(9, 140, 201, .06);
  color: #334155;
  font-size: 12px;
  line-height: 1.45;
}

body.ecim-portal-body .ecim-main .ecim-automation-query-summary strong {
  color: #0f172a;
}

@media (max-width: 1100px) {
  body.ecim-portal-body .ecim-main .ecim-automation-query-head {
    flex-direction: column;
  }
  body.ecim-portal-body .ecim-main .ecim-automation-query-row {
    grid-template-columns: 28px 1fr;
    align-items: start;
  }
  body.ecim-portal-body .ecim-main .ecim-automation-query-row label,
  body.ecim-portal-body .ecim-main .ecim-automation-query-remove {
    grid-column: 2;
  }
}

/* ECIM v1.2.416.21 — Communications create placement and automation query UI */
body.ecim-portal-body .ecim-main .ecim-communication-template-create-inline.is-under-default {
  min-height: 48px;
  margin: -2px 0 8px;
  border: 1px dashed rgba(9, 140, 201, .55);
  background: rgba(9, 140, 201, .08);
  color: #075f8d;
  font-size: 14px;
  font-weight: 800;
  border-radius: 14px;
}
body.ecim-portal-body .ecim-main .ecim-communication-template-create-inline.is-under-default:hover,
body.ecim-portal-body .ecim-main .ecim-communication-template-create-inline.is-under-default:focus-visible {
  background: rgba(9, 140, 201, .14);
  border-style: solid;
}
body.ecim-portal-body .ecim-main .ecim-automation-rule-list .ecim-automation-add-rule-button {
  width: 100%;
  justify-content: center;
  margin-top: 12px;
}
body.ecim-portal-body .ecim-main .ecim-automation-empty-builder-preview {
  display: grid;
  gap: 7px;
  margin: 16px 0;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(9, 140, 201, .18);
  background: rgba(9, 140, 201, .06);
  color: #334155;
  line-height: 1.45;
}
body.ecim-portal-body .ecim-main .ecim-automation-empty-builder-preview strong,
body.ecim-portal-body .ecim-main .ecim-automation-empty-builder-preview b {
  color: #0f172a;
}
body.ecim-portal-body .ecim-main .ecim-automation-query-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
body.ecim-portal-body .ecim-main .ecim-automation-query-presets > span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #64748b;
  margin-right: 2px;
}
body.ecim-portal-body .ecim-main .ecim-automation-query-presets button {
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
}

/* ECIM v1.2.416.22 — KISS automation redesign */
body.ecim-portal-body .ecim-main .ecim-automation-kiss-card {
  padding: 18px;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-head {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-summary {
  display: grid;
  gap: 5px;
  margin: 14px 0;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(9, 140, 201, .20);
  background: rgba(9, 140, 201, .055);
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-summary strong {
  color: #0f172a;
  font-size: 15px;
  line-height: 1.4;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-steps {
  display: grid;
  gap: 12px;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-step {
  display: grid;
  grid-template-columns: 34px minmax(150px, 240px) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 16px;
  background: #fff;
}

body.ecim-portal-body .ecim-main .ecim-automation-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(9, 140, 201, .10);
  color: #0979ae;
  font-size: 12px;
  font-weight: 800;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-step > div > strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
  font-size: 14px;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-fields-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-step .ecim-automation-query-builder {
  grid-column: 3;
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-step .ecim-automation-query-head {
  display: none;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-step .ecim-automation-query-presets {
  margin-top: 0;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-notice {
  display: grid;
  gap: 3px;
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, .22);
  background: #f8fafc;
  color: #475569;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-notice strong {
  color: #0f172a;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-notice.is-ready {
  border-color: rgba(22, 163, 74, .22);
  background: rgba(22, 163, 74, .06);
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-notice.is-warning {
  border-color: rgba(245, 158, 11, .26);
  background: rgba(245, 158, 11, .07);
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-advanced,
body.ecim-portal-body .ecim-main .ecim-automation-diagnostics-drawer {
  margin-top: 12px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-advanced > summary,
body.ecim-portal-body .ecim-main .ecim-automation-diagnostics-drawer > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  cursor: pointer;
  color: #0f172a;
  font-weight: 800;
}

body.ecim-portal-body .ecim-main .ecim-automation-diagnostics-drawer > summary span {
  display: grid;
  gap: 2px;
}

body.ecim-portal-body .ecim-main .ecim-automation-diagnostics-drawer > summary em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
}

body.ecim-portal-body .ecim-main .ecim-automation-diagnostics-body {
  display: grid;
  gap: 12px;
  padding: 0 14px 14px;
}

body.ecim-portal-body .ecim-main .ecim-automation-diagnostics-body .ecim-automation-history-card,
body.ecim-portal-body .ecim-main .ecim-automation-diagnostics-body .ecim-automation-audit-card {
  box-shadow: none;
}

body.ecim-portal-body .ecim-main .ecim-automation-kiss-card .ecim-automation-dry-run-card {
  margin-top: 14px;
}

@media (max-width: 1100px) {
  body.ecim-portal-body .ecim-main .ecim-automation-kiss-step {
    grid-template-columns: 34px minmax(0, 1fr);
  }
  body.ecim-portal-body .ecim-main .ecim-automation-kiss-step > .ecim-automation-query-builder,
  body.ecim-portal-body .ecim-main .ecim-automation-kiss-step > .ecim-automation-kiss-fields,
  body.ecim-portal-body .ecim-main .ecim-automation-kiss-step > div:nth-child(3) {
    grid-column: 1 / -1;
  }
  body.ecim-portal-body .ecim-main .ecim-automation-kiss-fields,
  body.ecim-portal-body .ecim-main .ecim-automation-kiss-fields-four {
    grid-template-columns: 1fr;
  }
}

/* ECIM v1.2.416.23 — Automation action + Teams notification polish */
.ecim-automation-teams-message-field textarea {
  min-height: 92px;
  resize: vertical;
}
.ecim-automation-teams-picker {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.72);
}
.ecim-automation-teams-picker .ecim-staff-alert-recipient-list {
  min-height: 42px;
}
.ecim-automation-teams-picker .ecim-muted {
  margin: 0;
  font-size: 12px;
}
.ecim-automation-query-builder .ecim-automation-query-head p {
  max-width: 680px;
}

/* ECIM v1.2.416.24 — KISS SQL-style automation builder */
body.ecim-portal-body .ecim-main .ecim-automation-sql-card {
  gap: 18px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-sentence {
  border: 1px solid #d7ecf7;
  background: #eef9fd;
  border-radius: 14px;
  padding: 14px 16px;
  display: grid;
  gap: 6px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-sentence strong {
  color: #0f2233;
  font-size: 14px;
  line-height: 1.45;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-builder {
  display: grid;
  gap: 12px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-block {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  border: 1px solid #e2e8f0;
  background: #fff;
  border-radius: 14px;
  padding: 14px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-keyword {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border-radius: 999px;
  background: #eaf6fb;
  color: #168fc4;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 12px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-body {
  display: grid;
  gap: 10px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-where,
body.ecim-portal-body .ecim-main .ecim-automation-sql-extra {
  display: grid;
  gap: 10px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-toolbar {
  display: grid;
  gap: 10px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-logic {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-logic button {
  min-height: 30px;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-logic button.is-active {
  background: #1592c8;
  border-color: #1592c8;
  color: #fff;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-presets {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-presets span {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-presets button {
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 11px;
  white-space: nowrap;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-conditions {
  display: grid;
  gap: 8px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-condition {
  display: grid;
  grid-template-columns: 72px minmax(130px, 1fr) minmax(120px, .85fr) minmax(160px, 1.2fr) 36px;
  gap: 8px;
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 8px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-join {
  color: #168fc4;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-condition select,
body.ecim-portal-body .ecim-main .ecim-automation-sql-condition input {
  width: 100%;
  min-height: 36px;
  border: 1px solid #d7dee8;
  border-radius: 10px;
  background: #fff;
  padding: 7px 9px;
  font-size: 13px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-remove {
  width: 34px;
  min-height: 34px;
  border-radius: 10px;
  padding: 0;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-empty {
  border: 1px dashed #d7dee8;
  border-radius: 12px;
  padding: 12px 14px;
  display: grid;
  gap: 3px;
  color: #667085;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-empty strong {
  color: #0f2233;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-summary {
  border-radius: 12px;
  background: #f3f8fb;
  border: 1px solid #d7ecf7;
  padding: 10px 12px;
  display: grid;
  gap: 3px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-summary span {
  color: #168fc4;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-summary strong {
  color: #344054;
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  body.ecim-portal-body .ecim-main .ecim-automation-sql-block {
    grid-template-columns: 1fr;
  }
  body.ecim-portal-body .ecim-main .ecim-automation-sql-keyword {
    justify-content: flex-start;
    width: fit-content;
    padding: 0 14px;
  }
  body.ecim-portal-body .ecim-main .ecim-automation-sql-grid {
    grid-template-columns: 1fr;
  }
  body.ecim-portal-body .ecim-main .ecim-automation-sql-condition {
    grid-template-columns: 1fr;
  }
  body.ecim-portal-body .ecim-main .ecim-automation-sql-join {
    text-align: left;
  }
}

/* ECIM v1.2.416.28 — WHERE filter horizontal layout + explicit AND/OR */
body.ecim-portal-body .ecim-main .ecim-automation-sql-where {
  width: 100%;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-toolbar {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  width: 100%;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-presets {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-preset-buttons {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: 100%;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-preset-buttons button,
body.ecim-portal-body .ecim-main .ecim-automation-sql-presets > button {
  display: inline-flex !important;
  width: auto !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 12px;
  white-space: nowrap;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-logic {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-logic button {
  display: inline-flex !important;
  width: auto !important;
  gap: 4px;
}

body.ecim-portal-body .ecim-main .ecim-automation-sql-empty {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* ECIM v1.2.416.29 — force compact horizontal WHERE controls */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-where {
  width: 100% !important;
  max-width: 100% !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 14px !important;
  width: 100% !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-presets,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-logic {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-presets > span,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-logic > span {
  display: inline-flex !important;
  width: auto !important;
  flex: 0 0 auto !important;
  margin: 0 4px 0 0 !important;
  white-space: nowrap !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-preset-buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-preset-buttons button,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-logic button,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-presets > button {
  display: inline-flex !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  white-space: nowrap !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-conditions {
  display: grid !important;
  width: 100% !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-empty {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: auto !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-empty strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-empty span {
  display: inline !important;
  width: auto !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-empty strong::after {
  content: ' ';
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-summary {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-toolbar {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
}

/* ECIM v1.2.416.30 — Automation WHERE KISS row layout + AND/OR row add */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-panel,
html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-sql-where.ecim-automation-where-panel {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  gap: 12px !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-toolbar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-presets {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-presets > span {
  display: block !important;
  width: 100% !important;
  color: #475467 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-filter-buttons,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-add-join {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  align-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-filter-buttons > button.ecim-secondary,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-add-join > button.ecim-secondary {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  border-radius: 10px !important;
  line-height: 1.1 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-add-join {
  padding-top: 2px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-add-join > span {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  margin-right: 2px !important;
  color: #475467 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-conditions {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  gap: 8px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-condition {
  display: grid !important;
  grid-template-columns: 74px minmax(150px, 1fr) minmax(135px, .8fr) minmax(180px, 1.2fr) 36px !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-empty.ecim-automation-where-empty,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-conditions .ecim-automation-sql-empty {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: 14px 16px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-summary {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-condition {
    grid-template-columns: 1fr !important;
  }
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-join {
    text-align: left !important;
  }
}


/* ECIM v1.2.416.31 — Automation WHERE body span + compact chips */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-block > .ecim-automation-sql-body {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-panel {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-filter-buttons,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-preset-buttons.ecim-automation-filter-buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-filter-buttons > .ecim-automation-filter-chip,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-add-join > .ecim-automation-filter-chip,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-automation-filter-chip.ecim-secondary {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 10px !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-add-join > .ecim-automation-join-chip,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-automation-join-chip.ecim-secondary {
  min-height: 34px !important;
  height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-conditions,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-summary,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-empty,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-conditions .ecim-automation-sql-empty {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* ECIM v1.2.416.32 — Automation WHERE no-filter full-width state + compact join chips */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-block,
html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-sql-block {
  grid-template-columns: 78px minmax(0, 1fr) !important;
  align-items: start !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-block > .ecim-automation-sql-body {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  justify-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-body > .ecim-automation-where-panel,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-panel.has-no-where-conditions,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-panel.has-where-conditions {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  gap: 10px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-toolbar,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-presets,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-presets.ecim-automation-where-presets {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-preset-buttons.ecim-automation-filter-buttons,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-panel.has-no-where-conditions .ecim-automation-filter-buttons,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-panel.has-where-conditions .ecim-automation-filter-buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-preset-buttons.ecim-automation-filter-buttons > button.ecim-automation-filter-chip,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-add-join > button.ecim-automation-join-chip,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-secondary.ecim-automation-filter-chip,
html body.ecim-portal-body .ecim-app .ecim-main button.ecim-secondary.ecim-automation-join-chip {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 10px !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-empty,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-summary {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-empty strong,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-empty span {
  display: inline !important;
  width: auto !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-empty strong::after {
  content: ' ';
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-add-join {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-sql-block,
  html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-sql-block {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   ECIM v1.2.416.33 — WHERE builder: definitive layout fix
   Ensures no-filter and filtered states both render the Add Filter chips
   horizontally/wrapping, never collapsed into a narrow left column.
   Root cause: .ecim-automation-sql-block is a 2-col grid (78px | 1fr).
   The .ecim-automation-sql-body (3rd child) must span both columns.
   Then the where-panel, toolbar, presets, and filter-buttons must be
   full-width flex containers so chips wrap horizontally.
   ========================================================================== */

/* 1. Force sql-body to span the full grid row (both keyword + helper columns) */
html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-sql-block > div.ecim-automation-sql-body {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* 2. where-panel (the section returned by communicationAutomationQueryBuilder)
      must be full-width flex column regardless of has-no-where-conditions
      or has-where-conditions modifier class */
html body.ecim-portal-body .ecim-app .ecim-main div.ecim-automation-sql-body > section.ecim-automation-where-panel,
html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-where-panel.has-no-where-conditions,
html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-where-panel.has-where-conditions {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  gap: 10px !important;
}

/* 3. where-toolbar is a flex column so the presets label sits above the chips */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-where-panel > div.ecim-automation-where-toolbar {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  gap: 6px !important;
}

/* 4. The presets container (Add filter label + chip row) — always column,
      always full width. Overrides the row/auto-width rule from an earlier patch. */
html body.ecim-portal-body .ecim-app .ecim-main div.ecim-automation-where-toolbar > div.ecim-automation-sql-presets,
html body.ecim-portal-body .ecim-app .ecim-main div.ecim-automation-where-toolbar > div.ecim-automation-where-presets,
html body.ecim-portal-body .ecim-app .ecim-main div.ecim-automation-sql-presets.ecim-automation-where-presets {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  gap: 6px !important;
}

/* 5. "Add filter" label inside the presets container */
html body.ecim-portal-body .ecim-app .ecim-main div.ecim-automation-sql-presets.ecim-automation-where-presets > span {
  display: block !important;
  width: 100% !important;
  flex: none !important;
  color: #475467 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* 6. The filter-buttons div — always a horizontal wrapping flex row.
      Covers both the no-filter and filtered states.
      Overrides any width:auto from earlier .ecim-automation-sql-preset-buttons rules. */
html body.ecim-portal-body .ecim-app .ecim-main div.ecim-automation-sql-presets.ecim-automation-where-presets > div.ecim-automation-filter-buttons,
html body.ecim-portal-body .ecim-app .ecim-main div.ecim-automation-sql-preset-buttons.ecim-automation-filter-buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* 7. Individual filter chips — inline, auto-width, never block/full-width */
html body.ecim-portal-body .ecim-app .ecim-main div.ecim-automation-filter-buttons > button.ecim-automation-filter-chip {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: nowrap !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 10px !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  box-sizing: border-box !important;
}

/* 8. empty-state and summary — always full width, never constrained by parent */
html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-where-panel > div.ecim-automation-where-empty,
html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-where-panel > div.ecim-automation-where-summary,
html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-where-panel > div.ecim-automation-sql-summary {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  html body.ecim-portal-body .ecim-app .ecim-main section.ecim-automation-sql-block > div.ecim-automation-sql-body {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}


/* ==========================================================================
   ECIM v1.2.416.34 — WHERE builder install/cascade hardening
   Broad selectors intentionally avoid relying on one body/app wrapper so the
   no-filter state cannot collapse into the keyword column even if cached or
   legacy class-only rules are present earlier in the stylesheet.
   ========================================================================== */
section.ecim-automation-sql-block > div.ecim-automation-sql-body,
.ecim-automation-sql-block > .ecim-automation-sql-body {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

section.ecim-automation-sql-block > div.ecim-automation-sql-body > section.ecim-automation-where-panel,
.ecim-automation-sql-body > .ecim-automation-where-panel,
.ecim-automation-where-panel {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  gap: 10px !important;
}

.ecim-automation-where-panel > .ecim-automation-where-toolbar,
.ecim-automation-where-toolbar {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  gap: 6px !important;
}

.ecim-automation-where-toolbar > .ecim-automation-sql-presets.ecim-automation-where-presets,
.ecim-automation-sql-presets.ecim-automation-where-presets {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  gap: 6px !important;
}

.ecim-automation-sql-presets.ecim-automation-where-presets > span {
  display: block !important;
  width: 100% !important;
  flex: none !important;
  white-space: nowrap !important;
}

.ecim-automation-sql-presets.ecim-automation-where-presets > .ecim-automation-sql-preset-buttons.ecim-automation-filter-buttons,
.ecim-automation-sql-preset-buttons.ecim-automation-filter-buttons,
.ecim-automation-filter-buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.ecim-automation-filter-buttons > button.ecim-automation-filter-chip,
button.ecim-automation-filter-chip.ecim-secondary,
button.ecim-automation-join-chip.ecim-secondary {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 10px !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

.ecim-automation-where-panel > .ecim-automation-where-empty,
.ecim-automation-where-panel > .ecim-automation-where-summary,
.ecim-automation-where-panel > .ecim-automation-sql-summary,
.ecim-automation-where-empty,
.ecim-automation-where-summary {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* ========================================================================== 
   ECIM v1.2.416.36 — THEN Teams action layout fix
   The THEN block uses the same 78px | 1fr grid as WHERE. The Teams action
   fields are appended after the top action grid, so without an explicit grid
   span they can auto-place into the narrow keyword column. Force the Teams
   action panel to span the full THEN block and lay out at usable width.
   ========================================================================== */
section.ecim-automation-sql-block > div.ecim-automation-sql-extra,
.ecim-automation-sql-block > .ecim-automation-sql-extra {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(320px, 1.4fr) minmax(260px, .8fr) !important;
  align-items: start !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

section.ecim-automation-sql-block > div.ecim-automation-sql-extra > .ecim-field,
section.ecim-automation-sql-block > div.ecim-automation-sql-extra > .ecim-automation-teams-picker,
.ecim-automation-sql-block > .ecim-automation-sql-extra > .ecim-field,
.ecim-automation-sql-block > .ecim-automation-sql-extra > .ecim-automation-teams-picker {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

section.ecim-automation-sql-block > div.ecim-automation-sql-extra .ecim-automation-teams-message-field textarea,
.ecim-automation-sql-block > .ecim-automation-sql-extra .ecim-automation-teams-message-field textarea {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 118px !important;
  box-sizing: border-box !important;
}

section.ecim-automation-sql-block > div.ecim-automation-sql-extra .ecim-automation-teams-picker input,
.ecim-automation-sql-block > .ecim-automation-sql-extra .ecim-automation-teams-picker input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 1000px) {
  section.ecim-automation-sql-block > div.ecim-automation-sql-extra,
  .ecim-automation-sql-block > .ecim-automation-sql-extra {
    grid-template-columns: 1fr !important;
  }
}


/* ========================================================================== 
   ECIM v1.2.416.37 — THEN layout alignment + permission wording polish
   Keep Teams action fields aligned with the THEN content column (Action,
   Status, Permission, Internal label) instead of spanning under the THEN pill.
   ========================================================================== */
section.ecim-automation-sql-block > div.ecim-automation-sql-extra,
.ecim-automation-sql-block > .ecim-automation-sql-extra {
  grid-column: 2 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(320px, 1.15fr) minmax(260px, .85fr) !important;
  align-items: start !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

section.ecim-automation-sql-block > div.ecim-automation-sql-extra .ecim-automation-teams-message-field,
.ecim-automation-sql-block > .ecim-automation-sql-extra .ecim-automation-teams-message-field {
  margin: 0 !important;
}

section.ecim-automation-sql-block > div.ecim-automation-sql-extra .ecim-automation-teams-picker,
.ecim-automation-sql-block > .ecim-automation-sql-extra .ecim-automation-teams-picker {
  margin: 0 !important;
}

@media (max-width: 1000px) {
  section.ecim-automation-sql-block > div.ecim-automation-sql-extra,
  .ecim-automation-sql-block > .ecim-automation-sql-extra {
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr !important;
  }
}


/* ECIM v1.2.416.38 — Automation builder width + header action alignment */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-workspace {
  width: 100% !important;
  max-width: none !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-builder-layout {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-head.ecim-automation-kiss-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 16px !important;
  width: 100% !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-head.ecim-automation-kiss-head > div:first-child {
  min-width: 0 !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-head.ecim-automation-kiss-head > .ecim-actions {
  justify-self: end !important;
  align-self: start !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 0 !important;
  max-width: 360px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-head.ecim-automation-kiss-head > .ecim-actions button {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

@media (min-width: 1500px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-builder-layout {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 1100px) {
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-builder-layout,
  html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-head.ecim-automation-kiss-head {
    grid-template-columns: 1fr !important;
  }

  html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-head.ecim-automation-kiss-head > .ecim-actions {
    justify-self: stretch !important;
    justify-content: flex-start !important;
    max-width: none !important;
  }
}

/* ECIM v1.2.416.39 — Automation advanced + diagnostics drawer width hardening */
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-editor-card > details.ecim-automation-kiss-advanced,
html body.ecim-portal-body .ecim-app .ecim-main details.ecim-card.ecim-automation-diagnostics-drawer {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-workspace > details.ecim-card.ecim-automation-diagnostics-drawer,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-builder-layout > details.ecim-card.ecim-automation-diagnostics-drawer {
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}

html body.ecim-portal-body .ecim-app .ecim-main details.ecim-automation-kiss-advanced > summary,
html body.ecim-portal-body .ecim-app .ecim-main details.ecim-card.ecim-automation-diagnostics-drawer > summary {
  width: 100% !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-kiss-advanced > .ecim-automation-schedule-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-diagnostics-drawer > .ecim-automation-diagnostics-body {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-diagnostics-body {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-diagnostics-body > section.ecim-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-schedule-card,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-monitor-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-schedule-grid {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-monitor-grid,
html body.ecim-portal-body .ecim-app .ecim-main .ecim-automation-schedule-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}


/* ECIM v1.2.416.40 — Automation layout width fix using actual portal DOM path
   The portal DOM is .ecim-main > #ecim-app, not .ecim-app .ecim-main.
   These selectors intentionally target the real active structure so the builder,
   advanced scheduler details, and scheduler/audit drawer can use the available width. */
body.ecim-portal-body .ecim-main > #ecim-app,
body.ecim-portal-body .ecim-main #ecim-app .ecim-page-body,
body.ecim-portal-body .ecim-main #ecim-app .ecim-communications-workspace,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-workspace {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-builder-layout {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-editor-card,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-editor-card.ecim-automation-kiss-card,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-editor-card.ecim-automation-sql-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-editor-card > .ecim-automation-kiss-advanced,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-editor-card > details.ecim-automation-kiss-advanced {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-editor-card > details.ecim-automation-kiss-advanced > summary,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-editor-card > details.ecim-automation-kiss-advanced > .ecim-automation-schedule-card,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-editor-card .ecim-automation-schedule-card,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-editor-card .ecim-automation-schedule-grid {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-workspace > details.ecim-card.ecim-automation-diagnostics-drawer {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-workspace > details.ecim-card.ecim-automation-diagnostics-drawer > summary,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-workspace > details.ecim-card.ecim-automation-diagnostics-drawer > .ecim-automation-diagnostics-body,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-diagnostics-body,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-diagnostics-body > section.ecim-card,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-diagnostics-body .ecim-automation-history-card,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-diagnostics-body .ecim-automation-audit-card,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-monitor-grid {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-diagnostics-body {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-monitor-grid,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-schedule-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}

@media (min-width: 1500px) {
  body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-builder-layout {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 1100px) {
  body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-builder-layout {
    grid-template-columns: 1fr !important;
  }
}


/* ========================================================================== 
   ECIM v1.2.416.41 — WHEN field width alignment
   The WHEN block uses the same 78px | 1fr grid shell as the rest of the
   sentence builder. Keep the WHEN controls in the main content column and make
   each field/control stretch to the grid track so the first three controls read
   like the THEN section: roughly one third each on desktop.
   ========================================================================== */
body.ecim-portal-body .ecim-main #ecim-app section.ecim-automation-sql-block > div.ecim-automation-sql-grid,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-sql-block > .ecim-automation-sql-grid {
  grid-column: 2 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app section.ecim-automation-sql-block > div.ecim-automation-sql-grid > .ecim-field,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-sql-block > .ecim-automation-sql-grid > .ecim-field {
  display: grid !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app section.ecim-automation-sql-block > div.ecim-automation-sql-grid > .ecim-field input,
body.ecim-portal-body .ecim-main #ecim-app section.ecim-automation-sql-block > div.ecim-automation-sql-grid > .ecim-field select,
body.ecim-portal-body .ecim-main #ecim-app section.ecim-automation-sql-block > div.ecim-automation-sql-grid > .ecim-field textarea,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-sql-block > .ecim-automation-sql-grid > .ecim-field input,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-sql-block > .ecim-automation-sql-grid > .ecim-field select,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-sql-block > .ecim-automation-sql-grid > .ecim-field textarea {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app section.ecim-automation-sql-block > div.ecim-automation-sql-grid > .ecim-automation-name-field,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-sql-block > .ecim-automation-sql-grid > .ecim-automation-name-field {
  grid-column: span 1 !important;
}

@media (max-width: 1100px) {
  body.ecim-portal-body .ecim-main #ecim-app section.ecim-automation-sql-block > div.ecim-automation-sql-grid,
  body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-sql-block > .ecim-automation-sql-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body.ecim-portal-body .ecim-main #ecim-app section.ecim-automation-sql-block > div.ecim-automation-sql-grid,
  body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-sql-block > .ecim-automation-sql-grid {
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr !important;
  }
}


/* ========================================================================== 
   ECIM v1.2.416.43 — Automation THEN simplification + Teams variables
   ========================================================================== */
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-extra {
  grid-column: 2 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-field,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-field textarea,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-picker {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-variables {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid var(--ecim-border, #d9e2ef) !important;
  border-radius: 14px !important;
  padding: 12px !important;
  background: #f8fbff !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-variable-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-variable {
  display: inline-flex !important;
  width: auto !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

@media (max-width: 900px) {
  body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.416.44 — Automation Teams variables: match Staff Alerts variable panel */
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables.ecim-communication-variables-panel {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
  border: 1px solid var(--ecim-border, #d9e2ef) !important;
  border-radius: 16px !important;
  padding: 18px 18px 16px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variables-panel-head {
  display: block !important;
  margin: 0 0 12px !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variables-panel-head .ecim-muted {
  margin: 6px 0 0 !important;
  color: #42566c !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variable-groups {
  display: block !important;
  width: 100% !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variable-group {
  display: block !important;
  padding: 12px 0 !important;
  border-top: 1px solid #dbe5ee !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variable-group:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variable-group:last-child {
  padding-bottom: 0 !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variable-group h4 {
  margin: 0 0 9px !important;
  color: #098cc9 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variable-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px 12px !important;
  width: 100% !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables a.ecim-comm-variable-link,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables a.ecim-comm-variable-link:visited {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111827 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables a.ecim-comm-variable-link .ecim-comm-variable-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  color: #52667a !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables a.ecim-comm-variable-link .ecim-comm-variable-icon svg {
  width: 14px !important;
  height: 14px !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables a.ecim-comm-variable-link .ecim-comm-variable-label {
  display: inline !important;
  min-width: 0 !important;
  color: #111827 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables a.ecim-comm-variable-link:hover,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables a.ecim-comm-variable-link:focus-visible {
  color: #098cc9 !important;
  text-decoration: none !important;
  outline: none !important;
}

body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables a.ecim-comm-variable-link:hover .ecim-comm-variable-icon,
body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables a.ecim-comm-variable-link:focus-visible .ecim-comm-variable-icon {
  color: #098cc9 !important;
}

@media (max-width: 1200px) {
  body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variable-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.ecim-portal-body .ecim-main #ecim-app .ecim-automation-teams-message-wrap aside.ecim-automation-teams-variables .ecim-variable-list {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.416.48 — Wallet integration configuration polish */
body.ecim-portal-body .ecim-wallet-google-layout {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
  align-items: start !important;
}

body.ecim-portal-body .ecim-wallet-google-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.ecim-portal-body .ecim-wallet-wide-field,
body.ecim-portal-body .ecim-wallet-button-image-group {
  grid-column: 1 / -1 !important;
}

body.ecim-portal-body .ecim-wallet-button-image-group {
  border: 1px solid rgba(148, 163, 184, .24) !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
  padding: 16px !important;
}

body.ecim-portal-body .ecim-wallet-subsection-title {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  margin: 0 0 12px !important;
}

body.ecim-portal-body .ecim-wallet-subsection-title strong {
  color: #172033 !important;
  font-size: 13px !important;
  letter-spacing: .02em !important;
}

body.ecim-portal-body .ecim-wallet-subsection-title span {
  color: #64748b !important;
  font-size: 12px !important;
}

body.ecim-portal-body .ecim-wallet-button-image-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.ecim-portal-body .ecim-wallet-button-image-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  border: 1px solid rgba(203, 213, 225, .86) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  padding: 12px !important;
  min-width: 0 !important;
}

body.ecim-portal-body .ecim-wallet-button-image-head {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

body.ecim-portal-body .ecim-wallet-button-image-head span {
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

body.ecim-portal-body .ecim-wallet-button-image-head small {
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

body.ecim-portal-body .ecim-wallet-button-image-row {
  display: grid !important;
  grid-template-columns: 176px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

body.ecim-portal-body .ecim-wallet-button-image-preview {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
  border: 1px dashed rgba(148, 163, 184, .65) !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  overflow: hidden !important;
  padding: 8px !important;
}

body.ecim-portal-body .ecim-wallet-button-image-preview img {
  display: block !important;
  max-width: 156px !important;
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

body.ecim-portal-body .ecim-wallet-button-image-preview.is-empty span {
  color: #94a3b8 !important;
  font-size: 12px !important;
  text-align: center !important;
}

body.ecim-portal-body .ecim-wallet-button-image-controls {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.ecim-portal-body .ecim-wallet-button-image-controls input {
  width: 100% !important;
  min-width: 0 !important;
}

body.ecim-portal-body .ecim-wallet-button-image-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

body.ecim-portal-body .ecim-wallet-button-image-actions .ecim-secondary {
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 10px !important;
}

@media (max-width: 1100px) {
  body.ecim-portal-body .ecim-wallet-google-layout,
  body.ecim-portal-body .ecim-wallet-google-fields,
  body.ecim-portal-body .ecim-wallet-button-image-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  body.ecim-portal-body .ecim-wallet-button-image-row {
    grid-template-columns: 1fr !important;
  }
}

/* ECIM v1.2.416.49 — Claude-inspired Google Wallet configuration layout */
body.ecim-portal-body .ecim-wallet-google-layout-v49 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 330px) !important;
  gap: 22px !important;
  align-items: start !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-google-config-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow: hidden !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-section-head {
  padding-bottom: 18px !important;
  border-bottom: 1px solid rgba(226, 232, 240, .9) !important;
  margin-bottom: 0 !important;
}

body.ecim-portal-body .ecim-wallet-config-section {
  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(226, 232, 240, .9) !important;
}

body.ecim-portal-body .ecim-wallet-config-section:last-of-type {
  border-bottom: 0 !important;
}

body.ecim-portal-body .ecim-wallet-config-section .ecim-wallet-subsection-title {
  margin-bottom: 14px !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-google-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 16px !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-button-image-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-button-image-group {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-setup-chips {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 10px !important;
  margin-top: 0 !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-managed-note {
  margin-top: 18px !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-diagnostics-card {
  position: sticky !important;
  top: 18px !important;
  align-self: start !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-diagnostics-card .ecim-wallet-section-head {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 14px !important;
}

body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-action-stack button {
  width: 100% !important;
}

@media (max-width: 1180px) {
  body.ecim-portal-body .ecim-wallet-google-layout-v49 {
    grid-template-columns: 1fr !important;
  }
  body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-diagnostics-card {
    position: static !important;
  }
}

@media (max-width: 760px) {
  body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-google-fields,
  body.ecim-portal-body .ecim-wallet-google-layout-v49 .ecim-wallet-button-image-grid {
    grid-template-columns: 1fr !important;
  }
}
