.crm-body [hidden] {
  display: none !important;
}

.crm-shell {
  width: var(--shell);
  max-width: none;
}

.crm-login {
  position: relative;
  width: min(540px, 100%);
  margin: clamp(24px, 6vh, 76px) auto 0;
  overflow: hidden;
  padding: clamp(26px, 5vw, 52px);
  border-color: #c9d9e4;
  background: linear-gradient(145deg, #fff 0%, #fbfff4 100%);
  box-shadow: 0 34px 90px rgba(16,33,54,.14);
}

.crm-login::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 7px;
  background: linear-gradient(90deg, #6eaf18, var(--crm-lime), #d8ff9c);
}

.crm-login-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

.crm-login-heading > div { min-width: 0; }
.crm-login-heading h1 { margin-bottom: 0; }
.crm-login-icon {
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border-radius: 17px;
  background: #efffda;
  font-size: 23px;
}

.crm-login > p {
  max-width: 620px;
  margin: 20px 0 0;
  color: var(--crm-muted);
  font-size: 16px;
  line-height: 1.6;
}

.crm-login-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 20px;
}

.crm-login-features span {
  position: relative;
  padding: 12px 12px 12px 34px;
  border: 1px solid #dce7d0;
  border-radius: 12px;
  background: rgba(247,255,238,.9);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}

.crm-login-features span::before {
  content: "✓";
  position: absolute;
  left: 12px;
  top: 12px;
  color: #5d9f0d;
  font-weight: 900;
}

.crm-login form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--crm-line);
}

.crm-login input { min-height: 54px; }
.crm-login button { min-width: 190px; min-height: 54px; }

.crm-footer-internal {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 6px 10px !important;
  border: 1px solid rgba(184,255,90,.28);
  border-radius:12px;
  color: #dfffb7 !important;
}

.crm-footer-internal:hover,
.crm-footer-internal:focus-visible {
  border-color: var(--crm-lime);
  background: rgba(184,255,90,.1);
}

.crm-grid-three.crm-research-grid {
  grid-template-columns: minmax(210px, 1.15fr) minmax(180px, 1fr) minmax(180px, .8fr) auto;
}

