/* =========================================================
   KPM – Kampagnen Manager
   Zentrale Stylesheet-Datei
   ========================================================= */

/* =========================
   Base / Reset
   ========================= */
* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

.login-panel-footer { flex-wrap: wrap; gap: .65rem 1rem; }
.login-legal-links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.login-legal-links a { color: inherit; text-underline-offset: .2em; }
.public-legal-page { padding: clamp(1rem, 3vw, 3rem); background: #f4f8f6; color: #243b32; line-height: 1.65; }
.public-legal-page::before { display: none; }
.public-legal-header, .public-legal-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem; border-bottom: 1px solid #ccddd4; }
.public-legal-brand { color: #105b48; font-size: 1.2rem; font-weight: 750; text-decoration: none; }
.public-legal-brand span { display: block; font-size: .8rem; font-weight: 500; }
.public-legal-header nav, .public-legal-footer { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.public-legal-page a { color: #105b48; text-underline-offset: .2em; overflow-wrap: anywhere; }
.public-legal-page a[aria-current="page"] { font-weight: 750; }
.public-legal-page a:focus-visible { outline: 3px solid #14735b; outline-offset: 4px; }
.public-legal-main { padding-block: 2rem; }
.public-legal-main h1 { font-size: clamp(1.8rem, 4vw, 3rem); overflow-wrap: anywhere; margin: .5rem 0; }
.public-legal-eyebrow { color: #557165; font-size: .85rem; }
.public-legal-intro { font-size: 1.1rem; max-width: 78ch; }
.public-legal-index { padding: 1rem 1.25rem; border: 1px solid #ccddd4; background: #fff; border-radius: .65rem; max-width: 90ch; }
.public-legal-index h2 { margin-top: 0; font-size: 1rem; }
.public-legal-index ul { margin-bottom: 0; padding-left: 1.25rem; }
.public-legal-main article { max-width: 90ch; }
.public-legal-main section { padding-top: 1.5rem; scroll-margin-top: 1rem; }
.public-legal-main section h2 { font-size: 1.25rem; }
.public-legal-footer { border-top: 1px solid #ccddd4; border-bottom: 0; justify-content: flex-start; font-size: .85rem; }
.public-legal-skip { position: absolute; top: -5rem; }
.public-legal-skip:focus { position: static; }

html {
  background: #f5f6f8;
}

body {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  padding: 40px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont,
               "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  background: transparent;
  color: #111;
  line-height: 1.4;
}

/* Separate photo layer keeps content fully opaque. */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url('../images/callcenter-background.webp') center / cover no-repeat;
  opacity: 0.14;
}

.login-page { padding: 0; background: #fafbf9; color: #1b302b; }
.login-page::before { display: none; }
.login-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); min-height: 100vh; min-height: 100svh; }
.login-story { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; gap: clamp(1.5rem, 4vh, 3rem); padding: clamp(1.5rem, 4vh, 3rem) clamp(2rem, 5vw, 5rem); color: #fff; background: #103b32; overflow: hidden; }
.login-story::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 35, 28, .34), rgba(8, 35, 28, .66) 40%, #082a23 100%), url('../images/callcenter-background.webp') 44% center / cover no-repeat; }
.login-brand { display: flex; align-items: center; gap: .85rem; font-size: 1.65rem; font-weight: 750; letter-spacing: -.04em; line-height: 1.1; }
.login-brand-mark { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid #ffffff70; border-radius: .9rem; background: #ffffff14; font-size: 1.8rem; }
.login-brand-company { display: block; margin-top: .35rem; font-size: .72rem; font-weight: 500; letter-spacing: .12em; }
.login-story-content { margin-block: auto; max-width: 42rem; container-type: inline-size; }
.login-page .login-eyebrow { margin: 0 0 1.25rem; font-size: .74rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.login-story .login-eyebrow { color: #d8e5b2; }
.login-page .login-story h1 { margin: 0; color: #fff; font-size: clamp(1rem, 10.5cqw, 5rem); line-height: 1.06; font-weight: 650; letter-spacing: -.055em; }
.login-story h1 > span { display: block; white-space: nowrap; }
.login-story-description { max-width: 33rem; margin: 1.75rem 0 2rem; color: #e0eae5; font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.8; }
.login-topics { display: flex; flex-wrap: wrap; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.login-topics li { padding: .55rem .8rem; border: 1px solid #ffffff38; border-radius: 2rem; background: #092b2380; color: #edf3ee; font-size: .78rem; }
.login-story-footer { margin: 0; color: #b8cdc4; font-size: .78rem; }
.login-panel { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(1.5rem, 4vh, 3rem) clamp(2rem, 6vw, 6rem); }
.login-form-container { flex-shrink: 0; width: 100%; max-width: 30rem; margin-block: auto; padding-block: .5rem; }
.login-panel .login-eyebrow { color: #14735b; }
.login-page .login-panel h2 { margin: 0 0 .9rem; color: #19372e; font-size: clamp(1.9rem, 3vw, 2.7rem); font-weight: 650; line-height: 1.12; letter-spacing: -.045em; }
.login-introduction { margin: 0 0 2.5rem; color: #64726c; font-size: .95rem; line-height: 1.7; }
.login-form { display: grid; gap: 1.5rem; }
.login-page .login-form label { display: block; margin: 0 0 .6rem; color: #243c32; font-size: .85rem; font-weight: 650; }
.login-page .login-form input { display: block; width: 100%; max-width: none; min-height: 3.3rem; margin: 0; padding: .85rem 1rem; border: 1px solid #cbd6ce; border-radius: .65rem; background: #fff; color: #19372e; font: inherit; box-shadow: 0 2px 3px #132d2204; }
.login-page .login-form input:focus-visible { outline: 3px solid #14735b30; outline-offset: 2px; border-color: #14735b; }
.login-password-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem 1rem; }
.login-page .login-password-heading a { margin-bottom: .6rem; color: #256f57; font-size: .8rem; text-underline-offset: .2em; }
.login-page .login-submit { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 3.35rem; margin: .4rem 0 0; padding: .85rem 1.1rem; border: 1px solid #105b48; border-radius: .65rem; background: #105b48; color: #fff; font: inherit; font-weight: 650; cursor: pointer; box-shadow: 0 6px 14px #105b481a; }
.login-page .login-submit:hover { background: #0b4738; }
.login-submit span { font-size: 1.35rem; line-height: 1; }
.login-page a:focus-visible, .login-submit:focus-visible { outline: 3px solid #14735b; outline-offset: 4px; }
.login-account-note { margin: 1.75rem 0 0; color: #6c7871; font-size: .8rem; line-height: 1.7; }
.login-sso-divider { display: flex; align-items: center; gap: 14px; margin: 1.75rem 0 1.1rem; color: #6c7871; font-size: .8rem; }
.login-sso-divider::before, .login-sso-divider::after { content: ''; flex: 1; height: 1px; background: #d5e2da; }
.login-sso-options { display: grid; gap: .75rem; }
.login-page .login-sso-button { position: relative; display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 3.25rem; margin: 0; padding: .8rem 2.9rem; border: 1px solid #b8cec2; border-radius: .65rem; background: #f5faf7; color: #244c3d; font: inherit; font-size: .9rem; font-weight: 550; line-height: 1.4; }
.login-page .login-sso-button:disabled { opacity: 1; cursor: not-allowed; }
.login-sso-options form { margin: 0; }
.login-page .login-sso-button:not(:disabled) { cursor: pointer; }
.login-page .login-sso-button:not(:disabled):hover { background: #e6f4ec; border-color: #14735b; }
.login-page .login-sso-button:focus-visible { outline: 3px solid #14735b; outline-offset: 3px; }
.login-sso-button svg { position: absolute; left: 1rem; width: 21px; height: 21px; }
.login-sso-note { margin: .75rem 0 0; color: #63746d; font-size: .75rem; line-height: 1.5; text-align: center; }
.login-panel-footer { display: flex; flex-shrink: 0; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; margin-top: 1.5rem; color: #6c7871; font-size: .7rem; }
.login-notice { padding: 1rem; margin: 0 0 1.5rem; border: 1px solid #d2b96b; border-left-width: 4px; border-radius: .6rem; background: #fff7dc; color: #5f4913; font-size: .88rem; line-height: 1.6; }
.login-notice-error { border-color: #c25f5f; background: #fff0ee; color: #852c2c; }
@media (min-width: 1600px) { .login-form-container { max-width: 36rem; } }
@media (min-width: 851px) and (max-height: 800px) {
  .login-story, .login-panel { padding-block: 1rem; }
  .login-form-container { padding-block: 0; }
  .login-page .login-panel .login-eyebrow { margin-bottom: .75rem; }
  .login-page .login-panel h2 { margin-bottom: .65rem; }
  .login-introduction { margin-bottom: 1rem; }
  .login-form { gap: 1rem; }
  .login-page .login-form label { margin-bottom: .4rem; }
  .login-page .login-form input { min-height: 2.75rem; padding: .65rem .85rem; }
  .login-page .login-submit { min-height: 2.75rem; margin-top: .2rem; padding: .65rem .85rem; }
  .login-sso-divider { margin: 1.25rem 0 .75rem; }
  .login-page .login-sso-button { min-height: 2.75rem; padding-block: .65rem; }
  .login-account-note { margin: 1.25rem 0 0; }
  .login-panel-footer { margin-top: 1.25rem; }
}
@media (max-width: 850px) {
  .login-layout { grid-template-columns: minmax(0, 1fr); }
  .login-story { gap: 2rem; padding: 2rem 1.5rem; }
  .login-story::before { background-position: center 38%; }
  .login-story-content { margin-top: 1rem; max-width: 38rem; }
  .login-page .login-story h1 { font-size: clamp(1rem, 10.5cqw, 3.5rem); }
  .login-story-description { margin: 1rem 0 1.5rem; }
  .login-story-footer { display: none; }
  .login-panel { padding: 2.5rem 1.5rem 1.5rem; }
  .login-form-container { max-width: none; padding: 0; }
  .login-panel-footer { margin-top: 2.5rem; }
}
@media (max-width: 420px) { .login-topics { gap: .4rem; } .login-topics li { font-size: .7rem; padding: .4rem .65rem; } }

.login-arrival { overflow-x: clip; }
.kpm-session-curtain { display:none; position:fixed; inset:0; z-index:1000; pointer-events:none; perspective:100rem; }
.login-arrival .kpm-session-curtain, .logout-departure .kpm-session-curtain { display:block; }
.kpm-session-door { position:absolute; inset-block:0; width:50.1%; background:radial-gradient(ellipse at center,#22574e,#0b282e); backface-visibility:hidden; box-shadow:0 0 5rem #051e2770; }
.kpm-session-door-left { left:0; transform-origin:left center; }
.kpm-session-door-right { right:0; transform-origin:right center; }
.kpm-session-brand { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; color:#e7f6ee; }
.kpm-session-brand strong { font-size:clamp(3rem,8vw,6rem); font-weight:800; letter-spacing:.2em; padding-left:.2em; text-shadow:0 .2rem 2rem #0004; }
.kpm-session-brand span { font-size:.85rem; letter-spacing:.1em; text-align:center; padding:0 1rem; }
.kpm-session-goodbye { display:none; }
.login-arrival .kpm-session-door-left { animation:kpm-door-open-left 2.4s cubic-bezier(.65,0,.2,1) both; }
.login-arrival .kpm-session-door-right { animation:kpm-door-open-right 2.4s cubic-bezier(.65,0,.2,1) both; }
.login-arrival .kpm-session-brand { animation:kpm-brand-reveal 1.3s ease both; }
.login-arrival .project-sidebar { animation:kpm-login-menu 2s 0.5s cubic-bezier(.22,1,.36,1) both; }
.login-arrival .campaign-shell { animation:kpm-login-workspace 2.3s 0.3s cubic-bezier(.22,1,.36,1) both; }
.login-arrival .dashboard-metric { animation:kpm-widget-arrive 1.4s 0.8s cubic-bezier(.22,1,.36,1) both; }
.login-arrival .dashboard-metric:nth-child(2) { animation-delay:1s; }
.login-arrival .dashboard-metric:nth-child(3) { animation-delay:1.2s; }
.login-arrival .dashboard-metric:nth-child(4) { animation-delay:1.4s; }
.login-arrival .dashboard-widget { animation:kpm-widget-arrive 1.6s 1.3s cubic-bezier(.22,1,.36,1) both; }
.login-arrival .dashboard-widget:nth-child(2) { animation-delay:1.6s; }
.login-arrival .dashboard-widget:nth-child(n+3) { animation-delay:1.8s; }
.logout-departure { overflow-x:clip; }
.logout-departure .kpm-session-curtain { pointer-events:auto; cursor:wait; }
.logout-departure .kpm-session-door-left { animation:kpm-door-close-left 1.2s cubic-bezier(.4,0,.2,1) both; }
.logout-departure .kpm-session-door-right { animation:kpm-door-close-right 1.2s cubic-bezier(.4,0,.2,1) both; }
.logout-departure .kpm-session-brand { animation:kpm-brand-goodbye 1s 0.24s ease both; }
.logout-departure .kpm-session-welcome { display:none; }
.logout-departure .kpm-session-goodbye { display:block; }
.logout-departure .campaign-shell { animation:kpm-workspace-leave 1s ease both; }
.logout-departure .project-sidebar { animation:kpm-menu-leave 0.9s ease both; }
@keyframes kpm-door-open-left { 0%,12% { transform:translateX(0) rotateY(0); } 100% { transform:translateX(-105%) rotateY(-18deg); visibility:hidden; } }
@keyframes kpm-door-open-right { 0%,12% { transform:translateX(0) rotateY(0); } 100% { transform:translateX(105%) rotateY(18deg); visibility:hidden; } }
@keyframes kpm-door-close-left { from { transform:translateX(-105%) rotateY(-18deg); } to { transform:translateX(0) rotateY(0); } }
@keyframes kpm-door-close-right { from { transform:translateX(105%) rotateY(18deg); } to { transform:translateX(0) rotateY(0); } }
@keyframes kpm-brand-reveal { 0%,35% { opacity:1; transform:scale(1); } 100% { opacity:0; transform:scale(1.12); visibility:hidden; } }
@keyframes kpm-brand-goodbye { from { opacity:0; transform:scale(.95); } to { opacity:1; transform:scale(1); } }
@keyframes kpm-login-menu { from { opacity:0; transform:translateX(-3rem); } to { opacity:1; transform:translateX(0); } }
@keyframes kpm-login-workspace { from { opacity:0; transform:perspective(100rem) translateY(2rem) rotateX(4deg) scale(.95); } to { opacity:1; transform:perspective(100rem) translateY(0) rotateX(0) scale(1); } }
@keyframes kpm-widget-arrive { from { opacity:0; transform:translateY(1.5rem) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes kpm-workspace-leave { from { opacity:1; transform:scale(1); } to { opacity:0; transform:translateY(1rem) scale(.95); } }
@keyframes kpm-menu-leave { from { opacity:1; transform:translateX(0); } to { opacity:0; transform:translateX(-2rem); } }
@media (prefers-reduced-motion: reduce) {
  .login-arrival .kpm-session-curtain, .logout-departure .kpm-session-curtain { display:none; }
  .login-arrival .project-sidebar, .login-arrival .campaign-shell, .login-arrival .dashboard-metric, .login-arrival .dashboard-widget, .logout-departure .project-sidebar, .logout-departure .campaign-shell { animation:none; }
}

@media print {
  body::before {
    display: none;
  }
}

.has-project-sidebar { --sidebar-width: 19rem; padding-left: calc(var(--sidebar-width) + 40px) !important; }
.has-project-sidebar.sidebar-collapsed { padding-left: 100px !important; }
.project-sidebar {
  display: flex;
  flex-direction: column;
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 20;
  width: var(--sidebar-width, 19rem);
  padding: 20px 12px;
  border-right: 1px solid #dfe3e8;
  background: #fff;
  overflow-y: auto;
}
.sidebar-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 28px; }
.sidebar-brand { padding-left: 12px; color: #14735b; font-size: 20px; font-weight: 700; }
.sidebar-profile { display:flex; align-items:center; gap:.65rem; min-width:0; color:#173e32; text-decoration:none; border-radius:.5rem; padding:.25rem; }
.sidebar-profile, .sidebar-profile:hover, .sidebar-profile[aria-current="page"] { background:transparent; }
.sidebar-profile:focus-visible { outline:2px solid #14735b; outline-offset:2px; }
.sidebar-profile-name { min-width:0; overflow-wrap:anywhere; font-weight:650; }
.user-profile-avatar { position:relative; display:inline-flex; align-items:center; justify-content:center; flex:0 0 2.25rem; width:2.25rem; height:2.25rem; overflow:hidden; border-radius:50%; background:#dcece5; color:#105b48; font-size:.85rem; font-weight:700; }
.user-profile-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.user-profile-avatar img[hidden] { display:none; }
.user-profile-heading { display:flex; align-items:center; gap:.75rem; }
.user-profile-page .campaign-shell { width:100%; max-width:none; margin-left:0; margin-right:0; }
.user-profile-card { padding:0; overflow:hidden; }
.user-profile-hero { display:flex; align-items:center; flex-wrap:wrap; gap:1.5rem; padding:clamp(1.25rem,3vw,2.5rem); background:linear-gradient(120deg,#edf5f1,#f8faf9); border-bottom:1px solid #dfe8e2; }
.user-profile-hero .user-profile-avatar { flex-basis:5rem; width:5rem; height:5rem; font-size:1.65rem; box-shadow:0 0 0 .3rem #fff,0 .35rem 1rem #173e3214; }
.user-profile-identity { flex:1 1 15rem; min-width:0; overflow-wrap:anywhere; }
.user-profile-eyebrow { margin:0 0 .35rem; color:#547364; font-size:.75rem; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.user-profile-identity h2 { margin:0; font-size:clamp(1.4rem,2.3vw,2rem); line-height:1.25; color:#173e32; }
.user-profile-email { margin:.45rem 0 .85rem; color:#596b63; }
.user-profile-badges { display:flex; flex-wrap:wrap; gap:.5rem; }
.user-profile-badges>span { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; padding:.3rem .65rem; border:1px solid #d7e6dd; border-radius:2rem; background:#fff; color:#315b47; font-size:.8rem; line-height:1.25; text-align:center; }
.user-profile-badges .ui-icon { flex-shrink:0; width:1rem; height:1rem; }
.user-profile-details { padding:clamp(1.25rem,3vw,2.5rem); }
.user-profile-details h3 { margin:0 0 1.25rem; font-size:1rem; }
.user-profile-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1.5rem 2rem; margin:0; }
.user-profile-fields>div { min-width:0; padding-bottom:1rem; border-bottom:1px solid #edf0ee; }
.user-profile-fields dt { margin-bottom:.4rem; color:#6b7871; font-size:.8rem; }
.user-profile-fields dd { margin:0; font-weight:550; overflow-wrap:anywhere; }
.user-profile-note { display:flex; align-items:flex-start; gap:.65rem; padding:1rem clamp(1.25rem,3vw,2.5rem); background:#fafbfaff; border-top:1px solid #edf0ee; color:#65736b; font-size:.85rem; }
.user-profile-note p { margin:0; }
.user-profile-note>.ui-icon { flex-shrink:0; margin-top:.1rem; }
.sidebar-collapsed .sidebar-heading { flex-direction:column; }
.project-sidebar nav { display: grid; gap: 6px; }
.project-sidebar > .sidebar-heading, .project-sidebar > nav { flex-shrink: 0; }
.sidebar-footer { margin-top: auto; padding-top: 24px; flex-shrink: 0; }
.app-build { color: #748078; font-size: .65rem; font-weight: 400; }
.sidebar-build { display: block; padding: .45rem .75rem; text-align: center; }
.database-update-list { display: grid; gap: 1rem; }
.database-update-list > .card { margin: 0; min-width: 0; }
.database-update-form { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; }
.database-update-form > div { flex: 1 1 18rem; min-width: 0; }
.database-update-form > button { max-width: 100%; white-space: normal; }
.sidebar-logout { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 12px; border-top: 1px solid #dfe3e8; color: #38424c; text-decoration: none; }
.sidebar-logout:hover { background: #f0f3f5; }
.sidebar-collapsed .sidebar-logout { justify-content: center; padding: 10px; }
.sidebar-menu-group { display: grid; gap: 6px; }
.sidebar-group-toggle { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; border: 0; border-radius: 6px; padding: 10px 12px; background: transparent; color: #38424c; font: inherit; font-size: 16px; font-weight: 650; text-align: left; cursor: pointer; }
.sidebar-group-toggle:hover { background: #f0f3f5; }
.sidebar-group-toggle[data-active="1"] { color: #105b48; }
.sidebar-group-chevron { margin-left: auto; display: flex; }
.sidebar-group-toggle[aria-expanded="true"] .sidebar-group-chevron { transform: rotate(180deg); }
.sidebar-submenu { display: grid; gap: 4px; }
.sidebar-submenu[hidden] { display: none; }
.sidebar-submenu > .sidebar-menu-group > .sidebar-group-toggle { padding-left: 24px; font-size: 14px; }
.project-sidebar nav .sidebar-submenu .sidebar-submenu .sidebar-submenu-link { padding-left: 38px; }
.sidebar-group-toggle .sidebar-label { min-width: 0; overflow-wrap: normal; word-break: normal; hyphens: none; }
.project-sidebar nav .sidebar-submenu-link { font-size: 14px; }
.project-sidebar .sidebar-submenu-link .sidebar-label { min-width: 0; overflow-wrap: normal; word-break: normal; hyphens: none; }
.project-sidebar nav .sidebar-submenu-link { padding-left: 24px; }
.project-sidebar nav a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 12px; border-radius: 6px; color: #38424c; text-decoration: none; }
.project-sidebar nav a:hover { background: #f0f3f5; }
.project-sidebar nav .sidebar-main-link { font-size: 16px; font-weight: 650; }
.project-sidebar nav a[aria-current] { color: #105b48; background: #e7f5ed; font-weight: 650; }
.project-sidebar .ui-icon { flex: 0 0 18px; }
.project-sidebar a:focus-visible,
.project-sidebar button:focus-visible { outline: 2px solid #14735b; outline-offset: 2px; }
.sidebar-collapsed .project-sidebar { width: 68px; padding: 20px 8px; }
.sidebar-collapsed .sidebar-label { display: none; }
.sidebar-collapsed .sidebar-heading { justify-content: center; }
.sidebar-collapsed #sidebar_toggle .ui-icon { transform: rotate(180deg); }
.sidebar-collapsed .project-sidebar nav a { justify-content: center; padding: 10px; }
.sidebar-collapsed .project-sidebar nav .sidebar-submenu-link { padding: 10px; }
.sidebar-collapsed .sidebar-group-toggle { justify-content: center; padding: 10px; }
.sidebar-collapsed .sidebar-group-chevron { display: none; }
.sidebar-collapsed .sidebar-submenu { display: none; }
.lead-directory-page .campaign-shell,
.call-page .campaign-shell { width: min(1400px, 100%); }
.lead-directory-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 24px; }
.lead-directory-search { flex: 1 1 320px; }
.lead-directory-create { flex: 0 1 420px; }
.lead-directory-toolbar form:not(.lead-directory-filters) > div { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.lead-directory-toolbar input[type="search"],
.lead-directory-toolbar select { flex: 1 1 180px; min-width: 0; }
.campaign-lead-table-wrap { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; }
.mailing-process-tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid #dfe3e8; margin: 0 0 24px; }
.mailing-process-tabs button { display: inline-flex; align-items: center; gap: 8px; padding: 12px 14px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #59636f; font: inherit; font-size: 14px; cursor: pointer; }
.mailing-process-tabs button[aria-selected="true"] { border-bottom-color: #14735b; color: #105b48; font-weight: 650; }
.mailing-process-tabs button:hover { background: #f0f3f5; }
.mailing-process-tabs button:focus-visible { outline: 2px solid #14735b; outline-offset: -2px; }
.mailing-process-tabs .ui-icon { flex-shrink: 0; }
.mailing-process-panel { min-width: 0; }
.mail-queue-controls { padding: 16px 0; border-block: 1px solid #dfe3e8; }
.campaign-mail-queue { margin: 0 0 24px; padding: 16px 0; border-block: 1px solid #dfe3e8; }
.campaign-mail-queue .campaign-header { flex-wrap: wrap; margin: 0; padding: 0 0 8px; border: 0; gap: 12px; }
.campaign-mail-queue .campaign-header > div { min-width: 0; max-width: 100%; }
.campaign-mail-queue h2 { margin: 0 0 4px; font-size: 18px; overflow-wrap: anywhere; }
.campaign-queue-status { margin-top: 12px; }
.campaign-queue-label { color: #59636f; font-size: 12px; font-weight: 650; }
.campaign-queue-status .stats { margin-top: 6px; }
.mail-status-badge,
.campaign-mail-queue .mail-queue-filters a.mail-status-badge { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 6px; max-width: 100%; padding: 5px 10px; border: 1px solid var(--badge-border, #dce1e7); border-radius: 6px; background: var(--badge-bg, #f0f2f5); color: var(--badge-color, #485361); font-size: 12px; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.mail-status-badge strong { color: inherit; font-variant-numeric: tabular-nums; }
.mail-status-badge[data-state="READY"], .mail-status-badge[data-state="SENDING"],
.campaign-mail-queue .mail-status-badge[data-state="SENDING"] { --badge-bg: #e8f1fc; --badge-border: #bed3ef; --badge-color: #275b90; }
.mail-status-badge[data-state="PENDING"],
.campaign-mail-queue .mail-status-badge[data-state="PENDING"] { --badge-bg: #fff5db; --badge-border: #ead69d; --badge-color: #795716; }
.mail-status-badge[data-state="SENT"],
.campaign-mail-queue .mail-status-badge[data-state="SENT"] { --badge-bg: #e6f4ed; --badge-border: #b5dbc7; --badge-color: #246347; }
.mail-status-badge[data-state="FAILED"],
.campaign-mail-queue .mail-status-badge[data-state="FAILED"] { --badge-bg: #fdebed; --badge-border: #edbdc4; --badge-color: #a52b3a; }
.mail-status-badge[data-state="UNKNOWN"],
.campaign-mail-queue .mail-status-badge[data-state="UNKNOWN"] { --badge-bg: #fff0e4; --badge-border: #ebc5a7; --badge-color: #8f4f21; }
.campaign-mail-queue .mail-queue-filters a.mail-status-badge:hover { filter: brightness(0.96); }
.campaign-mail-queue .mail-queue-filters a.mail-status-badge:focus-visible { outline: 2px solid #14735b; outline-offset: 3px; }
.email-results-summary { padding: 16px 0; border-bottom: 1px solid #dfe3e8; }
.email-results-summary h2, .email-results-recipients h2, .email-result-detail h2 { margin: 0 0 12px; font-size: 18px; }
.email-results-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.email-results-badges a[aria-current] { outline: 2px solid #14735b; outline-offset: 1px; }
.email-results-badges a:hover { filter: brightness(0.96); }
.email-results-badges a:focus-visible { outline: 2px solid #14735b; outline-offset: 3px; }
.email-results-recipients, .email-result-detail { padding: 24px 0; min-width: 0; }
.email-results-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.email-results-filter .campaign-field { flex: 1 1 180px; min-width: 0; margin: 0; }
.email-results-filter select { width: 100%; min-width: 0; }
.email-overview-page > .campaign-shell { width:100%; max-width:none; min-width:0; margin-inline:0; }
.email-overview-page .email-overview-header { align-items:flex-start; flex-wrap:wrap; gap:1rem; }
.email-overview-header > div { flex:1 1 22rem; min-width:0; }
.email-overview-header h1 { margin:0 0 .65rem; overflow-wrap:anywhere; }
.email-overview-eyebrow { margin:0 0 .5rem; color:#64748b; font-size:.8rem; }
.email-overview-header > .navigation { flex:0 1 auto; max-width:100%; justify-content:flex-end; }
.email-overview-header .btn { font-size:.85rem; }
.email-overview-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap:1rem; margin:1.25rem 0; }
.email-overview-metrics > div { min-width:0; padding:1rem 1.25rem; border:1px solid #dfe3e8; border-radius:.7rem; background:#fff; }
.email-overview-metrics dt { color:#64748b; font-size:.8rem; }
.email-overview-metrics dd { margin:.5rem 0 0; color:#105b48; font-size:1.8rem; font-weight:700; }
.email-overview-page .dispatch-progress { min-width:0; }
.email-overview-page .dispatch-step-intro,.email-overview-page .email-results-summary,.email-overview-page .email-results-recipients,.email-overview-page .email-result-detail,.email-overview-page .opportunity-section,.email-overview-page .email-dispatch-reset { min-width:0; margin:1.25rem 0; padding:clamp(1rem,2vw,1.5rem); border:1px solid #dfe3e8; border-radius:.75rem; background:#fff; }
.email-overview-page .campaign-form { max-width:none; }
.email-overview-page p,.email-overview-page dd { overflow-wrap:anywhere; }
.email-overview-page .campaign-filter { display:flex; align-items:flex-start; gap:.65rem; min-width:0; }
.email-overview-page input[type="checkbox"],.email-overview-page input[type="radio"] { flex:0 0 1.1rem; width:1.1rem; height:1.1rem; min-width:0; margin:.15rem 0 0; padding:0; accent-color:#14735b; }
.email-overview-page .mail-delivery-scope { grid-template-columns:minmax(8rem,1fr) minmax(0,2fr); gap:.65rem 1rem; }
.email-recipients-heading { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }
.email-recipients-heading h2 { margin:0; }
.email-overview-filters { margin:1rem 0; border:1px solid #dfe3e8; border-radius:.6rem; background:#f8faf9; }
.email-overview-filters > summary { display:flex; align-items:center; gap:.5rem; padding:.9rem 1rem; cursor:pointer; color:#334155; font-weight:600; }
.email-overview-page .email-results-filter { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1rem; margin:0; padding:0 1rem 1rem; }
.email-overview-page .email-results-filter label { font-size:.85rem; }
.email-results-filter-actions { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; }
.email-recipient-range { margin:1rem 0; font-size:.85rem; }
.email-overview-page .email-results-table { min-width:0; table-layout:fixed; }
.email-overview-page .email-results-table th:nth-child(1) { width:26%; }
.email-overview-page .email-results-table th:nth-child(2) { width:27%; }
.email-overview-page .email-results-table th:nth-child(3) { width:18%; }
.email-overview-page .email-results-table th:nth-child(4) { width:21%; }
.email-overview-page .email-results-table th:last-child { width:8%; }
.email-overview-page .email-results-table td { min-width:0; max-width:none; line-height:1.6; }
.email-overview-page .email-results-table th:last-child,.email-overview-page .email-results-table td:last-child { text-align:right; }
.email-overview-page .email-results-table [data-recipient-explanation] { min-width:0; max-width:32ch; font-size:.8rem; }
.email-overview-page .email-results-table tr.is-selected { background:#edf5f1; }
.email-overview-page .email-results-table .email-recipient-clicks .mail-status-badge { font-size:.7rem; }
.email-overview-page .email-dispatch-reset summary { padding:.3rem 0; }
.email-overview-page .dispatch-step-footer { padding:1rem; border:1px solid #dfe3e8; border-radius:.65rem; background:#fff; }
@media(max-width:1100px) {
  .email-overview-page .email-results-table { display:block; }
  .email-overview-page .email-results-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .email-overview-page .email-results-table tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:1rem; background:#f6f8f9; }
  .email-overview-page .email-results-table tr { display:block; min-width:0; padding:1rem; border:1px solid #dfe3e8; border-radius:.6rem; background:#fff; }
  .email-overview-page .email-results-table tr:has(td[colspan]) { grid-column:1/-1; }
  .email-overview-page .email-results-table tbody td { display:block; width:auto; min-width:0; max-width:none; padding:.4rem 0; border:0; text-align:left; }
  .email-overview-page .email-results-table td[data-label]::before { content:attr(data-label); display:block; margin-bottom:.25rem; color:#64748b; font-size:.72rem; font-weight:600; }
  .email-overview-page .email-results-table tbody td:last-child { text-align:right; }
  .email-overview-page .email-results-table td[data-label="Aktion"]::before { display:none; }
}
@media(max-width:650px) {
  .email-overview-page .email-overview-header > .navigation { justify-content:flex-start; }
  .email-overview-page .email-results-table tbody { grid-template-columns:minmax(0,1fr); padding:.65rem; }
  .email-overview-page .mail-delivery-scope { grid-template-columns:minmax(0,1fr); gap:.25rem; }
  .email-overview-page .mail-delivery-scope dd { margin-bottom:.65rem; }
  .email-overview-page .dispatch-step-footer > .btn { width:100%; margin-left:0; }
}
.email-recipient-clicks { margin-top: 8px; }
.lead-directory-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.industry-editor { max-width: 640px; margin-bottom: 24px; }
.industry-editor h2 { font-size: 18px; }
.industry-table td:last-child { min-width: 48px; }
.import-industry-fields { min-width: 0; margin: 20px 0; padding: 16px 0; border: 0; border-top: 1px solid #dfe3e8; }
.import-industry-fields legend { font-weight: 600; }
.import-industry-modes { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.import-industry-modes label, .import-industry-options label { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; }
.import-industry-fields input[type="radio"], .import-industry-fields input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; }
.import-industry-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; max-height: 260px; overflow-y: auto; padding: 4px; }
.import-industry-options label { overflow-wrap: anywhere; }
.import-industry-fields [hidden] { display: none; }
.import-industry-fields select { width: 100%; min-width: 0; }
.source-industry-editor { padding: 20px 0; margin-bottom: 20px; border-bottom: 1px solid #dfe3e8; scroll-margin-top: 20px; }
.source-industry-editor h2 { font-size: 18px; }
.source-industry-editor input[type="checkbox"], .source-industry-editor input[type="radio"] { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; }
.source-industry-modes { margin-top: 20px; }
@media (max-width: 600px) { .import-industry-options { grid-template-columns: minmax(0,1fr); } }
.lead-directory-actions form { margin: 0; }
.lead-directory-actions button:disabled { opacity: .4; cursor: not-allowed; }
.lead-directory-bulk-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: 0 0 12px; }
.lead-directory-bulk-actions button:disabled { opacity: .4; cursor: not-allowed; }
.lead-selection-cell input[type="checkbox"] { width: 16px; height: 16px; margin: 0; }
.lead-directory-results tr.lead-row-selectable { cursor: pointer; }
.lead-directory-results tr.lead-row-selected > td { background: #e8f1fc; }
.lead-directory-results tr.lead-row-selectable:not(.lead-row-selected):hover > td { background: #f4f7fa; }
.email-status-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.email-status-heading h2 { margin: 0; }
.email-delivery-chart { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 28px; margin: 16px 0 20px; }
.email-delivery-bar { display: grid; grid-template-columns: 150px minmax(0, 1fr) 64px; align-items: center; gap: 10px; min-height: 40px; padding: 4px; color: #485361; text-decoration: none; border-radius: 4px; --bar-color: #929daa; }
.email-delivery-bar:hover, .email-delivery-bar[aria-current] { background: #f0f3f5; }
.email-delivery-bar:focus-visible { outline: 2px solid #14735b; outline-offset: 2px; }
.email-delivery-bar-label { font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.email-delivery-bar-track { display: block; height: 10px; background: #edf0f3; border-radius: 3px; overflow: hidden; }
.email-delivery-bar-fill { display: block; height: 100%; background: var(--bar-color); }
.email-delivery-bar-value { display: grid; gap: 1px; text-align: right; font-size: 12px; font-variant-numeric: tabular-nums; }
.email-delivery-bar-value small { font-size: 11px; color: #68717a; }
.email-delivery-bar[data-state="READY"], .email-delivery-bar[data-state="SENDING"] { --bar-color: #4b85bd; }
.email-delivery-bar[data-state="PENDING"] { --bar-color: #c5a13f; }
.email-delivery-bar[data-state="SENT"] { --bar-color: #39966e; }
.email-delivery-bar[data-state="FAILED"], .email-delivery-bar[data-state="BOUNCES"] { --bar-color: #c65a6b; }
.email-delivery-bar[data-state="UNKNOWN"] { --bar-color: #c68648; }
.email-delivery-bar[data-state="OPENED"] { --bar-color: #3398a5; }
@media (max-width: 1000px) { .email-delivery-chart { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 420px) { .email-delivery-bar { grid-template-columns: 110px minmax(0, 1fr) 54px; gap: 6px; } }
.email-status-legend { padding: 16px 0; margin-bottom: 16px; border-top: 1px solid #dfe3e8; border-bottom: 1px solid #dfe3e8; }
.email-status-legend[hidden] { display: none; }
.email-status-legend h3 { margin: 0 0 12px; font-size: 16px; }
.email-status-legend dl { margin: 0; }
.email-status-legend dl > div { display: grid; grid-template-columns: minmax(160px, 240px) minmax(0, 1fr); gap: 12px; padding: 8px 0; }
.email-status-legend dd { margin: 0; line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 600px) { .email-status-legend dl > div { grid-template-columns: minmax(0, 1fr); gap: 6px; } }
.mail-status-badge[data-state="OPENED"] { --badge-bg: #e8f1fc; --badge-border: #bed3ef; --badge-color: #275b90; }
.email-dispatch-reset { padding: 20px 0; border-top: 1px solid #dfe3e8; }
.email-dispatch-reset summary { cursor: pointer; font-weight: 600; }
.email-dispatch-reset form { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.email-dispatch-reset input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 16px; }
.email-results-table { min-width: 900px; }
.email-results-table td { vertical-align: top; overflow-wrap: anywhere; }
.email-results-table td:first-child { max-width: 260px; }
.email-results-table [data-recipient-explanation] { max-width: 48ch; min-width: 20ch; white-space: normal; margin-bottom: 0; }
.email-result-detail { border-top: 1px solid #dfe3e8; scroll-margin-top: 20px; }
.email-result-detail .campaign-header { flex-wrap: wrap; }
.mail-status-badge[data-state="INTEREST"], .mail-status-badge[data-state="APPOINTMENT"] { --badge-bg: #e6f4ed; --badge-border: #b5dbc7; --badge-color: #246347; }
.mail-status-badge[data-state="RESPONSE"] { --badge-bg: #e8f1fc; --badge-border: #bed3ef; --badge-color: #275b90; }
.mail-status-badge[data-state="BOUNCES"] { --badge-bg: #fdebed; --badge-border: #edbdc4; --badge-color: #a52b3a; }
.mail-status-badge[data-state="PLANNED"], .mail-status-badge[data-state="PAUSED"], .mail-status-badge[data-state="WINDOW"], .mail-status-badge[data-state="LIMIT"] { --badge-bg: #fff5db; --badge-border: #ead69d; --badge-color: #795716; }
.email-results-summary > .campaign-header { flex-wrap: wrap; margin-bottom: 12px; padding-bottom: 12px; }
.email-results-summary > .campaign-header h2 { margin-bottom: 0; }
.unsubscribe-shell { max-width: 640px; padding-top: 32px; }
.unsubscribe-shell h1 { margin-bottom: 24px; font-size: 26px; }
.unsubscribe-shell h2 { font-size: 20px; overflow-wrap: anywhere; }
.mail-delivery-scope { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 20px; padding: 12px 0; border-bottom: 1px solid #dfe3e8; font-size: 14px; }
.mail-delivery-scope dt { color: #59636f; }
.mail-delivery-scope dd { margin: 0; font-weight: 650; }
.mail-queue-controls .navigation { justify-content: flex-start; }
.mail-queue-filters { display: flex; flex-wrap: wrap; gap: 12px; padding: 12px 0; }
.mail-queue-filters a { color: #59636f; text-decoration: none; border-bottom: 2px solid transparent; padding-bottom: 6px; }
.mail-queue-filters a[aria-current] { color: #105b48; border-color: #14735b; }
.mail-queue-review { display: grid; gap: 8px; min-width: 220px; }
.mail-queue-review input[type="checkbox"] { width: auto; margin-right: 6px; }
.mailing-process-panel[hidden], #campaign-editor-form[hidden] { display: none; }
.campaign-lead-table { width: 100%; min-width: 1280px; table-layout: fixed; }
.campaign-lead-table th, .campaign-lead-table td { overflow-wrap: anywhere; vertical-align: top; }
.campaign-lead-table th:nth-child(1) { width: 38px; }
.campaign-lead-table th:nth-child(2) { width: 190px; }
.campaign-lead-table th:nth-child(3) { width: 240px; }
.campaign-lead-table th:nth-child(4) { width: 140px; }
.campaign-lead-table th:nth-child(5), .campaign-lead-table th:nth-child(7) { width: 160px; }
.campaign-lead-table th:nth-child(6) { width: 80px; }
.campaign-lead-table th:nth-child(8) { width: 230px; }
.campaign-lead-table th:nth-child(9) { width: 125px; }
.campaign-lead-table th:nth-child(10) { width: 150px; }
.campaign-lead-table td:nth-child(5), .campaign-lead-table td:nth-child(7) { white-space: nowrap; }
.campaign-lead-actions .btn { margin: 0 0 6px; }
.campaign-lead-actions form { margin: 0; }
.lead-directory-table-wrap { max-width: 100%; overflow-x: auto; background: rgba(255,255,255,.92); }
.lead-directory-table { width: 100%; border-collapse: collapse; text-align: left; }
.lead-directory-table th { padding: 12px 16px; font-size: 12px; color: #59636f; background: #edf1f4; }
.lead-directory-table td { padding: 14px 16px; border-bottom: 1px solid #dfe3e8; font-size: 14px; vertical-align: top; overflow-wrap: anywhere; min-width: 140px; }
.lead-directory-table td:first-child { min-width: 200px; }
.lead-directory-table td[data-label="Kontaktstatus"] { white-space: nowrap; }
.lead-directory-table td[data-label="Aktion"] { white-space: nowrap; }
.lead-directory-table td[data-label="Aktion"] > form { margin: 0; }
.lead-attribute-value { white-space: pre-wrap; overflow-wrap: anywhere; }
.call-lead-attributes { margin-block: 12px; }
.call-lead-attributes dd { overflow-wrap: anywhere; }
.attribute-sort-list { list-style: none; padding: 0; margin: 16px 0; max-height: 65vh; overflow-y: auto; }
.attribute-sort-list > li { display: flex; align-items: center; gap: 12px; padding: 10px; margin-bottom: 6px; border: 1px solid #dfe3e8; border-radius: 8px; background: #fff; }
.attribute-sort-list > li.is-dragging { opacity: .5; }
.attribute-drag-handle { cursor: grab; }
.attribute-drag-handle:active { cursor: grabbing; }
.attribute-sort-number { min-width: 2ch; font-variant-numeric: tabular-nums; }
.attribute-sort-name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.attribute-sort-actions { display: flex; gap: 4px; }
.lead-directory-campaign { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; color: #14735b; }
.lead-directory-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 20px; font-size: 13px; }
.lead-directory-page-jump { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.lead-directory-page-jump label { margin: 0; }
.lead-directory-page-jump input[type="number"] { width: 12ch; min-width: 12ch; max-width: 100%; margin: 0; }
.lead-duplicate-search { margin: 20px 0; padding: 18px 20px; border: 1px solid #dfe6e5; border-radius: 12px; background: #fff; }
.lead-duplicate-search fieldset { min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.lead-duplicate-search legend { margin-bottom: 10px; font-weight: 650; }
.lead-duplicate-search-fields, .lead-duplicate-search-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.lead-duplicate-search-fields label { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.lead-duplicate-search-fields input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; }
.lead-duplicate-search-actions label { margin: 0; }
.lead-duplicate-search-actions select { width: auto; max-width: 100%; margin: 0; }
.lead-duplicate-search > .muted { margin: 12px 0 0; font-size: 13px; }
.lead-source-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; margin-bottom: 24px; border-bottom: 1px solid #dfe3e8; }
.lead-directory-toolbar form { min-width: 0; max-width: 100%; }
.lead-directory-results td:last-child { min-width: 64px; }
.lead-directory-results th.lead-selection-cell,
.lead-directory-results td.lead-selection-cell { width: 1%; min-width: 0; max-width: 36px; padding-left: 10px; padding-right: 10px; text-align: center; white-space: nowrap; }
.lead-directory-campaign .ui-icon { flex-shrink: 0; }
@media (max-width: 1100px) {
  .lead-directory-page .campaign-header { flex-wrap: wrap; }
  .lead-directory-results, .lead-directory-results tbody { display: block; }
  .lead-directory-results thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
  .lead-directory-results tr { display: block; padding: 16px; border-bottom: 1px solid #dfe3e8; }
  .lead-directory-results td,
  .lead-directory-results td:first-child,
  .lead-directory-results td:last-child { display: block; min-width: 0; padding: 4px 0; border: 0; }
  .lead-directory-results td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 3px; font-size: 12px; font-weight: 600; color: #59636f; }
  .lead-directory-results td[data-label]:empty { display: none; }
  .lead-directory-results td.lead-selection-cell { width: auto; max-width: none; text-align: left; }
}
@media (max-width: 760px) {
  .project-sidebar { max-width: calc(100vw - 84px); }
  .has-project-sidebar { padding-left: 84px !important; padding-right: 16px !important; }
  .has-project-sidebar.sidebar-collapsed { padding-left: 84px !important; }
  .has-project-sidebar:not(.sidebar-collapsed) .project-sidebar { box-shadow: 4px 0 16px rgba(0,0,0,.1); }
}
@media print {
  .project-sidebar { display: none; }
  .has-project-sidebar,
  .has-project-sidebar.sidebar-collapsed { padding-left: 0 !important; }
}

/* =========================
   Typography
   ========================= */
h1, h2, h3 {
  margin: 0 0 8px 0;
}

h1 { font-size: 26px; }
h2 { font-size: 20px; }
h3 { font-size: 16px; }

p {
  margin: 6px 0;
}

small {
  font-size: 12px;
  color: #666;
}

.muted {
  color: #666;
  font-size: 14px;
}

/* =========================
   Layout Helpers
   ========================= */

.navigation {
  display: flex;
  justify-content: flex-end; /* alles nach rechts */
  align-items: center;
  gap: 10px;
}

.stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

/* 2 Kacheln nebeneinander (50/50), auf Mobile untereinander */
.grid {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 50/50 */
  gap: 16px;
  align-items: start;             /* gleiche Oberkante */
}

/* Responsive: auf kleineren Screens wieder 1 Spalte */
@media (max-width: 900px) {
  .grid {
    grid-template-columns: 1fr;
  }
}

/* Optional: Cards sollen die volle Spaltenbreite nutzen */
.grid > .card {
  width: 100%;
}


.grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 800px) {
  body {
    padding: 20px;
  }

  .grid2 {
    grid-template-columns: 1fr;
  }
}

/* =========================
   Cards / Panels
   ========================= */
.card {
  border: 1px solid #ddd;
  border-radius: 14px;
  padding: 16px;  
  margin: 5px;
  
  background: #ffffff;
  border: 1px solid #e3e6ea;
  border-radius: 14px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  
}

.card:hover {
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}

.card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 14px;
  pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}

.card.inaktiv {
    background-color: #F88379;
}

/* =========================
   Buttons
   ========================= */
.btn {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #333;
  border-radius: 10px;
  background: #fff;
  color: #111;
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  white-space: nowrap;
}

.btn:hover {
  background: #f3f3f3;
}

.btn.primary {
  background: #111;
  color: #fff;
}

.btn.primary:hover {
  background: #000;
}

.btn.logout {
  background-color: #b00020;
  color: #fff;
  border-color: #b00020;
}

.btn.logout:hover {
  background-color: #8f0019;
}

.btn.oeffnen {
  background-color: #2e7d32;   /* sattes, ruhiges Grün */
  color: #fff;
  border-color: #2e7d32;
}

.btn.oeffnen:hover {
  background-color: #256628;   /* etwas dunkler beim Hover */
  border-color: #256628;
}

.btn.danger {
  background-color: #b00020;
  border-color: #b00020;
  color: #fff;
}
.btn.danger:hover {
  background-color: #8f001a;
  border-color: #8f001a;
}


.callback-buttons {
  display: flex;
  gap: 8px;
  margin-top: 6px;
  flex-wrap: wrap;
}

.btn.small {
  padding: 4px 8px;
  font-size: 13px;
}

.btn.heutefaellig {
    background-color: #ffcc00; /* Ein kräftiges Gelb */
    color: #000;              /* Schwarzer Text für besten Kontrast */
    border: 1px solid #e6b800;
    font-weight: bold;         /* Text hervorheben */
}

.btn.heutefaellig:hover {
    background-color: #e6b800; /* Etwas dunkler beim Drüberfahren */
}

/* =========================
   Forms
   ========================= */
label {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
}

input,
select,
textarea {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #bbb;
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
}

textarea {
  min-height: 90px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #333;
}

/* =========================
   Checkbox Options (Import)
   ========================= */
.option {
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 12px;
}

.option label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.option input[type="checkbox"] {
  transform: scale(1.2);
}

.option-desc {
  margin-left: 32px;
  margin-top: 6px;
  font-size: 14px;
  color: #555;
}

/* =========================
   Statistics / Pills
   ========================= */
.stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.pill {
  display: inline-block;
  border: 1px solid #ddd;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 13px;
  
  background: #f7f8fa;  
  font-weight: 500;
}

.pill strong {
  margin-left: 6px;
}

.pill.success {
  border-color: #0a7a28;
  color: #0a7a28;
}

.pill.warn {
  border-color: #d98200;
  color: #d98200;
}

.pill.danger {
  border-color: #b00020;
  color: #b00020;
}

/* =========================
   Messages / Hints
   ========================= */
.hint {
  margin-bottom: 12px;
  padding: 10px;
  background: #f8f8f8;
  border-left: 4px solid #888;
  font-size: 14px;
}

.error {
  color: #b00020;
  font-weight: 600;
}

.success {
  color: #0a7a28;
  font-weight: 600;
}

/* =========================
   Tables (CSV Preview)
   ========================= */
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

th,
td {
  padding: 6px 8px;
  border-bottom: 1px solid #e0e0e0;
  vertical-align: top;
}

th {
  text-align: left;
  font-weight: 600;
  background: #fafafa;
}

/* =========================
   Links
   ========================= */
a {
  color: inherit;
}

a:hover {
  text-decoration: underline;
}

/* =========================
   Utilities
   ========================= */
.flex {
  display: flex;
}

.flex-row {
  flex-direction: row;
}

.flex-col {
  flex-direction: column;
}

.gap-10 {
  gap: 10px;
}

.gap-12 {
  gap: 12px;
}

.gap-20 {
  gap: 20px;
}

.align-center {
  align-items: center;
}

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

.justify-end {
  justify-content: flex-end;
}

.wrap {
  flex-wrap: wrap;
}

.status-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 8px 0 16px;
}

.status-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: 2px solid #ddd;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 600;
  background: #fff;
  color: #333;
  transition: all 0.15s ease;
  user-select: none;
}

.status-btn input {
  display: none;
}

.status-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}

.status-no-answer {
  border-color: #f0ad4e;
  color: #9a5b00;
}

.status-voicemail {
  border-color: #6c757d;
  color: #495057;
}

.status-callback {
  border-color: #0d6efd;
  color: #0d6efd;
}

.status-rejected {
  border-color: #dc3545;
  color: #dc3545;
}

.status-appointment {
  border-color: #198754;
  color: #198754;
}

.status-no-answer:has(input:checked) {
  background: #f0ad4e;
  color: #fff;
}

.status-voicemail:has(input:checked) {
  background: #6c757d;
  color: #fff;
}

.status-callback:has(input:checked) {
  background: #0d6efd;
  color: #fff;
}

.status-rejected:has(input:checked) {
  background: #dc3545;
  color: #fff;
}

.status-appointment:has(input:checked) {
  background: #198754;
  color: #fff;
}

.status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin: 10px 0 16px;
}

/* Grund-Button */
.status-tile {
  cursor: pointer;
  border-radius: 14px;
  border: 2px solid #ddd;
  background: #fff;
  transition: all 0.2s ease;
  overflow: hidden;
}

/* Radio verstecken */
.status-tile input {
  display: none;
}

/* Inhalt */
.tile-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100px;
  text-align: center;
}

/* Icon */
.tile-content .icon {
  font-size: 28px;
  margin-bottom: 6px;
}

/* Text */
.tile-content .text {
  font-size: 13px;
  font-weight: 600;
}

/* Hover Effekt */
.status-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}

/* =========================
   Farben je Status
========================= */

.status-tile.no-answer {
  border-color: #f0ad4e;
}

.status-tile.voicemail {
  border-color: #6c757d;
}

.status-tile.callback {
  border-color: #0d6efd;
}

.status-tile.rejected {
  border-color: #dc3545;
}

.status-tile.appointment {
  border-color: #198754;
}

/* =========================
   SELECTED STATE
========================= */

.status-tile.no-answer:has(input:checked) {
  background: #f0ad4e;
  color: #fff;
}

.status-tile.voicemail:has(input:checked) {
  background: #6c757d;
  color: #fff;
}

.status-tile.callback:has(input:checked) {
  background: #0d6efd;
  color: #fff;
}

.status-tile.rejected:has(input:checked) {
  background: #dc3545;
  color: #fff;
}

.status-tile.appointment:has(input:checked) {
  background: #198754;
  color: #fff;
}

/* Icon + Text weiß wenn aktiv */
.status-tile:has(input:checked) .icon,
.status-tile:has(input:checked) .text {
  color: #fff;
}

/* =========================
   Campaign overview
   ========================= */
.campaign-page {
  min-height: 100vh;
  padding: 32px 24px 56px;
  background: transparent;
  color: #242a30;
}

.campaign-shell {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.campaign-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #dfe3e8;
}

.campaign-header h1 {
  margin: 0;
  font-size: 28px;
}

.campaign-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}

.campaign-count {
  min-width: 28px;
  padding: 3px 8px;
  border-radius: 6px;
  background: #e7eaed;
  color: #59636f;
  font-size: 13px;
  text-align: center;
}

.campaign-page .navigation {
  flex-wrap: wrap;
  gap: 8px;
}

.campaign-page .btn {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 100%;
  padding: 9px 13px;
  border-color: #d7dce0;
  border-radius: 6px;
  background: #fff;
  color: #27313d;
  font-family: inherit;
  font-weight: 600;
  line-height: 1.3;
  white-space: normal;
  text-align: center;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.campaign-page .ui-icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}

.campaign-page .btn:hover {
  border-color: #aeb7c2;
  background: #f8f9fa;
  text-decoration: none;
}

.campaign-page .btn.primary {
  border-color: #14735b;
  background: #14735b;
  color: #fff;
}

.campaign-page .btn.primary:hover {
  border-color: #0e5c48;
  background: #0e5c48;
}

.campaign-page .btn.quiet {
  border-color: transparent;
  background: transparent;
  color: #505d68;
}

.campaign-page .btn.quiet:hover {
  border-color: #dfe3e8;
  background: #edf0f2;
  color: #242a30;
}

.campaign-page .btn:focus-visible,
.campaign-page input:focus-visible,
.campaign-page select:focus-visible,
.campaign-page textarea:focus-visible {
  outline: 2px solid #14735b;
  outline-offset: 3px;
}

.campaign-page .btn.due {
  border-color: #eddbad;
  background: #fff9eb;
  color: #805c16;
}

.campaign-page .btn.due:hover {
  border-color: #d2b774;
  background: #fff2d0;
}

.action-count {
  min-width: 20px;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  opacity: 0.8;
}

.campaign-filter-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}

.campaign-filter {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  margin: 0;
  color: #505d68;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.campaign-filter input {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  accent-color: #14735b;
  cursor: pointer;
}

.campaign-list {
  display: grid;
  gap: 12px;
}

.campaign-card {
  overflow: hidden;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(18, 31, 45, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.campaign-card:hover {
  border-color: #c6cdd5;
  box-shadow: 0 4px 12px rgba(18, 31, 45, 0.07);
}

.campaign-card.inaktiv {
  background: #f8f9fa;
}

.campaign-card.inaktiv .campaign-main {
  color: #59636f;
}

.campaign-main {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 16px;
  padding: 20px;
}

.campaign-icon {
  display: flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid #e3e6ea;
  border-radius: 8px;
  background: #f4f6f8;
  font-size: 25px;
}

.campaign-icon[data-icon="target"] { background: #fff0ef; border-color: #f4dfdd; }
.campaign-icon[data-icon="phone"],
.campaign-icon[data-icon="people"] { background: #eaf5ef; border-color: #d6e9de; }
.campaign-icon[data-icon="briefcase"],
.campaign-icon[data-icon="rocket"] { background: #eef3fd; border-color: #dce5f5; }
.campaign-icon[data-icon="megaphone"],
.campaign-icon[data-icon="star"] { background: #fff8e7; border-color: #efe5c9; }

.campaign-content {
  min-width: 0;
}

.campaign-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.campaign-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.campaign-card-heading > .campaign-title-row { flex: 1; min-width: 0; }
.campaign-assignee-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 1 auto;
  max-width: 45%;
  min-width: 0;
  padding: 7px 11px;
  border: 1px solid #c8e1d5;
  border-radius: 10px;
  background: #edf7f1;
  color: #105b48;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.campaign-assignee-badge > svg { flex-shrink: 0; }
.campaign-assignee-badge > span { min-width: 0; }
.campaign-assignee-label { display: block; font-size: 11px; }
.campaign-assignee-badge strong { display: block; }

@media (max-width: 600px) {
  .campaign-card-heading { flex-wrap: wrap; }
  .campaign-card-heading > .campaign-title-row { flex-basis: 100%; }
  .campaign-assignee-badge { max-width: 100%; margin-left: auto; }
}

.campaign-title-row h2 {
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
}

.campaign-state {
  flex: 0 0 auto;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.campaign-state.active {
  background: #e4f5eb;
  color: #17653a;
}

.campaign-state.inactive {
  background: #e7eaee;
  color: #59636f;
}

.campaign-description {
  max-width: 760px;
  margin: 6px 0 4px;
  color: #4d5966;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.campaign-assignment {
  margin-top: 5px;
  color: #707b87;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.campaign-page .stats {
  gap: 6px;
  margin-top: 14px;
}

.campaign-page .pill {
  padding: 4px 8px;
  border-color: #e1e5ea;
  border-radius: 6px;
  background: #f7f8fa;
  color: #59636f;
  font-size: 12px;
}

.campaign-page .pill strong {
  color: #17202a;
  font-variant-numeric: tabular-nums;
}

.campaign-page .pill.has-due {
  border-color: #eddbad;
  background: #fff9eb;
  color: #805c16;
}

.campaign-page .pill.has-due strong {
  color: #805c16;
}

.campaign-page .pill.has-overdue,
.campaign-page .btn.overdue {
  border-color: #e8b7c0;
  background: #fcecef;
  color: #942a39;
}

.campaign-page .pill.has-overdue strong {
  color: #942a39;
}

.campaign-page .btn.overdue:hover {
  border-color: #cc7a8a;
  background: #f9dce3;
}

.campaign-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 20px;
  border-top: 1px solid #edf0f2;
  background: #fbfcfd;
}

.campaign-actions-primary,
.campaign-actions-secondary {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.campaign-actions-secondary {
  justify-content: flex-end;
}

.campaign-tools {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-left: 10px;
  border-left: 1px solid #e1e5e8;
}

.campaign-actions-secondary form {
  margin: 0;
}

.campaign-page .icon-button {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  padding: 0;
  font-size: 16px;
}

.campaign-page .btn.danger {
  border-color: transparent;
  background: transparent;
  color: #a51d32;
}

.campaign-page .btn.danger:hover {
  border-color: #bd243b;
  background: #fff1f3;
}

.campaign-page .btn.logout {
  border-color: transparent;
  background: transparent;
  color: #59636f;
}

.campaign-page .btn.logout:hover {
  border-color: #e0b7bd;
  background: #fff1f3;
  color: #a51d32;
}

.campaign-notice {
  margin: 0 0 20px;
  padding: 12px 16px;
  border: 1px solid #d7e4db;
  border-radius: 6px;
  background: #edf7f0;
  color: #22573a;
  font-size: 14px;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.campaign-notice.error {
  border-color: #edd1d5;
  background: #fff1f3;
  color: #a51d32;
}

.campaign-notice.warning {
  border-color: #eddbad;
  background: #fff9eb;
  color: #805c16;
}

.campaign-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 56px 16px;
  text-align: center;
}

.campaign-empty h2 {
  margin: 0;
  font-size: 18px;
}

.campaign-form {
  max-width: 760px;
}

.campaign-field {
  margin-bottom: 24px;
}

.campaign-form label,
.campaign-form legend {
  font-size: 14px;
}

.campaign-form input:not([type="radio"]):not([type="hidden"]),
.campaign-form select,
.campaign-form textarea {
  padding: 11px 12px;
  border-color: #ccd2d8;
  border-radius: 6px;
  background: #fff;
}

.campaign-form textarea {
  min-height: 120px;
}

.campaign-status-field {
  max-width: 240px;
}

.campaign-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid #dfe3e8;
}
.campaign-audience-review{max-width:100%;white-space:normal;text-align:left}

.phone-campaign-editor-page > .campaign-shell { width:100%; max-width:none; min-width:0; margin-left:0; margin-right:0; }
.phone-campaign-editor-page .campaign-header { flex-wrap:wrap; align-items:flex-start; }
.phone-campaign-editor-page .campaign-header > div { min-width:0; }
.phone-campaign-editor-page .campaign-header h1 { overflow-wrap:anywhere; }
.phone-campaign-editor-page .campaign-header p { margin:.5rem 0 0; }
.phone-campaign-editor-page .navigation { flex-wrap:wrap; }
.phone-campaign-editor-page .campaign-form,
.phone-campaign-editor-page .campaign-lead-assignment { max-width:none; }
.phone-campaign-editor-page #campaign-editor-form { display:grid; gap:1rem; }
.phone-campaign-editor-page .campaign-editor-section { margin:0; padding:1rem 1.2rem; border:1px solid #d8e4dd; border-radius:.75rem; background:#fff; }
.phone-campaign-editor-page .campaign-editor-section > legend { padding:0 .5rem; color:#244137; }
.phone-campaign-editor-page .campaign-editor-section > .campaign-field:last-child { margin-bottom:0; }
.phone-campaign-editor-page .campaign-editor-section > .lead-editor-grid { grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:1rem; margin:0; }
.phone-campaign-editor-page .lead-editor-grid > .campaign-field { min-width:0; max-width:none; margin:0; }
.phone-campaign-editor-page .campaign-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.phone-campaign-editor-page .campaign-form select,
.phone-campaign-editor-page .campaign-form textarea { width:100%; min-width:0; box-sizing:border-box; }
.phone-campaign-editor-page .campaign-form select:disabled { opacity:1; color:#52665c; background:#f3f6f4; }
.phone-campaign-editor-page .campaign-icon-details { margin:0 0 1rem; }
.phone-campaign-editor-page .campaign-icon-details > summary { cursor:pointer; font-size:.875rem; font-weight:600; color:#325b48; }
.phone-campaign-editor-page .campaign-icon-details .icon-picker { margin:1rem 0 0; }
.phone-campaign-editor-page .campaign-end-panel { border-color:#dfe3e8; }
.phone-campaign-editor-page .campaign-end-panel h2 { color:#244137; }
@media (max-width:700px) {
  .phone-campaign-editor-page .campaign-editor-section > .lead-editor-grid { grid-template-columns:minmax(0,1fr); }
  .phone-campaign-editor-page .campaign-editor-section { padding:1rem; }
  .phone-campaign-editor-page .campaign-form-actions > .btn { max-width:100%; white-space:normal; }
  .phone-campaign-editor-page .campaign-call-link { margin-left:0; }
}

.campaign-call-link {
  margin-left: auto;
}

.campaign-lead-assignment {
  max-width: 760px;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #dfe3e8;
}
.campaign-leads-heading,
.campaign-lead-search > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}
.campaign-leads-heading { justify-content: space-between; }
.campaign-leads-heading h2 { margin: 0; font-size: 18px; }
.campaign-lead-search input { flex: 1 1 220px; min-width: 0; }
.campaign-lead-options { max-height: 440px; overflow-y: auto; }
.campaign-lead-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #dfe3e8;
  cursor: pointer;
}
.campaign-lead-option > span { min-width: 0; overflow-wrap: anywhere; }
.campaign-lead-option > span > span { display: block; margin-top: 4px; font-size: 12px; }
.campaign-lead-option input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: #14735b;
}

.lead-merge-comparison { margin-bottom: 32px; }
.lead-merge-form { max-width: 800px; margin: 20px 0; }
.lead-merge-form fieldset { border: 0; padding: 0; margin: 0 0 16px; }
.lead-merge-form fieldset label { display: flex; align-items: center; gap: 10px; min-height: 40px; }
.lead-merge-form input[type="radio"],
.company-merge-form input[type="radio"],
.lead-merge-form input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: #14735b; }
.company-merge-form td label { display: flex; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.lead-merge-form p { margin: 12px 0; }
.lead-merge-form button { margin-top: 16px; }
#bulk-merge-progress { width: 100%; max-width: 800px; height: 16px; accent-color: #14735b; }
#bulk-merge-progress[hidden], #bulk-merge-refresh[hidden] { display: none; }
#bulk-merge-form button:disabled { opacity: 0.6; cursor: wait; }
#bulk-merge-errors { overflow-wrap: anywhere; }

.campaign-danger-zone {
  max-width: 760px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #dfe3e8;
}

.campaign-danger-zone h2 {
  color: #a51d32;
  font-size: 16px;
}

.campaign-danger-zone p {
  margin-bottom: 12px;
}

.campaign-danger-zone .btn.danger {
  border-color: #e0b7bd;
}

.lead-editor-page .campaign-shell {
  width: 100%;
}

.lead-editor-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  max-width: none;
}

.lead-editor-form > .lead-editor-primary,
.lead-editor-form > .lead-editor-wide,
.lead-editor-form > .lead-relationships,
.lead-editor-form > .campaign-form-actions {
  grid-column: 1 / -1;
}

.lead-editor-page .lead-editor-section {
  margin: 0;
  padding: 20px 24px 24px;
  border: 1px solid #dfe6e5;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(24, 52, 44, 0.04);
}

.lead-editor-page .lead-editor-section legend {
  padding: 0 8px;
  color: #105b48;
  font-size: 16px;
}

.lead-editor-contact-columns, .lead-editor-additional { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.lead-editor-contact-group { min-width: 0; }
.lead-editor-contact-group + .lead-editor-contact-group { padding-left: 24px; border-left: 1px solid #dfe6e5; }
.lead-editor-contact-group h2 { margin: 0 0 18px; font-size: 15px; color: #52645f; }
.lead-editor-contact-group:first-child .lead-editor-grid { grid-template-columns: minmax(0, 1fr); }
.lead-editor-contact-group:last-child .lead-editor-grid > div:last-child { grid-column: 1 / -1; }
.lead-editor-contact-group .lead-editor-grid { margin-bottom: 0; }
.lead-editor-company-area { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.lead-editor-company-area.is-linked { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lead-editor-company-area, .lead-editor-additional, .lead-editor-primary, .lead-editor-page #lead-history { scroll-margin-top: 24px; }
.lead-editor-additional > .lead-editor-section { height: 100%; }
.lead-editor-additional > .lead-editor-section:only-child { grid-column: 1 / -1; }

.lead-editor-explanation {
  margin: 0 0 20px;
  color: #52645f;
  line-height: 1.6;
  max-width: 90ch;
}

.lead-editor-contact-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 16px 24px; margin-bottom: 24px; }
.lead-editor-contact-header > .lead-editor-explanation { margin: 0; }
.lead-contact-restrictions { min-width: 0; max-width: 48ch; margin: 0; padding: 10px 14px 12px; border: 1px solid #dfe6e5; border-radius: 8px; background: #f5f8f7; text-align: left; }
.lead-editor-page .lead-contact-restrictions legend { float: none; width: auto; margin-bottom: 4px; padding: 0 4px; font-size: 13px; color: #52645f; }
.lead-contact-restriction-badges { display: flex; flex-wrap: wrap; gap: 10px; }
.lead-editor-form .lead-contact-restriction-badge { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 9px 14px; border: 1px solid #a8cabb; border-radius: 24px; background: #e8f5ee; color: #105b48; cursor: pointer; font-size: 13px; }
.lead-editor-form .lead-contact-restriction-badge input[type="checkbox"] { width: 17px; height: 17px; flex: 0 0 17px; margin: 0; padding: 0; accent-color: #a12638; }
.lead-contact-restriction-badge span { display: inline-flex; align-items: center; gap: 6px; }
.lead-contact-restriction-badge:has(input:checked) { background: #fce8ec; color: #942a39; border-color: #c56c7a; }
.lead-contact-restriction-badge:focus-within { outline: 2px solid #2564a0; outline-offset: 3px; }
.lead-contact-restrictions p { clear: both; margin: 8px 0 0; color: #63746d; font-size: 12px; overflow-wrap: anywhere; }

.lead-editor-company-name {
  margin-bottom: 24px;
}

.lead-company-summary { position: relative; overflow-wrap: anywhere; }
.lead-company-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.lead-company-badge { padding: 5px 12px; border-radius: 20px; background: #105b48; color: #fff; font-size: 13px; font-weight: 650; }
.lead-company-summary h3 { margin: 0 0 8px; font-size: 20px; }
.lead-company-summary p { margin: 6px 0; line-height: 1.5; }
.lead-company-edit { display: inline-block; margin-top: 10px; font-size: 13px; }

.company-bulk-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin: 20px 0 12px; }
.company-bulk-actions > span { color: #52645f; font-size: 13px; }
.company-selection-column { width: 3rem; }
.company-delete-blocker { display: block; margin: 3px 0; color: #942a39; font-size: 13px; font-weight: 600; }
.company-selection-column input[type="checkbox"] { width: 18px; height: 18px; accent-color: #105b48; cursor: pointer; }
.companies-directory-page > .campaign-shell { width:100%; max-width:none; min-width:0; margin:0; }
.companies-directory-page .campaign-header { flex-wrap:wrap; align-items:center; gap:1rem; }
.companies-directory-page .campaign-header > div { min-width:0; }
.companies-directory-page .campaign-header p { margin:.4rem 0 0; }
.companies-directory-page .campaign-header .companies-eyebrow { margin:0 0 .5rem; color:#64748b; font-size:.8rem; }
.companies-directory-page .campaign-heading { flex-wrap:wrap; }
.companies-panel { min-width:0; margin:1rem 0; background:#fff; border:1px solid #dfe3e8; border-radius:.8rem; box-shadow:0 3px 12px rgba(25,40,50,.04); }
.companies-panel > summary { padding:1rem 1.25rem; cursor:pointer; font-weight:600; line-height:1.6; }
.companies-panel > summary .ui-icon { vertical-align:middle; margin:0 .4rem; }
.companies-panel > summary .campaign-count { margin-left:.5rem; }
.companies-directory-page .company-directory-filters { margin:0; padding:0 1.25rem 1.25rem; border:0; border-radius:0; box-shadow:none; box-sizing:border-box; }
.companies-directory-page .lead-filter-heading { margin-bottom:1rem; }
.companies-directory-page .lead-filter-heading h2 { font-size:1rem; }
.companies-directory-page .lead-filter-heading p { font-size:.85rem; line-height:1.6; }
.companies-directory-page .lead-filter-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); }
.companies-directory-page .companies-group-panel .lead-directory-group-assignment { margin:0; padding:0 1.25rem 1.25rem; border:0; border-radius:0; box-shadow:none; }
.companies-directory-page .companies-group-panel h2 { font-size:1rem; }
.companies-directory-page .company-group-assignment-form { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; }
.companies-directory-page .company-group-assignment-form > div { min-width:0; flex:1 1 20rem; }
.companies-directory-page .company-group-assignment-form select { width:100%; min-width:0; }
.companies-results-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem; }
.companies-results-heading h2 { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin:0; font-size:1.15rem; }
.companies-results-heading p { margin:.4rem 0 0; }
.companies-results-heading > .muted { font-size:.8rem; }
.companies-directory-page .company-bulk-actions { margin:0; padding:1rem 1.25rem; justify-content:flex-start; border-top:1px solid #edf1f4; background:#f6f8f9; }
.companies-directory-page .company-bulk-actions > span { flex:1 1 20rem; }
.companies-directory-page .companies-directory-table td { min-width:6rem; line-height:1.55; }
.companies-directory-page .companies-directory-table td:nth-child(2) { min-width:13rem; }
.companies-directory-page .companies-directory-table td:nth-child(7) { min-width:12rem; }
.companies-directory-page .companies-directory-table .company-selection-column { min-width:0; width:1%; text-align:center; }
.companies-directory-page .companies-directory-table th:last-child { text-align:right; }
.companies-directory-page .companies-directory-table td:last-child { min-width:6.5rem; }
.companies-directory-page .companies-directory-table td:last-child .navigation { display:flex; justify-content:flex-end; flex-wrap:nowrap; gap:.4rem; }
.companies-name { font-weight:600; text-decoration:none; }
.companies-name:hover { text-decoration:underline; }
.companies-id { display:block; margin-top:.3rem; font-size:.75rem; }
.companies-status { display:inline-flex; max-width:100%; padding:.25rem .65rem; border-radius:1rem; font-size:.78rem; font-weight:600; text-decoration:none; }
.companies-status:hover { text-decoration:underline; }
.companies-status.is-customer { color:#1b6844; background:#e4f4eb; }
.companies-status.is-prospect { color:#805c14; background:#fff2d7; }
.companies-status.is-former { color:#913d45; background:#f6e7e8; }
.companies-status.is-unset { color:#59636f; background:#edf1f4; }
.companies-directory-page td[data-label="Hinweise"] > .muted { display:block; font-size:.75rem; margin-top:.35rem; }
.companies-directory-page .company-directory-sources .muted { font-size:.75rem; }
.companies-directory-page .lead-directory-pagination { margin:0; padding:1rem 1.25rem; border-top:1px solid #edf1f4; }
.companies-empty { display:grid; justify-items:center; gap:.5rem; padding:2rem 1rem; text-align:center; }
.companies-empty .ui-icon { width:2rem; height:2rem; color:#87938e; }
.companies-empty p { margin:0; font-weight:400; }
@media (max-width:1100px) {
  .companies-directory-page .companies-directory-table, .companies-directory-page .companies-directory-table thead, .companies-directory-page .companies-directory-table thead tr { display:block; }
  .companies-directory-page .companies-directory-table thead th { display:none; }
  .companies-directory-page .companies-directory-table thead th.company-selection-column { display:flex; align-items:center; gap:.65rem; width:auto; padding:1rem; }
  .companies-directory-page .companies-directory-table thead th.company-selection-column:has(input)::after { content:'Alle Firmen dieser Seite auswählen'; }
  .companies-directory-page .companies-directory-table tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:1rem; background:#f6f8f9; }
  .companies-directory-page .companies-directory-table tbody tr { display:block; min-width:0; padding:1rem; border:1px solid #dfe3e8; border-radius:.65rem; background:#fff; }
  .companies-directory-page .companies-directory-table tbody td:nth-child(n) { display:block; min-width:0; width:auto; padding:.4rem 0; border:0; text-align:left; }
  .companies-directory-page .companies-directory-table tbody td[data-label]::before { content:attr(data-label); display:block; font-size:.72rem; font-weight:600; color:#64748b; margin-bottom:.15rem; }
  .companies-directory-page .companies-directory-table tbody td.company-selection-column::before { display:inline; margin-right:.5rem; }
  .companies-directory-page .companies-directory-table td:last-child .navigation { justify-content:flex-end; }
}
@media (max-width:650px) {
  .companies-directory-page .companies-directory-table tbody { grid-template-columns:minmax(0,1fr); padding:.75rem; }
  .companies-directory-page .company-bulk-actions .btn { flex:1 1 100%; }
  .companies-directory-page .lead-directory-pagination { justify-content:flex-start; }
  .companies-directory-page .lead-directory-page-jump { gap:.5rem; }
  .companies-directory-page .company-group-assignment-form .btn { white-space:normal; }
}
[data-company-delete-list] { max-height: 35vh; overflow-y: auto; overflow-wrap: anywhere; padding-left: 24px; }

.lead-editor-company-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
}

.lead-editor-company-grid > div { min-width: 0; }
.lead-editor-company-grid h3 { margin: 0 0 16px; font-size: 15px; }
.lead-editor-company-grid > div + div { padding-left: 24px; border-left: 1px solid #dfe6e5; }

.lead-editor-page .lead-import-note { padding: 14px 20px; }
.lead-import-note summary { cursor: pointer; font-weight: 650; }
.lead-import-note-content { overflow-wrap: anywhere; line-height: 1.6; }
.lead-editor-form .lead-import-note-empty { margin: 0; font-size: 13px; }

.lead-editor-page .lead-editor-section input[readonly] {
  background: #f2f5f5;
  color: #59636f;
}

.lead-editor-page .lead-editor-section .muted {
  font-size: 13px;
  line-height: 1.5;
}

.lead-editor-form > .campaign-form-actions,
.lead-details-page .lead-editor-actions {
  position: sticky;
  bottom: 12px;
  z-index: 5;
  margin: 0;
  padding: 16px 20px;
  border: 1px solid #dfe6e5;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 4px 20px rgba(24, 52, 44, 0.12);
}

.lead-details-page > .campaign-shell { width:100%; max-width:none; min-width:0; margin-left:0; margin-right:0; }
.lead-details-page > .campaign-shell > .campaign-header { flex-wrap:wrap; align-items:flex-start; gap:1rem; margin-bottom:1rem; }
.lead-details-page .campaign-header > div { min-width:0; }
.lead-details-page .campaign-header h1 { overflow-wrap:anywhere; }
.lead-editor-eyebrow { margin:0 0 .35rem; color:#14735b; font-size:.8rem; font-weight:650; }
.lead-editor-meta { display:flex; flex-wrap:wrap; gap:.4rem 1rem; margin-top:.6rem; color:#637168; font-size:.85rem; }
.lead-editor-meta:empty { display:none; }
.lead-editor-meta > span { display:inline-flex; align-items:center; gap:.4rem; min-width:0; overflow-wrap:anywhere; }
.lead-details-page .lead-editor-tab-panel { min-width:0; scroll-margin-top:5rem; }
.lead-details-page .lead-editor-tab-panel[hidden] { display:none; }
.lead-details-page .lead-editor-additional-panel { display:grid; gap:1rem; }
.lead-details-page .lead-editor-relationships-panel > .lead-relationships { margin:0; }
.lead-details-page #lead-opportunities,
.lead-details-page .lead-editor-tab-panel#lead-history { margin:0; }
.lead-details-page #lead-history > h2 { margin:0 0 1rem; font-size:1.15rem; }
.lead-details-page .lead-editor-actions { margin-top:1rem; }
.lead-details-page .lead-editor-save-note { flex:1 1 18rem; margin:0 0 0 auto; text-align:right; font-size:.8rem; line-height:1.5; }
@media (max-width:700px) {
  .lead-details-page .lead-editor-grid { grid-template-columns:minmax(0,1fr); }
  .lead-details-page .lead-editor-save-note { flex-basis:100%; margin:0; text-align:left; }
  .lead-details-page .lead-editor-actions { padding:.85rem 1rem; bottom:.5rem; }
}

.lead-editor-page #lead-history {
  margin-top: 24px;
}

@media (max-width: 1100px) {
  .lead-editor-contact-header { grid-template-columns: minmax(0, 1fr); }
  .lead-editor-contact-header > .lead-contact-restrictions { justify-self: start; }
  .lead-editor-contact-group:last-child .lead-editor-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 800px) {
  .lead-editor-form { grid-template-columns: minmax(0, 1fr); }
  .lead-editor-contact-columns, .lead-editor-company-area.is-linked, .lead-editor-additional { grid-template-columns: minmax(0, 1fr); }
  .lead-editor-contact-group + .lead-editor-contact-group { padding: 24px 0 0; border-left: 0; border-top: 1px solid #dfe6e5; }
  .lead-editor-company-grid { grid-template-columns: minmax(0, 1fr); }
  .lead-editor-company-grid > div + div { padding: 24px 0 0; border-left: 0; border-top: 1px solid #dfe6e5; }
}

@media (max-width: 600px) {
  .lead-editor-page .lead-editor-section { padding: 16px; }
  .lead-editor-form > .campaign-form-actions { flex-wrap: wrap; }
}

.lead-editor-section {
  min-width: 0;
  margin: 0 0 28px;
  padding: 20px 0 0;
  border: 0;
  border-top: 1px solid #dfe3e8;
}

.lead-editor-section legend {
  padding-right: 12px;
  font-weight: 650;
}

.lead-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
  margin-bottom: 18px;
}

.lead-editor-grid > div { min-width: 0; }

.attribute-filter-row { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px solid #edf0f2; }
.attribute-filter-row > .lead-editor-grid { flex: 1 1 auto; min-width: 0; margin-bottom: 0; }
.attribute-filter-row .attribute-filter-remove { flex: 0 0 auto; margin-top: 25px; min-width: 40px; font-size: 20px; line-height: 1; }
.attribute-filter-add { margin-top: 14px; }
.attribute-filter-add span { font-size: 18px; line-height: 1; }
[data-attribute-filter-status]:empty { display: none; }

.lead-directory-filters {
  flex: 1 1 100%;
  width: 100%;
  max-width: none;
  padding: clamp(16px, 2.5vw, 28px);
  border: 1px solid #dfe3e8;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 8px rgb(31 45 61 / 4%);
}
.lead-filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.lead-filter-heading > div { min-width: 0; }
.lead-filter-heading h2 { margin: 0 0 5px; font-size: 19px; }
.lead-filter-heading p { margin: 0; color: #59636f; font-size: 14px; }
.lead-filter-heading .btn { flex-shrink: 0; }
.lead-filter-section { min-width: 0; margin: 0 0 22px; padding: 14px 0 0; border: 0; border-top: 1px solid #edf0f2; }
.lead-filter-section legend { padding-right: 12px; color: #38424c; font-weight: 650; }
.lead-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 20px; }
.lead-filter-grid > div { min-width: 0; }
.company-directory-filters { margin-bottom: 24px; }
.company-directory-sources { white-space: normal; overflow-wrap: anywhere; }
.company-directory-sources > div + div { margin-top: .45rem; }
.lead-directory-filters label:not(.campaign-filter) { display: block; margin: 0 0 6px; color: #47515e; font-size: 13px; font-weight: 550; }
.lead-directory-filters input:not([type="checkbox"]),
.lead-directory-filters select { width: 100%; min-width: 0; margin: 0; }
.lead-filter-more { margin: 0; border-top: 1px solid #dfe3e8; }
.lead-filter-more summary { padding: 16px 0; color: #38424c; font-size: 14px; font-weight: 650; cursor: pointer; }
.lead-filter-more summary .muted { margin-left: 10px; font-size: 13px; font-weight: 400; }
.lead-filter-more summary:focus-visible { outline: 2px solid #14735b; outline-offset: 3px; border-radius: 4px; }
.lead-filter-more-content { padding: 8px 0; }
.lead-filter-more-content > :last-child { margin-bottom: 0; }
.lead-directory-filters .lead-editor-section { margin-bottom: 0; padding-top: 14px; border-color: #edf0f2; }
.lead-directory-filters .lead-editor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 20px; }
.lead-directory-filters .lead-filter-checkbox { display: flex; align-items: center; gap: 9px; margin: 16px 0 0; font-size: 13px; }
.lead-directory-filters .lead-filter-checkbox input { flex: 0 0 auto; width: 16px; height: 16px; padding: 0; margin: 0; accent-color: #14735b; }
.lead-filter-actions { margin-top: 4px; padding-top: 18px; }
.lead-directory-group-picker { flex: 1 1 100%; min-width: 0; max-width: 100%; margin-bottom: 8px; }
.lead-directory-group-assignment { margin-bottom: 24px; padding: 20px; border: 1px solid #b8d9cd; border-radius: 10px; background: #f0f8f4; }
.lead-directory-group-assignment header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; }
.lead-directory-group-assignment header > div { flex: 1 1 300px; min-width: 0; }
.lead-directory-group-assignment h2 { margin: 0 0 8px; font-size: 18px; overflow-wrap: anywhere; }
.lead-directory-group-assignment p { margin: 0 0 12px; }
.lead-directory-group-form { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.lead-directory-new-group-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 16px; flex: 1 1 100%; min-width: 0; }
.lead-directory-new-group-fields label { display: block; margin-bottom: 6px; font-weight: 600; }
.lead-directory-new-group-fields input, .lead-directory-new-group-fields textarea { box-sizing: border-box; width: 100%; }
.lead-directory-group-form .campaign-filter { flex: 1 1 360px; align-items: flex-start; min-width: 0; margin: 0; }
.lead-directory-group-form input[type="checkbox"] { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 2px; accent-color: #14735b; }
@media (max-width: 1000px) {
  .lead-filter-grid,
  .lead-directory-filters .lead-editor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .lead-filter-heading { flex-wrap: wrap; align-items: flex-start; margin-bottom: 20px; }
  .lead-filter-grid,
  .lead-directory-filters .lead-editor-grid { grid-template-columns: minmax(0, 1fr); }
  .lead-filter-more summary .muted { display: block; margin: 5px 0 0; }
  .lead-filter-actions .btn { flex: 1 1 auto; justify-content: center; }
}

.lead-industry-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.lead-industry-row select {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  margin: 0;
}

.lead-industry-row button {
  flex: 0 0 auto;
  margin: 0;
}
.email-workspace { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 28px; }
.email-workspace > section { min-width: 0; }
.email-recipient-list { list-style: none; padding: 0; margin: 16px 0; }
.email-recipient-list a { display: grid; gap: 4px; padding: 12px; border-bottom: 1px solid #dfe3e8; text-decoration: none; color: inherit; overflow-wrap: anywhere; }
.email-recipient-list a:hover { background: #edf1f4; }
.email-recipient-list a[aria-current] { background: #e7f5ed; border-left: 3px solid #14735b; }
.email-recipient-list a span { font-size: 13px; }
.email-state { color: #59636f; }
.email-state.ready { color: #14735b; font-weight: 650; }
.email-preview-heading { margin-top: 28px; }
.email-preview { border: 1px solid #dfe3e8; border-radius: 6px; background: #fff; padding: 20px; overflow-wrap: anywhere; }
.email-preview p { margin: 0 0 16px; white-space: pre-wrap; }
.email-placeholders { display: flex; flex-wrap: wrap; gap: 8px; }
.email-layout-preview { display: block; width: 100%; height: 520px; border: 1px solid #dfe3e8; border-radius: 6px; background: #fff; margin: 16px 0; }
.email-test-send { min-width: 0; border: 0; border-top: 1px solid #dfe3e8; padding: 20px 0 0; margin-top: 24px; }
.email-test-send input[type="email"] { max-width: 100%; }
.email-test-send .campaign-filter { margin: 16px 0; }
.email-test-send button:disabled { opacity: 0.6; cursor: default; }
#email-template-fields[hidden] { display: none; }
@media (max-width: 1000px) { .email-workspace { grid-template-columns: minmax(0, 1fr); } .email-page .campaign-header { flex-wrap: wrap; } }
.lead-campaign-options { display: grid; gap: 8px; }
.contact-blocked { color: #a0263a; font-size: 13px; font-weight: 650; overflow-wrap: anywhere; }
.contact-action-fields { border: 0; margin: 0; padding: 0; min-width: 0; }
.contact-action-fields:disabled { opacity: 0.55; }
.lead-editor-form .lead-campaign-option { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 8px 0; }
.lead-campaign-option input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #14735b; }
.lead-campaign-option span { min-width: 0; overflow-wrap: anywhere; }
.lead-editor-page h1 { overflow-wrap: anywhere; }

@media (max-width: 600px) {
  .lead-editor-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Call workspace */
.call-heading {
  min-width: 0;
}

.call-heading h1 {
  margin-bottom: 4px;
  overflow-wrap: anywhere;
}

.call-campaign-task {
  position: sticky;
  top: 0;
  z-index: 10;
  margin-bottom: 20px;
  padding: 12px 16px;
  border: 1px solid #b5dbc7;
  border-left: 4px solid #14735b;
  border-radius: 6px;
  background: #eaf5ef;
  box-shadow: 0 4px 12px rgb(16 91 72 / 10%);
}

.call-campaign-task h2 {
  margin: 0 0 6px;
  color: #105b48;
  font-size: 15px;
}

.call-campaign-task-content {
  max-height: 25vh;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.5;
}

.call-campaign-task-content:focus-visible {
  outline: 2px solid #14735b;
  outline-offset: 3px;
}

.call-stats {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid #dfe3e8;
}

.call-stat-filter > span {
  color: #59636f;
  font-size: 12px;
}

.call-stat-filter > strong {
  display: block;
  margin: 4px 0 0;
  font-size: 24px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.call-stat-filter {
  min-width: 0;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #263740;
  text-decoration: none;
}
.call-stat-filter:hover { background: #edf1f4; text-decoration: none; }
.call-stat-filter[aria-current] { border-color: currentColor; background: #edf1f4; }
.call-stat-filter:focus-visible { outline: 2px solid #2564a0; outline-offset: 2px; }
.call-stat-filter[data-category="new"] { color: #105b48; }
.call-stat-filter[data-category="due_today"] { color: #755300; }
.call-stat-filter[data-category="overdue"] { color: #942a39; }
.call-stat-filter[data-category="appointments"] { color: #204f7e; }
.call-stat-filter[data-category="completed"] { color: #554274; }
.call-filter-state { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; }

.call-stats-details {
  margin: 12px 0 28px;
}

.call-stats-details summary {
  width: fit-content;
  color: #59636f;
  font-size: 13px;
  cursor: pointer;
}

.call-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 32px;
  padding: 24px;
  border-top: 1px solid #dfe3e8;
  border-bottom: 1px solid #dfe3e8;
  background: rgba(255, 255, 255, 0.92);
}

.call-contact,
.call-workspace {
  min-width: 0;
}

.call-workspace {
  padding-left: 28px;
  border-left: 1px solid #dfe3e8;
}

.call-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.call-section-heading > div {
  flex: 1;
  min-width: 0;
}

.call-page h2 {
  margin-bottom: 14px;
  font-size: 18px;
  overflow-wrap: anywhere;
}

.call-contact #call-company {
  margin-bottom: 10px;
  font-size: 22px;
}

.call-eyebrow {
  margin-bottom: 4px;
  color: #59636f;
  font-size: 12px;
}

.call-phone-link {
  display: inline-grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  max-width: 100%;
  margin: 6px 0 16px;
  color: #14735b;
  font-size: 21px;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.call-contact-data {
  margin: 0 0 20px;
}

.call-address {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
  color: #59636f;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.call-contacts h3 {
  margin: 0 0 8px;
  font-size: 14px;
}

.call-company-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0 0 10px;
  color: #59636f;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.call-company-meta > div {
  display: flex;
  gap: 4px;
  min-width: 0;
}

.call-company-meta dt::after {
  content: ':';
}

.call-company-meta dd {
  min-width: 0;
  margin: 0;
}

.call-contact-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.call-contact-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1.2fr) minmax(0, 0.8fr);
  align-items: center;
  gap: 8px;
  padding: 10px 8px;
  border-bottom: 1px solid #dfe3e8;
  font-size: 13px;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.call-contact-row:hover,
.call-contact-row:focus-within {
  background: #f1f6f4;
}

.call-contact-row[data-selected="true"] {
  background: #e7f5ed;
  box-shadow: inset 3px 0 #14735b;
}

.call-research-heading,
.call-contact-identity {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-width: 0;
}

.call-research-heading > span,
.call-contact-identity > .call-contact-name {
  grid-column: 2;
  min-width: 0;
  overflow-wrap: anywhere;
}

.call-google-search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1lh;
  padding: 0;
  border-radius: .35rem;
  color: #14735b;
  line-height: inherit;
  text-decoration: none;
}

.call-google-search:hover {
  background: #e7f3ec;
}

.call-google-search:focus-visible {
  outline: 2px solid #14735b;
  outline-offset: 2px;
}

.call-contact-name {
  display: block;
  text-decoration: none;
}

.call-contact-name strong {
  display: block;
  text-decoration: underline;
}

.call-contact-name .muted {
  display: block;
  font-size: 11px;
}

.call-current-status.call-contact-status {
  justify-self: start;
  padding: 3px 6px;
  font-size: 11px;
}

.call-contact-phone {
  color: #14735b;
  font-weight: 600;
}

.call-contact-data > div {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px solid #e2e6e9;
}

.call-contact-data dt,
.call-lead-meta dt {
  color: #59636f;
  font-size: 12px;
}

.call-contact-data dd {
  margin: 0;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.call-lead-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin: 0 0 24px;
}

.call-lead-meta dd {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.call-lead-heading {
  flex-direction: column;
  align-items: stretch;
}

.call-workspace-heading > .call-lead-heading-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  max-width: 100%;
  margin-left: auto;
  margin-bottom: 16px;
}

.call-current-status {
  display: inline-block;
  max-width: 100%;
  padding: 7px 10px;
  border: 1px solid #50616d;
  border-radius: 6px;
  background: #edf1f4;
  color: #263740;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.call-current-status[data-category="new"] {
  border-color: #14735b;
  background: #e7f5ed;
  color: #105b48;
}

.call-current-status[data-category="appointments"] {
  border-color: #2564a0;
  background: #eaf3fc;
  color: #204f7e;
}

.call-current-status[data-category="due_today"] {
  border-color: #946900;
  background: #fff5d8;
  color: #755300;
}

.call-current-status[data-category="overdue"] {
  border-color: #b43546;
  background: #fcecef;
  color: #942a39;
}

.call-current-status[data-category="completed"] {
  border-color: #71568e;
  background: #f1ecf7;
  color: #554274;
}

.call-latest-note {
  margin: 0 0 22px;
  padding: 16px;
  border-left: 5px solid #2564a0;
  background: #eaf3fc;
  overflow-wrap: anywhere;
}

.call-latest-note h3 {
  margin: 0 0 8px;
  font-size: 16px;
  color: #204f7e;
}

.call-note-attribution {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin-bottom: 10px;
  color: #4c6175;
  font-size: 12px;
}

.call-latest-note p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}

.call-initial-note {
  padding: 10px 14px;
  border-left: 3px solid #9fbdae;
  background: rgba(255, 255, 255, 0.65);
  overflow-wrap: anywhere;
}

.call-initial-note h3 {
  margin-bottom: 6px;
  font-size: 13px;
}

.call-initial-note p,
.call-timeline p {
  font-size: 14px;
  overflow-wrap: anywhere;
}

.call-history {
  margin: 12px 0 16px;
  padding-top: 12px;
  border-top: 1px solid #dfe3e8;
}

.call-history-filter {
  margin-bottom: 18px;
}

.call-history-filter label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  font-size: 13px;
  cursor: pointer;
}

.call-history-filter input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  accent-color: #14735b;
}

.call-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.call-history > summary {
  align-items: center;
  margin-bottom: 16px;
  cursor: pointer;
  list-style: none;
}

.call-history > summary h2 {
  margin: 0;
}

.call-history > summary::-webkit-details-marker { display: none; }
.call-history > summary::after { content: '+'; font-size: 20px; }
.call-history[open] > summary::after { content: '-'; }

.call-timeline li {
  padding: 0 0 18px 14px;
  border-left: 2px solid #d8dfe4;
  margin-bottom: 8px;
}

.call-activity-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  color: #59636f;
  font-size: 12px;
}

.call-activity-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
}

.call-field {
  min-width: 0;
  margin-bottom: 18px;
}

.call-page .call-field label,
.call-status-picker legend {
  font-size: 13px;
}

.call-page .call-field input,
.call-page .call-field select,
.call-page .call-field textarea {
  min-width: 0;
  padding: 10px 12px;
  border-color: #ccd2d8;
  border-radius: 6px;
  background: #fff;
}

.call-page .call-field textarea {
  min-height: 100px;
}

.call-status-picker {
  min-width: 0;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}

.call-status-picker legend {
  padding: 0;
  font-weight: 600;
}

.call-page .status-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0 0;
}

.call-page .status-tile {
  --call-status-color: #59636f;
  --call-status-bg: #edf0f2;
  position: relative;
  min-width: 0;
  margin: 0;
  border: 1px solid #d7dce0;
  border-radius: 6px;
  color: #505d68;
}

.call-page .status-tile.no-answer { --call-status-color: #805c16; --call-status-bg: #fff5dc; }
.call-page .status-tile.callback { --call-status-color: #1967b0; --call-status-bg: #edf4fd; }
.call-page .status-tile.rejected { --call-status-color: #a51d32; --call-status-bg: #fff1f3; }
.call-page .status-tile.appointment { --call-status-color: #14735b; --call-status-bg: #eaf5ef; }

.call-page .status-tile:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--call-status-color);
}

.call-page .status-tile:has(input:checked) {
  border-color: var(--call-status-color);
  background: var(--call-status-bg);
  color: var(--call-status-color);
  box-shadow: inset 0 0 0 1px var(--call-status-color);
}

.call-page .status-tile:has(input:checked) .text {
  color: inherit;
}

.call-page .status-tile input {
  position: absolute;
  display: block;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  opacity: 0;
}

.call-page .status-tile:focus-within,
.call-page summary:focus-visible,
.call-contact-row a:focus-visible,
.call-phone-link:focus-visible {
  outline: 2px solid #14735b;
  outline-offset: 3px;
}

.call-page .tile-content {
  height: 76px;
  padding: 10px 6px;
  gap: 7px;
}

.call-page .tile-content .ui-icon {
  width: 21px;
  height: 21px;
  flex-basis: 21px;
}

.call-page .tile-content .text {
  max-width: 100%;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.call-page .btn.small {
  min-height: 34px;
  padding: 6px 9px;
  font-size: 12px;
}

.call-form-actions {
  padding-top: 16px;
  border-top: 1px solid #dfe3e8;
}

.call-page .outlook-actions {
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}

.call-appointment {
  margin-top: 24px;
  border-top: 1px solid #dfe3e8;
}

.call-appointment > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 0;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.call-appointment > summary::-webkit-details-marker { display: none; }
.call-appointment > summary::after { content: '+'; margin-left: auto; font-size: 20px; }
.call-appointment[open] > summary::after { content: '-'; }

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

@media (max-width: 960px) {
  .call-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .call-workspace {
    padding: 24px 0 0;
    border-left: 0;
    border-top: 1px solid #dfe3e8;
  }
}

@media (max-width: 600px) {
  .call-layout {
    padding: 20px 16px;
  }

  .call-page .status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .call-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .call-stat-filter > strong {
    font-size: 21px;
  }

  .call-contact-data > div {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 8px;
  }

  .call-contact-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .call-contact-identity {
    grid-column: 1 / -1;
  }

  .call-contact-status {
    grid-column: 1 / -1;
  }

  .call-date-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .call-form-actions .btn {
    width: 100%;
  }
}

.call-workspace-page > .campaign-shell { width:100%; max-width:none; min-width:0; margin-left:0; margin-right:0; }
.call-workspace-page > .campaign-shell > .campaign-header { flex-direction:row; flex-wrap:wrap; align-items:flex-start; gap:1rem 1.5rem; margin-bottom:1rem; padding-bottom:1rem; }
.call-workspace-page .call-heading { flex:1 1 24rem; }
.call-workspace-page .call-heading h1 { margin:0; font-size:clamp(1.3rem,2vw,1.75rem); }
.call-workspace-page .call-heading > .call-eyebrow { margin:0 0 .4rem; color:#14735b; font-weight:650; }
.call-workspace-page > .campaign-shell > .campaign-header > .navigation { flex:1 1 32rem; min-width:0; max-width:100%; justify-content:flex-end; flex-wrap:wrap; gap:.4rem; }
.call-workspace-page > .campaign-shell > .campaign-header > .navigation .btn { padding:.55rem .75rem; font-size:.85rem; }
.call-workspace-page .call-stats { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap:.65rem; padding:0; border:0; }
.call-workspace-page .call-stat-filter { padding:.8rem 1rem; border:1px solid #d8e4dd; border-radius:.65rem; background:#fff; }
.call-workspace-page .call-stat-filter:hover { background:#f3f7f5; }
.call-workspace-page .call-stat-filter[aria-current] { border-color:currentColor; background:#edf5f1; box-shadow:inset 0 -2px currentColor; }
.call-workspace-page .call-stats-details { margin:.75rem 0 1rem; }
.call-workspace-page .call-campaign-task { position:static; margin-bottom:1rem; border-radius:.75rem; box-shadow:none; }
.call-workspace-page .call-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:1rem; padding:0; border:0; background:transparent; }
.call-workspace-page .call-contact,
.call-workspace-page .call-workspace { padding:1.25rem; border:1px solid #d8e4dd; border-radius:.75rem; background:#fff; box-shadow:0 .2rem .75rem #18342c08; }
.call-workspace-page .call-company-title { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-bottom:.75rem; }
.call-workspace-page .call-company-title #call-company { min-width:0; max-width:100%; margin:0; }
.call-customer-badge { display:inline-flex; flex-shrink:0; align-items:center; gap:.3rem; padding:.3rem .65rem; border:1px solid #a8cabb; border-radius:2rem; background:#e8f5ee; color:#105b48; font-size:.8rem; font-weight:650; line-height:1.4; }
a.call-customer-badge { text-decoration:none; }
a.call-customer-badge:hover { background:#d8eee2; border-color:#14735b; text-decoration:underline; }
a.call-customer-badge:focus-visible { outline:2px solid #14735b; outline-offset:3px; }
.call-workspace-page .call-phone-link { max-width:100%; font-size:clamp(1.1rem,1.8vw,1.5rem); overflow-wrap:anywhere; }
.call-workspace-page .call-latest-note { border-radius:.5rem; }
.call-workspace-page .call-contact-list { display:grid; gap:.5rem; }
.call-workspace-page .call-contact-row { grid-template-columns:minmax(0,1fr) auto; gap:.35rem .75rem; padding:.75rem; border:1px solid #dfe6e5; border-radius:.5rem; }
.call-workspace-page .call-contact-identity { grid-column:1; grid-row:1; }
.call-workspace-page .call-contact-phone { grid-column:1; grid-row:2; min-width:0; padding-left:1.6rem; }
.call-workspace-page .call-contact-email { grid-column:1; grid-row:3; min-width:0; padding-left:1.6rem; }
.call-workspace-page .call-contact-status { grid-column:2; grid-row:1 / 4; align-self:start; margin:0; }
.call-workspace-page .call-workspace-heading { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:.75rem; margin-bottom:1.25rem; }
.call-workspace-page .call-workspace-heading > div { min-width:0; }
.call-workspace-page .call-workspace-heading h2 { margin:0; }
.call-workspace-page .call-workspace-heading p { margin:.4rem 0 0; font-size:.85rem; }
.call-workspace-page .call-workspace-heading > .call-lead-heading-actions { margin:0; }
.call-workspace-page .call-lead-heading-actions form { display:inline-flex; margin:0; }
.call-workspace-page .call-field input[readonly] { color:#52665c; background:#f3f6f4; }
.call-workspace-page .callback-buttons { flex-wrap:wrap; gap:.4rem; }
.call-workspace-page .call-form-actions { padding-top:1rem; border-top:1px solid #dfe3e8; }
.call-workspace-page .call-form-actions > .btn { max-width:100%; white-space:normal; }
.call-workspace-page .call-initial-note > summary { cursor:pointer; font-size:.9rem; font-weight:650; }
@media (max-width:1100px) {
  .call-workspace-page .call-layout { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:600px) {
  .call-workspace-page > .campaign-shell > .campaign-header > .navigation { justify-content:flex-start; }
  .call-workspace-page .call-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .call-workspace-page .call-contact,
  .call-workspace-page .call-workspace { padding:1rem; }
  .call-workspace-page .call-contact-row { grid-template-columns:minmax(0,1fr); }
  .call-workspace-page .call-contact-status { grid-column:1; grid-row:4; justify-self:start; margin-left:1.6rem; }
}

/* Campaign icon picker */
.icon-picker {
  min-width: 0;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
}

.icon-picker legend {
  margin-bottom: 8px;
  font-weight: 600;
}

.icon-options {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
}

.icon-option {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 80px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 3px;
  margin: 0;
  border: 1px solid #d9dee5;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

.icon-option:hover {
  border-color: #7cad9b;
  background: #f1f7f4;
}

.icon-option:has(input:checked) {
  border-color: #14735b;
  background: #eaf5ef;
  box-shadow: 0 0 0 1px #14735b;
}

.icon-picker:disabled .icon-option {
  opacity: 0.55;
  cursor: not-allowed;
}

.icon-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
}

.icon-option span {
  font-size: 23px;
}

.icon-option small {
  max-width: 100%;
  padding: 0 4px;
  font-size: 11px;
  font-weight: 500;
  text-align: center;
  overflow-wrap: anywhere;
}

.icon-option:focus-within {
  outline: 2px solid #14735b;
  outline-offset: 2px;
}

@media (max-width: 800px) {
  .campaign-page {
    padding: 20px 14px 40px;
  }

  .campaign-header,
  .campaign-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .campaign-page .navigation,
  .campaign-actions-secondary {
    justify-content: flex-start;
  }

  .campaign-actions-primary .btn.primary {
    flex: 1;
  }

  .icon-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .campaign-header {
    gap: 16px;
  }

  .campaign-page .btn {
    min-height: 44px;
  }

  .campaign-page .icon-button {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }

  .campaign-page .navigation .btn.primary,
  .campaign-actions-primary .btn {
    flex: 1 0 100%;
  }

  .campaign-actions-secondary {
    justify-content: space-between;
    gap: 4px;
  }

  .campaign-actions-secondary > .btn {
    padding-left: 6px;
    padding-right: 6px;
  }

  .campaign-tools {
    padding-left: 4px;
    margin-left: auto;
  }

  .campaign-main {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
  }

  .campaign-icon {
    width: 42px;
    height: 42px;
    font-size: 21px;
  }

  .campaign-title-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .campaign-actions {
    padding: 12px 16px;
  }

  .campaign-call-link {
    margin-left: 0;
  }
}
.blacklist-entry-section {
  border-bottom: 1px solid #dce2e8;
  padding: 16px 0 24px;
}
.blacklist-import-form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: end;
}
.blacklist-import-form > label:not(.blacklist-import-confirm) {
  display: grid;
  gap: 6px;
  min-width: 0;
  flex: 1 1 240px;
}
.blacklist-import-form input[type="file"], .blacklist-import-form select { width: 100%; min-width: 0; }
.blacklist-import-confirm { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.blacklist-import-confirm input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; }
.blacklist-csv-preview { margin: 16px 0; }
.blacklist-csv-mapping-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.blacklist-csv-mapping-grid label { display: grid; gap: 6px; min-width: 0; }
.blacklist-csv-mapping-grid select { width: 100%; min-width: 0; }
.blacklist-csv-mapping-grid { align-items: start; }
.blacklist-csv-mapping-grid small { font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.blacklist-csv-mapping-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: 20px 0 8px; }
@media (max-width: 900px) { .blacklist-csv-mapping-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .blacklist-csv-mapping-grid { grid-template-columns: minmax(0, 1fr); } }
.blacklist-lead-search-form { margin-bottom: 16px; }
.blacklist-lead-search-form > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.blacklist-lead-search-form input { flex: 1 1 220px; min-width: 0; }
.blacklist-lead-block-form { display: flex; align-items: center; gap: 8px; margin: 0; }
.blacklist-lead-block-form select { min-width: 160px; }
.blacklist-lead-block-form .btn { white-space: nowrap; }
@media (max-width: 540px) {
  .blacklist-lead-block-form { flex-direction: column; align-items: flex-start; }
  .blacklist-import-form > .btn { white-space: normal; }
}
.blacklist-release-form {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}
.blacklist-release-form label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  white-space: nowrap;
  font-size: 13px;
  color: #59636f;
  cursor: pointer;
}
.blacklist-release-form input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-width: 16px;
  flex: 0 0 16px;
  margin: 0;
  padding: 0;
  accent-color: #14735b;
}
.blacklist-release-form .btn { margin: 0; white-space: nowrap; }
.blacklist-release-form .btn:hover { background: #e7f5ed; color: #105b48; }
.blacklist-release-form:has(input:checked) label { color: #105b48; }
.blacklist-release-form:has(input:checked) .btn { background: #e7f5ed; color: #105b48; }
.lead-directory-table td:has(.blacklist-release-form) { width: 1%; vertical-align: middle; }
@media (max-width: 540px) {
  .blacklist-release-form { flex-direction: column; align-items: flex-start; gap: 6px; }
}
.dispatch-confirm-form button:disabled {
  background: #e1e5e9;
  color: #626b75;
  border-color: #ccd2d8;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
}
.dispatch-draft-links { padding: 12px 0 20px; }
.dispatch-draft-links h3 { font-size: 16px; margin: 0 0 8px; }
.dispatch-draft-links ul { list-style: none; padding: 0; margin: 0 0 12px; }
.dispatch-draft-links li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding: 8px 0;
  border-bottom: 1px solid #dce2e8;
}
.dispatch-draft-links li span { min-width: 0; overflow-wrap: anywhere; }
.dispatch-draft-links .btn { white-space: normal; }
.blacklist-entry-section h2 { font-size: 20px; }
.newsletter-page .campaign-shell { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }
.newsletter-page h2 { font-size: 20px; }
.newsletter-page h3 { font-size: 16px; }
.newsletter-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border: 1px solid #ccd4dd;
  border-radius: 4px;
  background: #edf1f5;
  color: #47515e;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.newsletter-badge[data-state="APPROVED"], .newsletter-badge[data-state="SENT"] { background: #e5f3e9; border-color: #b3d6be; color: #21643b; }
.newsletter-badge[data-state="PENDING"], .newsletter-badge[data-state="SENDING"] { background: #e7f0fc; border-color: #b6ceed; color: #23548c; }
.newsletter-badge[data-state="FAILED"], .newsletter-badge[data-state="UNKNOWN"] { background: #fff0df; border-color: #e7c29a; color: #8b4a12; }
.newsletter-badge[data-state="CANCELLED"] { background: #fbe9e9; border-color: #dfb4b4; color: #973434; }
.newsletter-badge[data-state="OPENED"] { background: #e1f3f2; border-color: #a5d1cc; color: #22625b; }
.newsletter-design { padding: 20px 0; border-bottom: 1px solid #dfe3e8; }
.newsletter-design summary { cursor: pointer; font-weight: 600; margin-bottom: 12px; }
.target-group-filters details { margin: 16px 0; }
.target-group-filters summary { cursor: pointer; font-weight: 600; padding: 10px 0; }
.target-group-editor-page .campaign-shell{width:100%;max-width:none;margin-left:0;margin-right:0}
.target-group-header{align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}
.target-group-header>div{min-width:0}
.target-group-header h1{overflow-wrap:anywhere}
.target-group-eyebrow{margin:0 0 .35rem;color:#14735b;font-size:.78rem;font-weight:700}
.target-group-header-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .8rem;margin-top:.55rem;color:#637168;font-size:.85rem}
.target-group-details-card,.target-group-filter-panel{margin:0 0 1rem;border:1px solid #d8e4dd;border-radius:.75rem;background:#fff}
.target-group-details-card{padding:1rem 1.2rem}
.target-group-details-card>header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.target-group-details-icon{display:flex;padding:.6rem;border-radius:.6rem;background:#eaf4ee;color:#14735b}
.target-group-details-card h2{margin:0;font-size:1rem;color:#244137}
.target-group-details-card header p{margin:.25rem 0 0;font-size:.83rem;color:#637168}
.target-group-details-form{display:grid;gap:.85rem;max-width:none}
.target-group-details-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:start;gap:1rem}
.target-group-details-grid>div{min-width:0}
.target-group-details-grid label{display:block;margin:0 0 .4rem;font-weight:600;color:#42554a}
.target-group-details-grid input,.target-group-details-grid textarea{width:100%;min-width:0;box-sizing:border-box}
.target-group-details-grid textarea{min-height:4.25rem;resize:vertical}
.target-group-save{padding-top:1.65rem}
.target-group-contact-settings{border-top:1px solid #e3eae6;padding-top:.75rem}
.target-group-contact-settings>summary{display:flex;align-items:center;gap:.6rem;font-size:.87rem;font-weight:600;color:#325b48;cursor:pointer}
.target-group-contact-settings>.lead-editor-section{border:0;padding:.85rem 0 0;margin:0;min-width:0}
.target-group-contact-settings .lead-editor-grid,.target-group-editor-page .target-group-filters .lead-editor-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem 1rem;margin-bottom:0}
.target-group-filter-panel>summary{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.2rem;color:#325b48;font-weight:650;cursor:pointer}
.target-group-filter-panel>summary>span{margin-left:auto;color:#6b786f;font-size:.8rem;font-weight:400}
.target-group-filter-panel>summary::after,.target-group-contact-settings>summary::after{content:'+';margin-left:auto;font-weight:700}
.target-group-filter-panel[open]>summary::after,.target-group-contact-settings[open]>summary::after{content:'−'}
.target-group-editor-page .target-group-filters{gap:.85rem;padding:0 1.2rem 1rem;max-width:none}
.target-group-editor-page .target-group-filters details{margin:0}
.target-group-editor-page .target-group-filters .campaign-form-actions{padding-top:.75rem}
.target-group-editor-page .target-group-filters .lead-editor-section{margin:0;padding:.75rem 0;min-width:0}
.target-group-editor-page .target-group-filters .attribute-filter-row{padding:.6rem 0}
.target-group-editor-page .target-group-filters label{margin-bottom:.35rem}
.target-group-editor-page .target-group-bulk{margin-top:1rem;padding-top:1rem;max-width:none}
@media(max-width:1100px){.target-group-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.target-group-save{grid-column:1/-1;padding-top:0}}
@media(max-width:700px){.target-group-details-grid{grid-template-columns:minmax(0,1fr)}.target-group-header .navigation{width:100%;flex-wrap:wrap}.target-group-filter-panel>summary{flex-wrap:wrap}.target-group-filter-panel>summary>span{margin-left:0}}
.target-group-bulk { margin-top: 24px; padding-top: 20px; border-top: 1px solid #dfe3e8; }
.campaign-start-panel{margin:1.5rem 0;padding:1.2rem;border:1px solid #d6e4dc;border-radius:.75rem;background:#f8fbf9;scroll-margin-top:1rem}
.campaign-start-panel>header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.campaign-start-panel h2{margin:0;color:#244137;font-size:1.15rem}
.campaign-start-panel header p{margin:.35rem 0 0;color:#52665c;font-size:.85rem;line-height:1.5}
.campaign-start-form{max-width:none;display:grid;gap:.85rem}
.campaign-start-fields{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem 1rem}
.campaign-start-fields>div{flex:1 1 12rem;min-width:0}
.campaign-start-fields label{display:block;margin-bottom:.35rem}
.campaign-start-fields input{width:100%;box-sizing:border-box}
.campaign-start-fields>.campaign-count{margin-bottom:.5rem}
.campaign-start-form>.btn{justify-self:start}
.campaign-start-form>.muted{margin:0;line-height:1.55}
.target-group-bulk .campaign-filter { align-items: flex-start; }
.target-group-bulk .campaign-filter input { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 2px; padding: 0; }
.newsletter-preview, .newsletter-release, .newsletter-dispatch, .newsletter-link-results { padding: 24px 0; border-bottom: 1px solid #dfe3e8; }
.newsletter-test-action { align-self: end; }
.newsletter-source-options { max-height: 360px; overflow-y: auto; }
.newsletter-cta-fields { margin-top: 20px; }
.lead-duplicate-delete { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin:0 0 .5rem; }
.lead-duplicate-delete:last-child { margin-bottom:0; }
.newsletter-table .navigation { gap: 8px; }
.newsletter-table td[data-label="Aktion"] { white-space: nowrap; }
.newsletter-page .newsletter-table td[data-label="Aktion"] .navigation { flex-wrap: nowrap; align-items: center; justify-content: flex-end; }
.newsletter-table td[data-label="Aktion"] .btn { flex-shrink: 0; }
.newsletter-table td { max-width: 360px; }
.newsletter-page .campaign-filter.newsletter-activation-highlight { padding:.75rem 1rem; border:2px solid #c77700; border-radius:.5rem; background:#fff4ce; color:#663c00; font-weight:700; }
.newsletter-activation-highlight input { accent-color:#a85a00; }
.newsletter-page .email-layout-preview { box-sizing: border-box; }
@media (max-width: 800px) {
  .newsletter-table thead { display: none; }
  .newsletter-table, .newsletter-table tbody, .newsletter-table tr { display: block; width: 100%; }
  .newsletter-table tr { padding: 12px 0; border-bottom: 1px solid #dfe3e8; }
  .newsletter-table td, .newsletter-table td:first-child { display: block; min-width: 0; max-width: none; border: 0; padding: 6px 12px; }
  .newsletter-table td[data-label]::before { content: attr(data-label); display: block; font-size: 12px; color: #68717a; margin-bottom: 4px; }
  .newsletter-page .navigation { flex-wrap: wrap; }
  .newsletter-page .email-layout-preview { height: 420px; }
}
.blacklist-entry-form {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(180px, 2fr) minmax(160px, 2fr) auto;
  gap: 16px;
  align-items: end;
}
.blacklist-entry-form label { display: grid; gap: 6px; min-width: 0; }
.api-key-form { display: grid; gap: 1rem; margin-block: 1.5rem; }
.admin-users-page > .campaign-shell { width:100%; max-width:none; min-width:0; margin:0; }
.admin-users-page .campaign-header { flex-wrap:wrap; align-items:center; gap:1rem; }
.admin-users-page .campaign-header > div { min-width:0; }
.admin-users-page .campaign-heading { flex-wrap:wrap; }
.admin-users-page .campaign-header p { margin:.4rem 0 0; }
.admin-users-page .campaign-header .users-eyebrow { margin:0 0 .5rem; font-size:.8rem; color:#64748b; }
.admin-users-page .campaign-header .navigation { flex-wrap:wrap; justify-content:flex-end; }
.users-panel { min-width:0; margin:1rem 0; border:1px solid #dfe3e8; border-radius:.8rem; background:#fff; box-shadow:0 3px 12px rgba(25,40,50,.04); }
.users-create > summary { padding:1rem 1.25rem; cursor:pointer; font-weight:600; line-height:1.6; }
.users-create > summary .ui-icon { margin:0 .4rem; vertical-align:middle; }
.users-create-form { padding:0 1.25rem 1.25rem; }
.users-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.5rem; margin-bottom:1.25rem; }
.users-form-grid > div { min-width:0; }
.users-form-grid label { display:block; font-size:.85rem; font-weight:600; margin-bottom:.4rem; }
.users-form-grid input:not([type="checkbox"]), .users-form-grid select { width:100%; min-width:0; box-sizing:border-box; min-height:44px; margin:0; }
.users-form-grid p { font-size:.8rem; line-height:1.6; }
.users-create-form .user-invitation-option { margin-top:1rem; }
.users-create-form .user-invitation-option label { display:flex; align-items:flex-start; gap:.5rem; }
.users-directory-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem; }
.users-directory-heading h2 { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin:0; font-size:1.15rem; }
.users-directory-heading p { margin:.4rem 0 0; }
.users-summary { display:flex; flex-wrap:wrap; gap:.5rem; }
.users-badge { display:inline-flex; max-width:100%; padding:.25rem .65rem; border-radius:1rem; font-size:.78rem; font-weight:600; background:#edf1f4; color:#59636f; }
.users-badge.is-active { color:#1b6844; background:#e4f4eb; }
.users-badge.is-inactive { color:#805c14; background:#fff2d7; }
.users-badge.is-admin { color:#355d95; background:#e7effa; }
.admin-user-edit-page .user-edit-summary { margin-top:.75rem; }
.admin-user-edit-page .user-edit-panel { padding:clamp(1rem,2vw,1.5rem); scroll-margin-top:5rem; }
.admin-user-edit-page .user-edit-panel[hidden] { display:none; }
.admin-user-edit-page .user-edit-panel h2 { margin:0 0 .75rem; font-size:1.2rem; }
.admin-user-edit-page .user-edit-panel h3 { margin:0 0 1rem; font-size:1.05rem; }
.admin-user-edit-page .user-edit-panel p { line-height:1.65; overflow-wrap:anywhere; }
.admin-user-edit-page .campaign-header h1,.admin-user-edit-page .campaign-header p { overflow-wrap:anywhere; }
.user-edit-form { min-width:0; margin-top:1.25rem; }
.user-edit-form label { display:block; margin-bottom:.4rem; font-size:.85rem; font-weight:600; }
.user-edit-form input:not([type="hidden"]):not([type="checkbox"]),.user-edit-form select { width:100%; min-width:0; min-height:44px; margin:0; padding:.7rem .75rem; border:1px solid #ccd2d8; border-radius:6px; background:#fff; font:inherit; }
.user-edit-form input:focus-visible,.user-edit-form select:focus-visible { outline:2px solid #14735b; outline-offset:2px; }
.user-edit-form .muted { font-size:.85rem; }
.user-edit-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:.75rem; margin-top:1.5rem; padding-top:1rem; border-top:1px solid #dfe3e8; }
.user-edit-actions .btn { max-width:100%; white-space:normal; }
.user-permissions-options { display:grid; grid-template-columns:minmax(0,1fr); gap:.75rem; }
.user-permissions-options label { display:flex; align-items:flex-start; gap:.75rem; margin:0; padding:1rem; border:1px solid #dfe3e8; border-radius:.6rem; background:#f8faf9; }
.user-permissions-options input[type="checkbox"] { flex:0 0 auto; width:1.1rem; height:1.1rem; min-width:0; padding:0; margin:.15rem 0 0; accent-color:#14735b; }
.user-permissions-options label>span { flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.user-edit-security-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr)); gap:1.5rem; margin-top:1.5rem; }
.user-edit-group { min-width:0; padding:1.25rem; border:1px solid #dfe3e8; border-radius:.65rem; background:#fafcfb; }
@media(max-width:650px) { .user-edit-actions .btn { width:100%; } .user-edit-security-grid { gap:1rem; } .user-edit-group { padding:1rem; } }
.users-directory > .campaign-notice, .users-directory > p { margin:0 1.25rem 1rem; }
.users-directory > p { line-height:1.6; font-size:.85rem; }
.users-directory .lead-directory-table-wrap { border-radius:0 0 .8rem .8rem; }
.admin-users-page .users-table td { line-height:1.6; min-width:6rem; }
.admin-users-page .users-table td:first-child { min-width:3rem; }
.admin-users-page .users-table td:nth-child(2) { min-width:10rem; }
.admin-users-page .users-table td:nth-child(3) { min-width:13rem; }
.admin-users-page .users-table td:nth-child(5) { min-width:14rem; }
.admin-users-page .users-table td:nth-child(2) .users-badge { margin-top:.4rem; }
.admin-users-page .users-table th:last-child, .admin-users-page .users-table td:last-child { text-align:right; min-width:4rem; }
.admin-users-page .users-table p { margin:.4rem 0 0; font-size:.8rem; }
@media (max-width:1100px) {
  .admin-users-page .users-table { display:block; }
  .admin-users-page .users-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
  .admin-users-page .users-table tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:1rem; background:#f6f8f9; }
  .admin-users-page .users-table tr { display:block; min-width:0; padding:1rem; background:#fff; border:1px solid #dfe3e8; border-radius:.65rem; }
  .admin-users-page .users-table tbody td:nth-child(n) { display:block; width:auto; min-width:0; padding:.4rem 0; border:0; text-align:left; }
  .admin-users-page .users-table td[data-label]::before { content:attr(data-label); display:block; margin-bottom:.15rem; font-size:.72rem; font-weight:600; color:#64748b; }
  .admin-users-page .users-table tbody td:last-child { text-align:right; }
}
@media (max-width:650px) {
  .admin-users-page .users-table tbody { grid-template-columns:minmax(0,1fr); padding:.75rem; }
  .admin-users-page .campaign-header .navigation { justify-content:flex-start; }
  .users-form-grid { grid-template-columns:minmax(0,1fr); }
}
.api-key-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap: 1rem; }
.api-key-grid label { display: grid; gap: .4rem; min-width: 0; }
.api-key-grid input { width: 100%; min-width: 0; box-sizing: border-box; }
.api-key-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.api-key-page > .campaign-shell { width:100%; max-width:none; margin:0; }
.api-key-page .campaign-header { flex-wrap:wrap; align-items:flex-start; gap:1rem; }
.api-key-page .campaign-header > div { min-width:0; }
.api-key-page .campaign-header p { margin:.4rem 0 0; }
.api-key-page .campaign-header .api-key-eyebrow { margin:0 0 .4rem; font-size:.8rem; }
.api-key-page .campaign-header .navigation { flex-wrap:wrap; }
.api-key-page .api-key-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin:1.25rem 0; }
.api-key-page .api-key-toolbar h2, .api-key-page .api-key-section-heading h2 { margin:0; font-size:1.15rem; }
.api-key-page .api-key-toolbar p, .api-key-page .api-key-section-heading p { margin:.4rem 0 0; }
.api-key-page .api-key-panel { min-width:0; margin:1.25rem 0; border:1px solid #dfe3e8; border-radius:.8rem; background:#fff; box-shadow:0 3px 12px rgba(25,40,50,.04); }
.api-key-page #api-key-create-panel { padding:1.25rem; }
.api-key-page #api-key-create-panel[hidden] { display:none; }
.api-key-page .api-key-form { margin:0; }
.api-key-page .api-key-form .navigation { flex-wrap:wrap; padding-top:.5rem; }
.api-key-page .api-key-section-heading { padding:1.25rem; }
.api-key-page .api-key-form .api-key-section-heading { padding:0 0 .25rem; }
.api-key-page .api-key-directory .lead-directory-table-wrap { border-radius:0 0 .8rem .8rem; }
.api-key-page .lead-directory-table th:last-child { text-align:right; }
.api-key-page .lead-directory-table td:first-child { font-weight:600; }
.api-key-page .lead-directory-table td:first-child .muted { font-weight:400; }
.api-key-page .lead-directory-table td:nth-child(2) { min-width:18rem; line-height:1.65; }
.api-key-page .lead-directory-table td:nth-child(n+3) { min-width:7rem; }
.api-key-page .lead-directory-table td:last-child { min-width:9rem; }
.api-key-page .api-key-actions { margin:0; justify-content:flex-end; flex-wrap:nowrap; }
.api-key-page .api-key-actions .btn { padding:.5rem; }
.api-key-page .api-key-status { display:inline-flex; padding:.25rem .65rem; border-radius:2rem; font-size:.8rem; font-weight:600; white-space:nowrap; }
.api-key-page .api-key-status.is-active { background:#e4f4eb; color:#1b6844; }
.api-key-page .api-key-status.is-disabled { background:#fff2d7; color:#805c14; }
.api-key-page .api-key-status.is-revoked { background:#f6e7e8; color:#913d45; }
.api-key-page .api-key-guidance > summary { padding:1rem 1.25rem; cursor:pointer; font-weight:600; }
.api-key-page .api-key-guidance > summary .ui-icon { margin:0 .4rem; vertical-align:middle; }
.api-key-page .api-key-guidance-content { padding:0 1.25rem 1rem; line-height:1.65; overflow-wrap:anywhere; }
.api-key-page .api-key-guidance-content h2 { font-size:1.05rem; }
.api-key-page .api-secret { display:block; max-width:100%; overflow-wrap:anywhere; white-space:normal; }
@media (max-width:700px) {
  .api-key-page .api-key-toolbar { align-items:stretch; }
  .api-key-page .api-key-toolbar > div { flex-basis:100%; }
  .api-key-page .campaign-header .navigation { justify-content:flex-start; }
  .api-key-page #api-key-create-panel, .api-key-page .api-key-section-heading { padding:1rem; }
}
.api-secret { display: block; overflow-wrap: anywhere; user-select: all; }
.api-docs-shell { max-width: 90rem; margin: auto; padding: 1rem; }
#import-progress { margin-block: 1rem; }
#import-progress-bar { display: block; width: 100%; }
#import-progress-status { overflow-wrap: anywhere; }
.blacklist-entry-form input, .blacklist-entry-form select { width: 100%; min-width: 0; box-sizing: border-box; }
@media (max-width: 900px) {
  .blacklist-entry-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .blacklist-entry-form { grid-template-columns: minmax(0, 1fr); }
}
.email-template-library { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,23rem),1fr)); gap:1rem; margin-top:1.5rem; }
.email-template-card { display:flex; flex-direction:column; min-width:0; padding:1.25rem; border:1px solid #dfe3e8; border-radius:.75rem; background:#fff; overflow-wrap:anywhere; }
.email-template-card h2 { margin:.9rem 0 .5rem; font-size:1.15rem; }
.email-template-card h2 a { color:#242a30; text-decoration:none; }
.email-template-card h2 a:hover { color:#105b48; text-decoration:underline; }
.email-template-card .campaign-form-actions { flex-wrap:wrap; }
.email-template-card form { margin:0; }
.email-template-library-page .campaign-shell { width:100%; margin-left:0; margin-right:0; }
.email-template-library-header { flex-wrap:wrap; align-items:flex-start; }
.email-template-library-header > div { flex:1 1 24rem; min-width:0; }
.email-template-eyebrow { margin:0 0 .5rem; color:#105b48; font-size:.8rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.email-template-library-header .muted { margin:.75rem 0 0; }
.email-template-library-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-left:auto; }
.email-template-library-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; border:1px solid #dfe3e8; border-radius:.75rem; background:#fff; }
.email-template-library-toolbar h2 { display:flex; align-items:center; gap:.65rem; margin:0; font-size:1rem; }
.email-template-library-toolbar p { margin:.35rem 0 0; font-size:.85rem; }
.email-template-count { display:inline-flex; justify-content:center; min-width:1.6rem; padding:.1rem .45rem; border-radius:1rem; background:#edf3f0; color:#105b48; font-size:.8rem; }
.email-template-card-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.email-template-status { display:inline-flex; padding:.3rem .65rem; border-radius:1rem; background:#e9f5ef; color:#105b48; font-size:.75rem; font-weight:650; }
.email-template-status[data-archived="1"] { background:#eef0f3; color:#59636f; }
.email-template-card-id { color:#68717a; font-size:.8rem; }
.email-template-description { flex:1; min-height:2.8em; margin:0 0 1.25rem; white-space:pre-line; font-size:.9rem; }
.email-template-updated { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem; color:#68717a; font-size:.8rem; }
.email-template-card .campaign-form-actions { margin-top:1rem; padding-top:1rem; gap:.5rem; }
.email-template-library-empty { padding:3rem 1.5rem; margin-top:1.5rem; border:1px dashed #b8c7c1; border-radius:.75rem; background:#ffffffc9; text-align:center; }
.email-template-empty-icon { display:inline-flex; padding:.85rem; border-radius:.75rem; background:#e9f5ef; color:#105b48; }
.email-template-library-empty h2 { margin:1rem 0 .5rem; }
@media (max-width:800px) {
  .email-template-library-header { gap:1rem; }
  .email-template-library-header > div { flex:0 1 auto; width:100%; }
  .email-template-library-actions { margin-left:0; }
}
@media (max-width:600px) {
  .email-template-library-actions { width:100%; margin-left:0; }
  .email-template-library-actions .btn { justify-content:center; width:100%; }
  .email-template-card { padding:1rem; }
}
.email-rich-section { min-width:0; }
.email-rich-toolbar { display:flex; flex-wrap:wrap; gap:.4rem; padding:.5rem; margin-bottom:.6rem; border:1px solid #dfe3e8; border-radius:.5rem; background:#f5f7f8; }
.email-rich-canvas { min-height:10rem; padding:1.25rem; border:1px solid var(--email-design-border-color,#cbd5e1); border-radius:.5rem; background:var(--email-design-content-background,#fff); color:var(--email-design-text-color,#242a30); font-family:var(--email-design-font,Arial,sans-serif); font-size:var(--email-design-size,15px); line-height:1.6; overflow-wrap:anywhere; }
.email-rich-canvas:focus { outline:2px solid #105b48; outline-offset:2px; }
.email-rich-canvas img { max-width:100%; height:auto; }
.email-rich-canvas { display:flow-root; }
.email-image-layout { margin:1rem 0; padding:1rem; border:1px solid #cbd5e1; border-radius:.5rem; }
.email-image-layout-fields { display:flex; flex-wrap:wrap; gap:1rem; }
.email-image-layout-fields .campaign-field { flex:1 1 10rem; min-width:0; }
.email-image-layout p { font-size:.85rem; margin:.5rem 0 0; }
.email-image-resizer { position:fixed; pointer-events:none; z-index:80; outline:2px solid #105b48; }
.email-image-resizer[hidden] { display:none; }
.email-image-resize-handle { position:absolute; right:-.5rem; bottom:-.5rem; width:1.25rem; height:1.25rem; padding:0; border:2px solid #fff; border-radius:.25rem; background:#105b48; cursor:nwse-resize; pointer-events:auto; touch-action:none; }
.email-image-resize-handle:focus-visible { outline:3px solid #f5a623; outline-offset:2px; }
.email-image-size-status { position:absolute; right:0; top:100%; margin-top:.75rem; padding:.2rem .5rem; background:#105b48; color:#fff; border-radius:.25rem; font:12px Arial,sans-serif; white-space:nowrap; }
.email-rich-canvas a { color:var(--email-design-link-color,#105b48); text-decoration:underline; }
.email-rich-canvas a[data-email-cta] { display:inline-block; padding:.75rem 1.25rem; background:var(--email-design-button-background,#105b48); color:var(--email-design-button-color,#fff); border-radius:.25rem; text-decoration:none; font-weight:bold; }
.email-rich-canvas a[data-email-cta="secondary"] { background:var(--email-design-secondary-background,#e9f3ef); color:var(--email-design-secondary-color,#105b48); }
.email-rich-section textarea { width:100%; box-sizing:border-box; font-family:monospace; }
.email-rich-section [hidden] { display:none; }
.email-template-picker { display:flex; flex-wrap:wrap; align-items:end; gap:.75rem; margin-bottom:1rem; }
.email-template-picker .campaign-field { flex:1 1 14rem; min-width:0; margin:0; }
.email-template-picker select { width:100%; min-height:44px; }
.email-template-picker > .btn { flex:0 0 auto; min-height:44px; white-space:nowrap; }
.email-design-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1rem 1.5rem; margin:1rem 0; }
.email-design-grid .campaign-field { margin:0; min-width:0; }
.email-design-color label { display:block; margin-bottom:.4rem; }
.email-design-color > div { display:flex; align-items:center; gap:.75rem; }
.campaign-form .email-design-color input[type="color"] { width:3.5rem; height:2.75rem; padding:.2rem; flex:0 0 auto; cursor:pointer; }
.email-design-color output { font-family:monospace; }
.email-design-palette summary { cursor:pointer; font-weight:600; padding:.75rem 0; }
[data-email-editor] [data-rich-section="header"] .email-rich-canvas { background:var(--email-design-header-background,#105b48); color:var(--email-design-header-color,#fff); border-top:5px solid var(--email-design-accent-color,#48b795); }
[data-email-editor] [data-rich-section="footer"] .email-rich-canvas { background:var(--email-design-footer-background,#f5f7f8); color:var(--email-design-footer-color,#59636f); font-size:var(--email-design-footer-size,13px); }
[data-email-editor] [data-rich-section="disclaimer"] .email-rich-canvas { background:var(--email-design-disclaimer-background,#fafbfc); color:var(--email-design-disclaimer-color,#68717a); font-size:var(--email-design-disclaimer-size,12px); }
.email-rich-canvas a[data-email-cta] { font-size:var(--email-design-size,15px); }
.email-template-editor-page .campaign-shell { width:100%; margin-left:0; margin-right:0; }
.email-template-editor-page #campaign-editor-form { max-width:none; }
.email-editor-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; align-items:start; max-width:none; }
.email-template-edit-panel { min-width:0; }
.email-template-preview { position:sticky; top:calc(var(--email-savebar-height,5rem) + 1rem); display:flex; flex-direction:column; min-width:0; height:calc(100dvh - var(--email-savebar-height,5rem) - 2rem); min-height:22rem; padding:1rem; border:1px solid #dfe3e8; border-radius:.75rem; background:#fff; }
.email-template-preview-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; }
.email-template-preview-heading h2 { margin:0; font-size:1.2rem; }
.email-template-preview > p { margin:.5rem 0; font-size:.85rem; }
.email-template-preview #library-preview-subject { margin:.5rem 0; font-size:1rem; overflow-wrap:anywhere; }
.email-preview-viewport { flex:1; min-height:12rem; min-width:0; overflow:auto; background:#f0f3f5; border:1px solid #dfe3e8; border-radius:.5rem; }
.email-template-preview .email-layout-preview { width:var(--email-preview-width,100%); max-width:none; height:100%; min-height:12rem; margin:0 auto; border:0; border-radius:0; }
.email-template-view-switch { position:sticky; top:var(--email-savebar-height,5rem); z-index:2; display:flex; gap:.5rem; padding:.75rem 0; background:#f5f6f8; scroll-margin-top:var(--email-savebar-height,5rem); }
.email-template-view-switch [aria-pressed="true"] { background:#105b48; color:#fff; }
[data-email-editor] [hidden] { display:none; }
@media (max-width:1050px) {
  .email-editor-layout { grid-template-columns:minmax(0,1fr); gap:1rem; }
  .email-template-preview { position:static; height:calc(100dvh - var(--email-savebar-height,5rem) - 6rem); }
}
.email-template-savebar { position:sticky; top:0; z-index:3; display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; padding:.75rem; margin-bottom:1rem; background:#fff; border:1px solid #dfe3e8; border-radius:.5rem; box-shadow:0 2px 6px #0000000a; }
.email-template-savebar > div { flex:1 1 14rem; min-width:0; }
.email-editor-layout > .email-template-savebar, .email-editor-layout > .email-template-view-switch, .email-editor-layout > .email-editor-library { grid-column:1 / -1; }
.email-editor-library:empty { display:none; }
.newsletter-workspace-section { margin:1.5rem 0; padding:1rem; border:1px solid #dfe3e8; border-radius:.75rem; background:#fff; scroll-margin-top:1rem; }
.newsletter-workspace-section .navigation { justify-content:flex-end; }
.newsletter-table .newsletter-metric { white-space:normal; min-width:10rem; }
.newsletter-metric strong, .newsletter-metric small { display:block; margin:.25rem 0; }
.newsletter-metric small { color:#59636f; }
.newsletter-metric meter { width:100%; max-width:12rem; height:.75rem; }
.newsletter-metric .newsletter-metric-test { color:#8a4b00; font-weight:600; }
.newsletter-quick-plan { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; }
.newsletter-quick-plan .campaign-field { flex:1 1 16rem; min-width:0; margin:0; }
.newsletter-quick-plan input, .newsletter-quick-plan select { width:100%; min-height:44px; box-sizing:border-box; }
.newsletter-quick-plan > button { min-height:44px; }
.newsletter-delete-dialog { width:min(32rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); box-sizing:border-box; padding:1.5rem; border:1px solid #dfe3e8; border-radius:.75rem; background:#fff; color:#242a30; overflow:auto; overflow-wrap:anywhere; }
.newsletter-delete-dialog::backdrop { background:#14252b99; }
.newsletter-delete-dialog h2 { margin-top:0; }
.newsletter-delete-dialog-expanded { width:min(64rem,calc(100% - 2rem)); }
.dashboard-page .dashboard-shell { width:100%; max-width:none; margin:0; }
.dashboard-welcome { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2.5rem; border-radius:1.25rem; color:#fff; background:radial-gradient(ellipse at top right,#367c7370,transparent 65%),linear-gradient(120deg,#122e38,#164c48); }
.dashboard-welcome h1 { margin:.35rem 0 .75rem; font-size:clamp(1.8rem,3vw,3rem); line-height:1.15; letter-spacing:-.035em; color:#fff; }
.dashboard-welcome p { margin:0; color:#d0e4e0; }
.dashboard-eyebrow { margin:0 0 .4rem; font-size:.68rem; font-weight:750; letter-spacing:.14em; color:#557971; }
.dashboard-welcome .dashboard-eyebrow { color:#b0d5c8; }
.dashboard-welcome-copy{min-width:0;flex:1}
.dashboard-welcome .dashboard-hero-link{flex-shrink:0}
.dashboard-ticker{margin-top:1.4rem;border-top:1px solid #ffffff30;padding-top:1rem;min-width:0}
.dashboard-ticker-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem}
.dashboard-ticker-heading>span{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:650;color:#b0d5c8}
.dashboard-ticker-heading .btn{color:#e3f1ed;border-color:#ffffff50;background:transparent;font-size:.72rem;white-space:nowrap}
.dashboard-ticker [hidden]{display:none}
.dashboard-ticker-viewport{overflow-x:auto;min-width:0;border-radius:.45rem}
.dashboard-ticker-track{display:flex;width:max-content}
.dashboard-ticker-items{list-style:none;margin:0;padding:0 2rem .25rem 0;display:flex;gap:2rem;flex-shrink:0;width:max-content}
.dashboard-ticker-items li{flex-shrink:0;display:flex;align-items:center;gap:.65rem}
.dashboard-ticker-unlinked{display:inline-flex;align-items:center;gap:.8rem;white-space:nowrap;color:#e3f1ed;font-size:.85rem;padding:.5rem 0}
.dashboard-ticker-items .dashboard-unlinked-delete{padding:.5rem;color:#ffd5cb;border:1px solid currentColor;border-radius:.4rem}
.dashboard-unlinked-label{font-size:.75rem;color:#ffe0a3}
.dashboard-appointment-cleanup{margin-bottom:1.25rem;overflow-wrap:anywhere}
.dashboard-appointment-cleanup .navigation{flex-wrap:wrap}
.dashboard-ticker-items a{display:inline-flex;align-items:center;gap:.8rem;white-space:nowrap;color:#e3f1ed;font-size:.85rem;text-decoration:none;padding:.5rem 0}
.dashboard-ticker-items time{font-weight:750;color:#fff}
.dashboard-ticker-items strong{color:#b8e4cb}
.dashboard-ticker-items a:hover{text-decoration:underline}
.dashboard-ticker:not(.is-animated) [data-ticker-duplicate]{display:none}
.dashboard-ticker.is-animated .dashboard-ticker-track{animation:dashboard-ticker-scroll var(--ticker-duration,45s) linear infinite}
.dashboard-ticker.is-paused .dashboard-ticker-track,.dashboard-ticker:hover .dashboard-ticker-track,.dashboard-ticker:focus-within .dashboard-ticker-track{animation-play-state:paused}
.dashboard-ticker.is-animated .dashboard-ticker-viewport{overflow:hidden}
.dashboard-ticker-viewport:focus-within .dashboard-ticker-track{animation:none}
.dashboard-ticker .dashboard-ticker-viewport:focus-within{overflow-x:auto}
.dashboard-welcome .dashboard-ticker-empty{font-size:.85rem;line-height:1.6}
@keyframes dashboard-ticker-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.dashboard-ticker.is-animated .dashboard-ticker-track{animation:none}.dashboard-ticker [data-ticker-duplicate]{display:none}.dashboard-ticker.is-animated .dashboard-ticker-viewport{overflow-x:auto}}
@media(max-width:650px){.dashboard-welcome-copy{width:100%}.dashboard-ticker-heading{flex-wrap:wrap}}
.dashboard-hero-link.btn { flex-shrink:0; background:#fff; color:#183f3b; border-color:#fff; }
.dashboard-context { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; margin:1.25rem 0; color:#60716e; font-size:.78rem; }
.dashboard-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1.25rem; }
.dashboard-metrics.dashboard-gitlab-metrics { grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); }
#dashboard-gitlab > header { flex-wrap:wrap; align-items:center; }
.dashboard-metric { padding:1.4rem; border:1px solid #e0e8e4; border-radius:1rem; background:#fff; box-shadow:0 3px 16px #193d2b05; }
.dashboard-metric-heading { display:flex; justify-content:space-between; align-items:center; gap:.5rem; color:#526b64; font-size:.85rem; }
.dashboard-metric-heading .ui-icon { color:#307b67; }
.dashboard-metric > strong { display:block; margin:.65rem 0; font-size:2.5rem; line-height:1.1; letter-spacing:-.045em; color:#163d35; }
.dashboard-metric p { margin:0; font-size:.73rem; color:#6c7b76; }
.dashboard-metric-attention { border-color:#e4cf99; background:#fffaf0; }
.dashboard-metric-today { border-color:#add5ba; background:#edf8f0; }
.dashboard-metric-today > strong { color:#21633c; }
.dashboard-metric-attention > strong { color:#8e5812; }
.dashboard-metric-link { display:block; color:inherit; text-decoration:none; }
.dashboard-metric-link:hover { text-decoration:none; box-shadow:0 4px 18px #193d2b18; }
.dashboard-metric-link:focus-visible { outline:3px solid #14735b; outline-offset:3px; }
.dashboard-metric-critical { border-color:#e3aaa3; background:#fff0ee; }
.dashboard-metric-critical > strong,.dashboard-metric-critical .dashboard-metric-heading,.dashboard-metric-critical .ui-icon { color:#93372d; }
.dashboard-metric-critical p { color:#854940; }
.dashboard-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:start; }
.dashboard-layout-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; margin-bottom:1rem; }
.dashboard-layout-toolbar[hidden],.dashboard-layout-toolbar [hidden],.dashboard-layout-item [hidden] { display:none; }
.dashboard-layout-toolbar .navigation { justify-content:flex-start; flex-wrap:wrap; }
.dashboard-layout-toolbar p { margin:0; font-size:.8rem; }
.dashboard-layout-toolbar [data-layout-help] { flex-basis:100%; }
.dashboard-custom-grid { display:grid; grid-template-columns:repeat(var(--dashboard-columns,12),minmax(0,1fr)); grid-auto-rows:5rem; gap:1rem; min-width:0; padding-bottom:1rem; }
.dashboard-layout-item { position:relative; display:flex; flex-direction:column; min-width:0; min-height:0; border-radius:1rem; }
.dashboard-layout-content { flex:1; min-width:0; min-height:0; overflow:auto; border-radius:1rem; scrollbar-gutter:stable; }
.dashboard-layout-content > .dashboard-widget,.dashboard-layout-content > .dashboard-metric,.dashboard-layout-content > #dashboard-gitlab-container,.dashboard-layout-content > #dashboard-gitlab-container > .dashboard-widget { box-sizing:border-box; min-height:100%; margin:0; }
.dashboard-layout-content > #dashboard-gitlab-container { height:100%; }
.dashboard-layout-content .dashboard-widget > header { flex-wrap:wrap; }
.dashboard-layout-controls { display:flex; align-items:center; gap:.5rem; padding:.3rem .5rem; background:#e8f2ed; border-radius:.75rem .75rem 0 0; }
.dashboard-layout-controls > span:not(.dashboard-layout-size) { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.75rem; font-weight:600; }
.dashboard-layout-size { flex-shrink:0; color:#526b64; font-size:.7rem; font-variant-numeric:tabular-nums; }
.dashboard-layout-controls .dashboard-layout-move { flex-shrink:0; padding:.25rem .5rem; min-height:2rem; cursor:grab; touch-action:none; font-size:1.1rem; }
.dashboard-layout-item .dashboard-layout-resize { position:absolute; right:.25rem; bottom:.25rem; padding:.15rem .45rem; min-height:2rem; z-index:2; background:#e8f2ed; border:1px solid #a7cabb; cursor:nwse-resize; touch-action:none; font-size:1rem; }
.dashboard-custom-grid.is-editing { background-image:linear-gradient(to right,#14735b0c 1px,transparent 1px),linear-gradient(to bottom,#14735b0c 1px,transparent 1px); background-size:calc((100% + 1rem) / var(--dashboard-columns,12)) 6rem; }
.dashboard-custom-grid.is-editing .dashboard-layout-item { outline:1px dashed #8bb8a6; }
.dashboard-custom-grid.is-editing .dashboard-layout-content { padding-bottom:2rem; border-radius:0 0 1rem 1rem; background:#fff; }
.dashboard-layout-item.is-moving { z-index:3; outline:2px solid #14735b; box-shadow:0 .5rem 1.5rem #173e2b30; }
.dashboard-layout-item.is-moving .dashboard-layout-move { cursor:grabbing; }
.dashboard-layout-move:focus-visible,.dashboard-layout-resize:focus-visible { outline:2px solid #14735b; outline-offset:2px; }
.dashboard-top-row { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:1.25rem; }
.dashboard-top-row > :only-child { grid-column:1/-1; }
.dashboard-widget { padding:1.5rem; min-width:0; background:#fff; border:1px solid #e0e8e4; border-radius:1rem; }
.dashboard-widget-wide { grid-column:span 2; align-self:stretch; }
.dashboard-opportunities{grid-column:1/-1}
.dashboard-opportunity-phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:0 1.5rem}
.dashboard-widget > header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.dashboard-widget h2 { margin:0; color:#203f36; font-size:1.08rem; letter-spacing:-.02em; }
.dashboard-widget > header a { flex-shrink:0; font-size:.78rem; color:#236952; }
.dashboard-widget .muted { font-size:.78rem; line-height:1.6; }
.dashboard-badge { flex-shrink:0; background:#edf5f0; color:#2b6651; border-radius:2rem; padding:.3rem .6rem; font-size:.7rem; font-weight:650; }
.dashboard-activity-chart { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.5rem; padding-top:.75rem; }
.dashboard-chart-day { display:flex; flex-direction:column; align-items:center; min-width:0; gap:.4rem; color:#657b72; font-size:.7rem; }
.dashboard-chart-day svg { display:block; width:100%; height:15rem; border-bottom:1px solid #dce9e2; fill:#338d75; background:linear-gradient(transparent 49%,#edf3ef 50%,transparent 51%); }
.dashboard-chart-day strong { font-size:.85rem; color:#2b5144; }
.dashboard-status { margin:1rem 0; }
.dashboard-status > div { display:flex; justify-content:space-between; gap:1rem; margin-bottom:.45rem; font-size:.8rem; color:#52685f; }
.dashboard-status svg { display:block; width:100%; height:.5rem; }
.dashboard-bar-track { fill:#edf3ef; }
.dashboard-bar-value { fill:#338d75; }
.dashboard-link-list > a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; color:#254a3d; text-decoration:none; border-bottom:1px solid #edf1ee; overflow-wrap:anywhere; }
.dashboard-link-list > a:last-child { border-bottom:0; padding-bottom:0; }
.dashboard-link-list > a:hover strong { text-decoration:underline; }
.dashboard-link-list strong { display:block; font-size:.85rem; }
.dashboard-link-list small { display:block; margin-top:.3rem; color:#687e72; font-size:.73rem; }
.dashboard-empty { color:#65776f; background:#f5f8f6; padding:1rem; border-radius:.6rem; font-size:.82rem; line-height:1.6; }
.lead-contact-actions { display:flex; flex-wrap:wrap; gap:.35rem 1rem; margin:.5rem 0 .75rem; font-size:.85rem; }
.lead-contact-actions a { display:inline-flex; align-items:center; gap:.4rem; overflow-wrap:anywhere; min-width:0; }
.lead-contact-actions small { color:#63746d; align-self:center; }
.lead-relationships { margin:1.25rem 0; padding:1.1rem; background:#f8fbf9; border:1px solid #dce8e0; border-radius:.75rem; }
.lead-relationships > header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.lead-relationships h3 { margin:0 0 .4rem; }
.lead-relationship-list { list-style:none; padding:0; margin:.75rem 0; }
.lead-relationship-list li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 0; border-bottom:1px solid #dce8e0; overflow-wrap:anywhere; }
.lead-relationship-list li > div:first-child { min-width:0; }
.lead-relationship-list small { display:block; margin-top:.25rem; color:#617068; }
.lead-relationship-dialog { width:min(62rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); box-sizing:border-box; padding:1.5rem; border:1px solid #dce8e0; border-radius:.9rem; color:#263e33; background:#fff; overflow:auto; }
.lead-relationship-dialog::backdrop { background:#102d38a6; }
.lead-relationship-dialog [data-relationship-search-area] { display:flex; align-items:end; gap:.75rem; flex-wrap:wrap; }
.lead-relationship-dialog [data-relationship-search-area][hidden] { display:none; }
.lead-relationship-dialog label { flex:1 1 18rem; }
.lead-relationship-dialog input { display:block; width:100%; box-sizing:border-box; margin-top:.5rem; }
.lead-relationship-dialog h2 { margin-top:0; }
@media (max-width:600px) { .lead-relationship-list li { align-items:flex-start; flex-wrap:wrap; } .lead-relationship-list .navigation { margin-left:auto; } }
@media (max-width:1100px) { .dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px) { .dashboard-welcome { padding:1.5rem; flex-direction:column; align-items:flex-start; gap:1.25rem; } .dashboard-metrics { gap:.65rem; } .dashboard-metric { padding:1rem; } .dashboard-metric-heading { align-items:flex-start; font-size:.75rem; } .dashboard-metric > strong { font-size:2rem; } .dashboard-grid { grid-template-columns:minmax(0,1fr); } .dashboard-widget-wide { grid-column:auto; } .dashboard-widget { padding:1.1rem; } .dashboard-widget > header { flex-wrap:wrap; } .dashboard-chart-day svg { height:8rem; } }
.newsletter-delete-edition { margin:1rem 0; padding:1rem; border:1px solid #dfe3e8; border-radius:.5rem; }
.newsletter-delete-edition label { display:block; margin-top:.75rem; }
.newsletter-delete-edition label[hidden] { display:none; }
.newsletter-delete-edition select { display:block; width:100%; margin-top:.35rem; }
#newsletter-delete-name { font-weight:650; }
.newsletter-delete-dialog .campaign-form-actions { flex-wrap:wrap; justify-content:flex-end; }
.kpm-help-page .campaign-shell { width:100%; margin-left:0; margin-right:0; }
.dispatch-progress { position:sticky; top:.5rem; z-index:18; margin:0 0 1.25rem; padding:.75rem 1rem; border:1px solid #cddfd6; border-radius:.7rem; background:#fff; box-shadow:0 .25rem 1rem #173e2b12; }
.dispatch-progress-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.3rem 1rem; font-size:.8rem; color:#52665c; }
.dispatch-progress-summary strong { color:#164e3f; }
.dispatch-progress-summary strong span { margin-left:.5rem; }
.dispatch-progress progress { display:block; width:100%; height:.35rem; margin:.55rem 0; accent-color:#14735b; }
.dispatch-progress ol { display:flex; gap:.35rem; list-style:none; padding:0; margin:0; overflow-x:auto; scrollbar-width:thin; }
.dispatch-progress li { flex:1 0 auto; min-width:0; }
.dispatch-progress li a { display:flex; align-items:center; gap:.45rem; min-height:2.8rem; padding:.4rem .6rem; border:1px solid transparent; border-radius:.4rem; color:#42584c; font-size:.8rem; text-decoration:none; white-space:nowrap; }
.dispatch-progress li a:hover { background:#f0f6f2; }
.dispatch-progress li a[aria-current="step"] { border-color:#14735b; background:#edf6f0; color:#105b48; font-weight:700; }
.dispatch-progress a:focus-visible { outline:2px solid #14735b; outline-offset:-2px; }
.dispatch-progress li small { display:block; margin-top:.15rem; color:#687b70; font-size:.66rem; font-weight:400; }
.dispatch-step-number { display:grid; place-items:center; flex:0 0 1.4rem; height:1.4rem; border-radius:50%; background:#edf1ee; font-size:.75rem; font-weight:700; }
.dispatch-progress li[data-state="done"] .dispatch-step-number { color:#fff; background:#14735b; }
.dispatch-progress li[data-state="blocked"] .dispatch-step-number { color:#805411; background:#fff0ce; }
.dispatch-step-intro { padding:1.25rem; margin-bottom:1.25rem; border:1px solid #dce5df; border-radius:.7rem; background:#fff; }
.dispatch-step-intro h2 { margin:.5rem 0; color:#164e3f; font-size:1.45rem; }
.dispatch-step-intro p { line-height:1.65; overflow-wrap:anywhere; }
.dispatch-step-current { padding:.85rem 1rem; background:#eef6f0; border-radius:.5rem; color:#254f3a; }
.dispatch-step-intro .navigation,.dispatch-step-footer { display:flex; flex-wrap:wrap; gap:.75rem; }
.dispatch-step-intro .btn,.dispatch-step-footer .btn { white-space:normal; text-align:left; }
.dispatch-step-footer { justify-content:space-between; margin:1.5rem 0; padding-top:1rem; border-top:1px solid #dce5df; }
.dispatch-step-footer > .primary { margin-left:auto; }
.recipient-duplicates { margin:1.25rem 0; padding:1.25rem; border:1px solid #e1c995; border-radius:.7rem; background:#fffdf7; }
.recipient-duplicates > p { line-height:1.6; }
.recipient-duplicate-group { margin:1rem 0; padding:1rem; border:1px solid #dce5df; border-radius:.6rem; background:#fff; }
.recipient-duplicate-group fieldset { min-width:0; border:0; margin:0 0 1rem; padding:0; }
.recipient-duplicate-group legend { margin-bottom:.75rem; font-weight:700; overflow-wrap:anywhere; }
.recipient-duplicate-choice { display:flex; align-items:flex-start; gap:.75rem; padding:.8rem; margin:.5rem 0; border:1px solid #dce5df; border-radius:.5rem; font-weight:400; cursor:pointer; }
.recipient-duplicate-choice:has(input:checked) { border-color:#14735b; background:#edf6f0; }
.recipient-duplicate-choice input { flex:0 0 auto; width:auto; margin-top:.25rem; }
.recipient-duplicate-choice span { min-width:0; overflow-wrap:anywhere; }
.recipient-duplicate-choice small { display:block; margin-top:.4rem; color:#52665c; line-height:1.5; }
.recipient-duplicate-group .btn { white-space:normal; text-align:left; }
#queue-start,#dispatch-review,#recipients-heading,#recipient-detail,#dispatch-feedback { scroll-margin-top:10rem; }
.dispatch-context { position:fixed; top:.5rem; left:calc(var(--sidebar-width,19rem) + 40px); right:1.5rem; z-index:18; }
.dispatch-context .dispatch-progress { position:static; margin:0; }
.dispatch-context-return { display:flex; flex-wrap:wrap; gap:.5rem 1rem; padding:.4rem .75rem; border:1px solid #dce5df; border-top:0; border-radius:0 0 .5rem .5rem; background:#fff; font-size:.8rem; }
.has-dispatch-context,body:has(> .dispatch-context) { padding-top:11rem !important; }
.sidebar-collapsed .dispatch-context { left:100px; }
@media(max-width:600px) { .dispatch-progress { padding:.65rem; }.dispatch-context { right:.75rem; }.has-dispatch-context,body:has(> .dispatch-context) { padding-top:13rem !important; }.dispatch-step-intro { padding:1rem; } }
.kpm-help-layout { display:grid; grid-template-columns:minmax(13rem,1fr) minmax(0,4fr); gap:1.5rem; align-items:start; }
.kpm-help-toc { position:sticky; top:1rem; max-height:calc(100dvh - 2rem); overflow:auto; padding:1rem; border:1px solid #dfe3e8; border-radius:.75rem; background:#fff; }
.kpm-help-toc h2 { font-size:1rem; margin-top:0; }
.kpm-help-toc a { display:block; padding:.5rem 0; overflow-wrap:anywhere; }
.kpm-help-section { padding:1.25rem; margin-bottom:1rem; border:1px solid #dfe3e8; border-radius:.75rem; background:#fff; scroll-margin-top:1rem; overflow-wrap:anywhere; }
.kpm-help-section .campaign-header { margin-bottom:1rem; }
.kpm-help-section h2 { font-size:1.2rem; }
.kpm-help-section li { margin:.75rem 0; line-height:1.65; }
.kpm-help-section ol { padding-left:1.5rem; }
.kpm-help-page [aria-current="page"] { font-weight:700; }
@media (max-width:1050px) { .kpm-help-layout { grid-template-columns:minmax(0,1fr); } .kpm-help-toc { position:static; max-height:none; } }
.kpm-help-page > .campaign-shell > .campaign-header { flex-wrap:wrap; }
.kpm-help-page > .campaign-shell > .campaign-header > div { min-width:0; flex:1 1 28rem; }
.kpm-manual [hidden] { display:none !important; }
.kpm-manual-intro { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; padding:clamp(1.25rem,2vw,2rem); border:1px solid #cddfd6; border-radius:1rem; background:linear-gradient(115deg,#f8fcfa,#eaf5ef); }
.kpm-manual-intro > div { flex:1 1 24rem; min-width:0; }
.kpm-manual-intro h2 { margin:.4rem 0 .75rem; font-size:clamp(1.5rem,2.2vw,2.2rem); color:#164e3f; }
.kpm-manual-intro p { margin:0; line-height:1.6; }
.kpm-manual-facts { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; list-style:none; padding:0; margin:0; }
.kpm-manual-facts li { display:grid; gap:.4rem; color:#52665c; font-size:.8rem; }
.kpm-manual-facts strong { color:#164e3f; font-size:1.7rem; line-height:1; }
.kpm-manual-facts .ui-icon { width:1.7rem; height:1.7rem; color:#14735b; }
.kpm-manual-layout { grid-template-columns:minmax(16rem,20rem) minmax(0,1fr); }
.kpm-manual-toc { padding:1.15rem; scrollbar-width:thin; }
.kpm-manual-toc h2 { margin:0 0 1rem; }
.kpm-manual-search label { font-size:.85rem; }
.kpm-manual-search-field { position:relative; }
.kpm-manual-search-field > .ui-icon { position:absolute; top:50%; left:.7rem; transform:translateY(-50%); color:#52665c; pointer-events:none; }
.kpm-manual-search-field input { padding:.75rem .65rem .75rem 2.2rem; min-width:0; background:#f8faf9; border-color:#cddbd3; }
.kpm-manual-search > p { margin:.55rem 0; color:#52665c; line-height:1.5; font-size:.78rem; }
.kpm-manual-search > button { margin-top:.25rem; white-space:normal; text-align:left; }
.kpm-manual-result-count { margin:1rem 0 .75rem; padding-bottom:.75rem; border-bottom:1px solid #e0e8e3; color:#52665c; font-size:.8rem; }
.kpm-manual-menu-list { list-style:none; padding:0; margin:0; }
.kpm-manual-menu-group { margin-top:.8rem; }
.kpm-manual-menu-group > p { display:flex; align-items:center; gap:.55rem; margin:0 0 .35rem; color:#244137; font-weight:700; font-size:.85rem; }
.kpm-manual-menu-group > .kpm-manual-menu-list { padding-left:.6rem; margin-left:.4rem; border-left:1px solid #dce7e0; }
.kpm-manual-toc a { display:flex; align-items:center; gap:.6rem; padding:.6rem; margin:.1rem 0; border-radius:.5rem; color:#42584c; font-size:.85rem; line-height:1.4; text-decoration:none; }
.kpm-manual-toc a .ui-icon,.kpm-manual-menu-group > p .ui-icon { flex:0 0 1.05rem; width:1.05rem; height:1.05rem; }
.kpm-manual-toc a:hover,.kpm-manual-toc a[aria-current="location"] { color:#105b48; background:#e9f4ed; }
.kpm-manual a:focus-visible,.kpm-manual summary:focus-visible { outline:2px solid #14735b; outline-offset:3px; border-radius:.4rem; }
.kpm-manual-sections { min-width:0; }
.kpm-manual-section { padding:clamp(1rem,1.8vw,1.5rem); border-color:#d8e5dd; box-shadow:0 .2rem .7rem #183b2c04; }
.kpm-manual-section:target { border-color:#73aa8e; }
.kpm-manual-section > .campaign-header { flex-wrap:wrap; align-items:flex-start; gap:1rem; padding-bottom:1rem; }
.kpm-manual-section > .campaign-header > .btn { margin-left:auto; }
.kpm-manual-heading { display:flex; align-items:center; gap:.85rem; min-width:0; flex:1 1 18rem; }
.kpm-manual-heading > div { min-width:0; }
.kpm-manual-section-icon { display:flex; flex:0 0 auto; padding:.7rem; background:#e8f3ec; color:#14735b; border-radius:.65rem; }
.kpm-manual-section-icon .ui-icon { width:1.4rem; height:1.4rem; }
.kpm-manual-path { color:#52665c; font-size:.78rem; line-height:1.5; margin:0 0 .35rem; }
.kpm-manual-section h2 { margin:0; font-size:1.25rem; color:#244137; }
.kpm-manual-description { line-height:1.7; color:#42554a; margin:0 0 1.25rem; }
.kpm-manual-process { margin:1.25rem 0; padding:1.1rem; border:1px solid #dce8e0; border-radius:.75rem; background:#f4f8f6; }
.kpm-manual-process figcaption { color:#244137; font-weight:650; line-height:1.5; margin-bottom:1rem; }
.kpm-manual-process figcaption > span { display:block; margin-bottom:.3rem; color:#14735b; text-transform:uppercase; letter-spacing:.05em; font-size:.7rem; font-weight:700; }
.kpm-manual-section .kpm-manual-process ol { display:flex; gap:1.4rem; list-style:none; margin:0; padding:0; }
.kpm-manual-section .kpm-manual-process li { position:relative; flex:1; min-width:0; margin:0; padding:.85rem; border:1px solid #d6e4dc; border-radius:.6rem; background:#fff; line-height:1.5; }
.kpm-manual-process li + li::before { content:'→'; position:absolute; top:1.15rem; left:-1.25rem; color:#14735b; font-weight:700; }
.kpm-manual-process-marker { display:flex; justify-content:space-between; align-items:center; gap:.5rem; margin-bottom:.75rem; color:#14735b; }
.kpm-manual-process-marker > span { display:grid; place-items:center; min-width:1.4rem; height:1.4rem; padding:.1rem; border-radius:50%; background:#e7f3ec; font-size:.75rem; font-weight:700; }
.kpm-manual-process li > strong { display:block; font-size:.9rem; color:#244137; }
.kpm-manual-process li > p { margin:.4rem 0 0; font-size:.83rem; color:#52665c; }
.kpm-manual-process-note { display:flex; align-items:flex-start; gap:.6rem; margin:1rem 0 0; padding-top:.85rem; border-top:1px solid #d6e4dc; font-size:.83rem; line-height:1.6; color:#3f594a; }
.kpm-manual-process-note > .ui-icon { flex:0 0 1.1rem; margin-top:.2rem; }
.kpm-manual-details { border:1px solid #dce5df; border-radius:.6rem; margin-top:.75rem; scroll-margin-top:1rem; }
.kpm-manual-details > summary { padding:.85rem 1rem; color:#205342; cursor:pointer; font-size:.9rem; font-weight:650; line-height:1.5; overflow-wrap:anywhere; }
.kpm-manual-details > summary:hover { background:#f3f8f5; border-radius:.6rem; }
.kpm-manual-details > summary > span { display:inline-block; color:#687c6f; font-size:.78rem; font-weight:400; margin-left:.5rem; }
.kpm-manual-details[open] > summary { border-bottom:1px solid #dce5df; background:#f8faf9; }
.kpm-manual-section .kpm-manual-instructions { margin:1rem; padding-left:1.4rem; }
.kpm-manual-instructions li::marker { color:#14735b; font-weight:700; }
.kpm-manual-topic-content { padding:0 1rem; line-height:1.7; }
.kpm-manual-topic-content .kpm-manual-instructions { margin-left:0; margin-right:0; }
.kpm-manual-topics h3 { margin:1.25rem 0 .65rem; color:#52665c; font-size:.85rem; font-weight:650; }
.kpm-manual-empty { text-align:center; padding:clamp(1.5rem,4vw,3rem); border:1px dashed #bacec1; border-radius:.75rem; background:#fff; color:#52665c; }
.kpm-manual-empty > .ui-icon { width:2rem; height:2rem; color:#14735b; }
.kpm-manual-empty h2 { color:#244137; font-size:1.25rem; }
.kpm-manual-empty p { line-height:1.6; }
@media (max-width:1450px) {
  .kpm-manual-section .kpm-manual-process ol { flex-direction:column; }
  .kpm-manual-process li + li::before { content:'↓'; top:-1.4rem; left:1rem; }
  .kpm-manual-process-marker { float:left; margin:0 .75rem .4rem 0; }
}
@media (max-width:1050px) {
  .kpm-manual-layout { grid-template-columns:minmax(0,1fr); }
  #manual-menu > .kpm-manual-menu-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:.5rem 1.5rem; }
}
@media (max-width:600px) {
  #manual-menu > .kpm-manual-menu-list { grid-template-columns:minmax(0,1fr); }
  .kpm-manual-intro { gap:1.25rem; }
  .kpm-manual-facts { gap:1rem; }
  .kpm-manual-process { padding:.85rem; }
  .kpm-manual-heading { flex-basis:100%; }
}
.newsletter-review-page .campaign-shell { width:100%; margin-left:0; margin-right:0; }
.newsletter-issue-review-form { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; max-width:none; align-items:start; }
.newsletter-review-form { grid-template-columns:minmax(0,1fr); }
.newsletter-plan-summary { min-width:0; padding:1rem; border:1px solid #dfe3e8; border-radius:.75rem; background:#fff; }
.newsletter-plan-summary dl { display:grid; grid-template-columns:minmax(9rem,auto) minmax(0,1fr); gap:.75rem 1.5rem; }
.newsletter-plan-summary dt { font-weight:600; }
.newsletter-plan-summary dd { margin:0; overflow-wrap:anywhere; }
.newsletter-review-form > .newsletter-preview { min-width:0; margin-top:0; }
.newsletter-review-form > .campaign-form-actions { grid-column:1 / -1; }
.newsletter-review-form > [hidden] { display:none; }
@media (max-width:1050px) { .newsletter-review-form { grid-template-columns:minmax(0,1fr); } }
.newsletter-review-checks{margin-block:1rem}
.newsletter-review-checks h2{margin:0 0 .75rem;font-size:1.1rem}
.newsletter-review-page .newsletter-preview{padding-top:0}
.newsletter-review-page .newsletter-release form{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.newsletter-review-page .newsletter-release button{width:auto;max-width:100%}
.newsletter-review-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.5rem}
.newsletter-review-workspace>.newsletter-review-form{grid-column:1;grid-row:1;min-width:0;position:sticky;top:1rem}
.newsletter-review-information{grid-column:2;grid-row:1;min-width:0}
.newsletter-review-information .newsletter-review-checks{margin-top:0}
.newsletter-review-information .newsletter-plan-summary dl{grid-template-columns:minmax(0,1fr);gap:.35rem}
.newsletter-review-information .newsletter-plan-summary dd{margin-bottom:.65rem}
.newsletter-plan-problem{display:flex;align-items:flex-start;gap:.35rem;margin-top:.45rem;color:#8a5b0a;font-size:.75rem;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.newsletter-plan-problem>.ui-icon{flex:0 0 1rem;width:1rem;height:1rem}
.newsletter-plan-problem:hover{text-decoration:underline}
.newsletter-review-workspace .newsletter-preview.email-template-preview{position:static;height:calc(100dvh - 2rem);padding:1rem;border:1px solid #dfe3e8}
.newsletter-review-workspace .newsletter-preview .campaign-header{margin-bottom:.5rem}
.newsletter-review-workspace #issue-preview-subject{margin:.5rem 0;font-size:1rem;overflow-wrap:anywhere}
.newsletter-review-information>.newsletter-plan-summary{margin-bottom:1rem}
.newsletter-review-test{display:grid;gap:.75rem}
.newsletter-review-test h2,.newsletter-review-test p{margin:0}
.newsletter-review-test>input{width:100%;min-width:0;padding:.7rem;border:1px solid #ccd2d8;border-radius:.4rem}
.newsletter-review-test>button{justify-self:start}
.newsletter-review-test .campaign-filter{white-space:normal}
@media(max-width:1050px){.newsletter-review-workspace{grid-template-columns:minmax(0,1fr)}.newsletter-review-workspace>.newsletter-review-form{position:static}.newsletter-review-workspace .newsletter-preview.email-template-preview{height:34rem}.newsletter-review-information{grid-column:1;grid-row:2}}
@media(max-width:600px){.newsletter-plan-summary dl{grid-template-columns:minmax(0,1fr);gap:.4rem}.newsletter-plan-summary dd{margin-bottom:.6rem}}
.email-editor-layout .email-template-picker { margin-top:1rem; }
.email-template-savebar strong, .email-template-savebar small { display:block; }
#template-save-status[data-dirty="true"] { color:#8a4b00; }
.email-editor-section-toggle { min-width:0; margin-bottom:1rem; border:1px solid #dfe3e8; border-radius:.5rem; background:#ffffff99; }
.email-editor-section-toggle > summary, .email-template-history > summary, .email-template-checks > summary { padding:1rem; font-weight:650; cursor:pointer; }
.email-editor-section-toggle > fieldset { margin:0; padding:0 1rem 1rem; border:0; }
.email-template-history, .email-template-checks { margin-bottom:1rem; border:1px solid #dfe3e8; border-radius:.5rem; padding:0 .75rem .5rem; }
.email-template-history select { width:100%; margin-bottom:.5rem; }
.email-template-checks ul { padding-left:1.5rem; overflow-wrap:anywhere; }
.email-template-checks[data-has-warnings="true"] { border-color:#d18a00; border-left:6px solid #c77700; background:#fff4ce; color:#663c00; }
.email-template-checks[data-has-warnings="true"] > summary { color:#663c00; font-weight:750; }
.email-template-checks[data-has-warnings="true"] .muted { color:#704b15; }
.email-template-checks[data-has-warnings="true"] li { margin:.5rem 0; padding:.65rem .75rem; border:1px solid #e5bc60; border-radius:.35rem; background:#fffdf5; color:#663c00; }
.email-template-checks[data-has-warnings="true"] li::marker { color:#a85a00; }
.email-template-checks[data-has-warnings="false"] { border-left:6px solid #14735b; background:#edf8f2; }
.email-template-checks[data-has-warnings="false"] > summary { color:#105b48; }
.email-preview-sizes { display:flex; flex-wrap:wrap; gap:.4rem; }
.email-preview-sizes [aria-pressed="true"] { background:#105b48; color:#fff; }
.email-content-blocks { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-top:.75rem; }
.email-content-blocks > h3, .email-content-blocks > p { flex:1 1 100%; margin:.25rem 0; }
.email-content-block-list { width:100%; }
.email-content-block-list > div { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem; padding:.5rem 0; border-top:1px solid #dfe3e8; }
.email-content-block-list span { flex:1 1 8rem; }
.email-rich-canvas { container-type:inline-size; }
.email-rich-canvas [data-email-block] { box-sizing:border-box; min-width:0; outline:1px dashed #b8cfc5; margin:.75rem 0; display:flow-root; }
.email-rich-canvas [data-email-block="one_column"], .email-rich-canvas [data-email-block="two_columns"] { display:grid; grid-template-columns:minmax(0,1fr); }
.email-rich-canvas [data-email-block="two_columns"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.email-rich-canvas [data-email-column] { min-width:0; display:flow-root; overflow-wrap:anywhere; }
.email-block-settings { display:flex; flex-wrap:wrap; gap:.75rem; flex:1 1 100%; }
.email-block-settings label { flex:1 1 8rem; min-width:0; font-size:.85rem; }
.email-block-settings select { display:block; width:100%; margin-top:.25rem; }
.email-history-controls { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; }
.email-history-status { font-size:.75rem; color:#59636f; }
.email-block-drag-handle { cursor:grab; touch-action:none; user-select:none; min-width:2rem; }
.email-block-drag-handle:active { cursor:grabbing; }
.email-content-block-list > .email-block-dragging { opacity:.55; background:#edf8f2; outline:1px dashed #105b48; }
.email-block-drop-marker { position:fixed; z-index:90; pointer-events:none; height:0; border-top:4px solid #14735b; color:#105b48; font:bold .75rem Arial,sans-serif; text-align:right; text-shadow:0 1px #fff; }
.email-block-drop-marker[hidden] { display:none; }
.email-block-status { font-size:.85rem; color:#105b48; }
.email-block-actions { display:flex; flex-wrap:nowrap; gap:.25rem; margin-left:auto; }
.email-block-actions .btn { flex-shrink:0; }
.email-block-action-up .ui-icon, .email-block-action-down .ui-icon { transform:rotate(90deg); }
@container (max-width:400px) { .email-rich-canvas [data-email-block="two_columns"] { grid-template-columns:minmax(0,1fr); } }
@media (max-width:600px) { .email-rich-canvas [data-email-block="two_columns"] { grid-template-columns:minmax(0,1fr); } }
.email-rich-canvas > [data-email-block] { border:1px dashed #b8c7c1; padding:.75rem; margin:.5rem 0; }
.email-element-dialog { width:min(36rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); padding:1.25rem; border:1px solid #dfe3e8; border-radius:.75rem; overflow:auto; color:#242a30; }
.email-element-dialog::backdrop { background:#0008; }
.email-element-dialog header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.email-element-dialog h2 { margin:0; font-size:1.2rem; }
.email-element-dialog label { display:block; margin-bottom:.4rem; }
.email-element-dialog input, .email-element-dialog select { width:100%; padding:.65rem; }
.email-element-dialog small { display:block; margin-top:.4rem; }
.email-element-dialog [hidden] { display:none; }
#element-dialog-error { color:#a12622; }
.email-image-upload { padding:1rem; margin-bottom:1rem; border:1px solid #b8cfc5; border-radius:.5rem; background:#edf8f2; }
.email-image-upload input[type="file"] { padding:.5rem 0; max-width:100%; }
.email-image-upload p { font-size:.85rem; margin:.5rem 0; }
.email-template-brand { margin:.25rem 0 .75rem; color:#105b48; font-weight:600; overflow-wrap:anywhere; }
.email-inline-block-drag{position:fixed;z-index:70;width:28px;height:28px;border:1px solid #14735b;border-radius:5px;background:#fff;color:#14735b;font-size:20px;line-height:1;cursor:grab;touch-action:none;user-select:none;box-shadow:0 1px 4px #0002}
.email-inline-block-drag:hover,.email-inline-block-drag:focus-visible,.email-inline-block-drag.email-inline-dragging{background:#14735b;color:#fff;outline:2px solid #b8cfc5;outline-offset:2px}
.email-inline-block-drag:active{cursor:grabbing}
.email-inline-block-drag:disabled{opacity:.45;cursor:default}
.user-invitation-option{margin-top:.75rem;padding:.85rem 1rem;border:1px solid #cddfd6;border-radius:.5rem;background:#f3f8f5}
.user-invitation-option>label{display:flex;align-items:flex-start;gap:.65rem;margin:0;cursor:pointer;font-weight:600}
.user-invitation-option input[type="checkbox"]{flex:0 0 18px;width:18px;height:18px;padding:0;margin:.15rem 0 0;accent-color:#14735b}
.user-invitation-option>p{margin:.5rem 0 0;font-size:.875rem;line-height:1.45}
.kpm-concept-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:2rem;padding:2rem;margin:0 0 1.5rem;border:1px solid #cddfd6;border-radius:1rem;background:linear-gradient(120deg,#fff,#edf7f2)}
.kpm-concept-hero h2{font-size:clamp(1.6rem,2.4vw,2.7rem);line-height:1.18;margin:.5rem 0 1rem;color:#164e3f}
.kpm-concept-hero p{line-height:1.65}
.kpm-concept-eyebrow{color:#14735b;font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em}
.kpm-concept-hero img{display:block;width:100%;height:auto;min-width:0}
.kpm-concept-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.25rem}
.kpm-concept-tags span{border:1px solid #cddfd6;background:#fff;border-radius:2rem;padding:.35rem .7rem;font-size:.8rem;color:#205342}
.kpm-concept-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,3rem)}
.kpm-concept-intro h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.15;max-width:20ch}
.kpm-concept-pillars{display:grid;gap:.7rem;list-style:none;padding:0;margin:0;min-width:0}
.kpm-concept-pillars li{display:flex;align-items:center;gap:.85rem;padding:1rem;border:1px solid #d5e4db;border-radius:.75rem;background:#ffffffd9}
.kpm-concept-pillars .ui-icon{flex:0 0 1.5rem;width:1.5rem;height:1.5rem;color:#14735b}
.kpm-concept-pillars strong,.kpm-concept-pillars span{display:block}
.kpm-concept-pillars strong{color:#244137;font-size:.95rem}
.kpm-concept-pillars span{margin-top:.3rem;color:#52665c;font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}
.kpm-concept-guide .kpm-concept-manual-link{margin-top:1rem;padding-top:1rem;border-top:1px solid #dce7e0;font-size:.8rem}
.kpm-concept-guide .kpm-manual-description{font-size:1rem}
@media(max-width:1050px){#concept-menu>.kpm-manual-menu-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.5rem;align-items:start}}
@media(max-width:700px){.kpm-concept-intro{grid-template-columns:minmax(0,1fr)}#concept-menu>.kpm-manual-menu-list{grid-template-columns:minmax(0,1fr)}}
.kpm-concept-flow{margin:1.5rem 0;padding:1.25rem;border-radius:.75rem;background:#f4f8f6;border:1px solid #dae8e0}
.kpm-concept-flow figcaption{font-weight:650;color:#205342;line-height:1.5;margin-bottom:1rem}
.kpm-help-section .kpm-concept-flow ol{display:flex;gap:1.5rem;list-style:none;padding:0;margin:0}
.kpm-help-section .kpm-concept-flow li{position:relative;flex:1;min-width:0;margin:0;padding:1rem .75rem;background:#fff;border:1px solid #d6e4dc;border-radius:.65rem;line-height:1.4}
.kpm-concept-flow li+li::before{content:'→';position:absolute;left:-1.35rem;top:1.25rem;color:#14735b;font-weight:700}
.kpm-concept-node-icon{display:inline-flex;padding:.55rem;background:#e7f3ec;color:#14735b;border-radius:.55rem;margin-bottom:.65rem}
.kpm-concept-node-icon .ui-icon{width:24px;height:24px}
.kpm-concept-flow strong,.kpm-concept-flow li div>span{display:block;overflow-wrap:anywhere}
.kpm-concept-flow li div>span{margin-top:.4rem;font-size:.85rem;color:#52665c}
.kpm-help-section .kpm-concept-merge ol{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.kpm-concept-merge li:nth-child(2)::before{content:'+';left:-.8rem}
.kpm-concept-merge li:last-child{grid-column:1 / -1;margin-top:1rem}
.kpm-concept-merge li:last-child::before{content:'↓';top:-1.5rem;left:50%}
@media(max-width:1250px){.kpm-help-section .kpm-concept-flow:not(.kpm-concept-merge) ol{flex-direction:column}.kpm-concept-flow:not(.kpm-concept-merge) li+li::before{content:'↓';left:1rem;top:-1.45rem}}
@media(max-width:700px){.kpm-concept-hero{grid-template-columns:minmax(0,1fr);padding:1.25rem;gap:1rem}.kpm-concept-flow{padding:.85rem}.kpm-help-section .kpm-concept-merge ol{grid-template-columns:minmax(0,1fr);gap:1.5rem}.kpm-concept-merge li:nth-child(2)::before{top:-1.45rem;left:1rem}.kpm-concept-merge li:last-child{margin-top:0}.kpm-concept-merge li:last-child::before{left:1rem}}
.api-key-form .api-permission-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:.85rem 1.25rem;padding:1rem;border:1px solid #dfe3e8;border-radius:.65rem;background:#fff;min-width:0}
.api-permission-options>p{grid-column:1 / -1;margin:0;line-height:1.5}
.api-key-form .api-permission-options label{display:flex;align-items:flex-start;gap:.6rem;margin:0;min-width:0;line-height:1.5}
.api-key-form .api-permission-options input[type="checkbox"]{flex:0 0 18px;width:18px;height:18px;padding:0;margin:.15rem 0 0;accent-color:#14735b}
.kpm-concept-campaigns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.5rem 0}
.kpm-concept-campaign-panel{min-width:0;border:1px solid #d8e6df;border-top:4px solid #14735b;border-radius:.75rem;padding:1.25rem;background:#fafcfb;scroll-margin-top:1rem}
.kpm-concept-campaign-panel:nth-child(2){border-top-color:#356697;background:#fafbfd}
.kpm-concept-campaign-panel>header,.kpm-concept-campaign-example{display:flex;align-items:flex-start;gap:.85rem}
.kpm-concept-channel-icon{display:inline-flex;flex:0 0 auto;padding:.7rem;border-radius:.65rem;background:#e5f2eb;color:#14735b}
.kpm-concept-channel-icon .ui-icon{width:26px;height:26px}
.kpm-concept-campaign-panel:nth-child(2) .kpm-concept-channel-icon{background:#e8eff8;color:#356697}
.kpm-concept-campaign-panel h3,.kpm-concept-campaign-example h3{margin:0 0 .4rem;font-size:1.15rem;color:#244137}
.kpm-concept-campaign-panel header p{margin:0;font-size:.9rem;color:#53655d}
.kpm-concept-campaign-panel>p,.kpm-concept-campaign-example p{line-height:1.65}
.kpm-concept-campaign-panel .kpm-concept-flow{padding:1rem;margin:1.25rem 0;background:#fff}
.kpm-help-section .kpm-concept-campaign-panel .kpm-concept-flow ol{flex-direction:column;gap:1.25rem}
.kpm-help-section .kpm-concept-campaign-panel .kpm-concept-flow li{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem;background:#f4f8f6}
.kpm-concept-campaign-panel .kpm-concept-flow li+li::before{content:'↓';top:-1.35rem;left:1rem}
.kpm-concept-campaign-panel .kpm-concept-node-icon{margin:0;padding:.4rem;flex:0 0 auto}
.kpm-concept-campaign-panel h4{margin:1.25rem 0 .75rem;font-size:.95rem}
.kpm-concept-state-list{margin:0}
.kpm-concept-state-list>div{padding:.75rem 0;border-bottom:1px solid #e0e8e3}
.kpm-concept-state-list dt{font-size:.85rem;font-weight:700;color:#205342}
.kpm-concept-state-list dd{margin:.35rem 0 0;font-size:.875rem;line-height:1.55;color:#52615a}
.kpm-concept-channel-note{display:flex;align-items:flex-start;gap:.6rem;margin:1.25rem 0 0;padding:.85rem;border:1px solid #e7cf99;border-radius:.5rem;background:#fff8e8;color:#725017;font-size:.875rem}
.kpm-concept-channel-note>.ui-icon{flex:0 0 auto;margin-top:.2rem}
.kpm-concept-campaign-example{padding:1.25rem;border-radius:.75rem;background:#edf5f1;border:1px solid #cddfd6;margin:1.5rem 0}
.kpm-concept-campaign-example p{margin:.5rem 0 0}
.opportunity-page .campaign-shell{width:100%;max-width:none;margin-left:0;margin-right:0}
.customer-page .campaign-shell{width:100%;max-width:none;margin-left:0;margin-right:0}
.customer-page .campaign-form{max-width:none}
.customer-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;align-items:end;margin-block:1rem}
.customer-filters label{display:block;font-weight:600}
.customer-filters input,.customer-filters select{width:100%;box-sizing:border-box}
.customer-section{margin-block:2rem;scroll-margin-top:1rem}
.customer-section-nav{position:sticky;top:0;z-index:20;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.25rem;margin-block:1rem;padding:.75rem .5rem;background:#fff;border-bottom:1px solid #dfe3e8;box-shadow:0 2px 6px #0000000a}
.customer-section-nav .btn{flex-shrink:0;border-radius:.35rem .35rem 0 0;border-bottom:3px solid transparent}
.customer-section-nav [aria-selected="true"]{border-bottom-color:#14735b;color:#105b48;background:#edf5f1;font-weight:650}
.customer-section-nav a:focus-visible{outline:2px solid #14735b;outline-offset:-2px}
.customer-section-nav .customer-tab-warning{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;inline-size:1.25em;block-size:1.25em;margin-inline-start:.4em;border-radius:50%;background:#b00020;color:#fff;font-size:.85em;font-weight:750;line-height:1}
.customer-gitlab-type.pill.danger{background:#fdebed}
.customer-gitlab-type.pill.success{background:#e6f4ed}
.customer-gitlab-type.pill.info{border-color:#275b90;color:#275b90;background:#e8f1fc}
.customer-page .customer-gitlab-status .pill{display:inline-flex;align-items:center;gap:.35rem;min-height:2.5rem;padding:.5rem .75rem;text-decoration:none;border-color:#ccd2d8}
.customer-page .customer-gitlab-status .pill[aria-current="true"]{border-color:#14735b;background:#edf5f1;color:#105b48;box-shadow:inset 0 0 0 1px #14735b}
.customer-page .customer-gitlab-status .pill:hover{background:#e8f1ed}
.customer-page .customer-gitlab-status .pill:focus-visible{outline:2px solid #14735b;outline-offset:3px}
.customer-page .customer-gitlab-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;max-width:none;margin-block:1rem}
.customer-page .customer-gitlab-filter label{display:flex;flex:1 1 12rem;flex-direction:column;gap:.35rem;min-width:0;margin:0}
.customer-page .customer-gitlab-filter .customer-gitlab-search{flex-basis:24rem}
.customer-page .customer-gitlab-filter input,.customer-page .customer-gitlab-filter select{width:100%;min-width:0;box-sizing:border-box}
.customer-page .customer-gitlab-filter .btn{flex:0 0 auto;white-space:nowrap}
.customer-page .customer-gitlab-sales{display:grid;gap:.85rem;max-width:none;margin-block:1.25rem}
.customer-page .customer-gitlab-sales label{display:grid;gap:.35rem}
.customer-page .customer-gitlab-sales input,.customer-page .customer-gitlab-sales select,.customer-page .customer-gitlab-sales textarea{width:100%;box-sizing:border-box}
.customer-page .customer-gitlab-sales>.btn{justify-self:start}
.customer-page .gitlab-feature-actions{justify-content:flex-end;flex-wrap:nowrap}
.customer-section[hidden]{display:none}
.customer-page .customer-section:focus{outline:none}
.customer-database-connection{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem}
.customer-database-connection input{flex:1 1 16rem;min-width:0}
.customer-page #customer-database .customer-database-transfer{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;margin:0}
.customer-page #customer-database .customer-database-transfer .btn{flex:0 0 auto;white-space:nowrap}
.external-api-page .campaign-form,.customer-page #customer-database .campaign-form{max-width:none}
.external-api-page>.campaign-shell{width:100%;max-width:none}
.external-api-page .lead-directory-table td,.customer-page #customer-database .lead-directory-table td{overflow-wrap:anywhere;vertical-align:top}
.external-api-page .lead-directory-table td:last-child,.customer-page #customer-database .lead-directory-table td:last-child{min-width:12rem}
.external-api-page .lead-directory-table td:last-child .navigation{justify-content:flex-end;flex-wrap:wrap}
.external-api-page .campaign-form input:not([type="checkbox"]),.external-api-page .campaign-form textarea,.external-api-page .campaign-form select{max-width:100%;box-sizing:border-box}
.external-api-page .external-api-checkbox{display:flex;align-items:flex-start;gap:.6rem;margin-block:.75rem;line-height:1.5;cursor:pointer}
.external-api-page .external-api-checkbox input[type="checkbox"]{flex:0 0 1.125rem;width:1.125rem;height:1.125rem;padding:0;margin:.1rem 0 0;accent-color:#14735b}
.external-api-checkbox>span{min-width:0;overflow-wrap:anywhere}
.external-api-optional{min-width:0;margin-block:1rem}
.external-api-optional-fields{margin-top:1rem}
.external-api-test-url{overflow-wrap:anywhere}
.external-api-page .external-api-test-success .ui-icon{color:#14735b}
.customer-page [data-customer-database-connect]:disabled{opacity:.45;cursor:not-allowed}
.external-api-page #external-api-mapping .lead-directory-table select{width:100%;max-width:100%;box-sizing:border-box}
.customer-page #customer-database .lead-directory-table td:last-child .navigation{justify-content:flex-end;flex-wrap:wrap}
.company-edit-page>.campaign-shell{width:100%;max-width:none}
.company-edit-page .campaign-form{max-width:none}
.company-edit-page .company-tab-panel{min-width:0}
.company-edit-page .company-tab-panel:focus{outline:none}
.company-edit-page .company-details-form{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.company-edit-page .company-details-form>.lead-editor-section{margin:0}
.company-edit-page .lead-editor-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.company-edit-page .company-tab-panel>.opportunity-section{margin-top:0}
@media(max-width:65rem){.company-edit-page .company-details-form{grid-template-columns:minmax(0,1fr)}}
.customer-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem;align-items:start}
.customer-overview-grid>.card{margin:0;min-width:0}
.customer-section .card{overflow-wrap:anywhere}
.customer-section dl{display:grid;grid-template-columns:minmax(8rem,auto) minmax(0,1fr);gap:.5rem 1rem}
.customer-section dt{font-weight:600}
.customer-section dd{margin:0;overflow-wrap:anywhere}
[data-customer-status-names]{max-height:12rem;overflow-y:auto}
.opportunity-page .campaign-form{max-width:none}
.opportunity-page .lead-editor-form>button{justify-self:start}
.opportunity-page .lead-editor-grid>label{min-width:0}
.opportunity-edit-page>.campaign-shell>.campaign-header{flex-wrap:wrap}
.opportunity-tab-panel{min-width:0;container:opportunity-panel / inline-size}
.opportunity-tab-panel[hidden]{display:none}
.opportunity-edit-page .opportunity-tab-panel:focus{outline:none}
.opportunity-details-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}
.opportunity-details-layout>.lead-editor-form,.opportunity-details-layout>.opportunity-assignment{min-width:0;margin:0;padding:1.25rem;border:1px solid #d7e3db;border-radius:.65rem;background:#fff}
.opportunity-details-layout>.lead-editor-form>.lead-editor-section:first-of-type{padding-top:0;border-top:0}
.opportunity-assignment h2{margin:0 0 1rem;font-size:1.1rem}
.opportunity-assignment .lead-editor-grid{grid-template-columns:minmax(0,1fr)}
.opportunity-assignment .campaign-form{margin:0}
.opportunity-assignment .muted{margin-bottom:0}
@container opportunity-panel (min-width:64rem){.opportunity-details-layout:has(>.opportunity-assignment){grid-template-columns:minmax(0,1fr) minmax(16rem,20rem)}}
.catalog-line-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin:1rem 0}
.catalog-field{min-width:0}
.catalog-field label,.catalog-picker>label{display:block;margin-bottom:.35rem;font-weight:600}
.catalog-position{padding:1rem;margin:1rem 0;border:1px solid #d7e3db;border-radius:.6rem}
.catalog-position-child{margin-left:1rem;border-left:.25rem solid #9dbdaf}
.catalog-picker{margin:1rem 0;max-width:100%}
.catalog-search-box{position:relative;min-width:0}
.catalog-suggestions{position:absolute;inset:auto 0 auto 0;top:100%;z-index:30;max-height:20rem;overflow-y:auto;border:1px solid #ccd5d0;border-radius:.4rem;background:#fff;box-shadow:0 .4rem 1rem #0002}
.catalog-suggestions[hidden]{display:none}
.catalog-suggestions [role="option"]{display:block;width:100%;border:0;border-radius:0;padding:.75rem 1rem;text-align:left;font:inherit;color:#38424c;background:#fff;white-space:normal;overflow-wrap:break-word;cursor:pointer}
.catalog-suggestions [role="option"]:hover,.catalog-suggestions [aria-selected="true"]{background:#e7f5ed;color:#105b48}
.catalog-suggestions-empty{padding:.75rem 1rem;color:#59636f}
.catalog-picker small{display:block;margin-top:.5rem;overflow-wrap:anywhere}
.catalog-actions{text-align:right}
.catalog-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}
.catalog-action-buttons .btn{margin:0}
.catalog-status-form{display:inline-flex;align-items:center;margin:0}
.catalog-position details{margin-top:1rem}
.catalog-line-edit>.navigation{justify-content:flex-end}
.catalog-position details input[type=checkbox]{width:auto}
.catalog-position-section>.campaign-header{flex-wrap:wrap;margin-bottom:1rem}
.catalog-position-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #d7e3db;border-radius:.6rem;background:#fff}
.catalog-position-list{min-width:70rem}
.catalog-position-columns{display:grid;grid-template-columns:4.5rem minmax(18rem,2.5fr) minmax(5rem,.6fr) minmax(6rem,.6fr) minmax(10rem,1fr) minmax(5rem,.5fr) minmax(10rem,1fr) 3rem;align-items:center;gap:.75rem;padding:.85rem 1rem;white-space:nowrap}
.catalog-position-heading{background:#edf1f4;color:#59636f;font-size:.75rem;font-weight:650}
.catalog-position-list>.catalog-position{padding:0;margin:0;border:0;border-bottom:1px solid #dfe3e8;border-radius:0}
.catalog-position-list>.catalog-position:last-child{border-bottom:0}
.catalog-position>summary{list-style:none;cursor:pointer;font-variant-numeric:tabular-nums}
.catalog-position>summary::-webkit-details-marker{display:none}
.catalog-position>summary:hover{background:#f4f8f6}
.catalog-position>summary:focus-visible{outline:2px solid #14735b;outline-offset:-2px}
.catalog-position[open]>summary{background:#edf5f1;border-bottom:1px solid #d7e3db}
.catalog-position-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
.catalog-position-child .catalog-position-name{padding-left:.75rem;border-left:.2rem solid #9dbdaf}
.catalog-position-edit-label{display:flex;justify-content:flex-end;color:#105b48}
.catalog-position-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-position-editor{padding:1rem 1.25rem}
.catalog-position-editor>p{margin:0}
.catalog-position-empty{padding:1rem;margin:0}
.opportunity-filter-layout{container-type:inline-size}
.opportunity-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:end;padding:1rem 0}
.opportunity-filters>div{min-width:0}
.opportunity-filter-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
@container(min-width:30rem){.opportunity-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(min-width:56rem){.opportunity-filters{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}.opportunity-filter-date input{max-width:11rem}}
.opportunity-filters label,.opportunity-activity label{display:block;font-weight:600}
.opportunity-filters input,.opportunity-filters select,.opportunity-activity input,.opportunity-activity select,.opportunity-activity textarea{width:100%;box-sizing:border-box}
.opportunity-filters .opportunity-checkbox{display:flex;align-items:center;gap:.5rem}
.opportunity-checkbox input{width:auto}
.opportunity-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;margin:1rem 0}
.opportunity-summary>div{padding:1rem;border:1px solid #cddfd6;border-radius:.6rem;background:#f4f8f6;min-width:0}
.opportunity-summary span{display:block;font-size:.85rem;color:#52615a}
.opportunity-summary strong{display:block;font-size:1.2rem;margin-top:.35rem;overflow-wrap:anywhere}
.opportunity-table small{display:block;color:#52615a;margin-top:.3rem}
.opportunity-title{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem}
.opportunity-title>a{min-width:0;font-weight:600}
.opportunity-table .opportunity-stage-label{flex-shrink:0;white-space:nowrap;font-size:.75rem;padding:.2rem .5rem}
.opportunity-table .opportunity-stage-label[data-stage=QUALIFIED]{background:#eaf2ff;border-color:#c6d9f5;color:#244f84}
.opportunity-table .opportunity-stage-label[data-stage=PROPOSAL]{background:#fff5df;border-color:#ecd6a5;color:#805a16}
.opportunity-table .opportunity-stage-label[data-stage=NEGOTIATION]{background:#f2edff;border-color:#d9ccf6;color:#62418c}
.opportunity-table .opportunity-stage-label[data-stage=WON]{background:#e7f5ed;border-color:#bfdfce;color:#14603f}
.opportunity-table .opportunity-stage-label[data-stage=LOST]{background:#fcecec;border-color:#ebc5c5;color:#963535}
.opportunity-date{white-space:nowrap;font-variant-numeric:tabular-nums}
.opportunity-money{white-space:nowrap;font-variant-numeric:tabular-nums}
.opportunity-company-combobox{position:relative;min-width:0}
.opportunity-company-options{position:absolute;top:100%;inset-inline:0;z-index:30;max-height:min(18rem,50vh);overflow-y:auto;background:#fff;border:1px solid #cddfd6;border-radius:.5rem;box-shadow:0 .5rem 1.25rem #173d2426}
.opportunity-company-options [role="option"]{padding:.65rem .85rem;cursor:pointer;overflow-wrap:anywhere}
.opportunity-company-options [role="option"]:hover,.opportunity-company-options [aria-selected="true"]{background:#e8f3ed}
.opportunity-table .opportunity-actions{text-align:right}
.opportunity-table .campaign-assignee-badge{max-width:100%;margin-left:0}
.opportunity-section{margin:1.5rem 0}
.opportunity-board{display:grid;grid-template-columns:repeat(6,minmax(16rem,1fr));gap:1rem;overflow-x:auto;align-items:start;padding-bottom:1rem}
.opportunity-column{padding:.85rem;border:1px solid #d7e3db;border-radius:.65rem;background:#f4f8f6;min-width:0}
.opportunity-column h2{font-size:1.1rem;margin:0}
.opportunity-column header p{font-size:.85rem;line-height:1.7;font-variant-numeric:tabular-nums}
.opportunity-card{margin-top:1rem;padding:1rem;background:#fff;border:1px solid #d7e3db;border-radius:.5rem;overflow-wrap:anywhere}
.opportunity-card p{font-size:.9rem;line-height:1.6}
.opportunity-activity{padding:1rem;margin:.75rem 0;border:1px solid #d7e3db;border-radius:.6rem}
.opportunity-activity summary,.opportunity-section>summary{cursor:pointer;font-weight:600}
.opportunity-activity .campaign-form{margin-top:1rem}
.opportunity-activity textarea{margin:.4rem 0 1rem}
.opportunity-note{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.opportunity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-summary strong{font-size:1rem}}
@media(max-width:1200px){.kpm-concept-campaigns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.kpm-concept-campaign-panel{padding:.85rem}.kpm-concept-campaign-panel .kpm-concept-flow{padding:.65rem}.kpm-concept-campaign-example{padding:1rem;flex-direction:column}}
.email-campaign-delete-form{display:grid;gap:1rem;margin-top:1.5rem;max-width:55rem}
.email-campaign-delete-form>input[type=text]{width:100%;box-sizing:border-box}
.email-campaign-delete-form label{overflow-wrap:anywhere}
.lead-group-usages{margin-top:.5rem;overflow-wrap:anywhere}
.lead-group-usages summary{cursor:pointer}
.contact-directory-page > .campaign-shell { width:100%; max-width:none; min-width:0; margin:0; }
.contact-directory-page > .campaign-shell > .campaign-header { flex-wrap:wrap; align-items:center; gap:1rem; }
.contact-directory-page .campaign-header > div { min-width:0; }
.contact-directory-page .campaign-header .navigation { flex-wrap:wrap; justify-content:flex-end; }
.contact-directory-page .campaign-heading { flex-wrap:wrap; }
.contact-directory-page .campaign-header p { margin:.4rem 0 0; }
.contact-directory-page .campaign-header .directory-eyebrow { margin:0 0 .5rem; color:#64748b; font-size:.8rem; }
.directory-panel { min-width:0; margin:1rem 0; background:#fff; border:1px solid #dfe3e8; border-radius:.8rem; box-shadow:0 3px 12px rgba(25,40,50,.04); }
.directory-filter-panel > summary { padding:1rem 1.25rem; font-weight:600; cursor:pointer; line-height:1.6; }
.directory-filter-panel > summary .ui-icon { vertical-align:middle; margin:0 .4rem; }
.directory-filter-panel > summary .directory-badge { margin-left:.5rem; }
.contact-directory-page .lead-directory-toolbar { margin:0; padding:0 1.25rem 1.25rem; gap:1rem; }
.contact-directory-page .lead-directory-filters { padding:0; margin:0; border:0; border-radius:0; box-shadow:none; }
.contact-directory-page .lead-filter-heading { margin-bottom:1rem; }
.contact-directory-page .lead-filter-heading h2 { font-size:1rem; }
.contact-directory-page .lead-filter-heading p { font-size:.85rem; line-height:1.6; }
.contact-directory-page .lead-filter-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); }
.contact-directory-page .lead-filter-actions { flex-wrap:wrap; }
.directory-results-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem; }
.directory-results-heading h2 { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:0; font-size:1.15rem; }
.directory-results-heading p { margin:.4rem 0 0; }
.directory-results-heading > .muted { font-size:.8rem; }
.contact-directory-page .lead-directory-bulk-actions { margin:0; padding:1rem 1.25rem; background:#f6f8f9; border-top:1px solid #edf1f4; }
.contact-directory-page .lead-directory-results td { line-height:1.6; }
.contact-directory-page .lead-directory-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:nowrap; gap:.4rem; }
.contact-directory-page .lead-directory-actions form { margin:0; }
.leads-directory-page .lead-directory-results th.lead-directory-actions-heading { text-align:right; }
.directory-badge { display:inline-flex; padding:.25rem .65rem; border-radius:1rem; background:#edf1f4; color:#59636f; font-size:.78rem; font-weight:600; }
.directory-badge.is-active { color:#1b6844; background:#e4f4eb; }
.directory-badge.is-inactive { color:#805c14; background:#fff2d7; }
.directory-item-meta { display:flex; flex-wrap:wrap; gap:.35rem .65rem; font-size:.75rem; color:#64748b; margin-top:.4rem; }
.contact-directory-page .lead-directory-pagination { margin:0; padding:1rem 1.25rem; border-top:1px solid #edf1f4; }
.directory-empty { display:grid; justify-items:center; gap:.5rem; padding:2rem 1rem; text-align:center; }
.directory-empty > .ui-icon { width:2rem; height:2rem; color:#87938e; }
.directory-empty p { margin:0; font-weight:400; }
.group-filter-panel .campaign-filter-bar { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin:0; padding:1.25rem; border:0; border-radius:.8rem; background:transparent; }
.groups-directory-page .campaign-filter-bar .campaign-filter { display:grid; gap:.4rem; min-width:0; font-size:.85rem; }
.groups-directory-page .campaign-filter-bar select, .groups-directory-page .campaign-filter-bar input { width:100%; min-width:0; min-height:44px; box-sizing:border-box; margin:0; }
.groups-directory-page .campaign-filter-bar > .muted { flex-basis:100%; font-size:.8rem; }
.groups-directory-page .group-create-panel > form { max-width:none; width:100%; box-sizing:border-box; padding:0 1.25rem 1.25rem; }
.groups-directory-page .group-create-panel textarea { resize:vertical; }
.groups-directory-page .group-directory-table td { line-height:1.6; }
.groups-directory-page .group-directory-table td:first-child { min-width:13rem; }
.groups-directory-page .group-directory-table td:nth-child(2) { min-width:14rem; }
.groups-directory-page .group-directory-table td:last-child { min-width:11rem; }
.groups-directory-page .group-directory-table th:last-child { text-align:right; }
.groups-directory-page .group-directory-table td:last-child .navigation { justify-content:flex-end; flex-wrap:nowrap; gap:.4rem; }
.group-member-count { font-size:1.15rem; font-weight:600; font-variant-numeric:tabular-nums; }
@media (max-width:1100px) {
  .leads-directory-page .lead-directory-results tbody, .groups-directory-page .group-directory-table tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:1rem; background:#f6f8f9; }
  .leads-directory-page .lead-directory-results tbody tr, .groups-directory-page .group-directory-table tbody tr { display:block; min-width:0; padding:1rem; background:#fff; border:1px solid #dfe3e8; border-radius:.65rem; }
  .leads-directory-page .lead-directory-results tbody td:nth-child(n), .groups-directory-page .group-directory-table tbody td:nth-child(n) { display:block; min-width:0; width:auto; max-width:none; padding:.4rem 0; border:0; text-align:left; }
  .leads-directory-page .lead-directory-results thead { display:block; position:static; width:auto; height:auto; padding:0; overflow:visible; clip-path:none; }
  .leads-directory-page .lead-directory-results thead th { display:none; }
  .leads-directory-page .lead-directory-results thead th.lead-selection-cell { display:flex; align-items:center; gap:.65rem; min-width:0; max-width:none; width:auto; padding:1rem; }
  .leads-directory-page .lead-directory-results thead th.lead-selection-cell::after { content:'Alle löschbaren Leads dieser Seite auswählen'; }
  .leads-directory-page .lead-directory-results td.lead-selection-cell::before { display:inline; margin-right:.5rem; }
  .groups-directory-page .group-directory-table { display:block; }
  .groups-directory-page .group-directory-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
  .groups-directory-page .group-directory-table td[data-label]::before { content:attr(data-label); display:block; margin-bottom:.15rem; font-size:.72rem; font-weight:600; color:#64748b; }
}
@media (max-width:650px) {
  .leads-directory-page .lead-directory-results tbody, .groups-directory-page .group-directory-table tbody { grid-template-columns:minmax(0,1fr); padding:.75rem; }
  .contact-directory-page .campaign-header .navigation { justify-content:flex-start; }
  .contact-directory-page .lead-directory-pagination { justify-content:flex-start; }
  .groups-directory-page .campaign-filter-bar > .campaign-filter { flex-basis:100%; }
  .groups-directory-page .campaign-filter-bar > .btn { flex:1; }
}
.lead-group-usages ul{padding-left:1.25rem;margin:.5rem 0}
.lead-group-usages li+li{margin-top:.5rem}
.lead-group-search{flex:1 1 24rem;min-width:0;cursor:default}
.lead-group-search input[type=search]{flex:1 1 auto;width:100%;min-width:0;min-height:44px;height:auto;padding:.65rem .85rem;box-sizing:border-box;cursor:text;font:inherit}
.company-group-assignment-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem 1rem}
.company-group-assignment-form>div{flex:1 1 18rem;min-width:0}
.company-group-assignment-form label{display:block;margin-bottom:.4rem;font-size:.85rem;font-weight:600;color:#42554a}
.company-group-assignment-form select{width:100%;min-width:0}
@media(max-width:40rem){.lead-group-search{flex-basis:100%}}
.call-address > span{grid-column:2;min-width:0}
.call-map-link{display:inline-flex;align-items:center;justify-content:center;width:18px;height:1.8rem;color:#14735b;border-radius:.35rem}
.call-map-link:hover{background:#e7f3ec}
.call-map-link:focus-visible{outline:2px solid #14735b;outline-offset:2px}
.catalog-table td{min-width:0}
.catalog-table th:first-child,.catalog-table td:first-child{width:8rem;min-width:0;max-width:10rem}
.catalog-table th:nth-child(2),.catalog-table td:nth-child(2){width:32%;min-width:18rem}
.newsletter-directory-table td{min-width:8rem}
.newsletter-directory-table td:first-child{min-width:12rem}
.newsletter-directory-table td small{display:block;margin-top:.4rem;color:#59636f;font-size:.75rem;line-height:1.5}
.newsletter-directory-description{margin:.5rem 0 0;font-size:.8rem;color:#59636f;line-height:1.5}
.newsletter-directory-assignees{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:0;padding:0;list-style:none;line-height:1.6}
.newsletter-directory-assignees .campaign-assignee-badge{max-width:100%;margin-left:0}
.newsletter-directory-table td .newsletter-directory-problem{color:#9c3434;font-weight:600}
.newsletter-directory-table .navigation{flex-wrap:wrap}
.newsletter-directory-note{font-size:.8rem;line-height:1.6;margin-top:1rem}
.newsletter-directory-page > .campaign-shell > .campaign-header{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;padding-bottom:.75rem}
.newsletter-directory-page > .campaign-shell > .campaign-header > .navigation{min-width:0;max-width:100%;margin-left:auto;justify-content:flex-end;flex-wrap:wrap;gap:.35rem}
.newsletter-directory-page > .campaign-shell > .campaign-header .btn{flex:0 1 auto;padding:.45rem .65rem;font-size:.85rem}
.newsletter-directory-wrap{container:newsletter-directory / inline-size}
@container newsletter-directory (max-width:75rem){
  .newsletter-directory-table thead{display:none}
  .newsletter-directory-table,.newsletter-directory-table tbody{display:block;width:100%}
  .newsletter-directory-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;width:100%;box-sizing:border-box;margin-bottom:.75rem;padding:1rem;border:1px solid #dfe3e8;border-radius:.65rem;background:#fff}
  .newsletter-directory-table td,.newsletter-directory-table td:first-child{display:block;min-width:0;max-width:none;padding:0;border:0;white-space:normal}
  .newsletter-directory-table td[data-label]::before{content:attr(data-label);display:block;margin-bottom:.25rem;font-size:.75rem;color:#68717a}
  .newsletter-directory-table td[data-label="Newsletter"]::before,.newsletter-directory-table td[data-label="Status"]::before,.newsletter-directory-table td[data-label="Aktionen"]::before{display:none}
  .newsletter-directory-table td[data-label="Newsletter"]{font-size:1rem}
  .newsletter-directory-table td[data-label="Status"]{justify-self:end}
  .newsletter-directory-table td[data-label="Aktionen"],.newsletter-directory-table td[colspan]{grid-column:1 / -1}
  .newsletter-directory-table td[data-label="Aktionen"]{padding-top:.65rem;border-top:1px solid #edf0f2}
  .newsletter-directory-table td small{margin-top:.2rem;line-height:1.4}
  .newsletter-directory-table .newsletter-directory-description{margin-top:.25rem}
  .newsletter-directory-table .newsletter-directory-assignees{gap:.3rem;line-height:1.4}
  .newsletter-directory-table .campaign-assignee-badge{padding:.4rem .55rem;gap:.45rem}
  .newsletter-directory-table .campaign-assignee-label{display:none}
  .newsletter-directory-table .navigation{justify-content:flex-end;gap:.35rem}
  .newsletter-directory-table .navigation .btn.primary{flex:0 1 auto}
}
@container newsletter-directory (max-width:28rem){
  .newsletter-directory-table tr{grid-template-columns:minmax(0,1fr);gap:.65rem;padding:.75rem}
  .newsletter-directory-table td[data-label="Status"]{justify-self:start}
  .newsletter-directory-table td[data-label="Aktionen"] .navigation{justify-content:flex-start}
}

/* Calendar: one semantic day list, week columns only where space permits. */
.calendar-page > .calendar-shell { width:100%; max-width:none; min-width:0; margin:0; }
.calendar-page .campaign-header { flex-wrap:wrap; align-items:flex-start; gap:1rem; }
.calendar-page .campaign-header > div { min-width:0; }
.calendar-page .campaign-header h1 { display:flex; align-items:center; gap:.65rem; }
.calendar-page .campaign-header h1 .ui-icon { width:1.6rem; height:1.6rem; color:#14735b; }
.calendar-page .campaign-header p { margin:.5rem 0 0; }
.calendar-page .campaign-header .calendar-eyebrow { margin:0 0 .5rem; color:#64748b; font-size:.78rem; font-weight:600; }
.calendar-timezone { display:inline-flex; padding:.45rem .75rem; background:#edf1f4; border-radius:2rem; font-size:.8rem; color:#59636f; }
.calendar-filter-panel { margin:1rem 0; border:1px solid #dfe3e8; border-radius:.8rem; background:#fff; }
.calendar-filter-panel > summary { cursor:pointer; padding:1rem; font-weight:600; }
.calendar-filter-panel > summary .ui-icon { vertical-align:middle; margin:0 .4rem; }
.calendar-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap:1rem; align-items:end; padding:0 1rem 1rem; }
.calendar-filters label { display:grid; gap:.4rem; min-width:0; font-size:.85rem; font-weight:600; }
.calendar-filters input, .calendar-filters select { width:100%; min-width:0; min-height:44px; box-sizing:border-box; }
.calendar-filter-actions { display:flex; flex-wrap:wrap; gap:.5rem; grid-column:1 / -1; }
.calendar-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; padding:1rem; background:#fff; border:1px solid #dfe3e8; border-radius:.8rem; }
.calendar-navigation, .calendar-view-switch { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.calendar-toolbar .btn { min-height:44px; box-sizing:border-box; justify-content:center; }
.calendar-period { flex:1 1 16rem; text-align:center; font-size:1.15rem; margin:0; }
.calendar-view-switch { margin-left:auto; }
.calendar-legend { display:flex; flex-wrap:wrap; gap:.6rem 1.25rem; list-style:none; margin:1rem 0; padding:0 .25rem; font-size:.8rem; color:#59636f; }
.calendar-legend li { display:flex; align-items:center; gap:.4rem; }
.calendar-legend li::before { content:''; width:.55rem; height:.55rem; border-radius:50%; background:var(--calendar-color); }
.calendar-event-appointment, .calendar-legend-appointment { --calendar-color:#14735b; }
.calendar-event-callback, .calendar-legend-callback { --calendar-color:#b77914; }
.calendar-event-task, .calendar-legend-task { --calendar-color:#7c3aed; }
.calendar-event-newsletter, .calendar-legend-newsletter { --calendar-color:#087f8c; }
.calendar-event-campaign_start, .calendar-legend-campaign_start { --calendar-color:#596779; }
.calendar-content { container-type:inline-size; }
.calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.65rem; align-items:start; }
.calendar-day { min-width:0; background:#f1f4f6; border:1px solid #dfe3e8; border-radius:.75rem; padding:.65rem; }
.calendar-day h2 { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.4rem; font-size:.9rem; margin:0 0 .8rem; padding:.25rem 0 .75rem; border-bottom:1px solid #dfe3e8; }
.calendar-day-count { padding:.15rem .45rem; border-radius:1rem; background:#e3e8ec; color:#59636f; font-size:.72rem; }
.calendar-day-today { border-color:#14735b; background:#edf6f1; }
.calendar-day-today h2 { color:#126047; border-bottom-color:#c9e1d3; }
.calendar-day-today .calendar-day-count { background:#d1e9da; color:#126047; }
.calendar-event { background:#fff; border:1px solid #dfe3e8; border-left:4px solid var(--calendar-color,#14735b); border-radius:.6rem; padding:.8rem; margin-bottom:.65rem; overflow-wrap:anywhere; box-shadow:0 2px 5px rgba(25,40,50,.03); }
.calendar-event:last-child { margin-bottom:0; }
.calendar-event-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.4rem; font-size:.75rem; color:#59636f; margin-bottom:.65rem; }
.calendar-event-meta > span { color:var(--calendar-color,#14735b); font-weight:600; }
.calendar-event-meta time { font-variant-numeric:tabular-nums; }
.calendar-event-title { display:block; font-weight:600; line-height:1.45; color:#24332e; text-decoration:none; padding-bottom:.2rem; }
.calendar-event-title:hover { color:#14735b; text-decoration:underline; }
.calendar-event-title:focus-visible { outline:2px solid #14735b; outline-offset:3px; }
.calendar-event p { font-size:.8rem; line-height:1.5; margin:.35rem 0; }
.calendar-event .calendar-event-status { margin-top:.65rem; padding-top:.5rem; border-top:1px solid #edf1f4; color:#64748b; font-size:.75rem; }
.calendar-event-overdue { background:#fffaf0; border-top-color:#e7c78a; border-right-color:#e7c78a; border-bottom-color:#e7c78a; }
.calendar-event-overdue .calendar-event-status { color:#8c5f13; }
.calendar-empty { padding:.75rem; color:#64748b; font-size:.85rem; line-height:1.5; }
.calendar-shell > .calendar-empty { background:#fff; border:1px dashed #cbd5df; border-radius:.75rem; padding:1.25rem; }
.calendar-overdue { border:1px solid #e7c78a; background:#fffaf0; padding:1rem; border-radius:.75rem; margin:1rem 0; }
.calendar-overdue summary { cursor:pointer; font-weight:600; line-height:1.5; }
.calendar-overdue[open] summary { margin-bottom:1rem; }
.calendar-overdue-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:.75rem; align-items:start; }
.calendar-overdue-list .calendar-event { margin:0; }
.calendar-view-agenda { display:block; }
.calendar-view-agenda .calendar-day { margin-bottom:1rem; }
.calendar-view-agenda .calendar-day-empty { display:none; }
.calendar-view-agenda .calendar-event { max-width:none; }
.calendar-footnote { display:flex; align-items:flex-start; gap:.5rem; line-height:1.6; font-size:.8rem; margin-top:1.25rem; }
.calendar-footnote .ui-icon { flex-shrink:0; margin-top:.1rem; }
@container (max-width:75rem) {
  .calendar-days { display:block; }
  .calendar-day { margin-bottom:1rem; }
  .calendar-day-empty { display:none; }
}
@media (max-width:1000px) {
  .calendar-days { display:block; }
  .calendar-day { margin-bottom:1rem; }
  .calendar-day-empty { display:none; }
}
@media (max-width:600px) {
  .calendar-toolbar { gap:.75rem; padding:.75rem; }
  .calendar-period { order:-1; flex-basis:100%; text-align:left; font-size:1.05rem; }
  .calendar-view-switch { margin-left:0; }
  .calendar-filters { grid-template-columns:minmax(0,1fr); }
  .calendar-filter-actions .btn { flex:1; }
  .calendar-overdue { padding:.75rem; }
}




/* Die gemeinsame Warteschlange nutzt die gesamte Inhaltsbreite. */
.campaign-lead-assignment.mail-queue-list { width: 100%; max-width: none; min-width: 0; }

.mail-queue-list .mail-queue-smtp { white-space: normal; }
.mail-queue-list .mail-queue-smtp strong,
.mail-queue-list .mail-queue-smtp small { display: block; overflow-wrap: anywhere; }
.mail-queue-list .mail-queue-smtp small { margin-top: .35rem; color: #59636f; }

.mail-queue-page > .campaign-shell { width: 100%; max-width: none; min-width: 0; }
.mail-queue-page .campaign-header { flex-wrap: wrap; }
.mail-queue-page .campaign-header p { margin: .4rem 0 0; }
.mail-queue-page .mail-queue-controls { padding: 1.25rem; border: 1px solid #dfe3e8; border-radius: .75rem; background: rgba(255,255,255,.92); }
.mail-queue-page .mail-queue-controls .campaign-header { padding-bottom: 0; margin-bottom: 1rem; border: 0; }
.mail-queue-page .mail-queue-controls h2 { margin: 0; font-size: 1.1rem; }
.mail-queue-page #queue-progress { font-weight: 650; }
.mail-queue-page .mail-queue-list,.mail-queue-page .mail-queue-rules { margin-top: 0; padding-top: 0; border-top: 0; }
.mail-queue-page .mail-queue-tab-panel[hidden] { display: none; }
.mail-queue-page .mail-queue-tab-panel:focus { outline: none; }
.mail-queue-page .mail-queue-list .campaign-header { margin-bottom: 0; padding-bottom: .5rem; border: 0; }
.mail-queue-page .mail-queue-filters { gap: .5rem; }
.mail-queue-page .mail-queue-filters .mail-status-badge,
.mail-queue-list .lead-directory-table .mail-status-badge { white-space: nowrap; overflow-wrap: normal; word-break: normal; flex-wrap: nowrap; max-width: none; flex-shrink: 0; }
.mail-queue-page .mail-queue-filters a[aria-current] { outline: 2px solid #14735b; outline-offset: 2px; font-weight: 700; }
.mail-queue-page .mail-queue-filters a:focus-visible { outline: 2px solid #14735b; outline-offset: 3px; }
.mail-queue-page .lead-directory-table td { min-width: 0; }
.mail-queue-page td.mail-queue-message { min-width: 15rem; }
.mail-queue-page .mail-queue-message strong,.mail-queue-page .mail-queue-message small,.mail-queue-page .mail-queue-attempts small { display: block; }
.mail-queue-page .mail-queue-message small,.mail-queue-page .mail-queue-attempts small { margin-top: .35rem; color: #59636f; }
.mail-queue-page td.mail-queue-recipient { min-width: 11rem; }
.mail-queue-page .mail-queue-date { white-space: nowrap; font-variant-numeric: tabular-nums; }
.mail-queue-list .lead-directory-table-wrap { min-width: 0; isolation: isolate; }
.mail-queue-page td.mail-queue-actions { width: 1%; white-space: nowrap; }
.mail-queue-list .lead-directory-table th:last-child,
.mail-queue-page td.mail-queue-actions { position: sticky; right: 0; z-index: 1; background: #fff; box-shadow: -.35rem 0 .5rem -.35rem rgba(40,55,70,.25); }
.mail-queue-list .lead-directory-table th:last-child { z-index: 2; background: #edf1f4; text-align: right; }
.mail-queue-page .mail-queue-actions .navigation { width: max-content; margin-left: auto; justify-content: flex-end; flex-wrap: nowrap; }
.mail-queue-page .mail-queue-actions .navigation > * { flex-shrink: 0; }
.mail-queue-page .mail-queue-actions form { margin: 0; }
.mail-queue-page .mail-queue-note { min-width: 8rem; max-width: 34rem; }
.mail-queue-page .mail-queue-note p { min-width: 0; margin-bottom: 0; overflow-wrap: anywhere; }
.mail-queue-page details > summary { cursor: pointer; font-weight: 600; }
.mail-queue-page .mail-queue-review { margin-top: .75rem; min-width: 0; }
.mail-queue-page .mail-queue-reconcile { margin-top: .75rem; min-width: 14rem; }
.mail-queue-page .mail-queue-empty { padding-block: 2rem; color: #59636f; }
.mail-queue-page .mail-queue-rules { max-width: none; }
.mail-queue-page .mail-queue-rules .campaign-header { margin-bottom: 1rem; padding-bottom: 0; border: 0; }
.mail-queue-page .mail-queue-rule-summary { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin: 0 0 1.25rem; }
.mail-queue-page .mail-queue-rule-summary dt { color: #59636f; font-size: .85rem; }
.mail-queue-page .mail-queue-rule-summary dd { margin: .3rem 0 0; font-weight: 650; }
.mail-queue-page .mail-queue-rule-editor { padding: 1rem; border: 1px solid #dfe3e8; border-radius: .6rem; background: rgba(255,255,255,.92); }
.mail-queue-page .mail-queue-rule-editor .campaign-form { max-width: none; margin-top: 1rem; }
.mail-queue-page .mail-queue-rule-editor fieldset { min-width: 0; margin: 0 0 1rem; padding: 1rem; border: 1px solid #dfe3e8; border-radius: .5rem; }
.mail-queue-page .mail-queue-rule-editor legend { padding-inline: .4rem; font-weight: 650; }
.mail-queue-page .mail-queue-rule-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: 1rem; }
.mail-queue-page .mail-queue-rule-grid input { width: 100%; min-width: 0; box-sizing: border-box; }
.mail-queue-diagnostics { width: 100%; min-width: 0; box-sizing: border-box; margin-bottom: 1.25rem; padding: 1.25rem; border: 1px solid #dfe3e8; border-radius: .75rem; background: rgba(255,255,255,.96); overflow-wrap: anywhere; }
.mail-queue-diagnostics .campaign-header { align-items: flex-start; flex-wrap: wrap; margin-bottom: 1rem; padding-bottom: 0; border: 0; }
.mail-queue-diagnostics h2 { margin: 0; font-size: 1.1rem; }
.mail-queue-diagnostic-reasons { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,24rem),1fr)); gap: 1rem; padding: 0; list-style: none; }
.mail-queue-diagnostic-reasons > li { min-width: 0; padding: 1rem; border-left: .25rem solid #b78423; background: #fff8e7; border-radius: .4rem; }
.mail-queue-diagnostic-reasons p { margin: .5rem 0 0; }
.mail-queue-dispatch-help { margin-top: 1rem; }
.mail-queue-dispatch-help > summary { cursor: pointer; font-weight: 650; }
.mail-queue-dispatch-help li { margin-block: .5rem; }
.lead-communication { width:100%; max-width:none; min-width:0; }
.lead-communication-compose { margin:1rem 0; padding:1rem; border:1px solid #dfe3e8; border-radius:.6rem; background:#fff; }
.lead-communication-compose > summary { cursor:pointer; font-weight:650; }
.lead-communication-compose .campaign-form { max-width:none; margin-top:1rem; }
.lead-communication-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap:1rem; }
.lead-communication-compose label { display:grid; gap:.35rem; margin-bottom:.75rem; min-width:0; }
.lead-communication-compose input,.lead-communication-compose select,.lead-communication-compose textarea { width:100%; box-sizing:border-box; }
.lead-communication-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.4rem .75rem; margin:.75rem 0; padding:1rem; border:1px solid #dfe3e8; border-radius:.6rem; background:#fff; overflow-wrap:anywhere; }
.lead-communication-entry > header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem 1rem; grid-column:1; }
.lead-communication-entry > p { grid-column:1; margin:0; }
.lead-communication-entry .mail-status-badge { white-space:nowrap; }
.lead-communication-entry > .navigation { grid-column:2; grid-row:1 / 5; align-self:start; }
.lead-communication-meta,.lead-communication-entry time { color:#59636f; font-size:.8rem; }
.lead-communication-state { font-size:.85rem; font-weight:600; }
.lead-communication-excerpt { line-height:1.5; }
.lead-communication-dialog { width:92vw; max-width:none; height:90vh; max-height:90vh; box-sizing:border-box; padding:1.25rem; border:1px solid #dfe3e8; border-radius:.8rem; background:#fff; color:#27333d; }
.lead-communication-dialog[open] { display:flex; flex-direction:column; gap:.75rem; }
.lead-communication-dialog::backdrop { background:rgba(20,35,30,.5); }
.lead-communication-dialog > header { display:flex; justify-content:space-between; align-items:start; gap:1rem; }
.lead-communication-dialog h2 { margin:0; font-size:1.1rem; overflow-wrap:anywhere; }
.lead-communication-dialog p,.lead-communication-dialog form { margin:0; }
.lead-communication-dialog iframe { flex:1; min-height:16rem; width:100%; box-sizing:border-box; border:1px solid #dfe3e8; border-radius:.4rem; }
.lead-communication-dialog pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.lead-communication-dialog details[open] { overflow:auto; max-height:65vh; }
.lead-communication-dialog iframe:not([hidden]) + details[open] { max-height:25vh; }
.lead-communication-dialog [hidden] { display:none; }
.lead-communication-dialog summary { cursor:pointer; font-weight:600; }
.lead-editor-page:has(#lead-communication:not([hidden])) .lead-editor-actions { display:none; }
.mail-queue-detail-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(18rem,1fr); gap: 1rem; align-items: start; }
.mail-queue-detail-sidebar { display: grid; gap: 1rem; min-width: 0; }
.mail-queue-detail-card { min-width: 0; padding: 1rem; border: 1px solid #dfe3e8; border-radius: .75rem; background: rgba(255,255,255,.96); overflow-wrap: anywhere; }
.mail-queue-detail-card h2 { margin: 0; font-size: 1rem; }
.mail-queue-detail-card p { margin: .65rem 0 0; }
.mail-queue-detail-card > summary { cursor: pointer; font-weight: 650; }
.mail-queue-detail-card summary .mail-status-badge { margin-inline-start: .35rem; font-size: .75rem; vertical-align: middle; }
.mail-queue-detail-envelope h2 { margin-block: .3rem; font-size: 1.1rem; line-height: 1.4; }
.mail-queue-detail-envelope p:first-child { margin-top: 0; font-size: .8rem; }
.mail-queue-detail-status { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; }
.mail-queue-detail-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 1rem; margin: 1rem 0 0; }
.mail-queue-detail-facts dt { color: #59636f; font-size: .8rem; }
.mail-queue-detail-facts dd { margin: .2rem 0 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.mail-queue-detail-wide { grid-column: 1 / -1; }
.mail-queue-detail .mail-queue-detail-caption { font-size: .8rem; line-height: 1.5; }
.mail-queue-detail-last-note { margin-top: .9rem; padding: .75rem; border-radius: .4rem; background: #f0f2f5; font-size: .85rem; }
.mail-queue-detail-last-note p { margin-top: .35rem; }
.mail-queue-detail-fold { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid #dfe3e8; }
.mail-queue-detail-preview .email-layout-preview { box-sizing: border-box; height: clamp(24rem,64vh,48rem); margin: .75rem 0; }
.mail-queue-detail-card pre { max-height: 30rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.mail-queue-detail-history { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; align-items: start; margin-top: 1rem; }
.mail-queue-detail-global { margin-top: 1rem; }
.mail-queue-detail-global .mail-queue-diagnostics { margin: 1rem 0 0; padding: 0; border: 0; background: transparent; }
.mail-queue-detail-sidebar .mail-queue-diagnostic-reasons { grid-template-columns: minmax(0,1fr); gap: .6rem; margin-bottom: 0; }
.mail-queue-detail-sidebar .mail-queue-diagnostic-reasons > li { padding: .75rem; font-size: .85rem; }
@media (max-width: 64rem) {
  .mail-queue-detail-grid { grid-template-columns: minmax(0,1fr); }
  .mail-queue-detail-sidebar { grid-template-columns: repeat(auto-fit,minmax(min(100%,20rem),1fr)); align-items: start; }
}
@media (max-width: 40rem) {
  .mail-queue-detail-history { grid-template-columns: minmax(0,1fr); }
  .mail-queue-detail-card { padding: .8rem; }
}

[data-presentation-failure][hidden], [data-presentation-failure] [hidden] { display: none; }

#opportunity-appointments,#opportunity-tasks{width:100%;min-width:0}
.opportunity-appointments-scroll{width:100%;overflow-x:auto;margin-bottom:1rem}
.opportunity-appointments-table{width:100%;border-collapse:collapse}
.opportunity-appointments-table th,.opportunity-appointments-table td{white-space:nowrap;text-align:left;padding:.65rem .8rem;border-bottom:1px solid #d7e3db}
.opportunity-appointments-table th:last-child,.opportunity-appointments-table td:last-child{text-align:right}
[data-appointment-editor][hidden]{display:none}

.external-api-page [data-api-auth-fields][hidden],.external-api-page #external-api-htaccess-fields[hidden]{display:none}
.external-api-page [data-api-auth-fields]{min-width:0;margin-block:1rem}

.customer-history-entry{min-width:0}
.customer-history-text{overflow-wrap:anywhere}

.customer-page #customer-files .lead-directory-table td{overflow-wrap:anywhere;vertical-align:top}
.customer-page .customer-file-actions{justify-content:flex-end;flex-wrap:nowrap}

.campaign-directory-page>.campaign-shell{width:100%;max-width:none;min-width:0}
.campaign-directory-page .campaign-header{flex-wrap:wrap}
.campaign-directory-page .campaign-header p{margin:.5rem 0 0}
.campaign-directory-table td{vertical-align:top}
.campaign-directory-table .campaign-directory-name{min-width:16rem;overflow-wrap:anywhere}
.campaign-directory-title{display:flex;align-items:flex-start;gap:.6rem}
.campaign-directory-description{margin:.5rem 0 0;color:#59636f;font-size:.9rem;line-height:1.5}
.campaign-directory-assignees{min-width:11rem;overflow-wrap:anywhere}
.campaign-directory-metrics{display:grid;gap:.4rem;white-space:nowrap}
.campaign-directory-metrics>span{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.campaign-directory-row-actions{justify-content:flex-end;flex-wrap:nowrap}
.campaign-directory-row-actions .btn{flex-shrink:0}

.campaign-directory-queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;min-width:20rem}
.campaign-directory-queue .mail-status-badge{display:flex;justify-content:space-between;gap:.5rem;white-space:nowrap}

.kpm-agent-chat { --kpm-chat-right:max(1rem,env(safe-area-inset-right)); --kpm-chat-left:max(1rem,env(safe-area-inset-left)); --kpm-chat-bottom:max(1rem,env(safe-area-inset-bottom)); }
.kpm-agent-chat-launcher { position:fixed; right:var(--kpm-chat-right); bottom:var(--kpm-chat-bottom); z-index:90; gap:.5rem; padding:.7rem 1rem; border-radius:2rem; box-shadow:0 .3rem 1.25rem #173e2b30; }
.kpm-agent-chat-launcher[hidden] { display:none; }
.kpm-agent-chat-panel { position:fixed; inset:auto var(--kpm-chat-right) calc(3.5rem + var(--kpm-chat-bottom)) auto; z-index:90; display:none; width:min(28rem,calc(100vw - var(--kpm-chat-left) - var(--kpm-chat-right))); max-width:none; height:min(40rem,calc(100vh - 4.5rem - var(--kpm-chat-bottom))); height:min(40rem,calc(100dvh - 4.5rem - var(--kpm-chat-bottom))); max-height:none; margin:0; padding:0; border:1px solid #cddfd6; border-radius:.9rem; box-sizing:border-box; color:#244137; background:#fff; box-shadow:0 .75rem 2.5rem #173e2b30; overflow:hidden; }
.kpm-agent-chat-panel[open] { display:flex; flex-direction:column; }
.kpm-agent-chat-header { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:.75rem; padding:.85rem 1rem; background:#edf5f1; border-bottom:1px solid #d8e4dd; }
.kpm-agent-chat-header > div { min-width:0; }
.kpm-agent-chat-header h2 { display:flex; align-items:center; gap:.5rem; margin:0; font-size:1rem; overflow-wrap:anywhere; }
.kpm-agent-chat-header p { margin:.3rem 0 0; font-size:.75rem; color:#637168; }
.kpm-agent-chat-close { flex-shrink:0; }
.kpm-agent-chat-frame { display:block; flex:1 1 auto; min-height:0; width:100%; border:0; background:#fff; }
@media (max-width:600px) {
  .kpm-agent-chat { --kpm-chat-right:max(.75rem,env(safe-area-inset-right)); --kpm-chat-left:max(.75rem,env(safe-area-inset-left)); --kpm-chat-bottom:max(.75rem,env(safe-area-inset-bottom)); }
  .kpm-agent-chat-panel { width:calc(100vw - var(--kpm-chat-left) - var(--kpm-chat-right)); }
}

.campaign-directory-progress{display:grid;gap:.3rem;margin-top:.65rem;min-width:26ch;white-space:nowrap;font-size:.75rem;color:#52665c}
.campaign-directory-progress progress{display:block;width:100%;height:.65rem;accent-color:#14735b}
