:root {
  font-family:
    Inter,
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: #162525;
  background: #f5f3ed;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --ink: #162525;
  --muted: #66706d;
  --forest: #102a2a;
  --green: #1f5c50;
  --mint: #dce9df;
  --paper: #fffdf8;
  --peach: #f0a36a;
  --line: #d8d9d2;
  --danger: #9d3e35;
  --surface: var(--paper);
  --border: var(--line);
  --soft: #eef2ec;
}

.sf-planner-app .field-map-object-legend { position: absolute; z-index: 4; top: 12px; left: 12px; display: grid; gap: 4px; width: min(220px, calc(100% - 76px)); padding: 9px; border: 1px solid rgb(15 23 42 / 18%); border-radius: 6px; background: rgb(255 255 255 / 94%); box-shadow: 0 3px 12px rgb(0 0 0 / 14%); backdrop-filter: blur(3px); }
.sf-planner-app .field-map-object-legend > strong { color: var(--planner-accent-strong); font-size: 11px; }
.sf-planner-app .field-map-object-legend > button { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 7px; min-height: 28px; padding: 3px 5px; border: 1px solid transparent; border-radius: 4px; color: var(--planner-text); background: transparent; text-align: left; }
.sf-planner-app .field-map-object-legend > button:hover, .sf-planner-app .field-map-object-legend > button:focus-visible { border-color: var(--planner-border-strong); background: var(--planner-subtle); }
.sf-planner-app .field-map-object-legend > button.hidden { opacity: .45; text-decoration: line-through; }
.sf-planner-app .field-map-object-legend i, .sf-planner-app .field-object-badge i, .sf-planner-app .field-table-object i { display: grid; width: 20px; height: 20px; place-items: center; border: 2px solid #fff; border-radius: 999px; color: #fff; box-shadow: 0 0 0 1px rgb(15 23 42 / 20%); font-size: 9px; font-style: normal; font-weight: 850; text-decoration: none; }
.sf-planner-app .field-map-object-legend > button > span { overflow: hidden; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.sf-planner-app .field-map-object-legend > button > small, .sf-planner-app .field-map-object-legend > small { color: var(--planner-muted); font-size: 9px; }
.sf-planner-app .field-map-object-legend > small { line-height: 1.35; }
.sf-planner-app .maplibregl-popup-content { padding: 0; overflow: hidden; border-radius: 7px; box-shadow: 0 6px 24px rgb(15 23 42 / 22%); }
.sf-planner-app .field-map-tooltip { display: grid; gap: 5px; min-width: 190px; padding: 10px; color: var(--planner-text); background: var(--planner-surface); }
.sf-planner-app .field-map-tooltip > span { color: var(--planner-muted); font-size: 9px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.sf-planner-app .field-map-tooltip > strong { color: var(--planner-accent-strong); }
.sf-planner-app .field-map-tooltip dl { display: grid; gap: 3px; margin: 2px 0 0; }
.sf-planner-app .field-map-tooltip dl > div { display: grid; grid-template-columns: minmax(65px, .7fr) minmax(0, 1.3fr); gap: 8px; }
.sf-planner-app .field-map-tooltip dd { margin: 0; overflow-wrap: anywhere; }
.sf-planner-app .field-object-badge, .sf-planner-app .field-table-object { display: inline-flex; align-items: center; gap: 6px; color: var(--planner-muted); font-size: 10px; font-weight: 750; }
.sf-planner-app .field-map-related-boundary { padding: 7px; border-left: 3px solid var(--planner-border-strong); background: var(--planner-subtle); }

*,
*::before,
*::after {
  box-sizing: border-box;
}

.platform-public-event {
  min-height: 100vh;
  display: grid;
  place-items: start center;
  padding: clamp(1rem, 5vw, 4rem);
  background: var(--surface, #f5f3ed);
  color: var(--ink, #17302e);
}

.platform-public-card {
  width: min(44rem, 100%);
  padding: clamp(1.25rem, 4vw, 2.5rem);
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 1rem 3rem rgb(16 42 42 / 10%);
}

.platform-public-form,
.platform-public-form label,
.platform-event-operation-grid {
  display: grid;
  gap: 1rem;
}

.platform-public-form input,
.platform-public-form textarea,
.platform-public-form select {
  width: 100%;
  box-sizing: border-box;
}

.platform-public-boundaries {
  margin-block: 1.5rem 0;
  padding-left: 1.25rem;
}

.platform-event-operation-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(22rem, 100%), 1fr));
  margin-block: 1.5rem;
}

.platform-event-registration {
  padding-block: 1rem;
  border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.event-operations-experience { display: grid; gap: 1rem; }
.event-operations-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.event-operations-header h1 { margin: .2rem 0; }
.event-authority-card { display: grid; gap: .25rem; min-width: 14rem; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.event-authority-card span, .event-authority-card small { color: var(--muted); }
.event-selector { display: grid; gap: .3rem; max-width: 30rem; color: var(--muted); font-size: .82rem; }
.event-selector select { width: 100%; }
.event-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.event-card-grid > article, .event-card-grid > section { display: grid; align-content: start; gap: .45rem; padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.event-card-grid h2, .event-card-grid strong { margin: 0; }
.event-card-grid time { color: var(--muted); }
.event-calendar-workspace { display: grid; gap: 1rem; }
.event-calendar-workspace section { padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.event-calendar-workspace ol { display: grid; gap: .55rem; padding: 0; list-style: none; }
.event-calendar-workspace li { display: grid; grid-template-columns: minmax(9rem, auto) 1fr; gap: 1rem; align-items: start; padding: .75rem; border-radius: 10px; background: var(--soft); }
.event-calendar-workspace li div { display: grid; gap: .2rem; }
.event-task-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.event-task-grid .panel-card { display: grid; align-content: start; gap: .65rem; margin: 0; }
.event-task-grid .panel-card > section { display: grid; gap: .25rem; padding: .65rem; border-radius: 10px; background: var(--soft); }
.event-span-two { grid-column: span 2; }
.event-json-facts dl, .event-triage-list dl { display: grid; gap: .35rem; }
.event-json-facts dl > div, .event-triage-list dl > div { display: grid; grid-template-columns: minmax(8rem, .5fr) 1fr; gap: .6rem; }
.event-json-facts dt, .event-triage-list dt { color: var(--muted); text-transform: capitalize; }
.event-json-facts dd, .event-triage-list dd { margin: 0; overflow-wrap: anywhere; }
.event-triage-list { display: grid; gap: .8rem; }
.event-triage-list > article { display: grid; gap: .65rem; padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.event-triage-list > article > header { display: flex; justify-content: space-between; gap: 1rem; }
.event-triage-list h2 { margin: .2rem 0; }
.event-day-workspace, .event-report-workspace { display: grid; gap: 1rem; }
.event-command-stack { display: grid; gap: 1rem; min-width: 0; }
.event-command-stack > *, .event-task-grid > * { min-width: 0; max-width: 100%; }
.event-command-stack .table-scroll { min-width: 0; max-width: 100%; }
.event-command-form { display: grid; align-content: start; gap: .8rem; min-width: 0; }
.event-command-form > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.event-command-form h2, .event-command-form h3 { margin-block: 0; }
.event-command-form label { display: grid; gap: .3rem; min-width: 0; color: var(--muted); font-size: .78rem; font-weight: 700; }
.event-command-form input:not([type="checkbox"]):not([type="color"]),
.event-command-form select,
.event-command-form textarea { width: 100%; min-width: 0; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: .55rem; color: var(--ink); background: #fff; font: inherit; }
.event-command-form textarea { min-height: 5.5rem; resize: vertical; }
.event-command-form input[type="color"] { width: 100%; min-height: 2.7rem; padding: .2rem; border: 1px solid var(--line); border-radius: .55rem; background: #fff; }
.event-command-form fieldset { display: grid; gap: .7rem; min-width: 0; margin: 0; padding: .8rem; border: 1px solid var(--line); border-radius: .7rem; }
.event-command-form legend { padding-inline: .3rem; font-weight: 700; }
.event-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; min-width: 0; }
.event-check-grid { display: flex; flex-wrap: wrap; gap: .55rem 1rem; }
.event-check-grid label, .event-inline-check { display: flex !important; align-items: center; gap: .45rem !important; color: var(--ink) !important; }
.event-check-grid input, .event-inline-check input { flex: 0 0 auto; }
.event-field-editor, .event-station-editor { padding: .75rem; border-radius: .7rem; background: var(--soft); }
.event-link-result { display: grid; gap: .35rem; padding: .85rem; border-left: .3rem solid var(--green); border-radius: .45rem; background: var(--soft); overflow-wrap: anywhere; }
.event-lead-capture { max-width: 68rem; }

@media (max-width: 980px) {
  .event-card-grid, .event-task-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .event-operations-header, .event-triage-list > article > header { align-items: stretch; flex-direction: column; }
  .event-authority-card { min-width: 0; }
  .event-card-grid, .event-task-grid { grid-template-columns: 1fr; }
  .event-span-two { grid-column: auto; }
  .event-calendar-workspace li, .event-json-facts dl > div, .event-triage-list dl > div { grid-template-columns: 1fr; gap: .2rem; }
  .event-command-form > header { flex-direction: column; }
  .event-form-grid { grid-template-columns: 1fr; }
}

.territory-workspace {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

.territory-workspace > *,
.territory-workspace .section,
.territory-workspace .panel-card,
.territory-workspace .section-heading > * {
  min-width: 0;
}

.territory-workspace .status-pill,
.territory-workspace code {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.territory-workspace .insight-table-scroll {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}

.territory-hero {
  background:
    radial-gradient(circle at 80% 20%, rgb(191 219 254 / 30%), transparent 36%),
    linear-gradient(130deg, #f7fbf8, #eef6ff);
}

.territory-review-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.75fr);
  gap: 1rem;
  align-items: stretch;
}

.territory-map {
  position: relative;
  min-height: 25rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background:
    linear-gradient(90deg, rgb(255 255 255 / 65%) 1px, transparent 1px),
    linear-gradient(rgb(255 255 255 / 65%) 1px, transparent 1px), #e8f2e8;
  background-size: 2rem 2rem;
}

.territory-shape {
  position: absolute;
  display: flex;
  align-items: flex-start;
  padding: 0.7rem;
  border: 2px solid;
  border-radius: 1.2rem;
  font-size: 0.75rem;
  font-weight: 750;
}

.territory-north {
  inset: 8% 9% 48% 8%;
  color: #155e75;
  border-color: #0891b2;
  background: rgb(34 211 238 / 16%);
}

.territory-south {
  inset: 57% 12% 7% 10%;
  color: #166534;
  border-color: #16a34a;
  background: rgb(74 222 128 / 17%);
}

.territory-service {
  inset: 39% 28% 31% 30%;
  color: #92400e;
  border-color: #d97706;
  background: rgb(251 191 36 / 22%);
}

.territory-candidate {
  position: absolute;
  z-index: 2;
  display: grid;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  padding: 0;
  border: 3px solid white;
  border-radius: 50%;
  color: white;
  background: #173f35;
  box-shadow: 0 0.35rem 0.8rem rgb(15 23 42 / 25%);
}

.territory-detail {
  align-content: start;
}

.territory-health-list {
  display: grid;
  gap: 0.65rem;
  margin-block: 1rem;
}

.territory-health {
  display: grid;
  gap: 0.15rem;
  padding: 0.8rem;
  border-left: 0.3rem solid #2f7d67;
  border-radius: 0.65rem;
  background: #f4f8f6;
}

.territory-health.state-below-objective,
.territory-health.state-above-objective {
  border-left-color: #b45309;
  background: #fff8eb;
}

.territory-health.state-unresolved {
  border-left-color: #64748b;
  background: #f8fafc;
}

.territory-health span,
.territory-health small {
  color: var(--muted);
}

.scenario-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  margin-block: 1rem;
}

.scenario-comparison article {
  display: grid;
  gap: 0.35rem;
}

.scenario-arrow {
  font-size: 1.75rem;
  color: #2f7d67;
}

.publication-list {
  display: grid;
  gap: 0.8rem;
}

.publication-list article {
  display: grid;
  gap: 0.75rem;
}

.publication-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

@media (max-width: 850px) {
  .territory-review-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .territory-map {
    min-height: 20rem;
  }
}

@media (max-width: 560px) {
  .scenario-comparison {
    grid-template-columns: minmax(0, 1fr);
  }

.scenario-arrow {
  transform: rotate(90deg);
  justify-self: center;
}
}

/* PLATFORM-031 corrective published Events composition over Laravel authority. */
.experience-shell-events {
  --event-canvas: #061d17;
  --event-surface: #0d2b23;
  --event-surface-raised: #12372d;
  --event-line: #2b5a4b;
  --event-line-strong: #447867;
  --event-ink: #f2f5ee;
  --event-muted: #a9beb5;
  --event-mint: #7bd6b5;
  --event-coral: #ff8d68;
  background: var(--event-canvas);
}

.experience-shell-events .layout {
  min-height: calc(100dvh - 72px);
  grid-template-columns: 92px minmax(0, 1fr);
  color: var(--event-ink);
  background:
    radial-gradient(circle at 88% 3%, rgb(255 141 104 / 10%), transparent 24rem),
    var(--event-canvas);
}

.experience-shell-events .side-nav.experience-events {
  top: 86px;
  z-index: 4;
  width: 82px;
  max-height: calc(100dvh - 104px);
  margin: 18px 5px;
  padding: 7px;
  overflow: visible;
  border: 1px solid var(--event-line);
  border-radius: 15px;
  background: rgb(8 37 29 / 94%);
  box-shadow: 0 16px 38px rgb(0 0 0 / 20%);
}

.experience-shell-events .experience-events .nav-section-label,
.experience-shell-events .experience-events .nav-foot {
  display: none;
}

.experience-shell-events .experience-events .nav-section {
  gap: 5px;
}

.experience-shell-events .experience-events button {
  min-height: 58px;
  padding: 7px 4px;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #8ca49b;
  font-size: 0.68rem;
  font-weight: 800;
  text-align: center;
}

.experience-shell-events .experience-events button span {
  width: 25px;
  height: 25px;
  color: inherit;
  background: transparent;
  font-size: 0.9rem;
}

.experience-shell-events .experience-events button.active {
  border-color: #33715d;
  color: var(--event-mint);
  background: #134737;
  box-shadow: 0 8px 18px rgb(0 0 0 / 20%);
}

.experience-shell-events .experience-events button.active span {
  color: var(--event-mint);
  background: transparent;
}

.experience-shell-events .main.experience-main-events {
  width: 100%;
  max-width: 1240px;
  padding: 1rem clamp(1.15rem, 4vw, 4rem) 5rem;
}

.experience-shell-events .context-strip {
  min-height: 58px;
  margin: -1rem calc(clamp(1.15rem, 4vw, 4rem) * -1) 3.5rem;
  padding: 0.75rem clamp(1.15rem, 4vw, 4rem);
  border-bottom: 1px solid var(--event-line);
  color: var(--event-ink);
  background: rgb(7 31 24 / 88%);
}

.experience-shell-events .context-strip .eyebrow {
  margin: 0 0 4px;
  color: var(--event-muted);
}

.event-operations-experience {
  color: var(--event-ink, var(--ink));
}

.event-operations-experience button,
.event-operations-experience input,
.event-operations-experience select,
.event-operations-experience textarea {
  min-height: 44px;
  font-size: 16px;
}

.event-operations-experience button {
  border: 1px solid var(--event-line);
  border-radius: 10px;
  color: var(--event-ink);
  background: var(--event-surface-raised);
  font-weight: 800;
}

.event-operations-experience button:hover {
  border-color: var(--event-mint);
}

.event-operations-experience .primary-action {
  border-color: transparent;
  color: #06251c;
  background: var(--event-mint);
  box-shadow: 0 8px 24px rgb(123 214 181 / 18%);
}

.event-operations-experience .secondary-action {
  color: var(--event-ink);
  background: var(--event-surface-raised);
  box-shadow: none;
}

.published-event-workspace-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 0.7rem;
}

.published-event-workspace-identity > span:last-child {
  display: grid;
  gap: 1px;
}

.published-event-workspace-identity small,
.published-event-eyebrow {
  color: var(--event-muted);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.published-event-workspace-mark {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 12px;
  color: var(--event-ink);
  background: #0f6b50;
  font-family: Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
}

.published-event-display,
.published-work-switcher,
.published-form-navigation,
.published-admin-tabs,
.published-event-manage-tabs,
.published-calendar-view {
  width: fit-content;
  padding: 4px;
  display: flex;
  gap: 4px;
  border: 1px solid var(--event-line);
  border-radius: 13px;
  background: var(--event-surface);
}

.published-event-display {
  margin: 0 0 1.2rem auto;
}

.published-event-display button,
.published-work-switcher button,
.published-form-navigation button,
.published-admin-tabs button,
.published-event-manage-tabs button,
.published-calendar-view button {
  min-height: 44px;
  padding: 8px 15px;
  border: 0;
  color: var(--event-muted);
  background: transparent;
}

.published-event-display button[aria-pressed="true"],
.published-work-switcher button[aria-pressed="true"],
.published-form-navigation button[aria-current="page"],
.published-admin-tabs button[aria-selected="true"],
.published-event-manage-tabs button[aria-selected="true"],
.published-calendar-view button[aria-pressed="true"] {
  color: var(--event-mint);
  background: var(--event-surface-raised);
  box-shadow: 0 5px 14px rgb(0 0 0 / 16%);
}

.published-event-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem;
  margin: 0 0 2rem;
}

.published-event-heading h1,
.published-lead-capture h1 {
  max-width: none;
  margin: 0.3rem 0 0;
  color: var(--event-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.8rem, 7vw, 4.7rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.published-event-heading p {
  margin: 0.65rem 0 0;
  color: var(--event-muted);
}

.published-event-heading-actions,
.published-event-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.published-event-overview,
.published-work-summary,
.published-admin-summary {
  margin: 0 0 1.5rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(145px, auto);
  gap: 10px;
}

.published-event-overview article,
.published-event-overview > button,
.published-work-summary article,
.published-work-summary > button,
.published-admin-summary article {
  min-height: 70px;
  padding: 13px;
  display: grid;
  align-content: center;
  gap: 2px;
  border: 1px solid var(--event-line);
  border-radius: 11px;
  background: var(--event-surface);
}

.published-event-overview strong,
.published-work-summary strong,
.published-admin-summary strong {
  color: var(--event-mint);
  font-size: 1.15rem;
  text-transform: capitalize;
}

.published-event-overview span,
.published-work-summary span,
.published-admin-summary span {
  color: var(--event-muted);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.published-event-template-panel,
.published-work-panel {
  margin: 1.1rem 0 1.6rem;
  padding: 1rem;
  border: 1px solid var(--event-line);
  border-radius: 12px;
  background: rgb(9 39 31 / 62%);
}

.published-event-template-panel summary,
.published-work-panel summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  font-weight: 850;
  cursor: pointer;
}

.published-event-list,
.published-capture-event-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.published-event-list > article,
.published-capture-event-list > article,
.published-empty-state {
  min-width: 0;
  padding: 1.4rem;
  border: 1px solid var(--event-line);
  border-radius: 2px;
  background: var(--event-surface);
  box-shadow: 8px 9px 0 rgb(19 64 51 / 25%);
}

.published-event-list h2,
.published-capture-event-list h2,
.published-recent-leads h2,
.published-event-dialog h2,
.published-event-calendar h2,
.published-work-panel h2 {
  margin: 0;
  color: var(--event-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}

.published-event-list h2,
.published-capture-event-list h2 {
  font-size: 1.7rem;
}

.published-event-date,
.published-capture-event-list > article > p {
  margin: 0 0 10px;
  color: var(--event-coral);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.published-event-state {
  display: inline-block;
  width: fit-content;
  margin-top: 9px;
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--event-mint);
  background: #17493a;
  font-size: 0.72rem;
  font-weight: 800;
}

.published-event-form-name,
.published-capture-event-list span,
.published-capture-event-list small,
.published-recent-leads p,
.published-work-panel p {
  color: var(--event-muted);
}

.published-capture-event-list > article {
  display: grid;
  gap: 8px;
}

.published-capture-event-list button {
  margin-top: 12px;
}

.published-recent-leads {
  margin-top: 3.3rem;
}

.published-recent-leads h2 {
  margin: 0.25rem 0 1rem;
  font-size: 2rem;
}

.published-recent-leads > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.published-recent-leads article {
  min-height: 66px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--event-line);
  border-radius: 10px;
  background: var(--event-surface);
}

.published-recent-leads article > span {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: var(--event-mint);
  background: #14503d;
  font-weight: 850;
}

.published-recent-leads h3,
.published-recent-leads p {
  margin: 0;
}

.published-event-dialog-backdrop {
  position: fixed;
  z-index: 90;
  inset: 0;
  padding: 18px;
  display: grid;
  place-items: center;
  background: rgb(0 12 9 / 72%);
}

.published-event-dialog {
  width: min(980px, 100%);
  max-height: calc(100dvh - 36px);
  padding: clamp(1.25rem, 3vw, 2rem);
  overflow: auto;
  border: 1px solid var(--event-line-strong);
  border-radius: 18px;
  color: var(--event-ink);
  background: var(--event-canvas);
  box-shadow: 0 28px 90px rgb(0 0 0 / 45%);
}

.published-event-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.published-event-dialog h2 {
  margin-top: 0.25rem;
  font-size: clamp(1.8rem, 5vw, 2.8rem);
}

.published-event-dialog > header > button {
  min-width: 44px;
  padding: 0;
  border-radius: 50%;
  font-size: 1.4rem;
}

.published-event-manage-details {
  margin: 0 0 1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.published-event-manage-details div {
  padding: 12px;
  border: 1px solid var(--event-line);
  border-radius: 9px;
  background: var(--event-surface);
}

.published-event-manage-details dt {
  color: var(--event-muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.published-event-manage-details dd {
  margin: 4px 0 0;
  font-weight: 800;
}

.published-event-manage-tabs {
  width: 100%;
  margin-bottom: 1.25rem;
}

.published-event-manage-tabs button {
  flex: 1;
}

.published-event-manage-panel {
  display: grid;
  gap: 0.8rem;
}

.published-event-manage-action-grid,
.published-marketing-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.published-event-manage-action-grid button,
.published-marketing-actions button {
  min-height: 104px;
  padding: 16px;
  display: grid;
  align-content: center;
  gap: 6px;
  text-align: left;
}

.published-event-manage-action-grid span,
.published-marketing-actions span {
  color: var(--event-muted);
  font-size: 0.82rem;
  font-weight: 500;
}

.published-new-event-form,
.published-new-event-form label,
.published-lead-form,
.published-lead-form label,
.published-scanner-review label {
  display: grid;
  gap: 7px;
}

.published-new-event-form,
.published-lead-form {
  gap: 16px;
}

.published-new-event-form > div,
.published-attendee-picker,
.published-lead-fields,
.published-qualification > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.published-new-event-form input,
.published-new-event-form select,
.published-lead-form input:not([type="checkbox"]),
.published-lead-form select,
.published-lead-form textarea,
.published-scanner-review textarea {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--event-line-strong);
  border-radius: 9px;
  color: var(--event-ink);
  background: var(--event-surface);
}

.published-active-capture-event {
  margin-bottom: 1.5rem;
  padding: 12px 15px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--event-line);
  border-radius: 11px;
  background: var(--event-surface);
}

.published-active-capture-event span {
  color: var(--event-muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.published-lead-capture {
  width: min(780px, 100%);
  margin: 0 auto;
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid var(--event-line);
  border-radius: 16px;
  background: rgb(8 38 30 / 72%);
}

.published-lead-capture > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.published-lead-capture h1 {
  font-size: clamp(2.6rem, 7vw, 4rem);
}

.published-connection-status {
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--event-mint);
  background: #164638;
  font-size: 0.76rem;
  font-weight: 800;
}

.published-capture-depth {
  margin: 1.25rem 0 0.8rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.published-capture-depth button {
  min-height: 72px;
  padding: 12px;
  display: grid;
  gap: 3px;
  text-align: left;
}

.published-capture-depth button[aria-pressed="true"] {
  border-color: var(--event-mint);
  color: var(--event-mint);
  background: #164638;
}

.published-capture-depth span {
  color: var(--event-muted);
  font-size: 0.8rem;
  font-weight: 500;
}

.published-scan-button {
  width: 100%;
}

.published-scanner-review,
.published-qualification {
  margin-top: 0.8rem;
  padding: 1rem;
  display: grid;
  gap: 12px;
  border: 1px solid var(--event-line);
  border-radius: 11px;
  background: var(--event-surface);
}

.published-scanner-review h2,
.published-qualification h2 {
  margin: 0;
  font-family: Georgia, serif;
  font-weight: 500;
}

.published-form-identity,
.published-draft-note {
  color: var(--event-muted);
  line-height: 1.5;
}

.published-capture-checkin {
  padding: 13px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid #d98f69;
  border-radius: 11px;
  background: rgb(139 70 40 / 16%);
}

.published-capture-checkin div {
  display: grid;
  gap: 3px;
}

.published-capture-checkin span,
.published-capture-checkin small {
  color: var(--event-muted);
  font-size: 0.8rem;
}

.published-capture-checkin small {
  grid-column: 1 / -1;
}

.published-capture-checked-in {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--event-line-strong);
  border-radius: 9px;
  color: var(--event-mint);
  background: #123e32;
  font-size: 0.82rem;
  font-weight: 800;
}

.published-lead-fields > fieldset,
.published-qualification fieldset {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--event-line);
  border-radius: 9px;
}

.published-lead-fields > fieldset label,
.published-qualification fieldset label,
.published-duplicate-check {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.published-lead-fields input[type="checkbox"],
.published-qualification input[type="checkbox"] {
  width: 20px;
  height: 20px;
}

.published-capture-submit {
  position: sticky;
  bottom: 16px;
  width: 100%;
}

.published-work-switcher,
.published-form-navigation,
.published-admin-tabs {
  margin-bottom: 1.3rem;
}

.published-marketing-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.published-work-panel > article {
  margin-top: 8px;
  padding: 10px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--event-line);
  border-radius: 9px;
  background: var(--event-surface);
}

.published-event-calendar {
  padding: 1rem;
  border: 1px solid var(--event-line);
  border-radius: 15px;
  background: var(--event-surface);
}

.published-event-calendar > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.published-event-calendar h2 {
  margin-top: 0.25rem;
  font-size: 2rem;
}

.published-calendar-navigation {
  margin: 1rem 0;
  display: flex;
  gap: 8px;
}

.published-calendar-navigation button {
  min-width: 44px;
}

.published-calendar-weekdays,
.published-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.published-calendar-weekdays {
  border: 1px solid var(--event-line);
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: #10382d;
}

.published-calendar-weekdays span {
  padding: 9px 3px;
  color: var(--event-muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-align: center;
  text-transform: uppercase;
}

.published-calendar-grid {
  overflow: hidden;
  border: 1px solid var(--event-line);
  border-radius: 0 0 10px 10px;
}

.published-calendar-grid article {
  min-width: 0;
  min-height: 105px;
  padding: 6px;
  border-right: 1px solid var(--event-line);
  border-bottom: 1px solid var(--event-line);
}

.published-calendar-grid article:nth-child(7n) {
  border-right: 0;
}

.published-calendar-grid article.outside {
  opacity: 0.42;
  background: #09241d;
}

.published-calendar-grid article > time {
  color: var(--event-muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.published-calendar-grid article > button {
  width: 100%;
  min-height: 44px;
  margin-top: 4px;
  padding: 5px;
  overflow: hidden;
  color: var(--event-mint);
  background: #164638;
  font-size: 0.7rem;
  text-align: left;
  text-overflow: ellipsis;
}

.published-calendar-week {
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  overflow-x: auto;
}

.published-calendar-agenda {
  display: grid;
  gap: 8px;
}

.published-calendar-agenda button {
  min-height: 68px;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(130px, 0.35fr) 1fr;
  align-items: center;
  gap: 12px;
  text-align: left;
}

.published-calendar-agenda span {
  display: grid;
  gap: 4px;
}

.published-calendar-agenda small {
  color: var(--event-muted);
}

.event-alert {
  padding: 0.8rem 1rem;
  border-left: 4px solid var(--event-coral);
  border-radius: 8px;
  color: #ffd8ca;
  background: #4b261d;
}

.experience-shell-events .event-operations-experience .panel-card,
.experience-shell-events .event-card-grid > article,
.experience-shell-events .event-card-grid > section,
.experience-shell-events .event-triage-list > article,
.experience-shell-events .event-calendar-workspace section {
  border-color: var(--event-line);
  color: var(--event-ink);
  background: var(--event-surface);
}

.experience-shell-events .event-command-form label,
.experience-shell-events .event-json-facts dt,
.experience-shell-events .event-triage-list dt,
.experience-shell-events .event-authority-card span,
.experience-shell-events .event-authority-card small,
.experience-shell-events .technical-note {
  color: var(--event-muted);
}

.experience-shell-events .event-command-form input:not([type="checkbox"]):not([type="color"]),
.experience-shell-events .event-command-form select,
.experience-shell-events .event-command-form textarea,
.experience-shell-events .event-command-form input[type="color"] {
  border-color: var(--event-line-strong);
  color: var(--event-ink);
  background: var(--event-canvas);
}

.experience-shell-events .event-command-form fieldset,
.experience-shell-events .event-task-grid .panel-card > section,
.experience-shell-events .event-field-editor,
.experience-shell-events .event-station-editor {
  border-color: var(--event-line);
  color: var(--event-ink);
  background: #10362c;
}

.experience-shell-events .table-scroll table {
  color: var(--event-ink);
}

.experience-shell-events .table-scroll th,
.experience-shell-events .table-scroll td {
  border-color: var(--event-line);
}

@media (max-width: 900px) {
  .experience-shell-events .layout {
    padding-bottom: 82px;
    grid-template-columns: minmax(0, 1fr);
  }

  .experience-shell-events .side-nav.experience-events {
    position: fixed;
    top: auto;
    right: 10px;
    bottom: 8px;
    left: 10px;
    width: auto;
    max-height: none;
    margin: 0;
    padding: 5px;
  }

  .experience-shell-events .experience-events .nav-section {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .experience-shell-events .experience-events button {
    min-width: 0;
    min-height: 62px;
  }

  .published-event-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .published-event-overview,
  .published-work-summary,
  .published-admin-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .published-event-overview > button,
  .published-work-summary > button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .experience-shell-events .main.experience-main-events {
    padding-inline: 1rem;
  }

  .experience-shell-events .context-strip {
    margin-inline: -1rem;
    padding-inline: 1rem;
  }

  .experience-shell-events .experience-events button {
    font-size: 0.61rem;
  }

  .published-event-display,
  .published-work-switcher,
  .published-form-navigation,
  .published-admin-tabs {
    width: 100%;
  }

  .published-event-display button,
  .published-work-switcher button,
  .published-form-navigation button,
  .published-admin-tabs button {
    flex: 1;
    padding-inline: 6px;
  }

  .published-event-heading h1,
  .published-lead-capture h1 {
    font-size: clamp(2.45rem, 13vw, 3.5rem);
  }

  .published-event-heading-actions,
  .published-event-heading-actions > * {
    width: 100%;
  }

  .published-event-overview,
  .published-work-summary,
  .published-admin-summary,
  .published-event-list,
  .published-capture-event-list,
  .published-recent-leads > div,
  .published-marketing-actions,
  .published-event-manage-action-grid,
  .published-new-event-form > div,
  .published-attendee-picker,
  .published-lead-fields,
  .published-qualification > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .published-event-overview > button,
  .published-work-summary > button {
    grid-column: auto;
  }

  .published-event-manage-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .published-event-manage-details div:last-child {
    grid-column: 1 / -1;
  }

  .published-event-manage-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .published-active-capture-event {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .published-active-capture-event > span {
    grid-column: 1 / -1;
  }

  .published-lead-capture > header,
  .published-event-calendar > header {
    align-items: stretch;
    flex-direction: column;
  }

  .published-capture-depth {
    grid-template-columns: minmax(0, 1fr);
  }

  .published-calendar-grid article {
    min-height: 78px;
    padding: 3px;
  }

  .published-calendar-grid article > button {
    font-size: 0;
  }

  .published-calendar-grid article > button::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    border-radius: 50%;
    background: var(--event-mint);
  }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
}

button,
input,
select {
  font: inherit;
}

button,
select,
input {
  min-height: 44px;
}

button {
  cursor: pointer;
}

button:focus-visible,
select:focus-visible,
input:focus-visible,
a:focus-visible {
  outline: 3px solid #d87631;
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  top: -80px;
  left: 1rem;
  z-index: 100;
  padding: 0.75rem 1rem;
  background: white;
  color: var(--ink);
}

.skip-link:focus {
  top: 1rem;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 0.75rem clamp(1rem, 3vw, 2.5rem);
  color: white;
  background: var(--forest);
  box-shadow: 0 3px 12px rgb(5 30 28 / 18%);
}

.brand {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 11px;
  color: var(--forest);
  background: var(--peach);
  font-family: Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
}

.brand strong,
.brand small {
  display: block;
}

.brand small,
.persona-picker span {
  color: #bfd2cb;
  font-size: 0.75rem;
}

.persona-picker {
  display: grid;
  gap: 0.25rem;
}

.persona-picker select {
  padding: 0.4rem 2rem 0.4rem 0.7rem;
  border: 1px solid #55716a;
  border-radius: 8px;
  color: white;
  background: #173a37;
}

.side-nav a {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: 2.75rem;
  padding: .65rem .8rem;
  border-radius: .7rem;
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

.side-nav a:hover,
.side-nav a:focus-visible {
  background: rgba(255, 255, 255, .12);
}

.authenticated-profile .profile-menu button {
  min-height: 2.75rem;
  border: 0;
  border-radius: .65rem;
  background: #173c3a;
  color: white;
  font: inherit;
  font-weight: 800;
}

.layout {
  display: grid;
  min-width: 0;
  min-height: calc(100vh - 76px);
  grid-template-columns: 230px minmax(0, 1fr);
}

.side-nav {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.5rem 1rem;
  border-right: 1px solid var(--line);
  background: #ebeae4;
}

.side-nav button {
  display: flex;
  gap: 0.7rem;
  align-items: center;
  padding: 0.75rem;
  border: 0;
  border-radius: 9px;
  color: #42504d;
  background: transparent;
  text-align: left;
}

.side-nav button.active {
  color: #173d37;
  background: white;
  box-shadow: inset 3px 0 var(--peach);
  font-weight: 700;
}

.nav-foot {
  display: grid;
  margin-top: auto;
  color: #42504d;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 0.5rem;
}

.nav-foot small {
  grid-column: 2;
  color: var(--muted);
}

.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #3b8c65;
}

.main {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 1500px;
  margin: 0 auto;
  padding: clamp(1.25rem, 3vw, 3rem);
}

.context-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}

.context-strip strong,
.eyebrow {
  display: block;
}

.eyebrow {
  margin-bottom: 0.35rem;
  color: var(--green);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.notice {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  border-left: 4px solid var(--peach);
  border-radius: 4px;
  background: #fff7ed;
  color: #68462f;
}

.hero {
  display: flex;
  gap: 2rem;
  align-items: end;
  justify-content: space-between;
  padding: clamp(2rem, 5vw, 4.5rem) 0 2.5rem;
}

.hero.compact {
  padding-top: 2.5rem;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 760px;
  margin-bottom: 0.65rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.hero.compact h1 {
  font-size: clamp(2rem, 4vw, 3.4rem);
}

.hero p {
  max-width: 720px;
  margin-bottom: 0;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.6;
}

.primary,
.secondary,
.quiet,
.danger {
  padding: 0.65rem 1rem;
  border-radius: 8px;
  font-weight: 700;
}

.primary {
  border: 1px solid var(--forest);
  color: white;
  background: var(--forest);
}

.secondary {
  border: 1px solid #9da7a3;
  color: var(--ink);
  background: white;
}

.quiet {
  border: 0;
  color: var(--green);
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.danger {
  border: 1px solid #d5aaa5;
  color: var(--danger);
  background: #fff8f6;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.metric-grid {
  display: grid;
  gap: 1px;
  overflow: hidden;
  margin-bottom: 3rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--line);
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.metric-grid article {
  min-width: 0;
  padding: 1.25rem;
  background: var(--paper);
}

.metric-grid span,
.metric-grid small {
  display: block;
  color: var(--muted);
}

.metric-grid strong {
  display: block;
  overflow: hidden;
  margin: 0.5rem 0;
  font-family: Georgia, serif;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  font-weight: 500;
  text-overflow: ellipsis;
}

.section {
  margin: 2.5rem 0;
}

.section-heading {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}

.section-heading h2 {
  margin-bottom: 0;
  font-family: Georgia, serif;
  font-size: 1.8rem;
  font-weight: 500;
}

.pill {
  display: inline-flex;
  padding: 0.3rem 0.55rem;
  border: 1px solid #c6ccc7;
  border-radius: 999px;
  color: #4f5c58;
  background: #f4f5f1;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.pill.good {
  border-color: #b5d0c1;
  color: #215946;
  background: #e9f3ec;
}

.pill.status-available,
.pill.status-supported {
  border-color: #b5d0c1;
  color: #215946;
  background: #e9f3ec;
}

.pill.status-degraded {
  border-color: #dec8ae;
  color: #765022;
  background: #fbf3e6;
}

.pill.status-unavailable,
.pill.status-unsupported {
  border-color: #d8c3c0;
  color: #7b3d37;
  background: #fff3f1;
}

.pill.status-current {
  border-color: #b5d0c1;
  color: #215946;
  background: #e9f3ec;
}

.pill.status-stale,
.pill.status-unknown {
  border-color: #dec8ae;
  color: #765022;
  background: #fbf3e6;
}

.visit-filters {
  display: flex;
  gap: 1rem;
  align-items: end;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--paper);
}

.visit-filters label {
  display: grid;
  gap: 0.35rem;
  color: #3f4b48;
  font-size: 0.85rem;
  font-weight: 700;
}

.visit-filters input,
.visit-filters select {
  padding: 0.55rem 0.7rem;
  border: 1px solid #aeb6b0;
  border-radius: 7px;
  background: white;
}

.visit-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
}

.visit-card {
  display: grid;
  min-width: 0;
  gap: 1rem;
}

.visit-heading {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.visit-heading h3 {
  margin-bottom: 0;
  font-family: Georgia, serif;
  font-size: 1.55rem;
  font-weight: 500;
}

.visit-time,
.visit-card p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.5;
}

.visit-provenance {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.visit-brief {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

.visit-brief summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  cursor: pointer;
  color: var(--green);
  font-weight: 700;
}

.brief-facts,
.brief-columns {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}

.brief-facts > div,
.brief-columns fieldset {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.brief-facts span,
.brief-facts small {
  display: block;
  margin-top: 0.3rem;
}

.brief-facts small,
.brief-actions small {
  color: var(--muted);
}

.brief-columns label {
  display: flex;
  min-height: 44px;
  gap: 0.6rem;
  align-items: flex-start;
  padding: 0.65rem 0;
}

.brief-columns input {
  min-height: auto;
}

.brief-actions {
  margin-top: 1rem;
}

.brief-actions p {
  margin: 0.35rem 0;
}

.planning-brief-lineage {
  display: grid;
  gap: 0.45rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line));
  border-radius: 0.8rem;
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}

.planning-brief-lineage p,
.planning-brief-lineage details,
.planning-brief-lineage small {
  margin: 0;
}

.planning-brief-lineage code {
  display: block;
  overflow-wrap: anywhere;
  margin: 0.5rem 0;
}

.brief-columns label:has(input:disabled) {
  opacity: 0.72;
}

.visit-provenance dt {
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.visit-provenance dd {
  margin: 0.2rem 0 0;
  overflow-wrap: anywhere;
}

.content-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
}

.content-card {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--paper);
  box-shadow: 0 8px 24px rgb(36 47 43 / 7%);
  grid-template-columns: 120px 1fr;
}

.document-cover {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: space-between;
  min-height: 250px;
  padding: 1rem;
  border: 0;
  border-radius: 0;
  color: white;
  background:
    linear-gradient(145deg, transparent 55%, rgb(255 255 255 / 10%) 55%),
    var(--green);
  text-align: left;
  cursor: pointer;
  transition:
    filter 140ms ease,
    transform 140ms ease;
}

.document-cover:hover:not(:disabled),
.document-cover:focus-visible {
  filter: brightness(1.08);
}

.document-cover:active:not(:disabled) {
  transform: scale(0.99);
}

.document-cover:disabled {
  cursor: progress;
}

.document-cover.interactive-cover {
  background:
    linear-gradient(145deg, transparent 55%, rgb(255 255 255 / 10%) 55%),
    #70472f;
}

.interactive-stage {
  display: grid;
  min-height: 0;
  padding: clamp(0.75rem, 2vw, 1.5rem);
  background: #081b1a;
}

.interactive-stage iframe {
  width: 100%;
  min-height: calc(100vh - 190px);
  border: 0;
  border-radius: 10px;
  background: white;
}

.document-cover span {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.document-cover strong {
  font-family: Georgia, serif;
  font-size: 2rem;
}

.card-body {
  padding: 1.2rem;
}

.card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font-size: 0.8rem;
}

.card-body h3 {
  margin: 1rem 0 0.35rem;
  font-family: Georgia, serif;
  font-size: 1.45rem;
}

.card-body p {
  color: var(--muted);
}

.details {
  display: flex;
  gap: 1.5rem;
  margin: 1.2rem 0;
}

.details dt {
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.details dd {
  margin: 0.2rem 0 0;
  font-family: ui-monospace, monospace;
  font-size: 0.85rem;
}

.actions {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.limitation {
  margin-top: 2.5rem;
  padding: 1.2rem;
  border: 1px solid #dec8ae;
  border-radius: 10px;
  background: #fbf3e6;
}

.limitation p {
  max-width: 850px;
  margin: 0.35rem 0 0;
  color: #695a48;
  line-height: 1.5;
}

.empty {
  padding: 4rem 1rem;
  border: 1px dashed #b9beb8;
  border-radius: 12px;
  background: var(--paper);
  text-align: center;
}

.empty > span {
  display: block;
  margin-bottom: 0.75rem;
  font-size: 2rem;
}

.empty p {
  color: var(--muted);
}

.govern-grid {
  display: grid;
  gap: 1.5rem;
  align-items: start;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
}

.panel {
  padding: clamp(1.1rem, 3vw, 1.8rem);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--paper);
}

.form-panel {
  display: grid;
  gap: 1rem;
}

.form-panel label {
  display: grid;
  gap: 0.35rem;
  color: #3f4b48;
  font-size: 0.85rem;
  font-weight: 700;
}

.form-panel input {
  width: 100%;
  padding: 0.65rem 0.75rem;
  border: 1px solid #aeb6b0;
  border-radius: 7px;
  background: white;
}

.field-row {
  display: grid;
  gap: 1rem;
  grid-template-columns: 0.55fr 1fr;
}

.file-input {
  padding: 1rem;
  border: 1px dashed #9caaa3;
  border-radius: 8px;
  background: #f6f8f4;
}

.version-list {
  display: grid;
  gap: 0.8rem;
}

.version-list article {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}

.version-list h3 {
  margin: 0.5rem 0 0.2rem;
}

.version-list p {
  margin: 0;
  color: var(--muted);
}

.version-actions {
  display: flex;
  gap: 0.5rem;
}

.adapter-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
}

.adapter-card {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 1rem;
}

.adapter-heading {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
}

.adapter-heading > div {
  min-width: 0;
}

.adapter-heading h3 {
  margin-bottom: 0.25rem;
  font-family: Georgia, serif;
  font-size: 1.45rem;
  font-weight: 500;
}

.adapter-heading p,
.adapter-diagnostics p {
  margin-bottom: 0;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.adapter-details {
  margin: 0;
  flex-wrap: wrap;
}

.adapter-details > div {
  min-width: 0;
  flex: 1 1 120px;
}

.adapter-details dd,
.catalog-state-line {
  overflow-wrap: anywhere;
}

.catalog-discovery-hero {
  align-items: center;
}

.catalog-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 0.75rem;
  padding: 1rem;
  border-bottom: 1px solid var(--line);
  background: #f5f8f7;
}

.catalog-filters label {
  display: grid;
  gap: 0.35rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.catalog-filters input,
.catalog-filters select {
  min-width: 0;
  width: 100%;
}

.catalog-search {
  grid-column: span 2;
}

.catalog-notice {
  padding: 0.75rem;
  border-left: 4px solid #a96916;
  background: #fff4df;
}

.catalog-discovery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 1rem;
}

.catalog-offering {
  display: grid;
  gap: 0.8rem;
}

.catalog-offering-heading {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
}

.catalog-offering-heading h3,
.catalog-offering-heading p,
.catalog-offering > p {
  margin: 0.2rem 0 0;
}

.catalog-offering-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.catalog-offering-facts div {
  min-width: 0;
  padding: 0.5rem;
  border-radius: 8px;
  background: #f5f8f7;
}

.catalog-offering-facts dt,
.catalog-offering-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.catalog-offering-facts dt {
  color: var(--muted);
  font-size: 0.72rem;
}

.catalog-prices {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.compare-choice {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  padding-top: 0.65rem;
  border-top: 1px solid var(--line);
  font-weight: 700;
}

.catalog-pagination {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
}

.catalog-comparison {
  margin: 0 1.25rem 1.25rem;
}

.catalog-comparison td[data-state="unknown"],
.catalog-comparison td[data-state="non-comparable"] {
  color: #80520e;
  background: #fff4df;
}

.catalog-comparison td[data-state="not-applicable"] {
  color: var(--muted);
  background: #f5f8f7;
}

.configuration-dialog-backdrop {
  position: fixed;
  top: 76px;
  right: 0;
  bottom: 0;
  left: 230px;
  z-index: 14;
  display: grid;
  overflow: auto;
  padding: clamp(1rem, 3vw, 2.5rem);
  background: rgb(10 31 28 / 58%);
  overscroll-behavior: contain;
  place-items: start center;
}

.offer-configuration {
  display: grid;
  width: min(920px, 100%);
  max-height: calc(100vh - 76px - 2rem);
  overflow: auto;
  gap: 1rem;
  margin: 0;
  border-color: #83a69a;
  background: linear-gradient(145deg, #ffffff, #f3f8f6);
  box-shadow: 0 24px 70px rgb(4 26 22 / 32%);
}

.offer-configuration .section-heading p {
  max-width: 680px;
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.55;
}

.configuration-purpose-note {
  padding: 0.9rem 1rem;
  border: 1px solid #c9d9d2;
  border-radius: 10px;
  color: #34564e;
  background: #eef6f2;
}

.configuration-purpose-note p {
  margin: 0.35rem 0 0;
  line-height: 1.5;
}

.configuration-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 0.8rem;
}

.configuration-fields > label,
.configuration-fields fieldset {
  display: grid;
  min-width: 0;
  gap: 0.4rem;
  margin: 0;
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.configuration-fields input,
.configuration-fields select {
  min-width: 0;
  width: 100%;
}

.configuration-fields fieldset label {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  color: var(--ink);
  font-weight: 500;
}

.configuration-fields fieldset input {
  width: auto;
}

.configuration-fields small,
.configuration-result small {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.configuration-result {
  padding: 0.9rem;
  border-left: 4px solid var(--green);
  border-radius: 8px;
  background: #eef6f2;
}

.configuration-result ul {
  margin: 0.65rem 0;
  padding-left: 1.2rem;
}

.configuration-result li[data-severity="error"] {
  color: #8d2222;
}

.configuration-result li[data-severity="warning"] {
  color: #80520e;
}

.configuration-source-validation {
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.configuration-source-validation p {
  margin: 0.6rem 0;
  color: var(--muted);
  line-height: 1.5;
}

.configuration-source-validation label {
  display: grid;
  max-width: 22rem;
  gap: 0.35rem;
  margin-bottom: 0.55rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.native-pricing {
  display: grid;
  gap: 1rem;
  margin: 0 1.25rem 1.25rem;
  border-color: #8d9b69;
  background: linear-gradient(145deg, #ffffff, #f7f8f0);
}

.pricing-inputs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.8rem;
}

.pricing-inputs label {
  display: grid;
  min-width: 0;
  gap: 0.4rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.pricing-inputs input,
.pricing-inputs select {
  min-width: 0;
  width: 100%;
}

.pricing-result {
  padding: 0.9rem;
  border-left: 4px solid #788441;
  border-radius: 8px;
  background: #f5f7e9;
}

.pricing-state-line {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
}

.pricing-components {
  display: grid;
  gap: 0.45rem;
  margin: 0.8rem 0;
}

.pricing-components div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.2rem 0.8rem;
  padding: 0.55rem;
  border-bottom: 1px solid var(--line);
}

.pricing-components dt,
.pricing-components dd {
  margin: 0;
}

.pricing-components dd {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.pricing-components small {
  grid-column: 1 / -1;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.pricing-components .pricing-total {
  border: 0;
  background: #fff;
  font-size: 1.05rem;
}

.pricing-result ul {
  margin: 0.65rem 0;
  padding-left: 1.2rem;
}

.pricing-result li[data-severity="error"] {
  color: #8d2222;
}

.pricing-result li[data-severity="warning"] {
  color: #80520e;
}

.commercial-cart {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid #8d9b69;
  border-radius: 12px;
  background: #f8f9f1;
}

.commercial-cart p,
.commercial-cart small {
  margin: 0;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.cart-heading,
.cart-line-heading {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
}

.cart-heading strong,
.cart-line-heading strong,
.cart-line-heading small {
  display: block;
}

.cart-add-line {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: 0.65rem;
  align-items: end;
}

.cart-add-line label,
.cart-line-actions label {
  display: grid;
  min-width: 0;
  gap: 0.35rem;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.cart-add-line input,
.cart-add-line select,
.cart-line-actions input,
.cart-line-actions select {
  min-width: 0;
  width: 100%;
}

.commercial-subpanel {
  display: grid;
  min-width: 0;
  gap: 0.7rem;
  padding: 0.75rem;
  border: 1px solid #647f72;
  border-radius: 10px;
  background: #f4f8f5;
  overflow: hidden;
}

.commercial-subpanel > *,
.commercial-subpanel .cart-line,
.commercial-subpanel details,
.commercial-subpanel summary {
  min-width: 0;
  overflow-wrap: anywhere;
}

.commercial-subpanel select {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

.revalidation-change {
  display: grid;
  min-width: 0;
  gap: 0.25rem;
  padding: 0.6rem;
  border-left: 4px solid #a66517;
  background: #fff8e8;
  overflow-wrap: anywhere;
}

.cart-lines {
  display: grid;
  gap: 0.65rem;
}

.cart-line {
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.cart-line > dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
  gap: 0.45rem;
  margin: 0;
}

.cart-line > dl div {
  min-width: 0;
  padding: 0.4rem;
  background: #f5f8f7;
}

.cart-line dt,
.cart-line dd,
.cart-totals dt,
.cart-totals dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.cart-line dt {
  color: var(--muted);
  font-size: 0.7rem;
}

.cart-line-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: end;
}

.cart-line-actions label {
  flex: 1 1 10rem;
}

.cart-totals {
  display: grid;
  gap: 0.4rem;
  margin: 0;
}

.cart-totals div {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 0.6rem;
  border-radius: 8px;
  background: #fff;
  font-variant-numeric: tabular-nums;
}

.cart-totals dd {
  font-weight: 700;
}

.discount-panel {
  display: grid;
  gap: 0.7rem;
  padding: 0.75rem;
  border: 1px solid #b9c4a0;
  border-radius: 10px;
  background: #fff;
}

.discount-panel details {
  padding: 0.6rem;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.revalidation-panel,
.revalidation-records,
.revalidation-record {
  display: grid;
  min-width: 0;
  gap: 0.7rem;
}

.revalidation-panel {
  padding: 0.75rem;
  border: 1px solid #879d85;
  border-radius: 10px;
  background: #fff;
}

.revalidation-capabilities {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0.7rem;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.revalidation-capabilities legend {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.revalidation-capabilities label {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  font-size: 0.82rem;
}

.revalidation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: end;
}

.revalidation-actions label {
  display: grid;
  flex: 1 1 15rem;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.revalidation-record {
  padding: 0.7rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf8;
}

.revalidation-record table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.revalidation-record caption {
  padding-bottom: 0.35rem;
  text-align: left;
  font-weight: 700;
}

.revalidation-record th,
.revalidation-record td {
  padding: 0.4rem;
  border: 1px solid var(--line);
  text-align: left;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}

.quote-panel,
.quote-card {
  display: grid;
  min-width: 0;
  gap: 0.75rem;
}

.quote-panel {
  padding: 0.75rem;
  border: 1px solid #aa9474;
  border-radius: 10px;
  background: #fffdf8;
}

.quote-create {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: end;
}

.quote-create label {
  display: grid;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.quote-create textarea {
  min-height: 5rem;
  resize: vertical;
}

.quote-card {
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.quote-table-scroll {
  max-width: 100%;
  overflow-x: auto;
}

.quote-card table {
  min-width: 34rem;
}

.quote-limitations {
  margin: 0;
  padding-left: 1.2rem;
  color: var(--muted);
  font-size: 0.8rem;
}

.quote-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.quote-card details {
  padding: 0.6rem;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.quote-card details ol {
  padding-left: 1.25rem;
  overflow-wrap: anywhere;
}

@media (max-width: 560px) {
  .quote-create {
    grid-template-columns: minmax(0, 1fr);
  }
}

.order-panel,
.order-card,
.order-outcome {
  display: grid;
  min-width: 0;
  gap: 0.7rem;
}

.order-panel {
  padding: 0.75rem;
  border: 1px solid #9a8497;
  border-radius: 10px;
  background: #fcf9fc;
}

.order-create {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: end;
}

.order-create label,
.order-scenario {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.order-card {
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.recovery-queue {
  display: grid;
  gap: 1rem;
}

.recovery-card {
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: 1rem;
  background: var(--paper);
}

.recovery-card table {
  width: 100%;
  margin: 0.75rem 0;
  border-collapse: collapse;
}

.recovery-card th,
.recovery-card td {
  padding: 0.5rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  overflow-wrap: anywhere;
}

.order-problems {
  margin: 0;
  padding: 0.65rem 0.65rem 0.65rem 1.8rem;
  border-radius: 7px;
  color: #7b3d22;
  background: #fff4e9;
}

.order-outcome {
  padding: 0.65rem;
  border-left: 4px solid #765a75;
  background: #f5f0f5;
  overflow-wrap: anywhere;
}

.order-card details {
  padding: 0.6rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow-wrap: anywhere;
}

@media (max-width: 560px) {
  .order-create {
    grid-template-columns: minmax(0, 1fr);
  }
}

.authority-rule {
  display: grid;
  gap: 0.2rem;
  margin-top: 0.55rem;
  padding-top: 0.55rem;
  border-top: 1px solid var(--line);
}

.discount-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  gap: 0.6rem;
  align-items: end;
}

.discount-form label,
.approval-actions label {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.discount-form input,
.discount-form select,
.discount-form textarea,
.approval-actions input {
  min-width: 0;
  width: 100%;
}

.discount-reason {
  grid-column: span 2;
}

.discount-applications {
  display: grid;
  gap: 0.6rem;
}

.discount-application {
  display: grid;
  gap: 0.5rem;
  padding: 0.65rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf7;
}

.discount-application dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
  gap: 0.4rem;
  margin: 0;
}

.discount-application dl div {
  padding: 0.4rem;
  background: #fff;
}

.discount-application dt,
.discount-application dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.discount-application dt {
  color: var(--muted);
  font-size: 0.7rem;
}

.approval-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: end;
}

.approval-actions label {
  flex: 1 1 12rem;
}

.capability-list {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.capability-list li {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--line);
}

.capability-list li > span:first-child {
  min-width: 0;
  line-height: 1.35;
}

.adapter-diagnostics {
  padding: 0.85rem;
  border-radius: 8px;
  background: #f4f5f1;
  font-size: 0.85rem;
  line-height: 1.45;
}

.evidence-table {
  margin-top: 1.5rem;
}

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

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: 0.85rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  white-space: nowrap;
}

th {
  color: var(--muted);
  font-size: 0.75rem;
  text-transform: uppercase;
}

.presentation-shell {
  display: grid;
  overflow: hidden;
  width: 100%;
  height: 100dvh;
  min-height: 100vh;
  background: #26302e;
  grid-template-rows: auto 1fr auto;
}

.presentation-bar,
.presentation-controls {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: max(0.75rem, env(safe-area-inset-top))
    max(1rem, env(safe-area-inset-right)) 0.75rem
    max(1rem, env(safe-area-inset-left));
  color: white;
  background: var(--forest);
}

.presentation-bar small {
  display: block;
  color: #bfd2cb;
}

.quiet.inverse {
  color: white;
}

.canvas-stage {
  display: grid;
  overflow: auto;
  min-height: 0;
  padding: clamp(0.5rem, 3vw, 2rem);
  touch-action: pan-y;
  place-items: center;
}

.canvas-stage canvas {
  width: auto;
  max-height: 100%;
  max-width: 100%;
  height: auto;
  background: white;
  box-shadow: 0 10px 40px rgb(0 0 0 / 30%);
}

.presentation-controls {
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
}

.presentation-controls small {
  margin-left: 0.4rem;
  color: #bfd2cb;
}

.interaction-panel {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid #b7ccc4;
  border-radius: 14px;
  background: #f4f9f7;
}

.interaction-heading {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
}

.interaction-heading strong {
  display: block;
  font-size: 1.05rem;
  text-transform: capitalize;
}

.interaction-state {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  margin: 0;
}

.interaction-state div {
  min-width: 0;
  padding: 0.6rem;
  border-radius: 8px;
  background: white;
}

.interaction-state dt,
.interaction-state dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.interaction-state dt {
  color: var(--muted);
  font-size: 0.75rem;
}

.provisional-state {
  margin: 0;
  padding: 0.75rem;
  border-left: 4px solid #a96916;
  background: #fff4df;
}

.interaction-actions {
  flex-wrap: wrap;
}

.transition-history {
  margin-bottom: 0;
  color: var(--muted);
}

.interaction-content,
.interaction-content-evidence,
.interest-capture,
.captured-interests,
.interaction-capture {
  display: grid;
  gap: 0.7rem;
  padding: 0.8rem;
  border-radius: 10px;
  background: white;
}

.interaction-capture > summary {
  cursor: pointer;
  font-weight: 700;
}

.capture-template,
.capture-validation {
  display: grid;
  gap: 0.2rem;
  padding: 0.7rem;
  border-left: 4px solid var(--pine);
  background: #f4f9f7;
}

.capture-template small,
.capture-validation small,
.capture-records small {
  color: var(--muted);
}

.capture-entry-grid,
.kpi-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.75rem;
}

.capture-entry-grid label,
.kpi-fields > label,
.kpi-fields > fieldset,
.interaction-capture > label {
  display: grid;
  min-width: 0;
  gap: 0.4rem;
}

.capture-entry-grid textarea,
.kpi-fields textarea {
  min-height: 5rem;
  resize: vertical;
}

.capture-records {
  display: grid;
  gap: 0.5rem;
}

.capture-records p {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin: 0;
  padding: 0.55rem;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.kpi-fields {
  margin: 0;
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.kpi-fields > fieldset {
  padding: 0.6rem;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.interaction-content p,
.interest-capture p {
  margin: 0;
  color: var(--muted);
}

.platform-capture-form > label {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
  color: var(--ink);
  font-weight: 700;
}

.platform-capture-form select,
.platform-capture-form textarea {
  width: 100%;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  background: white;
  font-weight: 400;
}

.platform-capture-form textarea {
  min-height: 6rem;
  resize: vertical;
}

.platform-capture-form > button {
  justify-self: start;
}

.interaction-content-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.55rem;
}

.interaction-content-evidence span,
.interaction-content-evidence small {
  display: block;
}

.interaction-content-evidence small {
  color: var(--muted);
}

.interest-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.captured-interests article {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.65rem;
  border-top: 1px solid var(--line);
}

.captured-interests span,
.captured-interests small {
  display: block;
}

.visit-report {
  display: grid;
  gap: 0.8rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface) 93%, var(--accent));
}

.visit-report textarea {
  width: 100%;
  min-height: 5rem;
  resize: vertical;
}

.report-version {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.report-sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
  gap: 0.65rem;
}

.report-sections section {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.report-sections section > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}

.report-sections small,
.report-sections p {
  overflow-wrap: anywhere;
}

.report-actions {
  flex-wrap: wrap;
}

.follow-up-panel,
.follow-up-package {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.follow-up-package small {
  display: block;
  overflow-wrap: anywhere;
}

.follow-up-package > *,
.follow-up-package label,
.follow-up-package select,
.follow-up-package button,
.follow-up-package p,
.follow-up-package dd {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.follow-up-package select {
  width: 100%;
}

.insight-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 0.75rem;
  align-items: end;
}

.insight-filters label,
.insight-breakdown-heading label {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.insight-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.8rem;
}

.insight-metric-card {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--paper);
}

.insight-metric-card > strong {
  font-size: 2rem;
  color: var(--forest);
}

.insight-metric-card p,
.insight-metric-card li {
  overflow-wrap: anywhere;
}

.insight-breakdown-heading {
  align-items: end;
  gap: 1rem;
}

.insight-chart {
  display: grid;
  gap: 0.8rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
}

.insight-chart > div {
  display: grid;
  gap: 0.6rem;
}

.insight-bar-row {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) minmax(120px, 3fr) 2rem;
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
}

.insight-bar-row > span {
  overflow-wrap: anywhere;
}

.insight-bar-track {
  height: 0.8rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--mint);
}

.insight-bar-track span {
  display: block;
  height: 100%;
  min-width: 2px;
  border-radius: inherit;
  background: var(--green);
}

.insight-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}

.insight-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
}

.insight-table th,
.insight-table td {
  padding: 0.65rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.claim-limit {
  border-left: 4px solid var(--peach);
}

.intelligence-workspace {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

.intelligence-workspace > *,
.intelligence-explorer-heading,
.intelligence-map-layout,
.segment-result-grid {
  min-width: 0;
}

.intelligence-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  background:
    radial-gradient(circle at 85% 20%, rgb(240 163 106 / 24%), transparent 35%),
    linear-gradient(135deg, #173d37, #102a2a);
  color: white;
}

.intelligence-hero p {
  max-width: 68ch;
  color: #d6e4df;
}

.intelligence-brief {
  border-left: 4px solid var(--peach);
}

.intelligence-explorer-heading {
  align-items: end;
  gap: 1rem;
}

.intelligence-view-switch {
  display: inline-flex;
  padding: 0.2rem;
  border: 1px solid var(--line);
  border-radius: 0.75rem;
  background: var(--soft);
}

.intelligence-view-switch button {
  min-width: 5rem;
  border: 0;
  border-radius: 0.55rem;
  color: var(--muted);
  background: transparent;
}

.intelligence-view-switch button.active {
  color: var(--forest);
  background: white;
  box-shadow: 0 2px 8px rgb(16 42 42 / 12%);
  font-weight: 700;
}

.intelligence-filters {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) 1fr;
  gap: 0.75rem;
  align-items: end;
  margin: 1rem 0;
}

.intelligence-filters label {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.intelligence-filters p {
  margin: 0;
  padding-bottom: 0.7rem;
  color: var(--muted);
}

.intelligence-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, 0.8fr);
  gap: 1rem;
}

.intelligence-map {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  border: 1px solid #b9c8c1;
  border-radius: 1rem;
  background:
    linear-gradient(
        30deg,
        transparent 48%,
        rgb(31 92 80 / 9%) 49%,
        rgb(31 92 80 / 9%) 51%,
        transparent 52%
      )
      0 0 / 70px 70px,
    linear-gradient(
        150deg,
        transparent 48%,
        rgb(31 92 80 / 7%) 49%,
        rgb(31 92 80 / 7%) 51%,
        transparent 52%
      )
      0 0 / 90px 90px,
    radial-gradient(
      ellipse at 55% 45%,
      #e6ede5 0 35%,
      #f5f1e5 36% 62%,
      #dce9df 63%
    );
}

.map-north {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: var(--forest);
  font-weight: 800;
}

.intelligence-marker {
  position: absolute;
  display: grid;
  width: 44px;
  height: 44px;
  min-height: 44px;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 3px solid white;
  border-radius: 50% 50% 50% 0;
  color: white;
  background: var(--green);
  box-shadow: 0 4px 12px rgb(16 42 42 / 30%);
  font-weight: 800;
}

.intelligence-marker[aria-pressed="true"] {
  z-index: 2;
  outline: 4px solid var(--peach);
  outline-offset: 2px;
}

.intelligence-marker.state-suppressed,
.status-pill.state-suppressed {
  background: #665b77;
}

.intelligence-marker.state-unresolved,
.status-pill.state-unresolved {
  background: #805b3c;
}

.intelligence-marker.state-whitespace,
.intelligence-marker.state-uncovered,
.intelligence-marker.state-unassigned-demand,
.intelligence-marker.state-over-capacity {
  background: var(--danger);
}

.intelligence-marker.state-underserved,
.intelligence-marker.state-low-coverage,
.intelligence-marker.state-under-utilized {
  background: #b26a2f;
}

.intelligence-detail {
  align-content: start;
}

.intelligence-detail .interaction-state {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.intelligence-detail code,
.intelligence-brief code,
.evidence-footprint code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.intelligence-detail > small {
  display: block;
  color: var(--muted);
}

.segment-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
  gap: 0.8rem;
}

.segment-result-grid article {
  align-content: start;
}

.segment-result-grid h3 {
  margin: 0;
}

.evidence-footprint,
.legacy-field-insights {
  margin-top: 1rem;
}

.legacy-field-insights > summary {
  font-size: 1.05rem;
  font-weight: 750;
}

@media (max-width: 900px) {
  .intelligence-map-layout {
    grid-template-columns: 1fr;
  }

  .intelligence-map {
    min-height: 390px;
  }
}

@media (max-width: 640px) {
  .intelligence-hero,
  .intelligence-explorer-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .intelligence-filters {
    grid-template-columns: 1fr;
  }

  .intelligence-view-switch,
  .intelligence-view-switch button {
    width: 100%;
  }

  .intelligence-map {
    min-height: 340px;
  }
}

/* FIELD-UX-001: product-facing field workspace */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.topbar {
  min-height: 72px;
  background: #0d2723;
  box-shadow:
    0 1px 0 rgb(255 255 255 / 9%),
    0 8px 30px rgb(10 35 31 / 12%);
}

.brand-mark {
  border-radius: 13px;
  background: linear-gradient(145deg, #f3b37f, #df8750);
  box-shadow: inset 0 1px rgb(255 255 255 / 45%);
}

.topbar-actions,
.connection-state,
.persona-picker > summary,
.profile-copy {
  display: flex;
  align-items: center;
}

.topbar-actions {
  gap: 1rem;
}

.crm-global-actions {
  display: flex;
  gap: .3rem;
}

.crm-global-actions button {
  display: flex;
  align-items: center;
  gap: .35rem;
  min-height: 44px;
  padding: .4rem .6rem;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 9px;
  color: #d8e4df;
  background: rgb(255 255 255 / 7%);
}

.crm-global-actions button.active { color: #102f29; background: #fff; }

.experience-switcher {
  display: flex;
  align-items: center;
  gap: .3rem;
  padding: .3rem;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 14px;
  background: rgb(255 255 255 / 7%);
}

.experience-switcher button {
  display: flex;
  align-items: center;
  gap: .4rem;
  min-height: 44px;
  padding: .45rem .7rem;
  border: 0;
  border-radius: 10px;
  color: #d8e4df;
  background: transparent;
}

.experience-switcher button span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 7px;
  background: rgb(255 255 255 / 10%);
}

.experience-switcher button.active {
  color: #102f29;
  background: #fff;
  box-shadow: 0 5px 18px rgb(0 0 0 / 18%);
}

.experience-switcher button.active span { color: white; background: #1f6557; }
.experience-switcher button:disabled { cursor: not-allowed; opacity: .42; }

@media (max-width: 1400px) {
  .topbar { gap: .65rem; }
  .topbar-actions { gap: .55rem; }
  .crm-global-actions button { min-width: 44px; font-size: 0; }
  .crm-global-actions button span { font-size: .95rem; }
}

.connection-state {
  gap: 0.45rem;
  color: #d4e1dc;
  font-size: 0.78rem;
  font-weight: 700;
}

.connection-state > span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #75c79f;
  box-shadow: 0 0 0 3px rgb(117 199 159 / 15%);
}

.connection-state.offline > span {
  background: #efb36f;
}

.persona-picker {
  position: relative;
  display: block;
}

.persona-picker > summary {
  gap: 0.75rem;
  list-style: none;
  cursor: pointer;
}

.persona-picker > summary::-webkit-details-marker {
  display: none;
}

.profile-copy {
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.25;
}

.profile-copy strong {
  color: white;
  font-size: 0.85rem;
}

.profile-copy small {
  color: #a9c0b9;
  font-size: 0.72rem;
}

.avatar {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #46665f;
  border-radius: 999px;
  color: white;
  background: #1d4941;
  font-size: 0.75rem;
  font-weight: 800;
}

.profile-menu {
  position: absolute;
  top: calc(100% + 0.75rem);
  right: 0;
  z-index: 50;
  display: grid;
  width: min(340px, calc(100vw - 2rem));
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid #d9dfdc;
  border-radius: 14px;
  color: var(--ink);
  background: white;
  box-shadow: 0 18px 48px rgb(13 39 35 / 24%);
}

.profile-menu label,
.profile-menu label > span {
  display: grid;
  gap: 0.35rem;
}

.profile-menu label > span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.profile-menu select {
  width: 100%;
  color: var(--ink);
  background: white;
}

.profile-menu > small {
  color: var(--muted);
  line-height: 1.45;
}

.layout {
  grid-template-columns: 210px minmax(0, 1fr);
  background: #f3f5f2;
}

.layout.stakeholder-immersive-layout {
  min-height: calc(100dvh - 72px);
}

.layout.stakeholder-immersive-layout.stakeholder-navigation-collapsed {
  grid-template-columns: minmax(0, 1fr);
}

.stakeholder-immersive-main {
  min-height: calc(100dvh - 72px);
  max-width: none;
  margin: 0;
  padding: 0;
}

.side-nav {
  position: sticky;
  top: 72px;
  align-self: start;
  max-height: calc(100vh - 72px);
  overflow-y: auto;
  gap: 0.5rem;
  padding: 1.5rem 0.85rem;
  border-color: #dde2de;
  background: #f8f9f6;
}

.side-nav[hidden] {
  display: none;
}

.nav-section-label {
  margin: 0.65rem 0.7rem 0.05rem;
  color: #71807b;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nav-section {
  display: grid;
  gap: 0.35rem;
}

.nav-section:first-child .nav-section-label {
  margin-top: 0;
}

.side-nav button {
  border-radius: 11px;
  color: #4a5a56;
  font-size: 0.9rem;
  font-weight: 650;
}

.side-nav button span {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 7px;
  background: #e8eeea;
}

.side-nav button.active {
  color: #123f37;
  background: #e6f0eb;
  box-shadow: none;
}

.side-nav button.active span {
  color: white;
  background: #1f6557;
}

.main {
  max-width: 1440px;
  padding-top: 1.4rem;
}

.context-strip {
  min-height: 44px;
  padding-bottom: 0.85rem;
}

.workspace-tools {
  position: relative;
}

.workspace-tools > summary,
.technical-details > summary {
  cursor: pointer;
  color: #52635e;
  font-size: 0.8rem;
  font-weight: 700;
}

.workspace-tools > button {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  z-index: 10;
  width: 210px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
  box-shadow: 0 12px 30px rgb(18 44 39 / 15%);
}

.notice {
  display: inline-flex;
  margin: 1rem 0 0;
  padding: 0.55rem 0.75rem;
  border: 1px solid #d8e2dc;
  border-left-width: 1px;
  border-radius: 999px;
  color: #31544b;
  background: #eef5f1;
  font-size: 0.78rem;
}

.today-hero {
  align-items: center;
  padding: clamp(2rem, 5vw, 4rem) 0 1.75rem;
}

.today-hero h1 {
  font-family: inherit;
  font-size: clamp(2.25rem, 5vw, 4.2rem);
  font-weight: 720;
  letter-spacing: -0.05em;
}

.today-hero p {
  max-width: 680px;
  font-size: 1rem;
}

.next-stop-card {
  display: grid;
  min-width: min(100%, 300px);
  gap: 0.3rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid #cad8d2;
  border-radius: 16px;
  background: linear-gradient(145deg, #fff, #edf4f0);
  box-shadow: 0 12px 34px rgb(24 64 54 / 9%);
}

.next-stop-card strong {
  font-size: 1.2rem;
}

.next-stop-card small {
  color: var(--muted);
}

.day-summary {
  display: grid;
  overflow: hidden;
  margin-bottom: 1.5rem;
  border: 1px solid #dce2de;
  border-radius: 16px;
  background: #dce2de;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
}

.day-summary article {
  display: grid;
  min-width: 0;
  gap: 0.25rem;
  padding: 1.1rem 1.2rem;
  background: white;
}

.day-summary span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 750;
}

.day-summary strong {
  color: #173e36;
  font-size: 1.45rem;
}

.day-summary small {
  color: #71807b;
  overflow-wrap: anywhere;
}

.day-summary .day-route-card {
  color: white;
  background: #173e36;
}

.day-summary .day-route-card span,
.day-summary .day-route-card small,
.day-summary .day-route-card strong {
  color: inherit;
}

.visit-filters {
  margin: 0 0 2rem;
  padding: 0.75rem;
  border: 1px solid #dce2de;
  border-radius: 13px;
  background: #fafbf9;
}

.section-heading {
  margin-bottom: 1rem;
}

.section-assist {
  max-width: 470px;
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
  text-align: right;
}

.visit-grid {
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
}

.visit-card {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 1rem;
  padding: 1.25rem;
  border-color: #dce3df;
  border-radius: 17px;
  box-shadow: 0 8px 28px rgb(24 55 48 / 6%);
}

.visit-card.has-interaction {
  grid-column: 1 / -1;
  border-color: #9db9ae;
  box-shadow: 0 14px 38px rgb(24 75 62 / 11%);
}

.visit-heading h3 {
  font-family: inherit;
  font-size: 1.35rem;
  font-weight: 740;
}

.visit-logistics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.visit-logistics > div {
  display: grid;
  min-width: 0;
  gap: 0.2rem;
  padding: 0.7rem;
  border-radius: 10px;
  background: #f4f7f5;
}

.visit-logistics span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 750;
  text-transform: uppercase;
}

.visit-logistics strong {
  overflow-wrap: anywhere;
  font-size: 0.82rem;
  line-height: 1.35;
}

.visit-objective p {
  margin-bottom: 0;
  color: #273a35;
  font-weight: 560;
  line-height: 1.5;
}

.targeting-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.85rem;
  border-radius: 12px;
  background: #eef4f1;
}

.targeting-icon {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  color: white;
  background: #2c6e60;
}

.targeting-card p {
  margin: 0.3rem 0;
  color: #49615b;
  font-size: 0.85rem;
  line-height: 1.45;
}

.targeting-card small {
  color: #70807b;
}

.technical-details {
  padding-top: 0.2rem;
}

.interaction-panel {
  gap: 1rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid #bfd2ca;
  border-radius: 14px;
  background: linear-gradient(160deg, #f7fbf9, #fff);
}

.workspace-heading {
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #dce6e1;
}

.journey-steps {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.journey-steps li {
  position: relative;
  display: flex;
  gap: 0.45rem;
  align-items: center;
  color: #80908b;
  font-size: 0.75rem;
  font-weight: 750;
}

.journey-steps li:not(:last-child)::after {
  position: absolute;
  z-index: 0;
  top: 50%;
  right: 0.5rem;
  left: 2rem;
  height: 1px;
  background: #d3deda;
  content: "";
}

.journey-steps span {
  z-index: 1;
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #bdcbc6;
  border-radius: 999px;
  background: white;
  font-size: 0.65rem;
}

.journey-steps .complete,
.journey-steps .current {
  color: #1e5e50;
}

.journey-steps .complete span {
  border-color: #2f7968;
  color: white;
  background: #2f7968;
}

.journey-steps .current span {
  border: 2px solid #2f7968;
}

.interaction-technical {
  padding: 0.65rem 0;
  border-bottom: 1px solid #e0e7e3;
}

.journey-section {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid #dbe4df;
  border-radius: 13px;
  background: white;
}

.journey-section-heading,
.interest-capture > summary,
.interaction-capture > summary {
  display: flex;
  gap: 0.7rem;
  align-items: center;
}

.journey-number {
  display: grid;
  min-width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 9px;
  color: #1e5e50;
  background: #e7f1ed;
  font-size: 0.7rem;
  font-weight: 850;
}

.journey-section-heading .eyebrow {
  margin-bottom: 0.1rem;
}

.journey-section-heading strong {
  font-size: 1rem;
}

.interaction-content-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.interaction-content-options button {
  min-height: 64px;
  border-color: #a9c2b8;
  text-align: left;
}

.interest-capture > summary,
.interaction-capture > summary {
  color: #173e36;
  font-weight: 780;
}

.interest-options {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.interest-options button {
  padding: 0.55rem 0.75rem;
  border: 1px solid #b6cbc2;
  border-radius: 999px;
  color: #235f51;
  background: #f4f8f6;
  text-decoration: none;
}

.commercial-workspace > .commercial-cart,
.closeout-workspace > .visit-report {
  margin-top: 0;
  border: 0;
  background: transparent;
}

.commercial-workspace > .commercial-cart {
  padding: 0;
}

.closeout-workspace > .visit-report {
  padding: 0;
}

.commercial-subpanel,
.discount-panel,
.revalidation-panel,
.quote-panel,
.order-panel,
.follow-up-panel,
.crm-sync-panel {
  border-color: #d8e1dd;
  background: #f8faf9;
}

.interaction-actions {
  position: sticky;
  bottom: 0.75rem;
  z-index: 5;
  padding: 0.75rem;
  border: 1px solid #cedbd5;
  border-radius: 13px;
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 10px 28px rgb(24 56 49 / 13%);
  backdrop-filter: blur(10px);
}

/* FIELD-UX-002: complete product-surface hardening */
.catalog-filters {
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: 1.5rem;
  border: 1px solid #dce2de;
  border-radius: 14px;
}

.catalog-search {
  grid-column: auto;
}

.catalog-search input {
  min-height: 48px;
  font-size: 1rem;
}

.catalog-filter-drawer {
  border-top: 1px solid #dce2de;
}

.catalog-filter-drawer > summary {
  padding: 0.8rem 0;
  cursor: pointer;
  color: #31544b;
  font-weight: 750;
}

.catalog-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: 0.75rem;
  padding-top: 0.25rem;
}

.catalog-filter-grid button {
  align-self: end;
}

.catalog-offering {
  align-content: start;
  border-color: #dce3df;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgb(24 55 48 / 5%);
}

.catalog-description {
  min-height: 3.2em;
  color: #465a54;
  line-height: 1.55;
}

.catalog-source-details {
  border-top: 1px solid var(--line);
  padding-top: 0.65rem;
}

.catalog-offering > button {
  width: 100%;
}

.content-quick-facts {
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
}

.content-card .technical-details {
  border-top: 1px solid var(--line);
  padding-top: 0.65rem;
}

.library-orientation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1.25rem 0 0;
  overflow: hidden;
  border: 1px solid #d7e2dd;
  border-radius: 14px;
  background: #f4f8f6;
}

.library-orientation > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: start;
  padding: 1rem;
}

.library-orientation > div + div {
  border-left: 1px solid #d7e2dd;
}

.library-orientation p {
  margin: 0;
  color: #40564f;
  line-height: 1.5;
}

.orientation-number {
  color: #a75f36;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.library-discovery {
  background: linear-gradient(135deg, #fffdf8, #f6f2e9);
}

.library-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 0.22fr) minmax(
      180px,
      0.25fr
    );
  gap: 0.9rem;
}

.library-search,
.library-format {
  display: grid;
  gap: 0.35rem;
  color: #31544b;
  font-size: 0.78rem;
  font-weight: 750;
}

.library-search input,
.library-format select {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  border-color: #cbd8d2;
  background: #fff;
  font-size: 1rem;
}

.category-chips,
.search-suggestions,
.content-tags,
.library-shelf-controls {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  flex-wrap: wrap;
}

.search-suggestions {
  margin-top: 0.75rem;
  color: var(--muted);
  font-size: 0.78rem;
}

.search-suggestions button,
.content-tags button {
  min-height: 30px;
  padding: 0.25rem 0.55rem;
  border: 1px solid #d2ded9;
  border-radius: 999px;
  color: #476159;
  background: #edf3f0;
  font-size: 0.72rem;
  font-weight: 700;
}

.search-suggestions button:hover,
.content-tags button:hover {
  border-color: #8eaa9f;
  background: #fff;
}

.active-library-filter {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid #dfddd5;
  color: #40564f;
}

.offline-sync-explainer {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 1rem;
  align-items: center;
  margin: 0.85rem 0 0;
  padding: 0.9rem 1rem;
  border: 1px solid #c9d9d2;
  border-radius: 12px;
  color: #40564f;
  background: #f5faf7;
}

.offline-sync-explainer > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.65rem;
  align-items: center;
}

.offline-sync-explainer > div > span {
  display: grid;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: #fff;
  background: var(--green);
  place-items: center;
}

.offline-sync-explainer p {
  margin: 0;
  line-height: 1.5;
}

.category-chips {
  margin-top: 1rem;
}

.category-chips button,
.library-shelf-controls button {
  min-height: 38px;
  padding: 0.45rem 0.75rem;
  border: 1px solid #bdcec6;
  border-radius: 999px;
  color: #31544b;
  background: #fff;
  font-weight: 720;
}

.category-chips button[aria-pressed="true"] {
  border-color: var(--green);
  color: #fff;
  background: var(--green);
}

.recent-content-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
}

.recent-content-list button {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.8rem;
  align-items: center;
  min-width: 0;
  padding: 0.9rem 1rem;
  border: 1px solid #d7e0dc;
  border-radius: 12px;
  color: #173e36;
  background: #fff;
  text-align: left;
}

.recent-content-list button:hover {
  border-color: #93b3a7;
  box-shadow: 0 8px 18px rgb(32 73 63 / 8%);
}

.recent-content-list button span:nth-child(2) {
  display: grid;
  min-width: 0;
}

.recent-content-list strong,
.recent-content-list small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recent-content-list small {
  margin-top: 0.15rem;
  color: var(--muted);
}

.recent-icon {
  display: grid;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  color: #fff;
  background: #275f52;
  place-items: center;
}

.recent-empty {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  padding: 1rem;
  border: 1px dashed #bdcbc5;
  border-radius: 12px;
  color: #52645e;
  background: #fafcfb;
}

.recent-empty p {
  margin: 0;
}

.library-shelf {
  display: grid;
  overflow-x: auto;
  padding: 0.1rem 0.1rem 0.9rem;
  grid-auto-columns: minmax(410px, 32%);
  grid-auto-flow: column;
  grid-template-columns: none;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-color: #9fb7ad transparent;
}

.library-shelf .content-card {
  min-width: 0;
  scroll-snap-align: start;
}

.library-shelf .card-body {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.document-cover.category-product-story {
  background:
    linear-gradient(145deg, transparent 55%, rgb(255 255 255 / 12%) 55%),
    #71422f;
}

.document-cover.category-product-guide {
  background:
    linear-gradient(145deg, transparent 55%, rgb(255 255 255 / 12%) 55%),
    #1f6254;
}

.document-cover.category-how-to {
  background:
    linear-gradient(145deg, transparent 55%, rgb(255 255 255 / 12%) 55%),
    #315a77;
}

.document-cover.category-process {
  background:
    linear-gradient(145deg, transparent 55%, rgb(255 255 255 / 12%) 55%),
    #7a5a27;
}

.document-cover.category-technical {
  background:
    linear-gradient(145deg, transparent 55%, rgb(255 255 255 / 12%) 55%),
    #454960;
}

.category-pill {
  border-color: #d5ded9;
  color: #435a53;
  background: #f5f8f6;
}

.content-title-button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  color: #16372f;
  background: transparent;
  text-align: left;
}

.content-title-button:hover h3 {
  color: #a2522f;
}

.content-summary {
  min-height: 4.7em;
  margin: 0 0 0.65rem;
  line-height: 1.55;
}

.library-shelf .content-quick-facts {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.library-shelf .content-quick-facts dd {
  overflow-wrap: anywhere;
}

.library-shelf .technical-details {
  margin-top: auto;
}

.checksum-help {
  margin: 0.5rem 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
}

.library-shelf .actions {
  margin-top: 0.85rem;
}

.library-shelf .actions button {
  flex: 1 1 8rem;
}

.commerce-workflow {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.25rem;
}

.commerce-accordion {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d6e0dc;
  border-radius: 12px;
  background: #fff;
}

.commerce-accordion > summary {
  display: grid;
  gap: 0.15rem;
  padding: 0.9rem 1rem;
  cursor: pointer;
  color: #173e36;
  background: #f7faf8;
}

.commerce-accordion > summary span {
  font-weight: 780;
}

.commerce-accordion > summary small {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 500;
}

.commerce-accordion[open] > summary {
  border-bottom: 1px solid #dce5e1;
  background: #edf4f1;
}

.commerce-accordion > section {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
}

.closeout-accordion {
  margin-top: 0.75rem;
}

.technical-details[open] > summary {
  margin-bottom: 0.6rem;
}

textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--peach);
  outline-offset: 2px;
}

summary {
  border-radius: 6px;
}

@media (max-width: 1100px) {
  .library-shelf {
    grid-auto-columns: minmax(390px, 48%);
  }
}

@media (max-width: 980px) {
  .profile-copy { display: none; }
}

@media (max-width: 780px) {
  .configuration-dialog-backdrop {
    inset: 0;
    padding: 8.5rem 0.75rem 0.75rem;
  }

  .offer-configuration {
    max-height: calc(100vh - 9.25rem);
  }

  .topbar {
    position: static;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: .6rem;
  }

  .topbar-actions {
    margin-left: auto;
  }

  .experience-switcher {
    order: 3;
    width: 100%;
    overflow-x: auto;
  }

  .experience-switcher button { flex: 1 0 auto; justify-content: center; }

  .crm-global-actions button { font-size: 0; }
  .crm-global-actions button span { font-size: .95rem; }

  .catalog-search {
    grid-column: auto;
  }

  .catalog-filter-grid,
  .catalog-offering-facts,
  .content-quick-facts {
    grid-template-columns: 1fr;
  }

  .catalog-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .brand small {
    display: none;
  }

  .persona-picker {
    max-width: none;
  }

  .persona-picker select {
    width: 100%;
  }

  .profile-copy,
  .connection-state {
    display: none;
  }

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

  .side-nav {
    position: sticky;
    top: 0;
    z-index: 15;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    max-height: none;
    width: 100%;
    max-width: 100vw;
    padding: 0.5rem;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .side-nav button {
    flex: 0 0 auto;
  }

  .nav-section {
    display: flex;
    flex: 0 0 auto;
    gap: 0.35rem;
  }

  .nav-section-label {
    flex: 0 0 auto;
    align-self: center;
    margin: 0 0.25rem 0 0.65rem;
    white-space: nowrap;
  }

  .nav-foot {
    display: none;
  }

  .main {
    padding: 1rem;
  }

  .day-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .section-assist {
    text-align: left;
  }

  .visit-logistics {
    grid-template-columns: 1fr;
  }

  .journey-steps {
    overflow-x: auto;
    grid-template-columns: repeat(5, minmax(105px, 1fr));
  }

  .hero {
    display: grid;
    padding-top: 2rem;
  }

  .hero .primary {
    width: 100%;
  }

  .metric-grid,
  .govern-grid {
    grid-template-columns: 1fr;
  }

  .library-orientation,
  .library-search-row,
  .offline-sync-explainer,
  .recent-content-list {
    grid-template-columns: 1fr;
  }

  .library-orientation > div + div {
    border-top: 1px solid #d7e2dd;
    border-left: 0;
  }

  .library-shelf {
    margin-right: -1rem;
    padding-right: 1rem;
    grid-auto-columns: minmax(300px, 88%);
  }

  .library-shelf-controls {
    width: 100%;
  }

  .active-library-filter {
    align-items: flex-start;
    flex-direction: column;
  }

  .metric-grid article {
    padding: 1rem;
  }

  .content-card {
    grid-template-columns: 82px 1fr;
  }

  .content-summary {
    min-height: 0;
  }

  .document-cover {
    min-height: 100%;
  }

  .context-strip {
    align-items: flex-start;
  }

  .context-strip .quiet {
    max-width: 130px;
  }

  .field-row {
    grid-template-columns: 1fr;
  }

  .version-list article {
    align-items: flex-start;
    flex-direction: column;
  }

  .adapter-heading,
  .capability-list li {
    align-items: flex-start;
    flex-direction: column;
  }

  .visit-filters,
  .visit-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .visit-filters label,
  .visit-filters input,
  .visit-filters select {
    width: 100%;
  }

  .visit-provenance {
    grid-template-columns: 1fr;
  }

  .interaction-heading {
    align-items: flex-start;
  }

  .interaction-state {
    grid-template-columns: 1fr 1fr;
  }

  .interaction-actions {
    position: static;
    backdrop-filter: none;
  }

  details > summary {
    scroll-margin-top: 5rem;
  }

  .captured-interests article {
    align-items: flex-start;
    flex-direction: column;
  }

  .presentation-bar {
    align-items: flex-start;
  }

  .presentation-bar > div {
    max-width: 45%;
  }

  .insight-filters {
    grid-template-columns: 1fr;
  }

  .insight-breakdown-heading,
  .insight-bar-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .experience-switcher button { padding-inline: .55rem; }
  .experience-switcher button span { display: none; }
  .connection-state { display: none; }
  .main input, .main select, .main textarea { font-size: 16px; }
}

/* PLATFORM-033 corrective parity — the accepted Salesforce Field planner React composition. */
.planner-immersive-layout { display: block; min-height: 100vh; }
.planner-immersive-main { width: 100%; max-width: none; min-width: 0; padding: 0; overflow: visible; }
.sf-planner-app {
  --planner-accent: var(--platform-accent, #0176d3);
  --planner-accent-strong: var(--platform-accent-strong, #014486);
  --planner-accent-soft: var(--platform-accent-soft, #eef4ff);
  --planner-canvas: var(--platform-canvas, #f3f3f3);
  --planner-surface: var(--platform-surface, #fff);
  --planner-subtle: var(--platform-surface-subtle, #f3f3f3);
  --planner-selected: var(--platform-surface-selected, #eef4ff);
  --planner-border: var(--platform-border, #c9c9c9);
  --planner-border-strong: var(--platform-border-strong, #a8b7c7);
  --planner-text: var(--platform-text, #181818);
  --planner-muted: var(--platform-text-muted, #5c5c5c);
  min-height: 100vh;
  color: var(--planner-text);
  background: var(--planner-canvas);
  font: 13px/1.35 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.sf-planner-utility { display: flex; justify-content: center; min-height: 22px; padding: 4px 16px; color: var(--planner-accent-strong); background: color-mix(in srgb, var(--planner-accent) 18%, var(--planner-surface)); font-size: 11px; }
.sf-planner-utility span { display: inline-flex; align-items: center; gap: 5px; }
.sf-planner-utility i { width: 8px; height: 8px; border-radius: 999px; background: #2e844a; }
.sf-planner-utility i.offline { background: #ba0517; }
.sf-planner-productbar { display: flex; min-height: 46px; align-items: center; justify-content: space-between; gap: 16px; padding: 5px 18px; border-bottom: 1px solid var(--planner-border); background: var(--planner-surface); box-shadow: 0 1px 2px rgb(0 0 0 / 8%); }
.sf-planner-product-left, .sf-planner-productbar nav { display: flex; align-items: center; gap: 9px; }
.sf-planner-home, .sf-planner-productbar nav button { display: inline-flex; min-height: 32px; align-items: center; gap: 5px; padding: 6px 10px; border: 1px solid var(--planner-border-strong); border-radius: 5px; color: var(--planner-accent-strong); background: var(--planner-surface); font: inherit; font-weight: 700; }
.sf-planner-productbar nav button { border-color: transparent; color: var(--planner-text); background: transparent; }
.sf-planner-productbar nav button.active { color: var(--planner-accent-strong); background: var(--planner-accent-soft); }
.sf-planner-mark { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 6px; color: #fff; background: var(--planner-accent); font-size: 9px; font-weight: 800; }
.sf-planner-app .field-workspace { display: grid; gap: 10px; width: 100%; margin: 0; padding: 10px; }
.sf-planner-app .field-workspace-header { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.sf-planner-app .field-workspace-header h1 { margin: 2px 0; color: var(--planner-accent-strong); font-size: clamp(20px, 2vw, 29px); line-height: 1.05; }
.sf-planner-app .field-workspace-header p { margin: 0; color: var(--planner-muted); font-size: 12px; }
.sf-planner-app .field-eyebrow { color: var(--planner-accent-strong); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sf-planner-app .field-header-actions, .sf-planner-app .field-route-record-actions, .sf-planner-app .field-route-calculation-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }
.sf-planner-app :where(button, input, select, textarea) { font: inherit; }
.sf-planner-app :where(input:not([type="checkbox"]), select, textarea) { width: 100%; min-width: 0; padding: 7px 9px; border: 1px solid var(--planner-border-strong); border-radius: 4px; color: var(--planner-text); background: var(--planner-surface); }
.sf-planner-app textarea { min-height: 64px; resize: vertical; }
.sf-planner-app :where(input, select, textarea):focus { outline: 2px solid color-mix(in srgb, var(--planner-accent) 55%, transparent); outline-offset: 1px; }
.sf-planner-app .field-primary-button, .sf-planner-app .field-secondary-button, .sf-planner-app .field-tertiary-button, .sf-planner-app .field-text-button, .sf-planner-app .field-icon-button { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; gap: 6px; border: 1px solid transparent; border-radius: 4px; font-weight: 700; cursor: pointer; }
.sf-planner-app .field-primary-button { padding: 7px 12px; color: #fff; border-color: var(--planner-accent); background: var(--planner-accent); }
.sf-planner-app .field-secondary-button, .sf-planner-app .field-tertiary-button { padding: 6px 10px; color: var(--planner-accent-strong); border-color: var(--planner-border-strong); background: var(--planner-surface); }
.sf-planner-app .field-tertiary-button { min-height: 30px; padding: 5px 8px; }
.sf-planner-app .field-text-button { min-height: 26px; padding: 3px 5px; color: var(--planner-accent-strong); background: transparent; }
.sf-planner-app .field-icon-button { width: 29px; min-height: 29px; padding: 2px; color: var(--planner-accent-strong); background: transparent; }
.sf-planner-app button:disabled { cursor: not-allowed; opacity: .48; }
.sf-planner-app .field-authority-bar { display: grid; grid-template-columns: minmax(250px, 1.3fr) minmax(540px, 2fr) minmax(210px, 1fr); align-items: center; overflow: hidden; border: 1px solid var(--planner-border-strong); border-radius: 6px; background: color-mix(in srgb, var(--planner-accent-soft) 72%, var(--planner-surface)); }
.sf-planner-app .field-authority-bar > div { display: grid; gap: 2px; padding: 9px 12px; }
.sf-planner-app .field-authority-bar > div > span, .sf-planner-app .field-authority-bar dt { color: var(--planner-muted); font-size: 10px; }
.sf-planner-app .field-authority-bar dl { display: grid; grid-template-columns: repeat(6, minmax(72px, 1fr)); margin: 0; }
.sf-planner-app .field-authority-bar dl > div { padding: 8px 11px; border-left: 1px solid var(--planner-border); }
.sf-planner-app .field-authority-bar dd { margin: 2px 0 0; color: var(--planner-accent-strong); font-weight: 800; }
.sf-planner-app .field-freshness strong { overflow-wrap: anywhere; font-size: 10px; }
.sf-planner-app .field-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sf-planner-app .field-search-control { display: flex; width: min(680px, 100%); min-height: 38px; align-items: center; gap: 7px; padding: 0 9px; border: 1px solid var(--planner-border-strong); border-radius: 6px; background: var(--planner-surface); }
.sf-planner-app .field-search-control input { padding: 0; border: 0; background: transparent; outline: 0; }
.sf-planner-app .field-filter-summary { display: inline-flex; align-items: center; gap: 6px; color: var(--planner-muted); font-size: 11px; }
.sf-planner-app .field-planner-grid { display: grid; grid-template-columns: minmax(16.5rem, 20rem) minmax(28rem, 1fr) minmax(18rem, 22rem); min-height: 570px; overflow: hidden; border: 1px solid var(--planner-border); border-radius: 7px; background: var(--planner-surface); box-shadow: 0 2px 8px rgb(0 0 0 / 9%); }
.sf-planner-app .field-control-rail, .sf-planner-app .field-planning-right-rail { min-width: 0; overflow: visible; background: var(--planner-surface); }
.sf-planner-app .field-control-rail { border-right: 1px solid var(--planner-border); }
.sf-planner-app .field-planning-right-rail { border-left: 1px solid var(--planner-border); }
.sf-planner-app .field-control-rail > section, .sf-planner-app .field-planning-right-rail > section, .sf-planner-app .field-planning-right-rail > details { display: grid; gap: 7px; padding: 11px; border-bottom: 1px solid var(--planner-border); }
.sf-planner-app .field-control-rail h2, .sf-planner-app .field-planning-right-rail h2, .sf-planner-app .field-control-rail p, .sf-planner-app .field-planning-right-rail p { margin: 0; }
.sf-planner-app .field-control-rail h2, .sf-planner-app .field-planning-right-rail h2 { color: var(--planner-accent-strong); font-size: 14px; }
.sf-planner-app .field-control-rail p, .sf-planner-app .field-planning-right-rail p { color: var(--planner-muted); font-size: 11px; }
.sf-planner-app .field-rail-search { display: flex; align-items: center; gap: 6px; padding: 0 8px; border: 1px solid var(--planner-border-strong); border-radius: 4px; }
.sf-planner-app .field-rail-search input { border: 0; outline: 0; }
.sf-planner-app .field-smart-results { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.sf-planner-app .field-smart-results li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px; }
.sf-planner-app .field-smart-results li > button:first-child { display: grid; gap: 1px; width: 100%; padding: 6px; border: 1px solid var(--planner-border); border-radius: 4px; color: var(--planner-text); background: var(--planner-surface); text-align: left; }
.sf-planner-app .field-smart-results span { color: var(--planner-muted); font-size: 10px; }
.sf-planner-app .field-inline-heading, .sf-planner-app .field-section-title, .sf-planner-app .field-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sf-planner-app .field-inline-heading > div { display: grid; gap: 2px; }
.sf-planner-app .field-section-title { justify-content: flex-start; color: var(--planner-accent-strong); }
.sf-planner-app .field-section-title h2 { margin: 0; flex: 1; }
.sf-planner-app .field-home-base-methods { display: grid; gap: 5px; }
.sf-planner-app .field-home-base-methods button { justify-content: flex-start; }
.sf-planner-app .field-source-refresh { justify-self: end; }
.sf-planner-app .field-source-card { display: grid; gap: 2px; padding: 7px; border: 1px solid var(--planner-border); border-radius: 4px; background: var(--planner-subtle); }
.sf-planner-app .field-source-card span, .sf-planner-app .field-source-card small { color: var(--planner-muted); font-size: 10px; }
.sf-planner-app .field-layer-options { display: grid; gap: 4px; }
.sf-planner-app .field-layer-option { display: grid; grid-template-columns: 15px 9px minmax(0, 1fr) auto; align-items: center; gap: 6px; min-height: 22px; }
.sf-planner-app .field-layer-swatch { width: 8px; height: 8px; border-radius: 999px; }
.sf-planner-app .field-layer-count { min-width: 20px; padding: 1px 5px; border-radius: 999px; color: var(--planner-muted); background: var(--planner-subtle); text-align: center; font-size: 9px; }
.sf-planner-app .field-map-region { position: relative; display: grid; min-width: 0; grid-template-rows: minmax(510px, 1fr) auto auto; background: #d8e6ef; }
.sf-planner-app .field-map-canvas { width: 100%; min-height: 0; height: 100%; border: 0; border-radius: 0; }
.sf-planner-app .field-map-state { position: absolute; z-index: 5; inset: auto 14px 54px; display: grid; gap: 5px; padding: 10px; border: 1px solid var(--planner-border-strong); border-radius: 5px; background: color-mix(in srgb, var(--planner-surface) 94%, transparent); box-shadow: 0 3px 12px rgb(0 0 0 / 12%); }
.sf-planner-app .field-map-state.failed { border-color: #ba0517; }
.sf-planner-app .field-map-attribution, .sf-planner-app .field-map-authority { margin: 0; padding: 4px 8px; border-top: 1px solid var(--planner-border); color: var(--planner-muted); background: var(--planner-surface); font-size: 9px; }
.sf-planner-app .field-quick-facts dl, .sf-planner-app .field-territory-facts dl { display: grid; gap: 4px; margin: 0; }
.sf-planner-app .field-quick-facts dl > div, .sf-planner-app .field-territory-facts dl > div { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 8px; }
.sf-planner-app dt { color: var(--planner-muted); font-size: 10px; font-weight: 700; }
.sf-planner-app dd { margin: 0; overflow-wrap: anywhere; }
.sf-planner-app .field-route-count { min-width: 42px; padding: 3px 6px; border-radius: 999px; color: var(--planner-accent-strong); background: var(--planner-accent-soft); text-align: center; }
.sf-planner-app .field-route-draft-state { padding: 6px 8px; border-left: 3px solid var(--planner-accent); color: var(--planner-accent-strong); background: var(--planner-accent-soft); font-weight: 700; }
.sf-planner-app .field-route-record-actions > * { flex: 1; }
.sf-planner-app .field-saved-routes { display: grid; gap: 4px; padding: 6px; border: 1px solid var(--planner-border); border-radius: 4px; }
.sf-planner-app .field-saved-routes button { padding: 6px; border: 0; color: var(--planner-accent-strong); background: transparent; text-align: left; }
.sf-planner-app .field-route-settings { display: grid; grid-template-columns: minmax(0, 1fr) minmax(105px, .48fr); gap: 6px; }
.sf-planner-app .field-route-settings label, .sf-planner-app .field-route-start { display: grid; gap: 3px; color: var(--planner-muted); font-size: 10px; }
.sf-planner-app .field-route-name, .sf-planner-app .field-route-return { grid-column: 1 / -1; }
.sf-planner-app .field-route-return { display: flex !important; align-items: center; }
.sf-planner-app .field-route-return input { width: auto; }
.sf-planner-app .field-route-empty { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 7px; padding: 9px; border: 1px dashed var(--planner-border); border-radius: 4px; }
.sf-planner-app .field-route-stop-list { display: grid; gap: 5px; max-height: 280px; overflow: auto; margin: 0; padding: 0; list-style: none; }
.sf-planner-app .field-route-stop-list > li { display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; gap: 6px; align-items: center; padding: 6px; border: 1px solid var(--planner-border); border-radius: 4px; }
.sf-planner-app .field-route-stop-list > li > span { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 999px; color: #fff; background: var(--planner-accent); font-size: 10px; font-weight: 800; }
.sf-planner-app .field-route-stop-list strong, .sf-planner-app .field-route-stop-list small { display: block; }
.sf-planner-app .field-route-stop-list small { color: var(--planner-muted); font-size: 9px; }
.sf-planner-app .route-order-actions { display: flex; align-items: center; gap: 2px; }
.sf-planner-app .field-road-status { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px; padding: 8px; border: 1px solid var(--planner-border); border-radius: 4px; background: var(--planner-subtle); }
.sf-planner-app .field-route-calculation-actions > * { flex: 1; }
.sf-planner-app .field-route-summary { display: flex; justify-content: space-between; }
.sf-planner-app .field-route-save, .sf-planner-app .field-route-review { width: 100%; }
.sf-planner-app .field-route-message { min-height: 30px; padding: 5px 7px; border-left: 3px solid var(--planner-accent); background: var(--planner-accent-soft); }
.sf-planner-app .field-advanced-details { min-width: 0; }
.sf-planner-app .field-advanced-details > summary { cursor: pointer; color: var(--planner-accent-strong); font-weight: 800; }
.sf-planner-app .field-advanced-details[open] > summary { margin-bottom: 8px; }
.sf-planner-app .field-advanced-details fieldset, .sf-planner-app .field-location-review { display: grid; gap: 7px; min-width: 0; margin: 8px 0 0; padding: 8px; border: 1px solid var(--planner-border); border-radius: 5px; }
.sf-planner-app .field-advanced-details label, .sf-planner-app .field-location-review label { display: grid; gap: 3px; color: var(--planner-muted); font-size: 10px; font-weight: 700; }
.sf-planner-app .field-pattern-card, .sf-planner-app .field-visit-preparation { display: grid; gap: 5px; margin-top: 6px; padding: 7px; border: 1px solid var(--planner-border); border-radius: 4px; }
.sf-planner-app .field-navigation-handoff { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-top: 8px; }
.sf-planner-app .field-navigation-handoff strong, .sf-planner-app .field-navigation-handoff small { grid-column: 1 / -1; }
.sf-planner-app .field-navigation-handoff a { padding: 5px; border: 1px solid var(--planner-border-strong); border-radius: 4px; color: var(--planner-accent-strong); text-align: center; text-decoration: none; }
.sf-planner-app .field-territory-list { display: grid; gap: 4px; }
.sf-planner-app .field-territory-list button { display: grid; gap: 2px; padding: 7px; border: 1px solid var(--planner-border); border-radius: 4px; color: var(--planner-text); background: var(--planner-surface); text-align: left; }
.sf-planner-app .field-territory-list button[aria-pressed="true"] { border-color: var(--planner-accent); background: var(--planner-selected); }
.sf-planner-app .field-territory-list span { color: var(--planner-muted); font-size: 10px; }
.sf-planner-app .field-empty-population, .sf-planner-app .field-unplottable-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 12px; border: 1px dashed var(--planner-border-strong); border-radius: 6px; background: var(--planner-accent-soft); }
.sf-planner-app .field-empty-population h2, .sf-planner-app .field-empty-population p, .sf-planner-app .field-unplottable-summary h2, .sf-planner-app .field-unplottable-summary p { margin: 0; }
.sf-planner-app .field-empty-population h2, .sf-planner-app .field-unplottable-summary h2 { color: var(--planner-accent-strong); font-size: 13px; }
.sf-planner-app .field-empty-population p, .sf-planner-app .field-unplottable-summary p { color: var(--planner-muted); font-size: 10px; }
.sf-planner-app .field-unplottable-summary { border-style: solid; background: color-mix(in srgb, #fe9339 12%, var(--planner-surface)); }
.sf-planner-app .field-planning-table { overflow: hidden; border: 1px solid var(--planner-border); border-radius: 6px; background: var(--planner-surface); }
.sf-planner-app .field-planning-table > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 11px; border-bottom: 1px solid var(--planner-border); }
.sf-planner-app .field-planning-table h2 { margin: 1px 0 0; color: var(--planner-accent-strong); font-size: 14px; }
.sf-planner-app .field-planning-table nav { display: flex; gap: 4px; }
.sf-planner-app .field-planning-table nav button { padding: 5px 8px; border: 1px solid transparent; border-radius: 4px; color: var(--planner-muted); background: transparent; }
.sf-planner-app .field-planning-table nav button.active { color: var(--planner-accent-strong); border-color: var(--planner-border); background: var(--planner-accent-soft); font-weight: 800; }
.sf-planner-app .field-table-scroll { overflow: auto; }
.sf-planner-app table { width: 100%; border-collapse: collapse; }
.sf-planner-app caption { padding: 7px 10px; color: var(--planner-muted); text-align: left; font-size: 10px; }
.sf-planner-app th, .sf-planner-app td { padding: 7px 10px; border-top: 1px solid var(--planner-border); text-align: left; vertical-align: top; }
.sf-planner-app thead th { color: var(--planner-accent-strong); background: var(--planner-subtle); font-size: 10px; }

@media (max-width: 1280px) {
  .sf-planner-app .field-authority-bar { grid-template-columns: 1fr; }
  .sf-planner-app .field-authority-bar dl { border-block: 1px solid var(--planner-border); }
  .sf-planner-app .field-authority-bar dl > div:first-child { border-left: 0; }
  .sf-planner-app .field-planner-grid { grid-template-columns: minmax(250px, 300px) minmax(430px, 1fr); }
  .sf-planner-app .field-planning-right-rail { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(280px, .7fr) minmax(420px, 1.3fr); border-top: 1px solid var(--planner-border); border-left: 0; }
  .sf-planner-app .field-planning-right-rail > * { border-right: 1px solid var(--planner-border); }
}

@media (max-width: 820px) {
  .sf-planner-productbar { align-items: stretch; flex-direction: column; }
  .sf-planner-productbar nav { justify-content: stretch; }
  .sf-planner-productbar nav button { flex: 1; }
  .sf-planner-app .field-workspace-header { align-items: stretch; flex-direction: column; }
  .sf-planner-app .field-header-actions { justify-content: stretch; }
  .sf-planner-app .field-header-actions > * { flex: 1; }
  .sf-planner-app .field-authority-bar dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sf-planner-app .field-authority-bar dl > div:nth-child(4) { border-left: 0; }
  .sf-planner-app .field-planner-grid { display: flex; flex-direction: column; }
  .sf-planner-app .field-control-rail, .sf-planner-app .field-planning-right-rail { max-height: none; border: 0; }
  .sf-planner-app .field-control-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--planner-border); }
  .sf-planner-app .field-control-rail > section { border-right: 1px solid var(--planner-border); }
  .sf-planner-app .field-map-region { min-height: 520px; }
  .sf-planner-app .field-planning-right-rail { display: grid; grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .sf-planner-app .field-workspace { padding: 7px; }
  .sf-planner-product-left { flex-wrap: wrap; }
  .sf-planner-app .field-authority-bar dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sf-planner-app .field-authority-bar dl > div:nth-child(odd) { border-left: 0; }
  .sf-planner-app .field-toolbar { align-items: stretch; flex-direction: column; }
  .sf-planner-app .field-control-rail { display: block; }
  .sf-planner-app .field-map-region { min-height: 430px; grid-template-rows: minmax(370px, 1fr) auto auto; }
  .sf-planner-app .field-route-settings { grid-template-columns: 1fr; }
  .sf-planner-app .field-route-settings > * { grid-column: auto; }
  .sf-planner-app .field-empty-population, .sf-planner-app .field-unplottable-summary { grid-template-columns: auto minmax(0, 1fr); }
  .sf-planner-app .field-empty-population button { grid-column: 1 / -1; }
  .sf-planner-app .field-planning-table > header { align-items: stretch; flex-direction: column; }
  .sf-planner-app .field-planning-table nav button { flex: 1; }
}

.spatial-stewardship {
  display: grid;
  gap: 1.25rem;
}

.planning-heading {
  align-items: end;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.planning-heading h1 {
  margin-bottom: 0.35rem;
}

.planning-heading p,
.section-intro {
  color: var(--muted);
  margin: 0;
  max-width: 70ch;
}

.file-button {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 44px;
}

.file-button input {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.file-button.disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.trust-rule {
  align-items: flex-start;
  background: linear-gradient(135deg, #eff8f2, #f7fbf5);
  border: 1px solid #b8d7c1;
  border-radius: 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 1rem 1.1rem;
}

.trust-rule strong {
  color: #174c2c;
}

.trust-rule span {
  color: #3d5d49;
}

.metric-row {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.metric-row article {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  display: grid;
  gap: 0.15rem;
  padding: 1rem;
}

.metric-row strong {
  color: var(--ink);
  font-size: 1.6rem;
  line-height: 1;
}

.metric-row span {
  color: var(--muted);
  font-size: 0.82rem;
}

.steward-grid {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(16rem, 0.8fr) minmax(24rem, 1.2fr);
}

.panel-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 1rem;
  padding: 1.1rem;
}

.section-heading,
.location-card-title,
.steward-row,
.match-heading {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
}

.section-heading h2 {
  font-size: 1.05rem;
  margin: 0.15rem 0 0;
}

.count-pill {
  background: var(--soft);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.78rem;
  min-width: 1.8rem;
  padding: 0.25rem 0.55rem;
  text-align: center;
}

.steward-list {
  display: grid;
  gap: 0.7rem;
  margin-top: 0.9rem;
}

.steward-row,
.location-card,
.match-card {
  background: #fafbf9;
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  padding: 0.85rem;
}

.steward-row > div,
.location-card-title > div,
.row-meta {
  display: grid;
  gap: 0.15rem;
}

.steward-row small,
.location-card small,
.row-meta small {
  color: var(--muted);
}

.row-meta {
  justify-items: end;
}

.state-chip {
  background: #edf1ed;
  border-radius: 999px;
  color: #435048;
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 0.25rem 0.5rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.state-chip.accepted,
.state-chip.confirm,
.state-chip.strong {
  background: #dff2e5;
  color: #176033;
}

.state-chip.rejected,
.state-chip.reject,
.state-chip.conflict {
  background: #f8e2df;
  color: #8b2f24;
}

.state-chip.awaiting-review,
.state-chip.review,
.state-chip.insufficient {
  background: #f8efd5;
  color: #785710;
}

.evidence-list {
  display: grid;
  gap: 0.45rem;
  margin: 0.8rem 0;
}

.evidence-list div {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: minmax(8rem, 0.8fr) minmax(0, 1.2fr);
}

.evidence-list dt {
  color: var(--muted);
  font-size: 0.78rem;
}

.evidence-list dd {
  font-size: 0.82rem;
  margin: 0;
  overflow-wrap: anywhere;
}

.row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.row-actions .danger {
  color: #8b2f24;
}

.decision-copy {
  background: var(--soft);
  border-radius: 0.55rem;
  color: var(--muted);
  font-size: 0.82rem;
  margin: 0.75rem 0 0;
  padding: 0.65rem;
}

.reconciliation-panel {
  display: grid;
  gap: 0.8rem;
}

.reconciliation-grid {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.match-card {
  display: grid;
  gap: 0.7rem;
}

.match-card .state-chip {
  justify-self: start;
}

.match-card ul {
  display: grid;
  gap: 0.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.match-card li {
  align-items: flex-start;
  color: var(--muted);
  display: flex;
  font-size: 0.8rem;
  gap: 0.5rem;
}

.signal-dot {
  background: #98a099;
  border-radius: 50%;
  flex: 0 0 0.5rem;
  height: 0.5rem;
  margin-top: 0.3rem;
}

.signal-dot.supporting {
  background: #3b8b58;
}
.signal-dot.contradicting {
  background: #b44a3d;
}

.empty-copy {
  color: var(--muted);
  margin: 0.8rem 0 0;
}

@media (max-width: 900px) {
  .planning-heading,
  .section-heading,
  .location-card-title,
  .steward-row {
    align-items: flex-start;
  }

  .planning-heading,
  .steward-row {
    flex-direction: column;
  }

  .metric-row,
  .steward-grid,
  .reconciliation-grid {
    grid-template-columns: 1fr 1fr;
  }

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

  .row-meta {
    justify-items: start;
  }
}

@media (max-width: 580px) {
  .metric-row,
  .reconciliation-grid,
  .evidence-list div {
    grid-template-columns: 1fr;
  }

  .planning-heading,
  .file-button {
    width: 100%;
  }
}

/* PLATFORM-036: professional Events workspaces beyond Form Studio. */
.published-event-selector {
  display: grid;
  min-width: min(22rem, 100%);
  gap: .35rem;
  color: var(--platform-text-muted);
  font-size: .76rem;
  font-weight: 750;
}

.published-event-selector select {
  width: 100%;
  padding-inline: .8rem;
}

.published-capture-event-card-top,
.published-capture-event-card-top > p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin: 0;
}

.published-capture-event-card-top .published-event-state {
  margin: 0;
}

.published-capture-event-list > article > button,
.published-work-summary > button,
.published-marketing-actions button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}

.published-active-capture-event {
  grid-template-columns: auto minmax(12rem, auto) minmax(0, 1fr) auto;
}

.published-active-capture-event small {
  color: var(--platform-text-muted);
}

.app-shell[data-palette] .published-lead-capture {
  width: 100%;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 18px;
  color: var(--platform-text);
  background: var(--platform-surface);
  box-shadow: var(--platform-shadow-card);
}

.published-lead-capture > header > div {
  min-width: 0;
}

.published-lead-capture > header p {
  max-width: 44rem;
  margin: .65rem 0 0;
  color: var(--platform-text-muted);
  line-height: 1.5;
}

.published-connection-status {
  display: flex;
  align-items: center;
  gap: .4rem;
  white-space: nowrap;
}

.published-capture-readiness {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin: 1.4rem 0;
}

.published-capture-readiness article {
  min-width: 0;
  min-height: 76px;
  padding: .9rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  border: 1px solid var(--platform-border);
  border-radius: 13px;
  color: var(--platform-accent);
  background: var(--platform-surface-subtle);
}

.published-capture-readiness article > span {
  min-width: 0;
  display: grid;
  gap: .15rem;
}

.published-capture-readiness small {
  color: var(--platform-text-muted);
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.published-capture-readiness strong {
  overflow: hidden;
  color: var(--platform-text);
  font-size: .88rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell[data-palette].experience-shell-events .published-capture-depth button[aria-pressed="true"] {
  border-color: var(--platform-accent);
  color: var(--platform-accent);
  background: var(--platform-accent-soft);
}

.app-shell[data-palette].experience-shell-events .published-capture-depth button[aria-pressed="true"] span {
  color: var(--platform-text-muted);
}

.published-lead-form {
  max-width: 1040px;
}

.event-assignment-recovery {
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .85rem;
  border: 1px solid color-mix(in srgb, var(--platform-highlight) 55%, var(--platform-border));
  border-radius: 13px;
  color: var(--platform-highlight);
  background: color-mix(in srgb, var(--platform-highlight) 10%, var(--platform-surface));
}

.event-assignment-recovery div {
  display: grid;
  gap: .2rem;
}

.event-assignment-recovery strong {
  color: var(--platform-text);
}

.event-assignment-recovery p {
  margin: 0;
  color: var(--platform-text-muted);
  line-height: 1.45;
}

.event-assignment-recovery button {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.event-lead-workspace {
  display: grid;
  grid-template-columns: minmax(25rem, .9fr) minmax(27rem, 1.1fr);
  gap: 1rem;
  align-items: start;
}

.event-lead-directory,
.event-lead-detail {
  min-width: 0;
  border: 1px solid var(--platform-border);
  border-radius: 18px;
  color: var(--platform-text);
  background: var(--platform-surface);
  box-shadow: var(--platform-shadow-card);
}

.event-lead-directory {
  overflow: hidden;
}

.event-lead-detail {
  position: sticky;
  top: 1rem;
  max-height: calc(100dvh - 8rem);
  padding: 1.15rem;
  overflow: auto;
}

.event-lead-tools {
  padding: .9rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
  border-bottom: 1px solid var(--platform-border);
}

.event-lead-tools button,
.event-lead-capture-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
}

.event-lead-search {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .5rem;
  padding: 0 .75rem;
  border: 1px solid var(--platform-border-strong);
  border-radius: 11px;
  color: var(--platform-text-muted);
  background: var(--platform-surface);
}

.event-lead-search input {
  min-width: 0;
  padding: 0;
  border: 0 !important;
  outline: 0;
  background: transparent !important;
  box-shadow: none;
}

.event-lead-filters {
  padding: .75rem .9rem;
  display: flex;
  gap: .45rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--platform-border);
  background: var(--platform-surface-subtle);
}

.event-lead-filters button {
  min-height: 38px;
  padding: .45rem .65rem;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .45rem;
  border-color: var(--platform-border);
  border-radius: 999px;
  font-size: .75rem;
}

.event-lead-filters button strong {
  min-width: 1.35rem;
  padding: .15rem .35rem;
  border-radius: 999px;
  color: var(--platform-text-muted);
  background: var(--platform-surface-subtle);
  font-size: .68rem;
}

.event-lead-filters button[aria-pressed="true"] {
  border-color: var(--platform-accent);
  color: var(--platform-accent-ink);
  background: var(--platform-accent);
}

.event-lead-filters button[aria-pressed="true"] strong {
  color: inherit;
  background: color-mix(in srgb, var(--platform-accent-ink) 18%, transparent);
}

.event-lead-list {
  display: grid;
}

.event-lead-card {
  min-width: 0;
  min-height: 86px !important;
  padding: .85rem .9rem;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .75rem;
  border: 0 !important;
  border-bottom: 1px solid var(--platform-border) !important;
  border-radius: 0 !important;
  background: var(--platform-surface) !important;
  text-align: left;
}

.event-lead-card:hover,
.event-lead-card[data-selected] {
  background: var(--platform-surface-selected) !important;
}

.event-lead-card[data-selected] {
  box-shadow: inset 4px 0 0 var(--platform-accent);
}

.event-lead-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: var(--platform-accent-ink);
  background: var(--platform-accent);
  font-size: .78rem;
  font-style: normal;
  font-weight: 850;
}

.event-lead-card-copy {
  min-width: 0;
  display: grid;
  gap: .18rem;
}

.event-lead-card-copy > strong,
.event-lead-card-copy > small,
.event-lead-card-copy > span:not(.event-lead-tags) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-lead-card-copy > small,
.event-lead-card-copy > span:not(.event-lead-tags) {
  color: var(--platform-text-muted);
  font-size: .72rem;
  font-weight: 550;
}

.event-lead-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
}

.event-lead-tags i {
  padding: .15rem .4rem;
  border-radius: 999px;
  color: var(--platform-accent);
  background: var(--platform-accent-soft);
  font-size: .62rem;
  font-style: normal;
  font-weight: 750;
}

.event-due-state {
  padding: .3rem .5rem;
  border-radius: 999px;
  color: var(--platform-text-muted);
  background: var(--platform-surface-subtle);
  font-size: .68rem;
  font-weight: 750;
  white-space: nowrap;
}

.event-due-overdue {
  color: var(--platform-danger);
  background: color-mix(in srgb, var(--platform-danger) 11%, var(--platform-surface));
}

.event-due-today {
  color: color-mix(in srgb, var(--platform-highlight) 80%, var(--platform-text));
  background: color-mix(in srgb, var(--platform-highlight) 12%, var(--platform-surface));
}

.event-due-upcoming {
  color: var(--platform-accent);
  background: var(--platform-accent-soft);
}

.event-lead-chevron {
  color: var(--platform-text-muted);
}

.event-lead-pagination {
  min-height: 58px;
  padding: .65rem .9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  color: var(--platform-text-muted);
  font-size: .76rem;
}

.event-lead-pagination > div {
  display: flex;
  gap: .4rem;
}

.event-lead-pagination button {
  min-width: 42px;
  padding: 0;
}

.event-lead-capture-link {
  width: calc(100% - 1.8rem);
  margin: 0 .9rem .9rem;
}

.event-lead-empty {
  min-height: 180px;
  padding: 1.5rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .45rem;
  color: var(--platform-accent);
  text-align: center;
}

.event-lead-empty :where(h2, p) {
  margin: 0;
}

.event-lead-empty p {
  max-width: 28rem;
  color: var(--platform-text-muted);
}

.event-lead-detail-header {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--platform-border);
}

.event-lead-detail-header .event-lead-avatar {
  width: 52px;
  height: 52px;
}

.event-lead-detail-header h2,
.event-lead-detail-header p {
  margin: .12rem 0 0;
}

.event-lead-detail-header h2 {
  font-size: 1.35rem;
}

.event-lead-detail-header p {
  color: var(--platform-text-muted);
}

.event-lead-status-row {
  padding: .8rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.event-lead-status-row span {
  padding: .3rem .55rem;
  border-radius: 999px;
  color: var(--platform-accent);
  background: var(--platform-accent-soft);
  font-size: .7rem;
  font-weight: 750;
}

.event-lead-status-row .attention {
  color: var(--platform-danger);
  background: color-mix(in srgb, var(--platform-danger) 11%, var(--platform-surface));
}

.event-lead-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--platform-border);
  border-radius: 12px;
  background: var(--platform-border);
}

.event-lead-facts > div {
  min-width: 0;
  padding: .7rem;
  display: grid;
  gap: .2rem;
  background: var(--platform-surface-subtle);
}

.event-lead-facts :where(dt, dd) {
  margin: 0;
}

.event-lead-facts dt {
  color: var(--platform-text-muted);
  font-size: .65rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.event-lead-facts dd {
  overflow: hidden;
  font-size: .8rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-lead-captured,
.event-lead-note,
.event-lead-decision,
.event-lead-routing,
.event-lead-assignment-needed,
.event-lead-action-form {
  margin-top: .85rem;
  padding: .85rem;
  border: 1px solid var(--platform-border);
  border-radius: 12px;
  background: var(--platform-surface-subtle);
}

.event-lead-captured summary {
  min-height: 38px;
  display: flex;
  align-items: center;
  font-weight: 750;
  cursor: pointer;
}

.event-lead-captured dl {
  margin: .55rem 0 0;
  display: grid;
  gap: .55rem;
}

.event-lead-captured dl > div {
  display: grid;
  grid-template-columns: minmax(7rem, .6fr) minmax(0, 1.4fr);
  gap: .75rem;
}

.event-lead-captured :where(dt, dd) {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: .78rem;
}

.event-lead-captured dt {
  color: var(--platform-text-muted);
}

.event-lead-note p,
.event-lead-decision p,
.event-lead-routing p,
.event-lead-assignment-needed p {
  margin: .45rem 0;
  line-height: 1.5;
}

.event-lead-action-form {
  display: grid;
  gap: .75rem;
  background: var(--platform-surface);
}

.event-lead-action-form > header {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  color: var(--platform-accent);
}

.event-lead-action-form h3,
.event-lead-action-form p,
.event-lead-decision h3,
.event-lead-assignment-needed h3 {
  margin: 0;
}

.event-lead-action-form p {
  margin-top: .2rem;
  color: var(--platform-text-muted);
  font-size: .76rem;
}

.event-lead-action-form label {
  display: grid;
  gap: .3rem;
  color: var(--platform-text-muted);
  font-size: .74rem;
  font-weight: 700;
}

.event-lead-action-form :where(input, select, textarea) {
  width: 100%;
  padding: .65rem .75rem;
}

.event-lead-action-form textarea {
  min-height: 76px;
  resize: vertical;
}

.event-lead-action-form > div:not(:first-child) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.event-sales-layout,
.event-marketing-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.published-work-panel {
  margin: 0;
  background: var(--platform-surface) !important;
  box-shadow: var(--platform-shadow-card);
}

.published-work-panel > header {
  padding-bottom: .75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border-bottom: 1px solid var(--platform-border);
}

.published-work-panel > header h2 {
  margin-top: .15rem;
}

.published-work-panel > header > strong {
  display: grid;
  min-width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 999px;
  color: var(--platform-accent);
  background: var(--platform-accent-soft);
}

.event-sales-lead {
  width: 100%;
  min-height: 76px !important;
  margin-top: .55rem;
  padding: .7rem;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .7rem;
  border-color: var(--platform-border) !important;
  background: var(--platform-surface-subtle) !important;
  text-align: left;
}

.event-sales-lead > span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: .12rem;
}

.event-sales-lead :where(small, em) {
  overflow: hidden;
  color: var(--platform-text-muted);
  font-size: .7rem;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-work-empty {
  min-height: 150px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .55rem;
  color: var(--platform-accent);
  text-align: center;
}

.event-work-empty p {
  max-width: 30rem;
  margin: 0;
}

.event-work-boundary {
  margin: 1rem 0 0;
  padding: .8rem 1rem;
  border-left: 3px solid var(--platform-accent);
  border-radius: 8px;
  background: var(--platform-surface-subtle);
  line-height: 1.45;
}

.published-marketing-actions button {
  align-content: center;
  justify-content: start;
  color: var(--platform-text);
  background: var(--platform-surface);
  box-shadow: var(--platform-shadow-card);
}

.published-marketing-actions button > svg {
  color: var(--platform-accent);
}

.event-permission-panel > header,
.event-upcoming-panel > header {
  color: var(--platform-accent);
}

.event-permission-counts {
  margin: .8rem 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
}

.event-permission-counts article {
  padding: .8rem;
  display: grid;
  gap: .15rem;
  border: 1px solid var(--platform-border);
  border-radius: 11px;
  background: var(--platform-surface-subtle);
}

.event-permission-counts span {
  color: var(--platform-text-muted);
  font-size: .68rem;
}

.event-permission-counts strong {
  color: var(--platform-accent);
  font-size: 1.3rem;
}

.event-permission-panel > button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
}

.event-permission-panel > small {
  display: block;
  margin-top: .65rem;
  line-height: 1.4;
}

.event-upcoming-panel > article {
  min-height: 66px;
  margin-top: .55rem;
  padding: .7rem;
  display: grid;
  grid-template-columns: minmax(8rem, .45fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  border: 1px solid var(--platform-border);
  border-radius: 11px;
  background: var(--platform-surface-subtle);
}

.event-upcoming-panel time {
  color: var(--platform-accent);
  font-size: .7rem;
  font-weight: 750;
}

.event-upcoming-panel article > div {
  min-width: 0;
  display: grid;
  gap: .15rem;
}

.event-upcoming-panel article span {
  color: var(--platform-text-muted);
  font-size: .72rem;
}

.event-upcoming-panel article button {
  min-width: 42px;
  padding: 0;
}

.event-closeout-panel {
  margin-top: 1rem;
}

.event-admin-task-grid {
  margin-bottom: 1rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
}

.event-admin-task-grid > button {
  min-width: 0;
  min-height: 92px;
  padding: .85rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  border-color: var(--platform-border);
  background: var(--platform-surface);
  box-shadow: var(--platform-shadow-card);
  text-align: left;
}

.event-admin-task-grid > button[aria-pressed="true"] {
  border-color: var(--platform-accent);
  background: var(--platform-accent-soft);
  box-shadow: inset 0 0 0 1px var(--platform-accent);
}

.event-admin-task-grid > button > span:first-child {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 10px;
  color: var(--platform-accent);
  background: var(--platform-accent-soft);
}

.event-admin-task-grid > button > span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: .2rem;
}

.event-admin-task-grid small {
  overflow: hidden;
  color: var(--platform-text-muted);
  font-size: .68rem;
  text-overflow: ellipsis;
}

.event-admin-workspace {
  min-width: 0;
}

.event-admin-config-layout {
  display: grid;
  grid-template-columns: minmax(24rem, 1.2fr) minmax(20rem, .8fr);
  gap: 1rem;
}

.event-admin-config-form {
  grid-row: span 2;
}

.event-admin-config-form > header,
.event-admin-message-card > header,
.event-admin-access .panel-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
}

.event-admin-config-form > header :where(h2, p),
.event-admin-message-card > header h2,
.event-admin-access .panel-card > header :where(h2, p) {
  margin: .15rem 0 0;
}

.event-admin-message-card > header > strong {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 999px;
  color: var(--platform-accent);
  background: var(--platform-accent-soft);
}

.event-admin-message-card > section {
  margin-top: .55rem;
  padding: .65rem;
  display: grid;
  gap: .18rem;
  border: 1px solid var(--platform-border) !important;
  border-radius: 10px;
  background: var(--platform-surface-subtle) !important;
}

.event-admin-message-card > section span,
.event-admin-message-card > section small {
  color: var(--platform-text-muted);
  font-size: .7rem;
}

.event-admin-empty {
  min-height: 130px;
  display: grid;
  align-content: center;
  gap: .3rem;
  text-align: center;
}

.event-admin-empty p {
  margin: 0;
}

.event-admin-boundaries {
  padding: .85rem 1rem;
}

.event-admin-boundaries summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  font-weight: 750;
  cursor: pointer;
}

.event-admin-boundaries li,
.event-admin-boundaries p {
  color: var(--platform-text-muted);
  line-height: 1.45;
}

.event-admin-workspace .event-task-grid,
.event-admin-workspace .event-command-stack {
  gap: 1rem;
}

.event-admin-workspace .event-task-grid .panel-card,
.event-admin-workspace .event-command-stack > .panel-card,
.event-admin-workspace .event-command-stack > .table-scroll {
  border-radius: 16px;
  box-shadow: var(--platform-shadow-card);
}

.event-admin-workspace .event-task-grid .panel-card > section {
  border-color: var(--platform-border) !important;
  background: var(--platform-surface-subtle) !important;
}

.event-admin-access th > small {
  display: block;
  color: var(--platform-accent);
  font-size: .68rem;
}

@media (max-width: 1120px) {
  .event-lead-workspace {
    grid-template-columns: minmax(21rem, .9fr) minmax(23rem, 1.1fr);
  }

  .event-admin-task-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .event-lead-workspace,
  .event-sales-layout,
  .event-marketing-layout,
  .event-admin-config-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .event-lead-detail {
    position: static;
    max-height: none;
  }

  .event-admin-config-form {
    grid-row: auto;
  }
}

@media (max-width: 640px) {
  .published-event-selector {
    width: 100%;
  }

  .published-active-capture-event {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .published-active-capture-event > :where(span, small) {
    grid-column: 1 / -1;
  }

  .published-capture-readiness,
  .event-admin-task-grid,
  .event-permission-counts {
    grid-template-columns: minmax(0, 1fr);
  }

  .event-assignment-recovery {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .event-assignment-recovery button {
    grid-column: 1 / -1;
    justify-content: center;
  }

  .event-lead-tools {
    grid-template-columns: minmax(0, 1fr);
  }

  .event-lead-card,
  .event-sales-lead {
    grid-template-columns: 42px minmax(0, 1fr) auto;
  }

  .event-lead-card .event-due-state,
  .event-sales-lead .event-due-state {
    grid-column: 2;
    justify-self: start;
  }

  .event-lead-card .event-lead-chevron,
  .event-sales-lead > svg:last-child {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .event-lead-facts,
  .event-lead-action-form > div:not(:first-child) {
    grid-template-columns: minmax(0, 1fr);
  }

  .event-upcoming-panel > article {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .event-upcoming-panel time {
    grid-column: 1 / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* PLATFORM-037 · first-class Registrations and Event-day check-in */
.event-registration-app {
  display: grid;
  gap: 1.25rem;
  width: min(1420px, 100%);
  margin: 0 auto;
  color: var(--event-ink, var(--platform-text));
}

.event-registration-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.5rem 0 .35rem;
  border-bottom: 1px solid var(--event-line, var(--platform-border));
}

.event-registration-hero h1 {
  margin: .12rem 0 .2rem;
  font-family: var(--platform-heading-font, Georgia, serif);
  font-size: clamp(2.6rem, 6vw, 4.7rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.event-registration-hero p {
  max-width: 720px;
  margin: 0;
  color: var(--event-muted, var(--platform-text-muted));
}

.event-registration-selector {
  display: grid;
  gap: .35rem;
  min-width: min(380px, 100%);
  color: var(--event-muted, var(--platform-text-muted));
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.event-registration-selector select {
  min-height: 46px;
  text-transform: none;
  letter-spacing: normal;
}

.event-registration-connectivity {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-height: 52px;
  padding: .55rem .7rem .55rem 1rem;
  border: 1px solid var(--event-line, var(--platform-border));
  border-radius: 16px;
  background: color-mix(in srgb, var(--event-surface, var(--platform-surface)) 90%, transparent);
  color: var(--event-muted, var(--platform-text-muted));
  box-shadow: 0 12px 30px rgb(0 0 0 / 8%);
}

.event-registration-connectivity > span:first-child,
.event-registration-connectivity > strong {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--event-mint, var(--platform-accent));
}

.event-registration-connectivity > span:nth-child(2) { flex: 1; }
.event-registration-connectivity button { min-height: 38px; }

.event-registration-notice,
.event-registration-error {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
  padding: .8rem 1rem;
  border: 1px solid var(--event-line, var(--platform-border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--event-mint, var(--platform-accent)) 12%, var(--event-surface, var(--platform-surface)));
}

.event-registration-error {
  color: var(--event-coral, var(--platform-danger));
  background: color-mix(in srgb, var(--event-coral, var(--platform-danger)) 10%, var(--event-surface, var(--platform-surface)));
}

.event-registration-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .75rem;
}

.event-registration-kpis article {
  display: grid;
  gap: .2rem;
  min-height: 126px;
  padding: 1rem;
  border: 1px solid var(--event-line, var(--platform-border));
  border-radius: 16px;
  background: var(--event-surface, var(--platform-surface));
}

.event-registration-kpis article span {
  color: var(--event-muted, var(--platform-text-muted));
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.event-registration-kpis article strong {
  align-self: end;
  color: var(--event-mint, var(--platform-accent));
  font-size: 2rem;
  line-height: 1;
}

.event-registration-kpis article small { color: var(--event-muted, var(--platform-text-muted)); }

.event-registration-breakdown {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.event-registration-breakdown > span {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .55rem .7rem;
  border: 1px solid var(--event-line, var(--platform-border));
  border-radius: 999px;
  color: var(--event-muted, var(--platform-text-muted));
  background: var(--event-surface, var(--platform-surface));
}

.event-registration-breakdown strong { color: var(--event-ink, var(--platform-text)); }

.event-registration-actions {
  display: flex;
  justify-content: flex-end;
  gap: .7rem;
}

.event-registration-actions button,
.event-registration-detail > button,
.event-identity-review button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 44px;
}

.event-registration-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.75fr) minmax(320px, .8fr);
  gap: 1rem;
  align-items: start;
}

.event-registration-roster,
.event-registration-detail {
  overflow: hidden;
  border: 1px solid var(--event-line, var(--platform-border));
  border-radius: 20px;
  background: var(--event-surface, var(--platform-surface));
  box-shadow: 0 18px 48px rgb(0 0 0 / 10%);
}

.event-registration-roster > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.2rem 1.25rem;
  border-bottom: 1px solid var(--event-line, var(--platform-border));
}

.event-registration-roster h2,
.event-registration-detail h2 { margin: .12rem 0 .15rem; }
.event-registration-roster header p { margin: 0; color: var(--event-muted, var(--platform-text-muted)); }
.event-registration-roster header > strong { color: var(--event-mint, var(--platform-accent)); }

.event-registration-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: .55rem;
  padding: .75rem;
  border-bottom: 1px solid var(--event-line, var(--platform-border));
  background: color-mix(in srgb, var(--event-surface-raised, var(--platform-surface-subtle)) 82%, transparent);
}

.event-registration-filters label {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-height: 44px;
  padding: 0 .7rem;
  border: 1px solid var(--event-line, var(--platform-border));
  border-radius: 10px;
  background: var(--event-canvas, var(--platform-canvas));
}

.event-registration-filters label input {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
}

.event-registration-list {
  display: grid;
  max-height: 680px;
  overflow: auto;
}

.event-registration-list > button {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: center;
  min-height: 82px;
  padding: .8rem 1rem;
  border: 0;
  border-bottom: 1px solid var(--event-line, var(--platform-border));
  border-radius: 0;
  text-align: left;
  background: transparent;
}

.event-registration-list > button:hover,
.event-registration-list > button[aria-current="true"] {
  background: color-mix(in srgb, var(--event-mint, var(--platform-accent)) 10%, var(--event-surface, var(--platform-surface)));
}

.event-registration-list button > span:nth-child(2) { display: grid; gap: .12rem; }
.event-registration-list button small,
.event-registration-list button em { color: var(--event-muted, var(--platform-text-muted)); font-style: normal; }
.event-registration-list button em { font-size: .72rem; }

.event-registration-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--event-line-strong, var(--platform-border-strong));
  border-radius: 50%;
  color: var(--event-mint, var(--platform-accent));
  background: var(--event-surface-raised, var(--platform-surface-subtle));
  font-weight: 850;
}

.event-registration-avatar.checked {
  color: var(--event-canvas, var(--platform-canvas));
  background: var(--event-mint, var(--platform-accent));
}

.event-registration-state {
  padding: .34rem .55rem;
  border: 1px solid var(--event-line, var(--platform-border));
  border-radius: 999px;
  color: var(--event-muted, var(--platform-text-muted));
  font-size: .74rem;
  white-space: nowrap;
}

.event-registration-state.checked {
  color: var(--event-mint, var(--platform-accent));
  border-color: color-mix(in srgb, var(--event-mint, var(--platform-accent)) 65%, var(--event-line, var(--platform-border)));
  background: color-mix(in srgb, var(--event-mint, var(--platform-accent)) 10%, transparent);
}

.event-registration-state.waitlisted { color: var(--event-coral, var(--platform-highlight)); }

.event-registration-detail {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 1rem;
  padding: 1.2rem;
}

.event-registration-detail > header {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--event-line, var(--platform-border));
}

.event-registration-detail header p { margin: 0; color: var(--event-muted, var(--platform-text-muted)); }
.event-registration-detail dl { display: grid; gap: .7rem; margin: 0; }
.event-registration-detail dl > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: .7rem; }
.event-registration-detail dt { color: var(--event-muted, var(--platform-text-muted)); }
.event-registration-detail dd { margin: 0; font-weight: 700; }

.event-registration-detail-empty {
  justify-items: center;
  min-height: 280px;
  padding-top: 3rem;
  text-align: center;
  color: var(--event-muted, var(--platform-text-muted));
}

.event-registration-already {
  display: flex;
  align-items: center;
  gap: .45rem;
  color: var(--event-mint, var(--platform-accent));
  font-weight: 800;
}

.event-identity-review {
  display: grid;
  gap: .6rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--event-coral, var(--platform-highlight)) 55%, var(--event-line, var(--platform-border)));
  border-radius: 14px;
  background: color-mix(in srgb, var(--event-coral, var(--platform-highlight)) 8%, transparent);
}

.event-identity-review h3,
.event-identity-review p { margin: 0; }
.event-identity-review button { text-align: left; }

.event-registration-empty {
  display: grid;
  justify-items: center;
  gap: .5rem;
  padding: 3rem;
  color: var(--event-muted, var(--platform-text-muted));
}

.event-qr-dialog,
.event-walkup-dialog { width: min(620px, calc(100vw - 2rem)); }
.event-camera-frame { position: relative; overflow: hidden; min-height: 340px; border: 1px solid var(--event-line, var(--platform-border)); border-radius: 18px; background: #020806; }
.event-camera-frame video { display: block; width: 100%; min-height: 340px; object-fit: cover; }
.event-camera-frame > span { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; display: flex; align-items: center; justify-content: center; gap: .45rem; padding: .65rem; border-radius: 12px; color: white; background: rgb(0 0 0 / 66%); }
.event-qr-dialog form,
.event-walkup-dialog form { display: grid; gap: .8rem; }
.event-walkup-dialog form > div { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }

.platform-public-qr { display: grid; justify-items: center; gap: .5rem; margin: 1rem 0; padding: 1rem; border: 1px solid var(--platform-border); border-radius: 16px; background: white; color: #10251f; text-align: center; }
.platform-public-qr h3,
.platform-public-qr p { margin: 0; }
.platform-public-qr img { width: min(280px, 100%); height: auto; }
.platform-public-confirmation { text-align: center; }

@media (max-width: 1180px) {
  .event-registration-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .event-registration-workspace { grid-template-columns: minmax(0, 1.3fr) minmax(300px, .8fr); }
  .event-registration-filters { grid-template-columns: minmax(220px, 1fr) 1fr; }
  .event-registration-filters select:last-child { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .event-registration-hero { align-items: stretch; flex-direction: column; gap: 1rem; }
  .event-registration-selector { min-width: 0; }
  .event-registration-connectivity { align-items: stretch; flex-direction: column; }
  .event-registration-connectivity > span:nth-child(2) { flex: none; }
  .event-registration-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-registration-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .event-registration-workspace { grid-template-columns: minmax(0, 1fr); }
  .event-registration-detail { position: static; grid-row: 1; }
}

@media (max-width: 560px) {
  .event-registration-hero h1 { font-size: 3rem; }
  .event-registration-kpis,
  .event-registration-actions,
  .event-registration-filters,
  .event-walkup-dialog form > div { grid-template-columns: minmax(0, 1fr); }
  .event-registration-filters select:last-child { grid-column: auto; }
  .event-registration-list > button { grid-template-columns: 42px minmax(0, 1fr); }
  .event-registration-state { grid-column: 2; justify-self: start; }
  .event-registration-detail dl > div { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
  .event-camera-frame,
  .event-camera-frame video { min-height: 250px; }
}

.spatial-map-page {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}
.spatial-map-page .planning-heading h1 { max-width: none; font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1; }
.spatial-map-page .planning-heading p { font-size: 0.94rem; }
.map-workspace-toolbar,
.map-view-actions,
.map-mode-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}
.map-workspace-toolbar { justify-content: space-between; }
.map-mode-tabs { padding: 0.3rem; border: 1px solid var(--line); border-radius: 0.8rem; background: var(--surface); }
.map-mode-tabs button { min-height: 44px; padding: 0.55rem 1rem; border: 0; border-radius: 0.6rem; color: var(--muted); background: transparent; font-weight: 750; }
.map-mode-tabs button.active { color: white; background: var(--ink); }
.spatial-runtime-state {
  align-self: start;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 750;
  background: #eee8da;
  color: #634c30;
}
.spatial-runtime-state.ready {
  background: #dcecdf;
  color: #194e39;
}
.spatial-runtime-state.unavailable {
  background: #f5dfdc;
  color: #7f2e28;
}
.spatial-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(19rem, 0.8fr);
  gap: 1.1rem;
  align-items: start;
}
.spatial-map-layout.tools-collapsed { grid-template-columns: minmax(0, 1fr); }
.map-canvas-column { min-width: 0; }
.map-workspace-drawer { display: grid; align-content: start; gap: 1rem; min-width: 19rem; max-height: min(68vh, 52rem); overflow: auto; }
.field-map-canvas {
  min-height: clamp(34rem, 64vh, 52rem);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(145deg, #dce8d5, #b9d5dc);
}
.map-trust-note { margin: 0; color: var(--muted); font-size: 0.82rem; }
.map-workspace-expanded { position: fixed; inset: 0; z-index: 1000; overflow: auto; padding: 1rem; background: var(--paper); }
.map-workspace-expanded .page-heading { margin: 0; }
.map-workspace-expanded .field-map-canvas { min-height: calc(100vh - 13rem); }
.field-map-canvas:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
.map-attribution,
.map-limitation {
  margin: 0.55rem 0 0;
  color: var(--muted);
  font-size: 0.76rem;
}
.spatial-stop-panel {
  overflow-x: auto;
}
.spatial-stop-panel table {
  table-layout: fixed;
}
.spatial-stop-panel th,
.spatial-stop-panel td {
  padding: 0.72rem 0.45rem;
  white-space: normal;
  overflow-wrap: anywhere;
}
.spatial-stop-panel th:first-child {
  width: 48%;
}
.spatial-stop-panel th:nth-child(2) {
  width: 30%;
}
.spatial-stop-panel th:last-child {
  width: 22%;
}
.spatial-stop-panel td .quiet { width: 100%; padding-inline: 0.25rem; white-space: nowrap; }
.navigation-handoffs {
  display: grid;
  gap: 0.45rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.navigation-handoffs .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  min-height: 44px;
}
.field-route-builder { display: grid; gap: 1rem; }
.field-route-stop-list { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.field-route-stop-list > li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: 0.65rem; align-items: center; padding: 0.75rem; border: 1px solid var(--line); border-radius: 0.75rem; }
.field-route-stop-list > li > span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; color: white; background: var(--ink); font-weight: 800; }
.field-route-stop-list strong,
.field-route-stop-list small { display: block; }
.field-route-stop-list small { margin-top: 0.2rem; color: var(--muted); overflow-wrap: anywhere; }
.route-order-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 0.3rem; }
.route-order-actions .quiet { min-width: 44px; min-height: 44px; padding: 0.35rem; }
.geocode-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
}
.geocode-search label {
  display: grid;
  gap: 0.4rem;
}
.candidate-list {
  display: grid;
  gap: 0.55rem;
  padding: 0;
  list-style: none;
}
.candidate-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.25rem 1rem;
  align-items: center;
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: 0.75rem;
}
.candidate-list li span {
  color: var(--muted);
  font-size: 0.78rem;
}

@media (max-width: 1100px) {
  .spatial-map-layout {
    grid-template-columns: 1fr;
  }
  .field-map-canvas {
    min-height: min(58vh, 38rem);
  }
  .map-workspace-drawer { max-height: none; }
}

@media (max-width: 600px) {
  .field-map-canvas {
    min-height: 24rem;
  }
  .geocode-search {
    grid-template-columns: 1fr;
  }
  .candidate-list li {
    grid-template-columns: 1fr;
  }
  .map-workspace-drawer { min-width: 0; }
  .customer-layer-toggles,
  .saved-map-view { grid-template-columns: 1fr; }
  .field-route-stop-list > li { grid-template-columns: 2rem minmax(0, 1fr); }
  .route-order-actions { grid-column: 1 / -1; justify-content: stretch; }
  .route-order-actions .quiet { flex: 1; }
}

.territory-selector { display: grid; gap: 0.6rem; align-content: start; }
.territory-selector button { display: grid; gap: 0.2rem; width: 100%; padding: 0.8rem; border: 1px solid var(--line); border-radius: 0.75rem; color: var(--ink); background: var(--surface); text-align: left; }
.territory-selector button.active { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.territory-selector span { color: var(--muted); font-size: 0.8rem; }
.map-workspace-drawer .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.map-workspace-drawer .route-workspace,
.map-workspace-drawer .territory-workspace { gap: 1rem; }
.map-workspace-drawer .route-kind-tabs { width: 100%; }
.map-workspace-drawer .route-stops li { grid-template-columns: 2rem minmax(0, 1fr); }
.map-workspace-drawer .route-stops li .compact { grid-column: 2; justify-self: start; }
.map-workspace-drawer .territory-review-layout,
.map-workspace-drawer .scenario-comparison { grid-template-columns: minmax(0, 1fr); }
.map-workspace-drawer .scenario-arrow { transform: rotate(90deg); justify-self: center; }

.customer-map-controls,
.customer-map-controls label,
.customer-map-detail,
.customer-map-detail dl,
.customer-map-detail dl div { display: grid; gap: 0.55rem; }
.customer-map-controls > label,
.saved-map-view label { color: var(--muted); font-size: 0.78rem; font-weight: 700; }
.customer-map-controls select,
.customer-map-controls input { width: 100%; min-width: 0; }
.customer-map-controls fieldset { margin: 0; padding: 0.8rem; border: 1px solid var(--line); border-radius: 0.75rem; }
.customer-map-controls legend { padding-inline: 0.3rem; color: var(--muted); font-size: 0.78rem; font-weight: 750; }
.customer-layer-toggles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; }
.customer-layer-toggles label { display: flex; align-items: center; gap: 0.45rem; color: var(--ink); font-size: 0.82rem; }
.customer-layer-toggles input { width: auto; }
.customer-cluster-summary { margin: 0; color: var(--muted); font-size: 0.8rem; }
.saved-map-view { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.6rem; align-items: end; }
.customer-map-controls .insight-table-scroll { max-height: 19rem; overflow: auto; }
.customer-map-controls table button { padding-inline: 0; text-align: left; }
.customer-map-detail { padding: 0.9rem; border: 1px solid var(--line); border-radius: 0.75rem; background: var(--surface); }
.customer-map-detail h3,
.customer-map-detail p,
.customer-map-detail dl { margin: 0; }
.customer-map-detail dl div { grid-template-columns: minmax(6rem, 0.35fr) minmax(0, 1fr); gap: 0.6rem; }
.customer-map-detail dt { color: var(--muted); font-size: 0.76rem; font-weight: 750; }
.customer-map-detail dd { margin: 0; overflow-wrap: anywhere; font-size: 0.82rem; }
.customer-map-controls details ul { display: grid; gap: 0.45rem; padding-left: 1.2rem; }

/* PLATFORM-033 — accepted Salesforce Field planner hierarchy on Platform authority. */
.planner-authority-bar {
  display: grid;
  grid-template-columns: minmax(13rem, 1.2fr) minmax(30rem, 2.4fr) minmax(11rem, 0.8fr);
  align-items: center;
  gap: 0.85rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--line);
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--accent-soft) 52%, var(--surface));
}
.planner-authority-source { display: grid; gap: 0.18rem; min-width: 0; }
.planner-authority-source strong { color: var(--ink); overflow-wrap: anywhere; }
.planner-authority-source span,
.planner-authority-bar dt { color: var(--muted); font-size: 0.72rem; }
.planner-authority-bar dl { display: grid; grid-template-columns: repeat(6, minmax(4.5rem, 1fr)); margin: 0; }
.planner-authority-bar dl > div { min-width: 0; padding-inline: 0.62rem; border-left: 1px solid var(--line); }
.planner-authority-bar dd { margin: 0.12rem 0 0; color: var(--ink); font-size: 1rem; font-weight: 800; }
.planner-freshness strong { font-size: 0.78rem; }

.spatial-map-page .map-workspace-toolbar {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) auto auto;
  gap: 0.75rem;
}
.planner-global-filter {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 0.55rem;
  border: 1px solid var(--platform-border-strong, var(--line));
  border-radius: 0.65rem;
  background: var(--surface);
  padding-inline: 0.75rem;
  color: var(--muted);
}
.planner-global-filter:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent); }
.planner-global-filter input { width: 100%; min-width: 0; border: 0; background: transparent; color: var(--ink); outline: 0; }

.spatial-map-layout {
  grid-template-columns: minmax(14rem, 17rem) minmax(24rem, 1fr) minmax(18rem, 22rem);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 0.9rem;
  background: var(--surface);
  box-shadow: var(--platform-shadow-card, 0 2px 8px rgb(0 0 0 / 8%));
}
.spatial-map-layout.tools-collapsed { grid-template-columns: minmax(0, 1fr); }
.planner-control-rail,
.map-workspace-drawer {
  min-width: 0;
  background: var(--surface);
  padding: 0.85rem;
}
.planner-control-rail {
  display: grid;
  align-content: start;
  gap: 1rem;
  border-right: 1px solid var(--line);
}
.planner-control-rail section,
.planner-control-rail fieldset,
.planner-control-rail label { display: grid; gap: 0.5rem; min-width: 0; }
.planner-control-rail fieldset { margin: 0; padding: 0.75rem; border: 1px solid var(--line); border-radius: 0.65rem; }
.planner-control-rail label { color: var(--muted); font-size: 0.76rem; font-weight: 750; }
.planner-control-rail select { width: 100%; min-width: 0; }
.planner-rail-heading { display: grid; gap: 0.16rem; }
.planner-rail-heading h2,
.planner-control-rail p { margin: 0; }
.planner-rail-heading h2 { font-size: 1rem; }
.planner-control-rail p { color: var(--muted); font-size: 0.76rem; line-height: 1.45; }
.planner-rail-facts { display: grid; gap: 0.42rem; margin: 0; }
.planner-rail-facts > div { display: grid; grid-template-columns: 5.25rem minmax(0, 1fr); gap: 0.4rem; }
.planner-rail-facts dt { color: var(--muted); font-size: 0.7rem; font-weight: 750; }
.planner-rail-facts dd { margin: 0; overflow-wrap: anywhere; font-size: 0.74rem; }
.planner-rail-note { padding-top: 0.75rem; border-top: 1px solid var(--line); }
.planner-territory-list { display: grid; gap: 0.45rem; }
.planner-territory-list button { display: grid; gap: 0.18rem; width: 100%; padding: 0.65rem; border: 1px solid var(--line); border-radius: 0.6rem; color: var(--ink); background: var(--soft); text-align: left; }
.planner-territory-list button.active { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.planner-territory-list span { color: var(--muted); font-size: 0.7rem; }

.spatial-map-layout .map-canvas-column { position: relative; display: grid; grid-template-rows: minmax(38rem, 64vh) auto auto; min-width: 0; background: var(--paper); }
.spatial-map-layout .field-map-canvas { min-height: 0; height: 100%; border: 0; border-radius: 0; }
.spatial-map-layout .map-attribution,
.spatial-map-layout .map-limitation { margin: 0; padding: 0.45rem 0.65rem; border-top: 1px solid var(--line); background: var(--surface); }
.planner-map-state { position: absolute; z-index: 5; inset: auto 0.75rem 4.5rem; display: grid; gap: 0.35rem; padding: 0.75rem; border: 1px solid var(--line); border-radius: 0.65rem; background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: var(--platform-shadow-card, 0 2px 8px rgb(0 0 0 / 8%)); }
.planner-map-state.failed { border-color: var(--danger); }
.planner-map-state span,
.planner-map-state small { color: var(--muted); font-size: 0.76rem; }
.planner-map-state button { justify-self: start; }

.map-workspace-drawer { display: grid; align-content: start; gap: 0.75rem; max-height: none; overflow: visible; border-left: 1px solid var(--line); }
.map-workspace-drawer > .panel-card { border: 0; border-radius: 0; background: transparent; padding: 0; box-shadow: none; }
.map-workspace-drawer .connected-query-picker {
  display: grid;
  min-width: 0;
  gap: 0.7rem;
  margin: 0;
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: 0.7rem;
}
.map-workspace-drawer .connected-query-picker > :where(p, dl) { margin: 0; }
.map-workspace-drawer .connected-query-picker label { display: grid; min-width: 0; gap: 0.35rem; color: var(--muted); font-size: 0.76rem; font-weight: 750; }
.map-workspace-drawer .connected-query-picker :where(input, select, textarea) { width: 100%; min-width: 0; }
.map-workspace-drawer .connected-query-picker textarea { min-height: 5.5rem; resize: vertical; }
.map-workspace-drawer .connected-query-picker > .primary { justify-self: start; }
.map-workspace-drawer .planner-drawer-authority,
.map-workspace-drawer .planner-drawer-search,
.map-workspace-drawer .planner-drawer-filter,
.map-workspace-drawer .planner-drawer-results,
.map-workspace-drawer .planner-drawer-equivalent,
.map-workspace-drawer .planner-drawer-measure { display: none; }

.planner-route-patterns { display: grid; gap: 0.7rem; padding-top: 0.8rem; border-top: 1px solid var(--line); }
.planner-pattern-save { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.55rem; align-items: end; }
.planner-pattern-save label { display: grid; gap: 0.35rem; color: var(--muted); font-size: 0.76rem; font-weight: 750; }
.planner-pattern-list { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.planner-pattern-list li { display: grid; gap: 0.5rem; padding: 0.65rem; border: 1px solid var(--line); border-radius: 0.65rem; }
.planner-pattern-list strong,
.planner-pattern-list small { display: block; }
.planner-pattern-list small { margin-top: 0.2rem; color: var(--muted); }

.planner-equivalent-region { display: grid; gap: 0.7rem; padding: 0.85rem; border: 1px solid var(--line); border-radius: 0.8rem; background: var(--surface); }
.planner-equivalent-region .section-heading { margin: 0; }
.planner-equivalent-scroll { overflow-x: auto; }
.planner-equivalent-scroll table { min-width: 48rem; }
.planner-equivalent-scroll th,
.planner-equivalent-scroll td { vertical-align: top; }

@media (max-width: 1280px) {
  .planner-authority-bar { grid-template-columns: 1fr; }
  .planner-authority-bar dl > div:first-child { border-left: 0; }
  .spatial-map-layout { grid-template-columns: minmax(13rem, 16rem) minmax(25rem, 1fr); }
  .map-workspace-drawer { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 820px) {
  .spatial-map-page .map-workspace-toolbar { grid-template-columns: 1fr; }
  .map-mode-tabs,
  .map-view-actions { width: 100%; }
  .map-mode-tabs button,
  .map-view-actions > * { flex: 1; }
  .planner-authority-bar dl { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.65rem 0; }
  .planner-authority-bar dl > div:nth-child(4) { border-left: 0; }
  .spatial-map-layout { display: flex; flex-direction: column; }
  .planner-control-rail { border-right: 0; border-bottom: 1px solid var(--line); }
  .spatial-map-layout .map-canvas-column { grid-template-rows: minmax(27rem, 58vh) auto auto; }
  .map-workspace-drawer { border-top: 1px solid var(--line); }
  .planner-pattern-save { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .planner-authority-bar dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planner-authority-bar dl > div:nth-child(odd) { border-left: 0; }
  .spatial-map-layout .map-canvas-column { grid-template-rows: minmax(23rem, 55vh) auto auto; }
  .planner-control-rail,
  .map-workspace-drawer { padding: 0.7rem; }
}

.standalone-import { display: grid; gap: 1rem; }
.standalone-import .file-button { justify-content: center; min-height: 3rem; }
.import-config { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.import-config label,
.import-mapping > label,
.import-template-actions label { display: grid; gap: 0.35rem; min-width: 0; color: var(--muted); font-size: 0.78rem; font-weight: 700; }
.import-config select,
.import-mapping select,
.import-template-actions input { width: 100%; min-width: 0; }
.import-mapping { display: grid; gap: 0.75rem; padding-top: 0.25rem; border-top: 1px solid var(--line); }
.import-mapping details { padding: 0.75rem; border: 1px solid var(--line); border-radius: 0.75rem; }
.import-mapping details summary { cursor: pointer; font-weight: 750; }
.import-template-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.65rem; align-items: end; }
.import-preview { display: grid; gap: 0.75rem; padding: 0.9rem; border: 1px solid var(--line); border-radius: 0.8rem; background: var(--surface); }
.import-preview p { margin: 0; color: var(--muted); font-size: 0.82rem; }
.import-history ul { display: grid; gap: 0.6rem; padding: 0; list-style: none; }
.import-history li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.75rem; align-items: center; padding: 0.75rem; border: 1px solid var(--line); border-radius: 0.75rem; }
.import-history li div { display: grid; gap: 0.2rem; min-width: 0; }
.import-history li span,
.import-history li small { color: var(--muted); overflow-wrap: anywhere; }

@media (max-width: 600px) {
  .import-config,
  .import-template-actions,
  .import-history li { grid-template-columns: 1fr; }
}

.journey-navigation {
  display: grid;
  min-width: 0;
  gap: 0.7rem;
  margin-bottom: 1rem;
  padding: 0.85rem;
  border: 1px solid #cdd8d3;
  border-radius: 14px;
  background: #f4f8f6;
}

.journey-navigation-heading {
  display: flex;
  min-width: 0;
  gap: 0.5rem 1rem;
  align-items: baseline;
  justify-content: space-between;
}

.journey-navigation-heading small {
  color: var(--muted);
}

.journey-navigation ol {
  display: flex;
  min-width: 0;
  gap: 0.45rem;
  margin: 0;
  padding: 0 0 0.35rem;
  overflow-x: auto;
  list-style: none;
  scroll-snap-type: x proximity;
}

.journey-navigation li {
  flex: 0 0 auto;
  scroll-snap-align: start;
}

.journey-navigation button {
  display: grid;
  min-width: 8.75rem;
  min-height: 52px;
  grid-template-columns: auto 1fr;
  gap: 0.5rem;
  align-items: center;
  padding: 0.55rem 0.7rem;
  border: 1px solid #c4d2cc;
  border-radius: 10px;
  color: var(--ink);
  background: white;
  text-align: left;
}

.journey-navigation button span {
  color: #56716a;
  font-size: 0.72rem;
  font-weight: 700;
}

.journey-navigation button.current {
  border-color: var(--forest);
  color: white;
  background: var(--forest);
}

.journey-navigation button.current span {
  color: #d7ebe4;
}

#visit-preparation:focus,
#active-visit:focus,
#active-offer:focus,
#active-follow-up:focus {
  outline: 3px solid #d87631;
  outline-offset: 4px;
}

@media (max-width: 640px) {
  .journey-navigation-heading {
    display: grid;
  }

  .journey-navigation button {
    min-width: 8rem;
  }
}

.route-workspace {
  display: grid;
  gap: 1.25rem;
}
.route-hero {
  align-items: center;
}
.route-kind-tabs {
  display: inline-flex;
  gap: 0.35rem;
  padding: 0.3rem;
  width: fit-content;
  border: 1px solid var(--line);
  border-radius: 0.8rem;
  background: var(--surface);
}
.route-kind-tabs button {
  min-height: 44px;
  padding: 0.6rem 1rem;
  border: 0;
  border-radius: 0.6rem;
  background: transparent;
  color: var(--muted);
  font-weight: 700;
}
.route-kind-tabs button.active {
  background: var(--ink);
  color: white;
}
.route-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(21rem, 0.75fr);
  gap: 1rem;
  align-items: start;
}
.route-map-card {
  min-width: 0;
}
.route-canvas {
  position: relative;
  min-height: 21rem;
  margin-top: 1rem;
  overflow: hidden;
  border-radius: 0.85rem;
  background:
    radial-gradient(
      circle at 25% 25%,
      rgba(255, 255, 255, 0.85),
      transparent 25%
    ),
    linear-gradient(145deg, #dce9d7, #bad5d7);
}
.route-canvas::before,
.route-canvas::after {
  content: "";
  position: absolute;
  inset: 12% 8%;
  border: 1px solid rgba(44, 88, 61, 0.16);
  border-radius: 42% 55% 44% 50%;
  transform: rotate(-8deg);
}
.route-canvas::after {
  inset: 28% 18%;
  transform: rotate(15deg);
}
.route-canvas svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.route-canvas path {
  fill: none;
  stroke: #1f6c45;
  stroke-width: 5;
  stroke-dasharray: 9 7;
  stroke-linecap: round;
}
.route-canvas circle {
  fill: #fff;
  stroke: #1f6c45;
  stroke-width: 5;
}
.route-pin {
  position: absolute;
  z-index: 2;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 3px solid white;
  border-radius: 50%;
  background: #174f35;
  color: white;
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(18, 55, 37, 0.25);
}
.route-pin.pin-1 {
  left: calc(12% - 22px);
  top: calc(80% - 22px);
}
.route-pin.pin-2 {
  left: calc(46% - 22px);
  top: calc(44% - 22px);
}
.route-pin.pin-3 {
  left: calc(88% - 22px);
  top: calc(34% - 22px);
}
.route-pin.pin-4 {
  left: calc(66% - 22px);
  top: calc(65% - 22px);
}
.route-stops {
  min-width: 0;
}
.route-stops h2 {
  margin: 0.25rem 0 1rem;
}
.route-stops ol {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.route-stops li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: 0.75rem;
}
.route-stops li > span {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--soft);
  font-weight: 800;
}
.route-stops li div {
  display: grid;
  min-width: 0;
  gap: 0.15rem;
}
.route-stops li small {
  color: var(--muted);
}
.compact {
  min-height: 40px;
  padding: 0.45rem 0.65rem;
  text-decoration: none;
}
.route-stops details {
  margin-top: 1rem;
}
.route-stops details p {
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--line);
}
.route-adoption,
.replan-preview {
  display: grid;
  gap: 1rem;
}
.impact-list {
  display: grid;
  gap: 0.5rem;
}
.impact-list p {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--line);
}
.impact-list span {
  color: var(--muted);
}

@media (max-width: 920px) {
  .route-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .route-kind-tabs {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr;
  }
  .route-canvas {
    min-height: 17rem;
  }
  .route-stops li {
    grid-template-columns: 2rem minmax(0, 1fr);
  }
  .route-stops li .compact {
    grid-column: 2;
    justify-self: start;
  }
  .impact-list p {
    flex-direction: column;
  }
}

.analysis-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  margin: 1rem 0;
}
.analysis-actions > span {
  flex-basis: 100%;
  color: var(--muted);
}
.native-analytics-workspace { gap: 1rem; }
.native-dashboard-controls { display: grid; grid-template-columns: minmax(14rem, 1.2fr) repeat(2, minmax(12rem, 0.8fr)); gap: 0.75rem; }
.native-dashboard-controls > * { display: grid; align-content: start; gap: 0.2rem; min-width: 0; padding: 0.9rem 1rem; border: 1px solid var(--line); border-radius: 0.85rem; background: var(--surface); }
.native-dashboard-controls span, .native-dashboard-controls small { color: var(--muted); }
.native-analytics-warning { margin: 0; padding: 0.75rem 1rem; border-left: 0.3rem solid #c07924; border-radius: 0.45rem; background: color-mix(in srgb, #c07924 11%, var(--surface)); }
.native-analytics-grid { display: grid; grid-template-columns: minmax(15rem, 0.7fr) minmax(18rem, 1fr) minmax(24rem, 1.45fr); gap: 1rem; }
.native-chart, .native-map-card { min-width: 0; margin: 0; }
.native-bars { display: flex; align-items: end; justify-content: space-around; min-height: 10rem; padding: 1rem 0.5rem 0; border-bottom: 1px solid var(--line); }
.native-bars > div { display: grid; justify-items: center; gap: 0.45rem; }
.native-bars span { width: 2.1rem; border-radius: 0.45rem 0.45rem 0 0; background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #152b38)); }
.native-breakdown { display: grid; gap: 0.65rem; padding: 0; list-style: none; }
.native-breakdown button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.35rem 0.75rem; width: 100%; text-align: left; }
.native-breakdown i { grid-column: 1 / -1; display: block; max-width: 100%; height: 0.45rem; border-radius: 999px; background: var(--accent); }
.native-map-card { display: grid; grid-template-rows: auto minmax(18rem, 1fr) auto; }
.native-analytics-map { min-height: 18rem; overflow: hidden; border: 1px solid var(--line); border-radius: 0.8rem; background: color-mix(in srgb, var(--surface) 85%, var(--accent)); }
.native-analytics-table { overflow: hidden; }
.native-analytics-empty { min-height: 16rem; align-content: center; text-align: center; }
.intelligence-detail textarea {
  width: 100%;
  min-height: 6rem;
  resize: vertical;
}
.intelligence-detail code {
  overflow-wrap: anywhere;
}

@media (max-width: 720px) {
  .analysis-actions {
    align-items: stretch;
  }
  .analysis-actions > button {
    width: 100%;
  }
  .native-dashboard-controls, .native-analytics-grid { grid-template-columns: 1fr; }
  .native-map-card { grid-template-rows: auto minmax(20rem, 50dvh) auto; }
}

@media (min-width: 721px) and (max-width: 1180px) {
  .native-analytics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .native-map-card { grid-column: 1 / -1; }
}

.event-access-panel {
  display: grid;
  gap: 1rem;
  min-width: 0;
  max-width: 100%;
}
.event-access-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
  gap: 1rem;
  min-width: 0;
}
.event-access-grid > *,
.event-access-grid .table-scroll {
  min-width: 0;
  max-width: 100%;
}
.event-access-grid h2 {
  margin-top: 0;
}
.event-reporting-panel .event-access-grid {
  grid-template-columns: minmax(0, 1fr);
}
.event-reporting-panel .insight-bar-row {
  grid-template-columns: minmax(0, 1fr) minmax(5rem, 3fr) minmax(4rem, auto);
}
.event-worklist-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
  gap: 0.75rem;
  align-items: end;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: 0.8rem;
  background: var(--surface);
}
.event-worklist-controls label {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}
.event-worklist-controls input,
.event-worklist-controls select {
  width: 100%;
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: 0.55rem;
  color: var(--ink);
  background: white;
}
.event-worklist-count {
  align-self: center;
  color: var(--muted);
  font-size: 0.82rem;
}
.event-persona-list,
.event-crosswalk {
  list-style: none;
  margin: 0;
  padding: 0;
}
.event-persona-list li,
.event-crosswalk > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--line);
}
.event-persona-list div {
  display: grid;
  gap: 0.2rem;
}
.event-persona-list small,
.event-persona-list span,
.event-crosswalk dd {
  color: var(--muted);
}
.event-crosswalk dt {
  font-weight: 700;
}
.event-crosswalk dd {
  margin: 0;
  text-align: right;
}

@media (max-width: 820px) {
  .event-access-grid {
    grid-template-columns: 1fr;
  }
  .event-crosswalk > div {
    flex-direction: column;
  }
  .event-crosswalk dd {
    text-align: left;
  }
}

.event-planning-panel { display: grid; gap: 1rem; min-width: 0; }
.event-planning-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.event-planning-grid h2 { margin-top: 0; }
.event-plan-details { margin: 0; }
.event-plan-details > div { display: grid; grid-template-columns: minmax(8rem, .7fr) minmax(0, 1.3fr); gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.event-plan-details dt { font-weight: 700; }
.event-plan-details dd { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
@media (max-width: 820px) { .event-planning-grid { grid-template-columns: 1fr; } .event-plan-details > div { grid-template-columns: 1fr; gap: .2rem; } }
.event-venue-panel { display: grid; gap: 1rem; min-width: 0; }
.event-venue-grid { display: grid; grid-template-columns: minmax(14rem,.7fr) minmax(18rem,1fr) minmax(18rem,1fr); gap: 1rem; }
.event-venue-panel > *, .event-venue-grid > *, .event-venue-panel .table-scroll { min-width: 0; max-width: 100%; }
.event-venue-panel code { overflow-wrap: anywhere; }
.event-venue-grid h2 { margin-top: 0; }
.event-station-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.event-station-list button { width: 100%; min-height: 3.5rem; display: grid; gap: .2rem; text-align: left; }
.event-station-list button[aria-pressed="true"] { outline: 2px solid var(--accent); }
.event-station-list small { color: var(--muted); }
.event-venue-map > div { position: relative; min-height: 13rem; border: 1px solid var(--line); border-radius: .8rem; overflow: hidden; background: linear-gradient(90deg, var(--surface) 0 38%, color-mix(in srgb, var(--accent) 9%, var(--surface)) 38% 100%); }
.event-venue-map > div > span { display: inline-block; padding: .7rem; color: var(--muted); }
.event-venue-map > div > button { position: absolute; width: 2.75rem; height: 2.75rem; border-radius: 50%; }
@media (max-width: 1050px) { .event-venue-grid { grid-template-columns: 1fr 1fr; } .event-venue-map { grid-column: 1 / -1; } }
@media (max-width: 720px) { .event-venue-grid { grid-template-columns: 1fr; } .event-venue-map { grid-column: auto; } }
.event-staffing-panel { display: grid; gap: 1rem; min-width: 0; }
.event-staffing-panel > *, .event-staffing-panel .table-scroll { min-width: 0; max-width: 100%; }
.event-coverage-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.event-coverage-list li { display: grid; grid-template-columns: minmax(8rem,.5fr) minmax(12rem,1fr) auto; gap: 1rem; align-items: center; padding: .65rem 0; border-bottom: 1px solid var(--line); }
@media (max-width: 720px) { .event-coverage-list li { grid-template-columns: 1fr; gap: .25rem; } }

/* PLATFORM-032: one Platform component system with a user-owned color palette. */
.app-shell[data-palette] {
  --platform-canvas: #f3f5f2;
  --platform-surface: #ffffff;
  --platform-surface-subtle: #f1f5f3;
  --platform-surface-selected: #e6f0eb;
  --platform-border: #d7e0dc;
  --platform-border-strong: #b9c8c2;
  --platform-text: #172522;
  --platform-text-muted: #61706b;
  --platform-accent: #176b57;
  --platform-accent-strong: #105342;
  --platform-accent-soft: #e2f0eb;
  --platform-accent-ink: #ffffff;
  --platform-highlight: #e5965d;
  --platform-header: #0d2723;
  --platform-header-subtle: #173c35;
  --platform-header-text: #f8fbfa;
  --platform-danger: #a53d34;
  --platform-shadow-card: 0 1px 2px rgb(16 42 36 / 5%), 0 10px 28px rgb(16 42 36 / 5%);
  --platform-shadow-raised: 0 12px 36px rgb(16 42 36 / 14%);
  --ink: var(--platform-text);
  --muted: var(--platform-text-muted);
  --forest: var(--platform-header);
  --green: var(--platform-accent);
  --mint: var(--platform-accent-soft);
  --paper: var(--platform-surface);
  --peach: var(--platform-highlight);
  --line: var(--platform-border);
  --border: var(--platform-border);
  --surface: var(--platform-surface);
  --soft: var(--platform-surface-subtle);
  --accent: var(--platform-accent);
  --danger: var(--platform-danger);
  --event-canvas: var(--platform-canvas);
  --event-surface: var(--platform-surface);
  --event-surface-raised: var(--platform-surface-subtle);
  --event-line: var(--platform-border);
  --event-line-strong: var(--platform-border-strong);
  --event-ink: var(--platform-text);
  --event-muted: var(--platform-text-muted);
  --event-mint: var(--platform-accent);
  --event-coral: var(--platform-highlight);
  min-height: 100dvh;
  color: var(--platform-text);
  background: var(--platform-canvas);
}

.app-shell[data-palette="forest"] {
  --platform-canvas: #061d17;
  --platform-surface: #0d2b23;
  --platform-surface-subtle: #10362c;
  --platform-surface-selected: #164638;
  --platform-border: #2b5a4b;
  --platform-border-strong: #447867;
  --platform-text: #f2f5ee;
  --platform-text-muted: #a9beb5;
  --platform-accent: #7bd6b5;
  --platform-accent-strong: #9be7ca;
  --platform-accent-soft: #164638;
  --platform-accent-ink: #06251c;
  --platform-highlight: #ff8d68;
  --platform-header: #041610;
  --platform-header-subtle: #0d2b23;
  --platform-header-text: #f2f5ee;
  --platform-danger: #ff9c8a;
  --platform-shadow-card: 0 12px 28px rgb(0 0 0 / 18%);
  --platform-shadow-raised: 0 18px 48px rgb(0 0 0 / 30%);
  color-scheme: dark;
}

.app-shell[data-palette="alps"] {
  --platform-canvas: #eef5fa;
  --platform-surface: #fbfdff;
  --platform-surface-subtle: #e5f0f7;
  --platform-surface-selected: #d9eaf5;
  --platform-border: #bfd2df;
  --platform-border-strong: #8aabba;
  --platform-text: #142a38;
  --platform-text-muted: #577081;
  --platform-accent: #216a91;
  --platform-accent-strong: #154f72;
  --platform-accent-soft: #dbeaf4;
  --platform-accent-ink: #ffffff;
  --platform-highlight: #d67543;
  --platform-header: #143a52;
  --platform-header-subtle: #235775;
  --platform-header-text: #f5fbff;
  --platform-danger: #a53d34;
  --platform-shadow-card: 0 1px 2px rgb(20 58 82 / 5%), 0 10px 28px rgb(20 58 82 / 7%);
  --platform-shadow-raised: 0 16px 40px rgb(20 58 82 / 18%);
}

.app-shell[data-palette="tropical"] {
  --platform-canvas: #fff8ed;
  --platform-surface: #fffcf6;
  --platform-surface-subtle: #eef8f3;
  --platform-surface-selected: #ddf0e9;
  --platform-border: #d7d8c9;
  --platform-border-strong: #a9b8aa;
  --platform-text: #173532;
  --platform-text-muted: #627873;
  --platform-accent: #007c78;
  --platform-accent-strong: #005f5c;
  --platform-accent-soft: #d9efeb;
  --platform-accent-ink: #ffffff;
  --platform-highlight: #e76f51;
  --platform-header: #073f3c;
  --platform-header-subtle: #0c5c57;
  --platform-header-text: #fffdf8;
  --platform-danger: #a53d34;
  --platform-shadow-card: 0 1px 2px rgb(7 63 60 / 5%), 0 10px 28px rgb(7 63 60 / 7%);
  --platform-shadow-raised: 0 16px 40px rgb(7 63 60 / 18%);
}

.app-shell[data-palette] .topbar {
  color: var(--platform-header-text);
  background: var(--platform-header);
}

.app-shell[data-palette] .brand-mark {
  color: var(--platform-accent-ink);
  background: var(--platform-highlight);
  font-family: inherit;
}

.app-shell[data-palette] :where(.brand small, .profile-copy small, .connection-state) {
  color: color-mix(in srgb, var(--platform-header-text) 72%, transparent);
}

.app-shell[data-palette] :where(.experience-switcher, .crm-global-actions button) {
  border-color: color-mix(in srgb, var(--platform-header-text) 20%, transparent);
  background: color-mix(in srgb, var(--platform-header-text) 8%, transparent);
}

.app-shell[data-palette] :where(.experience-switcher button, .crm-global-actions button) {
  color: color-mix(in srgb, var(--platform-header-text) 86%, transparent);
}

.app-shell[data-palette] :where(.experience-switcher button.active, .crm-global-actions button.active) {
  color: var(--platform-text);
  background: var(--platform-surface);
}

.app-shell[data-palette] .experience-switcher button.active span {
  color: var(--platform-accent-ink);
  background: var(--platform-accent);
}

.app-shell[data-palette] .avatar {
  border-color: color-mix(in srgb, var(--platform-header-text) 30%, transparent);
  color: var(--platform-header-text);
  background: var(--platform-header-subtle);
}

.app-shell[data-palette] .layout {
  color: var(--platform-text);
  background: var(--platform-canvas);
}

.app-shell[data-palette] .side-nav {
  border-color: var(--platform-border);
  color: var(--platform-text);
  background: var(--platform-surface);
}

.app-shell[data-palette] .nav-section-label,
.app-shell[data-palette] .nav-foot,
.app-shell[data-palette] .nav-foot small {
  color: var(--platform-text-muted);
}

.app-shell[data-palette] .side-nav button {
  color: var(--platform-text-muted);
}

.app-shell[data-palette] .side-nav button span {
  color: var(--platform-text-muted);
  background: var(--platform-surface-subtle);
}

.app-shell[data-palette] .side-nav button.active {
  color: var(--platform-text);
  background: var(--platform-surface-selected);
}

.app-shell[data-palette] .side-nav button.active span {
  color: var(--platform-accent-ink);
  background: var(--platform-accent);
}

.app-shell[data-palette] .main {
  color: var(--platform-text);
  background: transparent;
}

.app-shell[data-palette] :where(h1, h2, h3, h4) {
  color: var(--platform-text);
  font-family: inherit;
}

.app-shell[data-palette] :where(p, small, .technical-note, .section-assist) {
  color: var(--platform-text-muted);
}

.app-shell[data-palette] :where(button, input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border-color: var(--platform-border-strong);
  color: var(--platform-text);
  background-color: var(--platform-surface);
}

.app-shell[data-palette] :where(button, input, select, textarea, summary, a):focus-visible {
  outline-color: var(--platform-highlight);
}

.app-shell[data-palette] :where(.primary, .primary-action) {
  border-color: var(--platform-accent);
  color: var(--platform-accent-ink);
  background: var(--platform-accent);
}

.app-shell[data-palette] :where(.secondary, .secondary-action, .quiet) {
  border-color: var(--platform-border-strong);
  color: var(--platform-text);
  background: var(--platform-surface);
}

.app-shell[data-palette] :where(.panel-card, .visit-card, .metric-row article, .event-card-grid > article, .event-card-grid > section, .event-triage-list > article, .event-calendar-workspace section) {
  border-color: var(--platform-border);
  color: var(--platform-text);
  background: var(--platform-surface);
  box-shadow: var(--platform-shadow-card);
}

.app-shell[data-palette] :where(.notice, .next-stop-card, .visit-filters, .journey-navigation, .journey-section, .workspace-tools > button) {
  border-color: var(--platform-border);
  color: var(--platform-text);
  background: var(--platform-surface-subtle);
  box-shadow: var(--platform-shadow-card);
}

.app-shell[data-palette] .day-summary {
  border-color: var(--platform-border);
  background: var(--platform-border);
}

.app-shell[data-palette] .day-summary article,
.app-shell[data-palette] .journey-navigation button,
.app-shell[data-palette] .journey-steps span {
  border-color: var(--platform-border);
  color: var(--platform-text);
  background: var(--platform-surface);
}

.app-shell[data-palette] .day-summary :where(strong, span, small),
.app-shell[data-palette] .journey-navigation button span,
.app-shell[data-palette] .journey-steps li {
  color: var(--platform-text-muted);
}

.app-shell[data-palette] :where(.day-summary .day-route-card, .journey-navigation button.current) {
  border-color: var(--platform-accent);
  color: var(--platform-accent-ink);
  background: var(--platform-accent);
}

.app-shell[data-palette] :where(.day-summary .day-route-card, .journey-navigation button.current) :where(strong, span, small) {
  color: inherit;
}

.app-shell[data-palette] .experience-main-crm {
  --crm-canvas: var(--platform-canvas);
  --crm-surface: var(--platform-surface);
  --crm-surface-subtle: var(--platform-surface-subtle);
  --crm-surface-selected: var(--platform-surface-selected);
  --crm-border: var(--platform-border);
  --crm-border-strong: var(--platform-border-strong);
  --crm-text: var(--platform-text);
  --crm-text-muted: var(--platform-text-muted);
  --crm-accent: var(--platform-accent);
  --crm-accent-strong: var(--platform-accent-strong);
  --crm-accent-soft: var(--platform-accent-soft);
  --crm-danger: var(--platform-danger);
  --crm-shadow-card: var(--platform-shadow-card);
  --crm-shadow-raised: var(--platform-shadow-raised);
}

.app-shell[data-palette] .profile-menu {
  border-color: var(--platform-border);
  color: var(--platform-text);
  background: var(--platform-surface);
  box-shadow: var(--platform-shadow-raised);
}

.app-shell[data-palette] .profile-menu > button {
  border: 1px solid var(--platform-border-strong);
  color: var(--platform-text);
  background: var(--platform-surface-subtle);
}

.appearance-settings {
  display: grid;
  gap: .65rem;
  padding-block: .75rem;
  border-block: 1px solid var(--platform-border);
}

.appearance-settings > div:first-child {
  display: grid;
  gap: .2rem;
}

.appearance-settings > div:first-child small,
.palette-message {
  color: var(--platform-text-muted);
  line-height: 1.35;
}

.palette-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
}

.app-shell[data-palette] .profile-menu .palette-option {
  display: grid;
  min-width: 0;
  min-height: 76px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .55rem;
  align-items: center;
  padding: .6rem;
  border: 1px solid var(--platform-border);
  border-radius: 11px;
  color: var(--platform-text);
  background: var(--platform-surface-subtle);
  text-align: left;
}

.app-shell[data-palette] .profile-menu .palette-option[aria-pressed="true"] {
  border-color: var(--platform-accent);
  background: var(--platform-accent-soft);
  box-shadow: inset 0 0 0 1px var(--platform-accent);
}

.app-shell[data-palette] .profile-menu .palette-option strong {
  color: var(--platform-text);
}

.palette-option > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: .15rem;
}

.palette-option small {
  color: var(--platform-text-muted);
  font-size: .68rem;
  line-height: 1.25;
}

.palette-check {
  color: var(--platform-accent);
  font-weight: 900;
}

.palette-swatch {
  display: grid;
  width: 28px;
  height: 28px;
  overflow: hidden;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: 50%;
}

.palette-swatch i:nth-child(1) { background: #f3f5f2; }
.palette-swatch i:nth-child(2) { background: #176b57; }
.palette-swatch i:nth-child(3) { background: #e5965d; }
.palette-option-forest .palette-swatch i:nth-child(1) { background: #061d17; }
.palette-option-forest .palette-swatch i:nth-child(2) { background: #7bd6b5; }
.palette-option-forest .palette-swatch i:nth-child(3) { background: #ff8d68; }
.palette-option-alps .palette-swatch i:nth-child(1) { background: #eef5fa; }
.palette-option-alps .palette-swatch i:nth-child(2) { background: #216a91; }
.palette-option-alps .palette-swatch i:nth-child(3) { background: #d67543; }
.palette-option-tropical .palette-swatch i:nth-child(1) { background: #fff8ed; }
.palette-option-tropical .palette-swatch i:nth-child(2) { background: #007c78; }
.palette-option-tropical .palette-swatch i:nth-child(3) { background: #e76f51; }

/* Events keeps its six workflow destinations, but uses the shared Platform shell. */
.app-shell[data-palette].experience-shell-events {
  background: var(--platform-canvas);
}

.app-shell[data-palette].experience-shell-events .layout {
  min-height: calc(100dvh - 72px);
  padding-bottom: 0;
  grid-template-columns: 210px minmax(0, 1fr);
  background: var(--platform-canvas);
}

.app-shell[data-palette].experience-shell-events .side-nav.experience-events {
  position: sticky;
  top: 72px;
  right: auto;
  bottom: auto;
  left: auto;
  z-index: 4;
  width: auto;
  max-height: calc(100dvh - 72px);
  margin: 0;
  padding: 1.5rem .85rem;
  overflow-x: hidden;
  overflow-y: auto;
  border: 0;
  border-right: 1px solid var(--platform-border);
  border-radius: 0;
  color: var(--platform-text);
  background: var(--platform-surface);
  box-shadow: none;
}

.app-shell[data-palette].experience-shell-events .experience-events :where(.nav-section-label, .nav-foot) {
  display: grid;
}

.app-shell[data-palette].experience-shell-events .experience-events .nav-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .35rem;
}

.app-shell[data-palette].experience-shell-events .experience-events button {
  min-height: 44px;
  padding: .75rem;
  flex-direction: row;
  justify-content: flex-start;
  gap: .7rem;
  border: 0;
  border-radius: 11px;
  color: var(--platform-text-muted);
  background: transparent;
  font-size: .9rem;
  font-weight: 650;
  text-align: left;
}

.app-shell[data-palette].experience-shell-events .experience-events button span {
  width: 25px;
  height: 25px;
  color: var(--platform-text-muted);
  background: var(--platform-surface-subtle);
  font-size: .9rem;
}

.app-shell[data-palette].experience-shell-events .experience-events button.active {
  border: 0;
  color: var(--platform-text);
  background: var(--platform-surface-selected);
  box-shadow: none;
}

.app-shell[data-palette].experience-shell-events .experience-events button.active span {
  color: var(--platform-accent-ink);
  background: var(--platform-accent);
}

.app-shell[data-palette].experience-shell-events .main.experience-main-events {
  width: 100%;
  max-width: 1440px;
  padding: 1.4rem clamp(1.25rem, 3vw, 3rem) 5rem;
}

.app-shell[data-palette].experience-shell-events .context-strip {
  min-height: 44px;
  margin: 0;
  padding: 0 0 .85rem;
  border-color: var(--platform-border);
  color: var(--platform-text);
  background: transparent;
}

.app-shell[data-palette] :where(.published-event-heading h1, .published-lead-capture h1) {
  color: var(--platform-text);
  font-family: inherit;
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 760;
  line-height: 1.04;
  letter-spacing: -.04em;
}

.app-shell[data-palette] .published-event-workspace-mark {
  color: var(--platform-accent-ink);
  background: var(--platform-accent);
  font-family: inherit;
}

.app-shell[data-palette] :where(.published-event-list h2, .published-capture-event-list h2, .published-recent-leads h2, .published-event-dialog h2, .published-event-calendar h2, .published-work-panel h2, .published-scanner-review h2, .published-qualification h2) {
  color: var(--platform-text);
  font-family: inherit;
  font-weight: 740;
}

.app-shell[data-palette] :where(.published-event-display, .published-work-switcher, .published-form-navigation, .published-admin-tabs, .published-event-manage-tabs, .published-calendar-view) {
  border-color: var(--platform-border);
  background: var(--platform-surface-subtle);
}

.app-shell[data-palette] :where(.published-event-display button[aria-pressed="true"], .published-work-switcher button[aria-pressed="true"], .published-form-navigation button[aria-current="page"], .published-admin-tabs button[aria-selected="true"], .published-event-manage-tabs button[aria-selected="true"], .published-calendar-view button[aria-pressed="true"]) {
  color: var(--platform-accent);
  background: var(--platform-surface);
  box-shadow: var(--platform-shadow-card);
}

.app-shell[data-palette] :where(.published-event-overview article, .published-event-overview > button, .published-work-summary article, .published-work-summary > button, .published-admin-summary article, .published-event-list > article, .published-capture-event-list > article, .published-empty-state, .published-recent-leads article, .published-event-manage-details div, .published-scanner-review, .published-qualification, .published-work-panel > article, .published-event-calendar, .published-active-capture-event) {
  border-color: var(--platform-border);
  border-radius: 16px;
  color: var(--platform-text);
  background: var(--platform-surface);
  box-shadow: var(--platform-shadow-card);
}

.app-shell[data-palette] :where(.published-event-template-panel, .published-work-panel, .published-lead-capture) {
  border-color: var(--platform-border);
  color: var(--platform-text);
  background: var(--platform-surface-subtle);
}

.app-shell[data-palette] .published-event-dialog {
  border-color: var(--platform-border);
  color: var(--platform-text);
  background: var(--platform-surface);
  box-shadow: var(--platform-shadow-raised);
}

.app-shell[data-palette] .published-event-dialog-backdrop {
  background: color-mix(in srgb, var(--platform-header) 72%, transparent);
}

.app-shell[data-palette] :where(.published-event-overview strong, .published-work-summary strong, .published-admin-summary strong, .published-recent-leads article > span, .published-event-state, .published-connection-status, .published-capture-checked-in) {
  color: var(--platform-accent);
}

.app-shell[data-palette] :where(.published-event-state, .published-connection-status, .published-capture-checked-in, .published-capture-depth button[aria-pressed="true"], .published-calendar-grid article > button) {
  border-color: var(--platform-accent);
  background: var(--platform-accent-soft);
}

.app-shell[data-palette] .published-calendar-weekdays {
  border-color: var(--platform-border);
  background: var(--platform-surface-subtle);
}

.app-shell[data-palette] .published-calendar-grid article.outside {
  background: var(--platform-surface-subtle);
}

.app-shell[data-palette] .event-alert {
  color: var(--platform-text);
  background: color-mix(in srgb, var(--platform-highlight) 14%, var(--platform-surface));
}

@media (max-width: 780px) {
  .app-shell[data-palette].experience-shell-events .layout {
    padding-bottom: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .app-shell[data-palette].experience-shell-events .side-nav.experience-events {
    position: sticky;
    top: 0;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    max-width: 100vw;
    max-height: none;
    padding: .5rem;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-bottom: 1px solid var(--platform-border);
  }

  .app-shell[data-palette].experience-shell-events .experience-events .nav-section {
    display: flex;
    grid-template-columns: none;
    flex: 0 0 auto;
  }

  .app-shell[data-palette].experience-shell-events .experience-events button {
    min-width: auto;
    min-height: 44px;
    flex: 0 0 auto;
    flex-direction: row;
    font-size: .9rem;
  }

  .app-shell[data-palette].experience-shell-events .experience-events .nav-section-label {
    display: block;
  }

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

@media (prefers-reduced-motion: reduce) {
  .app-shell[data-palette] *,
  .app-shell[data-palette] *::before,
  .app-shell[data-palette] *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
.field-auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; color: #173c3a; background: radial-gradient(circle at top, #f8f5ea, #e8efe8); }
.field-auth-card { width: min(100%, 28rem); padding: clamp(1.5rem, 5vw, 2.5rem); border: 1px solid rgba(23, 60, 58, .18); border-radius: 1.25rem; background: rgba(255,255,255,.94); box-shadow: 0 1rem 3rem rgba(23,60,58,.12); }
.field-auth-brand { display: flex; align-items: center; gap: .7rem; margin-bottom: 2rem; }
.field-auth-brand > span { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: .7rem; color: white; background: #173c3a; font-weight: 800; }
.field-auth-eyebrow { margin: 0 0 .35rem; color: #516c68; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.field-auth-card h1 { margin: 0 0 .75rem; font-size: clamp(2rem, 8vw, 3rem); line-height: 1; }
.field-auth-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.field-auth-form label { display: grid; gap: .35rem; font-weight: 700; }
.field-auth-form input { min-height: 3rem; padding: .7rem .85rem; border: 1px solid #91a7a1; border-radius: .65rem; background: white; color: #173c3a; font: inherit; font-size: 1rem; }
.field-auth-form button { min-height: 3rem; border: 0; border-radius: .65rem; background: #173c3a; color: white; font: inherit; font-weight: 800; cursor: pointer; }
.field-auth-form button:disabled, .field-auth-link:disabled { opacity: .55; cursor: wait; }
.field-auth-form [role="status"], .field-auth-form [role="alert"] { margin: 0; color: #8a341f; }
.field-auth-link { margin-top: 1rem; padding: .5rem 0; border: 0; background: transparent; color: #173c3a; font: inherit; font-weight: 800; text-decoration: underline; cursor: pointer; }
.field-auth-status { min-height: 100vh; display: grid; place-items: center; padding: 2rem; background: #f5f3ed; color: #173c3a; text-align: center; }
