.pool-portalbar__user { gap: .7rem; }
.pool-account { position: relative; min-width: 0; }
.pool-portal .pool-portalbar .pool-account-toggle { display: flex; align-items: center; gap: 8px; max-width: 220px; padding: 5px 8px 5px 5px; border: 1px solid transparent; border-radius: 7px; text-transform: none; }
.pool-account-toggle .pool-person-chip { min-width: 0; }
.pool-account-toggle .pool-person-chip em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pool-account-chevron { flex-shrink: 0; transition: transform .15s ease; color: var(--pool-muted); }
.pool-account-toggle[aria-expanded="true"] .pool-account-chevron { transform: rotate(180deg); }
.pool-portal .pool-portalbar .pool-account-toggle[aria-expanded="true"] { --pool-control-bg: var(--pool-cyan-soft); --pool-control-border: var(--pool-cyan); }
.pool-account-menu { width: 286px; min-width: 0; max-width: calc(100vw - 32px); box-sizing: border-box; }
.pool-account-menu__identity { padding: 12px 14px 15px; margin-bottom: 7px; border-bottom: 1px solid var(--pool-line); text-align: left; }
.pool-account-menu__identity strong { display: block; color: var(--pool-text); font-size: 14px; overflow-wrap: anywhere; }
.pool-account-menu__identity > span { display: block; margin-top: 4px; color: var(--pool-muted); font-size: 12px; overflow-wrap: anywhere; }
.pool-portal .pool-portalbar .pool-account-menu a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 5px; font-size: 13px; font-weight: 500; text-align: left; text-transform: none; }
.pool-account-menu a > svg { flex-shrink: 0; color: var(--pool-accent-ink, var(--pool-cyan)); }
.pool-account-menu a strong { display: block; font-size: 13px; font-weight: 600; }
.pool-account-menu a small { display: block; margin-top: 4px; color: var(--pool-muted); font-size: 11px; line-height: 1.4; }
.pool-account-menu .pool-account-logout { margin-top: 4px; }
.pool-portal { display: flex; flex-direction: column; height: 100dvh; min-height: 0; }
body.admin-bar .pool-portal { height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px)); }
.pool-portalbar { flex: 0 0 auto; }
.pool-portal .pool-portal__stage, body.admin-bar .pool-portal .pool-portal__stage { flex: 1; min-height: 0; height: auto; overflow: auto; }
.pool-settings, .pool-portal-notifications { position: relative; }
.pool-icon-button { width: 40px; height: 40px; display: inline-grid; place-items: center; border: 1px solid var(--pool-line); border-radius: 6px; background: transparent; color: var(--pool-text); font-size: 23px; padding: 0; }
.pool-icon-button:hover, .pool-icon-button[aria-expanded="true"] { color: var(--pool-cyan); border-color: var(--pool-cyan); background: var(--pool-cyan-soft); }
.pool-portalbar .pool-icon-button { font-size: 23px; font-weight: 400; }
.pool-portalbar .pool-notification-button { font-size: 17px; width: 40px; height: 40px; }
.pool-settings-menu { position: absolute; right: 0; top: calc(100% + 10px); z-index: 150; min-width: 230px; padding: 8px; border: 1px solid var(--pool-line-strong); border-radius: 8px; background: var(--pool-panel); box-shadow: 0 18px 40px #0004; }
.pool-settings-menu button { display: block; width: 100%; padding: 13px 16px; border: 0; text-align: left; background: transparent; color: var(--pool-text); font-size: 13px; }
.pool-settings-menu button:hover, .pool-settings-menu button:focus-visible, .pool-settings-menu button.is-active { background: var(--pool-cyan-soft); color: var(--pool-cyan); }
.pool-portal [data-portal-menu][hidden] { display: none !important; }
.pool-portal [data-portal-menu] { max-height: min(65vh, 560px); overflow: auto; }
.pool-portalbar { position: relative; z-index: 20; }
.pool-portal__stage { height: calc(100dvh - 4.5rem); }
body.admin-bar .pool-portal__stage { height: calc(100dvh - 4.5rem - 32px); }
.pool-login-screen { min-height: 100dvh; display: grid; place-items: center; padding: 32px 20px; overflow: auto; background: radial-gradient(ellipse at 15% 10%, var(--pool-cyan-soft), transparent 55%), var(--pool-black); }
.pool-login-card { box-sizing: border-box; width: min(460px, 100%); padding: clamp(26px, 5vw, 44px); background: var(--pool-panel); border: 1px solid var(--pool-line); border-radius: 12px; box-shadow: 0 24px 70px #0002; }
.pool-login-card h1 { color: var(--pool-text); font-size: 32px; line-height: 1.15; margin: 0 0 14px; }
.pool-login-card p { color: var(--pool-muted); line-height: 1.6; }
.pool-login-card label { display: block; margin: 18px 0 7px; font-size: 13px; color: var(--pool-text); }
.pool-login-card input:not([type="checkbox"]):not([type="submit"]) { box-sizing: border-box; width: 100%; padding: 12px; background: var(--pool-ink); color: var(--pool-text); border: 1px solid var(--pool-line-strong); border-radius: 4px; }
.pool-login-card input[type="submit"] { width: 100%; padding: 13px; background: var(--pool-cyan); color: #071014; border: 0; border-radius: 4px; font-weight: 700; }
.pool-login-card a { color: var(--pool-cyan); font-size: 13px; }
.pool-login-card .login-remember label { display: flex; gap: 10px; align-items: center; }
html[data-pool-theme="light"], html[data-pool-theme="light"] .pool-performance-widget {
  color-scheme: light;
  --pool-black: #d2d7dc; --pool-ink: #f5f7f9; --pool-panel: #f8fafb; --pool-panel-2: #e9edf0;
  --pool-line: rgba(35, 48, 58, .17); --pool-line-strong: rgba(35, 48, 58, .3);
  --pool-text: #1b2831; --pool-muted: #52626d; --pool-cyan: #01cefa; --pool-cyan-soft: rgba(1, 206, 250, .14); --pool-accent-ink: #006176;
  --pool-green: #087d4b; --pool-red: #b62038; --pool-amber: #8c5a00; --pool-violet: #6750a4;
  --pool-control-surface: #eef2f5; --pool-field-bg: #fff; --pool-field-ink: #1b2831;
}
html[data-pool-theme="light"] :is(.pool-ap, .pool-audit, .pool-login-screen) { --pool-field-bg: #fff; --pool-field-ink: #1b2831; }
html[data-pool-theme="dark"] { color-scheme: dark; }
html[data-pool-theme="light"] body, html[data-pool-theme="light"] body .site { background: #d2d7dc; color: var(--pool-text); }
html[data-pool-theme="light"] .pool-portal { background: linear-gradient(145deg, #e8ebee, #c8ced4 75%); color: var(--pool-text); }
html[data-pool-theme="light"] .pool-portalbar { background: #f3f5f7; border-bottom: 1px solid var(--pool-line); }
html[data-pool-theme="light"] .pool-portalbar__brand > img { filter: brightness(.18); }
html[data-pool-theme="light"] .pool-portalbar button, html[data-pool-theme="light"] .pool-portalbar a { color: var(--pool-text); }
html[data-pool-theme="light"] .pool-portalbar button.is-active { background: #dfe5e9; color: var(--pool-cyan); }
/* Main navigation uses a restrained underline in light mode. Paint variables
   also cover hover/mouse focus, so the shared control layer cannot add a box. */
html[data-pool-theme="light"] .pool-portal .pool-portalbar__brand nav > button {
  position: relative;
  --pool-control-bg: transparent;
  --pool-control-border: transparent;
  --pool-control-ink: var(--pool-muted);
  --pool-control-hover-bg: transparent;
  --pool-control-hover-border: transparent;
  --pool-control-hover-ink: var(--pool-text);
}
html[data-pool-theme="light"] .pool-portal .pool-portalbar__brand nav > button::after {
  content: "";
  position: absolute;
  left: 50%; bottom: 0;
  width: 1rem; height: 3px;
  border-radius: 2px;
  background: var(--pool-cyan);
  opacity: 0;
  transform: translateX(-50%);
  transition: width .16s ease, opacity .16s ease;
  pointer-events: none;
}
html[data-pool-theme="light"] .pool-portal .pool-portalbar__brand nav > button.is-active {
  --pool-control-ink: var(--pool-text);
}
html[data-pool-theme="light"] .pool-portal .pool-portalbar__brand nav > button.is-active::after {
  width: 2.5rem; opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
  html[data-pool-theme="light"] .pool-portal .pool-portalbar__brand nav > button:not(.is-active):hover::after { opacity: .55; }
}
html[data-pool-theme="light"] .pool-widget, html[data-pool-theme="light"] .pool-lead-accordion,
html[data-pool-theme="light"] .pool-audit, html[data-pool-theme="light"] .pool-ap__editor,
html[data-pool-theme="light"] .pool-intent-table-wrap, html[data-pool-theme="light"] .pool-notification-menu,
html[data-pool-theme="light"] .pool-lead-create, html[data-pool-theme="light"] .pool-lead-fact-panel,
html[data-pool-theme="light"] .pool-lead-contact-card { background: var(--pool-panel); color: var(--pool-text); border-color: var(--pool-line); }
html[data-pool-theme="light"] .pool-portal h1, html[data-pool-theme="light"] .pool-portal h2,
html[data-pool-theme="light"] .pool-portal h3, html[data-pool-theme="light"] .pool-ap__dialog-head h3 { color: var(--pool-text); }
html[data-pool-theme="light"] .pool-audit p, html[data-pool-theme="light"] .pool-ap p,
html[data-pool-theme="light"] .pool-ap small, html[data-pool-theme="light"] .pool-ap code { color: var(--pool-muted); }
html[data-pool-theme="light"] .pool-performance-sync { color: var(--pool-muted); }
html[data-pool-theme="light"] .pool-portal input:not([type="range"]):not([type="checkbox"]),
html[data-pool-theme="light"] .pool-portal select, html[data-pool-theme="light"] .pool-portal textarea { color: var(--pool-text); background: #fff; border-color: #aebbc4; }
html[data-pool-theme="light"] .pool-portal input::placeholder, html[data-pool-theme="light"] .pool-portal textarea::placeholder { color: #667883; }
html[data-pool-theme="light"] .pool-portal th { background: #e8edf0; color: #475965; border-color: var(--pool-line); }
html[data-pool-theme="light"] .pool-portal td { color: var(--pool-text); border-color: var(--pool-line); }
html[data-pool-theme="light"] .pool-secondary-action, html[data-pool-theme="light"] .pool-refresh-button,
html[data-pool-theme="light"] .pool-range-filter button, html[data-pool-theme="light"] .pool-person-filter button,
html[data-pool-theme="light"] .pool-notify-intent, html[data-pool-theme="light"] .pool-row-actions button { color: var(--pool-text); background: #eef2f5; border-color: #b9c4cc; }
html[data-pool-theme="light"] .pool-primary-action { background: var(--pool-cyan); color: #071014; border-color: var(--pool-cyan); }
html[data-pool-theme="light"] .pool-login-card input[type="submit"] { background: var(--pool-cyan); color: #071014; }
html[data-pool-theme="light"] .pool-primary-action:hover, html[data-pool-theme="light"] .pool-login-card input[type="submit"]:hover { background: #30d8fd; color: #071014; }
html[data-pool-theme="light"] .pool-portalbar button.is-active,
html[data-pool-theme="light"] .pool-range-filter button.is-active,
html[data-pool-theme="light"] .pool-person-filter button.is-active,
html[data-pool-theme="light"] .pool-settings-menu button:hover,
html[data-pool-theme="light"] .pool-settings-menu button:focus-visible { background: var(--pool-cyan-soft); border-color: var(--pool-cyan); color: var(--pool-accent-ink); }
html[data-pool-theme="light"] .pool-visible-count strong,
html[data-pool-theme="light"] .pool-range-field output,
html[data-pool-theme="light"] .pool-ap__eyebrow,
html[data-pool-theme="light"] .pool-audit__clock,
html[data-pool-theme="light"] .pool-login-card a { color: var(--pool-accent-ink); }
html[data-pool-theme="light"] .pool-ap__notice strong, html[data-pool-theme="light"] .pool-audit__clock .is-warning { color: var(--pool-amber); }
html[data-pool-theme="light"] .pool-lead-public-id { color: var(--pool-muted); }
html[data-pool-theme="light"] .pool-portal .pool-person-chip > span { background: #d8e2e9; color: #1c3949; border-color: #b3c4cf; }
html[data-pool-theme="light"] .pool-lead-summary-title { color: var(--pool-text); }
html[data-pool-theme="light"] .pool-ap__badge.is-active { color: #087d4b; background: #087d4b0c; border-color: #087d4b55; }
html[data-pool-theme="light"] .pool-ap__error { color: #a61d33; background: #fff0f2; }
html[data-pool-theme="light"] .pool-ap__dialog-head > button { color: var(--pool-muted); }
html[data-pool-theme="light"] .pool-notify-intent[data-notice-status="sent"] { color: #805200; border-color: #ad8230; }
html[data-pool-theme="light"] .pool-floating-tip, html[data-pool-theme="light"] .pool-toast { background: #203440; color: #fff; }
html[data-pool-theme="light"] .swal2-popup { background: #f8fafb !important; color: #1b2831 !important; }
/* SweetAlert is mounted outside the portal. Scope its remaining controls to
   portal pages and preserve the library's inline confirm/danger colours. */
body:has(.pool-portal) .swal2-popup button:not(.swal2-styled) {
  background: var(--pool-panel-2) !important; color: var(--pool-text) !important;
  border: 1px solid var(--pool-line-strong); box-shadow: none !important;
}
body:has(.pool-portal) .swal2-popup button:not(.swal2-styled):is(:hover, :active, :focus-visible) {
  background: var(--pool-cyan-soft) !important; color: var(--pool-accent-ink, var(--pool-cyan)) !important;
  border-color: var(--pool-cyan);
}
body:has(.pool-portal) .swal2-popup :is(button, input, select, textarea):focus-visible {
  outline: 2px solid var(--pool-accent-ink, var(--pool-cyan)) !important; outline-offset: 3px; box-shadow: none !important;
}
body:has(.pool-portal) .swal2-popup button:focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }
html[data-pool-theme="light"] body:has(.pool-portal) .swal2-popup :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea, option) {
  background: #fff !important; color: var(--pool-text) !important; border-color: var(--pool-line-strong) !important;
}
@media (max-width: 1100px) {
  .pool-portalbar { display: flex; flex-wrap: wrap; gap: 12px; padding: 14px 16px; }
  .pool-portalbar__brand { width: 100%; }
  .pool-portal .pool-portalbar__brand nav { display: flex; flex-wrap: nowrap; width: 100%; gap: 4px; }
  .pool-portal .pool-portalbar__brand nav button { width: auto; flex: 1; padding: 12px 5px; font-size: 10px; }
  .pool-portalbar__user { width: 100%; justify-content: flex-end; }
  .pool-notification-menu { right: -95px; width: min(330px, calc(100vw - 32px)); }
  .pool-settings-menu { right: -45px; }
}
@media (max-width: 782px) {
  .pool-portal, body.admin-bar .pool-portal { height: auto; min-height: 100dvh; }
  .pool-portal .pool-portal__stage, body.admin-bar .pool-portal .pool-portal__stage { flex: auto; min-height: 60dvh; overflow: visible; }
  body { overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) { .pool-portal * { scroll-behavior: auto !important; transition-duration: 0s !important; } }

.pool-crm-fields { grid-column: 1 / -1; min-width: 0; padding: 16px; margin: 0; border: 1px solid var(--pool-line); border-radius: 6px; }
.pool-lead-create.is-open { max-height: none; overflow: visible; }
.pool-lead-mode label { position: relative; }
.pool-lead-mode input { inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; pointer-events: auto; cursor: pointer; }
.pool-lead-mode input:focus-visible + span { outline: 2px solid var(--pool-cyan); outline-offset: 3px; }
html[data-pool-theme="light"] .pool-lead-mode input:checked + span { color: var(--pool-accent-ink); }
.pool-crm-fields legend { font-size: 12px; font-weight: 600; padding: 0 6px; color: var(--pool-muted); }
.pool-crm-fields .pool-crm-check { display: flex; flex-direction: row; align-items: center; gap: 10px; margin: 6px 0; color: var(--pool-text); cursor: pointer; }
.pool-crm-fields .pool-crm-check > span { font-size: 13px; line-height: 1.5; font-weight: 400; }
.pool-crm-fields .pool-crm-check input { width: 18px; height: 18px; margin: 0; padding: 0; flex: 0 0 18px; accent-color: var(--pool-cyan); cursor: pointer; }
.pool-crm-fields .pool-crm-check input:disabled { cursor: default; }
.pool-crm-fields [data-crm-save-status] { display: block; color: var(--pool-muted); font-size: 12px; }
.pool-lead-fact-panel > .pool-crm-fields { margin: 16px 0; }
.pool-lead-summary-quality { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.pool-portal .pool-lead-accordion__summary:hover, .pool-portal .pool-lead-accordion__summary:focus-visible { background: var(--pool-cyan-soft); color: var(--pool-text); }
.pool-lead-summary-quality .pool-rating { padding: 0; display: flex; gap: 3px; }
.pool-crm-badges { display: flex; justify-content: flex-end; align-items: center; gap: 8px; min-height: 12px; }
.pool-crm-badge { color: var(--pool-text); font-size: 10px; line-height: 12px; font-weight: 700; letter-spacing: .04em; }
.pool-crm-badge[hidden] { display: none !important; }
@media (max-width: 1280px) {
  .pool-lead-accordion__summary { grid-template-columns: .35rem minmax(0, 1.4fr) minmax(0, .7fr) minmax(0, 1fr) minmax(0, .7fr) 6.4rem 2rem; }
  .pool-lead-date em { white-space: normal; }
  .pool-lead-accordion, .pool-lead-detail-grid > * { min-width: 0; }
}
@media (max-width: 760px) {
  .pool-lead-accordion__summary { grid-template-columns: .35rem minmax(0, 1fr) 5.4rem 1.7rem; }
  .pool-lead-accordion__summary > span:nth-child(3), .pool-lead-accordion__summary > span:nth-child(4), .pool-lead-accordion__summary > span:nth-child(5) { display: none; }
  .pool-lead-accordion__summary > span.pool-lead-summary-quality { display: flex; }
  .pool-lead-accordion__summary > span:not(.pool-lead-accordion__signal) { padding: .8rem .5rem; }
}
