@font-face {
  font-family: "BusinessCardSerif";
  src: url("/assets/fonts/Caecilia LT Std/CaeciliaLTStd-Roman.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Planning and shared document hub */
.itinerary-platform-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.itinerary-platform-card { display: flex; align-items: center; gap: 24px; min-height: 220px; padding: 34px; color: var(--theme-text); text-decoration: none; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); background: var(--theme-card); box-shadow: var(--theme-shadow); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.itinerary-platform-card:hover { transform: translateY(-3px); border-color: var(--theme-primary); box-shadow: 0 16px 32px color-mix(in srgb, var(--theme-primary) 18%, transparent); }
.itinerary-platform-card h3 { margin: 0 0 8px; font-size: 1.7rem; color: var(--theme-heading); }
.itinerary-platform-card p { margin: 0 0 20px; color: var(--theme-muted); }
.itinerary-platform-card strong { color: var(--theme-primary); }
.itinerary-platform-mark { display: grid; place-items: center; flex: 0 0 88px; width: 88px; height: 88px; border-radius: 24px; color: var(--theme-topbar-active-text); background: var(--theme-primary); font-size: 1.5rem; font-weight: 800; letter-spacing: .03em; }
.document-center-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.document-center-card { display: flex; gap: 18px; padding: 20px; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); background: var(--theme-card); box-shadow: var(--theme-shadow); }
.document-center-icon { display: grid; place-items: center; flex: 0 0 58px; width: 58px; height: 68px; border-radius: calc(var(--theme-radius) * .65); color: var(--theme-topbar-active-text); background: var(--theme-primary); font-size: .68rem; font-weight: 800; letter-spacing: .06em; }
.document-center-preview { display: block; flex: 0 0 112px; width: 112px; height: 112px; object-fit: cover; border: 1px solid var(--theme-photo-border); border-radius: calc(var(--theme-radius) * .7); background: var(--theme-input); }
.document-center-card-body { min-width: 0; flex: 1; }
.document-center-card h3 { margin: 7px 0 6px; color: var(--theme-heading); }
.document-center-card p { margin: 0 0 10px; }
.document-center-tags { display: block; margin: 8px 0; color: var(--theme-muted); }
.document-center-actions { display: flex; align-items: center; gap: 8px; margin-top: 14px; }
.document-upload-zone { min-height: 132px; }
.document-upload-zone.is-dragging { border-color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 10%, var(--theme-input)); }
.document-upload-zone.has-file { border-color: var(--theme-primary); }
.document-upload-zone.has-file strong { color: var(--theme-primary); }
.document-scope-switch { width: fit-content; margin: 18px 0 0; }
.community-attachment-slot { display: flex; align-items: center; }
.community-attachment-picker { position: relative; display: flex; align-items: center; gap: 8px; min-width: 0; }
.community-attachment-trigger { display: grid; place-items: center; width: 38px; min-width: 38px; height: 38px; padding: 0; border-radius: 50%; font-size: 1rem; }
.community-attachment-selected { max-width: 240px; overflow: hidden; color: var(--theme-muted); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.community-attachment-picker.has-attachment .community-attachment-trigger { color: var(--theme-topbar-active-text); background: var(--theme-primary); }
.community-attachment-panel { position: absolute; z-index: 40; left: 0; top: calc(100% + 8px); display: grid; gap: 8px; width: min(360px, 80vw); max-height: 360px; padding: 12px; overflow: auto; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); background: var(--theme-card); box-shadow: 0 16px 36px rgb(0 0 0 / 18%); }
.community-attachment-results { display: grid; gap: 5px; }
.community-attachment-result { display: grid; gap: 2px; width: 100%; padding: 9px 10px; color: var(--theme-text); text-align: left; border: 0; border-radius: calc(var(--theme-radius) * .65); background: var(--theme-input); }
.community-attachment-result:hover { color: var(--theme-nav-hover-text); background: var(--theme-nav-hover); }
.community-attachment-result small { color: var(--theme-muted); font-weight: 400; }
.community-attachment-upload { display: block; padding: 10px; color: var(--theme-primary); text-align: center; border: 1px dashed var(--theme-primary); border-radius: calc(var(--theme-radius) * .65); cursor: pointer; font-weight: 700; }
.community-attachment-upload.is-uploading { opacity: .65; pointer-events: none; }
.community-document-link { display: flex; align-items: center; gap: 10px; width: fit-content; margin: 10px 0; padding: 10px 13px; color: var(--theme-heading); text-decoration: none; border: 1px solid var(--theme-border-soft); border-radius: calc(var(--theme-radius) * .7); background: var(--theme-input); font-weight: 700; }
.community-document-link:hover { border-color: var(--theme-primary); color: var(--theme-primary); }
.community-document-icon { color: var(--theme-primary); font-size: .7rem; letter-spacing: .05em; }
@media (max-width: 800px) { .itinerary-platform-grid, .document-center-results { grid-template-columns: 1fr; } .itinerary-platform-card { min-height: 0; padding: 24px; } }

@font-face {
  font-family: "BusinessCardSans";
  src: url("/assets/fonts/ITC Avant Garde Gothic Std/ITCAvantGardeStd-Bk.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light;
  font-family: var(--theme-font-family, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  background: #f7f4ef;
  color: var(--theme-text);
  --dashboard-content-width: 100%;
  --theme-page: #eef2f3;
  --theme-shell: #ffffff;
  --theme-topbar: #ffffff;
  --theme-topbar-text: #29343a;
  --theme-topbar-hover: #edf4f5;
  --theme-topbar-active: #1f6f78;
  --theme-topbar-active-text: #ffffff;
  --theme-sidebar: #f7f9f9;
  --theme-icon-rail: color-mix(in srgb, var(--theme-sidebar) 76%, var(--theme-main));
  --theme-context-menu: var(--theme-sidebar);
  --theme-logo-color: #29343a;
  --theme-main: #ffffff;
  --theme-card: #ffffff;
  --theme-input: #fbfcfc;
  --theme-input-border: #bec8cc;
  --theme-photo-border: #ded9d1;
  --theme-text: #29343a;
  --theme-placeholder: #7a858b;
  --theme-metric: #1c3037;
  --theme-heading: #173f45;
  --theme-section-title: #173f45;
  --theme-description: #68737a;
  --theme-muted: #68737a;
  --theme-label: #465057;
  --theme-eyebrow: #68737a;
  --theme-border: #d5dde0;
  --theme-border-soft: #dce3e5;
  --theme-primary: #1f6f78;
  --theme-primary-hover: #185b63;
  --theme-focus: #b9dce6;
  --theme-nav-hover: #e2eff1;
  --theme-nav-hover-text: var(--theme-nav-text);
  --theme-nav-active: #edf6f7;
  --theme-nav-border: #bdd6dc;
  --theme-nav-text: #29343a;
  --theme-nav-flyout: var(--theme-card);
  --theme-notice-general: #417d8c;
  --theme-notice-important: #ad8425;
  --theme-notice-urgent: #a44938;
  --theme-attention-pill: #a44938;
  --theme-attention-pill-text: #ffffff;
  --theme-secondary: #e9eeef;
  --theme-secondary-text: #243036;
  --theme-toggle-track: #b8c3c7;
  --theme-toggle-active: #1f6f78;
  --theme-toggle-knob: #ffffff;
  --theme-toggle-active-knob: #ffffff;
  --theme-view-switch: #edf5f6;
  --theme-view-switch-border: #bdd6dc;
  --theme-view-switch-text: #29343a;
  --theme-view-switch-active: #1f6f78;
  --theme-view-switch-active-text: #ffffff;
  --theme-radius: 12px;
  --theme-card-radius: 14px;
  --theme-shadow-strength: 18;
  --theme-main-background: var(--theme-main);
  --theme-sidebar-background: var(--theme-sidebar);
  --theme-card-background: var(--theme-card);
  --theme-primary-background: var(--theme-primary);
  --theme-chart-start: #568fb8;
  --theme-chart-middle: #f1d65b;
  --theme-chart-end: #ef5964;
  --theme-chart-gradient: var(--theme-chart-start);
  --theme-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body:not([data-runtime-theme])[data-theme-family="admin"][data-theme-variant="classic"] { --theme-primary: #1f6f78; --theme-primary-hover: #185b63; }
body:not([data-runtime-theme])[data-theme-family="pixie"][data-theme-variant="signature-blue"] { --theme-page: #eaf2fa; --theme-sidebar: #a0c0e5; --theme-main: #fbfdff; --theme-border-soft: #87abd3; --theme-primary: #527fa8; --theme-primary-hover: #416b91; --theme-heading: #233d59; --theme-focus: #bfd9ee; --theme-nav-hover: #afcae8; --theme-nav-active: #779abd; --theme-nav-border: #ffffff; --theme-nav-text: #ffffff; }
body:not([data-runtime-theme])[data-theme-family="ptc"][data-theme-variant="ivory"] { --theme-page: #eee7de; --theme-sidebar: #f6f0e8; --theme-main: #fffdf9; --theme-border-soft: #d9cbb9; --theme-primary: #806344; --theme-primary-hover: #684e34; --theme-heading: #4d3b2a; --theme-focus: #e1ceb5; --theme-nav-hover: #eee2d3; --theme-nav-active: #f4eadf; --theme-nav-border: #dbc7ad; }

* {
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  margin: 0;
  display: grid;
  place-items: center;
  padding: 24px;
}

html {
  scrollbar-gutter: stable;
}

html:has(body.dashboard-body) {
  background: var(--theme-main);
}

.dashboard-body {
  display: block;
  padding: 0;
  background: var(--theme-page);
}

body.dashboard-body:has(#dashboard-view:not(.hidden)) {
  background: var(--theme-main);
}

.shell {
  width: min(100%, 760px);
}

.dashboard-shell {
  width: 100%;
  min-height: 100vh;
  padding: 0;
}

/* Scoped to elements inside the dashboard so the page's own scrollbar is untouched.
   currentColor lets the thumb adapt to each panel's own text color (e.g. sidebar
   nav text vs. main content text) without per-theme overrides. */
.dashboard-shell * {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, currentColor 35%, transparent) transparent;
}
.dashboard-shell *::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.dashboard-shell *::-webkit-scrollbar-track {
  background: transparent;
}
.dashboard-shell *::-webkit-scrollbar-thumb {
  background-color: color-mix(in srgb, currentColor 35%, transparent);
  border: 2px solid transparent;
  border-radius: 999px;
  background-clip: padding-box;
}
.dashboard-shell *::-webkit-scrollbar-thumb:hover {
  background-color: color-mix(in srgb, currentColor 55%, transparent);
}

.panel {
  background: var(--theme-card);
  border: 1px solid var(--theme-border);
  border-radius: var(--theme-card-radius);
  box-shadow: 0 18px 50px rgb(31 37 40 / 10%);
  padding: clamp(24px, 4vw, 44px);
}

.dashboard-login {
  width: min(100%, 560px);
  margin: 8vh auto 0;
}

.dashboard-boot {
  min-height: 100vh;
  display: grid;
  place-items: center;
  color: var(--theme-primary);
}

.dashboard-boot .pixie-wing-loader {
  width: 36px;
  height: 42px;
}

.auth-panel,
.profile-panel {
  display: grid;
  gap: 28px;
}

.profile-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.profile-header-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.profile-header-actions > :is(button, a) { width: auto; }

.profile-two-column {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.profile-specialty-row {
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
}

.profile-social-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.dashboard {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  grid-template-rows: 46px minmax(0, 1fr);
  width: 100%;
  min-height: 100vh;
  margin: 0;
  background: var(--theme-shell);
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
}

.dashboard-topbar {
  grid-column: 1 / -1;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 18px 0 24px;
  border-bottom: 1px solid var(--theme-border-soft);
  background: var(--theme-topbar);
  box-shadow: 0 8px 24px rgb(31 37 40 / 8%);
  z-index: 100;
}

.dashboard-topbar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--theme-muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-account {
  position: relative;
}

.dashboard-account-avatar { display: none; }

.global-data-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-left: auto;
  margin-right: -8px;
  color: var(--theme-logo-color);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 150ms ease, visibility 150ms ease;
}

.global-data-loader.is-visible { opacity: 1; visibility: visible; }
.global-data-loader .pixie-wing-loader { width: 19px; height: 23px; }

.pixie-wing-loader {
  display: inline-grid;
  flex: 0 0 auto;
  width: 27px;
  height: 32px;
  place-items: center;
  color: var(--theme-primary);
}

.pixie-wing-loader svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: currentColor;
}

.pixie-wing-loader-body {
  transform-box: view-box;
  transform-origin: 50% 80%;
  animation: pixie-wing-lift 900ms ease-in-out infinite;
}

.pixie-wing-left,
.pixie-wing-right {
  transform-box: view-box;
  transform-origin: 140.91px 261px;
  will-change: transform;
}

.pixie-wing-left { animation: pixie-wing-left-flap 900ms ease-in-out infinite; }
.pixie-wing-right { animation: pixie-wing-right-flap 900ms ease-in-out infinite; }

@keyframes pixie-wing-left-flap {
  0%, 100% { transform: rotate(-1deg) scaleX(1); }
  50% { transform: rotate(5deg) scaleX(.78) translateY(3px); }
}

@keyframes pixie-wing-right-flap {
  0%, 100% { transform: rotate(1deg) scaleX(1); }
  50% { transform: rotate(-5deg) scaleX(.78) translateY(3px); }
}

@keyframes pixie-wing-lift {
  0%, 100% { transform: translateY(1px); }
  50% { transform: translateY(-2px); }
}

.dashboard-nav-toggle {
  display: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--theme-topbar-text);
  background: transparent;
  cursor: pointer;
}
.dashboard-nav-toggle:hover { background: var(--theme-topbar-hover); }
.dashboard-nav-toggle-bars,
.dashboard-nav-toggle-bars::before,
.dashboard-nav-toggle-bars::after {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .18s ease, opacity .18s ease, top .18s ease;
}
.dashboard-nav-toggle-bars { position: relative; }
.dashboard-nav-toggle-bars::before { position: absolute; top: -6px; left: 0; }
.dashboard-nav-toggle-bars::after { position: absolute; top: 6px; left: 0; }
.dashboard-nav-toggle[aria-expanded="true"] .dashboard-nav-toggle-bars { background: transparent; }
.dashboard-nav-toggle[aria-expanded="true"] .dashboard-nav-toggle-bars::before { top: 0; transform: rotate(45deg); }
.dashboard-nav-toggle[aria-expanded="true"] .dashboard-nav-toggle-bars::after { top: 0; transform: rotate(-45deg); }

.dashboard-nav-backdrop { display: none; }

.global-interface-tabs { display: flex; align-items: stretch; gap: 0; min-width: 0; width: max-content; max-width: 100%; overflow-x: auto; height: 46px; }
.global-interface-tabs button { min-height: 46px; border: 0; border-radius: 0; padding: 0 16px; color: var(--theme-topbar-text); background: transparent; font-size: .74rem; font-weight: 900; letter-spacing: .025em; text-transform: none; white-space: nowrap; }
.global-interface-tabs button:hover { color: var(--theme-topbar-text); background: var(--theme-topbar-hover); }
.global-interface-tabs button.active { color: var(--theme-topbar-active-text); background: var(--theme-topbar-active); box-shadow: inset 0 -3px rgba(0,0,0,.12); }
.sidebar-interface-heading h1 { margin-top: 3px; font-size: 1.45rem; line-height: 1.15; }
.sidebar-interface-switcher { display: grid; gap: 7px; margin-top: 18px; }
.sidebar-interface-switcher button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 38px; border: 1px solid color-mix(in srgb, var(--theme-border) 72%, transparent); border-radius: 8px; padding: 8px 11px; color: var(--theme-text); background: color-mix(in srgb, var(--theme-card) 86%, transparent); font-size: .74rem; font-weight: 750; text-align: left; }
.sidebar-interface-switcher button:hover { border-color: var(--theme-primary); color: var(--theme-primary); }
.interface-hidden { display: none !important; }
.website-editor-welcome { min-height: 240px; border: 1px solid var(--theme-border); border-radius: 10px; padding: 34px; background: linear-gradient(135deg, #fff 0%, #f1f7f8 100%); }
.website-editor-welcome h2 { margin: 5px 0 10px; color: var(--theme-heading); }
.website-editor-welcome p:last-child { max-width: 720px; margin: 0; color: #637279; line-height: 1.65; }
.theme-builder-layout { display: grid; grid-template-columns: minmax(170px, .5fr) minmax(0, 2.5fr); gap: 14px; align-items: start; }
.theme-builder-layout .panel-subsection { border: 1px solid var(--theme-border); border-radius: var(--theme-radius); background: var(--theme-card); padding: 14px; }
.theme-catalog { position: sticky; top: 64px; display: grid; gap: 9px; }
.theme-catalog-heading { display: grid; gap: 6px; font-size: .78rem; }
.theme-catalog-heading > strong, .theme-preview-heading > strong { color: var(--theme-label); }
.theme-catalog-heading select { width: 100%; min-height: 34px; padding-block: 5px; font-size: .72rem; }
.theme-catalog-list { display: grid; gap: 5px; }
.theme-catalog-card { width: 100%; min-height: 0; display: flex; justify-content: space-between; align-items: flex-start; gap: 5px; padding: 8px 9px; border: 1px solid var(--theme-border); border-radius: var(--theme-card-radius); color: var(--theme-text); background: var(--theme-card); font-size: .72rem; text-align: left; }
.theme-catalog-card:hover, .theme-catalog-card.active { color: var(--theme-text); border-color: var(--theme-primary); background: var(--theme-nav-active); }
.theme-catalog-card > span { display: grid; gap: 2px; }
.theme-catalog-card small { color: var(--theme-muted); font-weight: 700; }
.theme-catalog-pills { justify-items: end; }
.theme-catalog-pills small { border-radius: 999px; padding: 2px 5px; background: var(--theme-secondary); font-size: .56rem; }
.theme-catalog-pills .published { color: #17643a; background: #dff4e7; }
.theme-catalog-pills .draft { color: #795d1d; background: #fff1c9; }
.theme-catalog-pills .default { color: var(--theme-primary); background: var(--theme-nav-active); }
.theme-editor { display: grid; grid-template-columns: minmax(390px, 1.12fr) minmax(320px, .88fr); gap: 18px; }
.theme-editor-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.theme-access-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.theme-access-grid fieldset { display: grid; align-content: start; gap: 9px; margin: 0; border: 1px solid var(--theme-border); border-radius: var(--theme-radius); padding: 12px; background: var(--theme-input); }
.theme-access-grid legend { padding: 0 5px; color: var(--theme-heading); font-size: .78rem; font-weight: 900; }
.theme-access-grid .checkbox-field { color: var(--theme-text); font-size: .78rem; }
.theme-token-section { display: grid; gap: 10px; border-top: 1px solid var(--theme-border-soft); padding-top: 15px; }
.theme-token-section h3 { margin: 0; color: var(--theme-heading); font-size: .9rem; }
.theme-section-help { margin: -2px 0 2px; color: var(--theme-description); font-size: .76rem; line-height: 1.45; }
.theme-color-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px 8px; }
.theme-color-controls > label { gap: 3px; min-width: 0; font-size: .64rem; line-height: 1.15; }
.theme-gradient-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.theme-gradient-controls fieldset { display: grid; grid-template-columns: 1fr 70px 70px 74px; align-items: end; gap: 8px; margin: 0; border: 1px solid var(--theme-border); border-radius: var(--theme-radius); padding: 11px; background: var(--theme-input); }
.theme-gradient-controls fieldset.theme-chart-gradient { grid-column: 1 / -1; grid-template-columns: 1fr 70px 70px 70px 74px; }
.theme-gradient-controls legend { padding: 0 5px; color: var(--theme-section-title); font-size: .76rem; font-weight: 850; }
.theme-gradient-controls label { gap: 4px; font-size: .68rem; }
.theme-gradient-controls input[type="color"] { width: 100%; height: 34px; padding: 0; overflow: hidden; cursor: pointer; }
.theme-gradient-controls input[type="number"] { min-height: 34px; padding: 5px 7px; }
.theme-gradient-controls .checkbox-field { align-self: center; }
.theme-color-input { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 4px; }
.theme-color-input input[type="color"] { width: 30px; height: 31px; min-height: 31px; padding: 0; overflow: hidden; cursor: pointer; }
.theme-editor input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
.theme-editor input[type="color"]::-webkit-color-swatch { border: 0; border-radius: inherit; }
.theme-editor input[type="color"]::-moz-color-swatch { border: 0; border-radius: inherit; }
.theme-color-input input[type="text"] { min-width: 0; min-height: 31px; padding: 5px 6px; font-family: ui-monospace, monospace; font-size: .67rem; }
#dashboard-theme-description { min-height: 38px; height: 38px; resize: vertical; }
.theme-form-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.theme-preview-heading { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 9px; font-size: .78rem; }
.contrast-pass { color: #17643a; }.contrast-warning { color: #a43a32; font-weight: 800; }
.dashboard-theme-preview { --theme-radius: 8px; --theme-shadow-strength: 18; position: sticky; top: 64px; overflow: hidden; min-height: 430px; border: 1px solid var(--theme-border); border-radius: var(--theme-radius); color: var(--theme-text); background: var(--theme-shell); box-shadow: 0 10px calc(var(--theme-shadow-strength) * 1px) rgb(31 37 40 / 12%); font-family: var(--theme-font-family); }
.theme-preview-topbar { display: flex; justify-content: flex-start; align-items: stretch; min-height: 46px; border-bottom: 1px solid var(--theme-border-soft); border-radius: 0; color: var(--theme-topbar-text); background: var(--theme-topbar); box-shadow: 0 8px 24px rgb(31 37 40 / 8%); font-size: .66rem; font-weight: 900; }
.theme-preview-topbar > span { display: flex; align-items: center; border-radius: 0 !important; padding: 0 14px; }
.theme-preview-topbar > span:last-child { margin-left: 0; }
.theme-preview-topbar > .theme-preview-active-tab { color: var(--theme-topbar-active-text); background: var(--theme-topbar-active); box-shadow: inset 0 -3px rgb(0 0 0 / 12%); }
.theme-preview-topbar > .theme-preview-topbar-hover { background: var(--theme-topbar-hover); }
.theme-preview-body { display: grid; grid-template-columns: 132px 6px minmax(0, 1fr); min-height: 390px; background: var(--theme-icon-rail); }
.theme-preview-navigation { display: grid; grid-template-columns: 32px minmax(0, 1fr); min-width: 0; background: var(--theme-context-menu); box-shadow: 7px 0 12px -10px color-mix(in srgb, var(--theme-text) 45%, transparent); }
.theme-preview-rail { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 7px; padding: 12px 4px; color: var(--theme-nav-text); background: var(--theme-icon-rail); }
.theme-preview-rail > span { position: relative; display: grid; place-items: center; width: 28px; min-height: 31px; border-radius: 7px 0 0 7px; font-size: .76rem; }
.theme-preview-rail > span:not(.active):hover { color: var(--theme-nav-hover-text); background: var(--theme-nav-hover); }
.theme-preview-rail > span.active { width: 32px; color: var(--theme-heading); background: var(--theme-context-menu); box-shadow: 0 -5px 8px -8px color-mix(in srgb, var(--theme-text) 34%, transparent), 0 5px 8px -8px color-mix(in srgb, var(--theme-text) 34%, transparent); }
.theme-preview-rail-pill b { position: absolute; top: -2px; right: -1px; display: grid; min-width: 12px; height: 12px; place-items: center; border-radius: 999px; color: var(--theme-attention-pill-text); background: var(--theme-attention-pill); font-size: .46rem; }
.theme-preview-context { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 14px 8px; border-radius: 0; color: var(--theme-nav-text); background: var(--theme-context-menu); font-size: .61rem; }
.theme-preview-context strong { margin-bottom: 13px; color: var(--theme-logo-color); font-size: .64rem; text-align: center; }
.theme-preview-context small { color: var(--theme-muted); font-size: .48rem; letter-spacing: .08em; text-transform: uppercase; }
.theme-preview-context h4 { margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--theme-border-soft); color: var(--theme-heading); font-size: .72rem; }
.theme-preview-context > span { border-radius: 6px; padding: 6px 7px; }
.theme-preview-context > span:hover { color: var(--theme-nav-hover-text); background: var(--theme-nav-hover); }
.theme-preview-context > span.active { color: var(--theme-heading); background: var(--theme-card-background); box-shadow: -2px 4px 8px color-mix(in srgb, var(--theme-text) 14%, transparent); font-weight: 750; }
.theme-preview-relief { background: var(--theme-icon-rail); }
.theme-preview-pill-row { display: flex; align-items: center; justify-content: space-between; }
.theme-preview-pill-row b { display: inline-grid; min-width: 19px; height: 17px; place-items: center; border-radius: 999px; padding: 0 5px; color: var(--theme-attention-pill-text); background: var(--theme-attention-pill); font-size: .58rem; }
.theme-preview-body main { display: block; padding: 17px; background: var(--theme-main-background); }
.theme-preview-body main > .eyebrow { color: var(--theme-eyebrow); }
.theme-preview-body h3 { margin: 3px 0 13px; color: var(--theme-section-title); }
.theme-preview-body-copy { margin: -7px 0 8px; color: var(--theme-description); font-size: .7rem; }
.theme-preview-notices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin: 0 0 12px; }
.theme-preview-notices span { border: 1px solid currentColor; border-radius: var(--theme-radius); padding: 7px 5px; color: #fff; box-shadow: inset 0 0 0 2px #fff, -2px 3px 6px color-mix(in srgb, var(--theme-text) 13%, transparent); font-size: .5rem; font-weight: 750; text-align: center; }
.theme-preview-notices span:nth-child(1) { border-color: var(--theme-notice-general); background: var(--theme-notice-general); }
.theme-preview-notices span:nth-child(2) { border-color: var(--theme-notice-important); background: var(--theme-notice-important); }
.theme-preview-notices span:nth-child(3) { border-color: var(--theme-notice-urgent); background: var(--theme-notice-urgent); }
.theme-preview-segmented { display: inline-flex; margin-bottom: 10px; border: 1px solid var(--theme-view-switch-border); border-radius: var(--theme-radius); padding: 2px; color: var(--theme-view-switch-text); background: var(--theme-view-switch); font-size: .62rem; }
.theme-preview-segmented span { padding: 4px 7px; border-radius: calc(var(--theme-radius) * .65); }
.theme-preview-segmented span.active { color: var(--theme-view-switch-active-text); background: var(--theme-view-switch-active); }
.theme-preview-cards { display: grid; gap: 10px; margin-bottom: 14px; }
.theme-preview-cards article { display: grid; gap: 6px; border: 1px solid transparent; border-radius: var(--theme-card-radius); padding: 12px; background: var(--theme-card-background); box-shadow: 0 0 calc(4px + var(--theme-shadow-strength) * .2px) color-mix(in srgb, var(--theme-text) 8%, transparent), -4px 8px calc(8px + var(--theme-shadow-strength) * .45px) color-mix(in srgb, var(--theme-text) 14%, transparent); }
.theme-preview-cards b { color: var(--theme-heading); font-size: 1.35rem; }.theme-preview-cards small { color: var(--theme-muted); }
.theme-preview-cards b { color: var(--theme-metric); }
.dashboard-theme-preview button { justify-self: start; background: var(--theme-primary-background); }.dashboard-theme-preview button:hover { background: var(--theme-primary-hover); }
.dashboard-theme-preview button.secondary { color: var(--theme-secondary-text); background: var(--theme-secondary); }
.theme-preview-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.theme-preview-chart { display: flex; align-items: end; gap: 5px; height: 44px; margin: 2px 0 10px; border-bottom: 1px solid var(--theme-border-soft); padding: 0 7px; }
.theme-preview-chart i { flex: 1; min-width: 8px; border-radius: 3px 3px 0 0; background: var(--theme-chart-gradient); background-size: 500% 100%; background-repeat: no-repeat; }
.theme-preview-chart i:nth-child(1) { background-position: 0% center; }
.theme-preview-chart i:nth-child(2) { background-position: 25% center; }
.theme-preview-chart i:nth-child(3) { background-position: 50% center; }
.theme-preview-chart i:nth-child(4) { background-position: 75% center; }
.theme-preview-chart i:nth-child(5) { background-position: 100% center; }
.dashboard-theme-preview label { color: var(--theme-label); }
.dashboard-theme-preview input { border-color: var(--theme-input-border); border-radius: var(--theme-radius); color: var(--theme-text); background: var(--theme-input); }
.theme-preview-soft-border { margin-top: 10px; border-top: 1px solid var(--theme-border-soft); padding-top: 8px; color: var(--theme-muted); font-size: .66rem; }
@media (max-width: 1100px) { .theme-builder-layout { grid-template-columns: 1fr; }.theme-catalog { position: static; }.theme-catalog-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .theme-editor { grid-template-columns: 1fr; }.dashboard-theme-preview { position: static; } }
@media (max-width: 700px) { .theme-catalog-list, .theme-editor-meta, .theme-access-grid, .theme-gradient-controls { grid-template-columns: 1fr; }.theme-color-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }.theme-gradient-controls fieldset,.theme-gradient-controls fieldset.theme-chart-gradient { grid-column: auto; grid-template-columns: 1fr 64px 64px 70px; }.theme-gradient-controls fieldset.theme-chart-gradient { grid-template-columns: 1fr 58px 58px 58px 68px; } }
.support-intro-panel { display: flex; justify-content: space-between; align-items: center; gap: 24px; border: 1px solid var(--theme-border); border-radius: 10px; padding: 24px; background: var(--theme-card-background); }
.support-intro-panel h2 { margin: 4px 0 8px; color: var(--theme-heading); }
.support-intro-panel p:last-child { max-width: 700px; margin: 0; color: var(--theme-muted); line-height: 1.6; }
.support-status-pill { flex: 0 0 auto; border-radius: 999px; padding: 7px 11px; color: #76591e; background: #fff0bf; font-size: .7rem; font-weight: 900; }
.support-status-connected { color: #1e684d; background: #dff4e9; }
.support-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.support-placeholder-card { border: 1px solid var(--theme-border); border-radius: var(--theme-card-radius); padding: 22px; background: #fff; }
.support-placeholder-card h3 { margin: 0 0 8px; color: var(--theme-heading); }
.support-placeholder-card p { margin: 0; color: var(--theme-description); line-height: 1.6; }
.tax-center-notice { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 20px; padding: 16px 18px; border: 1px solid #d7c284; border-radius: var(--theme-radius); background: #fffaf0; }
.tax-center-notice > span { display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: #ad8425; font-family: Georgia, serif; font-weight: 700; }
.tax-center-notice strong { color: var(--theme-heading); }
.tax-center-notice p { margin: 4px 0 0; color: var(--theme-muted); line-height: 1.55; }
.tax-center-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.tax-center-summary-grid article { display: grid; gap: 5px; min-height: 126px; padding: 18px; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); background: var(--theme-card); box-shadow: 0 8px 24px rgba(34, 49, 55, .05); }
.tax-center-summary-grid span { color: var(--theme-muted); font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.tax-center-summary-grid strong { align-self: end; color: var(--theme-heading); font-size: clamp(1.45rem, 3vw, 2.25rem); }
.tax-center-summary-grid small { color: var(--theme-muted); }
.tax-center-agent-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tax-center-list-panel, .tax-center-detail-panel { display: grid; gap: 18px; }
.tax-center-list-tools { display: grid; grid-template-columns: minmax(260px, 1fr) 160px; gap: 14px; }
.tax-center-table { width: 100%; border-collapse: collapse; }
.tax-center-table th { padding: 11px 12px; border-bottom: 1px solid var(--theme-border); color: var(--theme-muted); font-size: .72rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.tax-center-table td { padding: 24px 12px; border-bottom: 1px solid var(--theme-border-soft); }
.tax-center-pagination { display: flex; justify-content: space-between; align-items: center; color: var(--theme-muted); }
.tax-center-pagination div { display: flex; gap: 8px; }
.tax-center-detail-row { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--theme-border-soft); color: var(--theme-muted); }
.tax-center-detail-row strong { color: var(--theme-heading); }
.tax-center-detail-row.total { color: var(--theme-heading); font-weight: 800; }
@media (max-width: 760px) { .tax-center-summary-grid, .tax-center-agent-summary, .tax-center-list-tools { grid-template-columns: 1fr; } }
.support-ticket-panel { min-width: 0; border: 1px solid var(--theme-border); border-radius: 9px; padding: 22px; background: #fff; }
.support-ticket-panel > h3, .support-ticket-list-heading h3 { margin: 0 0 6px; color: var(--theme-heading); }
.support-ticket-panel > p, .support-ticket-list-heading p { margin: 0 0 18px; color: var(--theme-description); line-height: 1.5; }
.support-ticket-form { display: grid; gap: 15px; }
.commission-inquiry-layout { margin-top: 16px; }
.commission-inquiry-layout.is-admin { grid-template-columns: minmax(0, 1fr); }
.commission-recipient-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.commission-recipient-form label { min-width: 0; }
.commission-inquiry-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.commission-inquiry-detail-grid p { display: grid; gap: 3px; margin: 0; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); padding: 10px; background: var(--theme-input); }
.commission-inquiry-detail-grid small { color: var(--theme-label); font-weight: 800; }
.commission-inquiry-detail-grid strong { color: var(--theme-text); }
.commission-inquiry-admin-form { display: grid; gap: 12px; border-top: 1px solid var(--theme-border-soft); padding-top: 14px; }
.commission-inquiry-admin-form button { justify-self: start; }
.commission-inquiry-dialog { width: min(680px, calc(100vw - 28px)); max-height: min(88vh, 900px); overflow: auto; border: 1px solid var(--theme-border); border-radius: 16px; padding: 24px; color: var(--theme-text); background: var(--theme-card, #fff); box-shadow: 0 24px 65px rgba(25, 37, 43, .25); }
.commission-inquiry-dialog::backdrop { background: rgba(25, 37, 43, .48); }
.commission-inquiry-dialog-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.commission-inquiry-dialog-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }
.commission-inquiry-dialog-heading h3 { margin: 4px 0 12px; color: var(--theme-heading); font-size: 1.45rem; }
.commission-inquiry-dialog > p { margin: 0 0 18px; color: var(--theme-description); line-height: 1.45; }
.commission-inquiry-search-label { display: grid; gap: 7px; color: var(--theme-label); font-size: .82rem; font-weight: 800; }
.commission-inquiry-search-label input { width: 100%; }
.commission-inquiry-booking-results { display: grid; gap: 8px; max-height: 280px; overflow: auto; margin: 12px 0 18px; }
.commission-inquiry-booking-choice { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 66px; padding: 11px 13px; border: 1px solid var(--theme-border); border-radius: 10px; color: var(--theme-text); background: var(--theme-input, #fff); text-align: left; cursor: pointer; }
.commission-inquiry-booking-choice:hover, .commission-inquiry-booking-choice.selected { border-color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 8%, var(--theme-card, #fff)); }
.commission-inquiry-booking-choice > span:first-child { display: grid; gap: 4px; min-width: 0; }
.commission-inquiry-booking-choice small { color: var(--theme-description); }
.commission-inquiry-payment-status { flex: 0 0 auto; border-radius: 999px; padding: 5px 8px; font-size: .76rem; font-weight: 800; }
.commission-inquiry-payment-status.is-paid { color: #25633f; background: #e6f5eb; }
.commission-inquiry-payment-status.is-unpaid { color: #8e5d17; background: #fff2d9; }
.commission-inquiry-payment-status.is-not-yet-traveled { color: #46637a; background: #eaf2f8; }
.commission-inquiry-payment-status.is-traveling-now { color: #176a70; background: #e1f4f2; }
.commission-inquiry-payment-status.is-travel-dates-unavailable { color: #626e75; background: #edf0f2; }
.commission-inquiry-selected { border-left: 4px solid var(--theme-primary); padding: 9px 12px; color: var(--theme-heading); background: color-mix(in srgb, var(--theme-primary) 8%, var(--theme-card, #fff)); font-weight: 700; }

@media (max-width: 720px) {
  .commission-recipient-form,
  .commission-inquiry-detail-grid { grid-template-columns: 1fr; }
}
.support-ticket-form label, .support-ticket-admin-grid label { display: grid; gap: 6px; color: var(--theme-label); font-size: .78rem; font-weight: 800; }
.support-form-row, .support-ticket-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.optional-label { color: var(--theme-muted); font-size: .68rem; font-weight: 600; }
.support-ticket-list-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.support-ticket-results { display: grid; gap: 12px; }
.support-ticket-card { border: 1px solid #d9e1e3; border-radius: var(--theme-card-radius); background: #fbfcfc; overflow: hidden; }
.support-ticket-card[open] { background: #fff; }
.support-ticket-card.is-overdue { border-color: #d98383; box-shadow: inset 3px 0 #bd3f3f; }
.support-ticket-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 14px; cursor: pointer; list-style: none; }
.support-ticket-summary::-webkit-details-marker { display: none; }
.support-ticket-id { color: var(--theme-muted); font-size: .68rem; font-weight: 900; letter-spacing: .04em; }
.support-ticket-summary strong { min-width: 0; color: var(--theme-heading); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.support-ticket-pills { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.support-ticket-pill { border-radius: 999px; padding: 4px 8px; background: #e8eff1; color: #3d555c; font-size: .64rem; font-weight: 900; }
.support-ticket-pill.priority-urgent, .support-ticket-pill.priority-high { background: #f8dddd; color: #8d2929; }
.support-ticket-pill.status-resolved, .support-ticket-pill.status-closed { background: #dff1e7; color: #276248; }
.support-ticket-body { display: grid; gap: 14px; padding: 0 14px 16px; border-top: 1px solid #e5eaeb; }
.support-ticket-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; padding-top: 14px; color: #6d7b80; font-size: .72rem; }
.support-ticket-description { margin: 0; color: #354a50; line-height: 1.55; white-space: pre-wrap; }
.support-ticket-context { display: grid; gap: 8px; padding: 12px; border-radius: 7px; background: #f4f7f8; color: #50646a; font-size: .76rem; }
.support-ticket-context p { margin: 0; white-space: pre-wrap; }
.support-ticket-admin { display: grid; gap: 12px; padding-top: 12px; border-top: 1px solid #e4e9ea; }
.support-ticket-admin-actions { display: flex; align-items: center; gap: 12px; }
.support-ticket-admin textarea { min-height: 76px; }
@media (max-width: 760px) { .support-form-row, .support-ticket-admin-grid { grid-template-columns: 1fr; } .support-ticket-summary { grid-template-columns: 1fr; } .support-ticket-pills { justify-content: flex-start; } }
.resources-panel { display: grid; gap: 10px; }
.resources-panel details { border: 1px solid var(--theme-border); border-radius: 8px; padding: 0 18px; background: #fff; }
.resources-panel summary { padding: 16px 0; color: #244951; font-weight: 900; cursor: pointer; }
.resources-panel details p { margin: -2px 0 18px; color: #66767c; line-height: 1.6; }

body[data-interface="pixie"] .dashboard-body,
body[data-interface="pixie"] {
  --theme-page: #eaf2fa;
  --theme-shell: #ffffff;
  --theme-topbar: #ffffff;
  --theme-topbar-text: #233d59;
  --theme-topbar-hover: #e6f0fa;
  --theme-topbar-active: #527fa8;
  --theme-topbar-active-text: #ffffff;
  --theme-sidebar: #edf5fb;
  --theme-logo-color: #527fa8;
  --theme-main: #fbfdff;
  --theme-card: #ffffff;
  --theme-input: #f4f8fc;
  --theme-input-border: #aebfd0;
  --theme-photo-border: #c5d5e5;
  --theme-text: #233d59;
  --theme-placeholder: #6f8193;
  --theme-metric: #233d59;
  --theme-heading: #233d59;
  --theme-section-title: #233d59;
  --theme-description: #607489;
  --theme-muted: #607489;
  --theme-label: #3f5872;
  --theme-eyebrow: #607489;
  --theme-border: #cbdceb;
  --theme-border-soft: #d9e6f1;
  --theme-primary: #527fa8;
  --theme-primary-hover: #416b91;
  --theme-focus: #bfd9ee;
  --theme-nav-hover: #dfeefa;
  --theme-nav-active: #d3e6f6;
  --theme-nav-border: #8eb2d2;
  --theme-nav-text: #233d59;
  --theme-attention-pill: #c6923b;
  --theme-attention-pill-text: #ffffff;
  --theme-secondary: #e6eef6;
  --theme-secondary-text: #233d59;
  --theme-view-switch: #e6eef6;
  --theme-view-switch-border: #aebfd0;
  --theme-view-switch-text: #233d59;
  --theme-view-switch-active: #527fa8;
  --theme-view-switch-active-text: #ffffff;
  --theme-main-background: #fbfdff;
  --theme-sidebar-background: #edf5fb;
  --theme-card-background: #ffffff;
  --theme-primary-background: #527fa8;
  --theme-radius: 10px;
  --theme-card-radius: 12px;
  --theme-shadow-strength: 12;
  background: #eaf2fa;
}
body[data-interface="pixie"] .dashboard-topbar { border-bottom-color: var(--theme-border-soft); background: var(--theme-topbar); }
body[data-interface="pixie"] .dashboard-sidebar { border-right-color: #cbdceb; background: #edf5fb; }
body[data-interface="pixie"] .dashboard-main { background: #fbfdff; }
body[data-interface="pixie"] .website-editor-welcome { border-color: #cbdceb; background: linear-gradient(135deg, #fff 0%, #eaf3fb 100%); }

body[data-interface="ptc"] .dashboard-body,
body[data-interface="ptc"] {
  --theme-page: #eee7de;
  --theme-shell: #ffffff;
  --theme-topbar: #fffdf9;
  --theme-topbar-text: #4d3b2a;
  --theme-topbar-hover: #eee2d3;
  --theme-topbar-active: #806344;
  --theme-topbar-active-text: #ffffff;
  --theme-sidebar: #f6f0e8;
  --theme-logo-color: #806344;
  --theme-main: #fffdf9;
  --theme-card: #ffffff;
  --theme-input: #faf6f0;
  --theme-input-border: #cbbba7;
  --theme-photo-border: #d9cbb9;
  --theme-text: #4d3b2a;
  --theme-placeholder: #877967;
  --theme-metric: #4d3b2a;
  --theme-heading: #4d3b2a;
  --theme-section-title: #4d3b2a;
  --theme-description: #746554;
  --theme-muted: #746554;
  --theme-label: #5f503f;
  --theme-eyebrow: #746554;
  --theme-border: #d9cbb9;
  --theme-border-soft: #e6ddd1;
  --theme-primary: #806344;
  --theme-primary-hover: #684e34;
  --theme-focus: #e1ceb5;
  --theme-nav-hover: #eee2d3;
  --theme-nav-active: #eadcca;
  --theme-nav-border: #bca589;
  --theme-nav-text: #4d3b2a;
  --theme-attention-pill: #a87839;
  --theme-attention-pill-text: #ffffff;
  --theme-secondary: #eee7de;
  --theme-secondary-text: #4d3b2a;
  --theme-view-switch: #eee7de;
  --theme-view-switch-border: #cbbba7;
  --theme-view-switch-text: #4d3b2a;
  --theme-view-switch-active: #806344;
  --theme-view-switch-active-text: #ffffff;
  --theme-main-background: #fffdf9;
  --theme-sidebar-background: #f6f0e8;
  --theme-card-background: #ffffff;
  --theme-primary-background: #806344;
  --theme-radius: 6px;
  --theme-card-radius: 8px;
  --theme-shadow-strength: 10;
  background: #eee7de;
}
body[data-interface="ptc"] .dashboard-topbar { border-bottom-color: var(--theme-border-soft); background: var(--theme-topbar); }
body[data-interface="ptc"] .dashboard-sidebar { border-right-color: #d9cbb9; background: #f6f0e8; }
body[data-interface="ptc"] .dashboard-main { background: #fffdf9; }
body[data-interface="ptc"] .website-editor-welcome { border-color: #ddcfbd; background: linear-gradient(135deg, #fff 0%, #f5eee5 100%); }

.dashboard-account-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 32px;
  max-width: 260px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--theme-topbar-text);
  font-size: 0.84rem;
  font-weight: 800;
}

.dashboard-account-button:hover,
.dashboard-account-button[aria-expanded="true"] {
  border-color: var(--theme-nav-border);
  background: var(--theme-topbar-hover);
  color: var(--theme-topbar-text);
}

.dashboard-account-button span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-chevron,
.nav-group-chevron,
.lead-card-chevron {
  box-sizing: border-box;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
}

.account-chevron { flex: 0 0 auto; transform: rotate(45deg); transition: transform 160ms ease; }
.dashboard-account-button[aria-expanded="true"] .account-chevron { transform: rotate(225deg); }

.dashboard-account-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  min-width: 170px;
  padding: 6px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgb(31 37 40 / 16%);
  z-index: 20;
}

.dashboard-account-menu button {
  width: 100%;
  min-height: 36px;
  justify-content: start;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--theme-text);
  text-align: left;
  font-size: 0.86rem;
  font-weight: 750;
}

.dashboard-account-menu button:hover {
  background: #eaf4f5;
  color: var(--theme-heading);
}
.dashboard-account-menu button:has(.nav-attention-pill) { justify-content: space-between; gap: 10px; }

.dashboard-account-menu-divider {
  height: 1px;
  margin: 5px 8px;
  background: var(--theme-border-soft);
}

.dashboard-sidebar {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 18px;
  padding: 24px;
  border-right: 1px solid var(--theme-border-soft);
  background: var(--theme-sidebar-background);
}
.dashboard-sidebar-logos { display: flex; align-items: center; min-height: 58px; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--theme-border-soft); }
.dashboard-sidebar-logo { display: block; width: 150px; max-width: 150px; height: 58px; background: var(--theme-logo-color); mask-position: left center; mask-repeat: no-repeat; mask-size: contain; -webkit-mask-position: left center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; }
.dashboard-sidebar-logos.is-admin .dashboard-sidebar-logo { width: 88px; max-width: 88px; height: 46px; }
.brand-logo-panel { display: grid; gap: 1.25rem; }
.brand-logo-preview { display: grid; place-items: center; justify-self: center; width: min(420px, 100%); aspect-ratio: 1; overflow: hidden; padding: 2rem; border: 1px solid var(--theme-border); border-radius: 12px; background-color: #f8fafb; background-image: linear-gradient(45deg, #e8edef 25%, transparent 25%), linear-gradient(-45deg, #e8edef 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e8edef 75%), linear-gradient(-45deg, transparent 75%, #e8edef 75%); background-size: 24px 24px; background-position: 0 0, 0 12px, 12px -12px, -12px 0; }
.brand-logo-preview img { display: block; width: 50%; max-height: 50%; object-fit: contain; transform-origin: center; filter: drop-shadow(0 3px 12px rgba(20, 40, 48, .12)); }
.brand-logo-scale-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: end; }
.brand-logo-scale-form label { display: grid; gap: 7px; color: var(--theme-label); font-size: .78rem; font-weight: 800; }
.brand-logo-scale-control { display: grid; grid-template-columns: minmax(180px, 1fr) 52px; gap: 12px; align-items: center; }
.brand-logo-scale-control input { width: 100%; }
.brand-logo-scale-control output { color: var(--theme-text); font-weight: 900; text-align: right; }
.brand-logo-upload-zone { margin: 0; }

@media (max-width: 640px) { .brand-logo-scale-form { grid-template-columns: 1fr; } }
.site-colors-panel { display: grid; gap: 24px; }
.site-colors-form { display: grid; gap: 26px; }
.site-color-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.site-color-grid > label { display: grid; gap: 9px; padding: 18px; border: 1px solid var(--theme-border); border-radius: 10px; background: #fff; }
.site-color-grid > label > span:first-child { font-weight: 750; }
.site-color-grid small { color: #708087; line-height: 1.45; }
.site-color-input { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 10px; }
.site-color-input input[type="color"] { width: 54px; height: 44px; border: 1px solid #ccd6da; border-radius: 7px; padding: 3px; background: #fff; cursor: pointer; }
.site-color-input input[type="text"] { min-width: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
@media (max-width: 700px) { .site-color-grid { grid-template-columns: 1fr; } }

.dashboard-sidebar h1 {
  font-size: 1.8rem;
}

body[data-interface="agency"] .dashboard-sidebar {
  border-right: 0;
  background: var(--theme-sidebar-background);
}
body[data-interface="agency"] .sidebar-interface-heading { display: none; }
body[data-interface="agency"] .dashboard-sidebar-logos { border-bottom-color: var(--theme-border-soft); }
body[data-interface="agency"] .sidebar-interface-heading .eyebrow { color: var(--theme-muted); }
body[data-interface="agency"] .sidebar-interface-heading h1 { color: var(--theme-heading); }
body[data-interface="agency"] .dashboard-nav > .nav-button,
body[data-interface="agency"] .nav-group-toggle { color: var(--theme-nav-text); }
body[data-interface="agency"] .nav-group-toggle { justify-content: flex-start; }
body[data-interface="agency"] .dashboard-nav > .nav-button:hover,
body[data-interface="agency"] .nav-group-toggle:hover { border-color: var(--theme-nav-border); color: var(--theme-nav-hover-text); background: var(--theme-nav-hover); }
body[data-interface="agency"] .dashboard-nav > .nav-button.active,
body[data-interface="agency"] .nav-group.active > .nav-group-toggle { border-color: var(--theme-nav-border); color: var(--theme-nav-text); background: var(--theme-nav-active); }
body[data-interface="agency"] .nav-group-chevron { display: none; }
body[data-interface="agency"] .dashboard-nav > .nav-button:has(> .nav-leading-icon) { gap: 10px; }
.nav-leading-icon { display: inline-grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; }
.nav-leading-icon svg { display: block; width: 19px; height: 19px; }
.nav-layer-icon {
  display: block;
  width: 100%;
  height: 100%;
  background: currentColor;
  -webkit-mask: var(--nav-layer-icon) center / contain no-repeat;
  mask: var(--nav-layer-icon) center / contain no-repeat;
}

/* Keep each navigation control as one stable pointer target. Decorative SVG,
   mask, label, and pill layers must never take hover ownership from the button. */
.dashboard-nav button,
.dashboard-context-navigation button {
  cursor: pointer;
  touch-action: manipulation;
}

.dashboard-nav button > *,
.dashboard-nav button svg,
.dashboard-nav button svg *,
.dashboard-context-navigation button > *,
.dashboard-context-navigation button svg,
.dashboard-context-navigation button svg * {
  pointer-events: none;
  cursor: inherit;
}
.nav-group-toggle { gap: 10px; }
.nav-group-toggle > .nav-group-status { margin-left: auto; }

.dashboard-nav {
  display: grid;
  align-content: start;
  gap: 8px;
}
.dashboard-nav-pending { visibility: hidden; }

.nav-button {
  display: inline-flex;
  align-items: center;
  width: 100%;
  justify-content: start;
  min-height: 42px;
  color: var(--theme-text);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0 18px;
  text-align: left;
  font-weight: 800;
  text-decoration: none;
}

.nav-button:hover,
.nav-button.active {
  color: var(--theme-nav-hover-text);
  background: var(--theme-nav-hover);
  border-color: var(--theme-nav-border);
}

.nav-group {
  display: grid;
  gap: 4px;
}

.nav-group-toggle {
  justify-content: space-between;
}

.nav-group-status { display: inline-flex; align-items: center; gap: 8px; }
.nav-group:not(.collapsed) .nav-group-attention-pill { display: none; }

.nav-group.active > .nav-group-toggle {
  color: var(--theme-heading);
  background: var(--theme-nav-active);
  border-color: var(--theme-nav-border);
}

.nav-group-chevron {
  flex: 0 0 auto;
  transform: rotate(45deg);
  transition: transform 160ms ease;
}

.nav-group.collapsed .nav-group-chevron {
  transform: rotate(-45deg);
}

.mobile-page-icon { display: none; }
@media (max-width: 780px) {
  .booking-task { grid-template-columns: 1fr; }
  .booking-task-form { grid-template-columns: 1fr; }
  .booking-task-form .client-notes-field,.booking-task-form .tool-header-actions { grid-column: auto; }
  .dashboard-nav .nav-subbutton { display: flex; align-items: center; gap: 10px; text-align: left; font-weight: 400; }
  .dashboard-nav .nav-subbutton.active { font-weight: 700; }
  .dashboard-nav .mobile-page-icon { display: inline-flex; flex: 0 0 22px; width: 22px; height: 22px; align-items: center; justify-content: center; }
  .dashboard-nav .mobile-page-icon > :is(svg, img) { width: 22px; height: 22px; }
  .dashboard-nav .nav-group.collapsed > .nav-submenu { display: none; }
  .dashboard-nav .nav-subbutton .nav-attention-pill { margin-left: auto; }
}

.nav-submenu {
  display: grid;
  gap: 4px;
  padding-left: 12px;
}

.nav-subbutton {
  min-height: 36px;
  padding-left: 18px;
  font-size: 0.9rem;
  font-weight: 700;
}

@media (min-width: 781px) {
  body[data-interface="agency"] .dashboard { grid-template-columns: 220px minmax(0, 1fr); }
  body[data-interface="agency"] .dashboard-sidebar { margin-top: 0; padding: 18px 16px 24px; }
  body[data-interface="agency"] .dashboard-sidebar { position: relative; z-index: 20; }
  body[data-interface="agency"] .dashboard-sidebar-logos {
    justify-content: center;
    min-width: 0;
    min-height: 86px;
    gap: 14px;
    padding-bottom: 16px;
  }
  body[data-interface="agency"] .dashboard-sidebar-logo {
    width: 174px;
    max-width: 174px;
    height: 72px;
    mask-position: center;
    -webkit-mask-position: center;
  }
  body[data-interface="agency"] .dashboard-sidebar-logos.is-admin .dashboard-sidebar-logo { width: 91px; max-width: 91px; height: 64px; }
  body[data-interface="agency"] .dashboard-nav { gap: 0; }
  body[data-interface="agency"] .nav-group { position: relative; gap: 0; }
  body[data-interface="agency"] .dashboard-nav > .nav-button,
  body[data-interface="agency"] .dashboard-nav > .nav-group > .nav-group-toggle,
  body[data-interface="agency"] .dashboard-nav > .nav-rail-search-button {
    width: calc(100% + 32px);
    margin-inline: -16px;
    min-height: 36px;
    border-radius: 0;
    padding-inline: 28px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
  }
  body[data-interface="agency"] .nav-leading-icon { flex-basis: 21px; width: 21px; height: 21px; }
  body[data-interface="agency"] .nav-leading-icon svg { width: 20px; height: 20px; }
  body[data-interface="agency"] .dashboard-nav > .nav-button:has(> .nav-leading-icon),
  body[data-interface="agency"] .nav-group-toggle { gap: 9px; }
  body[data-interface="agency"] .nav-group-chevron,
  body[data-interface="agency"] .nav-group.collapsed .nav-group-chevron { transform: rotate(-45deg); }
  body[data-interface="agency"] .nav-group-attention-pill:not(.hidden) { display: inline-grid; }
  body[data-interface="agency"] .nav-submenu,
  body[data-interface="agency"] .nav-submenu.hidden {
    position: absolute;
    z-index: 40;
    top: -10px;
    left: calc(100% + 16px);
    display: none;
    width: 230px;
    gap: 0;
    border: 0;
    border-radius: 0;
    padding: 6px;
    background: var(--theme-nav-flyout);
    box-shadow: 0 16px 36px rgb(31 55 62 / 18%);
  }
  body[data-interface="agency"] .nav-group.flyout-open > .nav-submenu { display: grid; }
  body[data-interface="agency"] .nav-group.flyout-open:not(.nav-inline-open) > .nav-submenu::before {
    content: "";
    position: absolute;
    top: 20px;
    left: -9px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-right: 9px solid var(--theme-nav-flyout);
    border-bottom: 8px solid transparent;
    filter: none;
    pointer-events: none;
  }
  body[data-interface="agency"] .nav-group.flyout-align-bottom > .nav-submenu { top: auto; bottom: -10px; }
  body[data-interface="agency"] .nav-subbutton { min-height: 31px; padding: 0 11px; font-size: 14px; line-height: 1.25; }
  body[data-interface="agency"] .nav-group:not(.nav-inline-open) > .nav-submenu .nav-subbutton {
    width: calc(100% + 12px);
    margin-inline: -6px;
    border-radius: 0;
  }
  body[data-interface="agency"] .nav-group.nav-inline-open > .nav-group-toggle,
  body[data-interface="agency"] .nav-group.nav-inline-open > .nav-group-toggle:hover {
    border-color: transparent;
    color: var(--theme-nav-text);
    background: var(--theme-nav-active);
  }
  body[data-interface="agency"] .nav-group.active:not(.nav-inline-open) > .nav-group-toggle:not(:hover) {
    border-color: transparent;
    background: transparent;
  }
  body[data-interface="agency"] .dashboard-nav:has(.nav-group.nav-inline-open) > .nav-button.active:not(:hover) {
    border-color: transparent;
    background: transparent;
  }
  body[data-interface="agency"] .nav-group.nav-inline-open > .nav-submenu,
  body[data-interface="agency"] .nav-group.nav-inline-open > .nav-submenu.hidden {
    position: static;
    display: grid;
    width: calc(100% + 32px);
    margin-inline: -16px;
    border: 0;
    border-radius: 0;
    padding: 4px 16px 7px;
    background: var(--theme-nav-flyout);
    box-shadow: inset 0 1px rgb(255 255 255 / 12%), inset 0 -1px rgb(0 0 0 / 8%);
  }
  body[data-interface="agency"] .nav-group.nav-inline-open > .nav-submenu .nav-subbutton {
    width: calc(100% + 32px);
    margin-inline: -16px;
    border-color: transparent;
    border-radius: 0;
    min-height: 30px;
    padding-inline: 28px;
    color: var(--theme-nav-text);
    background: transparent;
    font-size: 14px;
    font-weight: 450;
    line-height: 1.25;
  }
  body[data-interface="agency"] .nav-group.nav-inline-open > .nav-submenu .nav-subbutton:hover {
    color: var(--theme-nav-hover-text);
    background: transparent;
  }
  body[data-interface="agency"] .nav-group.nav-inline-open > .nav-submenu .nav-subbutton.active {
    position: relative;
    color: var(--theme-nav-text);
    background: transparent;
    font-weight: 850;
  }
  body[data-interface="agency"] .nav-group.nav-inline-open > .nav-submenu .nav-subbutton.active::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-right: 9px solid var(--theme-main);
    border-bottom: 8px solid transparent;
    transform: translateY(-50%);
    pointer-events: none;
  }
}

.nav-subbutton:has(.nav-attention-pill) { justify-content: space-between; gap: 8px; }
.nav-attention-pill { display: inline-grid; place-items: center; min-width: 22px; height: 18px; border-radius: 999px; padding: 0 6px; color: var(--theme-attention-pill-text); background: var(--theme-attention-pill); font-size: .65rem; font-weight: 900; line-height: 1; }

.dashboard-main {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  min-width: 0;
  padding: clamp(24px, 4vw, 44px);
  overflow: visible;
  background: var(--theme-main-background);
}

/* Theme shape applies to workspace controls and content surfaces, never navigation chrome. */
.dashboard-main :is(input, select, textarea, .dropzone, .panel, .panel-subsection, article, fieldset, details, .stat-card, .missing-panel, .announcements-panel, .attention-widget, .tool-card, .support-placeholder-card, .support-ticket-panel, .support-ticket-card, .lead-card, .internal-profile-panel, .benefit-card, .permission-group, .community-event-card, .community-notification, .community-group-card, .community-permission-panel) {
  border-radius: var(--theme-radius);
}

.dashboard-main :is(.stat-card, .missing-panel, .announcements-panel, .attention-widget, .tool-card, .support-placeholder-card, .support-ticket-panel, .support-ticket-card, .resources-panel details, .lead-card, .internal-booking-year-summary article, .internal-profile-panel, .benefit-card, .permission-group, .community-event-card, .community-notification, .community-group-card, .community-permission-panel) {
  border-color: var(--theme-border);
  background-color: var(--theme-card);
}

.dashboard-view {
  display: grid;
  gap: 24px;
  width: 100%;
  max-width: none;
  min-width: 860px;
  justify-self: stretch;
}

.dashboard-view.directory-view {
  max-width: none;
}

.dashboard-view.profile-edit-view,
#add-agent-view,
#agent-levels-view,
#contracts-view,
#remove-agent-view,
#sales-view,
#settings-view {
  max-width: none;
}

.tool-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.tool-header-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; }
.record-breadcrumbs { display: flex; align-items: center; gap: 8px; overflow-x: auto; margin: 0 0 13px; padding-bottom: 8px; border-bottom: 1px solid color-mix(in srgb, var(--theme-soft-border) 60%, transparent); color: var(--theme-muted-text); font-size: .69rem; letter-spacing: .025em; line-height: 1.2; white-space: nowrap; scrollbar-width: thin; }
.record-breadcrumbs button { min-width: 0; min-height: 0; border: 0; border-radius: 0; padding: 1px 0; color: inherit; background: transparent; box-shadow: none; font: inherit; font-weight: 600; opacity: .82; }
.record-breadcrumbs button:hover { color: var(--theme-primary); background: transparent; box-shadow: none; opacity: 1; text-decoration: none; transform: none; }
.record-breadcrumb-separator { color: var(--theme-muted-text); opacity: .38; }
.record-breadcrumb-current { overflow: hidden; max-width: min(48vw, 520px); color: var(--theme-text); font-weight: 650; opacity: .76; text-overflow: ellipsis; }
.client-relationship-results { display: grid; gap: 8px; margin-top: 16px; }
.client-relationship-result { width: 100%; display: grid; grid-template-columns: minmax(180px,1.2fr) minmax(160px,1fr) minmax(180px,1fr) auto; gap: 12px; align-items: center; text-align: left; background: var(--theme-card-background); color: var(--theme-text); box-shadow: 0 0 calc(4px + var(--theme-shadow-strength) * .2px) color-mix(in srgb, var(--theme-text) 8%, transparent), -4px 8px calc(8px + var(--theme-shadow-strength) * .45px) color-mix(in srgb, var(--theme-text) 14%, transparent); }
.client-relationship-result span { color: var(--theme-muted); font-size: .86rem; }
.client-relationship-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 14px 0 20px; }
.client-relationship-summary > div { padding: 14px; border-radius: var(--theme-card-radius); background: var(--theme-card-background); box-shadow: 0 0 calc(4px + var(--theme-shadow-strength) * .2px) color-mix(in srgb, var(--theme-text) 8%, transparent), -4px 8px calc(8px + var(--theme-shadow-strength) * .45px) color-mix(in srgb, var(--theme-text) 14%, transparent); }
.client-relationship-summary dl { display: grid; grid-template-columns: max-content 1fr; gap: 5px 12px; margin: 0; }
.client-relationship-summary dt { font-weight: 700; }
.client-relationship-summary dd { margin: 0; }
.client-relationship-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.client-relationship-form > label:first-child, .client-relationship-confirm { grid-column: 1 / -1; }
.client-relationship-form select[multiple] { min-height: 210px; }
.client-relationship-confirm { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; }
@media (max-width: 780px) { .client-relationship-result,.client-relationship-summary,.client-relationship-form { grid-template-columns: 1fr; } .client-relationship-form > label:first-child,.client-relationship-confirm { grid-column: auto; } .client-relationship-confirm { align-items: stretch; flex-direction: column; } }

.dashboard-home-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(190px, 24vw, 285px);
  margin-bottom: 20px;
  padding: clamp(24px, 4vw, 48px);
  overflow: hidden;
  border-radius: var(--theme-radius);
  color: #fff;
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--theme-primary) 88%, #000) 0%, color-mix(in srgb, var(--theme-primary) 46%, transparent) 65%),
    var(--theme-primary-background);
  background-position: center;
  background-size: cover;
  box-shadow:
    0 0 calc(4px + var(--theme-shadow-strength) * .2px) color-mix(in srgb, var(--theme-text) 8%, transparent),
    -5px 10px calc(10px + var(--theme-shadow-strength) * .5px) color-mix(in srgb, var(--theme-text) 16%, transparent);
}
.dashboard-home-hero.has-dashboard-hero-image {
  background-image:
    linear-gradient(90deg, color-mix(in srgb, #000 62%, transparent), color-mix(in srgb, #000 10%, transparent)),
    var(--dashboard-hero-image);
  background-position: center, var(--dashboard-hero-position, center);
  transition: none;
}
.dashboard-home-hero.has-dashboard-hero-image > .hero-transition-layer { position: absolute; inset: 0; width: 100%; height: 100%; align-self: stretch; z-index: 0; background-size: cover; pointer-events: none; }
.dashboard-home-hero > .dashboard-home-hero-copy { z-index: 2; }
.dashboard-home-hero-copy { position: relative; z-index: 1; align-self: end; }
.dashboard-home-hero .eyebrow,
.dashboard-home-hero h2 { color: #fff !important; text-shadow: 0 2px 12px rgb(0 0 0 / 28%); }
.dashboard-home-hero h2 { margin: 4px 0 0; font-size: clamp(1.8rem, 3.6vw, 3.35rem); }
.dashboard-home-hero-body { max-width: 680px; margin: 12px 0 0; color: #fff; font-size: clamp(.88rem, 1.25vw, 1.05rem); line-height: 1.5; text-shadow: 0 2px 10px rgb(0 0 0 / 38%); }
.dashboard-home-hero-link { display: inline-grid; width: fit-content; min-height: 36px; margin-top: 15px; place-items: center; border: 1px solid rgb(255 255 255 / 72%); border-radius: 6px; padding: 0 14px; color: #fff; background: rgb(0 0 0 / 18%); font-size: .82rem; font-weight: 850; text-decoration: none; backdrop-filter: blur(8px); }
.dashboard-home-hero-link:hover { color: var(--theme-heading); background: #fff; }
.dashboard-home-hero > :not(.dashboard-home-hero-copy):not(.hero-transition-layer) { position: relative; z-index: 2; align-self: start; }
.dashboard-home-hero .secondary { color: #fff; border-color: rgb(255 255 255 / 58%); background: rgb(0 0 0 / 18%); backdrop-filter: blur(8px); }
.dashboard-home-hero .secondary:hover { border-color: #fff; background: rgb(0 0 0 / 34%); }

@media (max-width: 700px) {
  .dashboard-home-hero { min-height: 210px; padding: 24px; align-items: flex-end; }
  .dashboard-home-hero > :not(.dashboard-home-hero-copy):not(.hero-transition-layer) { align-self: end; }
}

.dashboard-carousel-editor { display: grid; gap: 18px; }
.dashboard-carousel-slide-list { display: grid; gap: 12px; }
.dashboard-carousel-slide-card { display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 1.35fr) auto; gap: 14px; align-items: start; padding: 14px; background: var(--theme-card-background); box-shadow: -3px 7px 14px color-mix(in srgb, var(--theme-text) 11%, transparent); }
.dashboard-carousel-slide-card > img { width: 100%; aspect-ratio: 16 / 7; border-radius: max(4px, calc(var(--theme-radius) - 3px)); object-fit: cover; }
.dashboard-carousel-slide-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.dashboard-carousel-slide-fields label { display: grid; gap: 5px; color: var(--theme-label); font-size: .73rem; font-weight: 800; }
.dashboard-carousel-slide-fields input,.dashboard-carousel-slide-fields textarea { width: 100%; }
.dashboard-carousel-copy-field { grid-column: 1 / -1; }
.dashboard-carousel-slide-actions { display: grid; gap: 7px; }
@media (max-width: 980px) { .dashboard-carousel-slide-card { grid-template-columns: 1fr; } .dashboard-carousel-slide-actions { grid-template-columns: repeat(3,auto); justify-content: start; } }

.home-layout-toggle { display: inline-flex; align-items: center; gap: 7px; }
.home-layout-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.home-layout-toggle.active { color: #fff; border-color: var(--theme-primary); background: var(--theme-primary-background); }

.home-widget-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: dense;
  grid-auto-rows: 8px;
  column-gap: 12px;
  row-gap: 0;
  align-items: start;
  justify-items: stretch;
}
.home-widget {
  position: relative;
  min-width: 0;
  width: 100% !important;
  height: auto;
  margin-bottom: 18px;
  align-self: start;
  overflow: visible;
}
.home-widget[data-custom-height="true"] { overflow: auto; }
.home-widget[data-widget-overflow="expand"] { overflow: visible; }
.stats-grid.home-widget,
.stats-grid.home-widget[data-custom-height="true"] { overflow: visible !important; }
.home-widget-hidden { display: none !important; }
.home-layout-actions {
  position: absolute;
  z-index: 12;
  top: 0;
  right: 0;
  display: none;
  justify-content: flex-end;
  gap: 10px;
  border: 1px dashed #aac6ca;
  border-radius: 9px;
  padding: 10px;
  background: #f4f9fa;
}
.home-widget-grid.editing-home-layout .home-layout-actions { display: flex !important; }
.home-widget-inline-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  gap: 8px;
  width: min(430px, calc(100vw - 72px));
  max-height: 420px;
  overflow-y: auto;
  border: 1px solid #cbd9dc;
  border-radius: 10px;
  padding: 12px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(23,63,69,.2);
}
.home-widget-picker { position: relative; }
.home-widget-picker > summary {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  border-radius: 7px;
  padding: 8px 14px;
  color: #fff;
  background: var(--theme-primary-background);
  font-size: .86rem;
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}
.home-widget-picker > summary::-webkit-details-marker { display: none; }
.home-widget-picker:not([open]) .home-widget-inline-menu { display: none; }
.home-header-layout-actions { display: none; align-items: center; gap: 9px; }
.dashboard-view.editing-home-view > .tool-header .home-header-layout-actions { display: flex !important; }
.home-widget-grid.editing-home-layout { padding-top: 0; }
.editing-home-layout .home-widget {
  outline: 2px dashed #8fb9bf;
  outline-offset: 4px;
  overflow: visible;
}
.editing-home-layout .home-widget[data-custom-height="true"] { overflow: auto; }
.editing-home-layout .home-widget[data-widget-overflow="expand"] { overflow: visible; }
.home-widget-controls {
  position: absolute;
  z-index: 8;
  top: 7px;
  right: 7px;
  display: none;
  align-items: center;
  gap: 5px;
  border: 1px solid #c9dadd;
  border-radius: 7px;
  padding: 4px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 5px 14px rgba(23,63,69,.12);
}
.editing-home-layout .home-widget-controls { display: flex; }
.home-widget-controls button { min-height: 28px; height: 28px; padding: 3px 7px; font-size: .75rem; }
.home-widget-drag-handle { cursor: grab; color: var(--theme-primary); background: #edf6f7; }
.home-widget-drag-handle:active { cursor: grabbing; }
.home-widget-remove { color: #9f3d32; border-color: #e4c0bb; background: #fff4f2; }
.home-widget-resize-handle {
  position: absolute;
  z-index: 10;
  right: 4px;
  bottom: 4px;
  display: none;
  place-items: center;
  width: 27px;
  min-width: 27px;
  min-height: 27px;
  border: 1px solid #b9d0d4;
  border-radius: 6px;
  padding: 0;
  color: var(--theme-primary);
  background: rgba(255,255,255,.96);
  cursor: nwse-resize;
  touch-action: none;
}
.editing-home-layout .home-widget-resize-handle { display: grid; }
.home-widget-dragging { opacity: .45; }
.home-widget-dialog {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  justify-content: flex-end;
  padding: 18px;
  background: rgba(18,38,42,.45);
}
.home-widget-dialog-card {
  display: grid;
  align-content: start;
  gap: 16px;
  width: min(460px, calc(100vw - 36px));
  height: 100%;
  overflow-y: auto;
  border-radius: 12px;
  padding: 22px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(16,45,50,.28);
  animation: widget-menu-enter 180ms ease-out;
}
@keyframes widget-menu-enter { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }
.home-widget-catalog { display: grid; gap: 9px; }
.home-widget-catalog-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; text-align: left; }
.home-widget-catalog-item span { font-size: .78rem; opacity: .86; }
.attention-widget {
  display: grid;
  align-content: start;
  gap: 10px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px;
  background: #fff;
}
.attention-widget p { margin: 0; }
.attention-widget > p:not(.eyebrow) { color: var(--theme-muted); line-height: 1.45; }
.attention-widget-count { color: var(--theme-primary); font-size: 2.35rem; line-height: 1; }
.attention-widget > button { align-self: end; justify-self: start; margin-top: auto; }
.home-widget-empty { display: none !important; }
.attention-list { display: grid; gap: 6px; }
.attention-list .empty-state { margin: 0; }
.attention-list-row {
  display: grid;
  grid-template-columns: minmax(2.4ch, auto) 1fr auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 9px 12px;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.attention-list-row:hover, .attention-list-row:focus-visible { border-color: var(--theme-primary); }
.attention-list-row strong { color: var(--theme-primary); font-size: 1.25rem; line-height: 1; font-variant-numeric: tabular-nums; }
.attention-list-row span { min-width: 0; line-height: 1.35; }
.attention-list-arrow { color: var(--theme-muted); }
.missing-data-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 0 0 12px; color: var(--theme-muted); line-height: 1.45; }
.missing-field-summary { display: flex; flex-wrap: wrap; gap: 6px; }
.missing-field-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-radius: 999px;
  padding: 5px 10px;
  color: var(--theme-attention-pill-text);
  background: var(--theme-attention-pill);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
}
.missing-field-chip strong { font-variant-numeric: tabular-nums; }
.missing-field-chip:hover, .missing-field-chip:focus-visible { outline: 2px solid var(--theme-primary); outline-offset: 1px; }
.directory-active-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 14px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 10px 14px;
}
.directory-missing-fields { margin-top: 6px; }

.instagram-home-widget {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
  background: var(--theme-card-background);
  box-shadow: -3px 7px 14px color-mix(in srgb, var(--theme-text) 11%, transparent);
}
.home-instagram-card {
  display: grid;
  gap: 12px;
  color: var(--theme-text);
  text-decoration: none;
}
.home-instagram-card > img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: max(4px, calc(var(--theme-card-radius) - 3px));
  object-fit: cover;
  background: var(--theme-box-background);
}
.home-instagram-content { display: grid; gap: 6px; min-width: 0; }
.home-instagram-content > strong { color: var(--theme-primary); }
.home-instagram-caption {
  display: -webkit-box;
  overflow: hidden;
  color: var(--theme-text);
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.home-instagram-content > small { color: var(--theme-muted); }
.home-instagram-card:hover .home-instagram-content > strong { text-decoration: underline; }

.profile-editor-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
.profile-editor-column { display: grid; gap: 18px; min-width: 0; }
.profile-admin-controls { margin-bottom: 18px; }
.profile-admin-toggle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.profile-admin-toggle-grid .profile-checkbox-field { min-height: 54px; margin: 0; }
.profile-admin-launch-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.profile-admin-launch-grid label { display: grid; gap: 5px; min-width: 0; }
.profile-admin-launch-grid :is(select, input) { width: 100%; min-width: 0; }
.profile-avatar-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 12px;
  padding: 12px 0 0;
}
.profile-media-editors {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}
.profile-media-editors > :only-child { grid-column: 1 / -1; }
.profile-photo-editor { align-content: start; }
.profile-photo-editor .dropzone { min-height: 260px; }
.profile-photo-editor .photo-preview {
  width: min(220px, 80%);
  height: auto;
  aspect-ratio: 1 / 1;
}
.profile-avatar-editor > h2 {
  grid-column: 1 / -1;
  align-self: start;
  color: var(--theme-label);
  font-size: .95rem;
  font-weight: 700;
  line-height: inherit;
}
.profile-avatar-preview {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--theme-box-background);
  box-shadow: -2px 5px 10px color-mix(in srgb, var(--theme-text) 12%, transparent);
  justify-self: center;
}
.profile-avatar-controls { display: grid; justify-items: start; gap: 9px; }
.profile-avatar-controls > small { color: var(--theme-muted); line-height: 1.4; }
.profile-avatar-editor.is-dragover {
  outline: 2px dashed var(--theme-focus);
  outline-offset: -4px;
  background: color-mix(in srgb, var(--theme-primary) 8%, var(--theme-card-background));
}
.profile-content-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  background: var(--theme-card-background);
  box-shadow: -4px 8px calc(8px + var(--theme-shadow-strength) * .45px) color-mix(in srgb, var(--theme-text) 14%, transparent), 0 0 calc(4px + var(--theme-shadow-strength) * .2px) color-mix(in srgb, var(--theme-text) 8%, transparent);
}
.profile-expertise-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-expertise-card > h2 { grid-column: 1 / -1; }

#dashboard-profile-form :is(.profile-content-card > h2, .profile-avatar-editor > h2, .profile-photo-title),
#dashboard-profile-form ~ .password-section h2 {
  margin: 0 0 6px;
  color: var(--theme-eyebrow);
  font-size: .84rem;
  font-weight: 700;
  line-height: inherit;
  text-transform: uppercase;
}
.profile-security-divider {
  width: 100%;
  margin: 6px 0;
  border: 0;
  border-top: 1px solid var(--theme-border);
}

@media (max-width: 780px) {
  .profile-editor-columns { grid-template-columns: minmax(0, 1fr); }
  .profile-media-editors { grid-template-columns: 1fr; }
  .profile-expertise-card { grid-template-columns: 1fr; }
  .profile-expertise-card > h2 { grid-column: auto; }
  .home-widget-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .home-widget { grid-column: span 1 !important; grid-column-start: 1 !important; grid-row: auto; width: 100% !important; height: auto !important; min-height: 180px; }
  .home-layout-actions { flex-wrap: wrap; }
  .home-layout-toggle span { display: none; }
}

.tool-header.compact h2 {
  font-size: 1.1rem;
}

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

.stat-card {
  display: grid;
  gap: 8px;
  min-height: 104px;
  align-content: center;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 16px;
  background: #fbfcfc;
}

.stat-card span {
  color: var(--theme-muted);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.stat-card > span { justify-self: center; text-align: center; }
.booking-period-label #booking-period-toggle { display: inline; min-height: 0; border: 0; border-radius: 0; padding: 0; color: var(--theme-primary); background: transparent; font: inherit; letter-spacing: inherit; text-decoration: none; text-transform: inherit; }
.booking-period-label #booking-period-toggle:hover { color: var(--theme-primary-hover); background: transparent; transform: none; }
.booking-period-label #booking-period-toggle span { color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; }

.stat-card strong {
  font-size: 2.2rem;
  line-height: 1;
  justify-self: center;
  text-align: center;
  white-space: nowrap;
}

.missing-panel {
  display: grid;
  gap: 12px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px;
  background: #ffffff;
  font-size: 0.9rem;
}

.announcements-panel {
  display: grid;
  gap: 12px;
  min-height: 150px;
  align-content: start;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px;
  background: #fbfcfc;
}

.missing-list {
  display: grid;
  gap: 8px;
}

.pagination-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  color: var(--theme-muted);
  font-size: 0.82rem;
}

.pagination-controls span {
  min-width: 140px;
  text-align: center;
}

.home-widget[data-widget-fixed-height="true"] .pagination-controls:not(.hidden) {
  display: grid;
  justify-items: center;
  justify-content: stretch;
  gap: 5px;
}
.home-widget[data-widget-fixed-height="true"] {
  height: 390px !important;
  max-height: 390px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-content: start;
  gap: 12px;
  overflow: hidden !important;
}
.home-widget[data-widget-fixed-height="true"] > .missing-list { min-height: 0; overflow: hidden; align-content: center; padding-block: 6px; }
.home-widget[data-widget-id="agents-on-the-move"],
.home-widget[data-widget-id="agents-missing-data"] { overflow: visible !important; }
.home-widget[data-widget-id="agents-on-the-move"] > .missing-list,
.home-widget[data-widget-id="agents-missing-data"] > .missing-list { overflow: visible; }
.home-widget[data-widget-id="agents-on-the-move"]:has(.leadership-agent-hover:is(:hover, :focus-within)),
.home-widget[data-widget-id="agents-missing-data"]:has(.leadership-agent-hover:is(:hover, :focus-within)) { z-index: 40; }
.home-widget[data-widget-fixed-height="true"] .home-widget-resize-handle { cursor: ew-resize; }
.home-widget[data-widget-fixed-height="true"] .pagination-button-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
  max-width: 300px;
  margin-inline: auto;
}
.home-widget[data-widget-fixed-height="true"] .pagination-button-row button { width: 100%; min-height: 30px; height: 30px; padding: 3px 10px; font-size: .76rem; }

.directory-list {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: 12px;
}

.segmented-control {
  display: inline-grid;
  grid-auto-flow: column;
  justify-content: start;
  width: fit-content;
  border: 1px solid var(--theme-view-switch-border);
  border-radius: var(--theme-radius);
  padding: 3px;
  background: var(--theme-view-switch);
}

.segmented-control button {
  min-height: 34px;
  border-radius: calc(var(--theme-radius) * .65);
  padding: 0 12px;
  color: var(--theme-view-switch-text);
  background: transparent;
}

.segmented-control button:hover,
.segmented-control button.active {
  color: var(--theme-view-switch-active-text);
  background: var(--theme-view-switch-active);
}

.directory-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(5, minmax(120px, 0.32fr)) 80px;
  gap: 12px;
  align-items: end;
}

.directory-page-size-control {
  grid-column: -2 / -1;
  width: 80px;
  justify-self: end;
}

.directory-page-size-control select {
  width: 100%;
}

.pagination-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.pagination-bar span {
  color: var(--theme-description);
  font-weight: 800;
}

.directory-row {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 10px;
  background: #fbfcfc;
}

.directory-row img {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  object-fit: cover;
  background: #ffffff;
  border: 1px solid var(--theme-photo-border);
}

.directory-row p {
  margin: 0;
  color: var(--theme-description);
  font-weight: 600;
  line-height: 1.2;
}

.directory-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
}

.directory-cards {
  min-width: 860px;
  grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
  align-items: stretch;
}

.directory-card {
  position: relative;
  display: grid;
  grid-template-rows: 150px 1fr;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  contain: layout paint;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfc;
}

.directory-card > div:not(.directory-card-media) {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.directory-details {
  min-width: 0;
}

.directory-card strong,
.directory-card p {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.directory-card-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.directory-row-title {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 6px;
  align-items: center;
}

.row-agency-stack {
  grid-column: 3;
  justify-self: end;
  display: grid;
  gap: 1px;
  line-height: 1.1;
  text-align: right;
}

.row-agency-stack .directory-years-active {
  justify-self: end;
}

.directory-name-stack,
.table-name-title {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.directory-status-pill {
  display: inline-block;
  width: fit-content;
  padding: 4px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-primary, #207b83) 16%, white);
  color: var(--theme-primary, #207b83);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.directory-status-pill.is-inactive {
  background: var(--theme-surface-strong, #eee);
  color: var(--theme-muted, #666);
}

.directory-row.directory-has-status {
  padding-bottom: 32px;
}

.directory-row > .directory-status-pill {
  position: absolute;
  right: 10px;
  bottom: 9px;
}

.directory-card.directory-has-status {
  padding-bottom: 40px;
}

.directory-card > .directory-status-pill {
  position: absolute;
  left: 12px;
  bottom: 12px;
}

.title-line {
  color: var(--theme-muted);
  font-size: 0.84rem;
  font-weight: 400;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.level-badge {
  display: inline-block;
  border: 0;
  border-radius: 999px;
  padding: 4px 8px;
  color: #244047;
  background: #e4ecee;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
}

.level-planner {
  color: #174545;
  background: #d7f1ee;
}

.level-senior {
  color: #553b10;
  background: #ffe6b5;
}

.level-gold {
  color: #62430a;
  background: #ffdb7d;
}

.level-diamond {
  color: #173f68;
  background: #dcecff;
}

.social-links {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 7px;
  align-self: end;
  min-height: 26px;
  padding-top: 6px;
}

.directory-agency-text {
  color: var(--theme-description);
  font-weight: 400;
}

.agency-text-pixie,
.agency-text-pixie-travel,
.agency-text-pixie-travel-co {
  color: #4ba6bb;
}

.agency-text-ptc {
  color: #c7942e;
}

.social-links a {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid #cfd9dc;
  border-radius: 999px;
  color: #395058;
  background: #ffffff;
}

.social-links a:hover {
  color: #ffffff;
  background: var(--theme-primary-background);
  border-color: var(--theme-primary);
}

.social-links svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.social-links a[aria-label*="Facebook"] svg,
.social-links a[aria-label*="TikTok"] svg,
.social-links a[aria-label*="X"] svg {
  fill: currentColor;
  stroke: none;
}

.directory-card-media,
.directory-card > img {
  display: block;
  width: 100%;
  height: 150px;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--theme-photo-border);
  border-radius: 6px;
  object-fit: cover;
  object-position: center;
  background: #ffffff;
}

.directory-card-media {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.directory-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
}

.directory-card p {
  margin: 6px 0 0;
  color: var(--theme-description);
  font-weight: 400;
}

.card-agency-block {
  display: grid;
  gap: 7px;
}

.card-agency-block .directory-agency-text {
  display: grid;
  gap: 7px;
}

.card-agency-block .directory-agency-text::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--theme-border-soft);
}

.directory-row a,
.directory-card a,
.directory-table a {
  color: var(--theme-primary);
  text-decoration: none;
}

.directory-row a:hover,
.directory-card a:hover,
.directory-table a:hover {
  text-decoration: underline;
}

.directory-public-profile-link { color: inherit !important; font-weight: inherit; text-underline-offset: 3px; }

.directory-contact-stack {
  display: grid;
  gap: 2px;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.25;
}

.directory-detail-line {
  color: var(--theme-muted);
  font-size: inherit;
  font-weight: 400;
}

.directory-years-active {
  align-self: end;
  justify-self: end;
  color: var(--theme-muted);
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.2;
  text-align: right;
}

.directory-row .directory-years-active {
  margin-top: 0;
  font-size: 0.76rem;
}

.directory-table .years-active-column {
  text-align: center;
}

.directory-table th.years-active-column .directory-column-button {
  text-align: center;
}

.directory-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  background: var(--theme-card-background);
}

.directory-column-toolbar {
  position: sticky;
  left: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--theme-border);
  padding: 10px 12px;
  background: var(--theme-card-background);
}

.directory-export-toolbar {
  position: sticky;
  left: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--theme-border);
  padding: 10px 12px;
  background: var(--theme-card-background);
}

.directory-visible-count {
  margin-left: auto;
}

.directory-table-hint {
  color: var(--theme-muted);
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.2;
}

.directory-export-toolbar span {
  color: var(--theme-label);
  font-size: 0.86rem;
  font-weight: 800;
}

.directory-export-toolbar .directory-table-hint {
  color: var(--theme-muted);
  font-size: 0.76rem;
  font-weight: 500;
}

.directory-export-toolbar button {
  min-height: 34px;
  padding: 0 12px;
  font-size: 0.86rem;
}

.directory-column-selection-label {
  color: var(--theme-label);
  font-size: 0.86rem;
  font-weight: 800;
}

.directory-column-hint {
  color: var(--theme-muted);
  font-size: 0.8rem;
  font-weight: 500;
}

.directory-column-toolbar button {
  min-height: 34px;
  padding: 0 12px;
  font-size: 0.86rem;
}

.directory-table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.directory-table th,
.directory-table td {
  border-bottom: 1px solid var(--theme-border-soft);
  padding: 10px 12px;
  text-align: left;
  vertical-align: middle;
}

.directory-table th {
  color: var(--theme-muted);
  background: var(--theme-card-background);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.directory-column-button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: auto;
  border-radius: 4px;
  padding: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  text-transform: inherit;
}

.directory-column-button:hover {
  color: var(--theme-primary);
  background: transparent;
  text-decoration: underline;
}

.directory-sort-indicator {
  color: var(--theme-primary);
  font-size: 0.78rem;
  line-height: 1;
}

.directory-table .selected-column {
  background: #e8f4f6;
}

.directory-table th.selected-column {
  color: var(--theme-heading);
  background: #d8edf1;
}

.directory-table tr:last-child td {
  border-bottom: 0;
}

.directory-table img {
  width: 34px;
  height: 34px;
  border-radius: 5px;
  object-fit: cover;
  border: 1px solid var(--theme-photo-border);
  background: #ffffff;
}


.missing-row {
  display: grid;
  grid-template-columns: minmax(130px, max-content) minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  border-top: 1px solid var(--theme-border-soft);
  padding-top: 8px;
  font-size: 0.86rem;
}

.missing-row:first-child {
  border-top: 0;
  padding-top: 0;
}

/* List entries use straight dividers; they are not standalone rounded surfaces. */
.dashboard-main :is(.missing-row, .leaderboard-row) {
  border-radius: 0 !important;
}

.missing-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.missing-fields span {
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--theme-attention-pill-text);
  background: var(--theme-attention-pill);
  font-size: 0.76rem;
  font-weight: 500;
}

.home-contract-row > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.home-contract-row .missing-fields {
  align-items: center;
}

.empty-state {
  margin: 0;
  color: var(--theme-muted);
  font-weight: 700;
}

.empty-state.is-loading {
  display: flex;
  align-items: center;
  gap: 10px;
}

.empty-state.is-loading .pixie-wing-loader {
  width: 24px;
  height: 29px;
}

@media (prefers-reduced-motion: reduce) {
  .pixie-wing-loader-body,
  .pixie-wing-left,
  .pixie-wing-right {
    animation: none !important;
  }
}

.tool-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.tool-card {
  display: grid;
  gap: 8px;
  width: 100%;
  min-height: 126px;
  place-items: start;
  align-content: start;
  color: var(--theme-text);
  background: #fbfcfc;
  border: 1px solid var(--theme-border);
  text-align: left;
  text-decoration: none;
  padding: 18px;
}

.tool-card:hover {
  background: #eef7f8;
}

.tool-card span {
  font-size: 1.05rem;
  font-weight: 900;
}

.tool-card small {
  color: var(--theme-description);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.35;
}

.business-card-workspace {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.business-card-controls {
  background: #fbfcfc;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 16px;
}

.business-card-preview-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.business-card-template-note {
  color: var(--theme-muted);
  font-size: 0.86rem;
  font-weight: 700;
}

.business-card-preview {
  position: relative;
  container-type: inline-size;
  aspect-ratio: 1085 / 635;
  width: min(100%, 860px);
  overflow: hidden;
  color: var(--card-gray, #96989a);
  background: var(--card-bg, #ffffff);
  border: 1px solid #cfd9dd;
  border-radius: 4px;
  box-shadow: 0 12px 28px rgba(31, 37, 40, 0.12);
}

.business-card-background {
  position: absolute;
  inset: 0;
  background-image: var(--card-background-image);
  background-size: cover;
}

.business-card-background::before {
  content: none;
}

.business-card-brand {
  position: absolute;
  left: 7.2%;
  top: 13.2%;
  max-width: 86%;
  color: var(--card-blue, #a0c1e6);
  font-family: "BusinessCardSerif", Georgia, serif;
  font-size: clamp(1.45rem, 6.91cqw, 4.7rem);
  font-weight: 400;
  line-height: 0.92;
  text-transform: uppercase;
  letter-spacing: 0;
  white-space: nowrap;
}

.business-card-brand-subtitle {
  position: absolute;
  left: 7.3%;
  top: 25.2%;
  max-width: 45%;
  color: var(--card-gray, #96989a);
  font-family: "BusinessCardSerif", Georgia, serif;
  font-size: clamp(0.88rem, 3.84cqw, 2.62rem);
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0;
}

.business-card-live-text {
  position: absolute;
  left: 7.3%;
  top: 46.3%;
  right: 34%;
  display: grid;
  gap: 0;
}

.business-card-live-text strong,
.business-card-live-text > span:first-of-type {
  display: none;
}

.business-card-live-text b {
  color: var(--card-gray, #96989a);
  font-family: "BusinessCardSerif", Georgia, serif;
  font-size: clamp(1.16rem, 5.38cqw, 3.64rem);
  font-weight: 400;
  line-height: 1;
}

.business-card-live-text span {
  overflow-wrap: anywhere;
  color: var(--card-blue, #a0c1e6);
  font-family: "BusinessCardSans", Arial, sans-serif;
  font-size: clamp(0.72rem, 3.07cqw, 2.08rem);
  font-weight: 400;
  line-height: 1.14;
}

.business-card-social-row {
  position: absolute;
  left: 7.3%;
  right: 18%;
  bottom: 10.6%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 5.2%;
  color: var(--card-blue, #a0c1e6);
  font-family: "BusinessCardSans", Arial, sans-serif;
  font-size: clamp(0.72rem, 3.07cqw, 2.08rem);
  line-height: 1;
}

.business-card-social-row span {
  display: flex;
  align-items: center;
  min-width: 0;
  overflow-wrap: anywhere;
}

.business-card-social-row span:empty {
  display: none;
}

.business-card-social-row span::before {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 1.16em;
  height: 1.16em;
  margin-right: 0.34em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

#business-card-preview-facebook::before {
  background-image: url("/assets/business-card/fb.svg");
}

#business-card-preview-instagram::before {
  background-image: url("/assets/business-card/ig.svg");
}

.business-card-butterfly {
  position: absolute;
  right: 9.6%;
  bottom: 10%;
  width: 10.8%;
  aspect-ratio: 0.72;
  background: url("/assets/business-card/wings.svg") center / contain no-repeat;
}

.leaderboard-panel {
  display: grid;
  gap: 12px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px;
  background: #ffffff;
}

.leaderboard-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.leaderboard-year-control { position: relative; }
.leaderboard-year-button {
  display: inline-grid;
  place-items: center;
  width: 32px;
  min-height: 32px;
  border: 1px solid var(--theme-input-border);
  border-radius: 7px;
  padding: 6px;
  color: var(--theme-primary);
  background: var(--theme-input);
}
.leaderboard-year-button:hover { border-color: var(--theme-primary); background: var(--theme-secondary); }
.leaderboard-year-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.leaderboard-year-control select {
  position: absolute;
  z-index: 5;
  top: 38px;
  right: 0;
  width: 132px;
  min-height: 42px;
  border: 1px solid var(--theme-input-border);
  border-radius: 7px;
  padding: 9px 32px 9px 12px;
  line-height: 1.3;
  color: var(--theme-text);
  background-color: var(--theme-input);
  box-shadow: 0 10px 24px rgba(23, 63, 69, .14);
}

.overview-leaderboard-section { display: grid; gap: 14px; }
.overview-leaderboards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.lifetime-leaderboard-panel { grid-column: 1 / -1; }
.monthly-leaderboard-controls { display: flex; gap: 7px; align-items: center; }
.monthly-leaderboard-controls select { width: auto; min-width: 82px; }
.overview-highlight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(380px, .65fr);
  gap: 18px;
  align-items: start;
}
.home-leaderboard-panel { padding: 14px 18px; }
.home-leaderboard-list { grid-template-columns: 1fr; gap: 0; padding-bottom: 7px; }
.home-widget[data-widget-id="ytd-top-ten"][data-widget-columns="2"] .home-leaderboard-list,
.home-widget[data-widget-id="ytd-top-ten"][data-widget-columns="3"] .home-leaderboard-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  column-gap: 20px;
}
.home-leaderboard-list .leaderboard-row,
.home-leaderboard-list .leaderboard-row:first-child {
  border-top: 0;
}
.home-widget[data-widget-id="ytd-top-ten"][data-widget-columns="2"] .leaderboard-row-compact:nth-child(6),
.home-widget[data-widget-id="ytd-top-ten"][data-widget-columns="3"] .leaderboard-row-compact:nth-child(6) {
  border-top: 0;
  padding-top: 0;
}
@media (max-width: 780px) {
  .home-widget[data-widget-id="ytd-top-ten"] .home-leaderboard-list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
  }
  .home-widget[data-widget-id="ytd-top-ten"] .leaderboard-row-compact:nth-child(6) {
    border-top: 0;
    padding-top: 0;
  }
}
.leaderboard-row-compact {
  grid-template-columns: 28px 30px minmax(0, 1fr) minmax(92px, auto);
  gap: 8px;
  padding-top: 0;
}
.leaderboard-row-compact img { width: 30px; height: 30px; }
.leaderboard-row-compact .leaderboard-agent-meta { display: none; }
.leaderboard-row-compact .leaderboard-agent > .leadership-agent-hover > .leadership-agent-link { font-size: .9rem; }
.leaderboard-row-compact .leaderboard-sales strong { font-size: .9rem; }
.vendor-ranking-export-row { display: flex; justify-content: flex-end; }

@media (max-width: 1100px) {
  .overview-leaderboards { grid-template-columns: 1fr; }
  .overview-highlight-grid { grid-template-columns: 1fr; }
}

.leaderboard-list {
  display: grid;
  gap: 10px;
}

.leaderboard-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding-top: 8px;
  color: var(--theme-muted);
  font-size: .82rem;
  font-weight: 700;
  text-align: center;
}
.leaderboard-pagination:empty { display: none; }
.leaderboard-pagination button { min-width: 80px; }
@media (max-width: 480px) {
  .leaderboard-pagination { gap: 8px; flex-wrap: wrap; }
}

.leaderboard-row {
  display: grid;
  grid-template-columns: 52px 46px minmax(0, 1fr) minmax(150px, auto);
  gap: 12px;
  align-items: center;
  border-top: 1px solid var(--theme-border-soft);
  padding-top: 10px;
}

.leaderboard-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.leaderboard-rank {
  color: var(--theme-primary);
  font-size: 1rem;
}

.leaderboard-row img {
  width: 46px;
  height: 46px;
  border: 1px solid var(--theme-photo-border);
  border-radius: 7px;
  object-fit: cover;
  background: #ffffff;
}

.leaderboard-row img.is-placeholder {
  background: #eef2f3;
}

.leaderboard-photo-hover {
  display: block;
  width: 46px;
  height: 46px;
  cursor: default;
  line-height: 0;
}

.leaderboard-photo-hover:focus-visible {
  border-radius: 7px;
  outline: 2px solid #2d747d;
  outline-offset: 2px;
}

.leaderboard-photo-hover .leadership-agent-preview { line-height: 1.35; }
.leaderboard-photo-hover .leadership-agent-preview .directory-card-title { line-height: 1.2; }

.leaderboard-row-compact .leaderboard-photo-hover { width: 30px; height: 30px; }

.leaderboard-agent,
.leaderboard-sales {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.leaderboard-agent span,
.leaderboard-sales span {
  color: var(--theme-muted);
  font-size: 0.82rem;
  font-weight: 600;
}

.leaderboard-agent-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.leaderboard-agent > .leadership-agent-hover > .leadership-agent-link { font-size: .95rem; font-weight: 700; }

.leaderboard-agent-meta .level-badge {
  max-width: none;
  padding: 1px 5px;
  font-size: .58rem;
  font-weight: 700;
}

.leaderboard-agent-meta .leaderboard-tenure {
  color: var(--theme-muted);
  font-size: .68rem;
  font-weight: 700;
  white-space: nowrap;
}

.leaderboard-sales {
  justify-items: end;
  text-align: right;
}

.leaderboard-sales strong {
  font-size: 1.05rem;
}

.sales-tool-panel {
  display: grid;
  gap: 18px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px;
  background: #ffffff;
}

.sales-tool-intro {
  display: grid;
  gap: 8px;
}

.data-updated-label {
  margin: 4px 0 0;
  color: #7b898e;
  font-size: .72rem;
  font-weight: 650;
}

.internal-agent-profile-content { display: grid; gap: 18px; }
.internal-profile-status.is-active { color: #16834f; }
.internal-profile-status.is-inactive { color: #a9342d; }
.internal-profile-actions { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: -4px; }
.internal-profile-actions .danger { border-color: #b45a57; color: #983f3c; background: #fff5f4; }
.internal-profile-actions .danger:hover, .internal-profile-actions .danger:focus-visible { border-color: #983f3c; color: #fff; background: #983f3c; }
.internal-profile-hero { display: grid; grid-template-columns: 150px minmax(0, 1fr) minmax(220px, auto); align-items: center; gap: 22px; border: 1px solid #d7e1e3; border-radius: 12px; padding: 22px; background: linear-gradient(135deg, #fff 0%, #f5f9f9 100%); }
.internal-profile-hero > img { width: 150px; height: 150px; border: 1px solid #d6dfe1; border-radius: 10px; object-fit: cover; background: #eef2f3; box-shadow: 8px 8px 0 rgba(160, 192, 229, .5); }
.internal-profile-identity { display: grid; align-content: center; gap: 7px; min-width: 0; }
.internal-profile-identity h1 { margin: 0; color: var(--theme-heading); font-size: clamp(1.65rem, 3vw, 2.45rem); line-height: 1.05; }
.internal-profile-title { margin: 0; color: #65747a; font-size: .95rem; line-height: 1.4; }
.internal-profile-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 5px; }
.internal-profile-tag { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; color: var(--theme-text); background: #e8eef0; font-size: .67rem; font-weight: 850; }
.internal-profile-tag.is-positive { color: #11653d; background: #def5e8; }
.internal-profile-tag.is-accent { color: #775211; background: #fff0c9; }
.internal-profile-tag.is-muted { color: #6b7478; background: #eceff0; }
.internal-profile-hero-contact { display: grid; align-content: center; gap: 9px; border-left: 1px solid #dce4e6; padding-left: 22px; }
.internal-profile-hero-contact > * { display: grid; gap: 2px; color: #29464d; text-decoration: none; }
.internal-profile-hero-contact small { color: #7a898e; font-size: .64rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.internal-profile-hero-contact strong { font-size: .82rem; overflow-wrap: anywhere; }
.internal-profile-socials { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: 8px; border-top: 1px solid var(--theme-border-soft); padding-top: 11px; }
.internal-profile-socials > a { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: var(--theme-primary); text-decoration: none; transition: color .15s ease, transform .15s ease; }
.internal-profile-socials > a:hover { color: var(--theme-primary-hover); transform: translateY(-1px); }
.internal-profile-socials svg { width: 24px; height: 24px; fill: currentColor; stroke: currentColor; stroke-width: 1.7; }
.internal-profile-socials a[aria-label*="Instagram"] svg { fill: none; }
.internal-profile-socials a[aria-label*="Instagram"] svg circle:last-child { fill: currentColor; stroke: none; }
.internal-profile-socials a[aria-label*="Facebook"] svg,
.internal-profile-socials a[aria-label*="TikTok"] svg,
.internal-profile-socials a[aria-label*="X"] svg { stroke: none; }
.internal-profile-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.internal-profile-stats article,
.internal-booking-year-summary article { display: grid; gap: 4px; border: 1px solid var(--theme-border-soft); border-radius: 9px; padding: 15px; background: #fff; }
.internal-profile-stats span,
.internal-booking-year-summary span { color: var(--theme-muted); font-size: .69rem; font-weight: 800; letter-spacing: .02em; }
.internal-profile-stats strong,
.internal-booking-year-summary strong { color: var(--theme-heading); font-size: 1.25rem; }
.internal-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.internal-profile-recognition { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.internal-profile-panel { display: grid; align-content: start; gap: 15px; border: 1px solid #d7e1e3; border-radius: 10px; padding: 18px; background: #fff; }
.internal-profile-peer-overview { grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); }
.internal-profile-peer-vendors { width: 100%; }
.internal-profile-peer-bio { border-top: 0; padding-top: 0; }
.internal-profile-panel-heading { display: grid; gap: 4px; }
.internal-profile-panel-heading h2 { margin: 0; color: var(--theme-heading); font-size: 1.03rem; }
.internal-profile-panel-heading p { margin: 0; color: #76858a; font-size: .76rem; }
.internal-profile-activity-summary { display: grid; }
.internal-profile-activity-summary > article { display: grid; gap: 5px; border-bottom: 1px solid var(--theme-border-soft); padding: 11px 0; }
.internal-profile-activity-summary > article[role="link"] { cursor: pointer; border-radius: 8px; transition: background-color .16s ease, transform .16s ease; }
.internal-profile-activity-summary > article[role="link"]:hover, .internal-profile-activity-summary > article[role="link"]:focus-visible { background: color-mix(in srgb, var(--theme-primary) 8%, transparent); outline: none; transform: translateX(2px); }
.internal-profile-activity-summary > article[role="link"]:hover strong, .internal-profile-activity-summary > article[role="link"]:focus-visible strong { color: var(--theme-primary); }
.internal-profile-activity-summary > article:first-child { padding-top: 0; }
.internal-profile-activity-summary > article:last-child { border-bottom: 0; padding-bottom: 0; }
.internal-profile-activity-summary > article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.internal-profile-activity-summary strong { color: var(--theme-heading); font-size: .86rem; }
.internal-profile-activity-summary p { margin: 0; color: var(--theme-muted); font-size: .74rem; line-height: 1.5; }
.internal-profile-activity-total { min-width: 34px; border-radius: 999px; padding: 3px 9px; color: var(--theme-attention-pill-text); background: var(--theme-attention-pill); font-size: .7rem; font-weight: 850; text-align: center; }
.booking-edit-form input[readonly] { cursor: default; background: color-mix(in srgb, var(--theme-primary) 7%, #fff); color: var(--theme-heading); font-weight: 800; }
.booking-vendor-row { display: flex; grid-column: span 2; align-items: end; gap: 10px; min-width: 0; }
.booking-vendor-row label { flex: 1 1 auto; min-width: 0; margin: 0; }
.booking-vendor-row button { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 900px) { .booking-vendor-row { grid-column: 1 / -1; } }
.booking-task-list { display: grid; gap: 8px; }
.booking-task { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--theme-border-soft); }
.booking-task:last-child { border-bottom: 0; }
.booking-task > div { display: grid; gap: 2px; }
.booking-task small { color: var(--theme-muted); }
.booking-task.is-complete strong { color: var(--theme-muted); text-decoration: line-through; }
.booking-task-form { margin: 12px 0 18px; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 16px; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius,12px); background: var(--theme-field-background); }
.booking-task-form .client-notes-field,.booking-task-form .tool-header-actions { grid-column: 1 / -1; }
.booking-task-table-wrap { width: 100%; overflow-x: auto; }
.booking-task-table { min-width: 920px; }
.booking-task-table th:first-child,.booking-task-table td:first-child { width: 42px; text-align: center; }
.booking-task-table th:last-child,.booking-task-table td:last-child { width: 112px; }
.booking-task-table td:nth-child(2) { min-width: 190px; }
.booking-task-table td:nth-child(2) > strong,.booking-task-table td:nth-child(2) > small,.booking-task-table td:nth-child(2) > a { display: block; }
.booking-task-table td:nth-child(2) > small,.booking-task-table td:nth-child(2) > a { margin-top: 3px; }
.booking-task-table td:nth-child(2) small { max-width: 340px; overflow: hidden; color: var(--theme-muted); text-overflow: ellipsis; white-space: nowrap; }
.booking-task-table tr.is-complete td:nth-child(2) strong { color: var(--theme-muted); text-decoration: line-through; }
.booking-task-table input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--theme-primary); cursor: pointer; }
.task-table-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.task-delete-button { display: inline-grid; width: 30px; min-width: 30px; height: 30px; min-height: 30px; padding: 6px; place-items: center; }
.task-delete-button img { width: 16px; height: 16px; opacity: .68; }
.task-delete-button:hover img { opacity: 1; }
.task-status { display: inline-flex; border-radius: 999px; padding: 3px 8px; color: var(--theme-toggle-active-knob); background: var(--theme-toggle-active); font-size: .66rem; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.task-status-completed { color: var(--theme-secondary-text); background: var(--theme-secondary); }
.task-status-canceled { color: var(--theme-attention-pill-text); background: var(--theme-attention-pill); }
.task-status-cancelled { color: var(--theme-attention-pill-text); background: var(--theme-attention-pill); }
.global-task-dialog { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 20px; background: rgba(28, 35, 38, .45); }
.global-task-dialog.hidden { display: none; }
.global-task-dialog-card { width: min(700px, 100%); max-height: min(90vh, 900px); overflow: auto; }
.global-task-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.global-task-form #global-task-trip-search { margin-bottom: 7px; }
.global-task-form #global-task-trip-select { width: 100%; }
.task-trip-context { grid-column: 1 / -1; margin: 0; color: var(--theme-muted); font-size: .86rem; }
.global-task-form .client-notes-field, .global-task-form .tool-header-actions { grid-column: 1 / -1; }
.my-tasks-widget-list { display: grid; gap: 9px; padding-top: 12px; }
.my-tasks-widget-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 3px 10px; padding: 9px 3px; border-bottom: 1px solid var(--theme-border-color, #dce2e5); }
.my-tasks-widget-item span { flex: 1; min-width: 0; }
.my-tasks-widget-item small { white-space: nowrap; }
.my-tasks-widget-trip { grid-column: 1 / -1; width: fit-content; font-size: .78rem; }
@media (max-width: 640px) { .global-task-form { grid-template-columns: 1fr; } }
.internal-profile-tenure { margin: 0; color: var(--theme-muted); font-size: .76rem; font-weight: 700; }
.internal-profile-copy { margin: 0; border-top: 1px solid #e5ebed; padding-top: 13px; color: #53666c; font-size: .82rem; line-height: 1.55; white-space: pre-line; }
.internal-profile-activity-list { display: grid; gap: 0; }
.internal-profile-activity-link { display: grid; gap: 3px; border-bottom: 1px solid var(--theme-border-soft); padding: 0 0 11px; color: var(--theme-text); text-decoration: none; }
.internal-profile-activity-link + .internal-profile-activity-link { padding-top: 11px; }
.internal-profile-activity-link:last-child { border-bottom: 0; padding-bottom: 0; }
.internal-profile-activity-link strong { color: var(--theme-heading); font-size: .8rem; }
.internal-profile-activity-link small { color: var(--theme-muted); font-size: .67rem; font-weight: 750; }
.internal-profile-activity-link span { display: -webkit-box; overflow: hidden; color: var(--theme-text); font-size: .74rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.internal-profile-activity-link:hover strong { color: var(--theme-primary); }
.community-linked-highlight { animation: community-linked-highlight 2.6s ease; }
@keyframes community-linked-highlight { 0%, 75% { box-shadow: 0 0 0 3px var(--theme-primary); } 100% { box-shadow: none; } }
.internal-profile-definition-list { display: grid; gap: 9px; margin: 0; }
.internal-profile-definition-list > div { display: grid; grid-template-columns: minmax(110px, .65fr) minmax(0, 1fr); gap: 12px; border-bottom: 1px solid var(--theme-border-soft); padding-bottom: 8px; }
.internal-profile-definition-list > div:last-child { border-bottom: 0; padding-bottom: 0; }
.internal-profile-definition-list dt { color: var(--theme-muted); font-size: .7rem; font-weight: 800; }
.internal-profile-definition-list dd { margin: 0; color: #2e474e; font-size: .78rem; font-weight: 650; overflow-wrap: anywhere; }
.internal-profile-timeline { display: grid; gap: 0; }
.internal-profile-timeline > div { position: relative; display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 10px; min-height: 50px; }
.internal-profile-timeline > div:not(:last-child)::before { position: absolute; top: 13px; bottom: -3px; left: 5px; width: 2px; background: #cbdcdf; content: ""; }
.internal-profile-timeline i { position: relative; z-index: 1; width: 12px; height: 12px; margin-top: 2px; border: 3px solid #d9eeee; border-radius: 50%; background: var(--theme-primary-background); }
.internal-profile-timeline .is-missing i { border-color: #edf0f1; background: #b9c2c5; }
.internal-profile-timeline span { display: grid; align-content: start; gap: 3px; }
.internal-profile-timeline strong { color: var(--theme-text); font-size: .78rem; }
.internal-profile-timeline small { color: var(--theme-muted); font-size: .71rem; }
.internal-booking-controls { display: flex; justify-content: flex-end; }
.internal-booking-controls label { display: grid; gap: 5px; color: #63747a; font-size: .7rem; font-weight: 800; }
.internal-booking-details { display: grid; gap: 14px; }
.internal-booking-year-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.internal-booking-months { display: grid; grid-template-columns: repeat(12, minmax(58px, 1fr)); gap: 6px; }
.internal-booking-months > span { display: grid; gap: 3px; border-radius: 7px; padding: 9px 6px; text-align: center; background: #f2f6f7; }
.internal-booking-months small { color: #7c898e; font-size: .62rem; font-weight: 800; }
.internal-booking-months strong { color: #28474e; font-size: .7rem; }
.internal-booking-vendors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 20px; }
.internal-booking-vendors h3 { grid-column: 1 / -1; margin: 0 0 3px; color: var(--theme-text); font-size: .78rem; }
.internal-booking-vendors > div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--theme-border-soft); padding: 6px 0; color: #5d6d72; font-size: .74rem; }
.internal-achievement-list,
.internal-simple-list { display: grid; gap: 9px; }
.internal-benefits-list { display: grid; gap: 9px; margin: 0; padding-left: 20px; list-style: disc; }
.internal-benefits-list li { padding-left: 2px; color: var(--theme-primary); }
.internal-benefits-list li strong { color: var(--theme-text); font-size: .77rem; }
.internal-benefits-list li small { display: block; margin-top: 2px; color: var(--theme-muted); font-size: .68rem; }
.internal-achievement-list article { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 9px; }
.internal-achievement-icon { display: grid; width: 32px; height: 32px; place-items: center; }
.internal-achievement-icon svg,
.internal-achievement-icon img { width: 27px; height: 27px; object-fit: contain; }
.internal-achievement-list article > div,
.internal-simple-list > div { display: grid; gap: 2px; }
.internal-achievement-list strong,
.internal-simple-list strong { color: var(--theme-text); font-size: .77rem; }
.internal-achievement-list small,
.internal-simple-list span { color: var(--theme-muted); font-size: .68rem; }
.internal-profile-admin-panel { border-color: #dfc37f; background: #fffaf0; }
.internal-profile-admin-panel > div:not(.internal-profile-panel-heading) { display: grid; gap: 5px; }
.internal-profile-admin-panel > div > strong { color: #705622; font-size: .72rem; }
.internal-profile-admin-panel > div > p { margin: 0; color: #6d6250; font-size: .76rem; line-height: 1.5; white-space: pre-line; }

@media (max-width: 1050px) {
  .internal-profile-hero { grid-template-columns: 120px minmax(0, 1fr); }
  .internal-profile-hero > img { width: 120px; height: 120px; }
  .internal-profile-hero-contact { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #dce4e6; border-left: 0; padding-top: 14px; padding-left: 0; }
  .internal-profile-recognition { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-booking-months { grid-template-columns: repeat(6, minmax(58px, 1fr)); }
}
@media (max-width: 700px) {
  .internal-profile-hero { grid-template-columns: 86px minmax(0, 1fr); padding: 16px; }
  .internal-profile-hero > img { width: 86px; height: 86px; box-shadow: 5px 5px 0 rgba(160, 192, 229, .5); }
  .internal-profile-hero-contact,
  .internal-profile-stats,
  .internal-profile-grid,
  .internal-profile-peer-overview,
  .internal-profile-recognition,
  .internal-booking-year-summary { grid-template-columns: 1fr; }
  .internal-booking-months { grid-template-columns: repeat(3, minmax(58px, 1fr)); }
  .internal-booking-vendors { grid-template-columns: 1fr; }
  .internal-profile-definition-list > div { grid-template-columns: 1fr; gap: 2px; }
  .profile-admin-launch-grid { grid-template-columns: 1fr; }
}

.lead-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.lead-summary-grid article {
  display: grid;
  gap: 4px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px;
  background: var(--theme-card-background);
}

.lead-summary-grid strong { color: var(--theme-heading); font-size: 1.8rem; }
.lead-summary-grid span { color: var(--theme-muted); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lead-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(170px, 220px) auto auto auto; gap: 14px; align-items: end; }
.lead-toolbar.my-lead-toolbar { grid-template-columns: minmax(220px, 1fr) auto; }
.lead-toolbar label { display: grid; gap: 7px; color: var(--theme-label); font-size: .82rem; font-weight: 800; }
.lead-toolbar .lead-archive-toggle, .lead-toolbar .lead-followup-toggle, .lead-toolbar .lead-transfer-toggle { display: flex; align-items: center; min-height: 44px; white-space: nowrap; }
.lead-results { display: grid; gap: 18px; }
.lead-card { display: grid; gap: 18px; border: 1px solid var(--theme-border); border-radius: var(--theme-card-radius); padding: 20px; background: #fff; box-shadow: 0 4px 16px rgba(24,58,65,.05); }
.lead-card.is-followup-due { border-color: #d6a442; border-left-width: 5px; background: #fffdf7; box-shadow: 0 5px 20px rgba(164,112,22,.12); }
.lead-card.is-transfer-pending { border-color: #7c61a5; border-left-width: 5px; background: #fdfaff; box-shadow: 0 5px 20px rgba(101,75,133,.14); }
.lead-card-toggle { display: flex; justify-content: space-between; gap: 20px; align-items: start; width: 100%; min-height: 0; border: 0; padding: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.lead-card-toggle:hover { color: inherit; background: transparent; }
.lead-card h3 { margin: 0; color: var(--theme-heading); font-size: 1.25rem; }
.lead-card-toggle p { margin: 5px 0 0; color: var(--theme-muted); font-size: .78rem; font-weight: 500; }
.lead-card-header-actions { display: flex; align-items: center; gap: 10px; }
.lead-card-chevron { display: inline-block; width: 8px; height: 8px; margin: 8px 9px; color: var(--theme-description); transform: rotate(225deg); transition: transform 160ms ease; }
.lead-card.is-collapsed .lead-card-chevron { transform: rotate(45deg); }
.lead-card.is-collapsed { gap: 0; padding-top: 15px; padding-bottom: 15px; }
.lead-card-body { display: grid; gap: 18px; }
.lead-status-badge { border-radius: 999px; padding: 6px 10px; color: #36565e; background: #e4eff1; font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.lead-followup-badge { border-radius: 999px; padding: 6px 10px; color: #7a5011; background: #ffedbd; font-size: .68rem; font-weight: 900; white-space: nowrap; text-transform: uppercase; }
.lead-transfer-badge { border-radius: 999px; padding: 6px 10px; color: #654b85; background: #eadff8; font-size: .68rem; font-weight: 900; white-space: nowrap; text-transform: uppercase; }
.lead-transfer-callout { display: grid; gap: 5px; border: 1px solid #c9b7df; border-radius: 8px; padding: 14px 16px; color: #523b70; background: #f4edfc; }
.lead-transfer-callout p { margin: 0; color: #654f7d; line-height: 1.45; }
.lead-status-badge.status-new { color: #855813; background: #fff0cc; }
.lead-status-badge.status-booked { color: #23613c; background: #dcefe3; }
.lead-status-badge.status-spam, .lead-status-badge.status-closed { color: #7b4540; background: #f1e3e1; }
.lead-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 0; }
.lead-details div { min-width: 0; }
.lead-details dt { margin-bottom: 3px; color: #79868c; font-size: .7rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.lead-details dd { margin: 0; color: #34474f; line-height: 1.45; overflow-wrap: anywhere; }
.lead-workflow-form { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: 12px; align-items: end; border-top: 1px solid #e0e6e8; padding-top: 18px; }
.lead-workflow-form label { display: grid; gap: 6px; color: var(--theme-label); font-size: .75rem; font-weight: 800; }
.lead-workflow-form input, .lead-workflow-form select, .lead-workflow-form textarea { width: 100%; }
.lead-notes-field { grid-column: 1 / -1; }
.lead-notes-field textarea { min-height: 80px; }
.lead-workflow-form button { min-height: 38px; }
.lead-workflow-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; }
.lead-workflow-actions .lead-archive-button { border-color: #b76b58; color: #8e402f; background: #fff5f2; }
.lead-workflow-actions .lead-archive-button:hover { border-color: #944b39; color: #fff; background: #944b39; }
.my-lead-header { cursor: default; }
.my-lead-assignment-panel { display: grid; gap: 10px; }
.my-lead-assignment-panel:not(.is-pending-review) { border: 0 !important; border-radius: 0 !important; padding: 4px 0 2px; background: transparent !important; box-shadow: none !important; }
.my-lead-assignment-panel p { margin: 0; color: var(--theme-muted); line-height: 1.55; }
.my-lead-assignment-panel.is-pending-review { border: 1px solid #d7e2e5; border-radius: 8px; padding: 16px; background: #f6f9fa; }
.my-lead-request-form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr); gap: 12px; padding: 16px; border: 1px solid #d7e2e5; border-radius: 8px; background: #f8fafb; }
.my-lead-request-form label { display: grid; gap: 6px; color: var(--theme-label); font-size: .75rem; font-weight: 800; }
.my-lead-request-form textarea { min-height: 92px; }
.transfer-request-button { border-color: #bd9146; color: #79591f; background: #fffaf0; }
.assignment-pending { color: #76561e; background: #fff4d9; }
.assignment-accepted { color: #246442; background: #e8f6ee; }
.assignment-declined { color: #8a3e35; background: #fbeceb; }
.assignment-transfer-requested { color: #654b85; background: #f1eafa; }
.lead-archive-toolbar { display: grid; grid-template-columns: minmax(260px, 1.5fr) repeat(4, minmax(140px, 1fr)); gap: 12px; align-items: end; }
.lead-archive-toolbar label { display: grid; gap: 6px; color: var(--theme-label); font-size: .78rem; font-weight: 800; }
.lead-archive-count { margin: 0; color: var(--theme-description); font-size: .82rem; font-weight: 700; }
.lead-archive-table-wrap { overflow-x: auto; border: 1px solid var(--theme-border); border-radius: 9px; background: var(--theme-card-background); }
.lead-archive-table { width: 100%; min-width: 1050px; border-collapse: collapse; }
.lead-archive-table th { padding: 11px 13px; color: var(--theme-label); background: var(--theme-input); font-size: .7rem; letter-spacing: .05em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.lead-archive-table td { padding: 12px 13px; border-top: 1px solid var(--theme-border-soft); color: var(--theme-text); background: var(--theme-card-background); font-size: .82rem; vertical-align: middle; }
.lead-archive-table tr.is-archived td { color: var(--theme-muted); background: var(--theme-card-background); }
.lead-archive-table tr.is-open td { background: var(--theme-input); }
.lead-archive-table td strong, .lead-archive-table td span { display: block; }
.lead-archive-table td > span:not(.lead-status-badge) { margin-top: 3px; color: var(--theme-description); font-size: .74rem; }
.lead-archive-open-button { min-height: 34px; padding: 6px 11px; }
.lead-archive-editor-row td { padding: 0; background: var(--theme-input); }
.lead-archive-editor { display: grid; gap: 18px; padding: 20px; border-left: 4px solid #7298a0; }
.lead-archive-edit-form { grid-template-columns: repeat(5, minmax(130px, 1fr)); }
.lead-archive-empty { padding: 35px !important; text-align: center; }
.lead-archive-pagination { justify-content: flex-end; }

@media (max-width: 900px) {
  .profile-admin-toggle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-workflow-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-archive-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-notes-field { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .lead-toolbar, .lead-details, .lead-workflow-form, .my-lead-request-form, .rollover-list-controls { grid-template-columns: 1fr; }
  .lead-workflow-form button { width: 100%; }
  .lead-workflow-actions { flex-direction: column-reverse; }
  .missing-annual-callout { align-items: stretch; flex-direction: column; }
  .missing-annual-callout button { width: 100%; }
}

.carousel-manager-panel {
  min-height: 360px;
}
.pixie-homepage-editor { display: grid; gap: 18px; margin-top: 20px; }
.pixie-homepage-section-list { display: grid; gap: 16px; }
.pixie-homepage-section { min-width: 0; padding: 18px; border: 0; border-radius: var(--theme-radius); background: var(--theme-card-background); box-shadow: -3px 7px 14px color-mix(in srgb, var(--theme-text) 9%, transparent); }
.pixie-homepage-section legend { padding: 0 7px; color: var(--theme-label); font-size: .76rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.pixie-homepage-section-move { display: flex; justify-content: flex-end; gap: 8px; margin: -7px 0 14px; }
.pixie-easy-card-manager-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: -5px 0 16px; }
.pixie-easy-card-manager-header .empty-state { margin: 0; text-align: left; }
.pixie-easy-card-editor-list { display: grid; gap: 14px; }
.pixie-easy-card-editor { overflow: hidden; border: 1px solid var(--theme-border-soft); border-radius: calc(var(--theme-radius) * .8); background: var(--theme-input); }
.pixie-easy-card-editor-controls { display: flex; align-items: center; gap: 7px; padding: 10px 12px; border-bottom: 1px solid var(--theme-border-soft); }
.pixie-easy-card-editor-controls strong { margin-right: auto; color: var(--theme-label); font-size: .76rem; }
.pixie-easy-card-editor-body { display: grid; grid-template-columns: minmax(180px, .36fr) minmax(0, 1fr); gap: 14px; padding: 14px; }
.pixie-easy-card-editor-body .pixie-homepage-image-editor { min-height: 210px; }
.pixie-homepage-copy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.pixie-homepage-copy-grid label { display: grid; gap: 5px; color: var(--theme-label); font-size: .76rem; font-weight: 800; }
.pixie-homepage-copy-grid label:has(textarea) { grid-column: 1 / -1; }
.pixie-homepage-image-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.pixie-homepage-image-editor { display: grid; gap: 7px; padding: 10px; cursor: pointer; border: 1px dashed var(--theme-border); border-radius: max(5px,calc(var(--theme-radius) - 3px)); color: var(--theme-label); }
.pixie-homepage-image-editor:hover { border-color: var(--theme-accent); }
.pixie-homepage-image-editor.is-uploading { opacity: .55; pointer-events: none; }
.pixie-homepage-image-editor.is-dragover { border-color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 10%, var(--theme-input)); transform: scale(1.01); }
.pixie-homepage-image-editor img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: max(4px,calc(var(--theme-radius) - 5px)); }
.pixie-homepage-image-editor span { font-size: .75rem; font-weight: 800; color: var(--theme-accent); }
@media (max-width: 900px) { .pixie-homepage-copy-grid,.pixie-homepage-image-grid,.pixie-easy-card-editor-body { grid-template-columns: 1fr; } }

.carousel-upload-zone {
  display: grid;
  place-items: center;
  gap: 6px;
  min-height: 130px;
  border: 2px dashed var(--theme-input-border);
  border-radius: 10px;
  padding: 24px;
  color: var(--theme-label);
  background: var(--theme-input);
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.carousel-upload-zone:hover,
.carousel-upload-zone:focus-visible,
.carousel-upload-zone.is-dragover {
  border-color: var(--theme-primary);
  outline: 0;
  background: var(--theme-input);
}

.carousel-upload-zone.is-dragover {
  transform: scale(1.01);
}

.carousel-upload-zone.is-uploading {
  opacity: 0.65;
  pointer-events: none;
}

.carousel-upload-zone strong {
  color: var(--theme-heading);
  font-size: 1.05rem;
}

.carousel-count {
  margin: 0;
  color: var(--theme-muted);
  font-size: 0.86rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.carousel-randomize-setting {
  align-items: start;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 14px 16px;
  background: #fbfcfc;
}

.carousel-randomize-setting span {
  display: grid;
  gap: 4px;
}

.carousel-randomize-setting small {
  color: var(--theme-muted);
  font-weight: 500;
}

.carousel-timing-settings {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 260px));
  gap: 14px;
}

.carousel-timing-settings label {
  display: grid;
  gap: 7px;
  color: var(--theme-label);
  font-size: 0.88rem;
  font-weight: 800;
}

.carousel-timing-settings label > span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--theme-input-border);
  border-radius: 6px;
  background: #fbfcfc;
}

.carousel-timing-settings input {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.carousel-timing-settings small {
  padding-right: 13px;
  color: #7b878d;
  font-weight: 700;
}

@media (max-width: 560px) {
  .carousel-timing-settings {
    grid-template-columns: 1fr;
  }
}

/* Content surfaces use elevation instead of hairline outlines. Interactive fields and
   semantic attention/error states retain their borders for clarity. */
.dashboard-main :is(
  .panel,
  .panel-subsection,
  [class$="-panel"],
  [class*="-panel "],
  [class$="-card"],
  [class*="-card "],
  .attention-widget,
  .upcoming-events-widget,
  .internal-profile-hero,
  .internal-profile-stats > article,
  .lead-summary-grid > article,
  .community-notification,
  .permission-group,
  .directory-table-wrap,
  .lead-archive-table-wrap,
  .analytics-package-table,
  fieldset,
  details
):not(.is-followup-due):not(.is-transfer-pending):not(.priority-important):not(.priority-urgent):not(.my-lead-assignment-panel) {
  border-color: transparent !important;
  box-shadow:
    0 0 calc(4px + var(--theme-shadow-strength) * .22px) color-mix(in srgb, var(--theme-text) 8%, transparent),
    -5px 9px calc(10px + var(--theme-shadow-strength) * .55px) color-mix(in srgb, var(--theme-text) 15%, transparent) !important;
}

.theme-preview-cards article {
  border-color: transparent;
  box-shadow:
    0 0 calc(4px + var(--theme-shadow-strength) * .2px) color-mix(in srgb, var(--theme-text) 8%, transparent),
    -4px 8px calc(8px + var(--theme-shadow-strength) * .45px) color-mix(in srgb, var(--theme-text) 14%, transparent);
}

/* Two-stage agency navigation: persistent icon rail plus contextual page list. */
.dashboard-context-navigation { display: none; }
.nav-rail-search-button,
.nav-rail-search-divider { display: none; }

.dashboard-global-search {
  position: fixed;
  z-index: 100;
  top: 58px;
  left: 78px;
  display: grid;
  width: min(520px, calc(100vw - 102px));
  gap: 8px;
  padding: 10px;
  border-radius: var(--theme-radius);
  color: var(--theme-text);
  background: var(--theme-card-background);
  box-shadow: -5px 9px calc(10px + var(--theme-shadow-strength) * .55px) color-mix(in srgb, var(--theme-text) 18%, transparent);
}
.dashboard-global-search.hidden { display: none; }
.dashboard-global-search input { width: 100%; }
.dashboard-rail-search-results { display: grid; gap: 2px; }
.dashboard-rail-search-results button {
  display: grid;
  gap: 2px;
  min-height: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: 7px;
  color: var(--theme-text);
  background: transparent;
  text-align: left;
}
.dashboard-rail-search-results button strong { font-size: .84rem; }
.dashboard-rail-search-results button small {
  overflow: hidden;
  color: var(--theme-description);
  font-size: .72rem;
  font-weight: 500;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-rail-search-results button:hover small { color: currentColor; }
.dashboard-rail-search-results button:hover { color: var(--theme-nav-hover-text); background: var(--theme-nav-hover); }
.dashboard-rail-search-results .empty-state { margin: 0; padding: 8px 10px; }
.dashboard-search-section-label {
  margin: 7px 10px 2px;
  color: var(--theme-muted);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.dashboard-search-section-label:first-child { margin-top: 2px; }
.dashboard-rail-search-results .dashboard-search-agent-result {
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
}
.dashboard-search-agent-result img {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  object-fit: cover;
}
.dashboard-search-agent-result > span { display: grid; min-width: 0; gap: 2px; }

@media (min-width: 781px) {
  body[data-interface="agency"] .dashboard {
    grid-template-columns: 286px 10px minmax(0, 1fr);
    background: var(--theme-icon-rail);
    transition: grid-template-columns 240ms cubic-bezier(.22, .8, .3, 1);
  }

  body[data-interface="agency"] .dashboard-sidebar {
    position: fixed;
    top: 46px;
    bottom: 0;
    left: 0;
    z-index: 20;
    align-self: start;
    grid-template-columns: 62px minmax(0, 1fr);
    grid-template-rows: 82px minmax(0, 1fr);
    gap: 0;
    width: 286px;
    height: calc(100vh - 46px);
    height: calc(100dvh - 46px);
    padding: 0;
    overflow: visible;
    border-right: 0;
    background: var(--theme-icon-rail);
    transition: width 240ms cubic-bezier(.22, .8, .3, 1);
  }

  body[data-interface="agency"] .dashboard-sidebar::before {
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 62px;
    width: 224px;
    background: var(--theme-context-menu);
    box-shadow: 12px 0 18px -14px color-mix(in srgb, var(--theme-text) 42%, transparent);
    content: "";
    transform: translateX(0);
    transition: opacity 160ms ease, transform 240ms cubic-bezier(.22, .8, .3, 1);
    pointer-events: none;
  }

  body[data-interface="agency"] .dashboard-sidebar::after {
    position: absolute;
    z-index: 2;
    inset: 0 auto 0 0;
    width: 62px;
    background: var(--theme-icon-rail);
    content: "";
    pointer-events: none;
  }

  body[data-interface="agency"] .dashboard-sidebar-logos {
    position: relative;
    z-index: 1;
    grid-column: 2;
    grid-row: 1;
    justify-content: center;
    min-height: 82px;
    gap: 18px;
    padding: 10px 16px;
    border: 0;
    transition: opacity 160ms ease, transform 240ms cubic-bezier(.22, .8, .3, 1);
  }

  body[data-interface="agency"] .dashboard-sidebar-logo {
    width: 154px;
    max-width: 154px;
    height: 58px;
  }

  body[data-interface="agency"] .dashboard-sidebar-logos.is-admin .dashboard-sidebar-logo {
    width: 80px;
    max-width: 80px;
    height: 48px;
  }

  body[data-interface="agency"] .sidebar-interface-heading { display: none; }

  body[data-interface="agency"] .dashboard-nav {
    position: relative;
    z-index: 3;
    grid-column: 1;
    grid-row: 2;
    display: grid;
    align-content: start;
    gap: 9px;
    min-width: 0;
    padding: 12px 8px 76px;
    overflow-x: hidden;
    overflow-y: auto;
    border-right: 0;
    background: var(--theme-icon-rail);
    scrollbar-width: thin;
  }

  body[data-interface="agency"] .dashboard-nav > .nav-group { display: contents; }
  body[data-interface="agency"] .dashboard-nav > .hidden { display: none !important; }
  body[data-interface="agency"] .dashboard-nav > .nav-group > .nav-submenu { display: none !important; }

  body[data-interface="agency"] .dashboard-nav > .nav-button,
  body[data-interface="agency"] .dashboard-nav > .nav-group > .nav-group-toggle,
  body[data-interface="agency"] .dashboard-nav > .nav-rail-search-button {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 46px;
    min-width: 46px;
    height: 48px;
    min-height: 48px;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 11px;
    padding: 0;
    color: var(--theme-nav-text);
    background: transparent;
    font-size: 0;
    justify-content: center !important;
    justify-items: center;
    align-content: center;
  }

  body[data-interface="agency"] .dashboard-nav > .nav-button:hover,
  body[data-interface="agency"] .dashboard-nav > .nav-group > .nav-group-toggle:hover,
  body[data-interface="agency"] .dashboard-nav > .nav-rail-search-button:hover {
    border-color: var(--theme-nav-border);
    color: var(--theme-nav-hover-text);
    background: var(--theme-nav-hover);
  }

  body[data-interface="agency"] .dashboard-nav > .nav-button.active,
  body[data-interface="agency"] .dashboard-nav > .nav-group.active > .nav-group-toggle {
    z-index: 2;
    width: 62px;
    margin-left: -8px;
    border-color: transparent !important;
    border-radius: 12px 0 0 12px;
    color: var(--theme-heading) !important;
    background: var(--theme-context-menu) !important;
    box-shadow:
      0 -8px 12px -11px color-mix(in srgb, var(--theme-text) 32%, transparent),
      0 8px 12px -11px color-mix(in srgb, var(--theme-text) 32%, transparent);
  }

  body[data-interface="agency"] .dashboard-nav > .nav-group.active .nav-group-attention-pill {
    display: none !important;
  }

  body[data-interface="agency"] .dashboard-nav > .nav-button.active::before,
  body[data-interface="agency"] .dashboard-nav > .nav-group.active > .nav-group-toggle::before,
  body[data-interface="agency"] .dashboard-nav > .nav-button.active::after,
  body[data-interface="agency"] .dashboard-nav > .nav-group.active > .nav-group-toggle::after {
    position: absolute;
    right: 0;
    width: 13px;
    height: 13px;
    background: transparent;
    content: "";
    pointer-events: none;
  }

  body[data-interface="agency"] .dashboard-nav > .nav-button.active::before,
  body[data-interface="agency"] .dashboard-nav > .nav-group.active > .nav-group-toggle::before {
    top: -13px;
    border-bottom-right-radius: 13px;
    box-shadow: 5px 5px 0 5px var(--theme-context-menu);
  }

  body[data-interface="agency"] .dashboard-nav > .nav-button.active::after,
  body[data-interface="agency"] .dashboard-nav > .nav-group.active > .nav-group-toggle::after {
    bottom: -13px;
    border-top-right-radius: 13px;
    box-shadow: 5px -5px 0 5px var(--theme-context-menu);
  }

  body[data-interface="agency"] .dashboard-nav .nav-leading-icon {
    display: inline-grid;
    flex: none;
    width: 29px;
    height: 29px;
    place-items: center;
  }

  body[data-interface="agency"] .dashboard-nav .nav-leading-icon svg {
    width: 28px;
    height: 28px;
  }

  body[data-interface="agency"] .dashboard-nav > .nav-rail-search-button {
    color: var(--theme-nav-text);
    background: color-mix(in srgb, var(--theme-icon-rail) 72%, var(--theme-context-menu));
  }

  body[data-interface="agency"] .dashboard-nav > .nav-rail-search-button > span:not(.nav-leading-icon) { display: none; }

  body[data-interface="agency"] .nav-rail-search-divider {
    display: block;
    width: 26px;
    height: 1px;
    margin: 0 auto 2px;
    background: color-mix(in srgb, var(--theme-nav-text) 30%, transparent);
  }

  body[data-interface="agency"] .dashboard-nav > .nav-group > .nav-group-toggle > span:not(.nav-leading-icon):not(.nav-group-status) { display: none; }
  body[data-interface="agency"] .dashboard-nav .nav-group-chevron { display: none; }
  body[data-interface="agency"] .dashboard-nav .nav-group-status {
    position: absolute;
    top: 2px;
    right: 0;
    margin: 0;
  }
  body[data-interface="agency"] .dashboard-nav .nav-group-attention-pill:not(.hidden) {
    display: inline-grid;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: .57rem;
  }
  body[data-interface="agency"] .dashboard-nav > .nav-button .dashboard-community-attention-pill:not(.hidden) {
    position: absolute;
    top: 2px;
    right: 0;
    display: inline-grid;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: .57rem;
  }
  body[data-interface="agency"]:not(.dashboard-context-collapsed) .dashboard-nav > .nav-button.active .dashboard-community-attention-pill {
    display: none !important;
  }

  body[data-interface="agency"] .dashboard-context-navigation {
    position: absolute;
    top: 82px;
    width: 224px;
    bottom: 0;
    left: 62px;
    box-sizing: border-box;
    z-index: 1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: start;
    min-width: 0;
    padding: 21px 14px 18px;
    overflow-y: auto;
    color: var(--theme-nav-text);
    background: var(--theme-context-menu);
    box-shadow: none;
    transform: translateX(0);
    transform-origin: left center;
    transition: opacity 160ms ease, transform 240ms cubic-bezier(.22, .8, .3, 1);
  }

  body[data-interface="agency"] .dashboard-context-navigation > header {
    display: grid;
    gap: 3px;
    margin: 0 6px 16px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--theme-border-soft);
  }

  body[data-interface="agency"] .dashboard-context-navigation > header p {
    margin: 0;
    color: var(--theme-muted);
    font-size: .66rem;
    font-weight: 650;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  body[data-interface="agency"] .dashboard-context-navigation > header h2 {
    margin: 0;
    color: var(--theme-heading);
    font-size: .96rem;
    font-weight: 750;
  }

  body[data-interface="agency"] .dashboard-context-links {
    display: grid;
    align-content: start;
    gap: 4px;
  }

  body[data-interface="agency"] .dashboard-context-section-label {
    margin: 13px 6px 3px;
    padding: 13px 4px 0;
    border-top: 1px solid var(--theme-border-soft);
    color: var(--theme-muted);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
  }

  body[data-interface="agency"] .dashboard-context-section-label:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }

  body[data-interface="agency"] .dashboard-context-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    min-height: 36px;
    border: 1px solid transparent;
    border-radius: 9px;
    padding: 7px 10px;
    color: var(--theme-nav-text);
    background: transparent;
    text-align: left;
    font-size: .82rem;
    font-weight: 500;
    line-height: 1.25;
  }

  body[data-interface="agency"] .dashboard-context-link-content {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 9px;
  }

  body[data-interface="agency"] .dashboard-context-link-icon {
    display: inline-grid;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    place-items: center;
    color: currentColor;
  }

  body[data-interface="agency"] .dashboard-context-link-icon > svg,
  body[data-interface="agency"] .dashboard-context-link-icon > .nav-layer-icon {
    width: 22px;
    height: 22px;
  }

  body[data-interface="agency"] .dashboard-context-link:hover {
    color: var(--theme-nav-hover-text);
    background: var(--theme-nav-hover);
  }

  body[data-interface="agency"] .dashboard-context-link.active {
    border-color: var(--theme-border-soft);
    color: var(--theme-heading);
    background: var(--theme-card-background);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--theme-border) 25%, transparent);
    font-weight: 750;
  }

  body[data-interface="agency"] .dashboard-context-editor-label { margin-top: 22px; }
  body[data-interface="agency"] .dashboard-context-interface-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 40px;
    border: 0;
    border-radius: 10px;
    padding: 8px 10px;
    color: var(--theme-topbar-active-text);
    background: var(--theme-primary-background);
    box-shadow: 0 5px 14px color-mix(in srgb, var(--theme-text) 13%, transparent);
    font-size: .78rem;
    font-weight: 800;
    text-align: left;
  }
  body[data-interface="agency"] .dashboard-context-interface-link.is-ptc { color: var(--theme-secondary-text); background: var(--theme-secondary); }
  body[data-interface="agency"] .dashboard-context-interface-link:not(.is-ptc):hover { background: var(--theme-primary-hover); transform: translateY(-1px); }
  body[data-interface="agency"] .dashboard-context-interface-link.is-ptc:hover { background: color-mix(in srgb, var(--theme-secondary) 82%, var(--theme-primary)); transform: translateY(-1px); }
  .dashboard-context-launch-icon { display: inline-grid; flex: 0 0 18px; width: 18px; height: 18px; place-items: center; }
  .dashboard-context-launch-icon svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

  body[data-interface="agency"] .dashboard-main {
    grid-column: 3;
    padding: clamp(26px, 3.2vw, 48px);
  }

  body[data-interface="agency"] .dashboard-account {
    position: fixed;
    left: 10px;
    bottom: 12px;
    z-index: 110;
  }

  body[data-interface="agency"] .dashboard-account-button {
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    max-width: none;
    padding: 0;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--theme-nav-border) 76%, transparent);
    border-radius: 10px;
    background: var(--theme-icon-rail);
    box-shadow: 0 6px 18px color-mix(in srgb, var(--theme-text) 18%, transparent);
  }

  body[data-interface="agency"] .dashboard-account-button:hover,
  body[data-interface="agency"] .dashboard-account-button[aria-expanded="true"] {
    border-color: var(--theme-nav-hover-text);
    background: var(--theme-nav-hover);
  }

  body[data-interface="agency"] .dashboard-account-name,
  body[data-interface="agency"] .dashboard-account-button .account-chevron { display: none; }

  body[data-interface="agency"] .dashboard-account-avatar {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    border-radius: inherit;
    color: var(--theme-heading);
    background-color: var(--theme-card-background);
    background-position: center;
    background-size: cover;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .02em;
  }

  body[data-interface="agency"] .dashboard-account-avatar.has-photo { color: transparent; }

  body[data-interface="agency"] .dashboard-account-menu {
    top: auto;
    right: auto;
    bottom: 0;
    left: calc(100% + 10px);
    border-color: var(--theme-border);
    background: var(--theme-card-background);
  }

  body[data-interface="agency"].dashboard-context-collapsed .dashboard {
    grid-template-columns: 62px 10px minmax(0, 1fr);
  }

  body[data-interface="agency"].dashboard-context-collapsed .dashboard-sidebar { width: 62px; }

  body[data-interface="agency"].dashboard-context-collapsed .dashboard-sidebar-logos,
  body[data-interface="agency"].dashboard-context-collapsed .dashboard-sidebar::before,
  body[data-interface="agency"].dashboard-context-collapsed .dashboard-context-navigation {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-224px);
  }

  body[data-interface="agency"].dashboard-context-collapsed .dashboard-nav > .nav-button.active,
  body[data-interface="agency"].dashboard-context-collapsed .dashboard-nav > .nav-group.active > .nav-group-toggle {
    width: 46px;
    margin-left: 0;
    border-radius: 12px;
  }

  body[data-interface="agency"].dashboard-context-collapsed .dashboard-nav > .nav-button.active::before,
  body[data-interface="agency"].dashboard-context-collapsed .dashboard-nav > .nav-group.active > .nav-group-toggle::before,
  body[data-interface="agency"].dashboard-context-collapsed .dashboard-nav > .nav-button.active::after,
  body[data-interface="agency"].dashboard-context-collapsed .dashboard-nav > .nav-group.active > .nav-group-toggle::after { display: none; }
}

/* The icon rail and contextual navigation are now the full dashboard chrome. */
.dashboard { grid-template-rows: minmax(0, 1fr); }
.dashboard-topbar { height: 0; min-height: 0; padding: 0; border: 0; background: transparent; box-shadow: none; pointer-events: none; }
.dashboard-topbar > * { pointer-events: auto; }
.dashboard-sidebar, .dashboard-main { grid-row: 1; }
.global-data-loader { position: fixed; z-index: 120; top: 12px; right: 14px; margin: 0; }
body[data-interface="agency"] .dashboard-account { display: grid; gap: 8px; }
.dashboard-account-notifications { position: relative; display: grid; place-items: center; width: 42px; min-width: 42px; height: 42px; min-height: 42px; border: 0; border-radius: 10px; padding: 0; color: var(--theme-nav-text); background: transparent; box-shadow: none; }
.dashboard-account-notifications svg { display: block; width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dashboard-account-notifications:hover,
.dashboard-account-notifications[aria-current="page"] { color: var(--theme-nav-hover-text); background: var(--theme-nav-hover); transform: none; }
.dashboard-account-notifications .nav-attention-pill { position: absolute; top: -3px; right: -4px; margin: 0; }
body:not([data-interface="agency"]) .dashboard-account-notifications { display: none; }

@media (min-width: 781px) {
  body[data-interface="agency"] .dashboard-sidebar { top: 0; height: 100vh; height: 100dvh; }
  body:not([data-interface="agency"]) .dashboard-account { position: fixed; z-index: 110; bottom: 12px; left: 12px; }
  body:not([data-interface="agency"]) .dashboard-account-button { width: 42px; min-width: 42px; height: 42px; min-height: 42px; max-width: none; overflow: hidden; border-radius: 10px; padding: 0; }
  body:not([data-interface="agency"]) .dashboard-account-name,
  body:not([data-interface="agency"]) .dashboard-account-button .account-chevron { display: none; }
  body:not([data-interface="agency"]) .dashboard-account-avatar { display: grid; width: 100%; height: 100%; place-items: center; border-radius: inherit; color: var(--theme-heading); background-color: var(--theme-card-background); background-position: center; background-size: cover; font-size: .72rem; font-weight: 800; }
  body:not([data-interface="agency"]) .dashboard-account-avatar.has-photo { color: transparent; }
  body:not([data-interface="agency"]) .dashboard-account-menu { top: auto; right: auto; bottom: 0; left: calc(100% + 10px); }
}

.theme-preview-editor-link { justify-content: space-between; margin-top: 2px; border-radius: 5px; padding: 5px 6px !important; color: var(--theme-topbar-active-text); background: var(--theme-primary-background); font-size: .55rem; font-weight: 800; }
.theme-preview-editor-link.ptc { color: var(--theme-secondary-text); background: var(--theme-secondary); }

.carousel-image-list {
  display: grid;
  gap: 12px;
}
.promotion-banner-list { display: grid; gap: 18px; }
.promotion-banner-card { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(260px, .7fr) auto; gap: 20px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.promotion-banner-card.is-dragging { opacity: .5; }
.promotion-banner-card img { display: block; width: 100%; max-height: 150px; object-fit: contain; background: #f5f7f8; }
.promotion-banner-card label { display: grid; gap: 7px; font-size: .75rem; font-weight: 700; }
.promotion-banner-card input { width: 100%; }
.promotion-banner-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 850px) { .promotion-banner-card { grid-template-columns: 1fr; } .promotion-banner-actions { justify-content: flex-start; } }
.credential-logo-list { display: grid; gap: 14px; }

.form-builder-panel { display: grid; gap: 16px; }
.form-builder-tabs { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid var(--theme-border); }
.form-builder-tabs button { appearance: none; border: 0; border-bottom: 3px solid transparent; border-radius: 0; padding: 11px 16px 12px; background: transparent; color: var(--muted); font-weight: 700; }
.form-builder-tabs button.active { border-bottom-color: var(--theme-primary); color: var(--theme-heading); }
.website-form-builder { gap: 14px; }
.form-builder-content-section { display: grid; gap: 18px; }
.form-builder-settings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#form-page-copy-fields textarea { min-height: 92px; resize: vertical; }
.form-builder-question-list { display: grid; gap: 8px; }
.form-builder-question { display: grid; grid-template-columns: 24px 26px minmax(0, 1fr) 128px; align-items: start; gap: 9px; padding: 10px 12px; border: 1px solid var(--theme-border); border-radius: 10px; background: var(--theme-card); }
.form-builder-question.is-dragging { opacity: .55; }
.form-question-drag-handle { margin-top: 26px; }
.form-question-number { margin-top: 30px; color: var(--theme-muted); font-size: .7rem; letter-spacing: .06em; }
.form-question-controls { display: grid; grid-template-columns: minmax(0, 2fr) minmax(150px, .7fr); gap: 9px; }
.form-question-controls > label { align-self: start; }
.form-question-controls select { height: 42px; min-height: 42px; }
.form-question-controls textarea { min-height: 72px; resize: vertical; field-sizing: content; }
.form-question-copy textarea { min-height: 58px; }
.form-question-copy input { height: 42px; }
.form-question-options { grid-column: 1 / -1; }
.form-question-options textarea { min-height: 74px; }
.form-question-settings { display: grid; align-content: start; gap: 6px; min-width: 0; padding-top: 24px; }
.form-question-settings .checkbox-field { min-height: auto; }
.form-question-delete { width: 34px; height: 32px; min-height: 0; margin-top: 2px; padding: 6px; justify-self: end; }
.form-question-delete svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 800px) {
  .form-builder-settings, .form-question-controls { grid-template-columns: 1fr; }
  .form-builder-question { grid-template-columns: 28px 28px minmax(0, 1fr); }
  .form-question-settings { grid-column: 3; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 0; }
}
.credential-logo-card { display: grid; grid-template-columns: 34px 220px minmax(260px, 1fr) auto; gap: 16px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.credential-logo-card.is-dragging { opacity: .5; }
.credential-logo-card.is-inactive .credential-logo-preview { opacity: .45; filter: grayscale(1); }
.credential-drag-handle { display: grid; grid-template-columns: repeat(2, 4px); grid-template-rows: repeat(3, 4px); gap: 4px; place-content: center; width: 32px; height: 48px; border: 0; border-radius: 6px; padding: 0; color: #78878e; background: transparent; cursor: grab; }
.credential-drag-handle:hover, .credential-drag-handle:focus-visible { color: var(--theme-primary); background: #eaf4f5; }
.credential-drag-handle:active { cursor: grabbing; }
.credential-drag-handle span { width: 4px; height: 4px; border-radius: 50%; background: currentColor; pointer-events: none; }
.credential-logo-preview { display: grid; place-items: center; min-height: 110px; padding: 14px; border: 1px solid var(--theme-border); border-radius: 7px; background-color: #f8fafb; background-image: linear-gradient(45deg, #e0e7ea 25%, transparent 25%), linear-gradient(-45deg, #e0e7ea 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e0e7ea 75%), linear-gradient(-45deg, transparent 75%, #e0e7ea 75%); background-size: 20px 20px; background-position: 0 0, 0 10px, 10px -10px, -10px 0; }
.credential-logo-preview img { display: block; width: 100%; max-width: 190px; max-height: 90px; object-fit: contain; }
.credential-logo-fields { display: grid; gap: 14px; }
.credential-logo-fields > label:not(.checkbox-field) { display: grid; gap: 7px; font-size: .75rem; font-weight: 700; }
.credential-active-setting { align-items: start; justify-content: start; padding: 10px 12px; border-radius: 7px; background: #f3f7f8; }
.credential-active-setting > span { display: grid; gap: 3px; }
.credential-active-setting small { color: var(--theme-muted); font-weight: 500; line-height: 1.35; }
@media (max-width: 850px) { .credential-logo-card { grid-template-columns: 1fr; } }

.carousel-image-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  border: 1px solid var(--theme-border);
  border-radius: 10px;
  padding: 10px;
  background: #ffffff;
  cursor: grab;
  box-shadow: 0 2px 7px rgba(24, 58, 65, 0.06);
}

.carousel-image-card.is-dragging {
  opacity: 0.45;
}

.carousel-image-card img {
  width: 180px;
  height: 96px;
  border-radius: 7px;
  object-fit: cover;
  background: #edf1f2;
}

.carousel-image-details {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.carousel-image-details strong {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #ffffff;
  background: var(--theme-primary-background);
}

.carousel-image-details span {
  overflow: hidden;
  color: var(--theme-label);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.carousel-image-actions {
  display: flex;
  gap: 7px;
}

.carousel-image-actions .carousel-action {
  min-width: 38px;
  padding: 8px 10px;
}

.carousel-image-actions .danger {
  color: #9e2f2f;
  border-color: #e3baba;
}

@media (max-width: 720px) {
  .support-intro-panel { align-items: flex-start; flex-direction: column; }
  .support-layout { grid-template-columns: 1fr; }
  .carousel-image-card {
    grid-template-columns: 110px minmax(0, 1fr);
  }

  .carousel-image-card img {
    width: 110px;
    height: 78px;
  }

  .carousel-image-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
}

.sales-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 12px;
  align-items: end;
}

.role-assignment-form {
  grid-template-columns: minmax(260px, 1fr) minmax(150px, 220px) auto;
  align-items: end;
}

.role-assignment-list {
  display: grid;
  gap: 14px;
}

.role-group {
  display: grid;
  gap: 8px;
}

.role-group h3 {
  margin: 0;
  color: var(--theme-label);
  font-size: 0.92rem;
  font-weight: 900;
}

.role-group-list {
  display: grid;
  gap: 8px;
}

.role-assignment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 10px 12px;
  background: #fbfcfc;
}

.role-assignment-row div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.role-assignment-row span {
  color: var(--theme-muted);
  font-size: 0.84rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.role-pill {
  border-radius: 999px;
  padding: 4px 9px;
  color: var(--theme-heading);
  background: #d8edf1;
  white-space: nowrap;
}

.role-assignment-row .role-edit-controls {
  display: flex;
  gap: 8px;
  justify-content: end;
  align-items: center;
}

.role-edit-select {
  min-width: 130px;
}

.leadership-grid {
  display: grid;
  gap: 8px;
}

.leadership-actions {
  display: flex;
  justify-content: flex-end;
}

.leadership-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 10px 12px;
  background: var(--theme-card-background);
}

.leadership-row strong {
  color: var(--theme-secondary-text);
  font-size: 1rem;
}

.leadership-row > span {
  color: var(--theme-description);
  font-size: 0.92rem;
  font-weight: 600;
}

.leadership-agent-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 4px;
  align-items: center;
}

.leadership-agent-hover {
  position: relative;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
}

.leadership-agent-link {
  color: var(--theme-primary);
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: color 140ms ease, text-decoration-color 140ms ease;
}

.leadership-agent-link:hover { color: #154f56; text-decoration-color: currentColor; }

.email-template-layout { display: grid; grid-template-columns: minmax(240px, .34fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.email-template-library { position: sticky; top: 84px; }
#email-template-list { display: grid; gap: 7px; }
.email-template-list-item { display: grid; gap: 3px; width: 100%; border: 1px solid var(--theme-input-border); border-radius: 5px; padding: 12px; color: var(--theme-text); background: var(--theme-input); text-align: left; }
.email-template-list-item:hover,.email-template-list-item.is-selected { border-color: var(--theme-primary); color: var(--theme-nav-text); background: var(--theme-nav-active); }
.email-template-list-item span,.email-template-list-item small { font-size: .7rem; font-weight: 600; }
.email-template-list-item small { color: var(--theme-muted); text-transform: uppercase; }
.email-template-list-item small.is-active { color: var(--theme-primary); }
.email-template-workspace { display: grid; gap: 20px; }
.email-template-heading { display: flex; justify-content: space-between; gap: 18px; align-items: start; margin-bottom: 18px; }
.email-template-heading h2 { margin: 3px 0 0; }
.email-template-active { display: flex; flex-direction: row !important; align-items: center; gap: 7px; width: auto; }
.email-template-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.email-template-fields .email-template-wide { grid-column: 1/-1; }
.email-editor-toolbar { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 16px; border: 1px solid var(--theme-input-border); border-bottom: 0; border-radius: var(--theme-radius) var(--theme-radius) 0 0; padding: 7px; background: var(--theme-input); }
.email-editor-toolbar button { min-width: 34px; min-height: 31px; border: 1px solid var(--theme-input-border); border-radius: 3px; padding: 4px 8px; color: var(--theme-secondary-text); background: var(--theme-secondary); }
.email-format-control { display: block; width: auto; }
.email-format-control select { width: auto; min-width: 118px; min-height: 31px; border-color: var(--theme-input-border); border-radius: 3px; padding: 4px 26px 4px 8px; color: var(--theme-text); background-color: var(--theme-card-background); font-size: .76rem; }
.email-color-palette { display: flex; align-items: center; gap: 5px; min-height: 31px; border: 1px solid var(--theme-input-border); border-radius: 3px; padding: 3px 7px; background: var(--theme-card-background); }
.email-color-palette > span { margin-right: 2px; color: var(--theme-label); font-size: .7rem; font-weight: 800; }
.email-editor-toolbar .email-color-palette button { width: 18px; min-width: 18px; height: 18px; min-height: 18px; border: 2px solid #fff; border-radius: 50%; padding: 0; background: var(--email-swatch); box-shadow: 0 0 0 1px #cbd4d7; }
.email-editor-toolbar .email-color-palette button:hover { transform: scale(1.12); box-shadow: 0 0 0 2px #8ea3aa; }
.email-editor { min-height: 310px; border: 1px solid #d8e0e3; border-radius: 0 0 var(--theme-radius) var(--theme-radius); padding: 26px; color: var(--theme-text); background: #fff; font-family: Arial,sans-serif; line-height: 1.65; outline: none; }
.email-editor:focus { border-color: var(--theme-primary); box-shadow: 0 0 0 3px rgba(45,116,125,.1); }
.email-editor:empty::before { content: attr(data-placeholder); color: var(--theme-muted); }
.email-editor img,.email-preview-canvas img { max-width: 100%; height: auto; }
.email-merge-fields { display: grid; gap: 8px; margin-top: 13px; }
.email-merge-fields > strong { color: #687981; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
#email-merge-field-list { display: flex; flex-wrap: wrap; gap: 6px; }
.email-template-delivery-fields { margin-top: 16px; }
.email-template-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.email-preview-shell { overflow: hidden; border: 1px solid var(--theme-border-soft); border-radius: 6px; background: #eef2f3; }
.email-preview-header { display: flex; justify-content: space-between; padding: 9px 13px; color: #71808a; background: #fff; font-size: .7rem; }
.email-preview { max-width: 640px; margin: 24px auto; padding: 0 14px; }
.email-preview-subject { display: block; margin-bottom: 8px; color: #586a74; font-size: .78rem; }
.email-preview-canvas { min-height: 200px; border-radius: 7px; padding: 38px; color: var(--theme-text); background: #fff; font-family: Arial,sans-serif; line-height: 1.65; box-shadow: 0 10px 35px rgba(31,55,66,.08); }
.email-preview-brand-logo { display: block; width: 190px; max-width: 65%; height: auto; margin: 0 auto 24px; }
.email-preview-badge { display: inline-block; border-radius: 999px; padding: 9px 16px; color: #fff; background: #c79b42; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
#email-template-test-status.is-success { color: var(--theme-primary); }

@media (max-width: 900px) { .email-template-layout { grid-template-columns: 1fr; } .email-template-library { position: static; } }
@media (max-width: 620px) { .email-template-fields { grid-template-columns: 1fr; } .email-template-fields .email-template-wide { grid-column: auto; } .email-preview-canvas { padding: 24px; } }

.home-announcement-stack { display: grid; gap: 10px; margin: 0 0 16px; }
.home-announcement-stack:empty { display: none; }
.home-announcement { --notice-accent: var(--theme-notice-general); display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; align-items: start; border: 1px solid color-mix(in srgb,var(--notice-accent) 45%,var(--theme-border)); border-radius: var(--theme-radius,8px); padding: 14px 16px; background: color-mix(in srgb,var(--notice-accent) 10%,var(--theme-card-background)); box-shadow: 0 4px 14px rgba(35,67,77,.06); }
.home-announcement.has-image { grid-template-columns: 28px minmax(0,1fr) minmax(140px,220px); align-items: center; }
.home-announcement-image { display: block; width: 100%; max-height: 150px; border-radius: 6px; object-fit: cover; }
.home-announcement.priority-important { --notice-accent: var(--theme-notice-important); }
.home-announcement.priority-urgent { --notice-accent: var(--theme-notice-urgent); }
.home-announcement-icon { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: var(--notice-accent); font-size: .72rem; font-weight: 900; }
.home-announcement strong { color: var(--theme-heading,#173f45); font-size: .94rem; }
.home-announcement p { margin: 3px 0 0; color: var(--theme-text,#40545a); line-height: 1.5; white-space: pre-wrap; }
.home-announcement .button-link { display: inline-flex; margin-top: 9px; }

/* Homepage notices use a layered, elevated treatment while preserving the
   General / Important / Urgent accent colors selected in the theme editor. */
:is(#admin-home-announcements, #agent-home-announcements, #announcement-live-preview) .home-announcement {
  border: 1px solid var(--notice-accent);
  padding: 20px 22px;
  color: #fff;
  background: var(--notice-accent);
  box-shadow:
    inset 0 0 0 5px #fff,
    -13px 16px 28px color-mix(in srgb, var(--notice-accent) 28%, transparent),
    -5px 9px 16px color-mix(in srgb, var(--theme-text) 15%, transparent);
}
:is(#admin-home-announcements, #agent-home-announcements, #announcement-live-preview) .home-announcement-icon {
  border: 1px solid rgb(255 255 255 / 55%);
  color: #fff;
  background: rgb(255 255 255 / 16%);
}
:is(#admin-home-announcements, #agent-home-announcements, #announcement-live-preview) .home-announcement :is(strong, p) { color: #fff; }
.announcement-admin-layout { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(420px,1.2fr); gap: 18px; align-items: start; }
.announcement-form { display: grid; gap: 13px; position: sticky; top: 70px; }
.announcement-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.announcement-form-grid > label { min-width: 0; }
.announcement-form-grid input,.announcement-form-grid select { width: 100%; min-width: 0; max-width: 100%; }
.page-target-picker { margin: 0; border: 1px solid var(--theme-input-border); border-radius: var(--theme-radius); background: var(--theme-input); }
.page-target-picker > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; color: var(--theme-label); cursor: pointer; font-size: .78rem; font-weight: 800; }
.page-target-picker > summary strong { color: var(--theme-text); font-size: .72rem; }
.page-target-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 12px; max-height: 220px; overflow: auto; border-top: 1px solid var(--theme-border-soft); padding: 11px 12px; }
.page-target-options label { display: flex; align-items: center; gap: 7px; color: var(--theme-text); font-size: .75rem; font-weight: 600; }
.page-target-options input { width: 15px; height: 15px; margin: 0; accent-color: var(--theme-primary); }
.announcement-image-upload-zone { display: grid; place-items: center; min-height: 145px; border: 2px dashed var(--theme-input-border); border-radius: var(--theme-radius); padding: 14px; background: var(--theme-input); color: var(--theme-muted); text-align: center; cursor: pointer; transition: 150ms ease; }
.announcement-image-upload-zone:hover,.announcement-image-upload-zone:focus-visible,.announcement-image-upload-zone.is-dragover { border-color: var(--theme-primary,#1f6f78); outline: 0; background: var(--theme-input); }
.announcement-image-upload-zone.is-uploading { opacity: .6; pointer-events: none; }
#announcement-image-empty { display: grid; gap: 4px; }
#announcement-image-empty strong { color: var(--theme-heading,#173f45); }
#announcement-image-empty small { color: #839096; }
.announcement-image-preview { display: grid; gap: 10px; justify-items: center; width: 100%; }
.announcement-image-preview img { display: block; width: 100%; max-height: 220px; border-radius: 6px; object-fit: contain; }
.announcement-live-preview { display: grid; gap: 8px; border-top: 1px solid var(--theme-border-soft); padding-top: 14px; }
.announcement-live-preview > .eyebrow { margin: 0; }
.announcement-live-preview .home-announcement-stack { margin: 0; }
.announcement-live-preview .home-announcement { text-align: left; }
.announcement-live-preview a { pointer-events: none; }
.announcement-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--theme-border-soft); padding-top: 14px; }
.announcement-form-actions label { display: flex; flex-direction: row; align-items: center; gap: 9px; min-width: 0; cursor: pointer; }
.announcement-form-actions label input { flex: 0 0 auto; width: 17px; height: 17px; margin: 0; }
.announcement-form-actions label span { display: grid; gap: 1px; }
.announcement-form-actions label strong { color: var(--theme-heading,#173f45); font-size: .78rem; }
.announcement-form-actions label small { color: #78868b; font-size: .68rem; font-weight: 500; }
.announcement-form-actions > button { flex: 0 0 auto; }
.announcement-admin-thumbnail { display: block; width: 100%; max-height: 150px; border-radius: 6px; object-fit: cover; }
.announcement-admin-list { display: grid; gap: 10px; }
.announcement-admin-card { display: grid; gap: 8px; border: 1px solid #d9e1e3; border-left: 4px solid #8eabb3; border-radius: 7px; padding: 14px; background: #fbfcfc; opacity: .72; }
.announcement-admin-card.is-active { opacity: 1; }
.announcement-admin-card.priority-general { border-left-color: var(--theme-notice-general); }
.announcement-admin-card.priority-important { border-left-color: var(--theme-notice-important); }
.announcement-admin-card.priority-urgent { border-left-color: var(--theme-notice-urgent); }
.announcement-admin-heading,.announcement-admin-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.announcement-admin-card p { margin: 0; color: #465960; line-height: 1.45; white-space: pre-wrap; }
.announcement-admin-card small { color: #738087; }
.announcement-admin-actions { justify-content: flex-start; margin-top: 3px; }
.announcement-admin-actions .announcement-deactivate { color: #775b1f; border-color: #d7c27d; background: #fff7df; }
.dashboard-context-prompts { display: grid; gap: 10px; margin-bottom: 16px; }
.dashboard-survey-stack { display: grid; gap: 12px; margin: 0 0 16px; }
.dashboard-survey-stack:empty { display: none; }
.dashboard-survey-card { display: grid; grid-template-columns: minmax(190px,.48fr) minmax(0,1.52fr); gap: 22px; border: 1px solid var(--theme-nav-border); border-left: 5px solid var(--theme-primary); border-radius: var(--theme-radius); padding: 18px; color: var(--theme-text); background: var(--theme-card-background); box-shadow: 0 5px 16px rgb(31 55 62 / 8%); }
.dashboard-survey-card.survey-style-general,.dashboard-survey-card.survey-style-important,.dashboard-survey-card.survey-style-urgent { border-color: color-mix(in srgb,var(--notice-accent) 45%,var(--theme-border)); border-left-color: var(--notice-accent); background: color-mix(in srgb,var(--notice-accent) 10%,var(--theme-card-background)); }
.dashboard-survey-card.survey-style-general { --notice-accent: var(--theme-notice-general); }
.dashboard-survey-card.survey-style-important { --notice-accent: var(--theme-notice-important); }
.dashboard-survey-card.survey-style-urgent { --notice-accent: var(--theme-notice-urgent); }
.dashboard-survey-intro h3 { margin: 3px 0 7px; color: var(--theme-section-title); font-size: 1.1rem; }
.dashboard-survey-intro > p:last-child { margin: 0; color: var(--theme-description); line-height: 1.5; }
.dashboard-survey-form { display: grid; gap: 13px; }
.dashboard-survey-question { display: grid; gap: 8px; margin: 0; border: 0; padding: 0; }
.dashboard-survey-question legend { margin-bottom: 5px; padding: 0; color: var(--theme-label); font-size: .78rem; font-weight: 800; }
.survey-response-options { display: grid; gap: 6px; }
.survey-response-options label,.survey-rating-options label { display: flex; align-items: center; gap: 6px; color: var(--theme-text); font-size: .8rem; font-weight: 600; }
.survey-response-options input,.survey-rating-options input { width: 16px; height: 16px; margin: 0; accent-color: var(--theme-primary); }
.survey-rating-options { display: flex; flex-wrap: wrap; gap: 10px; }
.dashboard-survey-form > button { justify-self: start; }
.survey-admin-layout { display: grid; grid-template-columns: minmax(430px,1.12fr) minmax(330px,.88fr); gap: 18px; align-items: start; }
.survey-builder-form { display: grid; gap: 13px; }
.survey-question-builder { display: grid; gap: 10px; border-top: 1px solid var(--theme-border-soft); padding-top: 14px; }
.survey-question-heading,.survey-question-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.survey-question-heading h3 { margin: 2px 0 0; color: var(--theme-section-title); }
#survey-question-list,.survey-admin-list { display: grid; gap: 9px; }
.survey-question-card,.survey-admin-card { display: grid; gap: 9px; border: 1px solid var(--theme-border); border-radius: var(--theme-card-radius); padding: 12px; background: var(--theme-card-background); }
.survey-question-card-heading > div { display: flex; gap: 4px; }
.survey-question-card .icon-button { width: 28px; min-width: 28px; min-height: 28px; padding: 3px; }
.survey-question-grid { display: grid; grid-template-columns: minmax(0,1fr) 150px; gap: 9px; }
.survey-question-grid textarea,.survey-question-grid select { min-height: 38px; }
.survey-question-grid .survey-choices-field { grid-column: 1 / -1; }
.survey-required-field { font-size: .75rem; }
.survey-admin-card { opacity: .72; }
.survey-admin-card.is-active { border-left: 4px solid var(--theme-primary); opacity: 1; }
.survey-admin-card p { margin: 0; color: var(--theme-description); line-height: 1.45; }
.survey-admin-card small { color: var(--theme-muted); }
@media (max-width: 900px) { .announcement-admin-layout { grid-template-columns: 1fr; } .announcement-form { position: static; } }
@media (max-width: 1000px) { .survey-admin-layout,.dashboard-survey-card { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .announcement-form-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .page-target-options,.survey-question-grid { grid-template-columns: 1fr; } .survey-question-grid .survey-choices-field { grid-column: auto; } }
@media (max-width: 620px) { .home-announcement.has-image { grid-template-columns: 28px minmax(0,1fr); } .home-announcement-image { grid-column: 2; max-height: 220px; } }
@media (max-width: 620px) { .announcement-form-actions { align-items: stretch; flex-direction: column; } .announcement-form-actions > button { width: 100%; } }

.leadership-agent-preview {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 30;
  display: grid;
  width: 320px;
  max-width: min(320px, 78vw);
  min-width: 280px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
  box-shadow: 0 14px 38px rgba(31, 37, 40, 0.18);
}

.leadership-agent-preview strong,
.leadership-agent-preview p,
.leadership-agent-preview span {
  word-break: normal;
}

.leadership-agent-hover:hover .leadership-agent-preview,
.leadership-agent-hover:focus-within .leadership-agent-preview {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.leadership-search-results {
  display: grid;
  gap: 8px;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(31, 37, 40, 0.42);
}

.modal-panel {
  width: min(680px, 100%);
  max-height: min(760px, calc(100vh - 40px));
  overflow: auto;
  border: 1px solid #cbd5d8;
  border-radius: 8px;
  padding: 18px;
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(31, 37, 40, 0.2);
}

.completion-modal-panel {
  width: min(460px, 100%);
}

.booking-import-progress {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 20px;
  background: color-mix(in srgb, var(--theme-shell) 42%, rgba(16, 25, 31, .76));
  backdrop-filter: blur(4px);
}

body.booking-import-locked { overflow: hidden; }

.booking-import-progress-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  width: min(520px, 100%);
  padding: 26px 28px;
  border-radius: var(--theme-radius);
  color: var(--theme-body);
  background: var(--theme-card-background, var(--theme-card));
  box-shadow: -8px 14px 42px color-mix(in srgb, var(--theme-text) 26%, transparent);
}

.booking-import-progress-panel .pixie-wing-loader {
  width: 48px;
  height: 56px;
  color: var(--theme-primary);
}

.booking-import-progress-panel h2 { margin: 3px 0 8px; color: var(--theme-heading); }
.booking-import-progress-panel p:last-child { margin: 0; line-height: 1.5; }

@media (max-width: 560px) {
  .booking-import-progress-panel { grid-template-columns: 1fr; text-align: center; }
  .booking-import-progress-panel .pixie-wing-loader { margin: 0 auto; }
}

.promotion-confirmation-panel { width: min(760px, 100%); }
.promotion-confirmation-intro { margin: 8px 0 16px; color: var(--theme-label); line-height: 1.55; }
.promotion-confirmation-list { display: grid; gap: 10px; max-height: min(480px, 55vh); overflow: auto; padding: 2px 5px 8px 2px; }
.promotion-confirmation-item { padding: 14px 16px; border-radius: var(--theme-radius); background: var(--theme-card-background, var(--theme-card)); box-shadow: -4px 8px calc(8px + var(--theme-shadow-strength) * .45px) color-mix(in srgb, var(--theme-text) 14%, transparent); }
.promotion-confirmation-item header { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.promotion-confirmation-item header strong { color: var(--theme-heading); }
.promotion-confirmation-arrow { color: var(--theme-muted); font-weight: 700; }
.promotion-benefit-change { margin: 5px 0 0; color: var(--theme-body); font-size: .88rem; line-height: 1.45; }
.promotion-benefit-change strong { color: var(--theme-heading); }
.promotion-benefit-change.is-ending { color: var(--theme-muted); }

.questionnaire-modal-panel { width: min(760px, 100%); }
.questionnaire-answer-list { display: grid; gap: 0; margin-top: 8px; }
.questionnaire-answer-item { padding: 17px 2px; border-top: 1px solid #e1e7e9; }
.questionnaire-answer-item:first-child { border-top: 0; }
.questionnaire-answer-item h3 { margin: 0 0 7px; color: var(--theme-heading); font-size: .82rem; line-height: 1.4; text-transform: none; }
.questionnaire-answer-item p { margin: 0; color: var(--theme-muted); line-height: 1.65; white-space: pre-wrap; }
.prospect-applicant-details { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px; }
.prospect-applicant-details .prospect-notes { flex: 1 1 420px; margin: 7px 0 0; }
button.secondary.questionnaire-answers-button { flex: 0 0 auto; min-height: 34px; padding: 0 13px; font-size: .84rem; }
.prospect-confirmation-panel { width: min(500px, 100%); }
.prospect-confirmation-message { margin: 8px 0 24px; color: var(--theme-label); font-size: 1rem; line-height: 1.6; }
.prospect-notes-button { flex: 0 0 auto; min-height: 34px; padding: 0 13px; font-size: .84rem; }
.prospect-notes-panel { width: min(680px, 100%); }
.prospect-note-history { display: grid; gap: 10px; max-height: 340px; margin: 8px 0 20px; overflow: auto; }
.prospect-note-history > p:not(.empty-state) { margin: 0; padding: 13px 15px; border-left: 3px solid #b7ccd1; color: #43575d; background: #f4f7f8; line-height: 1.55; white-space: pre-wrap; }
.prospect-note-form { display: grid; gap: 12px; padding-top: 18px; border-top: 1px solid #dce4e6; }
.email-signature-preview-shell { min-height: 230px; padding: 36px; border: 1px solid #dce4e6; border-radius: 14px; background: #fff; box-shadow: 0 12px 30px rgba(23, 63, 69, .08); display: flex; align-items: center; overflow-x: auto; }
#business-cards-view .business-card-workspace > .business-card-preview-panel,
#email-signatures-view .email-signature-workspace > .business-card-preview-panel { border: 0 !important; border-radius: 0 !important; padding: 0; background: transparent !important; box-shadow: none !important; }
#email-signature-preview { min-width: 520px; }
.email-signature-copy-help { margin: 14px 0 0; }
@media (max-width: 720px) {
  .email-signature-preview-shell { padding: 22px; }
}
.prospect-note-form label { display: grid; gap: 7px; color: var(--theme-label); font-size: .78rem; font-weight: 800; }

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.modal-actions .danger { order: -1; margin-right: auto; border-color: #b45a57; color: #983f3c; background: #fff5f4; }
.modal-actions .danger:hover, .modal-actions .danger:focus-visible { border-color: #983f3c; color: #fff; background: #983f3c; }

.bookings-import-form {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) minmax(160px, 0.8fr) minmax(130px, 0.6fr) auto;
  gap: 12px;
  align-items: end;
}

.bookings-import-form.full-report-import-form {
  grid-template-columns: minmax(320px, 1fr) auto;
}

.bookings-import-actions {
  display: flex;
  justify-content: flex-end;
}

.vendor-reconciliation-panel {
  margin: 1rem 0 1.25rem;
  padding: 1rem;
  border: 1px solid rgba(182, 137, 35, 0.42);
  border-radius: 14px;
  background: rgba(255, 246, 214, 0.42);
}

.vendor-reconciliation-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .75rem;
}

.vendor-reconciliation-header h3,
.vendor-reconciliation-header p {
  margin: 0;
}

.vendor-reconciliation-table {
  margin-top: .75rem;
}

.vendor-toolbar,
.vendor-form-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, .45fr) minmax(130px, .25fr);
  gap: 14px;
  align-items: end;
}

.vendor-toolbar {
  margin-bottom: 16px;
}

.vendor-toolbar label {
  display: grid;
  gap: 6px;
  color: var(--theme-label);
  font-size: .78rem;
  font-weight: 800;
}

.vendor-active-toggle {
  display: flex !important;
  align-items: center;
  min-height: 42px;
  gap: 8px;
}

.vendor-active-toggle input {
  width: 16px;
  height: 16px;
  margin: 0;
}

.vendor-management-table tr.is-inactive {
  opacity: .62;
  background: #f5f6f6;
}

#vendor-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 16px;
}
.vendor-ranking-controls { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 14px; align-items: end; }
.vendor-ranking-picker { position: relative; display: grid; gap: 6px; align-self: start; }
.vendor-ranking-picker > label { color: var(--theme-label); font-size: .78rem; font-weight: 800; }
.vendor-ranking-options { position: absolute; z-index: 20; top: 100%; left: 0; right: 0; max-height: 230px; overflow-y: auto; border: 1px solid var(--theme-border); border-radius: var(--theme-card-radius, 8px); padding: 4px; background: var(--theme-card); box-shadow: var(--theme-shadow); }
.vendor-ranking-options.hidden { display: none; }
.vendor-ranking-controls .vendor-ranking-options button { display: block; width: 100%; min-height: 0; padding: 8px 10px; border: 0; border-radius: 4px; color: var(--theme-text); background: transparent; font-size: .82rem; text-align: left; cursor: pointer; }
.vendor-ranking-options button:hover, .vendor-ranking-options button:focus-visible { background: var(--theme-input); }
.vendor-ranking-selected { display: flex; flex-wrap: wrap; gap: 5px; }
.vendor-ranking-chip { display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; padding: 2px 4px 2px 9px; color: var(--theme-text); background: var(--theme-input); font-size: .76rem; }
.vendor-ranking-controls .vendor-ranking-chip button { min-height: 0; border: 0; padding: 0 4px; color: inherit; background: transparent; font-size: 1rem; cursor: pointer; }
.vendor-ranking-summary-pills { display: flex; flex-wrap: wrap; gap: 5px; }
.vendor-ranking-summary-pills span { display: inline-block; max-width: 100%; overflow-wrap: anywhere; border-radius: 999px; padding: 4px 8px; color: var(--theme-text); background: var(--theme-input); font-size: .78rem; line-height: 1.25; font-weight: 700; }
.vendor-ranking-controls label { display: grid; gap: 6px; color: var(--theme-label); font-size: .78rem; font-weight: 800; }
.vendor-ranking-controls .hidden { display: none; }
.vendor-ranking-controls .vendor-ranking-checkbox { display: flex; align-items: center; min-height: 42px; gap: 8px; }
.vendor-ranking-checkbox input { width: 16px; height: 16px; margin: 0; accent-color: var(--theme-primary); }
.vendor-ranking-controls button { min-height: 38px; }
.benefit-form { gap: 16px; }
.benefit-form-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 14px; }
.benefit-level-fieldset { border: 1px solid var(--theme-border-soft); border-radius: 8px; padding: 14px; }
.benefit-level-fieldset legend { padding: 0 6px; color: var(--theme-label); font-size: .78rem; font-weight: 850; }
.benefit-level-options { display: flex; flex-wrap: wrap; gap: 9px; }
.benefit-level-options label { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.benefit-level-options input { width: 15px; height: 15px; margin: 0; accent-color: var(--theme-primary); }
.benefit-active-toggle { display: flex !important; align-items: center; gap: 8px; }
.benefit-active-toggle input { width: 16px; height: 16px; margin: 0; }
.benefit-form-actions { display: flex; justify-content: flex-end; gap: 10px; }
.benefit-form-actions .danger { margin-right: auto; border-color: #b45a57; color: #983f3c; background: #fff5f4; }
.benefit-form-actions .danger:hover { border-color: #983f3c; color: #fff; background: #983f3c; }
.benefit-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.benefit-card { display: grid; gap: 14px; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-card-radius); padding: 18px; background: var(--theme-card-background); }
.benefit-card.is-inactive { opacity: .65; background: var(--theme-card-background); }
.benefit-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.benefit-card h3 { margin: 0; }
.benefit-card-heading p, .benefit-card > p { margin: 4px 0 0; color: var(--theme-description); font-size: .8rem; line-height: 1.5; }
.benefit-card-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.benefit-card-details span { display: grid; gap: 3px; border: 1px solid var(--theme-input-border); border-radius: 7px; padding: 9px 10px; background: var(--theme-input); color: var(--theme-text); font-size: .78rem; }
.benefit-card-details strong { color: var(--theme-label); font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; }
.benefit-award-selection-summary { min-height: 0; }
.benefit-award-selection-summary p { margin: 0; border-radius: 8px; padding: 10px 12px; color: var(--theme-text); background: var(--theme-secondary); font-size: .76rem; font-weight: 700; }
.achievement-toggle-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.achievement-award-agent-results { display: grid; max-height: 260px; overflow: auto; border-radius: 8px; box-shadow: 0 10px 26px rgba(27, 56, 65, .12); }
.achievement-award-agent-result { width: 100%; border: 0; border-bottom: 1px solid #e3ebed; border-radius: 0; padding: 10px 12px; background: #fff; color: #24373d; text-align: left; }
.achievement-award-agent-result:hover { background: #edf6f6; color: #1f6068; }
.achievement-award-selected { display: flex; flex-wrap: wrap; gap: 8px; }
.achievement-award-selected .empty-state { width: 100%; }
.achievement-award-agent-pill { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 6px 7px 6px 12px; background: #e5f1f2; color: #245f66; font-size: .82rem; font-weight: 800; }
.achievement-award-agent-pill button { display: grid; width: 22px; height: 22px; min-height: 0; place-items: center; border-radius: 50%; padding: 0; font-size: 1rem; line-height: 1; }
.achievement-award-launch-button { display: inline-flex; align-items: center; gap: 8px; border-color: #a96f08; background: #c48616; color: #fff; }
.achievement-award-launch-button:hover { border-color: #855605; background: #a96f08; }
.achievement-award-launch-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.achievement-definitions-header { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.achievement-awards-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; padding-top: 16px; }
.achievement-awards-pagination span { color: var(--theme-description); font-size: .78rem; font-weight: 700; }
#agent-achievement-awards { overflow: visible; }
#promotion-results,
#rollover-results { overflow: visible; }
@media (max-width: 640px) {
  .achievement-definitions-header { grid-template-columns: 1fr; }
  .achievement-definitions-header > button { justify-self: start; }
  .achievement-awards-pagination { flex-wrap: wrap; }
}
.achievement-icon-fieldset { border: 1px solid var(--theme-border-soft); border-radius: 9px; padding: 14px; }
.achievement-icon-fieldset legend { padding: 0 6px; color: var(--theme-label); font-size: .78rem; font-weight: 850; }
.achievement-icon-chooser { display: grid; grid-template-columns: repeat(6, minmax(82px, 1fr)); gap: 9px; }
.achievement-icon-option { display: grid; justify-items: center; gap: 5px; min-height: 78px; border: 1px solid #dbe5e7; border-radius: 9px; padding: 9px 6px; background: #fff; }
.achievement-icon-option:hover { border-color: currentColor; background: #f6fafb; }
.achievement-icon-option.is-selected { border: 2px solid currentColor; background: #edf6f6; box-shadow: 0 0 0 2px rgba(45, 116, 125, .1); }
.achievement-icon-option svg { width: 27px; height: 27px; }
.achievement-toggle-grid label { display: flex; align-items: center; gap: 7px; border-radius: 7px; padding: 10px; background: #f3f7f7; }
.achievement-toggle-grid input { width: 16px; height: 16px; margin: 0; accent-color: var(--theme-primary); }
.achievement-definition-form { gap: 10px; }
.achievement-editor-columns { display: grid; grid-template-columns: minmax(280px, 0.8fr) minmax(520px, 1.2fr); align-items: start; gap: 16px; }
.achievement-definition-form .benefit-form-grid { grid-template-columns: 1fr; align-items: start; gap: 10px; }
.achievement-definition-form .benefit-form-grid > label { align-self: start; width: 100%; }
.achievement-compact-field-row { display: flex; align-items: end; gap: 10px; }
.achievement-compact-field-row > .achievement-sort-field,
.achievement-compact-field-row > #achievement-ranking-field { width: 96px; }
.achievement-sort-field input, #achievement-ranking-field input { min-width: 0; text-align: center; }
.achievement-definition-form textarea { min-height: 68px; }
.achievement-visual-column { display: grid; gap: 10px; }
.achievement-definition-form .achievement-icon-fieldset,
.achievement-definition-form .achievement-color-fieldset { padding: 9px; }
.achievement-definition-form .achievement-icon-chooser { grid-template-columns: repeat(9, minmax(44px, 1fr)); gap: 6px; }
.achievement-definition-form .achievement-icon-option { min-height: 46px; padding: 6px 4px; }
.achievement-definition-form .achievement-icon-option svg { width: 23px; height: 23px; }
.achievement-custom-icon-option { position: relative; }
.achievement-custom-icon-option::after { content: "+"; position: absolute; right: calc(50% - 19px); bottom: 5px; display: grid; width: 14px; height: 14px; place-items: center; border-radius: 50%; background: currentColor; color: #fff; font-size: 11px; font-weight: 900; line-height: 1; }
.achievement-definition-form .achievement-toggle-grid { gap: 7px; }
.achievement-definition-form .achievement-toggle-grid label { padding: 8px 10px; }
.auto-field-label { display: inline-flex; margin-left: 5px; border-radius: 999px; padding: 2px 6px; background: #e5f1f2; color: #24636a; font-size: .6rem; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; vertical-align: middle; }
.achievement-name-row { display: flex; align-items: center; gap: 10px; }
.achievement-name-row img, .achievement-badge-placeholder { width: 30px; height: 30px; flex: 0 0 30px; object-fit: cover; }
.achievement-badge-placeholder { display: inline-flex; align-items: center; justify-content: center; background: transparent; }
.achievement-badge-placeholder svg { width: 30px; height: 30px; }
#achievement-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.achievement-card { gap: 8px; padding: 12px 13px; }
.achievement-card .benefit-card-heading { gap: 10px; }
.achievement-card .benefit-card-heading p,
.achievement-card > p { margin-top: 2px; line-height: 1.35; }
.achievement-card > p:not(.achievement-rule-summary) { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.achievement-card-actions { display: grid; flex: 0 0 auto; justify-items: end; gap: 7px; }
.achievement-catalog-statuses { display: flex; align-items: center; gap: 5px; }
.achievement-catalog-status { position: relative; display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: #e8f2ef; color: #34705f; }
.achievement-catalog-status svg { width: 14px; height: 14px; }
.achievement-catalog-status.is-disabled { background: #eef1f2; color: var(--theme-muted); }
.achievement-catalog-status.is-disabled::after { content: ""; position: absolute; width: 16px; border-top: 1.5px solid currentColor; transform: rotate(-45deg); }
.achievement-rule-summary { padding-top: 7px; border-top: 1px solid var(--theme-border-soft); color: var(--theme-description) !important; font-size: .73rem !important; }
.achievement-rule-summary strong { margin-right: 4px; color: var(--theme-label); font-size: .64rem; letter-spacing: .04em; text-transform: uppercase; }
.profile-checkbox-field { display: flex !important; align-items: center; gap: 10px; border: 1px solid var(--theme-border-soft); border-radius: 8px; padding: 12px 14px; background: #f4f8f8; cursor: pointer; }
.profile-checkbox-field input { width: 18px; height: 18px; margin: 0; accent-color: var(--theme-primary); }
.profile-checkbox-field span { display: grid; gap: 2px; }
.profile-checkbox-field small { color: var(--theme-description); font-weight: 500; }
@media (max-width: 1100px) { #achievement-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .benefit-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .achievement-editor-columns, .achievement-definition-form .benefit-form-grid { grid-template-columns: 1fr; } .benefit-catalog, #achievement-catalog { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .benefit-form-grid, .achievement-definition-form .benefit-form-grid, .achievement-toggle-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .achievement-icon-chooser, .achievement-definition-form .achievement-icon-chooser { grid-template-columns: repeat(3, minmax(78px, 1fr)); } }
@media (min-width: 901px) and (max-width: 1050px) { .achievement-editor-columns { grid-template-columns: minmax(250px, .75fr) minmax(450px, 1.25fr); } }
@media (max-width: 900px) { .vendor-ranking-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .vendor-ranking-controls { grid-template-columns: 1fr; } }

.rollover-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}

.bookings-fy-coverage-card {
  grid-column: 1 / -1;
  display: grid;
  gap: 9px;
  border: 1px solid var(--theme-border-soft);
  border-radius: 10px;
  padding: 14px;
  background: #f8fafb;
}

.bookings-fy-coverage-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: var(--theme-heading);
  font-size: .78rem;
}

.bookings-fy-coverage-heading span { color: var(--theme-muted); font-size: .7rem; font-weight: 700; }

.bookings-fy-coverage-bar {
  display: flex;
  width: 100%;
  min-height: 54px;
  overflow: hidden;
  border-radius: 8px;
  background: #e9eef0;
  box-shadow: inset 0 0 0 1px rgba(23, 63, 69, .08);
}

.bookings-fy-coverage-segment {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-width: 0;
  padding: 8px 10px;
  color: #fff;
  text-align: center;
}

.bookings-fy-coverage-segment.is-primary { background: var(--theme-primary-background); }
.bookings-fy-coverage-segment.is-secondary { background: #d29b35; }
.bookings-fy-coverage-segment strong { font-size: 1rem; line-height: 1.1; }
.bookings-fy-coverage-segment span { margin-top: 3px; font-size: .66rem; font-weight: 800; line-height: 1.1; white-space: nowrap; }

.level-milestones {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.level-recalculation-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.level-recalculation-controls .empty-state { margin: 0; }
.level-recalculation-controls button { flex: 0 0 auto; }

.level-milestone-card {
  display: grid;
  align-items: center;
  min-height: 72px;
  border: 1px solid rgba(31, 37, 40, 0.12);
  border-radius: 8px;
  padding: 10px;
}
.level-edit-button { display: inline-grid; place-items: center; width: 32px; min-height: 32px; border-color: currentColor; padding: 6px; color: inherit; background: transparent; }
.level-edit-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.level-edit-form { display: grid; gap: 10px; width: 100%; }
.level-edit-form label { display: grid; gap: 4px; font-size: .68rem; font-weight: 900; }
.level-edit-form input { width: 100%; border: 1px solid rgba(255,255,255,.6); padding: 8px; color: var(--theme-heading); background: #fff; }
.level-color-field { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 8px; align-items: center; }
.level-edit-form .level-color-field input[type="color"] { width: 42px; height: 36px; padding: 2px; cursor: pointer; }
.level-edit-form .level-color-field input[type="text"] { min-width: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .72rem; text-transform: uppercase; }
.level-edit-form > div { display: flex; gap: 7px; }
.level-edit-form button { min-height: 32px; padding: 5px 10px; font-size: .68rem; }

.level-milestone-card div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.level-milestone-card strong {
  font-size: 0.86rem;
}

.level-milestone-card span:last-child {
  color: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  opacity: 0.78;
}

.compact-stat {
  min-height: 86px;
}

.compact-stat.has-unresolved {
  border-color: #d8544b;
  background: #fff1ef;
  box-shadow: 0 5px 18px rgba(170, 48, 40, .1);
}

.compact-stat.has-unresolved span,
.compact-stat.has-unresolved strong {
  color: #b52e27;
}

.compact-stat.has-promotions {
  border-color: #8dc8a8;
  background: #effaf3;
  box-shadow: 0 5px 18px rgba(24, 131, 79, .08);
}

.compact-stat.has-promotions span,
.compact-stat.has-promotions strong { color: #147344; }

.rollover-results {
  overflow-x: auto;
}
.rollover-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 14px; min-width: 520px; padding-top: 16px; }
.rollover-list-controls { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(130px, 180px); gap: 14px; align-items: end; }
.rollover-list-controls.promotion-list-controls { grid-template-columns: minmax(240px, 1fr) minmax(130px, 180px); }
.rollover-list-controls.year-end-list-controls { grid-template-columns: minmax(240px, 1fr) minmax(130px, 180px) auto; }
.rollover-list-controls label { display: grid; gap: 6px; color: var(--theme-label); font-size: .78rem; font-weight: 800; }
.rollover-list-controls .rollover-show-all-toggle { display: flex; align-items: center; align-self: end; min-height: 42px; gap: 7px; white-space: nowrap; cursor: pointer; }
.rollover-show-all-toggle input { width: 16px; height: 16px; margin: 0; accent-color: var(--theme-primary); }
#rollover-missing-records { display: grid; gap: 10px; }
.missing-annual-callout { display: flex; justify-content: space-between; align-items: center; gap: 20px; border: 1px solid #dfb65f; border-left-width: 5px; border-radius: 8px; padding: 16px 18px; color: #6f4d13; background: #fff9eb; }
.missing-annual-callout p { margin: 5px 0 0; color: #7d6845; font-size: .82rem; line-height: 1.45; }
.missing-annual-callout button { flex: 0 0 auto; }
.rollover-pagination span { color: var(--theme-description); font-size: .78rem; font-weight: 700; }
.rollover-movement { font-weight: 900; }
.rollover-movement::before { display: inline-block; border-radius: 999px; padding: 5px 9px; }
.rollover-movement.is-up::before { content: "↑ Moving up"; color: #146c43; background: #dff5e9; }
.rollover-movement.is-down::before { content: "↓ Moving down"; color: #b42318; background: #fde8e6; }
.rollover-movement.is-new::before { content: "New level"; color: #285d78; background: #e2f0f6; }
.rollover-movement.is-change { color: #6a5681; }
.rollover-movement.is-up, .rollover-movement.is-down, .rollover-movement.is-new { color: transparent; font-size: 0; }
.rollover-movement.is-up::before, .rollover-movement.is-down::before, .rollover-movement.is-new::before { font-size: .78rem; }
.rollover-level-arrow { display: inline-flex; align-items: center; justify-content: center; margin-left: 7px; font-size: .9rem; font-weight: 1000; line-height: 1; vertical-align: middle; }
.rollover-level-arrow.is-up { color: #16834f; }
.rollover-level-arrow.is-down { color: #c94a40; }
.rollover-proposed-level { margin-left: 7px; }
.rollover-action-status { color: var(--theme-description); font-size: .76rem; font-weight: 800; }
.rollover-action-status.is-missing-target-record,
.rollover-action-status.is-missing-earned-level { color: #a46a11; }
.year-end-rollover-panel { border-color: #d9cda9; background: #fffdf8; }
.year-end-rollover-panel.is-outlook,
.year-end-rollover-panel.is-finalized { border-color: #d8dfe1; background: #f5f7f7; }
.rollover-mode-banner { border-radius: 8px; padding: 12px 15px; color: #73561c; background: #fff1c9; font-size: .82rem; font-weight: 800; }
.is-outlook .rollover-mode-banner,
.is-finalized .rollover-mode-banner { color: #617075; background: #e9eeee; }
.outlook-status { display: inline-flex; border-radius: 999px; padding: 6px 9px; font-size: .72rem; font-weight: 850; white-space: nowrap; }
.outlook-status.is-ahead { color: #146c43; background: #dff5e9; }
.outlook-status.is-maintaining { color: #3e6066; background: #e6eff1; }
.outlook-status.is-behind { color: #746d5f; background: #f0ede7; }
.outlook-status.is-unavailable { color: #707a7e; background: #e9edee; }
.agent-level-progress-panel { display: grid; gap: 16px; border: 1px solid #d8e4e6; border-radius: 10px; padding: 22px; background: linear-gradient(135deg, #fbfefe 0%, #f1f8f8 100%); }
.agent-level-progress-heading,
.agent-level-progress-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.agent-level-progress-heading h2 { margin: 3px 0 0; }
.agent-level-progress-total { color: #245f67; font-size: 1.45rem; }
.agent-level-progress-track { height: 15px; overflow: hidden; border-radius: 999px; background: #dfe9ea; box-shadow: inset 0 1px 2px rgba(26, 59, 64, .12); }
.agent-level-progress-track > span { display: block; height: 100%; min-width: 3px; border-radius: inherit; background: linear-gradient(90deg, #4c9199, #2d747d); transition: width .45s ease; }
.agent-level-progress-footer { color: #627277; font-size: .8rem; font-weight: 750; }
.agent-level-progress-footer > span { display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 600px) {
  .agent-level-progress-heading,
  .agent-level-progress-footer { align-items: flex-start; flex-direction: column; }
}
.promotion-summary-action { display: grid; grid-template-columns: minmax(180px, 1fr) auto; align-items: center; gap: 12px; }
.promotion-summary-action .rollover-summary { width: 100%; }
.promotion-year-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.fiscal-year-pill {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  border: 1px solid rgba(31, 111, 120, .24);
  border-radius: 999px;
  padding: 3px 9px;
  color: var(--theme-primary);
  background: #e8f4f4;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1;
  vertical-align: middle;
}

@media (max-width: 640px) {
  .promotion-summary-action { grid-template-columns: 1fr; justify-items: start; }
}
.promotion-row.is-promotion td { background: var(--theme-card-background); }
.promotion-now-button { min-height: 32px; border-color: var(--theme-primary-background); padding: 7px 11px; background: var(--theme-primary-background); font-size: .74rem; }
.promotion-now-button:hover { border-color: var(--theme-primary-hover); background: var(--theme-primary-hover); }
.promotion-review-button { min-height: 32px; padding: 7px 11px; font-size: .74rem; }
.promotion-status { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 9px; font-size: .7rem; font-weight: 850; white-space: nowrap; }
.promotion-status.is-current { color: #3e6066; background: #edf2f3; }
.promotion-status.is-protected { color: #80601e; background: #fff0c8; }
.promotion-status.is-missing-current-record,
.promotion-status.is-missing-earned-level,
.promotion-status.is-needs-sync { color: #a9342d; background: #fde9e7; }
.earned-level-panel { border-color: #b9dfca; background: linear-gradient(180deg, #fbfffc 0%, #f3fbf6 100%); }
.earned-level-row { align-items: center; }
.earned-level-change { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.earned-level-current { color: var(--theme-description); font-size: .78rem; font-weight: 800; }
.earned-level-up-arrow { color: #16834f; font-size: 1rem; font-weight: 1000; line-height: 1; }

.rollover-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.missing-agent-levels-inactive { margin-top: 14px; }
.missing-agent-levels-inactive summary { cursor: pointer; color: var(--theme-description); font-size: .9rem; font-weight: 800; padding: 10px 0; }
.missing-agent-levels-inactive summary:hover { color: var(--theme-primary-background); }
.missing-agent-levels-inactive[open] summary { margin-bottom: 8px; }

.rollover-table th,
.rollover-table td {
  border-bottom: 1px solid var(--theme-border-soft);
  padding: 10px 8px;
  text-align: left;
}

.rollover-table th {
  color: var(--theme-muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.directory-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.directory-toolbar label { display: grid; flex: 0 1 170px; gap: 6px; color: var(--theme-label); font-size: .78rem; font-weight: 800; }
.directory-toolbar label:first-child { flex: 1 1 280px; }
.crm-table-wrap { max-height: min(72vh, 900px); overflow: auto; border: 1px solid var(--theme-border-soft); border-radius: 8px; }
.crm-table { width: 100%; min-width: 760px; }
.crm-table th { position: sticky; top: 0; z-index: 2; background: var(--theme-card-background, #fff); box-shadow: inset 0 -1px 0 var(--theme-border-soft); }
.crm-table td { vertical-align: top; }
.crm-table :is(th, td).crm-col-primary { position: sticky; left: 0; z-index: 1; min-width: 200px; max-width: 280px; background: var(--theme-card-background, #fff); box-shadow: inset -1px 0 0 var(--theme-border-soft); }
.crm-table th.crm-col-primary { z-index: 3; }
.crm-table :is(th, td).crm-col-nowrap { white-space: nowrap; }
.crm-table :is(th, td).crm-col-number { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.crm-table td.crm-col-list { min-width: 140px; max-width: 260px; }
.crm-table td.crm-col-list > *, .crm-table td.crm-col-list { overflow-wrap: anywhere; }
.crm-table td.crm-col-list .trip-entity-links { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
#trips-view { align-content: start; }
#trips-view > .sales-tool-panel:not(#new-trip-panel) { display: flex; flex-direction: column; align-self: start; gap: 10px; }
#new-trip-panel.hidden,#new-trip-form.hidden { display: none; }
#trips-results { flex: 0 0 auto; height: auto; }
#trips-view .directory-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; padding-top: 4px; text-align: center; }
#trips-view .directory-pagination span { min-width: 0; }
.trip-directory-name { min-width: 250px; }
.trip-directory-name > small { display: block; margin-top: 0.2rem; color: var(--muted); font-size: 0.78rem; font-weight: 400; white-space: nowrap; }
.table-sort-button { display: inline-flex; align-items: center; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: inherit; font: inherit; font-weight: inherit; letter-spacing: inherit; text-transform: inherit; white-space: nowrap; }
.table-sort-button:hover,.table-sort-button:focus-visible { background: transparent; box-shadow: none; color: var(--accent); }
.rollover-level-source { display: block; margin-top: 5px; color: #7b878c; font-size: .68rem; }

.rollover-level-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  border: 0;
  border-radius: 999px;
  padding: 3px 10px;
  background: #eef2f3;
  color: var(--theme-text);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.rollover-row.update td:last-child {
  color: var(--theme-primary);
  font-weight: 800;
}

.rollover-row.unchanged td:last-child {
  color: var(--theme-muted);
}

.rollover-row.missing-earned-level td:last-child,
.rollover-row.skipped td:last-child {
  color: #9a5a00;
}

.booking-import-row.unmatched td {
  border-top: 1px solid #d6a442;
  border-bottom: 1px solid #d6a442;
  background: #fff9e8;
}

.bookings-import-table {
  border-collapse: separate;
  border-spacing: 0 7px;
}

.commission-import-table th:nth-child(7),
.commission-import-table td:nth-child(7) {
  min-width: 240px;
  white-space: normal;
}

.commissions-header-actions,
.commissions-toolbar,
.commissions-ledger-heading,
.commissions-pagination {
  display: flex;
  align-items: end;
  gap: 12px;
}

.commissions-header-actions label,
.commissions-toolbar label {
  min-width: 150px;
}

.commissions-ledger-heading {
  align-items: center;
  justify-content: space-between;
}

.commissions-toolbar {
  margin: 18px 0;
}

.commissions-admin-search {
  flex: 1;
  max-width: 460px;
}

.commissions-insight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.commissions-insight-card {
  display: grid;
  gap: 5px;
  padding: 16px;
  border: 1px solid var(--theme-border-color, #dce3ea);
  border-radius: var(--theme-box-radius, 14px);
  background: var(--theme-box-background, #fff);
}

.commissions-insight-card p,
.commissions-insight-card small {
  margin: 0;
}

.commissions-insight-card strong {
  color: var(--theme-number-color, var(--theme-heading-color, #17253d));
  font-size: 1.35rem;
}

.commission-rate-info { position: relative; display: inline-grid; place-items: center; width: 15px; height: 15px; margin-left: 5px; border: 1px solid currentColor; border-radius: 50%; font-size: 10px; font-style: normal; line-height: 1; cursor: help; vertical-align: 1px; }
.commission-rate-info::after { position: absolute; z-index: 20; right: -8px; bottom: calc(100% + 8px); width: 260px; padding: 9px 11px; border: 1px solid var(--theme-border-soft); border-radius: calc(var(--theme-radius) * .7); color: var(--theme-text); background: var(--theme-card); box-shadow: var(--theme-shadow); content: attr(data-tooltip); font-size: .72rem; font-weight: 500; line-height: 1.4; opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity .15s ease, transform .15s ease; }
.commission-rate-info:hover::after,
.commission-rate-info:focus::after { opacity: 1; transform: translateY(0); }

.commissions-inquiry-alert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
  padding: 18px 20px;
  border: 1px solid var(--theme-notice-important, #d7aa3f);
  border-radius: var(--theme-box-radius, 14px);
  background: color-mix(in srgb, var(--theme-notice-important, #d7aa3f) 18%, var(--theme-box-background, #fff));
}

.commissions-inquiry-alert.is-clear {
  border-color: var(--theme-border-soft);
  background: var(--theme-box-background);
}

.commissions-inquiry-alert:not(.is-clear) {
  border-color: var(--theme-notice-urgent);
  color: #fff;
  background: var(--theme-notice-urgent);
  box-shadow: inset 0 0 0 5px #fff,
    -10px 14px 24px color-mix(in srgb, var(--theme-notice-urgent) 26%, transparent);
}

.commissions-inquiry-alert:not(.is-clear) :is(.eyebrow, h3, p) { color: #fff; }
.commissions-inquiry-alert:not(.is-clear) button.secondary {
  border: 1px solid rgb(255 255 255 / 75%);
  color: #fff;
  background: rgb(255 255 255 / 16%);
}
.commissions-inquiry-alert:not(.is-clear) button.secondary:hover { background: rgb(255 255 255 / 28%); }

.commissions-inquiry-alert h3,
.commissions-inquiry-alert p {
  margin: 0;
}

.commissions-inquiry-alert h3 {
  margin-top: 3px;
  color: var(--theme-heading);
}

.commissions-inquiry-alert > div > p:last-child {
  margin-top: 6px;
}
.commissions-inquiry-alert.is-clear > div > p:last-child {
  color: var(--theme-description);
}

.commissions-ledger-table td:nth-last-child(-n + 3) {
  font-variant-numeric: tabular-nums;
}
.commissions-ledger-table .commission-booking-numbers { min-width: 120px; max-width: 320px; overflow-wrap: anywhere; }
.commissions-ledger-table .commission-trip-names { min-width: 160px; max-width: 340px; overflow-wrap: anywhere; }
.commission-booking-link, .commission-trip-link { display: inline; min-height: 0; padding: 0; border: 0; border-radius: 0; color: var(--theme-primary, #26747c); background: transparent; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.commission-booking-link:hover, .commission-booking-link:focus-visible, .commission-trip-link:hover, .commission-trip-link:focus-visible { color: var(--theme-primary, #26747c); background: transparent; box-shadow: none; transform: none; text-decoration: underline; }
.commission-booking-link:focus-visible, .commission-trip-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.commission-booking-preview { position: fixed; z-index: 10000; width: max-content; max-width: min(320px, calc(100vw - 20px)); padding: 13px 16px; border: 1px solid var(--theme-border, #dce5e7); border-radius: 12px; color: var(--theme-text, #354348); background: var(--theme-card, #fff); box-shadow: 0 12px 32px rgba(24, 43, 49, .18); font-size: .84rem; line-height: 1.5; pointer-events: none; }
.commission-booking-preview strong { display: block; margin-bottom: 6px; font-size: .92rem; }
.commission-booking-preview span { color: var(--theme-description, #6f7d80); font-weight: 700; }

.commissions-ledger-table tr[hidden] { display: none; }
.commissions-ledger-table .commission-group-row td { font-weight: 700; transition: background-color .15s ease; }
.commissions-ledger-table .commission-group-row:hover td,
.commissions-ledger-table .commission-group-row:focus-within td { background: color-mix(in srgb, var(--theme-primary, #26747c) 7%, var(--theme-card, #fff)); }
.commission-group-toggle { border: 0; padding: 0; color: var(--theme-primary, #26747c); background: transparent; font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.commission-group-toggle:hover, .commission-group-toggle:focus-visible { color: var(--theme-primary, #26747c); background: transparent; box-shadow: none; transform: none; }
.commission-group-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 2px; }
.commissions-ledger-table .commission-group-child td:first-child { padding-left: 24px; }

@media (max-width: 900px) {
  .commissions-insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .commissions-header-actions,
  .commissions-ledger-heading,
  .commissions-inquiry-alert { align-items: stretch; flex-direction: column; }
}

@media (max-width: 560px) {
  .commissions-insight-grid { grid-template-columns: 1fr; }
}

.booking-import-row.unmatched td:first-child {
  border-left: 5px solid #d6a442;
  border-radius: 9px 0 0 9px;
}

.booking-import-row.unmatched td:last-child {
  border-right: 1px solid #d6a442;
  border-radius: 0 9px 9px 0;
}

.booking-import-row.unmatched {
  box-shadow: 0 5px 20px rgba(164, 112, 22, .12);
}

.booking-review-toolbar { align-items: end; }
.booking-review-table td { vertical-align: top; }
.booking-review-actions { min-width: 150px; }
.booking-review-actions > button + button { margin-left: 6px; }
.booking-review-actions input { min-width: 190px; width: 100%; }
.booking-review-match-results { display: grid; gap: 4px; margin-top: 5px; }
.booking-review-match-results button { text-align: left; white-space: normal; }
.booking-review-match-controls { display: flex; justify-content: flex-end; gap: 6px; margin-top: 6px; }

.booking-review-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  color: #7a5011;
  background: #ffedbd;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  text-transform: uppercase;
}

.booking-difference { color: var(--theme-text); font-weight: 800; }
.booking-difference.is-higher { color: #16834f; }
.booking-difference.is-lower { color: #c53f35; }
.booking-difference.is-same { color: var(--theme-text); }

.booking-import-row.new-annual-row td:not(.booking-difference) {
  color: var(--theme-primary);
  font-weight: 800;
}

.booking-import-row.new-annual-row td {
  background: #f3f9fa;
}

.booking-import-row.skipped {
  opacity: 0.62;
}

.booking-import-row.skipped td:last-child {
  color: var(--theme-muted);
  font-weight: 700;
}

.booking-skip-cell {
  min-width: 88px;
}

.booking-master-commit-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
}

.booking-master-commit-toggle input {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: var(--theme-primary);
}

.booking-skip-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #3f4c54;
  font-size: 0.78rem;
  white-space: nowrap;
}

.booking-skip-toggle input {
  width: 16px;
  height: 16px;
}

.booking-match-cell {
  min-width: 220px;
}

.booking-match-select {
  width: 100%;
  min-width: 200px;
  font-size: 0.82rem;
}

.booking-match-hint {
  display: block;
  margin-top: 5px;
  color: var(--theme-muted);
  font-size: 0.72rem;
  line-height: 1.25;
}

.invite-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.invite-onboarding-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 16px; }
.invite-filter-row { display: grid; grid-template-columns: minmax(240px,1fr) minmax(220px,.55fr); gap: 12px; }
.invite-onboarding-pill { display: inline-flex; border-radius: 999px; padding: 4px 8px; color: #4c6067; background: #e8eef0; font-size: .67rem; font-weight: 850; white-space: nowrap; }
.invite-onboarding-pill.status-profile-complete { color: #246044; background: #dff1e7; }
.invite-onboarding-pill.status-profile-incomplete { color: #76591e; background: #fff0bf; }
.invite-onboarding-pill.status-never-logged-in { color: #874034; background: #f9ded9; }
.invite-onboarding-pill.status-needs-invite,.invite-onboarding-pill.status-missing-email { color: #8d2929; background: #f8dddd; }

.invite-agent-results {
  overflow-x: auto;
}
#invite-agents-view input[type="checkbox"] {
  appearance: none !important;
  flex: 0 0 20px;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  border: 1.5px solid var(--theme-border) !important;
  border-radius: 6px !important;
  background: var(--theme-card) !important;
  box-shadow: 0 1px 3px rgb(0 0 0 / 8%) !important;
  vertical-align: middle;
}
#invite-agents-view input[type="checkbox"]::before {
  top: 3px;
  left: 6px;
  width: 5px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  transform: rotate(45deg);
  transition: opacity .15s ease;
}
#invite-agents-view input[type="checkbox"]:checked {
  border-color: var(--theme-primary) !important;
  background: var(--theme-primary) !important;
}
#invite-agents-view input[type="checkbox"]:checked::before {
  background: transparent;
  opacity: 1;
  transform: rotate(45deg);
}
#invite-agents-view input[type="checkbox"]:hover:not(:disabled) { border-color: var(--theme-primary) !important; }
#invite-agents-view .invite-checkbox-field { width: fit-content; }
@media (max-width: 850px) { .invite-onboarding-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } .invite-filter-row { grid-template-columns: 1fr; } }

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

.permissions-table th:not(:first-child),
.permissions-table td:not(:first-child) {
  text-align: center;
}

.permission-groups { display: grid; gap: 12px; }
.permission-group { overflow: hidden; border: 1px solid var(--theme-border); border-radius: var(--theme-radius); background: var(--theme-card-background); }
.permission-group > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px; color: var(--theme-section-title); background: var(--theme-input); font-weight: 900; cursor: pointer; list-style-position: inside; }
.permission-group > summary small { color: var(--theme-description); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.permission-group[open] > summary { border-bottom: 1px solid var(--theme-border-soft); }
.permission-group .permissions-table { margin: 0; border: 0; border-radius: 0; }
.permission-group-row td { color: var(--theme-label); background: var(--theme-input); font-weight: 900; }
.permission-group-row td:first-child { padding-left: 18px; }

.permission-checkbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin: 0 auto;
}

.permission-checkbox input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--theme-primary);
}

.invite-result-row.failed td:last-child {
  color: #9a3d24;
  font-weight: 700;
}

.invite-results-table td:nth-child(3) {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.82rem;
}

.contract-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 999px;
  padding: 3px 10px;
  background: #eef2f3;
  color: #4d5a60;
  font-size: 0.78rem;
  font-weight: 700;
}

.contract-status.signed {
  background: #e1f1df;
  color: #37672c;
}

.contract-status.missing {
  background: #fff1d8;
  color: #8a5600;
}

.hiring-form {
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px;
  background: #fbfcfc;
}
.hiring-manual-entry { display: flex; justify-content: flex-start; }
.hiring-form-actions { display: flex; align-items: center; gap: 8px; }

.training-assignment-form {
  background: #ffffff;
}

.training-agent-results {
  display: grid;
  gap: 8px;
}

.deactivate-agent-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.training-selected-agent .deactivate-agent-heading { grid-column: 1; }
.training-agent-result .deactivate-agent-heading .record-status-pill,
.training-selected-agent .deactivate-agent-heading .record-status-pill { color: var(--record-status-color); font-size: .69rem; }
.training-agent-result .deactivate-agent-heading .record-status-danger,
.training-selected-agent .deactivate-agent-heading .record-status-danger { color: var(--theme-attention-pill-text); }

.training-agent-result,
.training-selected-agent {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 54px;
  justify-items: start;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--theme-secondary-text);
  background: #f7f9f9;
  text-align: left;
}

.training-agent-result:hover {
  color: var(--theme-heading);
  background: #e8f4f6;
}

.training-agent-result span,
.training-selected-agent span {
  color: var(--theme-muted);
  font-size: 0.84rem;
  font-weight: 600;
}

.training-selected-agent {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.training-selected-agent strong,
.training-selected-agent span {
  grid-column: 1;
}

.training-selected-agent button {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 34px;
  padding: 0 12px;
  font-size: 0.84rem;
}

.home-widget-unavailable {
  display: none !important;
}

.upcoming-events-widget {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--theme-border-soft);
  border-radius: var(--theme-radius);
  background: var(--theme-card-background, var(--theme-card));
}

.upcoming-events-widget > .tool-header {
  align-items: center;
  margin: 0;
}

.home-upcoming-events {
  display: grid;
  gap: 7px;
}

.home-upcoming-event {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  width: 100%;
  min-height: 56px;
  padding: 7px;
  border: 0;
  border-radius: max(4px, calc(var(--theme-radius) - 3px));
  color: var(--theme-text);
  background: transparent;
  text-align: left;
}

.home-upcoming-event:hover {
  color: var(--theme-heading);
  background: color-mix(in srgb, var(--theme-primary) 9%, transparent);
}

.home-event-date {
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 4px;
  border-radius: max(4px, calc(var(--theme-radius) - 3px));
  color: var(--theme-primary);
  background: color-mix(in srgb, var(--theme-primary) 12%, var(--theme-card));
  line-height: 1;
  text-transform: uppercase;
}

.home-event-date small {
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.home-event-date strong {
  font-size: 1.08rem;
}

.home-event-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.home-event-copy strong,
.home-event-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-event-copy small {
  color: var(--theme-muted);
  font-size: 0.78rem;
}

.training-module-picker {
  display: grid;
  gap: 10px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  margin: 0;
  padding: 14px;
  background: #fbfcfc;
}

.training-module-picker legend {
  padding: 0 6px;
  color: var(--theme-muted);
  font-size: 0.84rem;
  font-weight: 800;
  text-transform: uppercase;
}

.training-module-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.training-module-selection-summary {
  margin: 0;
  color: var(--theme-muted);
  font-size: .8rem;
  font-weight: 700;
}

.training-module-selection-summary.is-all-selected {
  color: var(--theme-primary);
}

.training-module-option {
  position: relative;
}

.training-module-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.training-module-option span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  place-items: center;
  border: 1px solid var(--theme-border);
  border-radius: 999px;
  padding: 0 12px;
  color: var(--theme-secondary-text);
  background: #ffffff;
  font-size: 0.84rem;
  font-weight: 700;
  cursor: pointer;
}

.training-module-option span::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  color: var(--theme-primary);
  background: #e8f4f6;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
}

.training-module-option input:checked + span {
  border-color: var(--theme-primary);
  color: #ffffff;
  background: var(--theme-primary-background);
}

.training-module-option input:checked + span::after {
  content: "×";
  color: #ffffff;
  background: rgba(255, 255, 255, .18);
}

.training-module-option input:focus-visible + span {
  outline: 3px solid rgba(31, 111, 120, 0.24);
  outline-offset: 2px;
}

.prospect-pipeline {
  display: grid;
  gap: 16px;
}

.prospect-stage {
  display: grid;
  gap: 12px;
  padding: 4px 0 12px;
}

.prospect-stage.is-new {
  border: 1px solid var(--theme-notice-important);
  border-left-width: 5px;
  border-radius: var(--theme-radius);
  padding: 14px;
}

.prospect-stage > header,
.prospect-card > header,
.prospect-card-summary > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.prospect-stage h3 {
  margin: 0;
  font-size: 1rem;
}

.prospect-stage > header span,
.prospect-status {
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--theme-heading);
  background: #e2eff1;
  font-size: 0.76rem;
  font-weight: 700;
}

.prospect-stage.is-new > header .prospect-stage-count {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 18px;
  padding: 0 6px;
  color: var(--theme-attention-pill-text);
  background: var(--theme-attention-pill);
  font-size: .65rem;
  font-weight: 900;
  line-height: 1;
}

.prospect-list {
  display: grid;
  gap: 14px;
}

.prospect-card {
  display: grid;
  gap: 12px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 16px;
  background: var(--theme-card-background);
  box-shadow: 0 5px 16px rgba(31, 55, 61, .06);
}

.prospect-card:first-child {
  padding-top: 16px;
}
.prospect-card-summary { display: grid; gap: 12px; width: 100%; min-height: 0; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; }
.prospect-card-summary:hover { color: inherit; background: transparent; }
.prospect-card-summary:focus-visible { outline: 3px solid rgba(31, 111, 120, .2); outline-offset: 4px; }
.prospect-card-summary > header { position: relative; padding-right: 24px; }
.prospect-card-summary > header::after { position: absolute; top: 5px; right: 2px; width: 8px; height: 8px; border-right: 2px solid #6d7c81; border-bottom: 2px solid #6d7c81; content: ""; transform: rotate(45deg); transition: transform .18s ease; }
.prospect-card.is-open .prospect-card-summary > header::after { transform: translateY(4px) rotate(225deg); }
.prospect-card-body { display: grid; gap: 12px; padding-top: 2px; }
.prospect-contact-details { flex: 1 1 100%; margin: 0 !important; color: #65757a; font-size: .82rem !important; }

.training-card {
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 16px;
  background: #ffffff;
}

.prospect-card p {
  margin: 4px 0 0;
  color: var(--theme-description);
  font-size: 0.9rem;
}

.prospect-card .prospect-received-date {
  font-size: 0.78rem;
  font-weight: 400;
}

.prospect-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.training-progress {
  grid-template-columns: repeat(var(--training-stage-count, 6), minmax(0, 1fr));
}

.prospect-progress-step {
  height: 7px;
  border-radius: 999px;
  background: var(--theme-secondary);
}

.prospect-progress-step.is-complete {
  background: var(--theme-primary-background);
}

.prospect-progress-step.is-current {
  background: var(--theme-primary-background);
}

.prospect-progress.is-closed .prospect-progress-step.is-complete {
  background: var(--theme-secondary);
}

.prospect-progress.is-closed .prospect-progress-step.is-current {
  background: var(--theme-muted);
}

.prospect-notes {
  max-width: 80ch;
}

.prospect-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.prospect-milestones { display: flex; flex-wrap: wrap; gap: 6px; }
.prospect-milestones > span { display: inline-flex; align-items: center; gap: 5px; border: 1px solid #b9d9df; border-radius: 999px; padding: 4px 8px; color: var(--theme-heading); background: #e8f3f5; font-size: .78rem; }
.prospect-stage-undo { display: inline-grid; place-items: center; width: 17px; min-width: 17px; height: 17px; min-height: 17px; margin-right: -3px; padding: 0; border: 0; border-radius: 50%; color: var(--theme-muted); background: transparent; font-size: 15px; line-height: 1; }
.prospect-stage-undo:hover, .prospect-stage-undo:focus-visible { color: #8d2929; background: #f7dede; }
.prospect-closing-actions { display: flex; align-items: flex-end; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding-top: 12px; border-top: 1px solid #e2e8e9; }
.prospect-closing-meta { display: grid; gap: 7px; margin-right: auto; }
.prospect-detail-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.prospect-source-label { color: var(--theme-muted); font-size: .76rem; }
.prospect-workflow-button { color: #fff; background: var(--theme-primary-background); }
button.secondary.prospect-convert-button { border-color: #6ea889; color: #245f42; background: #dcefe4; }
button.secondary.prospect-convert-button:hover { border-color: #397958; color: #fff; background: #397958; }
button.secondary.prospect-reject-button { border-color: #d99a9a; color: #8d2929; background: #f7dddd; }
button.secondary.prospect-reject-button:hover { color: #fff; background: #b74444; }
button.secondary.prospect-archive-button { border-color: #d6b464; color: #6a4b0c; background: #f6e3ad; }
button.secondary.prospect-archive-button:hover { color: #513807; background: #ebc665; }
button.secondary.prospect-delete-button { border-color: #b74444; color: #8d2929; background: transparent; }
button.secondary.prospect-delete-button:hover { color: #fff; background: #b74444; }

.prospect-actions button {
  min-height: 34px;
  padding: 0 12px;
  font-size: 0.84rem;
}

.training-action-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.training-action-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.training-complete-note {
  align-self: center;
  color: #4f7f38;
  font-size: 0.84rem;
  font-weight: 700;
}

.training-actions-ready {
  justify-content: flex-end;
}

.training-actions-ready .training-complete-note {
  margin-right: auto;
}

.training-ready-button {
  background: var(--theme-primary-background);
  color: #ffffff;
}

.training-ready-button:hover {
  background: #185b63;
}

.training-milestones {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.training-milestones > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--theme-input-border);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--theme-secondary-text);
  background: var(--theme-secondary);
  font-size: 0.78rem;
}

.training-milestones > span.is-complete {
  border-color: var(--theme-primary);
  color: var(--theme-view-switch-active-text);
  background: var(--theme-primary-background);
}

.training-incomplete-button {
  display: inline-grid;
  place-items: center;
  width: 17px;
  min-width: 17px;
  height: 17px;
  min-height: 17px;
  margin-right: -3px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--theme-muted);
  background: transparent;
  font-size: 15px;
  line-height: 1;
}

.training-incomplete-button:hover,
.training-incomplete-button:focus-visible {
  color: #8d2929;
  background: #f7dede;
}

.agent-training-summary {
  display: grid;
  gap: 12px;
}

.agent-training-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px;
  background: #ffffff;
}

.agent-training-card h3 {
  margin: 0;
}

.agent-training-card strong {
  color: var(--theme-primary);
  font-size: 1.4rem;
}

.agent-module-progress {
  grid-column: 1 / -1;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1f6f78 var(--module-progress, 0%), #e5ecee var(--module-progress, 0%));
}

.agent-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.agent-module-card {
  display: grid;
  gap: 14px;
  align-content: start;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 16px;
  background: #ffffff;
}

.agent-module-card.is-complete {
  border-color: #b9d9df;
  background: #f7fbfc;
}

.agent-module-card header {
  display: flex;
  gap: 12px;
  align-items: start;
}

.agent-module-number {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: var(--theme-primary-background);
  font-size: 0.86rem;
  font-weight: 800;
}

.agent-module-card.is-complete .agent-module-number {
  background: #70a84f;
}

.agent-module-card h3 {
  margin: 0;
  font-size: 1rem;
}

.agent-module-card p {
  margin: 0;
  color: var(--theme-description);
  font-size: 0.9rem;
  line-height: 1.45;
}

.agent-module-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.eyebrow {
  margin: 0 0 6px;
  color: var(--theme-eyebrow);
  font-size: 0.84rem;
  font-weight: 700;
  text-transform: uppercase;
}

.invite-note {
  margin: 10px 0 0;
  color: var(--theme-primary);
  font-weight: 800;
}

h1 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.2rem);
  line-height: 1;
  letter-spacing: 0;
}

h2 {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.2;
  letter-spacing: 0;
}

.password-section {
  display: grid;
  gap: 18px;
  padding: 18px;
  background: var(--theme-card-background);
  box-shadow: -4px 8px calc(8px + var(--theme-shadow-strength) * .45px) color-mix(in srgb, var(--theme-text) 14%, transparent), 0 0 calc(4px + var(--theme-shadow-strength) * .2px) color-mix(in srgb, var(--theme-text) 8%, transparent);
}

.form {
  display: grid;
  gap: 18px;
}

label {
  display: grid;
  gap: 8px;
  color: var(--theme-label);
  font-size: 0.95rem;
  font-weight: 700;
}

.field-label {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.required-pill {
  border-radius: 999px;
  padding: 3px 8px;
  color: var(--theme-primary);
  background: #e2eff1;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.form-section-heading {
  margin-top: -4px;
}

.form-section-heading h3 {
  margin: 0;
  color: var(--theme-text);
  font-size: 1.05rem;
  line-height: 1.2;
}

.profile-details-section {
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  background: var(--theme-card-background);
}

.profile-details-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; color: var(--theme-text); cursor: pointer; list-style: none; }
.profile-details-section > summary::-webkit-details-marker { display: none; }
.profile-details-section > summary > span:first-child { display: grid; gap: 2px; }
.profile-details-section > summary strong { font-size: 1rem; }
.profile-details-section > summary small { color: var(--theme-description); font-size: .72rem; font-weight: 500; }
.profile-details-chevron { box-sizing: border-box; flex: 0 0 auto; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform 160ms ease; }
.profile-details-section[open] .profile-details-chevron { transform: rotate(225deg); }
.profile-details-content { display: grid; gap: 18px; border-top: 1px solid var(--theme-border); padding: 18px; }

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--theme-input-border);
  border-radius: var(--theme-radius);
  padding: 12px 13px;
  color: var(--theme-text);
  font: inherit;
  font-weight: 500;
  background: var(--theme-input);
}

input::placeholder,
textarea::placeholder {
  color: var(--theme-placeholder);
  -webkit-text-fill-color: var(--theme-placeholder);
  opacity: 1;
}

.dashboard-main :is(input, textarea):placeholder-shown {
  color: var(--theme-placeholder) !important;
  -webkit-text-fill-color: var(--theme-placeholder) !important;
}

input:not([placeholder]),
input:not(:placeholder-shown),
textarea:not([placeholder]),
textarea:not(:placeholder-shown),
select {
  color: var(--theme-text);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--theme-text) !important;
  caret-color: var(--theme-text);
}

.dropzone {
  position: relative;
  display: grid;
  gap: 12px;
  place-items: center;
  min-height: 190px;
  border: 2px dashed #aeb9bd;
  border-radius: 8px;
  padding: 18px;
  background: #fbfcfc;
  color: var(--theme-label);
  text-align: center;
  cursor: pointer;
}

.dropzone.dragging,
.dropzone:focus {
  outline: 3px solid var(--theme-focus);
  border-color: #2f7f95;
}

.file-input {
  position: absolute;
  inset: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.photo-preview {
  width: 128px;
  height: 128px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid var(--theme-photo-border);
  background: #ffffff;
}

.admin-photo-picker {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  border: 1px dashed #aeb9bd;
  border-radius: 8px;
  padding: 14px;
  background: #fbfcfc;
  color: var(--theme-label);
  cursor: pointer;
}

.admin-photo-picker input {
  grid-column: 1 / -1;
  padding: 0;
  border: 0;
  background: transparent;
}

.checkbox-field {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  width: fit-content;
}

.checkbox-field input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.tag-picker {
  display: grid;
  gap: 10px;
}

.social-fieldset {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 16px;
}

.social-fieldset legend {
  padding: 0 6px;
  color: var(--theme-muted);
  font-size: 0.84rem;
  font-weight: 800;
  text-transform: uppercase;
}

.status-fieldset {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 0.42fr);
  position: relative;
  margin-top: -8px;
  margin-bottom: 40px;
}

.status-fields-stack,
.status-checkbox-stack {
  display: grid;
  gap: 12px;
}

.status-inline-field {
  display: grid;
  grid-template-columns: max-content minmax(180px, 260px);
  align-items: center;
  gap: 12px;
  width: fit-content;
}

.status-checkbox-stack {
  justify-self: center;
}

.status-checkbox-stack .checkbox-field {
  width: 100%;
}

.status-fieldset::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -24px;
  height: 1px;
  background: var(--theme-border-soft);
}

.prefixed-input {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  border: 1px solid var(--theme-input-border);
  border-radius: 6px;
  background: #fbfcfc;
  overflow: hidden;
}

.prefixed-input > span {
  padding: 0 0 0 13px;
  color: var(--theme-muted);
  font-size: 0.9rem;
  font-weight: 700;
  white-space: nowrap;
}

.prefixed-input input {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.prefixed-input:focus-within {
  outline: 3px solid var(--theme-focus);
  border-color: #2f7f95;
}

.prefixed-input:focus-within input {
  outline: 0;
}

.tag-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 32px;
}

.tag-chip {
  min-height: 32px;
  border-radius: 999px;
  padding: 0 12px;
  color: var(--theme-heading);
  background: #e2eff1;
  border: 1px solid #bdd6dc;
}

.tag-chip:hover {
  color: #ffffff;
  background: var(--theme-primary-background);
}

.setting-preview {
  display: grid;
  place-items: center start;
  min-height: 172px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px;
  background: var(--theme-card-background);
}

.setting-preview img {
  width: 136px;
  height: 136px;
  border: 1px solid var(--theme-photo-border);
  border-radius: 8px;
  object-fit: cover;
  background: #ffffff;
}

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

input:focus,
select:focus,
textarea:focus {
  outline: 3px solid var(--theme-focus);
  border-color: var(--theme-primary);
}

input.readonly,
textarea.readonly {
  color: var(--theme-description);
  background: var(--theme-input);
  cursor: default;
}

button {
  width: fit-content;
  min-height: 38px;
  border: 0;
  border-radius: 6px;
  padding: 0 14px;
  color: #ffffff;
  background: var(--theme-primary-background);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 800;
  cursor: pointer;
}

button:hover {
  background: var(--theme-primary-hover);
}

button:disabled {
  cursor: default;
  opacity: 0.68;
}

button.secondary {
  background: var(--theme-secondary);
  color: var(--theme-secondary-text);
}

.button-link {
  display: inline-grid;
  place-items: center;
  width: fit-content;
  min-height: 38px;
  border-radius: 6px;
  padding: 0 14px;
  border: 0;
  color: #ffffff;
  background: var(--theme-primary);
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
}

.result-panel {
  display: grid;
  gap: 16px;
  border-top: 1px solid var(--theme-photo-border);
  padding-top: 24px;
}

.admin-tool {
  display: grid;
  gap: 24px;
}

.result-list {
  display: grid;
  gap: 14px;
  margin: 0;
}

.result-list div {
  display: grid;
  gap: 5px;
}

.result-list dt {
  color: var(--theme-muted);
  font-size: 0.84rem;
  font-weight: 800;
  text-transform: uppercase;
}

.result-list dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 700;
}

.status {
  min-height: 24px;
  margin: 16px 0 0;
  color: #4e5a60;
  font-weight: 700;
}

.status.error {
  color: #a33d2b;
}

.dashboard-shell > .status {
  position: fixed;
  top: 78px;
  left: 50%;
  z-index: 1000;
  width: max-content;
  max-width: min(560px, calc(100vw - 32px));
  min-height: 0;
  margin: 0;
  border: 1px solid #b9d2d6;
  border-radius: 9px;
  padding: 12px 18px;
  color: var(--theme-heading);
  background: rgba(244, 251, 251, 0.98);
  box-shadow: 0 10px 30px rgba(20, 47, 54, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -18px);
  transition: opacity 180ms ease, transform 220ms ease;
}

.dashboard-shell > .status.visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.dashboard-shell > .status.error {
  border-color: #e1b5aa;
  color: #8f2f21;
  background: rgba(255, 247, 245, 0.98);
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-shell > .status {
    transition: none;
  }
}

/* Dashboard checkboxes use one accessible, themeable switch treatment. */
input[type="checkbox"] {
  appearance: none !important;
  position: relative;
  display: inline-block;
  flex: 0 0 38px;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  margin: 0 !important;
  border: 1px solid color-mix(in srgb, var(--theme-toggle-track) 75%, var(--theme-border)) !important;
  border-radius: 999px !important;
  padding: 0 !important;
  background: var(--theme-toggle-track) !important;
  box-shadow: none !important;
  cursor: pointer;
  vertical-align: middle;
  transition: border-color .16s ease, background-color .16s ease, opacity .16s ease;
}

input[type="checkbox"]::before {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--theme-toggle-knob);
  box-shadow: 0 1px 3px rgb(0 0 0 / 24%);
  content: "";
  transition: transform .16s ease, background-color .16s ease;
}

input[type="checkbox"]:checked {
  border-color: var(--theme-toggle-active) !important;
  background: var(--theme-toggle-active) !important;
}

input[type="checkbox"]:checked::before {
  background: var(--theme-toggle-active-knob);
  transform: translateX(16px);
}

input[type="checkbox"]:indeterminate {
  border-color: var(--theme-toggle-active) !important;
  background: color-mix(in srgb, var(--theme-toggle-active) 65%, var(--theme-toggle-track)) !important;
}

input[type="checkbox"]:indeterminate::before { transform: translateX(8px); }
input[type="checkbox"]:focus-visible { outline: 3px solid var(--theme-focus); outline-offset: 2px; }
input[type="checkbox"]:disabled { cursor: default; opacity: .5; }
.permission-checkbox { width: 40px; height: 24px; }
.theme-preview-toggle { margin-top: 10px; color: var(--theme-label); font-size: .76rem; font-weight: 700; }

.website-profile-cell {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 220px;
}

.website-profile-cell img {
  width: 46px;
  height: 46px;
  border: 1px solid #d5dee2;
  border-radius: 6px;
  object-fit: cover;
}

.website-profile-cell div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.website-profile-cell span {
  color: #69777e;
  font-size: 0.8rem;
  line-height: 1.3;
}

.hidden {
  display: none;
}

@media (max-width: 560px) {
  body {
    padding: 14px;
    place-items: start center;
  }

  .profile-header {
    display: grid;
  }

  .profile-two-column,
  .profile-specialty-row,
  .profile-social-grid {
    grid-template-columns: 1fr;
  }

  button {
    width: 100%;
  }

  .dashboard-account-button {
    width: auto;
    max-width: 190px;
  }

  .global-interface-tabs button { width: auto; }
}

@media (max-width: 780px) {
  .dashboard-shell {
    padding: 0;
  }

  .dashboard {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr);
    width: 100%;
    min-height: 100vh;
    border: 0;
    border-radius: 0;
  }

  .dashboard-topbar {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    padding: 0;
  }

  .dashboard-nav-toggle {
    display: inline-flex;
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 121;
    background: var(--theme-card-background);
    box-shadow: 0 5px 16px color-mix(in srgb, var(--theme-text) 16%, transparent);
  }

  .dashboard-account { position: fixed; right: 12px; bottom: 12px; z-index: 122; }
  .dashboard-account-menu { top: auto; right: 0; bottom: calc(100% + 8px); }

  .dashboard-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 99;
    width: min(300px, 84vw);
    grid-template-rows: auto auto 1fr;
    border-right: 1px solid var(--theme-border-soft);
    border-bottom: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    transform: translateX(-100%);
    transition: transform .22s ease;
    box-shadow: 12px 0 32px rgb(15 23 26 / 20%);
  }

  .dashboard-sidebar.mobile-nav-open {
    transform: translateX(0);
  }

  .dashboard-nav-backdrop {
    display: block;
    position: fixed;
    inset: 46px 0 0 0;
    z-index: 98;
    background: rgb(15 23 26 / 45%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  .dashboard-nav-backdrop.is-visible {
    opacity: 1;
    pointer-events: auto;
  }

  body.mobile-nav-locked {
    overflow: hidden;
  }

  .dashboard-main {
    grid-column: 1;
    grid-row: 1;
    padding-top: 68px;
  }

  .dashboard-view {
    min-width: 0;
  }

  .stats-grid,
  .missing-row,
  .directory-controls,
  .sales-controls,
  .bookings-import-form,
  .business-card-workspace {
    grid-template-columns: 1fr;
  }

  .directory-page-size-control {
    grid-column: auto;
    justify-self: start;
  }

  .earned-level-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .earned-level-row .earned-level-change {
    flex-wrap: nowrap;
    white-space: nowrap;
  }

  .level-milestones {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }

  .status-fieldset,
  .status-inline-field {
    grid-template-columns: 1fr;
  }

  .status-checkbox-stack {
    justify-self: stretch;
  }

  .leaderboard-row {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .leaderboard-row img {
    display: none;
  }

  .leaderboard-sales {
    grid-column: 2;
    justify-items: start;
    text-align: left;
  }

  .leaderboard-row-compact {
    grid-template-columns: 26px 32px minmax(0, 1fr) minmax(74px, auto);
  }

  .leaderboard-row-compact img {
    display: block;
    width: 32px;
    height: 32px;
  }

  .leaderboard-row-compact .leaderboard-sales {
    grid-column: auto;
    justify-items: end;
    text-align: right;
  }

  .dashboard-view.directory-view,
  .dashboard-view.profile-edit-view,
  #add-agent-view,
  #agent-levels-view,
  #contracts-view,
  #remove-agent-view,
  #sales-view,
  #settings-view,
  .directory-cards {
    min-width: 0;
  }
}
.community-composer,
.community-card {
  background: #fff;
  border: 1px solid rgba(25, 61, 74, .14);
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(25, 61, 74, .06);
}
.community-composer { padding: 24px; margin-bottom: 20px; }
.community-composer-actions { display: flex; align-items: center; gap: 10px; }
.community-composer-actions button { width: auto; }
.community-composer-heading h3 { margin: 0 0 5px; }
.community-composer-heading p { margin: 0 0 20px; color: var(--muted); }
.community-image-uploader { display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px dashed var(--theme-input-border); border-radius: var(--theme-radius); padding: 13px 15px; color: var(--theme-description); background: var(--theme-input); cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.community-image-uploader > div { display: grid; gap: 2px; }
.community-image-uploader strong { color: var(--theme-text); font-size: .83rem; }
.community-image-uploader span { font-size: .74rem; }
.community-image-uploader.is-dragging { border-color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 9%, var(--theme-input)); }
.community-image-uploader.is-uploading { opacity: .6; pointer-events: none; }
.community-image-previews { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; }
.community-image-previews:empty { display: none; }
.community-image-preview { position: relative; overflow: hidden; aspect-ratio: 16 / 10; margin: 0; border-radius: var(--theme-radius); background: var(--theme-secondary); }
.community-image-preview img { width: 100%; height: 100%; object-fit: cover; }
.community-image-preview button { position: absolute; top: 7px; right: 7px; display: grid; place-items: center; width: 25px; min-width: 25px; height: 25px; min-height: 25px; border: 0; border-radius: 50%; padding: 0; color: #fff; background: rgb(0 0 0 / 68%); box-shadow: none; font-size: 1rem; }
.community-inline-image { display: block; width: auto; max-width: min(100%, 820px); max-height: 620px; border-radius: var(--theme-radius); object-fit: contain; }
.community-form-row { display: grid; grid-template-columns: minmax(150px, .35fr) minmax(260px, 1fr); gap: 14px; }
.community-form-row-three { grid-template-columns: minmax(135px, .25fr) minmax(150px, .3fr) minmax(260px, 1fr); }
.community-target-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.community-target-grid small { color: var(--muted); margin-top: 5px; }
.community-picker-field { display: grid; align-content: start; gap: 7px; }
.community-picker-field .field-label { font-weight: 700; }
.community-picker { border: 1px solid rgba(25, 61, 74, .18); border-radius: 12px; background: #fff; padding: 9px; }
.community-picker > input { margin: 0 0 8px; }
.community-picker-selected { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.community-picker-selected:empty { display: none; }
.community-selection-pill { display: inline-flex; align-items: center; gap: 5px; background: #e8f3f7; color: var(--theme-primary); border-radius: 999px; padding: 4px 5px 4px 10px; font-size: .78rem; font-weight: 700; }
.community-selection-pill button {
  display: inline-grid;
  place-items: center;
  flex: 0 0 20px;
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  line-height: 1;
  color: var(--theme-primary);
  background: rgba(36, 84, 106, .1);
  box-shadow: none;
}
.community-selection-pill button:hover { background: rgba(36, 84, 106, .2); transform: none; }
.community-picker-options { max-height: 190px; overflow: auto; border-top: 1px solid rgba(25, 61, 74, .09); padding-top: 5px; }
.community-picker-option { display: flex; align-items: center; gap: 9px; padding: 7px 6px; border-radius: 7px; cursor: pointer; font-weight: 500; }
.community-picker-option:hover { background: #f2f7f8; }
.community-picker-option input { width: auto; margin: 0; accent-color: var(--theme-primary); }
.community-picker-options .empty-state { padding: 12px 6px; }
.community-everyone-option { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding: 9px 7px 2px; border-top: 1px solid rgba(25, 61, 74, .09); cursor: pointer; }
.community-everyone-option.hidden { display: none; }
.community-everyone-option input { width: auto; margin: 0; accent-color: var(--theme-primary); }
.community-everyone-option > span { display: grid; gap: 1px; }
.community-everyone-option small { display: block; margin: 0; font-weight: 500; }
.community-toolbar { display: grid; grid-template-columns: 1fr minmax(160px, 210px) minmax(160px, 210px); gap: 12px; margin: 18px 0; }
.community-search-toolbar { display: block; }
.community-search-combobox { position: relative; display: flex; align-items: center; min-height: 46px; gap: 7px; border: 1px solid var(--theme-input-border); border-radius: 999px; padding: 5px 10px 5px 14px; color: var(--theme-text); background: var(--theme-input); box-shadow: var(--theme-input-shadow); }
.community-search-combobox:focus-within { border-color: var(--theme-primary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-focus) 65%, transparent); }
.community-search-icon { flex: 0 0 auto; color: var(--theme-muted); font-size: 1.25rem; transform: rotate(-18deg); }
.community-search-filters { display: contents; }
.community-search-filter { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 5px; min-height: 32px; border: 1px solid color-mix(in srgb, var(--theme-primary) 38%, var(--theme-input-border)); border-radius: 9px; padding: 2px 4px 2px 9px; color: var(--theme-text); background: color-mix(in srgb, var(--theme-primary) 9%, var(--theme-input)); font-size: .78rem; font-weight: 700; }
.community-search-filter button { display: grid; place-items: center; width: 22px; min-width: 22px; height: 22px; min-height: 22px; border: 0; border-radius: 50%; padding: 0; color: var(--theme-muted); background: transparent; box-shadow: none; font-size: 1rem; }
.community-search-filter button:hover { color: var(--theme-text); background: color-mix(in srgb, var(--theme-primary) 13%, transparent); transform: none; }
.community-search-combobox > input { flex: 1 1 140px; min-width: 80px; height: 34px; min-height: 34px; margin: 0; border: 0; padding: 3px 2px; background: transparent; box-shadow: none; }
.community-search-combobox > input:focus { outline: 0; box-shadow: none; }
.community-search-clear { display: grid; flex: 0 0 28px; place-items: center; width: 28px; min-width: 28px; height: 28px; min-height: 28px; border: 0; border-radius: 50%; padding: 0; color: var(--theme-muted); background: transparent; box-shadow: none; font-size: 1.2rem; }
.community-search-clear:hover { color: var(--theme-text); background: var(--theme-secondary); transform: none; }
.community-search-clear.hidden { display: none; }
.community-search-suggestions { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; right: 0; overflow-y: auto; max-height: min(540px, 70vh); border: 1px solid var(--theme-input-border); border-radius: var(--theme-radius); padding: 7px; background: var(--theme-card-background); box-shadow: -4px 12px 30px rgb(0 0 0 / 18%); }
.community-search-suggestions.hidden { display: none; }
.community-search-suggestion-label { padding: 8px 10px 5px; color: var(--theme-muted); font-size: .7rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.community-search-suggestion-divider { height: 1px; margin: 7px 5px 3px; background: var(--theme-border-soft); }
.community-search-suggestion { display: flex; width: 100%; align-items: center; justify-content: flex-start; gap: 10px; border: 0; border-radius: 8px; padding: 9px 10px; color: var(--theme-text); background: transparent; box-shadow: none; text-align: left; }
.community-search-suggestion:hover { background: var(--theme-nav-hover); transform: none; }
.community-search-suggestion > span:not(.community-search-suggestion-icon) { display: grid; gap: 2px; }
.community-search-suggestion strong { font-size: .82rem; }
.community-search-suggestion small { color: var(--theme-muted); font-size: .7rem; font-weight: 500; }
.community-search-suggestion-icon { display: grid; flex: 0 0 27px; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: var(--theme-primary); background: var(--theme-secondary); font-weight: 800; }
.community-search-no-results { padding: 16px 12px; color: var(--theme-muted); font-size: .8rem; }
.community-welcome-hero { position: relative; display: flex; min-height: clamp(220px, 28vw, 360px); align-items: flex-end; overflow: hidden; margin: 8px 0 22px; border-radius: var(--theme-radius); padding: clamp(28px, 5vw, 58px); background-image: linear-gradient(90deg, rgb(16 37 43 / 65%), rgb(16 37 43 / 10%) 70%), url("/assets/ptc/ptc-hero-bora-bora.jpeg"); background-position: center; background-size: cover; isolation: isolate; }
.community-welcome-hero::after { position: absolute; z-index: -1; right: 0; bottom: -1px; left: 0; height: 46%; background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--theme-main) 88%, transparent)); content: ""; }
.community-welcome-copy { max-width: 800px; }
.community-welcome-copy h2 { margin: 0; color: #fff; font-size: clamp(1.8rem, 4vw, 3.6rem); line-height: 1.04; text-wrap: balance; text-shadow: 0 2px 16px rgb(0 0 0 / 36%); }
.community-feed-navigation { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 5px 0 15px; border-bottom: 1px solid var(--theme-border-soft); }
.community-feed-navigation.hidden { display: none; }
.community-feed-tabs { display: flex; align-items: center; gap: 22px; }
.community-feed-tabs button { position: relative; min-width: 0; min-height: 40px; border: 0; border-radius: 0; padding: 0 0 9px; color: var(--theme-muted); background: transparent; box-shadow: none; font-size: .82rem; font-weight: 750; }
.community-feed-tabs button:hover { color: var(--theme-heading); background: transparent; box-shadow: none; transform: none; }
.community-feed-tabs button.active { color: var(--theme-primary); }
.community-feed-tabs button.active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--theme-primary); content: ""; }
.community-all-categories { min-height: 34px; margin-bottom: 7px; padding: 6px 12px; font-size: .73rem; }
.community-all-categories.active { color: var(--theme-primary); border-color: color-mix(in srgb, var(--theme-primary) 55%, var(--theme-border)); background: color-mix(in srgb, var(--theme-primary) 7%, var(--theme-card-background)); }
.community-category-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; }
.community-category-card { position: relative; display: grid; min-height: 145px; align-content: start; gap: 8px; border: 0; border-radius: var(--theme-radius); padding: 20px 48px 20px 20px; color: var(--theme-text); background: var(--theme-card-background); box-shadow: var(--theme-card-shadow, -4px 7px 18px rgb(0 0 0 / 9%)); text-align: left; }
.community-category-card:hover { background: color-mix(in srgb, var(--theme-primary) 4%, var(--theme-card-background)); box-shadow: -5px 10px 23px rgb(0 0 0 / 13%); transform: translateY(-1px); }
.community-category-heading { color: var(--theme-heading); font-size: 1.05rem; font-weight: 800; }
.community-category-totals { color: var(--theme-primary); font-size: .75rem; font-weight: 750; }
.community-category-latest { display: -webkit-box; overflow: hidden; color: var(--theme-description); font-size: .76rem; font-weight: 550; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.community-category-arrow { position: absolute; top: 18px; right: 20px; color: var(--theme-primary); font-size: 1.45rem; font-weight: 500; }
.community-feed-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 270px); align-items: start; gap: 20px; }
.community-feed-layout.is-thread-open { grid-template-columns: minmax(0, 1fr); }
.community-results { display: grid; gap: 16px; }
.community-contributors { position: sticky; top: 18px; display: grid; gap: 12px; border-radius: var(--theme-radius); padding: 17px; background: var(--theme-card-background); box-shadow: -4px 8px 20px rgb(0 0 0 / 10%); }
.community-contributors.hidden { display: none; }
.community-contributors h3 { margin: 0; color: var(--theme-heading); font-size: .92rem; }
.community-contributor-period { display: flex; align-items: center; gap: 18px; }
.community-contributor-period button { position: relative; min-width: 0; min-height: 30px; border: 0; border-radius: 0; padding: 0 0 7px; color: var(--theme-muted); background: transparent; box-shadow: none; font-size: .7rem; font-weight: 700; }
.community-contributor-period button:hover { color: var(--theme-heading); background: transparent; box-shadow: none; transform: none; }
.community-contributor-period button.active { color: var(--theme-heading); }
.community-contributor-period button.active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--theme-primary); content: ""; }
.community-contributor-row { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: center; gap: 7px; padding: 7px 0; }
.community-contributor-row + .community-contributor-row { border-top: 1px solid var(--theme-border-soft); }
.community-contributor-rank { color: var(--theme-muted); font-size: .72rem; font-weight: 800; text-align: center; }
.community-contributor-row > div { display: grid; min-width: 0; gap: 2px; }
.community-contributor-row .community-author-identity { min-width: 0; }
.community-contributor-row .leadership-agent-hover { min-width: 0; }
.community-contributor-row .leadership-agent-link { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; }
.community-contributor-row .community-author-avatar { flex-basis: 25px; width: 25px; height: 25px; }
.community-contributor-row small { padding-left: 32px; color: var(--theme-muted); font-size: .65rem; }
.community-thread-navigation { margin: 18px 0 12px; }
.community-thread-navigation.hidden { display: none; }
.community-feed-card {
  display: grid;
  gap: 13px;
  padding: 19px 21px;
  border-radius: var(--theme-radius);
  color: var(--theme-text);
  background: var(--theme-card-background);
  box-shadow: var(--theme-card-shadow, -4px 7px 18px rgb(0 0 0 / 9%));
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease;
}
.community-feed-card:hover,
.community-feed-card:focus-visible { background: color-mix(in srgb, var(--theme-primary) 4%, var(--theme-card-background)); box-shadow: -5px 10px 23px rgb(0 0 0 / 13%); transform: translateY(-1px); outline: 0; }
.community-feed-card.is-pinned { box-shadow: inset 4px 0 0 var(--theme-notice-general), -4px 7px 18px rgb(0 0 0 / 9%); }
.community-feed-heading h3 { margin: 8px 0 4px; font-size: 1.12rem; }
.community-feed-author-line { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; color: var(--theme-muted); font-size: .73rem; }
.community-feed-author-line .community-author-avatar { flex-basis: 31px; width: 31px; height: 31px; }
.community-feed-author-line .leadership-agent-link { color: var(--theme-text); font-size: .73rem; font-weight: 750; }
.community-topic-link { width: auto; min-width: 0; min-height: 0; border: 0; padding: 0; color: var(--theme-primary); background: transparent; box-shadow: none; font-size: inherit; font-weight: 750; line-height: inherit; }
.community-topic-link:hover { text-decoration: underline; background: transparent; transform: none; }
.community-thread-author-line { margin-bottom: 7px; }
.community-feed-excerpt { display: -webkit-box; overflow: hidden; margin: 0; color: var(--theme-description); line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.community-feed-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--theme-muted); font-size: .78rem; }
.community-feed-stat { display: inline-flex; align-items: center; min-height: 25px; border-radius: 999px; padding: 3px 9px; background: var(--theme-secondary); font-weight: 700; }
.community-feed-open { margin-left: auto; color: var(--theme-primary); font-weight: 750; }
.community-card { padding: 22px; }
.community-card.is-pinned { border-color: rgba(199, 151, 52, .55); background: linear-gradient(135deg, rgba(255, 249, 229, .7), #fff 42%); }
.community-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.community-card-head h3 { margin: 8px 0 4px; font-size: 1.25rem; }
.community-meta { margin: 0; color: var(--muted); font-size: .88rem; }
.community-author-identity { display: inline-flex; align-items: center; gap: 7px; vertical-align: middle; }
.community-author-avatar { display: block; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.community-comment-author { display: flex; align-items: center; gap: 2px; min-height: 28px; }
.community-comment-author .community-author-avatar { flex-basis: 24px; width: 24px; height: 24px; }
.community-pills, .community-targets, .community-reactions, .community-moderation { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.community-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 9px; font-size: .74rem; font-weight: 700; }
.community-pill-topic { color: #654c85; background: #f0eafb; }
.community-pill-pinned { color: #725311; background: #fff0bd; }
.community-pill-verified { color: #fff; background: var(--theme-notice-general); }
.community-pill-closed { color: #626a6e; background: #edf0f1; }
.community-pill-target { color: #4e5660; background: #f1f3f4; font-weight: 600; }
.community-body { white-space: pre-wrap; line-height: 1.65; margin: 18px 0 14px; }
.community-targets { margin-bottom: 14px; }
.community-reaction { min-width: auto; min-height: 26px; height: 26px; border: 1px solid var(--theme-border-soft); border-radius: 999px; padding: 2px 7px; color: var(--theme-text); background: var(--theme-input); box-shadow: none; font-size: .72rem; line-height: 1; }
.community-reaction:hover, .community-reaction.active { background: #eaf4f7; border-color: #73a6b7; transform: none; }
.community-reaction-wrap { position: relative; display: inline-flex; }
.community-reaction-tooltip { position: absolute; z-index: 30; top: calc(100% + 6px); left: 50%; display: grid; min-width: 130px; max-width: 220px; gap: 3px; border: 1px solid var(--theme-border-soft); border-radius: 6px; padding: 7px 9px; color: var(--theme-text); background: var(--theme-card); box-shadow: 0 7px 20px rgb(0 0 0 / 16%); font-size: .72rem; line-height: 1.25; opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, -3px); transition: opacity .12s ease, transform .12s ease, visibility .12s ease; }
.community-reaction-wrap:hover .community-reaction-tooltip, .community-reaction-wrap:focus-within .community-reaction-tooltip { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.community-reaction-tooltip > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-comments { border-top: 1px solid rgba(25, 61, 74, .11); margin-top: 17px; padding-top: 5px; }
.community-comment { position: relative; display: block; margin: 0 -8px; padding: 14px 8px; border-bottom: 1px solid rgba(25, 61, 74, .08); border-radius: 6px; transition: background-color .13s ease; }
.community-comment:hover, .community-comment:focus-within { background: color-mix(in srgb, var(--theme-primary) 6%, transparent); }
@media (max-width: 900px) {
  .community-welcome-hero { min-height: 230px; margin-inline: -2px; padding: 26px 22px 48px; background-position: 58% center; }
  .community-feed-navigation { align-items: center; }
  .community-all-categories { margin-bottom: 5px; }
  .community-feed-layout { grid-template-columns: 1fr; }
  .community-contributors { position: static; order: -1; }
}
.community-comment.is-verified { margin: 10px 0 14px; border: 1px solid color-mix(in srgb, var(--theme-notice-general) 58%, var(--theme-border)); border-radius: var(--theme-radius); padding: 16px; background: color-mix(in srgb, var(--theme-notice-general) 9%, var(--theme-card-background)); box-shadow: -5px 8px 16px color-mix(in srgb, var(--theme-notice-general) 16%, transparent); }
.community-comment.is-verified:hover, .community-comment.is-verified:focus-within { background: color-mix(in srgb, var(--theme-notice-general) 13%, var(--theme-card-background)); }
.community-verified-answer-label { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 5px 12px; margin-bottom: 11px; padding-bottom: 9px; border-bottom: 1px solid color-mix(in srgb, var(--theme-notice-general) 28%, transparent); }
.community-verified-answer-label strong { color: var(--theme-notice-general); font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.community-verified-answer-label small { color: var(--theme-description); font-size: .68rem; }
.community-comment p { white-space: pre-wrap; margin: 5px 0 0; line-height: 1.5; }
.community-comment span { color: var(--muted); font-size: .82rem; }
.community-comment > .community-reactions { margin-top: 9px; }
.community-comment-hover-actions { position: absolute; z-index: 5; top: 6px; right: 6px; display: flex; align-items: center; gap: 1px; padding: 3px; border: 1px solid var(--theme-border-soft); border-radius: 7px; background: var(--theme-card); box-shadow: 0 5px 16px rgba(0, 0, 0, .13); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-2px); transition: opacity .13s ease, transform .13s ease, visibility .13s ease; }
.community-comment:hover .community-comment-hover-actions, .community-comment:focus-within .community-comment-hover-actions { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.community-comment-hover-actions button { display: inline-grid; place-items: center; width: 28px; min-width: 28px; height: 28px; min-height: 28px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: var(--theme-text); font-size: .92rem; line-height: 1; cursor: pointer; }
.community-comment-hover-actions button:hover { background: color-mix(in srgb, var(--theme-primary) 12%, transparent); }
.community-comment-hover-actions .community-comment-verify { margin-left: 2px; border-left: 1px solid var(--theme-border-soft); border-radius: 0 5px 5px 0; color: var(--theme-muted); }
.community-comment-hover-actions .community-comment-verify.active { color: #fff; background: var(--theme-notice-general); }
.community-comment-hover-actions .community-comment-remove { color: var(--theme-danger, #a93636); }
.community-comment-hover-actions .community-comment-remove:hover { color: #fff; background: var(--theme-danger, #a93636); }
.community-comment-more-reactions { position: relative; }
.community-comment-hover-actions .community-comment-more-button { font-size: 1.15rem; font-weight: 650; }
.community-comment-emoji-panel { position: absolute; z-index: 20; top: calc(100% + 7px); right: 0; display: grid; grid-template-columns: repeat(8, 32px); gap: 3px; width: 290px; max-height: 250px; overflow-y: auto; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); padding: 7px; background: var(--theme-card); box-shadow: 0 14px 32px rgb(0 0 0 / 18%); }
.community-comment-emoji-panel.hidden { display: none; }
.community-comment-hover-actions .community-comment-emoji-panel button, .community-inline-emoji-panel button { display: inline-grid; place-items: center; width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; border: 0; border-radius: 5px; background: transparent; box-shadow: none; font-size: 1rem; cursor: pointer; }
.community-comment-hover-actions .community-comment-emoji-panel button:hover, .community-inline-emoji-panel button:hover { background: color-mix(in srgb, var(--theme-primary) 12%, transparent); }
.community-inline-reaction-picker { position: relative; display: inline-flex; }
.community-inline-reaction-picker .community-reaction-add { padding-inline: 7px; color: var(--theme-muted); font-size: .72rem; }
.community-inline-emoji-panel { top: auto; right: auto; bottom: calc(100% + 7px); left: 0; }
.community-comment-hover-actions .community-comment-quote { margin-left: 2px; border-left: 1px solid var(--theme-border-soft); border-radius: 0 5px 5px 0; font-size: 1rem; }
.community-comment-form { display: block; padding-top: 14px; }
.community-reply-shell { position: relative; overflow: visible; border: 1px solid var(--theme-input-border); border-radius: var(--theme-radius); background: var(--theme-input); transition: border-color .15s ease, box-shadow .15s ease; }
.community-reply-shell:focus-within { border-color: var(--theme-primary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-focus) 70%, transparent); }
.community-reply-editor { width: 100%; min-height: 66px; max-height: 260px; overflow-y: auto; margin: 0; border: 0; border-radius: inherit; padding: 12px 13px 43px; color: var(--theme-text); background: transparent; box-shadow: none; line-height: 1.5; white-space: pre-wrap; }
.community-reply-editor:focus { outline: 0; box-shadow: none; }
.community-reply-editor:empty::before { color: var(--theme-placeholder); content: attr(data-placeholder); pointer-events: none; }
.community-reply-shell.formatting-open .community-reply-editor { min-height: 118px; }
.community-reply-editor :is(p, blockquote, ul, ol) { margin-top: 0; margin-bottom: 7px; }
.community-reply-editor blockquote { border-left: 3px solid var(--theme-primary); padding-left: 10px; color: var(--theme-muted); }
.community-reply-editor code { border-radius: 4px; padding: 1px 4px; background: var(--theme-secondary); }
.community-reply-actions { position: absolute; right: 8px; bottom: 7px; display: flex; align-items: center; gap: 3px; }
.community-reply-actions button { width: auto; }
.community-reply-icon,
.community-reply-actions .community-attachment-trigger { display: grid; place-items: center; width: 30px; min-width: 30px; height: 30px; min-height: 30px; border: 0; border-radius: 5px; padding: 0; color: var(--theme-muted); background: transparent; box-shadow: none; font-size: .92rem; font-weight: 750; }
.community-reply-icon:hover,
.community-reply-icon.active,
.community-reply-actions .community-attachment-trigger:hover { color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 10%, transparent); transform: none; }
.community-reply-send { min-height: 32px; margin-left: 4px; padding: 0 13px; font-size: .75rem; }
.community-format-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; border-bottom: 1px solid var(--theme-border-soft); padding: 6px 8px; }
.community-format-toolbar.hidden { display: none; }
.community-format-toolbar button { display: grid; place-items: center; width: 29px; min-width: 29px; height: 28px; min-height: 28px; border-radius: 4px; padding: 0; color: var(--theme-text); background: transparent; box-shadow: none; font-size: .76rem; }
.community-format-toolbar button:hover { color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 10%, transparent); transform: none; }
.community-format-toolbar .is-bold { font-weight: 950; }
.community-format-toolbar .is-italic { font-style: italic; }
.community-format-toolbar .is-underline { text-decoration: underline; }
.community-format-toolbar .is-strikethrough { text-decoration: line-through; }
.community-emoji-picker { position: relative; }
.community-emoji-panel { position: absolute; z-index: 50; right: 0; bottom: calc(100% + 8px); display: grid; grid-template-columns: repeat(8, 32px); gap: 3px; width: 290px; max-height: 250px; overflow-y: auto; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); padding: 7px; background: var(--theme-card); box-shadow: 0 14px 32px rgb(0 0 0 / 18%); }
.community-emoji-panel.hidden { display: none; }
.community-emoji-panel button { display: grid; place-items: center; width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; border-radius: 5px; background: transparent; box-shadow: none; font-size: 1rem; }
.community-emoji-panel button:hover { background: var(--theme-nav-hover); transform: none; }
.community-reply-actions .community-attachment-picker { min-width: 30px; }
.community-reply-actions .community-attachment-selected { display: none; }
.community-reply-actions .community-attachment-panel { right: 0; bottom: calc(100% + 8px); left: auto; top: auto; }
.community-rich-text { display: grid; gap: 7px; color: var(--theme-text); line-height: 1.55; }
.community-rich-text p { margin: 0; white-space: pre-wrap; }
.community-rich-text ul,
.community-rich-text ol { display: grid; gap: 4px; margin: 2px 0; padding-left: 24px; }
.community-rich-text blockquote { margin: 2px 0; border-left: 3px solid var(--theme-primary); padding: 4px 0 4px 11px; color: var(--theme-muted); }
.community-rich-text code { border-radius: 4px; padding: 1px 4px; background: var(--theme-secondary); font-size: .88em; }
@media (hover: none) {
  .community-comment-hover-actions { position: static; margin-left: auto; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
}
.community-rich-text a { color: var(--theme-primary); }
.community-moderation .danger { color: #963c39; border-color: rgba(150, 60, 57, .28); }
.community-moderation button {
  min-width: 0;
  padding: 5px 9px;
  font-size: .72rem;
  line-height: 1.1;
}
.community-event-time-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.community-event-view-toggle { align-self: center; justify-self: end; }
.community-event-toolbar { grid-template-columns: minmax(220px, 1fr) auto; }
.community-calendar-toolbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; }
.community-calendar-toolbar.hidden { display: none; }
.community-calendar-toolbar > div { display: flex; gap: 7px; }
.community-calendar-toolbar h3 { grid-column: 2; margin: 0; color: var(--theme-heading); text-align: center; }
.community-event-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--theme-border); border-radius: var(--theme-radius); background: var(--theme-card-background); box-shadow: var(--theme-card-shadow, 0 8px 22px rgba(25, 61, 74, .08)); }
.community-calendar-weekday { padding: 10px 8px; border-bottom: 1px solid var(--theme-border); color: var(--theme-label); background: var(--theme-secondary); font-size: .7rem; font-weight: 850; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
.community-calendar-day { display: grid; align-content: start; gap: 6px; min-width: 0; min-height: 132px; border-right: 1px solid var(--theme-border-soft); border-bottom: 1px solid var(--theme-border-soft); padding: 8px; background: var(--theme-card-background); }
.community-calendar-day:nth-child(7n) { border-right: 0; }
.community-calendar-day.is-outside-month { background: color-mix(in srgb, var(--theme-card-background) 72%, var(--theme-main-background)); }
.community-calendar-day.is-outside-month > * { opacity: .55; }
.community-calendar-day.is-today { box-shadow: inset 0 0 0 2px var(--theme-primary); }
.community-calendar-day-number { justify-self: end; color: var(--theme-muted); font-size: .72rem; font-weight: 800; }
.community-calendar-day.is-today .community-calendar-day-number { display: inline-grid; place-items: center; min-width: 23px; height: 23px; border-radius: 999px; color: var(--theme-topbar-active-text); background: var(--theme-primary); }
.community-calendar-event { display: grid; gap: 1px; width: 100%; min-width: 0; min-height: 0; border: 0; border-left: 3px solid var(--theme-primary-hover); border-radius: calc(var(--theme-radius) * .55); padding: 6px 7px; color: var(--theme-topbar-active-text); background: var(--theme-primary); box-shadow: 0 3px 8px color-mix(in srgb, var(--theme-primary) 24%, transparent); text-align: left; }
.community-calendar-event:hover { color: var(--theme-topbar-active-text); background: var(--theme-primary-hover); }
.community-calendar-event small, .community-calendar-event strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-calendar-event small { color: inherit; font-size: .62rem; opacity: .8; }
.community-calendar-event strong { font-size: .7rem; }
.community-calendar-event.is-past { border-left-color: var(--theme-muted); color: var(--theme-muted); background: var(--theme-secondary); box-shadow: none; }
.community-calendar-event.is-past:hover { color: var(--theme-muted); background: var(--theme-secondary); }
.community-calendar-event.awaits-rsvp { border-left-color: var(--theme-attention-pill); }
.community-event-results { display: grid; gap: 15px; }
.community-event-section { display: grid; gap: 14px; }
.community-event-section + .community-event-section { margin-top: 12px; padding-top: 25px; border-top: 1px solid var(--theme-border); }
.community-event-section-heading { display: flex; align-items: center; gap: 9px; }
.community-event-section-heading h3 { margin: 0; color: var(--theme-heading); font-size: .9rem; letter-spacing: .035em; text-transform: uppercase; }
.community-event-section-heading span { display: inline-grid; place-items: center; min-width: 24px; height: 20px; border-radius: 999px; padding: 0 7px; color: var(--theme-attention-pill-text); background: var(--theme-attention-pill); font-size: .68rem; font-weight: 850; }
.community-event-section.is-past .community-event-section-heading span { color: var(--theme-secondary-text); background: var(--theme-secondary); }
.community-event-section-list { display: grid; gap: 15px; }
.community-event-section-list.hidden { display: none; }
.community-past-event-section { gap: 14px; }
.community-past-events-toggle { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; width: 100%; min-height: 50px; border: 1px solid var(--theme-border); border-radius: var(--theme-radius); padding: 10px 15px; color: var(--theme-secondary-text); background: var(--theme-secondary); text-align: left; }
.community-past-events-toggle:hover { color: var(--theme-nav-hover-text); background: var(--theme-nav-hover); }
.community-past-events-label { font-weight: 850; }
.community-past-events-toggle small { display: inline-grid; place-items: center; min-width: 24px; height: 20px; border-radius: 999px; padding: 0 7px; color: var(--theme-secondary-text); background: var(--theme-card-background); font-size: .68rem; font-weight: 850; }
.community-past-events-chevron { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px, 2px); transition: transform 160ms ease; }
.community-past-event-section.is-expanded .community-past-events-chevron { transform: rotate(225deg) translate(-1px, 1px); }
.community-event-card { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 20px; border: 1px solid rgba(25, 61, 74, .14); border-radius: var(--theme-card-radius); padding: 20px; background: #fff; box-shadow: 0 7px 22px rgba(25, 61, 74, .05); }
.community-event-card.is-cancelled { opacity: .7; background: #f7f7f7; }
.community-event-card.is-past { color: var(--theme-muted); background: color-mix(in srgb, var(--theme-card-background) 82%, var(--theme-main-background)); box-shadow: 0 4px 13px color-mix(in srgb, var(--theme-text) 8%, transparent); }
.community-event-card.is-past .community-event-date { color: var(--theme-secondary-text); background: var(--theme-secondary); }
.community-event-card.is-past .community-event-content h3 { color: var(--theme-muted); }
.community-event-modal-panel { width: min(780px, 100%); border-color: var(--theme-border); background: var(--theme-card-background); }
.community-event-modal-panel .community-event-card { border: 0; padding: 4px 0 0; box-shadow: none; }
.community-event-date { display: grid; align-content: center; justify-items: center; align-self: start; min-height: 82px; border-radius: 13px; color: #fff; background: var(--theme-primary-background); text-transform: uppercase; }
.community-event-date strong { font-size: .72rem; letter-spacing: .08em; }
.community-event-date span { font-size: 1.75rem; font-weight: 800; line-height: 1; }
.community-event-content { display: grid; gap: 10px; min-width: 0; }
.community-event-content h3, .community-event-content p { margin: 0; }
.community-event-location { color: var(--theme-muted); font-weight: 650; }
.community-event-counts { display: flex; flex-wrap: wrap; gap: 7px; }
.community-event-attendee-actions { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.community-rsvp-form { display: flex; gap: 9px; align-items: end; max-width: 430px; }
.community-rsvp-form select { flex: 1; }
.community-rsvp-form button { width: auto; }
.community-add-calendar { position: relative; width: fit-content; }
.community-add-calendar summary { display: inline-flex; align-items: center; min-height: 40px; border: 1px solid var(--theme-input-border); border-radius: var(--theme-radius); padding: 0 13px; color: var(--theme-secondary-text); background: var(--theme-secondary); cursor: pointer; font-size: .76rem; font-weight: 800; list-style: none; }
.community-add-calendar summary::-webkit-details-marker { display: none; }
.community-add-calendar summary::after { content: "▾"; margin-left: 8px; font-size: .68rem; }
.community-add-calendar[open] summary { color: var(--theme-view-switch-active-text); background: var(--theme-view-switch-active); }
.community-add-calendar-menu { position: absolute; z-index: 20; bottom: calc(100% + 7px); left: 0; display: grid; min-width: 205px; overflow: hidden; border: 1px solid var(--theme-border); border-radius: var(--theme-radius); background: var(--theme-card-background); box-shadow: -3px 7px 18px color-mix(in srgb, var(--theme-text) 18%, transparent); }
.community-add-calendar-menu :is(a, button) { display: block; width: 100%; min-height: 38px; border: 0; border-bottom: 1px solid var(--theme-border-soft); border-radius: 0; padding: 9px 12px; color: var(--theme-text); background: var(--theme-card-background); font-size: .76rem; font-weight: 700; text-align: left; text-decoration: none; }
.community-add-calendar-menu :is(a, button):last-child { border-bottom: 0; }
.community-add-calendar-menu :is(a, button):hover { color: var(--theme-nav-hover-text); background: var(--theme-nav-hover); }
.community-notification-results { display: grid; gap: 10px; }
.community-notification { display: flex; justify-content: space-between; align-items: center; gap: 18px; border: 1px solid #d9e1e3; border-left: 4px solid transparent; border-radius: 11px; padding: 16px 18px; background: #fff; }
.community-notification.is-unread { border-left-color: var(--theme-primary); background: #f3f9fa; }
.community-notification > div:first-child { display: grid; gap: 4px; }
.community-notification-type { color: #5f7780; font-size: .68rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.community-notification small { color: var(--muted); }
.community-notification-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.community-group-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 15px; }
.community-group-card { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; border: 1px solid #d8e0e2; border-radius: var(--theme-card-radius); padding: 19px; background: #fff; }
.community-group-card h3 { margin: 9px 0 5px; }
.community-group-card p { margin: 0 0 10px; color: var(--theme-muted); line-height: 1.5; }
.community-group-card small { color: var(--muted); }
.community-group-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.community-permission-panel { border: 1px solid var(--theme-border); border-radius: 12px; padding: 20px; background: var(--theme-card-background); }
.community-permission-panel > p { margin-top: 0; color: var(--theme-description); }
.community-permission-table-wrap { overflow-x: auto; }
.community-permission-table { width: 100%; min-width: 1180px; border-collapse: collapse; }
.community-permission-table th { padding: 10px 8px; color: var(--theme-label); background: var(--theme-input); font-size: .7rem; letter-spacing: .04em; text-align: center; text-transform: uppercase; }
.community-permission-table th:first-child { text-align: left; }
.community-permission-table td { padding: 11px 8px; border-top: 1px solid var(--theme-border-soft); color: var(--theme-text); background: var(--theme-card-background); text-align: center; }
.community-permission-table td:first-child { display: grid; gap: 2px; min-width: 150px; text-align: left; }
.community-permission-table td:first-child small { color: var(--muted); }
.community-permission-table input { width: auto; accent-color: var(--theme-primary); }
@media (max-width: 900px) { .community-event-time-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .community-form-row, .community-form-row-three, .community-target-grid, .community-toolbar { grid-template-columns: 1fr; }
  .community-card-head, .community-comment { flex-direction: column; }
  .community-event-time-grid { grid-template-columns: 1fr; }
  .community-event-view-toggle { justify-self: start; }
  .community-calendar-toolbar { grid-template-columns: 1fr; }
  .community-calendar-toolbar h3 { grid-column: 1; grid-row: 1; }
  .community-calendar-toolbar > div { justify-content: center; }
  .community-event-calendar { overflow-x: auto; grid-template-columns: repeat(7, minmax(120px, 1fr)); }
  .community-event-card { grid-template-columns: 1fr; }
  .community-event-date { width: 82px; }
  .community-notification { align-items: flex-start; flex-direction: column; }
}
.analytics-toolbar {
  display: flex;
  align-items: end;
  gap: 0.75rem;
}

.analytics-toolbar label {
  display: grid;
  gap: 0.3rem;
  color: var(--muted, #687277);
  font-size: 0.78rem;
  font-weight: 700;
}

.analytics-toolbar select { min-width: 7rem; }
.analytics-content { display: grid; gap: 1rem; min-width: 0; }
.analytics-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 1rem; }

.analytics-stat-card,
.analytics-panel {
  border: 1px solid var(--theme-border-soft);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(29, 57, 66, 0.05);
}

.analytics-stat-card { display: grid; gap: 0.35rem; padding: 1.1rem 1.2rem; }
.analytics-stat-card span { color: var(--theme-muted); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.analytics-stat-card strong { color: var(--theme-metric); font-size: clamp(1.3rem, 2vw, 2rem); }
.analytics-panel { padding: 1.25rem; min-width: 0; }
.analytics-panel h3 { margin: 0 0 1rem; }
.analytics-chart-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.analytics-chart-header h3 { margin: 0; }
.analytics-chart-toggle { display: inline-flex; overflow: hidden; flex: 0 0 auto; border: 1px solid #cfdadc; border-radius: 8px; }
.analytics-chart-toggle button { min-height: 0; padding: 0.4rem 0.7rem; border: 0; border-radius: 0; background: #fff; color: var(--theme-muted); font-size: 0.75rem; }
.analytics-chart-toggle button + button { border-left: 1px solid #cfdadc; }
.analytics-chart-toggle button.active { background: #315f78; color: #fff; }
.analytics-mobile-bar-value { display: none; }
.analytics-bars { display: grid; gap: 0; min-width: 0; }
.analytics-bar-row { display: grid; grid-template-columns: 3.25rem minmax(90px, 1fr) 7.5rem; align-items: center; gap: 0.75rem; padding-block: 7px; font-size: 0.84rem; }
.analytics-bar-row strong { text-align: right; }
.analytics-bar-track { height: 11px; overflow: hidden; border-radius: 999px; background: #edf2f3; }
.analytics-bar-track i { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: #6d9fc4; }
.analytics-line-chart { width: 100%; overflow-x: auto; }
.analytics-line-chart-host { min-width: 620px; }
.analytics-line-chart svg { display: block; width: 100%; min-width: 620px; height: auto; overflow: visible; }
.analytics-line-grid { stroke: #dfe7e9; stroke-width: 1; }
.analytics-line-area { fill: rgba(86, 143, 184, 0.12); }
.analytics-line-path { fill: none; stroke: #568fb8; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.analytics-line-point { fill: #fff; stroke: #568fb8; stroke-width: 4; cursor: help; transition: r 120ms ease; }
.analytics-line-point:hover { r: 7px; }
.analytics-line-point.analytics-chart-maximum { fill: var(--theme-chart-end); stroke: var(--theme-chart-end); }
.analytics-line-point.analytics-chart-minimum { fill: var(--theme-chart-start); stroke: var(--theme-chart-start); }
.analytics-line-axis-label, .analytics-line-value-label { fill: #68767b; font-size: 12px; }
.analytics-line-navigator { min-width: 620px; padding: 0.35rem 1.4rem 0.2rem 3.5rem; }
.analytics-line-navigator-labels { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0.75rem; margin-bottom: 0.35rem; color: #5e6d72; font-size: 0.75rem; }
.analytics-line-navigator-labels strong:last-child { text-align: right; }
.analytics-line-navigator-labels span { color: #7c888d; text-align: center; }
.analytics-line-range-controls { position: relative; height: 26px; }
.analytics-line-range-controls::before, .analytics-line-range-controls > i { content: ""; position: absolute; top: 11px; right: 0; left: 0; height: 5px; border-radius: 999px; background: var(--theme-border-soft); }
.analytics-line-range-controls > i { z-index: 1; background: #568fb8; }
.analytics-line-range-controls input[type="range"] { position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 26px; margin: 0; padding: 0; border: 0; background: transparent; pointer-events: none; appearance: none; }
.analytics-line-range-controls input[type="range"]::-webkit-slider-runnable-track { height: 5px; background: transparent; }
.analytics-line-range-controls input[type="range"]::-webkit-slider-thumb { width: 18px; height: 18px; margin-top: -6.5px; border: 3px solid #fff; border-radius: 50%; background: #315f78; box-shadow: 0 1px 5px rgba(28, 48, 55, 0.35); pointer-events: auto; appearance: none; cursor: ew-resize; }
.analytics-line-range-controls input[type="range"]::-moz-range-track { height: 5px; background: transparent; }
.analytics-line-range-controls input[type="range"]::-moz-range-thumb { width: 14px; height: 14px; border: 3px solid #fff; border-radius: 50%; background: #315f78; box-shadow: 0 1px 5px rgba(28, 48, 55, 0.35); pointer-events: auto; cursor: ew-resize; }
.analytics-vendor-list { display: grid; }
.analytics-vendor-layout { display: grid; grid-template-columns: minmax(240px, 0.8fr) minmax(360px, 1.2fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.analytics-personal-note { color: var(--theme-muted); font-size: .8rem; }
.analytics-personal-layout .analytics-vendor-row { grid-template-columns: minmax(120px, 1fr) minmax(8rem, auto) minmax(7rem, auto); }
.analytics-state-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(195px, 1fr); gap: clamp(1rem, 3vw, 2rem); align-items: start; }
.analytics-state-map-scroll { min-width: 0; max-width: 100%; overflow-x: auto; padding: .35rem 0; }
.analytics-state-map { display: block; width: min(100%, 930px); height: auto; margin-inline: auto; }
.analytics-state-shape { fill: var(--state-fill,var(--theme-chart-start)); stroke: var(--theme-border); stroke-width: 1.2; stroke-linejoin: round; cursor: default; transition: filter .15s ease; }
.analytics-state-shape:hover,.analytics-state-shape:focus-visible { filter: brightness(1.1); outline: none; }
.analytics-state-hover-card { position: fixed; z-index: 1000; display: grid; gap: .2rem; min-width: 150px; max-width: 210px; padding: .65rem .8rem; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); color: var(--theme-text); background: var(--theme-card-background); box-shadow: var(--theme-shadow); pointer-events: none; font-size: .8rem; }
.analytics-state-hover-card[hidden] { display: none; }
.analytics-state-hover-card span { color: var(--theme-muted); }
.analytics-state-inset-label { fill: var(--theme-muted); font-size: 18px; font-weight: 700; }
.analytics-state-count { fill: var(--theme-text); paint-order: stroke; stroke: var(--theme-card-background); stroke-width: 3px; stroke-linejoin: round; font-size: 14px; font-weight: 800; text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.analytics-state-sidebar { min-width: 0; }
.analytics-state-sidebar h4 { margin: .2rem 0 .75rem; font-size: .82rem; }
.analytics-state-key { margin-bottom: 1.5rem; }
.analytics-state-key-ramp { height: 14px; border-radius: 999px; background: linear-gradient(90deg, var(--theme-chart-end-effective), var(--theme-chart-middle-effective), var(--theme-chart-start)); box-shadow: inset 0 0 0 1px var(--theme-border-soft); }
.analytics-state-key-endpoints { display: flex; justify-content: space-between; margin-top: .3rem; color: var(--theme-muted); font-size: .73rem; }
.analytics-state-ranking { display: grid; gap: .35rem; margin: 0; padding-left: 1.5rem; }
.analytics-state-ranking li { padding: .25rem 0; font-size: .82rem; }
.analytics-state-ranking li::marker { color: var(--theme-muted); }
.analytics-state-ranking li span { display: inline-block; max-width: calc(100% - 4rem); }
.analytics-state-ranking li strong { float: right; font-variant-numeric: tabular-nums; }
@media (max-width: 800px) { .analytics-state-layout { grid-template-columns: 1fr; } .analytics-state-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 1.25rem; } .analytics-state-sidebar > h4 { grid-column: 2; grid-row: 1; } .analytics-state-ranking { grid-column: 2; grid-row: 2; } .analytics-state-key { grid-column: 1; grid-row: 1 / span 2; } }
@media (max-width: 560px) { .analytics-state-sidebar { display: block; } }
.analytics-state-coverage { margin: 1rem 0 0; }
.analytics-state-legend { margin: .5rem 0 0; color: var(--theme-muted); font-size: .78rem; }
.received-detail-right .sales-tool-panel { min-width: 0; overflow-x: auto; }
.received-detail-right .received-table { display: table; overflow: visible; }
.analytics-pie-svg { display: block; width: 100%; height: 100%; overflow: visible; }
.analytics-pie-svg path { transform-origin: 100px 100px; transition: transform 180ms ease; cursor: pointer; }
.analytics-pie-svg path:focus { outline: none; }
.analytics-pie-svg path:focus-visible { stroke: var(--theme-focus); stroke-width: 2px; }
.analytics-pie-svg path.is-highlighted {
  transform: scale(1.045);
  filter: drop-shadow(0 0 calc(2px + var(--theme-shadow-strength) * .1px) color-mix(in srgb, var(--theme-text) 8%, transparent)) drop-shadow(-4px 8px calc(4px + var(--theme-shadow-strength) * .225px) color-mix(in srgb, var(--theme-text) 14%, transparent));
}
.analytics-vendor-list > .is-pie-highlighted,
.analytics-concentration-legend > .is-pie-highlighted { background: var(--theme-nav-hover); color: var(--theme-nav-hover-text); border-radius: 6px; }
.dashboard-main :is(.analytics-vendor-list, .analytics-concentration-legend) > .is-pie-highlighted :is(strong, span) { color: var(--theme-nav-hover-text); }
@keyframes analytics-bar-enter { 0% { transform: scaleX(0); } 75% { transform: scaleX(1.025); } 90% { transform: scaleX(.992); } 100% { transform: scaleX(1); } }
@keyframes analytics-pie-enter { from { opacity: 0; transform: scale(.78) rotate(-35deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
@media (prefers-reduced-motion: no-preference) {
  .analytics-entering :is(.analytics-bar-track, .analytics-progress-track, .analytics-comparison-track, .analytics-concentration-track) > i { transform-origin: left center; animation: analytics-bar-enter 950ms ease-out both; }
  .analytics-entering .analytics-pie-svg { animation: analytics-pie-enter 850ms ease-out both; }
}
@media (prefers-reduced-motion: reduce) { .analytics-pie-svg path { transition: none; } }
.analytics-vendor-chart-wrap { display: grid; place-items: center; }
.analytics-vendor-chart { position: relative; width: min(100%, 320px); aspect-ratio: 1; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(28, 48, 55, 0.08); }
.analytics-vendor-chart-center { position: absolute; inset: 25%; display: grid; place-content: center; text-align: center; border-radius: 50%; background: #fff; box-shadow: 0 3px 14px rgba(29, 57, 66, 0.12); }
.analytics-vendor-chart-center strong { font-size: clamp(1rem, 2vw, 1.45rem); color: var(--theme-metric); }
.analytics-vendor-chart-center span { color: var(--theme-muted); font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.analytics-vendor-row { display: grid; grid-template-columns: minmax(150px, 1fr) 8rem 4rem; gap: 1rem; align-items: center; padding: 0.7rem 0; border-bottom: 1px solid var(--theme-border-soft); }
.analytics-vendor-row:last-child { border-bottom: 0; }
.analytics-vendor-row span { text-align: right; color: var(--theme-muted); }
.analytics-vendor-identity { display: flex; align-items: center; gap: 0.65rem; min-width: 0; }
.analytics-vendor-identity i { width: 0.72rem; height: 0.72rem; flex: 0 0 auto; border-radius: 50%; }
.analytics-vendor-identity strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-progress-panel > div:first-child span { color: var(--theme-muted); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.analytics-progress-panel h3 { margin: 0.25rem 0 1rem; }
.analytics-progress-track { height: 16px; overflow: hidden; border-radius: 999px; background: #e9eff0; }
.analytics-progress-track i { display: block; height: 100%; min-width: 3px; border-radius: inherit; background: #6d9fc4; }
.analytics-progress-panel p { margin: 0.65rem 0 0; color: var(--theme-muted); }
.analytics-panel-copy { margin: -0.5rem 0 1.1rem; color: var(--theme-muted); }
.analytics-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.analytics-comparison-grid article { display: grid; gap: 0.45rem; padding: 1rem; border: 1px solid var(--theme-border-soft); border-radius: 12px; }
.analytics-comparison-grid span { color: var(--theme-muted); font-size: 0.8rem; font-weight: 700; }
.analytics-comparison-grid strong { font-size: clamp(1.2rem, 2.2vw, 1.8rem); }
.analytics-comparison-track, .analytics-concentration-track { height: 8px; overflow: hidden; border-radius: 999px; background: #e9eff0; }
.analytics-comparison-track i, .analytics-concentration-track i { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: #568fb8; }
.analytics-comparison-change { margin: 0.9rem 0 0; font-weight: 700; }
.analytics-comparison-change.positive { color: #397c5b; }
.analytics-comparison-change.negative { color: #a54c58; }
.analytics-concentration-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.analytics-concentration-layout { display: grid; grid-template-columns: minmax(210px, 0.7fr) minmax(260px, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; margin-bottom: 1.25rem; }
.analytics-concentration-chart-wrap { display: grid; place-items: center; }
.analytics-concentration-chart { width: min(100%, 260px); }
.analytics-concentration-legend { display: grid; gap: 0.25rem; }
.analytics-concentration-legend > div { display: grid; grid-template-columns: 0.8rem minmax(0, 1fr) 4rem; align-items: center; gap: 0.65rem; padding: 0.65rem 0; border-bottom: 1px solid var(--theme-border-soft); }
.analytics-concentration-legend > div:last-child { border-bottom: 0; }
.analytics-concentration-legend i { width: 0.75rem; height: 0.75rem; border-radius: 50%; }
.analytics-concentration-legend span { color: var(--theme-muted); }
.analytics-concentration-legend strong { text-align: right; }
.analytics-concentration-grid article { display: grid; gap: 0.35rem; padding: 1rem; border: 1px solid var(--theme-border-soft); border-radius: 12px; }
.analytics-concentration-grid span { color: var(--theme-muted); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; }
.analytics-concentration-grid strong { font-size: 1.8rem; }
.analytics-concentration-grid small { color: var(--theme-muted); }
.analytics-new-agent-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.2rem; }
.analytics-count-bars .analytics-bar-row { grid-template-columns: 7rem minmax(90px, 1fr) 3rem; }
.analytics-data-notice { margin: 1rem 0 0; padding: 0.85rem 1rem; border-radius: 10px; background: #f4f7f8; color: var(--theme-muted); font-size: 0.85rem; }
.analytics-history-extremes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.1rem; }
.analytics-package-controls { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(140px, 0.55fr); gap: 1rem; margin-bottom: 1rem; }
.analytics-package-controls label { display: grid; gap: 0.35rem; color: var(--theme-muted); font-size: 0.8rem; font-weight: 700; }
.analytics-search-picker { position: relative; }
.analytics-search-picker > input { width: 100%; }
.analytics-search-menu { position: absolute; z-index: 30; top: calc(100% + 0.3rem); right: 0; left: 0; max-height: 280px; overflow-y: auto; padding: 0.35rem; border: 1px solid #ccd8db; border-radius: 10px; background: #fff; box-shadow: 0 12px 30px rgba(28, 48, 55, 0.16); }
.analytics-search-menu button { display: block; width: 100%; min-height: 0; padding: 0.6rem 0.7rem; border: 0; border-radius: 7px; background: transparent; color: #273d45; font-size: 0.84rem; font-weight: 600; text-align: left; }
.analytics-search-menu button:hover, .analytics-search-menu button:focus { background: #edf4f7; color: var(--theme-primary); }
.analytics-search-menu .empty-state { margin: 0; padding: 0.65rem; font-size: 0.8rem; }
.analytics-package-results { display: grid; gap: 1rem; }
.analytics-package-table { overflow-x: auto; border: 1px solid #dfe7e9; border-radius: 12px; }
.analytics-package-row { display: grid; grid-template-columns: minmax(190px, 1fr) 9rem 7rem 9rem; gap: 1rem; min-width: 610px; padding: 0.75rem 1rem; border-bottom: 1px solid var(--theme-border-soft); align-items: center; }
.analytics-package-row:last-child { border-bottom: 0; }
.analytics-package-row > :not(:first-child) { text-align: right; }
.analytics-package-head { background: #f4f7f8; color: var(--theme-muted); font-size: 0.78rem; }
.analytics-package-head button { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--theme-muted); font-size: inherit; font-weight: 800; text-align: left; }
.analytics-package-head button:not(:first-child) { text-align: right; }
.analytics-package-head button:hover, .analytics-package-head button.active { color: var(--theme-primary); }
.analytics-package-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--theme-muted); font-size: 0.82rem; }
.analytics-package-pagination > div { display: flex; align-items: center; gap: 0.5rem; }
.analytics-package-pagination label { display: flex; align-items: center; gap: 0.4rem; font-weight: 700; }
.analytics-package-pagination select { min-width: 4rem; padding: 0.4rem 1.6rem 0.4rem 0.55rem; }

@media (max-width: 700px) {
  .analytics-toolbar { align-items: stretch; flex-direction: column; }
  .analytics-bars .analytics-bar-row { grid-template-columns: 3rem minmax(0, 1fr); gap: 0.45rem; min-width: 0; }
  .analytics-count-bars .analytics-bar-row { grid-template-columns: minmax(4rem, .6fr) minmax(0, 1fr); }
  .analytics-bars .analytics-bar-row > span { min-width: 0; overflow-wrap: anywhere; }
  .analytics-bars .analytics-bar-row > strong { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .analytics-bars .analytics-bar-track { position: relative; grid-column: 2; grid-row: 1; min-width: 0; height: 26px; overflow: visible; }
  .analytics-mobile-bar-value { display: block; position: absolute; top: 50%; left: var(--bar-value-end); transform: translate(-100%, -50%); padding: 2px 5px; white-space: nowrap; font-size: .7rem; font-weight: 700; line-height: 1.2; color: var(--theme-text); background: transparent; }
  .is-short-bar .analytics-mobile-bar-value { transform: translate(4px, -50%); }
  .analytics-vendor-row { grid-template-columns: minmax(100px, 1fr) 6.5rem 3.5rem; gap: 0.5rem; }
  .analytics-vendor-layout { grid-template-columns: 1fr; }
  .analytics-vendor-chart { width: min(78vw, 280px); }
  .analytics-comparison-grid, .analytics-concentration-grid, .analytics-new-agent-summary { grid-template-columns: 1fr; }
  .analytics-history-extremes { grid-template-columns: 1fr; }
  .analytics-concentration-layout { grid-template-columns: 1fr; }
  .analytics-package-controls { grid-template-columns: 1fr; }
  .analytics-package-pagination { align-items: flex-start; flex-direction: column; }
}
.achievement-color-fieldset {
  border: 1px solid var(--theme-border-soft);
  border-radius: 9px;
  padding: 14px;
}

.achievement-color-fieldset legend {
  padding: 0 6px;
  color: var(--theme-label);
  font-size: 0.78rem;
  font-weight: 850;
}

.achievement-color-chooser {
  display: grid;
  grid-template-columns: repeat(4, minmax(72px, 1fr));
  gap: 8px;
}

.achievement-color-option {
  display: grid;
  justify-items: center;
  gap: 5px;
  min-height: 44px;
  border: 1px solid #dbe5e7;
  border-radius: 9px;
  padding: 8px 5px;
  background: #fff;
  color: var(--theme-label);
}

.achievement-color-option > span {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(20, 40, 50, 0.12);
}

.achievement-color-option.is-selected {
  border: 2px solid #2d747d;
  background: #edf6f6;
  box-shadow: 0 0 0 2px rgba(45, 116, 125, 0.1);
}

/* Final theme bindings override legacy fixed colors without affecting navigation. */
.dashboard-main :is([class*="panel"], [class*="box"], [class*="widget"], [class*="callout"], [class*="notice"], [class*="toolbar"], [class*="controls"], [class*="wrap"], [class*="composer"], [class*="picker"], [class*="menu"], [class*="section"], [class*="preview"], .directory-row, fieldset, details, input, select, textarea, .dropzone):not([class*="-card"]) {
  border-radius: var(--theme-radius) !important;
}

/* Toggle geometry is intentionally independent from theme corner rounding. */
body.dashboard-body .dashboard-main input[type="checkbox"] {
  border-radius: 999px !important;
}

body.dashboard-body .dashboard-main input[type="checkbox"]::before {
  border-radius: 50% !important;
}

.dashboard-main [class$="-card"],
.dashboard-main .profile-content-card {
  border-radius: var(--theme-card-radius) !important;
  border-color: var(--theme-border);
  background: var(--theme-card-background);
}

.dashboard-main :is(.directory-card, .stat-card, .tool-card, .support-placeholder-card, .support-ticket-card, .lead-card, .benefit-card, .analytics-stat-card, .community-event-card, .community-notification, .community-group-card, .announcement-admin-card, .credential-logo-card, .promotion-banner-card, .form-builder-question) {
  border-radius: var(--theme-card-radius) !important;
}

.dashboard-main :is(.panel, .panel-subsection, [class$="-panel"], fieldset, details, input, select, textarea, .dropzone, .lead-archive-table-wrap, .analytics-package-table) {
  border-radius: var(--theme-radius);
}

.dashboard-main :is(.directory-card, .stat-card, .missing-panel, .announcements-panel, .attention-widget, .leaderboard-panel, .sales-tool-panel, .analytics-stat-card, .analytics-panel, .support-placeholder-card, .support-ticket-panel, .support-ticket-card, .resources-panel details, .lead-card:not(.is-followup-due):not(.is-transfer-pending), .prospect-card, .internal-booking-year-summary article, .internal-profile-panel:not(.internal-profile-admin-panel), .benefit-card, .permission-group, .community-event-card, .community-notification:not(.priority-important):not(.priority-urgent), .community-group-card, .community-permission-panel) {
  border-color: var(--theme-border);
  background: var(--theme-card-background);
}

.dashboard-main :is(.directory-row, .directory-table-wrap, .directory-export-toolbar, .directory-column-toolbar, .leadership-row, .role-assignment-row, .business-card-controls, .carousel-randomize-setting, .hiring-form, .training-assignment-form, .training-module-picker) {
  border-color: var(--theme-border);
  background: var(--theme-card-background);
}

.dashboard-main :is(.directory-table th, .promotion-row.is-promotion td) {
  background: var(--theme-card-background);
}

.dashboard-main input.readonly,
.dashboard-main textarea.readonly {
  border-color: var(--theme-input-border);
  background: var(--theme-input);
}

.dashboard-main .profile-details-section {
  border-color: var(--theme-border);
  background: var(--theme-card-background);
}

.dashboard-main .profile-details-content {
  border-color: var(--theme-border);
}

.dashboard-main .prospect-progress-step {
  background: var(--theme-secondary);
}

.dashboard-main .prospect-progress-step.is-complete,
.dashboard-main .prospect-progress-step.is-current {
  background: var(--theme-primary-background);
}

.dashboard-main .training-milestones > span {
  border-color: var(--theme-input-border);
  color: var(--theme-secondary-text);
  background: var(--theme-secondary);
}

.dashboard-main .training-milestones > span.is-complete {
  border-color: var(--theme-primary);
  color: var(--theme-view-switch-active-text);
  background: var(--theme-primary-background);
}

.dashboard-main .training-milestones > span.is-complete .training-incomplete-button {
  color: inherit;
}

.dashboard-main .benefit-card-details span {
  border-color: var(--theme-input-border);
  color: var(--theme-text);
  background: var(--theme-input);
}

.dashboard-main .benefit-card-details strong {
  color: var(--theme-label);
}

.dashboard-main .lead-summary-grid article {
  border-color: var(--theme-border);
  background: var(--theme-card-background);
}

.dashboard-main .lead-archive-table-wrap {
  border-color: var(--theme-border);
  background: var(--theme-card-background);
}

.dashboard-main .lead-archive-table td,
.dashboard-main .lead-archive-table tr.is-archived td {
  border-color: var(--theme-border-soft);
  color: var(--theme-text);
  background: var(--theme-card-background);
}

.dashboard-main .lead-archive-table tr.is-archived td {
  color: var(--theme-muted);
}

.dashboard-main .lead-archive-table th,
.dashboard-main .lead-archive-table tr.is-open td,
.dashboard-main .lead-archive-editor-row td {
  color: var(--theme-label);
  background: var(--theme-input);
}

.dashboard-main .achievement-rule-summary {
  border-color: var(--theme-border-soft);
  color: var(--theme-description) !important;
}

.dashboard-main .achievement-rule-summary strong {
  color: var(--theme-label);
}

.dashboard-main :is(.support-intro-panel, .setting-preview, .community-permission-panel) {
  border-color: var(--theme-border);
  background: var(--theme-card-background);
}

.dashboard-main :is(.settings-photo-upload-zone, .community-permission-table th) {
  border-color: var(--theme-input-border);
  color: var(--theme-label);
  background: var(--theme-input);
}

.dashboard-main .community-permission-table td {
  border-color: var(--theme-border-soft);
  color: var(--theme-text);
  background: var(--theme-card-background);
}

.dashboard-main .email-template-list-item {
  border-color: var(--theme-input-border);
  color: var(--theme-text);
  background: var(--theme-input);
}

.dashboard-main .email-template-list-item:is(:hover, .is-selected) {
  border-color: var(--theme-primary);
  color: var(--theme-nav-text);
  background: var(--theme-nav-active);
}

.dashboard-main .email-editor-toolbar {
  border-color: var(--theme-input-border);
  background: var(--theme-input);
}

.dashboard-main .email-editor-toolbar > button {
  border-color: var(--theme-input-border);
  color: var(--theme-secondary-text);
  background: var(--theme-secondary);
}

.dashboard-main .email-editor-toolbar {
  border-radius: var(--theme-radius) var(--theme-radius) 0 0;
}

.dashboard-main .email-editor {
  border-radius: 0 0 var(--theme-radius) var(--theme-radius);
}

.dashboard-main .announcement-image-upload-zone {
  border-color: var(--theme-input-border);
  border-radius: var(--theme-radius);
  color: var(--theme-muted);
  background: var(--theme-input);
}

.dashboard-main .permission-group {
  border-color: var(--theme-border);
  background: var(--theme-card-background);
}

.dashboard-main .permission-group > summary,
.dashboard-main .permissions-table .permission-group-row td {
  border-color: var(--theme-border-soft);
  color: var(--theme-label);
  background: var(--theme-input);
}

.dashboard-main .permissions-table th {
  color: var(--theme-label);
  background: var(--theme-input);
}

.dashboard-main .permissions-table td {
  border-color: var(--theme-border-soft);
  background: var(--theme-card-background);
}

.dashboard-main .permissions-table .permission-group-row td {
  background: var(--theme-input);
}

.dashboard-main :is(.training-agent-result, .training-selected-agent, .carousel-timing-settings label > span) {
  border-color: var(--theme-input-border);
  color: var(--theme-text);
  background: var(--theme-input);
}

.dashboard-main :is(.missing-panel, .announcements-panel, .attention-widget, .leaderboard-panel, .sales-tool-panel, .analytics-panel, .support-ticket-panel, .resources-panel details, .internal-profile-panel, .permission-group, .community-permission-panel) {
  border-radius: var(--theme-radius);
}

.dashboard-main :is(.tool-header h2, .sales-tool-intro h2, .community-composer-heading h3, .support-intro-panel h2, .support-ticket-panel > h3, .support-ticket-list-heading h3, .internal-profile-panel-heading h2, .analytics-panel h3) {
  color: var(--theme-section-title);
}

.dashboard-main :is(.section-intro, .tool-subtitle, .empty-state, .sales-tool-intro > p, .community-composer-heading p, .support-intro-panel p:last-child, .support-placeholder-card p, .support-ticket-panel > p, .support-ticket-list-heading p, .internal-profile-panel-heading p, .analytics-panel-copy, .analytics-progress-panel p, .tool-card small, .attention-widget > p:not(.eyebrow)) {
  color: var(--theme-description);
}

.dashboard-main :is(.analytics-stat-card strong, .analytics-bar-row strong, .analytics-vendor-chart-center strong, .analytics-comparison-grid strong, .analytics-concentration-grid strong, .analytics-concentration-legend strong) {
  color: var(--theme-metric);
}

.dashboard-main :is(.stat-card strong, .attention-widget-count, .leaderboard-sales strong) {
  color: var(--theme-metric);
}

.dashboard-main .analytics-bar-row > span {
  color: var(--theme-muted);
}

.dashboard-main .analytics-bar-row.analytics-chart-maximum > :is(span, strong) {
  color: var(--theme-chart-end);
}

.dashboard-main .analytics-bar-row.analytics-chart-minimum > :is(span, strong) {
  color: var(--theme-chart-start);
}

.dashboard-main :is(.analytics-line-axis-label, .analytics-line-value-label) {
  fill: var(--theme-muted);
}

.theme-builder-layout :is(input, select, textarea) {
  color: var(--theme-text);
}

.dashboard-main :is(input:not([placeholder]), input:not(:placeholder-shown), textarea:not([placeholder]), textarea:not(:placeholder-shown), select) {
  color: var(--theme-text);
}

.analytics-panel :is(.analytics-bars, .analytics-line-chart, .analytics-line-chart-host, .analytics-vendor-chart-wrap, .analytics-concentration-chart-wrap) {
  background: transparent;
}

.analytics-panel .analytics-chart-toggle button,
.analytics-vendor-chart-center {
  background: var(--theme-card-background);
}

.analytics-line-point {
  fill: var(--theme-card);
}

.analytics-bar-track i,
.analytics-progress-track i,
.analytics-comparison-track i,
.analytics-concentration-track i {
  background: var(--theme-chart-gradient);
  background-position: left center;
  background-repeat: no-repeat;
}

.analytics-bar-track,
.analytics-progress-track,
.analytics-comparison-track,
.analytics-concentration-track {
  background: transparent;
}

/* Lift hovered bars without changing the lengths that represent their values. */
.analytics-panel :is(.analytics-bar-track, .analytics-progress-track, .analytics-comparison-track, .analytics-concentration-track) { overflow: visible; }
.analytics-panel :is(.analytics-bar-track, .analytics-progress-track, .analytics-comparison-track, .analytics-concentration-track) > i { transition: filter 180ms ease, scale 180ms ease; }
@media (hover: hover) {
  .analytics-panel :is(.analytics-bar-track, .analytics-progress-track, .analytics-comparison-track, .analytics-concentration-track):hover > i,
  .analytics-panel .analytics-bar-row:hover .analytics-bar-track > i {
    scale: 1 1.16;
    filter: drop-shadow(-4px 8px calc(4px + var(--theme-shadow-strength) * .225px) color-mix(in srgb, var(--theme-text) 14%, transparent));
  }
  .dashboard-main .analytics-bar-row:hover > :is(span, strong),
  .dashboard-main .analytics-bar-row:hover .analytics-mobile-bar-value {
    color: var(--theme-nav-hover-text);
  }
  .analytics-bar-row:hover { background: var(--theme-nav-hover); border-radius: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .analytics-panel :is(.analytics-bar-track, .analytics-progress-track, .analytics-comparison-track, .analytics-concentration-track) > i { transition: none; }
}

.menu-config-hidden,
.menu-config-removed {
  display: none !important;
}

.menu-builder-intro > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.menu-builder-intro p {
  margin: 6px 0 0;
}

.menu-builder-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.32fr);
  align-items: start;
  gap: 18px;
  margin-top: 18px;
}

.menu-builder-groups {
  display: grid;
  gap: 12px;
}

.menu-builder-group-card,
.menu-builder-unused {
  color: var(--theme-text);
  background: var(--theme-card-background);
  border: 1px solid var(--theme-border-soft);
  border-radius: var(--theme-radius);
  box-shadow: 0 8px calc(var(--theme-shadow-strength) * 0.7px) rgb(31 37 40 / 10%);
}

.menu-builder-group-card {
  overflow: hidden;
}

.menu-builder-group-card.is-dragging {
  opacity: 0.5;
}

.menu-builder-group-card > header {
  display: grid;
  grid-template-columns: auto auto minmax(140px, 1fr) minmax(120px, 180px) auto;
  align-items: center;
  gap: 9px;
  padding: 10px;
  background: var(--theme-input);
  border-bottom: 1px solid var(--theme-border-soft);
}

.menu-builder-group-card > header :is(input, select) {
  min-width: 0;
  margin: 0;
}

.menu-builder-dashboard-card > header {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.menu-builder-dashboard-card > header > strong {
  color: var(--theme-heading);
  font-size: .9rem;
}

.menu-builder-dashboard-card > header > small {
  color: var(--theme-muted);
  font-size: .68rem;
  font-weight: 700;
}

.menu-builder-dashboard-section {
  margin: 0;
  padding: 11px 18px 0;
  color: var(--theme-muted);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.menu-builder-drag-handle,
.menu-builder-page-handle {
  color: var(--theme-muted);
  cursor: grab;
  user-select: none;
}

.menu-builder-drag-handle {
  width: 30px;
  min-width: 30px;
  height: 34px;
  padding: 0;
  color: var(--theme-muted);
  background: transparent;
  border: 0;
  letter-spacing: -3px;
}

.menu-builder-drag-handle:active,
.menu-builder-page-row:active {
  cursor: grabbing;
}

.menu-builder-icon-preview {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: var(--theme-primary);
}

.menu-builder-icon-preview svg {
  width: 21px;
  height: 21px;
}

.menu-builder-icon-preview .nav-layer-icon {
  width: 22px;
  height: 22px;
}

.menu-builder-page-list {
  min-height: 48px;
  padding: 8px;
  transition: background 140ms ease, outline-color 140ms ease;
}

.menu-builder-page-list:empty::after {
  content: "Drop pages here";
  display: block;
  padding: 12px;
  color: var(--theme-muted);
  text-align: center;
  border: 1px dashed var(--theme-input-border);
  border-radius: calc(var(--theme-radius) * 0.65);
}

.menu-builder-page-list.is-dragover {
  background: color-mix(in srgb, var(--theme-primary) 10%, transparent);
  outline: 2px solid var(--theme-primary);
  outline-offset: -2px;
}

.menu-builder-page-row {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 5px 7px;
  border-bottom: 1px solid var(--theme-border-soft);
  cursor: grab;
}

.menu-builder-page-row:last-child {
  border-bottom: 0;
}

.menu-builder-page-row.is-dragging {
  opacity: 0.4;
}

.menu-builder-page-row .small-button {
  min-height: 28px;
  padding: 4px 9px;
  font-size: 12px;
}

.menu-builder-unused {
  position: sticky;
  top: 82px;
  padding: 16px;
}

.menu-builder-unused h3 {
  margin: 3px 0 6px;
  color: var(--theme-section-title);
}

.menu-builder-unused > p:not(.eyebrow) {
  margin: 0 0 10px;
  color: var(--theme-description);
}

.menu-builder-unused .menu-builder-page-list {
  margin: 0 -8px -8px;
}

@media (max-width: 900px) {
  .menu-builder-workspace {
    grid-template-columns: 1fr;
  }

  .menu-builder-unused {
    position: static;
  }

  .menu-builder-group-card > header {
    grid-template-columns: auto auto minmax(120px, 1fr) auto;
  }

  .menu-builder-group-card > header select {
    grid-column: 3 / 4;
  }
}

.dashboard-account-mobile-name { display: none; }

.compact-client-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.compact-client-form > label { margin: 0; }
.compact-client-form > button { align-self: end; }
.client-notes-field { grid-column: 1 / -1; }
.client-additional-notes { white-space: pre-wrap; }
.client-family-list { display: grid; gap: 8px; margin-bottom: 18px; }
.client-family-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid color-mix(in srgb,var(--theme-muted-text) 20%,transparent); }
.client-family-row > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; }
.client-family-row small { flex-basis: 100%; color: var(--theme-muted-text); }
.client-relationship-type { color: var(--theme-muted-text); }
.client-family-form { display: grid; grid-template-columns: minmax(220px,2fr) minmax(180px,1fr) minmax(180px,1fr) auto; gap: 10px; align-items: end; }
.client-family-form label { margin: 0; position: relative; }
.client-family-search-results { position: absolute; z-index: 5; top: calc(100% + 4px); left: 0; right: 0; display: grid; gap: 4px; padding: 6px; background: var(--theme-card-background); border-radius: var(--theme-radius); box-shadow: var(--theme-card-shadow); }
.client-family-search-results:empty { display: none; }
.client-family-search-results button { justify-content: flex-start; }
.client-family-selected { display: block; margin-top: 5px; font-size: .82rem; color: var(--theme-accent); }
.new-trip-description,
.new-trip-clients { grid-column: span 2; }
.new-trip-kind { display: grid; gap: 7px; max-width: 440px; margin-bottom: 18px; font-weight: 700; }
.new-trip-clients { display: grid; gap: 8px; }
.trip-traveler-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.trip-client-creator { display: grid; gap: 10px; margin-top: 4px; padding: 14px; border-radius: var(--theme-radius); background: var(--theme-field-background); }
.trip-client-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.trip-client-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.client-name-link {
  display: inline-flex;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--theme-link, var(--theme-accent));
  font: inherit;
  font-weight: 700;
  text-align: left;
}
.client-name-link:hover,
.client-name-link:focus-visible {
  color: var(--theme-primary-hover);
  background: transparent;
  box-shadow: none;
  transform: none;
  text-decoration: none;
}
.trip-entity-links {
  display: inline;
  line-height: 1.6;
}
.trip-entity-links .leadership-agent-hover {
  display: inline-flex;
  vertical-align: baseline;
}
.trip-timeline-description {
  white-space: pre-line;
}
.client-detail-grid {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 8px 20px;
  margin: 0;
}
.client-detail-grid dt { color: var(--theme-muted-text); font-weight: 700; }
.client-detail-grid dd { margin: 0; color: var(--theme-body-text); }
.client-trip-list { display: grid; gap: 8px; }
.client-trip-card {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  color: var(--theme-body-text);
  background: var(--theme-field-background);
  text-align: left;
}
.client-trip-card span { color: var(--theme-muted-text); font-size: .86rem; }
.vendor-detail-tabs { display: flex; gap: 22px; margin: 18px 0; border-bottom: 1px solid var(--theme-border-soft); }
.vendor-detail-tabs button { min-height: 36px; padding: 5px 2px 9px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: var(--theme-muted-text); background: transparent; box-shadow: none; }
.vendor-detail-tabs button.active { border-bottom-color: var(--theme-primary); color: var(--theme-heading); }
.trip-detail-tabs {
  position: sticky;
  z-index: 12;
  top: 0;
  display: flex;
  gap: 24px;
  overflow-x: auto;
  margin: 0 0 18px;
  border-bottom: 1px solid var(--theme-border-soft);
  background: var(--theme-main-background, #fff);
  scrollbar-width: thin;
}
.trip-detail-tabs button {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 60px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  padding: 7px 1px 10px;
  color: var(--theme-muted-text);
  background: transparent;
  box-shadow: none;
  font-size: .78rem;
  opacity: .58;
  transition: color 140ms ease, opacity 140ms ease;
}
.trip-tab-icon { width: 42px; height: 42px; fill: currentColor; }
.trip-detail-tabs button > span { line-height: 1.15; }
.trip-detail-tabs button:hover { color: var(--theme-heading); background: transparent; box-shadow: none; opacity: .82; transform: none; }
.trip-detail-tabs button.active { border-bottom-color: var(--theme-primary); color: var(--theme-heading); opacity: 1; }
.trip-detail-tab-panels { min-width: 0; }
.trip-detail-tab-panels > [role="tabpanel"] { min-width: 0; }
.trip-detail-tab-panels > [role="tabpanel"].hidden { display: none; }
.trip-carriers-panel { display: grid; gap: 18px; }
.trip-carriers-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.trip-carriers-heading .eyebrow { margin: 0; }
.trip-carrier-type-actions {
  display: flex;
  align-items: stretch;
  gap: 22px;
  overflow-x: auto;
  border-bottom: 1px solid var(--theme-border-soft);
  scrollbar-width: thin;
}
.trip-carrier-type-actions .trip-carrier-type-tab {
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 70px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  padding: 7px 3px 10px;
  color: var(--theme-muted-text);
  background: transparent;
  box-shadow: none;
  font-size: .76rem;
  opacity: .68;
  transition: color 140ms ease, opacity 140ms ease, border-color 140ms ease;
}
.trip-carrier-type-actions .trip-carrier-type-tab .trip-tab-icon { width: 38px; height: 38px; }
.trip-carrier-type-actions .trip-carrier-type-tab:hover,
.trip-carrier-type-actions .trip-carrier-type-tab.active {
  color: var(--theme-heading);
  background: transparent;
  box-shadow: none;
  opacity: 1;
  transform: none;
}
.trip-carrier-type-actions .trip-carrier-type-tab.active { border-bottom-color: var(--theme-primary); color: var(--theme-primary); }
.trip-carrier-package {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  overflow: hidden;
  padding: 0 16px 16px;
  border: 1px solid var(--theme-border-soft);
  border-radius: var(--theme-radius);
  background: var(--theme-card-background);
  box-shadow: -2px 5px calc(7px + var(--theme-shadow-strength) * .35px) color-mix(in srgb,var(--theme-text) 9%,transparent);
}
.trip-carrier-package > header {
  grid-column: 1 / -1;
  margin: 0 -16px;
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--theme-border-soft);
  background: color-mix(in srgb,var(--theme-field-background) 60%,var(--theme-card-background));
}
.trip-carrier-package > header,.trip-carrier-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.trip-carrier-package > header strong { color: var(--theme-heading); font-size: .94rem; }
.trip-carrier-package > header small { color: var(--theme-muted-text); font-size: .74rem; font-weight: 700; }
.trip-carrier-package > header > div:first-child { display: grid; gap: 3px; }
.trip-carrier-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.trip-carrier-actions button { min-height: 30px; padding: 5px 9px; }
.trip-carrier-actions .danger { color: var(--theme-danger, #a33); }
.trip-carrier-card {
  display: grid;
  align-content: start;
  gap: 16px;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--theme-border-soft);
  border-radius: calc(var(--theme-radius) * .78);
  background: var(--theme-card-background);
  box-shadow: none;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}
.trip-carrier-card:hover {
  border-color: color-mix(in srgb,var(--theme-primary) 30%,var(--theme-border-soft));
  box-shadow: -2px 4px 9px color-mix(in srgb,var(--theme-text) 8%,transparent);
  transform: translateY(-1px);
}
.trip-carrier-card > header > div { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.trip-carrier-card > header > div:first-child > strong { font-size: 1.05rem; }
.trip-carrier-card > header small,.trip-carrier-type { border-radius: 999px; padding: 3px 8px; color: var(--theme-primary-contrast); background: var(--theme-primary); font-size: .67rem; font-weight: 800; }
.trip-carrier-card > header small { color: var(--theme-body-text); background: var(--theme-field-background); }
.trip-carrier-card dl { display: grid; grid-template-columns: minmax(95px, max-content) minmax(0,1fr); gap: 9px 18px; margin: 0; }
.trip-carrier-card dt { color: var(--theme-muted-text); font-size: .72rem; font-weight: 800; }
.trip-carrier-card dd { margin: 0; overflow-wrap: anywhere; }
.trip-carrier-categories { display: grid; gap: 7px; padding-top: 10px; border-top: 1px solid var(--theme-border-soft); }
.trip-carrier-categories .eyebrow { margin: 0; }
.trip-carrier-categories > div { display: grid; gap: 2px; }
.trip-carrier-categories small { color: var(--theme-muted-text); }
.trip-carrier-card details { padding-top: 8px; border-top: 1px solid var(--theme-border-soft); }
.trip-carrier-card summary { cursor: pointer; color: var(--theme-heading); font-weight: 700; }
.trip-carrier-card ol { display: grid; gap: 5px; margin-bottom: 0; padding-left: 22px; color: var(--theme-body-text); }
.trip-carrier-editor {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  padding: 14px;
  border: 1px solid var(--theme-border-soft);
  border-radius: calc(var(--theme-radius) * .75);
  background: var(--theme-field-background);
}
.trip-carrier-editor:empty { display: none; }
.trip-carrier-editor label { display: grid; align-content: start; gap: 5px; color: var(--theme-label); font-size: .72rem; font-weight: 700; }
.trip-carrier-editor input,.trip-carrier-editor select { margin: 0; }
.trip-carrier-editor .trip-carrier-check { display: flex; align-items: center; gap: 8px; align-self: end; min-height: 40px; }
.trip-carrier-editor .trip-carrier-check input { width: auto; }
.trip-carrier-type-fields { display: contents; }
.trip-carrier-editor-actions { grid-column: 1 / -1; }
.trip-carrier-booking-links {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 2px 0 0;
  border: 0;
  border-top: 1px solid var(--theme-border-soft);
  padding: 12px 0 0;
}
.trip-carrier-booking-links legend { width: 100%; padding: 0; color: var(--theme-label); font-size: .73rem; font-weight: 800; }
.trip-carrier-booking-links label {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--theme-border-soft);
  border-radius: 999px;
  padding: 7px 11px;
  background: var(--theme-card-background);
  cursor: pointer;
}
.trip-carrier-booking-links label:has(input:checked) { border-color: var(--theme-primary); background: color-mix(in srgb,var(--theme-primary) 10%,var(--theme-card-background)); color: var(--theme-heading); }
.trip-carrier-booking-links input { width: auto; margin: 0; }
.trip-carrier-booking-links small { color: var(--theme-muted-text); }
.trip-carrier-editor-inline {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.trip-carrier-editor-inline .trip-carrier-editor-actions { justify-content: flex-end; }
.trip-carrier-editor-inline .trip-carrier-editor-actions button { min-width: 130px; }
.trip-package-editor { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.quick-booking-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); padding: 16px; background: var(--theme-field-background); }
.quick-booking-form > label { display: grid; gap: 5px; color: var(--theme-label); font-size: .74rem; font-weight: 700; }
.quick-booking-form input,.quick-booking-form select { margin: 0; }
.quick-booking-intro { grid-column: 1 / -1; display: grid; gap: 3px; }
.quick-booking-intro strong { color: var(--theme-heading); }
.quick-booking-intro small,.booking-travel-details .sales-tool-intro small { color: var(--theme-muted-text); }
.quick-booking-form .tool-header-actions { grid-column: 1 / -1; }
.booking-carrier-type-actions { margin-top: 4px; }
.booking-linked-components { display: grid; gap: 8px; }
.booking-linked-components article { display: grid; gap: 3px; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); padding: 12px 14px; background: var(--theme-field-background); }
.booking-linked-components small { color: var(--theme-muted-text); }
.booking-location-manager { display: grid; gap: 10px; margin: 14px 0; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); padding: 14px; background: var(--theme-field-background); }
.booking-location-manager > div:first-child { display: grid; gap: 3px; }
.booking-location-manager small { color: var(--theme-muted-text); }
.booking-location-list { display: flex; flex-wrap: wrap; gap: 8px; }
.booking-location-list > div:not(.empty-state) { display: flex; align-items: center; gap: 10px; border: 1px solid var(--theme-border-soft); border-radius: 999px; padding: 6px 8px 6px 12px; background: var(--theme-card-background); }
.booking-location-list span { display: grid; gap: 1px; }
.booking-location-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; align-items: end; gap: 8px; }
.booking-location-form label { display: grid; gap: 4px; color: var(--theme-label); font-size: .72rem; font-weight: 800; }
.booking-location-form input { margin: 0; }
.trip-destinations-panel { display: grid; gap: 12px; }
.trip-overview-summary-header > div { display: grid; gap: 3px; }
.trip-destination-map { position: relative; height: clamp(190px,22vw,270px); overflow: hidden; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); background: radial-gradient(circle at 42% 38%,color-mix(in srgb,var(--theme-secondary) 12%,var(--theme-field-background)),color-mix(in srgb,var(--theme-primary) 7%,var(--theme-card-background))); }
.trip-destination-map::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(to right,color-mix(in srgb,var(--theme-primary) 9%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--theme-primary) 9%,transparent) 1px,transparent 1px); background-size: 12.5% 25%; pointer-events: none; }
.trip-destination-map > svg,.trip-destination-map-pins { position: absolute; inset: 0; width: 100%; height: 100%; }
.trip-destination-land { fill: color-mix(in srgb,var(--theme-primary) 24%,var(--theme-card-background)); stroke: color-mix(in srgb,var(--theme-primary) 32%,var(--theme-card-background)); stroke-width: 1.2; }
.trip-destination-map-pins { pointer-events: none; }
.trip-destination-marker { position: absolute; z-index: 1; width: 30px; height: 36px; min-width: 0; padding: 0; transform: translate(-50%,-100%); border: 0; background: transparent; color: var(--theme-chart-start); filter: drop-shadow(0 2px 3px rgba(0,0,0,.4)); cursor: pointer; pointer-events: auto; }
.trip-destination-marker:hover,.trip-destination-marker:focus-visible { transform: translate(-50%,-100%) scale(1.25); }
.trip-destination-map-caption { position: absolute; right: 12px; bottom: 10px; border-radius: 999px; padding: 4px 9px; color: var(--theme-heading); background: color-mix(in srgb,var(--theme-card-background) 88%,transparent); font-size: .68rem; font-weight: 700; }
.trip-destination-maptiler::before { display: none; }
.trip-destination-map .trip-destination-map-surface { position: absolute; inset: 0; width: 100%; height: 100%; }
.trip-destination-maptiler .trip-destination-map-caption { top: 10px; bottom: auto; z-index: 2; }
.trip-maptiler-pin { width: 30px; height: 36px; min-width: 0; padding: 0; border: 0; background: transparent; color: var(--theme-chart-start); filter: drop-shadow(0 2px 3px rgba(0,0,0,.4)); cursor: pointer; }
.trip-maptiler-pin:hover,.trip-maptiler-pin:focus-visible { transform: scale(1.25); }
.trip-maptiler-pin svg,.trip-destination-marker svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.trip-destination-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 9px; }
.trip-destination-list article { display: grid; grid-template-columns: 25px minmax(0,1fr); align-items: start; gap: 10px; min-width: 0; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); padding: 12px 14px; background: linear-gradient(145deg,var(--theme-card-background),var(--theme-field-background)); }
.trip-destination-list article > div { display: grid; gap: 4px; min-width: 0; }
.trip-destination-map-pin { display: grid; place-items: center; width: 25px; height: 25px; color: var(--theme-primary); }
.trip-destination-map-pin svg { width: 100%; height: 100%; fill: currentColor; }
.trip-destination-list small { color: var(--theme-muted-text); overflow-wrap: anywhere; }
.trip-booking-identity { display: grid; justify-items: start; gap: 4px; }
.booking-detail-state { display: inline-flex; align-items: center; width: max-content; border: 1px solid var(--theme-border-soft); border-radius: 999px; padding: 2px 7px; color: var(--theme-muted-text); background: var(--theme-field-background); font-size: .65rem; font-weight: 800; line-height: 1.2; }
.booking-detail-state.has-details { border-color: color-mix(in srgb,var(--theme-primary) 32%,var(--theme-border-soft)); color: var(--theme-primary); background: color-mix(in srgb,var(--theme-primary) 8%,var(--theme-card-background)); }
.trip-overview-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: 10px; }
.trip-overview-metrics > div { display: grid; gap: 4px; border-radius: var(--theme-radius); padding: 14px 16px; background: var(--theme-field-background); }
.trip-overview-metrics small { color: var(--theme-muted-text); font-size: .75rem; font-weight: 700; }
.trip-overview-metrics strong { color: var(--theme-heading); font-size: 1.14rem; }
.trip-overview-financial-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
.trip-overview-financial-metrics > div { min-height: 98px; align-content: center; padding: 20px 22px; background: linear-gradient(135deg,color-mix(in srgb,var(--theme-primary) 10%,var(--theme-field-background)),var(--theme-field-background)); }
.trip-overview-financial-metrics small { font-size: .82rem; }
.trip-overview-financial-metrics strong { font-size: clamp(1.55rem,2.4vw,2.15rem); line-height: 1.05; }
.trip-detail-page-header > div:first-child { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; column-gap: 11px; }
.trip-detail-page-header .eyebrow { grid-column: 1 / -1; }
.trip-detail-page-header h2 { grid-column: 1; margin-bottom: 0; }
.trip-detail-header-summary { display: grid; grid-column: 2; justify-items: start; margin-top: 2px; }
.trip-detail-header-dates { grid-column: 1; margin-top: 6px; color: var(--theme-eyebrow); font-size: .84rem; font-weight: 650; line-height: 1.35; }
.trip-detail-purpose-pill { display: inline-flex; align-items: center; min-height: 23px; border-radius: 999px; padding: 3px 9px; color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 12%, var(--theme-card-background)); font-size: .68rem; font-weight: 800; letter-spacing: .02em; }
#trip-detail-view { gap: 9px; }
.trip-overview-primary-columns { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); align-items: start; gap: 14px; }
.trip-overview-stack { display: grid; gap: 14px; }
.trip-overview-stack.hidden { display: none; }
.trip-overview-main { display: grid; gap: 16px; }
.trip-record-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 16px; }
.trip-record-column { display: grid; grid-template-rows: auto minmax(150px,auto) auto; gap: 12px; min-width: 0; border: 0; border-radius: calc(var(--theme-radius) * 1.3); padding: 12px; background: var(--theme-card-background); box-shadow: 0 0 calc(4px + var(--theme-shadow-strength) * .2px) color-mix(in srgb,var(--theme-text) 8%,transparent),-4px 8px calc(8px + var(--theme-shadow-strength) * .45px) color-mix(in srgb,var(--theme-text) 14%,transparent); }
.trip-record-column-header { position: relative; min-height: 112px; overflow: hidden; border-radius: calc(var(--theme-radius) * 1.15); padding: 20px; color: #fff; background: linear-gradient(125deg,color-mix(in srgb,var(--theme-chart-start) 74%,var(--theme-card-background)),var(--theme-chart-start)); }
.trip-record-column-header.booking-tone { background: linear-gradient(125deg,color-mix(in srgb,var(--theme-chart-middle) 74%,var(--theme-card-background)),var(--theme-chart-middle)); }
.trip-record-column-header.detail-tone { background: linear-gradient(125deg,color-mix(in srgb,var(--theme-chart-end) 74%,var(--theme-card-background)),var(--theme-chart-end)); }
.trip-record-column-header > div { position: relative; z-index: 1; display: grid; gap: 7px; }
.trip-record-column-header strong { font-size: 1.02rem; }
.trip-record-column-header span { font-size: 2rem; font-weight: 850; line-height: 1; }
.trip-record-column-list { display: grid; align-content: start; gap: 10px; min-width: 0; }
.trip-record-column-list.trip-overview-summary { overflow: visible; border: 0; border-radius: 0; }
.trip-record-column-list .trip-traveler-chain { padding: 0 0 0 2px; }
.trip-record-column-list .empty-state { min-height: 90px; }
.trip-record-card { display: grid; width: 100%; gap: 7px; border: 1px solid var(--theme-border-soft); border-radius: calc(var(--theme-radius) * .9); padding: 14px; color: var(--theme-text); background: linear-gradient(145deg,var(--theme-card-background),var(--theme-field-background)); box-shadow: -2px 5px 12px color-mix(in srgb,var(--theme-text) 7%,transparent); text-align: left; transition: border-color 140ms ease,box-shadow 140ms ease,transform 140ms ease; }
.trip-record-card:hover,.trip-record-card:focus-visible { border-color: color-mix(in srgb,var(--theme-primary) 58%,var(--theme-border-soft)); box-shadow: -3px 9px 18px color-mix(in srgb,var(--theme-primary) 18%,transparent); outline: 0; transform: translateY(-2px); }
.trip-record-card > span:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.trip-record-card strong { color: var(--theme-heading); }
.trip-record-card small { color: var(--theme-muted-text); line-height: 1.4; }
.trip-carrier-summary-card { grid-template-columns: 48px minmax(0,1fr); align-items: center; }
.trip-carrier-summary-card > span:last-child { display: grid; gap: 5px; min-width: 0; }
.trip-record-type-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; color: var(--theme-primary); background: color-mix(in srgb,var(--theme-primary) 11%,var(--theme-card-background)); }
.trip-record-type-icon .trip-tab-icon { display: block; width: 34px; height: 34px; margin: auto; }
.trip-record-column-add { display: grid; place-items: center; width: 100%; min-height: 54px; border: 1px dashed color-mix(in srgb,var(--theme-primary) 42%,var(--theme-border)); border-radius: calc(var(--theme-radius) * .9); color: var(--theme-primary); background: color-mix(in srgb,var(--theme-primary) 4%,var(--theme-card-background)); box-shadow: none; }
.trip-record-column-add span { font-size: 2rem; font-weight: 350; line-height: 1; }
.trip-record-column-add:hover { border-style: solid; background: color-mix(in srgb,var(--theme-primary) 11%,var(--theme-card-background)); box-shadow: none; transform: none; }
.trip-record-modal { z-index: 1200; }
.trip-record-modal-panel { width: min(920px,100%); border-radius: calc(var(--theme-radius) * 1.4); background: var(--theme-card-background); }
.trip-record-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 16px; border-bottom: 1px solid var(--theme-border-soft); padding-bottom: 14px; }
.trip-record-modal-header > div { display: grid; gap: 4px; }
.trip-record-modal-header h2 { margin: 0; color: var(--theme-heading); }
.trip-record-modal-header small { color: var(--theme-muted-text); }
.trip-record-modal-header .icon-only-button { min-width: 38px; font-size: 1.5rem; line-height: 1; }
.trip-record-modal-content { display: grid; gap: 14px; }
.trip-record-modal-content > .form { margin: 0; }
.trip-record-modal-types { margin-bottom: 4px; }
.trip-traveler-modal-form { grid-template-columns: repeat(3,minmax(0,1fr)); }
body.modal-open { overflow: hidden; }
.trip-overview-carriers-summary-panel { align-content: start; gap: 0; }
.trip-overview-carriers-summary-panel > .trip-overview-summary-header { margin: 0; padding: 0 0 13px; }
.trip-overview-carriers-summary-panel article { display: grid; gap: 4px; padding: 12px 0; }
.trip-overview-carriers-summary-panel article + article { border-top: 1px solid var(--theme-border-soft); }
.trip-overview-carriers-summary-panel article small { color: var(--theme-muted-text); line-height: 1.45; }
.trip-overview-payments-panel { order: 999; align-content: start; gap: 0; }
.trip-overview-payments-panel > .eyebrow { margin: 0; padding-bottom: 13px; border-bottom: 1px solid var(--theme-border-soft); }
.trip-overview-payments-panel article { display: grid; gap: 4px; padding: 12px 0; }
.trip-overview-payments-panel article + article { border-top: 1px solid var(--theme-border-soft); }
.trip-overview-payments-panel article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.trip-overview-payments-panel article small { color: var(--theme-muted-text); line-height: 1.45; }
.booking-payment-form { margin: 14px 0; padding: 18px; border: 1px solid var(--theme-border-soft); border-radius: 14px; background: color-mix(in srgb, var(--theme-primary) 3%, #fff); }
.booking-payment-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--theme-border-soft); }
.booking-payment-row-details { display: grid; gap: 3px; min-width: 0; }
.booking-payment-row-details small { color: var(--theme-muted-text); line-height: 1.4; }
.booking-payment-row-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.booking-payment-row-actions strong { margin-right: 8px; white-space: nowrap; }
.trip-payment-form { margin-bottom: 18px; }
.trip-payment-log .rollover-table td:last-child { white-space: nowrap; text-align: right; }
.trip-payment-actions { white-space: nowrap; width: 74px; }
.trip-payment-actions button + button { margin-left: 5px; }
.trip-payment-icon-button { display: inline-grid; width: 29px; min-width: 29px; height: 29px; min-height: 29px; padding: 5px; place-items: center; }
.trip-payment-icon-button svg,
.trip-payment-icon-button img { width: 15px; height: 15px; }
.trip-payment-booking { margin-top: 18px; border: 1px solid var(--theme-border-soft); border-radius: 14px; overflow-x: auto; }
.trip-payment-booking-heading { display: flex; align-items: baseline; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--theme-border-soft); }
.trip-payment-booking-heading small { color: var(--theme-muted-text); }
.trip-payment-ledger { margin: 0; width: 100%; }
.trip-payment-ledger .trip-payment-package-price th,
.trip-payment-ledger .trip-payment-paid th,
.trip-payment-ledger .trip-payment-balance th { text-align: left; padding-left: 16px; }
.trip-payment-ledger .trip-payment-package-price,
.trip-payment-ledger .trip-payment-balance { background: color-mix(in srgb, var(--theme-primary) 6%, #fff); font-weight: 800; }
.trip-payment-ledger .trip-payment-balance { border-top: 2px solid var(--theme-border-soft); }
.trip-payment-ledger td:last-child { white-space: nowrap; text-align: right; }
.trip-overview-form { display: grid; grid-template-columns: minmax(180px, 1.3fr) repeat(2, minmax(125px, .7fr)); gap: 14px; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); padding: 15px; background: var(--theme-card-background); }
.trip-personal-benefit { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; margin:14px 0; padding:14px 16px; border:1px solid var(--theme-border-soft); border-radius:var(--theme-radius); background:var(--theme-card-background); }
.trip-personal-benefit strong { color:var(--theme-heading); }
.trip-personal-benefit label { display:inline-flex; align-items:center; gap:8px; margin:0; }
.trip-personal-benefit small { flex:1 1 260px; color:var(--theme-label); }
.personal-travel-rule { display:grid; grid-template-columns:repeat(3,minmax(145px,1fr)); align-items:end; gap:12px; padding:14px 0; border-bottom:1px solid var(--theme-border-soft); }
.personal-travel-rule label { display:grid; gap:5px; }
.personal-travel-rule label:has(input[type="checkbox"]) { display:flex; align-items:center; }
@media (max-width:750px) { .personal-travel-rule { grid-template-columns:1fr; } }
.trip-overview-form label { display: grid; align-content: start; gap: 6px; color: var(--theme-label); font-size: .74rem; font-weight: 700; }
.trip-overview-form input,.trip-overview-form select,.trip-overview-form textarea { margin: 0; }
.trip-overview-form-title { grid-column: 1 / -1; margin: 0; padding-bottom: 10px; border-bottom: 1px solid var(--theme-border-soft); }
.trip-overview-agent-field { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 9px; min-height: 40px; }
.trip-overview-agent-field > span { width: 100%; color: var(--theme-label); font-size: .74rem; font-weight: 700; }
.trip-overview-description { grid-column: 1 / -1; }
.trip-overview-actions { grid-column: 1 / -1; }
.trip-overview-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.trip-overview-columns > .trip-overview-summary:nth-child(3) { grid-column: 1 / -1; }
.trip-overview-summary { display: grid; align-content: start; gap: 0; overflow: hidden; border: 1px solid var(--theme-border-soft); border-radius: var(--theme-radius); background: var(--theme-card-background); }
.trip-overview-summary > .eyebrow { margin: 0; padding: 13px 15px; border-bottom: 1px solid var(--theme-border-soft); }
.trip-overview-summary-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px 9px 15px; border-bottom: 1px solid var(--theme-border-soft); }
.trip-overview-summary-header .eyebrow { margin: 0; }
.trip-overview-summary-header button { min-height: 30px; padding: 5px 10px; }
.trip-traveler-form { display: grid; grid-template-columns: minmax(190px,1fr) minmax(125px,.45fr); gap: 10px; padding: 12px 15px; border-bottom: 1px solid var(--theme-border-soft); }
.trip-traveler-form label { display: grid; gap: 5px; color: var(--theme-label); font-size: .72rem; font-weight: 700; }
.trip-traveler-form .tool-header-actions { grid-column: 1/-1; }
.trip-overview-summary article { display: grid; gap: 4px; padding: 11px 15px; }
.trip-overview-summary article + article { border-top: 1px solid var(--theme-border-soft); }
.trip-overview-summary article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.trip-overview-summary article small { color: var(--theme-muted-text); line-height: 1.45; }
.trip-traveler-chain { --traveler-connector-color: color-mix(in srgb,var(--theme-chart-start) 74%,var(--theme-card-background)); position: relative; display: grid; gap: 11px; padding: 14px; }
.trip-traveler-chain::before { position: absolute; z-index: 2; top: var(--traveler-spine-top,41px); bottom: var(--traveler-spine-bottom,41px); left: 1px; width: 2px; border-radius: 2px; background: var(--traveler-connector-color); content: ""; pointer-events: none; }
.trip-overview-summary .trip-traveler-card { position: relative; display: grid; min-height: 82px; gap: 6px; margin-left: 10px; border: 0; border-radius: calc(var(--theme-radius) * .8); padding: 14px 18px 14px 38px; background: linear-gradient(135deg,color-mix(in srgb,var(--theme-primary) 13%,var(--theme-card-background)),var(--theme-card-background) 78%); box-shadow: -2px 5px 12px color-mix(in srgb,var(--theme-text) 8%,transparent); cursor: pointer; transition: box-shadow 140ms ease; }
.trip-overview-summary .trip-traveler-card:hover,.trip-overview-summary .trip-traveler-card:focus-visible { background: linear-gradient(135deg,color-mix(in srgb,var(--theme-primary) 24%,var(--theme-card-background)),color-mix(in srgb,var(--theme-primary) 5%,var(--theme-card-background)) 82%); box-shadow: -4px 10px 22px color-mix(in srgb,var(--theme-primary) 25%,transparent); outline: 0; }
.trip-overview-summary .trip-traveler-card.is-secondary:hover,.trip-overview-summary .trip-traveler-card.is-secondary:focus-visible { background: linear-gradient(135deg,color-mix(in srgb,var(--theme-secondary-accent,var(--theme-primary)) 56%,var(--theme-card-background)),color-mix(in srgb,var(--theme-secondary) 16%,var(--theme-card-background)) 84%); }
.trip-overview-summary .trip-traveler-card::before { position: absolute; z-index: 4; top: 50%; left: -6px; width: 12px; height: 12px; border: 0; border-radius: 50%; background: var(--traveler-connector-color); box-shadow: none; content: ""; transform: translateY(-50%); }
.trip-overview-summary .trip-traveler-card::after { position: absolute; z-index: 3; top: 50%; left: -10px; width: 10px; height: 2px; background: var(--traveler-connector-color); content: ""; pointer-events: none; transform: translateY(-50%); }
.trip-overview-summary .trip-traveler-card.is-secondary { margin-left: 40px; border-color: color-mix(in srgb,var(--theme-secondary-accent,var(--theme-primary)) 18%,var(--theme-border-soft)); background: linear-gradient(135deg,color-mix(in srgb,var(--theme-secondary-accent,var(--theme-secondary)) 42%,var(--theme-card-background)),var(--theme-card-background) 82%); }
.trip-overview-summary .trip-traveler-card.is-secondary::before { background: var(--traveler-connector-color); }
.trip-overview-summary .trip-traveler-card.is-secondary::after { left: -40px; width: 40px; }
.trip-traveler-name { color: var(--theme-heading); font-size: .84rem; font-weight: 800; }
.trip-traveler-name-row { display: flex; align-items: center; justify-content: flex-start !important; flex-wrap: wrap; gap: 7px !important; }
.trip-traveler-lead-pill { display: inline-flex; align-items: center; min-height: 20px; border-radius: 999px; padding: 2px 7px; color: #fff; background: var(--theme-chart-start); font-size: .61rem; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.trip-record-travelers .trip-traveler-card,.trip-record-travelers .trip-traveler-card.is-secondary { border-color: color-mix(in srgb,var(--theme-chart-start) 25%,var(--theme-border-soft)); background: linear-gradient(105deg,color-mix(in srgb,var(--theme-chart-start) 24%,var(--theme-card-background)),var(--theme-card-background) 74%); }
.trip-record-travelers .trip-traveler-card::before,.trip-record-travelers .trip-traveler-card.is-secondary::before { background: var(--traveler-connector-color); }
.trip-record-bookings .trip-record-card { border-color: color-mix(in srgb,var(--theme-chart-middle) 25%,var(--theme-border-soft)); background: linear-gradient(105deg,color-mix(in srgb,var(--theme-chart-middle) 24%,var(--theme-card-background)),var(--theme-card-background) 74%); }
.trip-record-details .trip-record-card { border-color: color-mix(in srgb,var(--theme-chart-end) 25%,var(--theme-border-soft)); background: linear-gradient(105deg,color-mix(in srgb,var(--theme-chart-end) 24%,var(--theme-card-background)),var(--theme-card-background) 74%); }
.trip-record-travelers .trip-traveler-card:hover,.trip-record-travelers .trip-traveler-card:focus-visible { background: linear-gradient(105deg,color-mix(in srgb,var(--theme-chart-start) 36%,var(--theme-card-background)),var(--theme-card-background) 78%); box-shadow: -4px 10px 22px color-mix(in srgb,var(--theme-chart-start) 22%,transparent); }
.trip-record-bookings .trip-record-card:hover,.trip-record-bookings .trip-record-card:focus-visible { border-color: color-mix(in srgb,var(--theme-chart-middle) 70%,var(--theme-border-soft)); background: linear-gradient(105deg,color-mix(in srgb,var(--theme-chart-middle) 36%,var(--theme-card-background)),var(--theme-card-background) 78%); box-shadow: inset 4px 0 0 var(--theme-chart-middle),-4px 10px 22px color-mix(in srgb,var(--theme-chart-middle) 22%,transparent); }
.trip-record-details .trip-record-card:hover,.trip-record-details .trip-record-card:focus-visible { border-color: color-mix(in srgb,var(--theme-chart-end) 70%,var(--theme-border-soft)); background: linear-gradient(105deg,color-mix(in srgb,var(--theme-chart-end) 36%,var(--theme-card-background)),var(--theme-card-background) 78%); box-shadow: inset 4px 0 0 var(--theme-chart-end),-4px 10px 22px color-mix(in srgb,var(--theme-chart-end) 22%,transparent); }
.trip-overview-view-all { justify-self: start; min-height: 30px; margin: 10px 14px 13px; padding: 5px 10px; }
.trip-overview-extensions { display: grid; gap: 12px; border-top: 1px solid var(--theme-border-soft); padding-top: 16px; }
.trip-detail-tab-panels .rollover-table { min-width: 760px; }
.trip-detail-tab-panels > [role="tabpanel"]:has(.rollover-table) { overflow-x: auto; }
.vendor-production-panel .sales-tool-intro select { width: auto; min-width: 105px; }
.vendor-month-chart { display: grid; grid-template-columns: repeat(12,minmax(34px,1fr)); align-items: end; gap: clamp(5px,1vw,14px); min-height: 290px; padding: 28px 8px 4px; overflow-x: auto; }
.vendor-month-chart > div { display: grid; grid-template-rows: 28px 210px 24px; min-width: 34px; align-items: end; text-align: center; }
.vendor-month-chart strong { align-self: start; color: var(--theme-muted-text); font-size: .66rem; white-space: nowrap; }
.vendor-month-chart i { display: block; width: 72%; min-height: 0; margin: 0 auto; background: var(--theme-chart-gradient); background-size: 1200% 100%; border-radius: 4px 4px 0 0; box-shadow: -2px 5px 8px color-mix(in srgb,var(--theme-text) 12%,transparent); transition: filter 160ms ease,transform 160ms ease; transform-origin: bottom; }
.vendor-month-chart > div:nth-child(1) i{background-position:0 0}.vendor-month-chart > div:nth-child(2) i{background-position:9% 0}.vendor-month-chart > div:nth-child(3) i{background-position:18% 0}.vendor-month-chart > div:nth-child(4) i{background-position:27% 0}.vendor-month-chart > div:nth-child(5) i{background-position:36% 0}.vendor-month-chart > div:nth-child(6) i{background-position:45% 0}.vendor-month-chart > div:nth-child(7) i{background-position:55% 0}.vendor-month-chart > div:nth-child(8) i{background-position:64% 0}.vendor-month-chart > div:nth-child(9) i{background-position:73% 0}.vendor-month-chart > div:nth-child(10) i{background-position:82% 0}.vendor-month-chart > div:nth-child(11) i{background-position:91% 0}.vendor-month-chart > div:nth-child(12) i{background-position:100% 0}
.vendor-month-chart i:hover { filter: brightness(1.08); transform: scaleX(1.08); }
.vendor-month-chart span { color: var(--theme-label); font-size: .72rem; font-weight: 700; }
@media (max-width: 780px) {
  .trip-detail-tabs { gap: 18px; margin-right: -14px; margin-left: -14px; padding: 0 14px; }
  .trip-overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trip-overview-form,.trip-overview-columns,.trip-overview-primary-columns,.trip-record-columns,.trip-traveler-modal-form { grid-template-columns: 1fr; }
  .trip-overview-columns > .trip-overview-summary:nth-child(3) { grid-column: auto; }
  .trip-carrier-package > header,.trip-carrier-card > header,.trip-carriers-heading { align-items: flex-start; flex-direction: column; }
  .trip-carrier-actions { justify-content: flex-start; }
  .trip-carrier-editor,.trip-package-editor,.quick-booking-form,.booking-location-form { grid-template-columns: 1fr; }
  .compact-client-form { grid-template-columns: 1fr; }
  .client-family-form { grid-template-columns: 1fr; }
  .client-family-row { align-items: flex-start; }
  .new-trip-description,.new-trip-clients { grid-column: auto; }
  .trip-client-fields { grid-template-columns: 1fr; }
  .client-detail-grid { grid-template-columns: 1fr; gap: 2px; }
  .client-detail-grid dd { margin-bottom: 10px; }
  .client-trip-card { align-items: flex-start; flex-direction: column; gap: 4px; }
  .dashboard-topbar {
    position: fixed;
    inset: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    height: calc(60px + env(safe-area-inset-top, 0px));
    min-height: 60px;
    padding: env(safe-area-inset-top, 0px) 12px 0;
    background: var(--theme-topbar);
    color: var(--theme-topbar-text);
    box-shadow: 0 3px 12px rgb(0 0 0 / 8%);
    pointer-events: auto;
    z-index: 125;
  }
  .dashboard-topbar .dashboard-nav-toggle { position: static; width: 40px; min-width: 40px; height: 40px; padding: 8px; color: var(--theme-topbar-text); background: transparent; box-shadow: none; }
  body .dashboard-topbar .dashboard-account { position: relative; inset: auto; display: flex; align-items: center; gap: 8px; }
  .dashboard-topbar .dashboard-account-button { width: auto; min-height: 40px; max-width: 190px; padding: 4px 6px; gap: 8px; }
  .dashboard-topbar .dashboard-account-name,
  .dashboard-topbar .account-chevron { display: none; }
  .dashboard-topbar .dashboard-account-mobile-name { display: block; max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .dashboard-topbar .dashboard-account-avatar { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 9px; background-color: var(--theme-card-background); background-size: cover; background-position: center; font-size: .7rem; }
  .dashboard-topbar .dashboard-account-avatar.has-photo { color: transparent; }
  .dashboard-topbar .dashboard-account-notifications { color: var(--theme-topbar-text); }
  .dashboard-topbar .dashboard-account-menu { position: absolute; top: calc(100% + 10px); right: 0; bottom: auto; left: auto; max-width: calc(100vw - 24px); }
  .dashboard-main { padding-top: calc(78px + env(safe-area-inset-top, 0px)); }
  .dashboard-sidebar { top: calc(60px + env(safe-area-inset-top, 0px)); }
  .dashboard-nav-backdrop { top: calc(60px + env(safe-area-inset-top, 0px)); }
  .global-data-loader { top: calc(66px + env(safe-area-inset-top, 0px)); }
}
.trip-timeline{display:grid;gap:18px;margin-top:1rem}.trip-timeline-day{overflow:hidden;border:1px solid var(--theme-border-soft);border-radius:var(--theme-radius);background:var(--theme-card-background);box-shadow:-3px 7px 14px color-mix(in srgb,var(--theme-text) 11%,transparent)}.trip-timeline-day-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 15px;border-bottom:1px solid var(--theme-border-soft);background:var(--theme-field-background)}.trip-timeline-day-header>time{color:var(--theme-heading);font-size:.77rem;font-weight:800}.trip-timeline-day-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.trip-timeline-count{border:1px solid color-mix(in srgb,var(--theme-primary) 48%,var(--theme-border-soft));border-radius:999px;padding:2px 7px;color:var(--theme-primary);background:var(--theme-card-background);font-size:.64rem;font-weight:800}.trip-timeline-count-payment{border-color:color-mix(in srgb,var(--theme-toggle-active) 55%,var(--theme-border-soft));color:var(--theme-toggle-active)}.trip-timeline-count-traveler{border-color:color-mix(in srgb,var(--theme-attention-pill) 70%,var(--theme-border-soft));color:var(--theme-attention-pill-text)}.trip-timeline-day-events{display:grid;padding:15px 16px 0}.trip-timeline-event{position:relative;display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:.75rem;padding:0 0 1.25rem}.trip-timeline-event:not(:last-child)::before{content:"";position:absolute;left:.34rem;top:.75rem;bottom:0;width:1px;background:var(--theme-border-soft)}.trip-timeline-marker{position:relative;z-index:1;width:.75rem;height:.75rem;margin-top:.25rem;border-radius:999px;background:var(--theme-primary);box-shadow:0 0 0 4px var(--theme-card)}.trip-timeline-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.trip-timeline-header time,.trip-timeline-actor,.trip-timeline-facts{color:var(--theme-muted);font-size:.82rem}.trip-timeline-event p{margin:.3rem 0 0}.trip-timeline-facts{line-height:1.5}@media(max-width:700px){.trip-timeline-day-header{align-items:flex-start;flex-direction:column}.trip-timeline-day-counts{justify-content:flex-start}.trip-timeline-header{align-items:flex-start;flex-direction:column;gap:.2rem}}
.trip-content-entry,.trip-document-entry{display:grid;gap:.3rem;padding:.8rem 0}.trip-content-entry+.trip-content-entry,.trip-document-entry+.trip-document-entry{border-top:1px solid var(--theme-border-soft)}.trip-content-entry p{margin:0;white-space:pre-wrap}.trip-content-entry small,.trip-document-entry small{color:var(--theme-muted)}
.received-create-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end}.received-create-form label{display:grid;gap:.35rem}.received-create-form label:nth-child(5){grid-column:1/-1}.received-allocation-form{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(220px,2fr) 130px auto;gap:.7rem;align-items:center;margin-top:1rem}.received-table{width:100%;margin-top:.75rem}.received-source-icon{display:block;width:20px;height:20px;object-fit:contain}.received-status-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;margin-bottom:1.25rem;border-radius:16px;background:color-mix(in srgb,var(--theme-primary) 18%,var(--theme-card-background));border-left:7px solid var(--theme-primary)}.received-status-banner strong{font-size:1.4rem}.received-status-unreconciled{border-color:#ba6a45}.received-status-partially-reconciled{border-color:#be9b39}.received-status-fully-reconciled{border-color:#3b9270}.received-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.received-detail-right{display:grid;gap:1.25rem;min-width:0;align-content:start}.received-detail-right .received-table{display:block;overflow-x:auto}.received-info-list{display:grid;grid-template-columns:minmax(130px,35%) 1fr;gap:.7rem 1rem}.received-info-list dt{font-weight:700;color:var(--theme-muted-text)}.received-info-list dd{margin:0}.received-adjustment-form{display:grid;grid-template-columns:minmax(200px,2fr) 150px auto;gap:.7rem;margin:1rem 0}.received-adjustment-line{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--theme-border)}.received-row:hover{background:color-mix(in srgb,var(--theme-primary) 9%,var(--theme-card-background))}#received-detail>.sales-tool-panel{margin-top:1.25rem}#received-detail h3{margin:0 0 .75rem}@media(max-width:900px){.received-create-form,.received-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.received-allocation-form{grid-template-columns:1fr 1fr}.received-allocation-form>input:first-child{grid-column:1/-1}}@media(max-width:600px){.received-create-form,.received-allocation-form,.received-adjustment-form,.received-detail-grid{grid-template-columns:1fr}.received-create-form label:nth-child(5),.received-allocation-form>input:first-child{grid-column:auto}.received-status-banner{flex-direction:column;align-items:flex-start}#received-list,#received-detail{overflow-x:auto}}
.record-status-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 9px;font-size:.69rem;font-weight:800;line-height:1.25;white-space:nowrap;background:color-mix(in srgb,var(--record-status-color) 14%,var(--theme-card));color:var(--record-status-color)}
.record-status-success{--record-status-color:var(--theme-primary)}
.record-status-warning{--record-status-color:var(--theme-notice-important);background:color-mix(in srgb,var(--theme-notice-important) 42%,var(--theme-card));color:color-mix(in srgb,var(--theme-notice-important) 65%,var(--theme-text))}
.record-status-danger{--record-status-color:var(--theme-notice-urgent);background:var(--theme-notice-urgent);color:var(--theme-attention-pill-text)}
.record-status-neutral{--record-status-color:var(--theme-description)}
.received-status-banner { --notice-accent: var(--theme-notice-general); display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; align-items: start; padding: 20px 22px; margin-bottom: 1rem; border: 1px solid var(--notice-accent); border-radius: var(--theme-radius); color: #fff; background: var(--notice-accent); box-shadow: inset 0 0 0 5px #fff, -13px 16px 28px color-mix(in srgb, var(--notice-accent) 28%, transparent), -5px 9px 16px color-mix(in srgb, var(--theme-text) 15%, transparent); }
.received-status-icon { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid rgb(255 255 255 / 55%); border-radius: 50%; color: #fff; background: rgb(255 255 255 / 16%); font-size: .72rem; font-weight: 900; }
.received-status-copy { display: grid; gap: 3px; }
.received-status-banner strong { color: #fff; font-size: .94rem; line-height: 1.3; }
.received-status-banner span { color: #fff; font-size: .8rem; line-height: 1.5; }
.received-status-unreconciled { --notice-accent: var(--theme-notice-urgent); }
.received-status-partially-reconciled { --notice-accent: var(--theme-notice-important); }
.received-status-fully-reconciled { --notice-accent: var(--theme-notice-general); }
.received-detail-grid > .sales-tool-panel { min-width: 0; align-self: start; }
.received-detail-right { row-gap: 1.5rem; }
.received-detail-right > .sales-tool-panel + .sales-tool-panel { margin-top: .35rem; }
.received-info-divider { height: 1px; margin: 1.25rem 0; border: 0; background: var(--theme-border-soft); }
.received-summary-list { margin-bottom: 0; }
.agent-level-override-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:end;margin:1rem 0}.agent-level-override-form label{display:grid;gap:.35rem}.agent-level-override-form label:nth-child(3){grid-column:1/-1}.agent-level-override-form button{justify-self:start}.agent-level-override-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-top:1px solid var(--theme-border-soft)}.agent-level-override-row>div{display:grid;gap:.25rem}.agent-level-override-row small{color:var(--theme-muted)}@media(max-width:650px){.agent-level-override-form{grid-template-columns:1fr}.agent-level-override-form label:nth-child(3){grid-column:auto}.agent-level-override-row{align-items:flex-start;flex-direction:column}}