.crm-audit-run-card {
  border-color: #bddd96;
  background: linear-gradient(135deg,#fff 0%,#f7ffed 100%);
}

.crm-audit-run-form {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 12px;
  margin-top: 18px;
}

.crm-audit-run-form label { margin: 0; }
.crm-audit-run-form button { min-width: 230px; }
.crm-audit-run-form button:disabled { cursor: not-allowed; opacity: .48; }

.crm-body .crm-card select {
  min-height: 48px;
  padding: 12px 46px 12px 15px;
  border-color: #bdccd8;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23102136' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-position: right 15px center;
  background-repeat: no-repeat;
  color: var(--crm-ink);
  font-weight: 760;
  appearance: none;
  cursor: pointer;
}

.crm-body .crm-card select:hover { border-color: #8195a7; }
.crm-body .crm-card select:focus {
  border-color: #78b92a;
  outline: none;
  box-shadow: 0 0 0 3px rgba(173,255,79,.28);
}
.crm-body .crm-card select option {
  background: #fff;
  color: var(--crm-ink);
  font-weight: 650;
}

.crm-native-multiselect {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.crm-multiselect {
  position: relative;
  width: 100%;
}

.crm-multiselect-button {
  display: grid;
  grid-template-columns: minmax(0,1fr) 18px;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 15px;
  border: 1px solid #bdccd8;
  border-radius: 12px;
  background: #fff;
  color: var(--crm-ink);
  font: inherit;
  font-weight: 760;
  text-align: left;
  cursor: pointer;
}

.crm-multiselect-button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-multiselect-button i {
  width: 18px;
  height: 18px;
  background: center/18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23102136' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
}

.crm-multiselect-button:hover { border-color: #8195a7; }
.crm-multiselect-button:focus {
  border-color: #78b92a;
  outline: none;
  box-shadow: 0 0 0 3px rgba(173,255,79,.28);
}

.crm-multiselect.is-disabled { opacity: .55; }
.crm-multiselect.is-disabled .crm-multiselect-button { cursor: not-allowed; }

.crm-multiselect-panel {
  position: absolute;
  z-index: 80;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: none;
  max-height: 280px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #cbd9df;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(16,33,54,.16);
}

.crm-multiselect.is-open .crm-multiselect-panel { display: grid; gap: 4px; }

.crm-multiselect-panel label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  margin: 0;
  padding: 7px 9px;
  border-radius: 10px;
  color: var(--crm-ink);
  font-size: 13px;
  font-weight: 780;
  cursor: pointer;
}

.crm-multiselect-panel label:hover { background: #f1fbe8; }
.crm-multiselect-panel label.is-all { border-bottom: 1px solid #e3edf1; border-radius: 10px 10px 6px 6px; }
.crm-multiselect-panel input { width: 14px; height: 14px; margin: 0; accent-color: #95ef35; }

.crm-body .crm-title-row,
.crm-list article {
  align-items: center;
}

.crm-session-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.crm-logout-button {
  min-height: 40px;
  padding: 8px 14px !important;
  border: 1px solid var(--crm-border) !important;
  background: #fff !important;
  color: var(--crm-ink) !important;
  box-shadow: none !important;
}

.crm-logout-button:hover,
.crm-logout-button:focus-visible {
  border-color: var(--crm-ink) !important;
  transform: none !important;
}

.crm-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 18px 0 0;
}

.crm-pagination[hidden] { display: none !important; }

.crm-pagination button {
  min-width: 42px;
  min-height: 40px;
  padding: 8px 12px !important;
  border: 1px solid var(--crm-border) !important;
  background: #fff !important;
  color: var(--crm-ink) !important;
  box-shadow: none !important;
}

.crm-pagination button[aria-current="page"] {
  border-color: var(--crm-ink) !important;
  background: var(--crm-ink) !important;
  color: #fff !important;
}

.crm-pagination button:disabled { opacity: .42; }

.crm-pagination .crm-page-summary {
  color: var(--crm-muted);
  font-size: 13px;
  font-weight: 700;
}

.crm-notice-stack {
  position: fixed;
  z-index: 300;
  top: 92px;
  right: 22px;
  display: grid;
  width: min(420px, calc(100vw - 32px));
  gap: 10px;
  pointer-events: none;
}

.crm-overlay-notice {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 28px;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  transform: translateY(-10px);
  border: 1px solid #bddd96;
  border-radius: 14px;
  background: rgba(248,255,239,.98);
  box-shadow: 0 18px 46px rgba(16,33,54,.18);
  opacity: 0;
  pointer-events: auto;
  transition: opacity .18s ease, transform .18s ease;
}

.crm-overlay-notice.visible { transform: translateY(0); opacity: 1; }
.crm-overlay-notice.error { border-color: #edb9b5; background: rgba(255,245,244,.98); }
.crm-overlay-notice > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--crm-lime); font-weight: 900; }
.crm-overlay-notice.is-busy > span {
  background: transparent;
  border: 3px solid #d8efbc;
  border-top-color: #65b920;
  animation: crm-notice-spin .8s linear infinite;
}
@keyframes crm-notice-spin { to { transform: rotate(360deg); } }
.crm-overlay-notice.error > span { color: #fff; background: var(--crm-red); }
.crm-overlay-notice p { margin: 0; font-size: 14px; font-weight: 750; line-height: 1.4; }
.crm-overlay-notice button { min-height: 28px !important; padding: 0 !important; background: transparent !important; font-size: 22px; box-shadow: none !important; }

.crm-company-source-card,
.crm-company-scheduler-card { background: rgba(255,255,255,.96); }
.crm-country-switch { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.crm-country-switch button { min-height:42px; border:1px solid var(--crm-border) !important; background:#fff !important; color:var(--crm-ink) !important; box-shadow:none !important; }
.crm-country-switch button.active { border-color:var(--crm-ink) !important; background:var(--crm-ink) !important; color:#fff !important; }
.crm-company-subtabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.crm-company-subtabs button { min-height:38px; padding:8px 13px !important; border:1px solid var(--crm-line) !important; border-radius:10px !important; background:#fff !important; color:var(--crm-ink) !important; box-shadow:none !important; font-size:13px !important; }
.crm-company-subtabs button.active { border-color:var(--crm-ink) !important; background:var(--crm-ink) !important; color:#fff !important; }
.crm-company-filter-grid { display:grid; grid-template-columns:minmax(220px,1.25fr) minmax(180px,.8fr) minmax(140px,.55fr) minmax(160px,.7fr) auto; align-items:end; gap:10px; margin-top:4px; }
.crm-company-filter-grid label { margin-top:14px; }
.crm-company-scheduler-card { border-color:#bddd96; background:linear-gradient(135deg,#fff,#f7ffed); }
.crm-canton-fieldset { margin:18px 0 0; padding:18px 18px 14px; overflow:hidden; border:1px solid #d5e4c4; border-radius:18px; background:linear-gradient(180deg,#fcfef9 0%,#f5f9ef 100%); box-shadow:0 10px 24px rgba(35,52,24,.06); }
.crm-canton-fieldset legend { padding:0 8px; font-size:13px; font-weight:850; }
.crm-canton-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(176px,1fr)); gap:10px; }
.crm-canton-card { display:grid; grid-template-rows:auto auto; gap:10px; min-height:74px; margin:0; padding:11px 12px; border:1px solid #dce7d0; border-radius:14px; background:#fff; cursor:pointer; line-height:1.1; box-shadow:0 4px 12px rgba(31,45,18,.05); transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease; }
.crm-canton-card:hover { border-color:#b6cd8f; box-shadow:0 10px 20px rgba(38,63,14,.10); transform:translateY(-1px); }
.crm-canton-top { display:flex; align-items:center; min-width:0; gap:8px; }
.crm-canton-grid input { width:auto; margin:0; accent-color:#6da522; }
.crm-canton-card:has(input:checked) { border-color:#79b62d; background:linear-gradient(180deg,#f6ffe8 0%,#eaf8cf 100%); box-shadow:0 10px 22px rgba(90,130,22,.13); }
.crm-canton-code { display:flex; align-items:center; flex:0 0 auto; gap:7px; color:#1e2a14; font-size:18px; font-weight:900; }
.crm-canton-name { min-width:0; overflow:hidden; color:#66777d; font-size:10px; font-weight:750; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.crm-canton-url-stats { display:flex; align-items:center; min-width:0; min-height:25px; color:#53656f; font-size:11px; font-weight:800; line-height:1.2; white-space:nowrap; }
.crm-canton-stats-line { display:flex; align-items:center; width:100%; min-width:0; gap:5px; }
.crm-canton-stat { display:inline-flex; align-items:baseline; min-width:0; gap:3px; padding:4px 7px; border-radius:999px; background:#f2f6ed; }
.crm-canton-stat strong { color:#223116; font-size:12px; font-weight:900; font-variant-numeric:tabular-nums; }
.crm-canton-stat span { font-size:9px; font-weight:850; text-transform:uppercase; }
.crm-canton-stat.is-with-url { color:#315706; background:#ecf8dd; }
.crm-canton-stat.is-without-url { color:#51646e; background:#f1f5f8; }
.crm-canton-dot { color:#94a3ab; font-weight:900; }
.crm-canton-sync { margin-left:auto; flex:0 0 auto; color:#6a8f20; font-size:12px; animation:crm-canton-spin 1.6s linear infinite; }
.crm-canton-pending { min-width:0; overflow:hidden; color:#566a74; font-size:10px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.crm-canton-card:has(input:checked) .crm-canton-name,
.crm-canton-card:has(input:checked) .crm-canton-pending { color:#46631a; }
.crm-canton-scrollbar { display:none; position:relative; height:12px; margin-top:10px; border-radius:999px; background:#e4ebdc; box-shadow:inset 0 1px 3px rgba(34,54,18,.14); touch-action:none; }
.crm-canton-scrollbar span { position:absolute; top:2px; left:0; height:8px; min-width:46px; border-radius:999px; background:linear-gradient(90deg,#6d9f25,#9bc951); box-shadow:0 1px 3px rgba(36,68,10,.22); cursor:grab; will-change:transform,width; }
.crm-canton-scrollbar span:active { cursor:grabbing; }
@keyframes crm-canton-spin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }

@media (max-width: 767.98px) {
  .crm-canton-fieldset { padding:15px 13px 12px; }
  .crm-canton-grid {
    grid-template-columns:none;
    grid-template-rows:repeat(3,74px);
    grid-auto-flow:column;
    grid-auto-columns:162px;
    gap:8px;
    width:100%;
    overflow-x:scroll;
    overflow-y:hidden;
    padding:2px 1px 10px;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .crm-canton-grid::-webkit-scrollbar { width:0; height:0; }
  .crm-canton-card { min-height:74px; padding:10px; scroll-snap-align:start; }
  .crm-canton-name { font-size:9px; }
  .crm-canton-stat { padding:4px 6px; }
  .crm-canton-scrollbar { display:block; }
  .crm-canton-scrollbar:not(.is-active) { opacity:.45; }
}
.crm-company-scheduler-grid { display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)); gap:10px; }
.crm-company-switches { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.crm-company-switches label { display:flex; align-items:center; gap:8px; margin:0; padding:10px 12px; border:1px solid var(--crm-line); border-radius:11px; background:#fff; }
.crm-company-switches input { width:auto; }
.crm-company-scheduler-actions { display:grid; gap:12px; margin-top:14px; }
.crm-company-scheduler-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.crm-company-scheduler-actions button { min-height:38px; padding:7px 12px !important; margin-top:0 !important; font-size:13px !important; }
.crm-company-scheduler-actions .crm-scheduler-cancel { background:#fff2f0; border:1px solid #ef9b91; color:#a42016; box-shadow:none; }
.crm-company-scheduler-actions .crm-scheduler-cancel:hover { background:#ffe5e1; }
.crm-company-url-import-card { border-color:#cfe1ec; background:linear-gradient(135deg,#fff,#f7fbff); }
.crm-url-import-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:18px; align-items:start; }
.crm-url-import-grid h3 { margin:0 0 10px; font-size:17px; }
.crm-url-export-scope { margin:0 0 10px; color:#40536a; font-size:13px; line-height:1.35; font-weight:800; }
.crm-check-row { display:flex!important; align-items:center; gap:8px; margin:0 0 12px!important; }
.crm-check-row input { width:auto!important; }
.crm-url-import-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.crm-url-import-actions button,.crm-company-url-import-card>button { min-height:38px!important; padding:8px 13px!important; font-size:13px!important; }
.crm-url-import-summary { display:flex; flex-wrap:wrap; gap:8px; align-items:stretch; }
.crm-url-import-summary span { display:block; min-width:118px; padding:8px 10px; border:1px solid #d6e0e8; border-radius:10px; background:#fff; color:#40536a; line-height:1.25; }
.crm-url-import-summary strong { display:block; font-size:17px; line-height:1.05; color:var(--crm-ink); }
.crm-url-import-sample { margin:10px 0 0; padding-left:18px; color:#40536a; }
#companyUrlImportStatus { margin-top:14px; padding:12px; border:1px solid #d6e0e8; border-radius:12px; background:#f8fbfd; }
#companyUrlImportStatus p { margin:8px 0 0; font-weight:800; color:var(--crm-ink); }
#companyUrlImportStatus .crm-url-import-hint { padding:10px 12px; border:1px solid #f2c670; border-radius:10px; background:#fff8e6; color:#7a4d00; }
#companyUrlImportStatus .crm-url-download-button { margin-top:12px; }
.crm-url-import-progress { margin-top:14px; padding:12px; border:1px solid #d6e0e8; border-radius:12px; background:#fff; }
.crm-url-import-progress>div { display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; color:#40536a; font-size:13px; font-weight:850; }
.crm-url-import-progress progress { width:100%; height:12px; accent-color:#8bc63f; }
.crm-url-import-progress.is-busy progress { animation:crm-progress-pulse 1.1s ease-in-out infinite; }
@keyframes crm-progress-pulse { 0%,100%{opacity:.55} 50%{opacity:1} }
.crm-scheduler-status { display:grid; gap:10px; padding:13px 14px; border:1px solid #d5e4c4; border-radius:13px; background:rgba(255,255,255,.88); color:var(--crm-ink); }
.crm-scheduler-status:empty { display:none; }
.crm-scheduler-status-head { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.crm-scheduler-state { display:inline-flex; align-items:center; gap:7px; padding:5px 9px; border-radius:12px; background:#edf5e5; color:#3d6719; font-size:12px; font-weight:850; }
.crm-scheduler-state::before { content:''; width:8px; height:8px; border-radius:50%; background:#75b82d; }
.crm-scheduler-status.is-running .crm-scheduler-state::before { animation:crm-scheduler-pulse 1.2s ease-in-out infinite; }
.crm-scheduler-status.is-error .crm-scheduler-state { background:#fff0ee; color:#a12626; }
.crm-scheduler-status.is-error .crm-scheduler-state::before { background:#d83c31; }
.crm-scheduler-status.is-warning .crm-scheduler-state { background:#fff6d9; color:#7a4d00; }
.crm-scheduler-status.is-warning .crm-scheduler-state::before { background:#f2a900; }
.crm-scheduler-status-time { color:var(--crm-muted); font-size:12px; font-weight:700; }
.crm-scheduler-current { display:flex; align-items:center; gap:9px; min-width:0; padding:10px 12px; border-left:3px solid #83c739; border-radius:8px; background:#f5ffe9; font-size:13px; line-height:1.4; }
.crm-scheduler-current strong { color:#365d14; white-space:nowrap; }
.crm-scheduler-current span { min-width:0; overflow-wrap:anywhere; font-weight:750; }
.crm-scheduler-live-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:8px 12px; min-width:0; padding:10px 12px; border-left:3px solid #83c739; border-radius:8px; background:#f5ffe9; font-size:13px; line-height:1.35; }
.crm-scheduler-live-row strong { color:#365d14; white-space:nowrap; }
.crm-scheduler-live-row > div { display:grid; gap:3px; min-width:0; }
.crm-scheduler-live-title { min-width:0; overflow-wrap:anywhere; font-weight:850; color:var(--crm-ink); }
.crm-scheduler-live-row a { min-width:0; overflow-wrap:anywhere; color:#006fc9; font-weight:800; }
.crm-scheduler-live-row small { min-width:0; overflow-wrap:anywhere; color:var(--crm-muted); font-size:11px; font-weight:700; }
.crm-scheduler-live-row.is-error { border-left-color:#e36a5e; background:#fff5f3; }
.crm-scheduler-live-error { color:#a12626 !important; }
.crm-scheduler-company-actions { display:flex!important; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:7px; min-width:0; }
.crm-scheduler-company-actions .crm-domain-live-dots { margin:0 16px 0 0; }
.crm-scheduler-company-actions button { min-height:32px!important; padding:5px 9px!important; border-radius:9px; box-shadow:none; font-size:11px!important; white-space:nowrap; }
.crm-scheduler-company-actions .crm-scheduler-company-cancel { border:1px solid #e8b85d; background:#fff8e7; color:#765000; }
.crm-scheduler-company-actions .crm-scheduler-company-cancel:hover { background:#ffefc7; }
.crm-scheduler-company-actions .crm-scheduler-company-delete { border:1px solid #e3948c; background:#fff0ee; color:#a42016; }
.crm-scheduler-company-actions .crm-scheduler-company-delete:hover { background:#ffe0dc; }
.crm-scheduler-company-actions small { color:#765000; font-weight:850; }
.crm-scheduler-metrics { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }
.crm-scheduler-metric { padding:9px 10px; border:1px solid #e0e8d8; border-radius:9px; background:#fbfdf9; }
.crm-scheduler-metric strong { display:block; font-size:17px; line-height:1; color:var(--crm-ink); }
.crm-scheduler-metric span { display:block; margin-top:5px; color:var(--crm-muted); font-size:10px; font-weight:800; line-height:1.2; text-transform:uppercase; letter-spacing:.025em; }
.crm-scheduler-metric.is-error { border-color:#efb7b7; background:#fff4f3; }
.crm-scheduler-metric.is-error strong,.crm-scheduler-metric.is-error span { color:#a12626; }
.crm-scheduler-next { color:var(--crm-muted); font-size:11px; font-weight:700; }
@keyframes crm-scheduler-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(117,184,45,.35); } 50% { box-shadow:0 0 0 5px rgba(117,184,45,0); } }
@media (max-width: 1100px) { .crm-scheduler-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.crm-domain-live-dots { display:inline-flex; align-items:center; gap:4px; margin-left:8px; vertical-align:middle; }
.crm-domain-live-dots i { width:6px; height:6px; border-radius:50%; background:#64ba20; animation:crm-domain-dot 1.05s ease-in-out infinite; }
.crm-domain-live-dots i:nth-child(2) { animation-delay:.14s; }
.crm-domain-live-dots i:nth-child(3) { animation-delay:.28s; }
@keyframes crm-domain-dot { 0%,70%,100% { opacity:.28; transform:translateY(0); } 35% { opacity:1; transform:translateY(-3px); } }
.crm-company-summary { margin:0 0 12px; color:var(--crm-muted); font-size:14px; font-weight:700; }
.crm-company-list { display:grid; gap:12px; }
.crm-company-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; padding:18px 20px; border:1px solid var(--crm-line); border-radius:16px; background:#fff; }
.crm-company-item.has-valid-domain { border-color:#9dcd64; box-shadow:0 10px 30px rgba(69,118,15,.08); }
.crm-company-item h3 { margin:0 0 5px; font-size:18px; }
.crm-company-location,.crm-company-register,.crm-company-website { margin:3px 0; color:var(--crm-muted); font-size:14px; line-height:1.45; }
.crm-company-website a { color:#0563c1; text-decoration:underline; overflow-wrap:anywhere; }
.crm-company-website.is-missing { font-size:12px; }
#batchRecipientsHint { display:none !important; }
.crm-table-action { min-height:34px; padding:6px 10px; border:1px solid #df9b9b; border-radius:8px; background:#fff7f7; color:#8b2222; font-size:12px; white-space:nowrap; }
.crm-company-domain-status { margin:9px 0 0; padding:8px 10px; border:1px solid #d7e2e8; border-radius:9px; background:#f6f9fb; color:#486078; font-size:12px; line-height:1.4; }
.crm-company-domain-status strong { color:var(--crm-ink); }
.crm-company-domain-status small { display:block; margin-top:4px; color:#a12626; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.crm-company-domain-status.is-running { border-color:#a8d66f; background:#f5ffe9; }
.crm-company-domain-status.is-complete { border-color:#c6dcad; background:#f9fff4; }
.crm-company-domain-status.is-error { border-color:#efb7b7; background:#fff3f3; }
.crm-company-domain-status.is-idle { color:#657586; }
.crm-company-list {
  gap: 0;
  overflow: hidden;
  border: 1px solid #d4e0e6;
  border-radius: 14px;
  background: #fff;
}
.crm-company-item {
  grid-template-columns: minmax(0, 1fr) 230px;
  gap: 16px;
  padding: 13px 15px 13px 17px;
  border: 0;
  border-bottom: 1px solid #e1e8ec;
  border-radius: 0;
  background: #fff;
  box-shadow: inset 3px 0 0 #dbe4e9;
}
.crm-company-item:last-child { border-bottom: 0; }
.crm-company-item:nth-child(even) { background: #fbfcfd; }
.crm-company-item.has-valid-domain { border-color:#e1e8ec; box-shadow:inset 3px 0 0 #8bc63f; }
.crm-company-item.is-processing { background:#f5ffe9; box-shadow:inset 5px 0 0 #79bd20,0 0 0 2px rgba(121,189,32,.18); }
.crm-company-item:hover { background:#f8fbfc; }
.crm-company-item h3 { margin-bottom:3px; font-size:16px; line-height:1.3; }
.crm-company-location,.crm-company-register,.crm-company-website { margin:2px 0; }
.crm-company-domain-status {
  max-width: 780px;
  margin-top: 7px;
  padding: 5px 0 0;
  border: 0;
  border-top: 1px solid #e4eaed;
  border-radius: 0;
  background: transparent;
}
.crm-company-domain-status.is-running { border-top-color:#a8d66f; background:transparent; }
.crm-company-domain-status.is-complete { border-top-color:#c6dcad; background:transparent; }
.crm-company-domain-status.is-error { border-top-color:#efb7b7; background:transparent; }
.crm-company-tags { margin-top:6px; }
.crm-company-tags span { padding:3px 7px; font-size:10px; }
.crm-company-actions { align-self:center; gap:6px; }
.crm-company-actions button { min-height:34px; padding:6px 10px; }
.crm-company-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.crm-company-tags span { padding:5px 8px; border-radius:12px; background:#edf2f5; font-size:11px; font-weight:850; }
.crm-company-tags .active { background:#ddffc0; color:#2d6800; }
.crm-company-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:nowrap; max-width:none; }
.crm-company-actions button { min-height:36px; padding:0 10px !important; border-radius:10px !important; font-size:13px !important; line-height:1.2; white-space:nowrap; }
.crm-company-actions .crm-company-toggle { border:1px solid #9dc870 !important; background:#efffdb !important; }
.crm-company-actions .crm-company-toggle.is-active { border-color:#d8a4a1 !important; background:#fff1ef !important; color:#8e201c !important; }
.crm-company-actions button:disabled { opacity:.45; cursor:not-allowed; }
.crm-company-empty { padding:24px; border:1px solid var(--crm-line); border-radius:16px; background:#fff; color:var(--crm-muted); text-align:center; }

@media (max-width: 1180px) {
  .crm-company-scheduler-grid { grid-template-columns:repeat(3,minmax(150px,1fr)); }
  .crm-url-import-grid { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  .crm-audit-run-form { grid-template-columns: 1fr; }
  .crm-audit-run-form button { width: 100%; min-width: 0; }
  .crm-session-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .crm-logout-button { width: 100%; }

  .crm-pagination {
    justify-content: space-between;
  }

  .crm-pagination .crm-page-summary {
    text-align: center;
  }
  .crm-company-filter-grid,.crm-company-scheduler-grid { grid-template-columns:1fr; }
  .crm-company-scheduler-actions,.crm-company-item { grid-template-columns:1fr; display:grid; }
  .crm-company-scheduler-buttons { display:grid; grid-template-columns:1fr; }
  .crm-company-scheduler-buttons button { width:100%; }
  .crm-scheduler-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crm-scheduler-current { align-items:flex-start; flex-wrap:wrap; }
  .crm-scheduler-current strong { width:100%; }
  .crm-scheduler-live-row { grid-template-columns:1fr; }
  .crm-scheduler-live-row strong { white-space:normal; }
  .crm-scheduler-company-actions { justify-content:flex-start; }
  .crm-company-actions { max-width:none; justify-content:stretch; }
  .crm-company-actions button { width:100%; }
}

.crm-tabs {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 7px;
  overflow: visible;
}

.crm-tabs button {
  flex: 1 1 auto;
  width: auto;
  position: relative;
  min-height: 52px;
  padding: 9px 12px 9px 42px;
  border-radius: 11px !important;
  font-size: 14px !important;
  line-height: 1.25;
  text-align: left;
  white-space: normal;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.crm-tabs button::before {
  position: absolute;
  left: 10px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  border-radius: 8px;
  background: #edf2f5;
  color: var(--crm-muted);
  font-size: 11px;
  font-weight: 900;
}

.crm-tabs button[data-tab="companies"]::before { content: "01"; }
.crm-tabs button[data-tab="contacts"]::before { content: "02"; }
.crm-tabs button[data-tab="compose"]::before { content: "03"; }
.crm-tabs button[data-tab="batch"]::before { content: "04"; }
.crm-tabs button[data-tab="history"]::before { content: "05"; }
.crm-tabs button[data-tab="followups"]::before { content: "06"; }
.crm-tabs button[data-tab="archive"]::before { content: "07"; }
.crm-tabs button[data-tab="suppressions"]::before { content: "08"; }

.crm-tabs button.active {
  transform: translateY(-2px);
  border-color: var(--crm-ink);
  box-shadow: 0 12px 28px rgba(16,33,54,.14);
}

.crm-tabs button.active::before {
  background: var(--crm-lime);
  color: var(--crm-ink);
}

.crm-tabs button:disabled {
  cursor: not-allowed;
  opacity: .46;
}

.crm-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.crm-contacts-toolbar {
  display: flex;
  justify-content: flex-end;
}

.crm-contacts-toolbar button {
  min-height: 38px;
  margin: 0 0 10px;
  padding: 0 16px;
}

.crm-contacts-toolbar button[hidden] {
  display: none;
}
.crm-panel[data-panel="batch"] > .crm-card:first-child { padding-top:18px; padding-bottom:18px; }
.crm-batch-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(310px,.62fr); gap:14px; align-items:start; }
.crm-batch-layout > .crm-card { padding:20px; }
.crm-batch-layout .crm-card-heading { margin-bottom:14px; }
.crm-batch-layout .crm-card-heading p { margin-top:5px; font-size:14px; }
.crm-batch-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 12px; }
.crm-batch-filters,.crm-batch-page-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.crm-batch-page-actions { display:none !important; }
.crm-audit-live-progress { margin-top:8px; padding:8px 10px; border:1px solid #b9df87; border-radius:9px; background:#f6ffe9; }
.crm-audit-live-progress > div { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; font-size:11px; color:#28430c; }
.crm-audit-live-progress progress { display:block; width:100%; height:8px; overflow:hidden; border:0; border-radius:12px; background:#dfead2; accent-color:#78c719; }
.crm-audit-live-progress progress::-webkit-progress-bar { background:#dfead2; border-radius:12px; }
.crm-audit-live-progress progress::-webkit-progress-value { background:linear-gradient(90deg,#72bd17,#adff4f); border-radius:12px; transition:width .35s ease; }
.crm-audit-live-progress progress::-moz-progress-bar { background:linear-gradient(90deg,#72bd17,#adff4f); border-radius:12px; }
.crm-batch-filters button,.crm-batch-page-actions button { min-height:34px; padding:6px 11px !important; border-radius:9px !important; font-size:12px !important; box-shadow:none !important; }
.crm-batch-filters button { border:1px solid #d4e0e6 !important; background:#fff !important; color:var(--crm-ink) !important; }
.crm-batch-filters button.active { border-color:var(--crm-ink) !important; background:var(--crm-ink) !important; color:#fff !important; }
.crm-batch-recipients {
  display:grid;
  gap:0;
  overflow:hidden;
  border:1px solid #d4e0e6;
  border-radius:13px;
  background:#fff;
}
.crm-batch-company { border:0; border-bottom:1px solid #dfe7eb; border-radius:0; background:#fff; overflow:hidden; }
.crm-batch-company:last-child { border-bottom:0; }
.crm-batch-company:nth-child(even) { background:#fbfcfd; }
.crm-batch-company summary { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; cursor:pointer; padding:12px 42px 12px 14px; list-style:none; }
.crm-batch-company summary::-webkit-details-marker { display:none; }
.crm-batch-company summary span { display:grid; gap:2px; }
.crm-batch-company summary small { color:var(--crm-muted); font-size:12px; }
.crm-batch-company summary::after {
  content:"+";
  position:absolute;
  top:50%;
  right:14px;
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  transform:translateY(-50%);
  border-radius:50%;
  background:#edf3f5;
  color:var(--crm-ink);
  font-weight:900;
}
.crm-batch-company[open] summary { background:#f5f9fa; }
.crm-batch-company[open] summary::after { content:"−"; }
.crm-batch-state { padding:5px 8px; border-radius:12px; font-size:10px; font-weight:900; line-height:1; white-space:nowrap; }
.crm-batch-state.is-open { background:#e9ffd1; color:#366b00; }
.crm-batch-state.is-partial { background:#fff0c8; color:#805800; }
.crm-batch-state.is-sent { background:#e9eef2; color:#506273; }
.crm-batch-state.is-no_email { background:#eef3f6; color:#71818e; }
.crm-batch-company > div { border-top:1px solid #dfe7eb; background:#fff; }
.crm-batch-contact { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; padding:11px 14px; border-bottom:1px solid var(--crm-line); }
.crm-batch-contact:last-child { border-bottom:0; }
.crm-batch-contact > span { display:grid; gap:2px; }
.crm-batch-contact small { color:var(--crm-muted); font-size:13px; line-height:1.35; overflow-wrap:anywhere; }
.crm-batch-contact em { max-width:260px; color:#4b6d21; font-size:11px; font-style:normal; text-align:right; overflow-wrap:anywhere; }
.crm-batch-contact em.error { color:#a12626; }
.crm-batch-contact.is-disabled { opacity:.58; }
.crm-batch-release { position:sticky; top:90px; display:grid; gap:9px; }
.crm-batch-release h3 { margin-bottom:5px; }
.crm-batch-release > label { display:grid; grid-template-columns:auto 1fr; gap:9px; align-items:start; margin:0; padding:10px 0; border:0; border-bottom:1px solid var(--crm-line); border-radius:0; background:transparent; font-weight:750; }
.crm-batch-release > label:last-of-type { border-bottom:0; }
.crm-batch-release > button { width:100%; }
.crm-batch-pagination { margin-top:14px; }

.crm-card-heading h2,
.crm-card-heading p {
  margin-left: 0;
  margin-right: 0;
}

.crm-card-heading p {
  margin-bottom: 0;
  color: var(--crm-muted);
}

#researchText { display: none; }

.crm-card-step {
  display: block;
  margin-bottom: 6px;
  color: #548d0c;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
}

.crm-safety-badge {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid #c7e59f;
  border-radius:12px;
  background: #f4ffe7;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.crm-research-progress {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid #bddb98;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fff0, #eef7fb);
}

.crm-progress-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.crm-progress-head strong,
.crm-progress-head small {
  display: block;
}

.crm-progress-head small,
.crm-progress-time {
  color: var(--crm-muted);
}

.crm-progress-spinner {
  width: 30px;
  height: 30px;
  border: 3px solid #d7e5c7;
  border-top-color: #64a90b;
  border-radius: 50%;
  animation: crm-spin .8s linear infinite;
}

.crm-research-progress.complete .crm-progress-spinner {
  display: grid;
  place-items: center;
  border: 0;
  background: var(--crm-lime);
  animation: none;
}

.crm-research-progress.complete .crm-progress-spinner::after { content: "✓"; font-weight: 900; }
.crm-research-progress.error .crm-progress-spinner { border-color: #f2c5c1; border-top-color: var(--crm-red); }

.crm-progress-track {
  height: 8px;
  margin: 14px 0;
  overflow: hidden;
  border-radius:12px;
  background: #dfe8eb;
}

.crm-progress-track progress {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: inherit;
  overflow: hidden;
  appearance: none;
  background: transparent;
}
.crm-progress-track progress::-webkit-progress-bar { background: transparent; }
.crm-progress-track progress::-webkit-progress-value { background: linear-gradient(90deg, #73bc15, var(--crm-lime)); transition: width .35s ease; }
.crm-progress-track progress::-moz-progress-bar { background: linear-gradient(90deg, #73bc15, var(--crm-lime)); }

.crm-progress-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}

.crm-progress-steps li {
  position: relative;
  padding: 9px 8px 9px 28px;
  border-radius: 9px;
  color: var(--crm-muted);
  background: rgba(255,255,255,.72);
  font-size: 11px;
  line-height: 1.35;
}

.crm-progress-steps li::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 13px;
  width: 8px;
  height: 8px;
  border: 2px solid #aebbc5;
  border-radius: 50%;
}

.crm-progress-steps li.active,
.crm-progress-steps li.done { color: var(--crm-ink); font-weight: 750; }

.crm-live-details {
  margin: 12px 0 10px;
  padding: 13px 14px;
  border: 1px solid #d7e2e8;
  border-radius: 12px;
  background: rgba(255,255,255,.78);
}

.crm-live-details > strong {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.crm-live-details ol {
  display: grid;
  gap: 6px;
  max-height: 340px;
  margin: 0;
  padding: 0;
  overflow: auto;
  list-style: none;
}

.crm-live-details li {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  gap: 10px;
  color: var(--crm-ink);
  font-size: 13px;
  line-height: 1.4;
}

.crm-live-details time { color: var(--crm-muted); font-variant-numeric: tabular-nums; }
.crm-live-sources {
  display: grid;
  gap: 6px;
  margin: 7px 0 2px !important;
  padding: 0 !important;
  list-style: none;
}
.crm-live-details .crm-live-sources li {
  display: grid;
  grid-template-columns: minmax(130px,.42fr) minmax(0,1fr);
  gap: 2px 10px;
  padding: 7px 9px;
  border: 1px solid #e1e9ed;
  border-radius: 9px;
  background: #f8fbfc;
  font-size: 12px;
}
.crm-live-sources li > span { color: var(--crm-muted); font-weight: 700; }
.crm-live-sources a { min-width: 0; color: #075eb5; font-weight: 750; overflow-wrap: anywhere; }
.crm-live-sources small { grid-column: 2; color: var(--crm-muted); overflow-wrap: anywhere; }
.crm-contact-email { margin-top: 5px; color: var(--crm-ink); font-size: 13px; overflow-wrap: anywhere; }
.crm-contact-email.is-missing { color: var(--crm-muted); }
.crm-progress-steps li.active::before { border-color: #64a90b; background: var(--crm-lime); }
.crm-progress-steps li.done::before { border-color: #64a90b; background: #64a90b; }

.crm-empty-state {
  display: grid;
  justify-items: center;
  min-height: 190px;
  padding: 34px 22px;
  text-align: center;
}

.crm-empty-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 12px;
  border-radius: 16px;
  color: #4f870a;
  background: #ebffd2;
  font-size: 25px;
  font-weight: 900;
}

.crm-empty-state h3 { margin: 0 0 7px; }
.crm-empty-state p { max-width: 620px; margin: 0; color: var(--crm-muted); }

.crm-contact-cluster {
  margin-bottom: 14px;
  overflow: hidden;
  border: 1px solid var(--crm-line);
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 26px rgba(16,33,54,.045);
}

.crm-contact-cluster > summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 78px;
  padding: 16px 54px 16px 20px;
  cursor: pointer;
  list-style: none;
  transition: background .18s ease;
}

.crm-contact-cluster > summary::-webkit-details-marker { display: none; }
.crm-contact-cluster > summary:hover { background: #f6ffe9; }

.crm-contact-cluster > summary::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--crm-ink);
  border-bottom: 2px solid var(--crm-ink);
  transform: translateY(-70%) rotate(45deg);
  transition: transform .18s ease;
}

.crm-contact-cluster[open] > summary::after {
  transform: translateY(-30%) rotate(225deg);
}

.crm-contact-cluster > summary strong,
.crm-contact-cluster > summary small {
  display: block;
}

.crm-contact-cluster > summary strong {
  font-size: 18px;
  line-height: 1.25;
}

.crm-contact-cluster > summary small {
  margin-top: 5px;
  color: var(--crm-muted);
  font-size: 13px;
  line-height: 1.4;
}

.crm-cluster-count {
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  border-radius:12px;
  background: var(--crm-lime);
  font-size: 13px;
  font-weight: 900;
}

.crm-cluster-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.crm-cluster-delete {
  min-height: 36px !important;
  padding: 7px 11px !important;
  border: 1px solid rgba(181,43,43,.22) !important;
  background: #fff !important;
  color: var(--crm-red) !important;
  box-shadow: none !important;
  font-size: 12px;
}

.crm-cluster-delete:hover,
.crm-cluster-delete:focus-visible {
  border-color: var(--crm-red) !important;
  background: #fff3f2 !important;
  transform: none !important;
}

.crm-cluster-contacts {
  border-top: 1px solid var(--crm-line);
  background: #fbfcfc;
}

.crm-list .crm-contact-cluster article {
  margin: 0;
  padding: 16px 20px;
  border: 0;
  border-bottom: 1px solid var(--crm-line);
  border-radius: 0;
  background: transparent;
}

.crm-list .crm-contact-cluster article:last-child { border-bottom: 0; }

.crm-contact-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.crm-contact-type {
  padding: 4px 7px;
  border-radius:12px;
  color: #497d08;
  background: #efffdb;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.crm-table-empty {
  padding: 32px !important;
  color: var(--crm-muted);
  text-align: center !important;
}

.crm-table-status {
  display: inline-flex;
  padding: 4px 8px;
  border-radius:12px;
  background: #edf3f6;
  font-size: 11px;
  font-weight: 800;
}

#historyPanel table,
#suppressionsPanel table { font-size: 14px; }
#historyPanel th,
#historyPanel td,
#suppressionsPanel th,
#suppressionsPanel td { line-height: 1.45; }

#composePanel.active {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  align-items: start;
  gap: 16px;
}

#composePanel > .crm-card { margin-bottom: 0; }
#composePanel > .crm-card:first-child { grid-row: span 2; }
#composePanel > .crm-card::before {
  display: block;
  margin-bottom: 7px;
  color: #548d0c;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
}
#composePanel > .crm-card:nth-child(1)::before { content: "02A · NACHRICHT UND TESTANSICHT"; }
#composePanel > .crm-card:nth-child(2)::before { content: "02B · VERSANDGRUNDLAGE"; }
#composePanel > .crm-card:nth-child(3)::before { content: "02C · TEST UND FREIGABE"; }
html[lang="en"] #composePanel > .crm-card:nth-child(1)::before { content: "02A · MESSAGE AND PREVIEW"; }
html[lang="en"] #composePanel > .crm-card:nth-child(2)::before { content: "02B · DELIVERY BASIS"; }
html[lang="en"] #composePanel > .crm-card:nth-child(3)::before { content: "02C · TEST AND RELEASE"; }

.crm-send-card {
  grid-template-columns: 1fr;
  align-items: stretch;
}

.crm-send-card > button { width: 100%; }
.crm-send-hint { display: block; color: var(--crm-muted); font-size: 13px; line-height: 1.4; }
.crm-send-hint.ready { color: #497d08; font-weight: 750; }

#historyPanel .crm-table-wrap,
#suppressionsPanel .crm-table-wrap {
  box-shadow: 0 16px 42px rgba(16,33,54,.06);
}

.crm-research-progress.error .crm-progress-track progress::-webkit-progress-value { background: var(--crm-red); }
.crm-research-progress.error .crm-progress-track progress::-moz-progress-bar { background: var(--crm-red); }

.crm-preview-domain { color: #06c; font-weight: 600; text-decoration: underline; }
.crm-preview-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.crm-preview-action { display: inline-block; padding: 8px 13px; border-radius: 9px; color: #102136; font-weight: 700; text-decoration: none; }
.crm-preview-action-primary { background: #adff4f; }
.crm-preview-action-secondary { border: 1px solid #8ecb3f; background: #efffdb; }
.crm-preview-actions-paired { display:flex; flex-wrap:nowrap; align-items:center; gap:10px; }
.crm-preview-action-outline { border:1px solid #414a52; background:#fff; color:#303941; font-weight:800; }
.crm-login input[type="password"] { -webkit-text-security: disc; }
.crm-cluster-delete:not(.crm-audit-delete) { display: none; }
.crm-cluster-contacts article > button:disabled { display: none; }

@keyframes crm-spin { to { transform: rotate(360deg); } }

.crm-list article > button {
  align-self: center;
  min-width: 190px;
  min-height: 48px;
  height: auto;
  padding: 12px 18px;
}

.crm-selected:empty {
  display: none;
}

@media (max-width: 1050px) {
  .crm-batch-layout { grid-template-columns:1fr; }
  .crm-batch-release { position:static; }
  .crm-tabs { display:grid; grid-template-columns: 1fr 1fr; }
  .crm-grid-three.crm-research-grid {
    grid-template-columns: 1fr 1fr;
  }

  .crm-research-grid > button {
    width: 100%;
  }

  #composePanel.active { grid-template-columns: 1fr; }
  #composePanel > .crm-card:first-child { grid-row: auto; }
}

@media (max-width: 760px) {
  .crm-batch-toolbar { align-items:stretch; flex-direction:column; }
  .crm-batch-filters,.crm-batch-page-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .crm-batch-page-actions { grid-template-columns:1fr; }
  .crm-batch-company summary { grid-template-columns:minmax(0,1fr); }
  .crm-batch-state { justify-self:start; }
}

.crm-company-domain-override { display:grid; grid-template-columns:minmax(220px,1fr) auto; align-items:end; gap:8px; margin-top:9px; padding:9px; border:1px dashed #c9d7e0; border-radius:10px; background:#fbfdf9; }
.crm-company-domain-override label { display:grid; gap:4px; margin:0; font-size:11px; font-weight:850; color:#536476; }
.crm-company-domain-override input { width:100%; min-height:34px; padding:7px 9px; border:1px solid #c6d2dd; border-radius:9px; background:#fff; color:var(--crm-ink); font:inherit; font-size:12px; }
.crm-company-domain-override button { min-height:34px; padding:0 10px !important; border-radius:9px !important; font-size:12px !important; white-space:nowrap; }
@media (max-width: 720px) {
  .crm-company-domain-override { grid-template-columns:1fr; }
  .crm-company-domain-override button { width:100%; }
}

/* Firmenliste: ruhiger, kompakter Domain-Override */
.crm-company-item h3 { margin:0 0 4px; font-size:15px; line-height:1.28; font-weight:850; }
.crm-company-location,
.crm-company-register,
.crm-company-website { margin:2px 0; font-size:12px; line-height:1.38; }
.crm-company-domain-status { max-width:820px; margin-top:7px; padding-top:6px; font-size:11.5px; line-height:1.35; }
.crm-company-domain-status small { margin-top:3px; font-size:11.5px; line-height:1.35; }
.crm-company-domain-override {
  max-width:820px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:7px;
  margin-top:7px;
  padding:7px;
  border:1px solid #d9e5eb;
  border-radius:9px;
  background:#fbfdf9;
}
.crm-company-domain-override label { gap:3px; font-size:10.5px; line-height:1.2; letter-spacing:.01em; color:#536476; }
.crm-company-domain-override input {
  min-height:32px;
  padding:6px 9px;
  border-radius:8px;
  font-size:12px;
  font-weight:650;
}
.crm-company-domain-override button {
  min-height:32px;
  padding:0 10px !important;
  border-radius:8px !important;
  font-size:11.5px !important;
  font-weight:900 !important;
}
.crm-company-tags { margin-top:7px; gap:5px; }
.crm-company-tags span { padding:4px 7px; font-size:10.5px; line-height:1.15; }
.crm-company-actions { align-self:center; gap:7px; }
.crm-company-actions button { min-height:34px; padding:0 11px !important; font-size:12px !important; }
@media (max-width:720px) {
  .crm-company-domain-override { grid-template-columns:1fr; }
  .crm-company-domain-override button { width:100%; }
}

@media (max-width: 760px) {
  .crm-shell {
    width: var(--shell);
  }

  .crm-grid-three.crm-research-grid {
    grid-template-columns: 1fr;
  }
  .crm-live-details li { grid-template-columns: 1fr; }
  .crm-live-details time { font-size: 12px; }
  .crm-live-details .crm-live-sources li { grid-template-columns: 1fr; }
  .crm-live-sources small { grid-column: 1; }

  .crm-tabs {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .crm-login { padding: 25px 18px 22px; border-radius: 20px; }
  .crm-login-heading { align-items: flex-start; gap: 12px; }
  .crm-login-icon { width: 44px; height: 44px; flex-basis: 44px; border-radius: 14px; font-size: 19px; }
  .crm-login-features { grid-template-columns: 1fr; }
  .crm-login form { grid-template-columns: 1fr; }
  .crm-login button { width: 100%; min-width: 0; }

  .crm-tabs button {
    min-height: 54px;
  }

  .crm-card-heading {
    display: block;
  }

  .crm-safety-badge {
    display: inline-block;
    margin-top: 12px;
    white-space: normal;
  }

  .crm-progress-steps {
    grid-template-columns: 1fr;
  }

  .crm-list article > button {
    width: 100%;
    min-width: 0;
  }
}

.crm-send-card {
  grid-template-columns: minmax(180px, 1fr) auto;
}

.crm-external-release {
  grid-column: 1 / -1;
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 2px 0 !important;
  padding: 11px 13px;
  border: 1px solid var(--crm-line);
  border-radius: 11px;
  background: #f4f8fa;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.crm-external-release input {
  width: 18px !important;
  height: 18px;
  margin: 0;
  padding: 0;
  accent-color: #72bd13;
}

.crm-external-release:has(input:checked) {
  border-color: #8ecb3f;
  background: #efffdb;
}

.crm-send-hint {
  grid-column: 1 / -1;
  color: var(--crm-muted);
  font-size: 12px;
  line-height: 1.4;
}

.crm-send-hint.ready {
  color: #397400;
  font-weight: 750;
}

@media (max-width: 760px) {
  .crm-send-card {
    grid-template-columns: 1fr;
  }
}


/* Firmenliste: Copy-Icons für Name und Website */
.crm-company-item h3{display:flex;align-items:center;gap:0;}
.crm-company-item h3 span{min-width:0;overflow-wrap:anywhere;}
.crm-company-website{display:flex;align-items:center;gap:0;flex-wrap:wrap;}
.crm-company-copy{position:relative;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;margin-left:8px!important;padding:0!important;border:1px solid #c9d7e0!important;border-radius:8px!important;background:#f4f8fb!important;flex:0 0 auto;cursor:pointer;display:inline-flex!important;align-items:center;justify-content:center;vertical-align:middle;}
.crm-company-copy::before,.crm-company-copy::after{content:"";position:absolute;width:9px;height:11px;border:1.6px solid #536476;border-radius:2px;background:#f4f8fb;box-sizing:border-box;}
.crm-company-copy::before{left:8px;top:5px;}
.crm-company-copy::after{left:5px;top:8px;background:#fff;}
.crm-company-copy:hover{background:#eaf2f6!important;border-color:#9db4c3!important;}
.crm-company-copy-url{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;margin-left:7px!important;border-radius:7px!important;}
.crm-company-copy-url::before{left:7px;top:4px;}
.crm-company-copy-url::after{left:4px;top:7px;}

/* Firmenliste: Audit- und Versandstatus pro Firma */
.crm-company-audit-delivery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px;padding-top:7px;border-top:1px dashed #c9ddbd;font-size:12px;}
.crm-company-audit-delivery>div{display:grid;gap:2px;padding:7px 9px;border:1px solid #d9e8cf;border-radius:9px;background:#fbfff7;}
.crm-company-audit-delivery strong{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#4f6d33;}
.crm-company-audit-delivery span{min-width:0;overflow-wrap:anywhere;color:#40536a;font-weight:750;}
.crm-company-audit-delivery .is-sent{border-color:#a8d887;background:#f2ffe7;}
.crm-company-audit-delivery .is-open{border-color:#e8d8b5;background:#fffaf0;}
@media (max-width:720px){.crm-company-audit-delivery{grid-template-columns:1fr;}}

/* Firmenliste: vollständig redesigned record cards */
.crm-company-list{
  display:grid!important;
  gap:16px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  /* background:transparent!important; */
}

/* Stabile, nicht gequetschte Status-/Toast-Meldungen */
.crm-notice-stack{
  width:min(560px, calc(100vw - 32px))!important;
  max-width:min(560px, calc(100vw - 32px))!important;
  right:24px!important;
  left:auto!important;
}
.crm-overlay-notice{
  width:100%!important;
  max-width:560px!important;
  min-height:0!important;
  grid-template-columns:34px minmax(0,1fr) 32px!important;
  align-items:start!important;
  gap:14px!important;
  padding:14px!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
}
.crm-overlay-notice p{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  white-space:pre-line!important;
  line-height:1.42!important;
  margin:0!important;
}
.crm-overlay-notice > span{
  flex:0 0 28px!important;
  align-self:start!important;
}
.crm-overlay-notice button{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  display:grid!important;
  place-items:center!important;
  align-self:start!important;
  border-radius:0!important;
  line-height:1!important;
}
@media (max-width:720px){
  .crm-notice-stack{
    left:12px!important;
    right:12px!important;
    top:76px!important;
    width:auto!important;
    max-width:none!important;
  }
}
.crm-company-item{display:grid!important;grid-template-columns:minmax(0,1fr) 188px!important;gap:18px!important;align-items:stretch!important;padding:0!important;border:1px solid #d6e2ea!important;border-radius:12px!important;background:#fff!important;box-shadow:0 10px 28px rgba(16,33,54,.045)!important;overflow:hidden!important;}
.crm-company-item:nth-child(even){background:#fff!important;}
.crm-company-item:hover{background:#fff!important;border-color:#bfd0dc!important;box-shadow:0 14px 34px rgba(16,33,54,.075)!important;}
.crm-company-item.has-valid-domain{border-color:#b9dd96!important;box-shadow:inset 4px 0 0 #8bc63f,0 10px 28px rgba(69,118,15,.06)!important;}
.crm-company-item.is-processing{border-color:#96d858!important;box-shadow:inset 5px 0 0 #79bd20,0 0 0 2px rgba(121,189,32,.14),0 10px 30px rgba(69,118,15,.08)!important;background:#fbfff5!important;}
.crm-company-main{display:grid!important;gap:10px!important;padding:16px 18px 15px 20px!important;min-width:0!important;}
.crm-company-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:start!important;}
.crm-company-head h3{margin:0!important;font-size:17px!important;line-height:1.28!important;font-weight:900!important;color:#102136!important;display:flex!important;align-items:center!important;}
.crm-company-head h3 span{min-width:0!important;overflow-wrap:anywhere!important;}
.crm-company-location{margin:4px 0 0!important;color:#536476!important;font-size:13px!important;line-height:1.35!important;}
.crm-company-state{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:6px!important;max-width:260px!important;}
.crm-company-state span,.crm-company-tags span{display:inline-flex!important;align-items:center!important;min-height:22px!important;padding:4px 8px!important;border-radius:12px!important;background:#edf3f6!important;color:#33465a!important;font-size:11px!important;font-weight:850!important;line-height:1!important;white-space:nowrap!important;}
.crm-company-state span.active,.crm-company-tags span:first-child{background:#ddffc0!important;color:#2d6800!important;}
.crm-company-meta{display:grid!important;grid-template-columns:minmax(180px,.42fr) minmax(260px,1fr)!important;gap:8px!important;}
.crm-company-meta>div{display:grid!important;gap:3px!important;padding:9px 11px!important;border:1px solid #e1eaf0!important;border-radius:12px!important;background:#f8fbfd!important;min-width:0!important;}
.crm-company-meta strong{font-size:10.5px!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#66788a!important;}
.crm-company-meta span{min-width:0!important;overflow-wrap:anywhere!important;color:#26394d!important;font-size:12.5px!important;font-weight:750!important;}
.crm-company-website{display:grid!important;align-items:start!important;gap:3px!important;margin:0!important;color:#26394d!important;}
.crm-company-website>span{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:0!important;}
.crm-company-website a{color:#0563c1!important;text-decoration:underline!important;font-weight:850!important;overflow-wrap:anywhere!important;}
.crm-company-website.is-missing span{color:#7b8996!important;font-weight:700!important;}
.crm-company-flow{display:grid!important;gap:7px!important;}
.crm-company-flow:empty{display:none!important;}
.crm-company-flow .crm-company-domain-status{margin:0!important;padding:8px 10px!important;border:1px solid #e1eaf0!important;border-left:3px solid #b9d697!important;border-radius:11px!important;background:#fbfdf9!important;font-size:12px!important;line-height:1.35!important;}
.crm-company-flow .crm-company-domain-status.is-running{border-left-color:#79bd20!important;background:#f5ffe9!important;}
.crm-company-flow .crm-company-domain-status.is-error{border-left-color:#d83c31!important;background:#fff5f3!important;}
.crm-company-flow .crm-company-domain-status strong{font-weight:900!important;color:#26394d!important;}
.crm-company-audit-delivery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0!important;padding:0!important;border:0!important;font-size:12px!important;}
.crm-company-audit-delivery>div{padding:9px 10px!important;border-radius:12px!important;}
.crm-company-domain-override{display:grid!important;grid-template-columns:minmax(240px,1fr) auto!important;gap:9px!important;align-items:end!important;margin:0!important;padding:10px!important;border:1px dashed #cbd9e3!important;border-radius:13px!important;background:#fbfdf9!important;max-width:820px!important;}
.crm-company-domain-override label{display:grid!important;gap:4px!important;margin:0!important;font-size:10.5px!important;font-weight:900!important;letter-spacing:.02em!important;text-transform:none!important;color:#536476!important;}
.crm-company-domain-override input{min-height:36px!important;border-radius:10px!important;font-size:12.5px!important;}
.crm-company-domain-override button{min-height:36px!important;border-radius:10px!important;font-size:12px!important;}
.crm-company-tags{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0!important;}
.crm-company-actions{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;gap:8px!important;padding:16px 14px!important;border-left:1px solid #e1eaf0!important;background:linear-gradient(180deg,#fbfdff,#f7fafc)!important;max-width:none!important;align-self:stretch!important;}
.crm-company-actions button{width:100%!important;min-height:38px!important;padding:0 12px!important;border-radius:11px!important;font-size:12.5px!important;font-weight:900!important;line-height:1.15!important;white-space:normal!important;}
.crm-company-actions .crm-company-toggle.is-active{order:3!important;background:#fff1ef!important;border-color:#d8a4a1!important;color:#8e201c!important;}
.crm-company-actions [data-action="resolve"]{order:1!important;}
.crm-company-actions .crm-company-audit-start{order:2!important;}
.crm-company-copy{margin-left:8px!important;}
.crm-batch-status-line{display:block;line-height:1.35;}
.crm-batch-status-line+.crm-batch-status-line{margin-top:3px;}
@media (max-width:980px){.crm-company-item{grid-template-columns:1fr!important;}.crm-company-actions{border-left:0!important;border-top:1px solid #e1eaf0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:12px 16px!important;}.crm-company-meta{grid-template-columns:1fr!important;}.crm-company-head{grid-template-columns:1fr!important;}.crm-company-state{justify-content:flex-start!important;max-width:none!important;}}
@media (max-width:720px){.crm-company-main{padding:14px!important;}.crm-company-actions{grid-template-columns:1fr!important;}.crm-company-domain-override{grid-template-columns:1fr!important;max-width:none!important;}.crm-company-audit-delivery{grid-template-columns:1fr!important;}}

/* v3.7 mobile canton native-touch scrolling */
#companiesPanel,
.crm-company-scheduler-card,
.crm-company-scheduler-card > *,
.crm-canton-fieldset,
.crm-canton-grid {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.crm-canton-fieldset {
  width: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
}

.crm-canton-scrollbar {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 767.98px) {
  .crm-company-scheduler-card {
    overflow: hidden;
  }

  .crm-canton-fieldset {
    width: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    margin-inline: 0;
    padding: 14px 12px 11px;
    overflow: hidden;
  }

  .crm-canton-fieldset legend {
    max-width: calc(100% - 18px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .crm-canton-grid {
    display: grid;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 2px 0 10px;
    grid-template-columns: none;
    grid-template-rows: repeat(3, 72px);
    grid-auto-flow: column;
    grid-auto-columns: 170px;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
    scroll-behavior: auto;
    scroll-snap-type: none;
    scroll-padding-inline: 0;
    touch-action: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: grab;
  }

  .crm-canton-grid.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
    user-select: none;
    -webkit-user-select: none;
  }

  .crm-canton-grid::-webkit-scrollbar {
    width: 0;
    height: 0;
  }

  .crm-canton-card {
    width: 100%;
    min-width: 0;
    height: 72px;
    min-height: 72px;
    padding: 9px 10px;
    gap: 7px;
    overflow: hidden;
    box-sizing: border-box;
    scroll-snap-align: none;
    touch-action: auto;
  }

  .crm-canton-top,
  .crm-canton-url-stats,
  .crm-canton-stats-line {
    min-width: 0;
    max-width: 100%;
  }

  .crm-canton-name {
    font-size: 8.5px;
  }

  .crm-canton-stats-line {
    position: relative;
    gap: 3px;
    padding-right: 14px;
    overflow: hidden;
  }

  .crm-canton-stat {
    gap: 2px;
    padding: 3px 5px;
    flex: 0 1 auto;
    overflow: hidden;
  }

  .crm-canton-stat strong {
    font-size: 11px;
  }

  .crm-canton-stat span {
    font-size: 8px;
  }

  .crm-canton-sync {
    position: absolute;
    right: 0;
    margin-left: 0;
  }

  .crm-canton-scrollbar {
    display: block;
    width: 100%;
    height: 13px;
    margin: 8px 0 0;
    touch-action: none;
  }
}


/* v4.1 · Firmeneinträge im Sammelversand löschen */
.crm-batch-summary-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.crm-batch-company-delete {
  min-height:30px !important;
  padding:5px 9px !important;
  border:1px solid rgba(181,43,43,.28) !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#a12626 !important;
  box-shadow:none !important;
  font-size:11px !important;
  font-weight:850 !important;
  line-height:1.1 !important;
  white-space:nowrap;
}
.crm-batch-company-delete:hover,
.crm-batch-company-delete:focus-visible {
  border-color:#b52b2b !important;
  background:#fff3f2 !important;
  transform:none !important;
}
.crm-batch-company-delete:disabled {
  opacity:.45;
  cursor:not-allowed;
}
@media (max-width:760px) {
  .crm-batch-summary-actions {
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .crm-batch-company-delete {
    width:auto !important;
  }
}

/* v4.2 · Statusbadge und Löschbutton im Sammelversand gleich hoch */
.crm-batch-state {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-height:30px;
  padding:5px 9px;
  border-radius:8px;
  font-size:11px;
  line-height:1.1;
}
.crm-batch-company-delete {
  box-sizing:border-box;
  height:30px;
  min-height:30px !important;
}


/* x25go CRM mail preview mobile typography v4 */
@media (max-width:600px) {
  #messagePreview { font-size:18px; line-height:1.55; }
  #messagePreview p { font-size:18px; line-height:1.55; }
  #messagePreview .crm-preview-action { padding:10px 16px !important; font-size:16.5px !important; line-height:1.2 !important; }
  #messagePreview .crm-preview-actions-paired { flex-direction:column; align-items:flex-start; gap:8px; }
  #messagePreview .crm-preview-action-outline { padding:8px 14px !important; }
}


/* Controlled follow-up and tamper-evident delivery archive */
.crm-followup-summary,.crm-archive-summary {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}
.crm-followup-summary > div,.crm-archive-summary > div {
  padding:13px 14px;
  border:1px solid #dbe4ea;
  border-radius:12px;
  background:#f7f9fa;
}
.crm-followup-summary strong,.crm-archive-summary strong { display:block; color:#102136; font-size:22px; line-height:1.1; }
.crm-followup-summary span,.crm-archive-summary span { display:block; margin-top:4px; color:#607184; font-size:12px; line-height:1.35; }
.crm-followup-controls,.crm-archive-controls { display:grid; grid-template-columns:minmax(180px,.35fr) minmax(260px,1fr); gap:12px; align-items:end; }
.crm-followup-table-wrap,.crm-archive-table-wrap { margin-top:14px; }
.crm-followup-priority { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:#edf2f5; color:#40536a; font-weight:800; }
.crm-followup-priority.is-1 { background:#e7f8d1; color:#315d00; }
.crm-followup-priority.is-2 { background:#eef5ff; color:#28587a; }
.crm-followup-signal { display:inline-flex; align-items:center; min-height:26px; padding:4px 8px; border-radius:999px; background:#edf2f5; color:#40536a; font-size:11px; font-weight:700; }
.crm-followup-signal.is-audit_opened { background:#e7f8d1; color:#315d00; }
.crm-followup-signal.is-clicked { background:#e8f4fc; color:#28587a; }
.crm-followup-signal.is-opened { background:#fff5d9; color:#7b5200; }
.crm-followup-actions,.crm-archive-actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.crm-followup-actions button,.crm-archive-actions button { min-height:34px; padding:6px 10px; font-size:12px; white-space:nowrap; }
.crm-followup-actions select { min-height:34px; max-width:160px; padding:5px 28px 5px 8px; font-size:12px; }
.crm-archive-integrity { display:inline-flex; align-items:center; min-height:26px; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:700; }
.crm-archive-integrity.is-valid { background:#e7f8d1; color:#315d00; }
.crm-archive-integrity.is-invalid { background:#fff0ef; color:#8b2222; }
.crm-archive-table td:nth-child(4) { min-width:230px; }
.crm-followup-table td:nth-child(2),.crm-archive-table td:nth-child(2) { min-width:190px; }

@media (max-width:1050px){
  .crm-followup-summary,.crm-archive-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .crm-followup-summary,.crm-archive-summary,.crm-followup-controls,.crm-archive-controls { grid-template-columns:1fr; }
  .crm-followup-actions,.crm-archive-actions { align-items:stretch; flex-direction:column; }
  .crm-followup-actions button,.crm-followup-actions select,.crm-archive-actions button { width:100%; max-width:none; }
}

/* Versandarchiv: sichtbarer Konfigurationshinweis ohne Alarmoptik. */
.crm-safety-badge.is-warning{background:#fff6d9;border-color:#e4c875;color:#6f4a00}


/* 2026-07-20: archive actions aligned and audit-tool preview CTA */
.crm-archive-actions {
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start;
  gap:7px !important;
}
.crm-archive-actions button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  width:auto;
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 11px !important;
  border-radius:9px !important;
  font-size:12px !important;
  line-height:1 !important;
  vertical-align:middle !important;
  transform:none !important;
  white-space:nowrap;
}
#messagePreview .crm-preview-audit-tool {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:9px;
  border:1px solid #9acb5b;
  background:#f2ffe3;
  box-shadow:0 2px 6px rgba(16,33,54,.07);
  font-weight:700;
}
@media (max-width:720px) {
  .crm-archive-actions { flex-direction:column; align-items:stretch !important; }
  .crm-archive-actions button { width:100%; }
}


/* 2026-07-20: fully functional follow-up search and action alignment */
.crm-followup-controls {
  grid-template-columns:minmax(180px,.35fr) minmax(260px,1fr) auto;
}
#followupsRefreshButton {
  align-self:end; min-height:46px; margin:0; padding:10px 16px; white-space:nowrap;
}
#followupsRefreshButton[aria-busy="true"] { cursor:wait; opacity:.72; }
.crm-followup-table tr.is-upcoming td { background:#fbfcfd; }
.crm-followup-table tr.is-upcoming { opacity:.82; }
.crm-followup-actions button:disabled { cursor:not-allowed; opacity:.56; }
@media (max-width:760px){
  .crm-followup-controls { grid-template-columns:1fr; }
  #followupsRefreshButton { width:100%; }
}

/* 2026-07-21 · Tab 06 controlled follow-up workflow */
.crm-followup-settings {
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(260px,360px);
  gap:16px;
  align-items:end;
  margin:16px 0 14px;
  padding:16px;
  border:1px solid #d7e1e8;
  border-radius:14px;
  background:#f8fbfd;
}
.crm-followup-section-kicker {
  display:block;
  margin:0 0 5px;
  color:#5b8d13;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
}
.crm-followup-settings h3,.crm-followup-bulk h3,.crm-followup-chart h4,.crm-followup-event-log h4 {
  margin:0;
  color:#102136;
}
.crm-followup-settings h3,.crm-followup-bulk h3 { font-size:18px; line-height:1.25; }
.crm-followup-settings p,.crm-followup-bulk .crm-card-heading p {
  margin:5px 0 0;
  color:#607184;
  font-size:13px;
  line-height:1.5;
}
.crm-followup-rule-field { display:grid; gap:7px; align-self:stretch; }
.crm-followup-rule-field > span:first-child { color:#40536a; font-size:12px; line-height:1.35; font-weight:800; }
.crm-followup-rule-field select { width:100%; min-height:44px; }
.crm-followup-rule-explanation { display:block; color:#607184; font-size:11px; line-height:1.45; }
.crm-followup-settings-status {
  grid-column:1/-1;
  min-height:18px;
  color:#315d00;
  font-size:12px;
  line-height:1.4;
}
.crm-followup-settings-status.is-error { color:#9b1c1c; }
.crm-followup-bulk { margin-top:14px; }
.crm-followup-bulk-summary {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}
.crm-followup-bulk-summary > div {
  min-width:0;
  padding:12px;
  border:1px solid #d7e1e8;
  border-radius:12px;
  background:#f8fbfd;
}
.crm-followup-bulk-summary strong { display:block; color:#102136; font-size:20px; line-height:1.1; }
.crm-followup-bulk-summary span { display:block; margin-top:4px; color:#607184; font-size:11px; line-height:1.35; }
.crm-followup-bulk-controls {
  display:grid;
  grid-template-columns:minmax(300px,1fr) auto;
  gap:14px;
  align-items:center;
}
.crm-followup-bulk-confirm {
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-width:0;
  color:#40536a;
  font-size:13px;
  line-height:1.45;
}
.crm-followup-bulk-confirm input { flex:0 0 auto; width:18px; height:18px; margin-top:1px; }
.crm-followup-bulk-buttons { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.crm-followup-bulk-buttons button { min-height:40px; }
.crm-followup-bulk-progress {
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #d7e1e8;
  border-radius:12px;
  background:#fbfdf9;
}
.crm-followup-bulk-progress > div { display:flex; justify-content:space-between; gap:12px; color:#40536a; font-size:12px; }
.crm-followup-bulk-progress progress { width:100%; height:12px; margin-top:8px; accent-color:#87e928; }
.crm-followup-live-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);
  gap:14px;
  margin-top:14px;
}
.crm-followup-chart,.crm-followup-event-log {
  min-width:0;
  padding:14px;
  border:1px solid #d7e1e8;
  border-radius:14px;
  background:#fff;
}
.crm-followup-chart-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.crm-followup-chart-head h4 { font-size:14px; line-height:1.3; }
.crm-followup-chart-head span { color:#758496; font-size:11px; line-height:1.35; text-align:right; }
.crm-followup-chart-legend { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 6px; }
.crm-followup-chart-legend span { display:inline-flex; align-items:center; gap:5px; color:#40536a; font-size:11px; font-weight:700; }
.crm-followup-chart-legend i { width:9px; height:9px; border-radius:50%; background:#102136; }
.crm-followup-chart-legend .is-sent i { background:#62b326; }
.crm-followup-chart-legend .is-skipped i { background:#d08a00; }
.crm-followup-chart-legend .is-failed i { background:#c83d3d; }
.crm-followup-chart-canvas { min-height:220px; overflow-x:auto; overflow-y:hidden; }
.crm-followup-chart-canvas svg { display:block; width:100%; min-width:600px; height:220px; overflow:visible; }
.crm-followup-chart-canvas .crm-followup-grid-line { stroke:#dfe7ed; stroke-width:1; }
.crm-followup-chart-canvas .crm-followup-axis-label { fill:#6b7885; font-size:10px; }
.crm-followup-chart-canvas .crm-followup-line { fill:none; stroke-width:3; vector-effect:non-scaling-stroke; }
.crm-followup-chart-canvas .crm-followup-line.is-sent { stroke:#62b326; }
.crm-followup-chart-canvas .crm-followup-line.is-skipped { stroke:#d08a00; }
.crm-followup-chart-canvas .crm-followup-line.is-failed { stroke:#c83d3d; }
.crm-followup-chart-canvas .crm-followup-point { cursor:pointer; stroke:#fff; stroke-width:2; }
.crm-followup-chart-canvas .crm-followup-point.is-sent { fill:#62b326; }
.crm-followup-chart-canvas .crm-followup-point.is-skipped { fill:#d08a00; }
.crm-followup-chart-canvas .crm-followup-point.is-failed { fill:#c83d3d; }
.crm-followup-chart-tooltip {
  min-height:44px;
  margin-top:8px;
  padding:9px 11px;
  border-radius:10px;
  background:#f2f6f8;
  color:#40536a;
  font-size:12px;
  line-height:1.45;
}
.crm-followup-event-log ol,#followupBulkEvents { margin:12px 0 0; padding:0; list-style:none; max-height:260px; overflow:auto; }
#followupBulkEvents li { display:grid; grid-template-columns:72px 1fr; gap:9px; padding:8px 0; border-top:1px solid #edf1f4; color:#40536a; font-size:11px; line-height:1.4; }
#followupBulkEvents li:first-child { border-top:0; }
#followupBulkEvents time { color:#758496; font-variant-numeric:tabular-nums; }
#followupBulkEvents strong { color:#102136; }
.crm-followup-bulk-toggle {
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}
.crm-followup-bulk-toggle input { width:18px; height:18px; }
.crm-followup-audit-meta { display:block; margin-top:5px; color:#607184; font-size:11px; line-height:1.35; }
.crm-followup-audit-badge { display:inline-flex; margin-top:5px; padding:3px 7px; border-radius:999px; background:#e8f4fc; color:#28587a; font-size:10px; font-weight:800; }
.crm-followup-actions { align-items:flex-start; }
.crm-followup-actions .crm-followup-test { background:#edf4fa; color:#214a67; border-color:#c9dce8; }
.crm-followup-actions .crm-followup-test:disabled { opacity:.58; }
.crm-followup-actions select { min-width:190px; max-width:230px; }
.crm-followup-row-note { display:block; flex-basis:100%; color:#6b7885; font-size:10px; line-height:1.35; }
.crm-followup-status-badge { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:999px; background:#edf2f5; color:#40536a; font-size:10px; font-weight:800; }
.crm-followup-status-badge.is-excluded { background:#fff1dd; color:#7b5200; }
.crm-followup-status-badge.is-unavailable { background:#fde9e9; color:#8b2424; }
.crm-history-message-label { display:block; width:max-content; max-width:100%; margin:7px 0 0; padding:3px 7px; border-radius:999px; background:#e9f5ff; color:#245a78; font-size:11px; line-height:1.2; font-weight:800; letter-spacing:.02em; }
.crm-history-message-label.is-followup { background:#e7ffd0; color:#294b16; }
.crm-history-message-label.is-followup-test { background:#fff4d8; color:#735400; }
.crm-history-test-recipient>small { display:block; margin-top:5px; color:#5c6d7f; line-height:1.35; overflow-wrap:anywhere; }

@media (max-width:1100px) {
  .crm-followup-bulk-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .crm-followup-bulk-controls,.crm-followup-live-grid { grid-template-columns:1fr; }
  .crm-followup-bulk-buttons { justify-content:flex-start; }
}
@media (max-width:760px) {
  .crm-followup-settings { grid-template-columns:1fr; }
  .crm-followup-settings-status { grid-column:auto; }
  .crm-followup-bulk-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crm-followup-bulk-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .crm-followup-bulk-buttons button { width:100%; }
  .crm-followup-chart-head { align-items:flex-start; flex-direction:column; }
  .crm-followup-chart-head span { text-align:left; }
  .crm-followup-chart-canvas { margin:0 -14px; padding:0 14px; }
  .crm-followup-chart-tooltip { position:static; width:auto; }
  .crm-followup-table .crm-followup-actions { min-width:210px; }
}
@media (max-width:460px) {
  .crm-followup-bulk-summary { grid-template-columns:1fr 1fr; gap:8px; }
  .crm-followup-bulk-buttons { grid-template-columns:1fr; }
  .crm-followup-settings,.crm-followup-chart,.crm-followup-event-log { padding:12px; }
}


/* 2026-07-21 · Tab 06 workflow refinement v3 — scoped exclusively to follow-ups */
#followupsPanel .crm-followup-intro-card { overflow:visible; }
#followupsPanel .crm-followup-settings {
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  align-items:start;
  padding:20px;
  border-color:#cddfba;
  background:linear-gradient(135deg,#ffffff 0%,#f8ffef 100%);
}
#followupsPanel .crm-followup-settings-copy { min-width:0; }
#followupsPanel .crm-followup-timing-fieldset {
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
#followupsPanel .crm-followup-timing-fieldset legend {
  margin:0 0 9px;
  padding:0;
  color:#40536a;
  font-size:12px;
  font-weight:850;
}
#followupsPanel .crm-followup-timing-options {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
}
#followupsPanel .crm-followup-timing-options label {
  position:relative;
  display:block;
  min-width:0;
  margin:0;
  cursor:pointer;
}
#followupsPanel .crm-followup-timing-options input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
#followupsPanel .crm-followup-timing-options label > span {
  display:grid;
  gap:3px;
  min-height:67px;
  padding:11px 12px;
  border:1px solid #cad6df;
  border-radius:12px;
  background:#fff;
  box-shadow:0 3px 10px rgba(16,33,54,.04);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease;
}
#followupsPanel .crm-followup-timing-options label:hover > span {
  border-color:#96b875;
  transform:translateY(-1px);
}
#followupsPanel .crm-followup-timing-options input:checked + span {
  border-color:#70ae22;
  background:#efffdc;
  box-shadow:0 0 0 3px rgba(184,255,90,.28);
}
#followupsPanel .crm-followup-timing-options input:focus-visible + span {
  outline:3px solid rgba(108,174,34,.32);
  outline-offset:2px;
}
#followupsPanel .crm-followup-timing-options strong { color:#102136; font-size:14px; line-height:1.2; }
#followupsPanel .crm-followup-timing-options small { color:#607184; font-size:11px; line-height:1.25; }
#followupsPanel .crm-followup-rule-explanation {
  margin:10px 0 0;
  padding:10px 12px;
  border-left:3px solid #78b92a;
  border-radius:0 9px 9px 0;
  background:#f3f8ee;
  color:#40536a;
  font-size:12px;
}
#followupsPanel .crm-followup-filter-panel {
  margin-top:16px;
  padding-top:18px;
  border-top:1px solid #dce6d2;
}
#followupsPanel .crm-followup-filter-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}
#followupsPanel .crm-followup-filter-heading h3 { margin:0; font-size:18px; }
#followupsPanel .crm-followup-filter-heading p { max-width:720px; margin:0; color:#607184; font-size:12px; line-height:1.45; }
#followupsPanel .crm-followup-controls {
  display:grid;
  grid-template-columns:minmax(145px,.72fr) minmax(165px,.82fr) minmax(145px,.68fr) minmax(145px,.68fr) minmax(250px,1.35fr) auto;
  align-items:end;
  gap:10px;
  margin-top:14px;
}
#followupsPanel .crm-followup-controls label { display:grid; gap:6px; min-width:0; margin:0; }
#followupsPanel .crm-followup-controls label > span { color:#52687a; font-size:10px; font-weight:850; letter-spacing:.035em; text-transform:uppercase; }
#followupsPanel .crm-followup-controls select,
#followupsPanel .crm-followup-controls input { min-width:0; min-height:46px; }
#followupsPanel .crm-followup-filter-buttons { display:flex; align-items:center; gap:8px; }
#followupsPanel .crm-followup-filter-buttons button { min-height:46px; margin:0; white-space:nowrap; }
#followupsPanel .crm-followup-filter-summary {
  min-height:20px;
  margin-top:11px;
  color:#40536a;
  font-size:12px;
  font-weight:750;
}
#followupsPanel .crm-followup-table { table-layout:fixed; width:100%; }
#followupsPanel .crm-followup-table th:nth-child(1),
#followupsPanel .crm-followup-table td:nth-child(1) { width:76px; }
#followupsPanel .crm-followup-table th:nth-child(2),
#followupsPanel .crm-followup-table td:nth-child(2) { width:18%; }
#followupsPanel .crm-followup-table th:nth-child(3),
#followupsPanel .crm-followup-table td:nth-child(3) { width:18%; }
#followupsPanel .crm-followup-table th:nth-child(4),
#followupsPanel .crm-followup-table td:nth-child(4) { width:14%; }
#followupsPanel .crm-followup-table th:nth-child(5),
#followupsPanel .crm-followup-table td:nth-child(5) { width:17%; }
#followupsPanel .crm-followup-table th:nth-child(6),
#followupsPanel .crm-followup-table td:nth-child(6) { width:auto; min-width:330px; }
#followupsPanel .crm-followup-table td { vertical-align:top; overflow-wrap:anywhere; }
#followupsPanel .crm-followup-table tr.is-company-blocked td { background:#fff8f5; }
#followupsPanel .crm-followup-company-block-reason {
  display:block;
  margin-top:7px;
  padding:6px 8px;
  border-radius:8px;
  background:#fff0eb;
  color:#8b3a25;
  line-height:1.35;
}
#followupsPanel .crm-followup-status-badge.is-company-blocked { background:#fee7df; color:#8b3520; }
#followupsPanel .crm-followup-table tr.is-recipient-hard-blocked td { background:#fff7f2; }
#followupsPanel .crm-followup-status-badge.is-recipient-hard-blocked { background:#ffe3d6; color:#8a321d; }
#followupsPanel .crm-followup-recipient-hard-block-reason {
  display:block;
  margin-top:8px;
  padding:7px 8px;
  border:1px solid #f0c9b9;
  border-radius:8px;
  background:#fff0e9;
  color:#7b321f;
  font-size:11px;
  font-weight:750;
  line-height:1.4;
}
#followupsPanel tr.is-recipient-hard-blocked .crm-followup-bulk-toggle { opacity:.58; }
#followupsPanel tr.is-recipient-hard-blocked .crm-followup-test:disabled { cursor:not-allowed; opacity:.52; }
#followupsPanel .crm-followup-actions {
  display:grid;
  gap:8px;
  width:100%;
  min-width:0;
}
#followupsPanel .crm-followup-primary-actions,
#followupsPanel .crm-followup-secondary-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
#followupsPanel .crm-followup-primary-actions button { flex:1 1 145px; min-height:38px; }
#followupsPanel .crm-followup-secondary-actions > button { min-height:34px; }
#followupsPanel .crm-followup-secondary-actions .is-unblock { background:#e8f8dc !important; color:#315d00 !important; }
#followupsPanel .crm-followup-more { position:relative; }
#followupsPanel .crm-followup-more summary {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 10px;
  border:1px solid #cbd6de;
  border-radius:9px;
  background:#fff;
  color:#40536a;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}
#followupsPanel .crm-followup-more summary::-webkit-details-marker { display:none; }
#followupsPanel .crm-followup-more summary::after { content:"⌄"; margin-left:7px; }
#followupsPanel .crm-followup-more[open] summary::after { content:"⌃"; }
#followupsPanel .crm-followup-more > div {
  position:absolute;
  z-index:90;
  right:0;
  top:calc(100% + 5px);
  display:grid;
  width:250px;
  gap:5px;
  padding:7px;
  border:1px solid #cbd9df;
  border-radius:11px;
  background:#fff;
  box-shadow:0 16px 36px rgba(16,33,54,.16);
}
#followupsPanel .crm-followup-more > div button { width:100%; min-height:36px; text-align:left; }
#followupsPanel .crm-followup-test { font-weight:850; }
#followupsPanel .crm-followup-bulk-toggle input:disabled + span { opacity:.55; }

@media (max-width:1280px) {
  #followupsPanel .crm-followup-controls { grid-template-columns:repeat(4,minmax(145px,1fr)); }
  #followupsPanel .crm-followup-search-field { grid-column:span 3; }
  #followupsPanel .crm-followup-filter-buttons { grid-column:span 1; justify-content:flex-end; }
  #followupsPanel .crm-followup-table { min-width:1180px; }
}
@media (max-width:900px) {
  #followupsPanel .crm-followup-settings { grid-template-columns:1fr; }
  #followupsPanel .crm-followup-timing-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #followupsPanel .crm-followup-filter-heading { align-items:flex-start; flex-direction:column; }
  #followupsPanel .crm-followup-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #followupsPanel .crm-followup-search-field { grid-column:1/-1; }
  #followupsPanel .crm-followup-filter-buttons { grid-column:1/-1; justify-content:stretch; }
  #followupsPanel .crm-followup-filter-buttons button { flex:1 1 0; }
}
@media (max-width:600px) {
  #followupsPanel .crm-followup-settings,
  #followupsPanel .crm-followup-bulk { padding:15px; }
  #followupsPanel .crm-followup-timing-options,
  #followupsPanel .crm-followup-controls { grid-template-columns:1fr; }
  #followupsPanel .crm-followup-search-field,
  #followupsPanel .crm-followup-filter-buttons { grid-column:auto; }
  #followupsPanel .crm-followup-filter-buttons { display:grid; grid-template-columns:1fr; }
  #followupsPanel .crm-followup-primary-actions,
  #followupsPanel .crm-followup-secondary-actions { display:grid; grid-template-columns:1fr; }
  #followupsPanel .crm-followup-primary-actions button,
  #followupsPanel .crm-followup-secondary-actions > button,
  #followupsPanel .crm-followup-more,
  #followupsPanel .crm-followup-more summary { width:100%; }
  #followupsPanel .crm-followup-more > div { position:static; width:auto; margin-top:5px; box-shadow:none; }
}
.crm-history-message-label.is-test { border:1px solid #cfbdf0; background:#f4ecff; color:#56308a; text-transform:uppercase; }


/* 2026-07-21 · Tab 06 complete scheduling, search and company-block fix v6 */
#followupsPanel .crm-followup-timing-options { grid-template-columns:repeat(auto-fit,minmax(178px,1fr)); gap:10px; }
#followupsPanel .crm-followup-timing-card { display:grid; gap:8px; min-width:0; padding:10px; border:1px solid #cad6df; border-radius:14px; background:#fff; box-shadow:0 3px 10px rgba(16,33,54,.04); }
#followupsPanel .crm-followup-stage-choice { position:relative; display:block; margin:0; cursor:pointer; }
#followupsPanel .crm-followup-stage-choice > input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
#followupsPanel .crm-followup-stage-choice > span { display:grid; gap:3px; min-height:48px; padding:10px 11px; border:1px solid transparent; border-radius:10px; background:#f7f9fa; transition:border-color .16s ease,background .16s ease,box-shadow .16s ease; }
#followupsPanel .crm-followup-stage-choice > input:checked + span { border-color:#70ae22; background:#efffdc; box-shadow:0 0 0 3px rgba(184,255,90,.24); }
#followupsPanel .crm-followup-stage-choice > input:focus-visible + span { outline:3px solid rgba(108,174,34,.32); outline-offset:2px; }
#followupsPanel .crm-followup-stage-time { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
#followupsPanel .crm-followup-stage-time label { display:grid; gap:4px; margin:0; cursor:default; }
#followupsPanel .crm-followup-stage-time label > span { color:#52687a; font-size:9px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
#followupsPanel .crm-followup-stage-time input { position:static; width:100%; height:36px; min-height:36px; padding:6px 7px; border:1px solid #bdccd8; border-radius:9px; background:#fff; opacity:1; pointer-events:auto; color:#102136; font:inherit; font-size:12px; font-weight:800; }
#followupsPanel .crm-followup-stage-time input:focus { border-color:#78b92a; outline:none; box-shadow:0 0 0 3px rgba(173,255,79,.25); }
#followupsPanel .crm-followup-window-badge { display:inline-flex; margin-top:6px; padding:4px 7px; border-radius:999px; background:#eef7e7; color:#355b13; font-size:10px; font-weight:850; line-height:1.25; }
#followupsPanel .crm-followup-company-blocks { margin-top:15px; padding:15px; border:1px solid #e4c5ba; border-radius:14px; background:#fff8f5; }
#followupsPanel .crm-followup-company-blocks[hidden] { display:none!important; }
#followupsPanel .crm-followup-company-blocks-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
#followupsPanel .crm-followup-company-blocks-head h4 { margin:0; color:#102136; font-size:16px; }
#followupsPanel .crm-followup-company-blocks-head > span { color:#8b3a25; font-size:12px; font-weight:850; }
#followupsPanel .crm-followup-company-blocks-list { display:grid; gap:8px; margin-top:11px; }
#followupsPanel .crm-followup-company-blocks-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:11px 12px; border:1px solid #ead8d1; border-radius:11px; background:#fff; }
#followupsPanel .crm-followup-company-blocks-list article > div { min-width:0; }
#followupsPanel .crm-followup-company-blocks-list strong,#followupsPanel .crm-followup-company-blocks-list small,#followupsPanel .crm-followup-company-blocks-list time { display:block; overflow-wrap:anywhere; }
#followupsPanel .crm-followup-company-blocks-list small,#followupsPanel .crm-followup-company-blocks-list time { margin-top:3px; color:#607184; font-size:10px; }
#followupsPanel .crm-followup-company-blocks-list p { margin:6px 0 0; color:#8b3a25; font-size:11px; line-height:1.35; }
#followupsPanel .crm-followup-company-blocks-list button { min-height:38px; margin:0; background:#e8f8dc!important; color:#315d00!important; white-space:nowrap; }
@media (max-width:700px){#followupsPanel .crm-followup-company-blocks-head{align-items:flex-start;flex-direction:column}#followupsPanel .crm-followup-company-blocks-list article{grid-template-columns:1fr}#followupsPanel .crm-followup-company-blocks-list button{width:100%}}


/* 2026-07-21 · Tab 06 visual consolidation v7 */
@media (min-width:1200px) {
  .crm-body { --shell:min(1480px,calc(100% - 56px)); }
  .crm-body .crm-shell { width:var(--shell); }
}
#followupsPanel .crm-followup-intro-card { padding:24px; }
#followupsPanel .crm-followup-settings {
  display:grid;
  grid-template-columns:1fr;
  gap:15px;
  margin:18px 0 0;
  padding:18px;
  border-color:#cfe0ba;
  border-radius:16px;
  background:linear-gradient(135deg,#fff 0%,#f7ffed 100%);
}
#followupsPanel .crm-followup-settings-copy {
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);
  grid-template-areas:"kicker copy" "title copy";
  align-items:end;
  column-gap:28px;
  row-gap:4px;
}
#followupsPanel .crm-followup-settings-copy > .crm-followup-section-kicker { grid-area:kicker; margin:0; }
#followupsPanel .crm-followup-settings-copy > h3 { grid-area:title; margin:0; }
#followupsPanel .crm-followup-settings-copy > p { grid-area:copy; margin:0; max-width:none; }
#followupsPanel .crm-followup-timing-fieldset legend { margin-bottom:10px; }
#followupsPanel .crm-followup-timing-options {
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
}
#followupsPanel .crm-followup-timing-card {
  gap:7px;
  padding:9px;
  border-radius:13px;
}
#followupsPanel .crm-followup-stage-choice > span {
  min-height:52px;
  padding:9px 10px;
}
#followupsPanel .crm-followup-stage-time input { height:38px; min-height:38px; }
#followupsPanel .crm-followup-rule-explanation { margin-top:10px; }
#followupsPanel .crm-followup-settings-status:empty { display:none; }
#followupsPanel .crm-followup-filter-panel { margin-top:18px; padding-top:18px; }
#followupsPanel .crm-followup-filter-heading {
  display:grid;
  grid-template-columns:minmax(240px,.55fr) minmax(420px,1.45fr);
  align-items:end;
  gap:24px;
}
#followupsPanel .crm-followup-filter-heading p {
  max-width:none;
  padding:10px 12px;
  border:1px solid #dce7d2;
  border-radius:11px;
  background:#fbfef8;
}
#followupsPanel .crm-followup-controls {
  grid-template-columns:minmax(150px,.72fr) minmax(185px,.88fr) minmax(145px,.66fr) minmax(145px,.66fr) minmax(260px,1.25fr) minmax(300px,auto);
  gap:10px;
}
#followupsPanel .crm-followup-filter-buttons {
  display:grid;
  grid-template-columns:auto auto;
  gap:8px;
}
#followupsPanel .crm-followup-filter-buttons button { min-width:0; padding-inline:15px; }
#followupsPanel .crm-followup-company-blocks { margin-top:12px; }
#followupsPanel .crm-followup-bulk { padding:22px 24px; }
#followupsPanel .crm-followup-bulk-summary { margin:14px 0; }
#followupsPanel .crm-followup-live-grid { grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); }
#followupsPanel .crm-followup-chart-canvas { min-height:150px; }
#followupsPanel .crm-followup-chart-canvas.is-empty {
  display:grid;
  place-items:center;
  min-height:108px;
  overflow:hidden;
}
#followupsPanel .crm-followup-chart-canvas.is-empty .crm-table-empty { padding:24px 12px; }
#followupsPanel .crm-followup-chart-tooltip { min-height:0; }
#followupsPanel .crm-followup-list-heading {
  display:grid;
  grid-template-columns:minmax(260px,.6fr) minmax(420px,1.4fr);
  align-items:end;
  gap:24px;
  margin:18px 0 10px;
  padding:0 4px;
}
#followupsPanel .crm-followup-list-heading h3 { margin:0; color:#102136; font-size:19px; }
#followupsPanel .crm-followup-list-heading p { margin:0; color:#607184; font-size:12px; line-height:1.45; text-align:right; }
#followupsPanel .crm-followup-table-wrap {
  margin-top:0;
  padding:0;
  overflow:auto;
  border-radius:16px;
}
#followupsPanel .crm-followup-table {
  width:100%;
  min-width:1380px;
  table-layout:auto;
}
#followupsPanel .crm-followup-table th,
#followupsPanel .crm-followup-table td { padding:13px 12px; }
#followupsPanel .crm-followup-table th { font-size:11px; line-height:1.25; }
#followupsPanel .crm-followup-table td,
#followupsPanel .crm-followup-table td small,
#followupsPanel .crm-followup-table td span,
#followupsPanel .crm-followup-table td strong,
#followupsPanel .crm-followup-table td button { font-size:13px; }
#followupsPanel .crm-followup-table th:nth-child(1),
#followupsPanel .crm-followup-table td:nth-child(1) { width:78px; min-width:78px; }
#followupsPanel .crm-followup-table th:nth-child(2),
#followupsPanel .crm-followup-table td:nth-child(2) { width:220px; min-width:220px; }
#followupsPanel .crm-followup-table th:nth-child(3),
#followupsPanel .crm-followup-table td:nth-child(3) { width:245px; min-width:245px; }
#followupsPanel .crm-followup-table th:nth-child(4),
#followupsPanel .crm-followup-table td:nth-child(4) { width:180px; min-width:180px; }
#followupsPanel .crm-followup-table th:nth-child(5),
#followupsPanel .crm-followup-table td:nth-child(5) { width:235px; min-width:235px; }
#followupsPanel .crm-followup-table th:nth-child(6),
#followupsPanel .crm-followup-table td:nth-child(6) { width:auto; min-width:390px; }
#followupsPanel .crm-followup-actions { gap:9px; }
#followupsPanel .crm-followup-status-badge { width:max-content; max-width:100%; }
#followupsPanel .crm-followup-primary-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
#followupsPanel .crm-followup-primary-actions button { width:100%; min-height:40px; }
#followupsPanel .crm-followup-secondary-actions { padding-top:1px; }
#followupsPanel .crm-followup-row-note { font-size:11px; }
@media (max-width:1390px) {
  #followupsPanel .crm-followup-timing-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #followupsPanel .crm-followup-controls { grid-template-columns:repeat(4,minmax(145px,1fr)); }
  #followupsPanel .crm-followup-search-field { grid-column:span 2; }
  #followupsPanel .crm-followup-filter-buttons { grid-column:span 2; }
}
@media (max-width:900px) {
  #followupsPanel .crm-followup-settings-copy {
    grid-template-columns:1fr;
    grid-template-areas:"kicker" "title" "copy";
    gap:5px;
  }
  #followupsPanel .crm-followup-filter-heading,
  #followupsPanel .crm-followup-list-heading { grid-template-columns:1fr; gap:9px; }
  #followupsPanel .crm-followup-list-heading p { text-align:left; }
  #followupsPanel .crm-followup-timing-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #followupsPanel .crm-followup-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #followupsPanel .crm-followup-search-field,
  #followupsPanel .crm-followup-filter-buttons { grid-column:1/-1; }
}
@media (max-width:600px) {
  #followupsPanel .crm-followup-intro-card,
  #followupsPanel .crm-followup-bulk { padding:15px; }
  #followupsPanel .crm-followup-settings { padding:13px; }
  #followupsPanel .crm-followup-timing-options,
  #followupsPanel .crm-followup-controls,
  #followupsPanel .crm-followup-filter-buttons,
  #followupsPanel .crm-followup-primary-actions { grid-template-columns:1fr; }
}


/* 2026-07-21 · Tab 06 scheduler correction v8 */
#followupsPanel .crm-followup-timing-options {
  grid-template-columns:repeat(7,minmax(0,1fr));
  align-items:stretch;
}
#followupsPanel .crm-followup-timing-card {
  grid-template-rows:auto auto auto;
  align-content:start;
}
#followupsPanel .crm-followup-timing-options .crm-followup-stage-time {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
#followupsPanel .crm-followup-timing-options .crm-followup-stage-time label {
  display:grid;
  grid-template-rows:auto 38px;
  gap:5px;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  cursor:default;
}
#followupsPanel .crm-followup-timing-options .crm-followup-stage-time label > span,
#followupsPanel .crm-followup-timing-options .crm-followup-stage-time label:hover > span {
  display:block;
  min-height:0;
  margin:0;
  padding:0 2px;
  transform:none;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#52687a;
  font-size:9px;
  font-weight:850;
  line-height:1.2;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#followupsPanel .crm-followup-timing-options .crm-followup-stage-time input {
  position:static;
  display:block;
  width:100%;
  height:38px;
  min-height:38px;
  margin:0;
  padding:6px 7px;
  opacity:1;
  pointer-events:auto;
  border:1px solid #bdccd8;
  border-radius:9px;
  background:#fff;
  color:#102136;
  font:inherit;
  font-size:12px;
  font-weight:800;
}
#followupsPanel .crm-followup-stage-save {
  display:block;
  min-height:14px;
  color:#587044;
  font-size:9px;
  font-weight:800;
  line-height:1.25;
  text-align:center;
}
#followupsPanel .crm-followup-stage-save.is-saving { color:#6c7d8a; }
#followupsPanel .crm-followup-stage-save.is-error { color:#a8322c; }
#followupsPanel .crm-followup-controls {
  grid-template-columns:minmax(300px,1.35fr) minmax(155px,.65fr) minmax(190px,.8fr) minmax(150px,.62fr) minmax(150px,.62fr) auto;
}
#followupsPanel .crm-followup-search-field { grid-column:auto; }
#followupsPanel .crm-followup-filter-buttons {
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
}
@media (max-width:1500px) {
  #followupsPanel .crm-followup-timing-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
  #followupsPanel .crm-followup-controls { grid-template-columns:repeat(4,minmax(150px,1fr)); }
  #followupsPanel .crm-followup-search-field { grid-column:span 2; }
  #followupsPanel .crm-followup-filter-buttons { grid-column:span 2; justify-content:end; }
}
@media (max-width:900px) {
  #followupsPanel .crm-followup-timing-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #followupsPanel .crm-followup-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #followupsPanel .crm-followup-search-field,
  #followupsPanel .crm-followup-filter-buttons { grid-column:1/-1; }
  #followupsPanel .crm-followup-filter-buttons { justify-content:stretch; }
}
@media (max-width:600px) {
  #followupsPanel .crm-followup-timing-options,
  #followupsPanel .crm-followup-controls { grid-template-columns:1fr; }
  #followupsPanel .crm-followup-search-field,
  #followupsPanel .crm-followup-filter-buttons { grid-column:auto; }
  #followupsPanel .crm-followup-filter-buttons { grid-template-columns:1fr; }
}

/* 2026-07-21 · Tab 06 general wildcard and history-search diagnostics v9 */
#followupsPanel .crm-followup-search-diagnostics {
  margin-top: 13px;
  padding: 14px;
  border: 1px solid #c9d9e4;
  border-radius: 14px;
  background: #f7fafc;
}
#followupsPanel .crm-followup-search-diagnostics[hidden] { display: none !important; }
#followupsPanel .crm-followup-search-diagnostics-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}
#followupsPanel .crm-followup-search-diagnostics-head h4 {
  margin: 2px 0 0;
  font-size: 15px;
  line-height: 1.25;
}
#followupsPanel .crm-followup-search-diagnostics-head > span {
  color: #52687a;
  font-size: 11px;
  font-weight: 800;
  text-align: right;
}
#followupsPanel .crm-followup-search-diagnostics-list {
  display: grid;
  gap: 7px;
}
#followupsPanel .crm-followup-search-diagnostics-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 11px;
  border: 1px solid #dbe5eb;
  border-radius: 10px;
  background: #fff;
}
#followupsPanel .crm-followup-search-diagnostics-list article > div {
  display: grid;
  min-width: 0;
  gap: 2px;
}
#followupsPanel .crm-followup-search-diagnostics-list strong,
#followupsPanel .crm-followup-search-diagnostics-list small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#followupsPanel .crm-followup-search-diagnostics-list small,
#followupsPanel .crm-followup-search-diagnostics-list time {
  color: #607184;
  font-size: 11px;
}
#followupsPanel .crm-followup-search-diagnostics-list article > span {
  max-width: 270px;
  padding: 6px 8px;
  border-radius: 999px;
  background: #e9eff4;
  color: #40536a;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}
@media (max-width: 760px) {
  #followupsPanel .crm-followup-search-diagnostics-head,
  #followupsPanel .crm-followup-search-diagnostics-list article {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
  }
  #followupsPanel .crm-followup-search-diagnostics-head > span { text-align: left; }
  #followupsPanel .crm-followup-search-diagnostics-list article > span { max-width: none; justify-self: start; }
}

/* 2026-07-21 · mandatory tested-snapshot bulk release and legacy tracking v10 */
#followupsPanel .crm-followup-signal.is-legacy_untracked {
  background: #f1edf8;
  color: #5d4678;
}
#followupsPanel .crm-followup-priority.is-4 {
  background: #f1edf8;
  color: #5d4678;
}
#followupsPanel .crm-followup-priority.is-5 {
  background: #edf2f5;
  color: #40536a;
}
#followupsPanel .crm-followup-bulk-test-gate {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(360px, 1.15fr);
  align-items: start;
  gap: 18px;
  margin-top: 14px;
  padding: 15px 16px;
  border: 1px solid #d4bf84;
  border-radius: 14px;
  background: #fffaf0;
}
#followupsPanel .crm-followup-bulk-test-gate[hidden] { display: none !important; }
#followupsPanel .crm-followup-bulk-test-gate.is-valid {
  border-color: #a7ce77;
  background: #f5ffe9;
}
#followupsPanel .crm-followup-bulk-test-gate.is-invalid {
  border-color: #e2b9ad;
  background: #fff7f4;
}
#followupsPanel .crm-followup-bulk-test-gate h4 {
  margin: 3px 0 6px;
  color: #102136;
  font-size: 16px;
  line-height: 1.3;
}
#followupsPanel .crm-followup-bulk-test-gate p {
  margin: 0;
  color: #52687a;
  font-size: 12px;
  line-height: 1.5;
}
#followupsPanel .crm-followup-bulk-test-gate dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}
#followupsPanel .crm-followup-bulk-test-gate dl > div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(122, 146, 100, .25);
  border-radius: 10px;
  background: rgba(255, 255, 255, .82);
}
#followupsPanel .crm-followup-bulk-test-gate dt {
  color: #607184;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
#followupsPanel .crm-followup-bulk-test-gate dd {
  min-width: 0;
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  color: #102136;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
@media (max-width: 900px) {
  #followupsPanel .crm-followup-bulk-test-gate { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  #followupsPanel .crm-followup-bulk-test-gate dl { grid-template-columns: 1fr; }
}

/* 2026-07-22 · Tab 06 Öffnungsfilter und rechte Button-Ausrichtung v12 */
#followupsPanel .crm-followup-controls {
  display:grid;
  grid-template-columns:minmax(270px,1.2fr) minmax(155px,.66fr) minmax(185px,.76fr) minmax(420px,1.45fr);
  align-items:end;
  gap:10px 12px;
}
#followupsPanel .crm-followup-search-field { grid-column:1; }
#followupsPanel .crm-followup-company-state-field { grid-column:3; }
#followupsPanel .crm-followup-open-filter {
  grid-column:4;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:end;
  align-self:end;
  min-width:0;
  margin:0;
  padding:0;
  gap:6px;
  border:0;
  background:transparent;
}
#followupsPanel .crm-followup-open-filter-label {
  grid-column:1 / -1;
  margin:0;
  padding:0;
  color:#52687a;
  font-size:10px;
  font-weight:850;
  letter-spacing:.035em;
  line-height:1.2;
  text-transform:uppercase;
}
#followupsPanel .crm-followup-open-filter label {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:46px;
  margin:0;
  padding:7px 8px;
  gap:6px;
  border:1px solid #bdccd8;
  border-radius:11px;
  background:#fff;
  color:#32495e;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  cursor:pointer;
}
#followupsPanel .crm-followup-open-filter label:has(input:checked) {
  border-color:#79b62d;
  background:#efffdc;
  color:#234500;
  box-shadow:0 0 0 2px rgba(184,255,90,.22);
}
#followupsPanel .crm-followup-open-filter input[type="checkbox"] {
  appearance:auto;
  -webkit-appearance:auto;
  flex:0 0 15px;
  width:15px !important;
  min-width:15px !important;
  height:15px !important;
  min-height:15px !important;
  margin:0;
  padding:0;
  accent-color:#70ae22;
}
#followupsPanel .crm-followup-open-filter small { display:none; }
#followupsPanel .crm-followup-from-field { grid-column:1; }
#followupsPanel .crm-followup-to-field { grid-column:2; }
#followupsPanel .crm-followup-filter-buttons {
  grid-column:3 / 5;
  display:flex;
  align-items:flex-end;
  align-self:end;
  justify-self:end;
  justify-content:flex-end;
  min-height:46px;
  gap:8px;
}
#followupsPanel .crm-followup-filter-buttons button {
  height:46px;
  min-height:46px;
  margin:0;
  padding:0 16px;
}
#followupsPanel #followupsFilterReset { min-width:132px; }
#followupsPanel #followupsRefreshButton { min-width:170px; }
@media (max-width:1150px) and (min-width:701px) {
  #followupsPanel .crm-followup-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #followupsPanel .crm-followup-search-field { grid-column:1 / -1; }
  #followupsPanel .crm-followup-company-state-field { grid-column:auto; }
  #followupsPanel .crm-followup-open-filter { grid-column:1 / -1; }
  #followupsPanel .crm-followup-from-field,
  #followupsPanel .crm-followup-to-field { grid-column:auto; }
  #followupsPanel .crm-followup-filter-buttons { grid-column:1 / -1; justify-self:end; }
}
@media (max-width:700px) {
  #followupsPanel .crm-followup-controls { grid-template-columns:1fr; }
  #followupsPanel .crm-followup-search-field,
  #followupsPanel .crm-followup-company-state-field,
  #followupsPanel .crm-followup-open-filter,
  #followupsPanel .crm-followup-from-field,
  #followupsPanel .crm-followup-to-field,
  #followupsPanel .crm-followup-filter-buttons { grid-column:1; }
  #followupsPanel .crm-followup-open-filter { grid-template-columns:1fr; }
  #followupsPanel .crm-followup-open-filter-label { grid-column:1; }
  #followupsPanel .crm-followup-open-filter label { justify-content:flex-start; width:100%; }
  #followupsPanel .crm-followup-open-filter small { display:block; color:#607184; font-size:10px; }
  #followupsPanel .crm-followup-filter-buttons { display:grid; grid-template-columns:1fr; justify-self:stretch; }
  #followupsPanel .crm-followup-filter-buttons button { width:100%; }
}

/* 2026-07-22 · Tab 06 mobile live-area correction v16 */
@media (max-width: 900px) {
  #followupsPanel,
  #followupsPanel .crm-followup-bulk,
  #followupsPanel .crm-followup-live-grid,
  #followupsPanel .crm-followup-chart,
  #followupsPanel .crm-followup-event-log {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  #followupsPanel .crm-followup-live-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    gap: 12px;
    align-items: start;
  }

  #followupsPanel .crm-followup-chart,
  #followupsPanel .crm-followup-event-log {
    position: relative;
    inset: auto;
    width: 100%;
    overflow: hidden;
  }

  #followupsPanel .crm-followup-chart-canvas {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  #followupsPanel .crm-followup-chart-canvas svg {
    width: 720px;
    min-width: 720px;
    max-width: none;
  }

  #followupsPanel .crm-followup-event-log ol,
  #followupsPanel #followupBulkEvents {
    width: 100%;
    max-width: 100%;
    max-height: 340px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  #followupsPanel #followupBulkEvents li {
    grid-template-columns: 64px minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    gap: 8px;
  }

  #followupsPanel #followupBulkEvents li > span,
  #followupsPanel #followupBulkEvents li strong {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

@media (max-width: 560px) {
  #followupsPanel .crm-followup-bulk-progress > div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
  }

  #followupsPanel .crm-followup-bulk-progress > div span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  #followupsPanel .crm-followup-chart,
  #followupsPanel .crm-followup-event-log {
    padding: 12px;
  }

  #followupsPanel .crm-followup-chart-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
  }

  #followupsPanel .crm-followup-chart-head span {
    max-width: 100%;
    text-align: left;
    overflow-wrap: anywhere;
  }

  #followupsPanel #followupBulkEvents li {
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 10px 0;
    font-size: 11px;
  }
}
