/* Shared visual foundation. Loaded last and opt-in; original permission,
   disabled, modal visibility and business-state controls remain untouched. */
body.pges-workspace-foundation {
  --workspace-ink: #22334f;
  --workspace-muted: #61718a;
  --workspace-line: #dce3ee;
  --workspace-blue: #405dcc;
  --workspace-blue-hover: #324eb5;
  --workspace-focus: #8bafff;
  --workspace-surface: #fff;
  --workspace-canvas: #f5f7fb;
  --workspace-radius: 14px;
  --ink: var(--workspace-ink);
  --muted: var(--workspace-muted);
  --line: var(--workspace-line);
  --paper: var(--workspace-surface);
  --radius-card: var(--workspace-radius);
  --shadow-sm: 0 3px 12px rgb(31 48 79 / 4%);
  --shadow-md: 0 6px 24px rgb(31 48 79 / 6%);
  color: var(--workspace-ink);
  background: var(--workspace-canvas);
  font-size: 15px;
  line-height: 1.5;
}
.pges-workspace-foundation :is(h1, h2, h3, h4) {
  font-family: "Manrope", "Segoe UI", sans-serif;
}
.pges-workspace-foundation :is(button, a, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--workspace-focus); outline-offset: 3px;
}
.pges-workspace-skip {
  position: fixed; top: 8px; left: 16px; z-index: 200; padding: 10px 14px;
  transform: translateY(-180%); border-radius: 8px; background: #fff; color: #22334f;
  font-weight: 700; border: 1px solid #405dcc;
}
.pges-workspace-skip:focus { transform: none; }

/* Same compact brand band in all three modules. */
.pges-workspace-foundation :is(.pges-global-header, .pges-app-header) {
  background: linear-gradient(110deg, #243758, #314b79);
  border-bottom: 1px solid #3e5881;
  box-shadow: 0 3px 12px rgb(23 40 67 / 10%);
  backdrop-filter: none;
}
.pges-workspace-foundation .pges-global-header__inner {
  width: calc(100% - 40px); max-width: 1600px; min-height: 66px; gap: 20px;
}
.pges-workspace-foundation .pges-app-header__container {
  max-width: 1600px; width: 100%; padding: 10px 20px;
}
.pges-workspace-foundation .pges-app-header__inner { min-height: 46px; gap: 20px; }
.pges-workspace-foundation :is(.pges-brand-mark--header) { width: 32px; height: 32px; }
.pges-workspace-foundation .pges-brand-name { font-size: 1rem; letter-spacing: .09em; }
.pges-workspace-foundation .pges-brand-subtitle { font-size: .57rem; letter-spacing: .2em; }
.pges-workspace-foundation :is(.pges-global-header__link, .pges-global-header__icon-btn) {
  min-height: 36px; border-radius: 9px; font-size: .82rem; font-weight: 650; color: #dce5f4;
  padding: 0 10px; gap: 7px;
}
.pges-workspace-foundation :is(.pges-global-header__link, .pges-global-header__icon-btn):hover {
  background: #ffffff12; color: #fff; transform: none;
}
.pges-workspace-foundation .pges-global-header__link.is-active {
  background: #dbe7ff1f; border-color: #a6c4ff5c; color: #fff;
}
.pges-workspace-foundation .pges-global-header__profile { min-height: 36px; padding: 3px 8px 3px 3px; }
.pges-workspace-foundation .pges-global-header__avatar { width: 28px; height: 28px; background: #2c4168; }
.pges-workspace-foundation #header-buttons { gap: 8px; }
.pges-workspace-foundation #header-buttons > button:not(:last-child) {
  min-height: 36px; padding: 8px 10px; border-radius: 9px; color: #dce5f4; font-size: .82rem;
  font-weight: 650; white-space: nowrap;
}
.pges-workspace-foundation #header-buttons > button:hover:not(:last-child) { color: #fff; background: #ffffff12; }
.pges-workspace-foundation #header-buttons > .planning-header-current { border: 1px solid transparent; }
.pges-workspace-foundation #header-buttons > .planning-header-current[aria-current="page"] {
  color: #fff; border-color: #a6c4ff5c; background: #dbe7ff1f;
}

/* Controls: familiar identity, less gloss, predictable targets. */
.pges-workspace-foundation :is(.primary-btn, .secondary-btn, .danger-btn, .ops-spaces-btn) {
  min-height: 38px; border-radius: 9px; font-weight: 650; font-size: .875rem;
  padding: 8px 13px; box-shadow: none; transform: none;
}
.pges-workspace-foundation :is(.primary-btn, .ops-spaces-btn--primary) {
  background: var(--workspace-blue); border-color: var(--workspace-blue); color: #fff;
  box-shadow: 0 2px 5px rgb(64 93 204 / 12%);
}
.pges-workspace-foundation :is(.primary-btn, .ops-spaces-btn--primary):hover:not(:disabled) {
  background: var(--workspace-blue-hover); border-color: var(--workspace-blue-hover); transform: none;
}
.pges-workspace-foundation .secondary-btn {
  background: #fff; border-color: var(--workspace-line); color: var(--workspace-ink);
}
.pges-workspace-foundation .secondary-btn:hover:not(:disabled) { background: #f3f6fc; border-color: #b8c8e5; transform: none; }
.pges-workspace-foundation .secondary-btn:is(.text-red-500, .text-red-600, .text-red-700) { color: #a53630; border-color: #eac8c5; }
.pges-workspace-foundation .danger-btn { background: #fff5f4; border-color: #eac8c5; color: #a53630; }
.pges-workspace-foundation :is(.input-field, .textarea-field, .select-field) {
  min-height: 40px; border-radius: 9px; border-color: #ccd6e5; background: #fff;
  font-size: .9rem; box-shadow: none; padding: 9px 12px;
}
.pges-workspace-foundation :is(.input-field, .textarea-field, .select-field):focus {
  border-color: #6b87db; box-shadow: 0 0 0 3px #405dcc12;
}
.pges-workspace-foundation :is(.input-field, .textarea-field, .select-field)::placeholder { color: #7c8ba0; }
.pges-workspace-foundation :is(.card, .crm-soft-section, .mgmt-card, .plan-card) {
  border-radius: var(--workspace-radius); border-color: var(--workspace-line); box-shadow: var(--shadow-sm);
}

/* Location remains explicit, but no longer consumes a second hero. */
.pges-workspace-foundation .pges-flow-navigation {
  border-radius: 12px; padding: 12px 16px; margin-bottom: 16px;
  background: #fff; border-color: var(--workspace-line); box-shadow: none; backdrop-filter: none; gap: 16px;
}
.pges-workspace-foundation .pges-flow-navigation__module { font-size: .65rem; letter-spacing: .07em; color: #64748b; }
.pges-workspace-foundation .pges-flow-navigation__trail-item { font-size: .86rem; font-weight: 600; }
.pges-workspace-foundation .pges-flow-navigation__helper { color: var(--workspace-muted); font-size: .8rem; }
.pges-workspace-foundation .pges-flow-navigation__action { min-height: 36px; padding: 8px 11px; border-radius: 8px; box-shadow: none; }
.pges-workspace-foundation .pges-flow-navigation__action:hover { transform: none; box-shadow: none; }
.pges-workspace-foundation .pges-flow-navigation__action--primary { background: var(--workspace-blue); }

/* CRM: narrower presentation hierarchy, more workspace above the fold. */
.pges-workspace-foundation #crm-app .pges-module-header__inner {
  max-width: 1440px; width: calc(100% - 40px); padding: 20px 0 8px;
}
.pges-workspace-foundation .pges-module-header__eyebrow { font-size: .65rem; letter-spacing: .09em; margin-bottom: 4px; }
.pges-workspace-foundation .pges-module-header__title { font-size: 1.7rem; font-weight: 750; letter-spacing: -.035em; }
.pges-workspace-foundation .pges-module-header__subtitle { font-size: .85rem; margin-top: 5px; }
.pges-workspace-foundation #crm-flow-navigation { max-width: 1480px; padding: 0 20px; margin-top: 10px; }
.pges-workspace-foundation #crm-app.pges-workspace-crm-selector .pges-module-header__inner {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px;
  padding-bottom: 18px;
}
.pges-workspace-foundation #crm-app.pges-workspace-crm-selector .pges-module-header__eyebrow { grid-column: 1; grid-row: 1; }
.pges-workspace-foundation #crm-app.pges-workspace-crm-selector .pges-module-header__title { grid-column: 1; grid-row: 2; align-self: center; }
.pges-workspace-foundation #crm-app.pges-workspace-crm-selector .pges-module-header__subtitle { grid-column: 1; grid-row: 3; }
.pges-workspace-foundation #crm-app.pges-workspace-crm-selector #crm-flow-navigation {
  grid-column: 2; grid-row: 2; align-self: center; justify-self: end;
  width: auto; max-width: none; margin: 0; padding: 0;
}
.pges-workspace-foundation #crm-app.pges-workspace-crm-selector .pges-flow-navigation {
  margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent;
}
.pges-workspace-foundation #crm-app.pges-workspace-crm-selector .pges-flow-navigation__copy { display: none; }
.pges-workspace-foundation #crm-app.pges-workspace-crm-selector .pges-flow-navigation__actions { display: flex; width: auto; }
.pges-workspace-foundation #crm-global-tools { max-width: 1440px; width: calc(100% - 40px); padding: 12px; border-radius: 12px; box-shadow: none; }
.pges-workspace-foundation .pges-module-actions__grid { gap: 14px; }
.pges-workspace-foundation .pges-module-actions__group { gap: 7px; }
.pges-workspace-foundation .pges-module-actions__title { font-size: .63rem; font-weight: 650; letter-spacing: .07em; }
.pges-workspace-foundation #crm-global-tools :is(.primary-btn, .secondary-btn) { min-height: 36px; font-size: .79rem; padding: 7px 10px; }
.pges-workspace-foundation #crm-base-selector { row-gap: 16px; }
.pges-workspace-foundation #crm-base-selector > .crm-soft-section { padding: 18px 20px; box-shadow: none; }
.pges-workspace-foundation #crm-base-selector .crm-hero-title { font-size: 1.35rem; }
.pges-workspace-foundation #crm-base-selector-description { margin-top: 6px; max-width: 90ch; }
.pges-workspace-foundation #crm-app > main { max-width: 1480px; padding: 14px 20px 32px; }
.pges-workspace-foundation .crm-context-integrated {
  border-radius: 14px; padding: 16px; gap: 12px; background: #fff; box-shadow: var(--shadow-sm);
}
.pges-workspace-foundation .crm-context-integrated__eyebrow { font-size: .65rem; letter-spacing: .05em; }
.pges-workspace-foundation .crm-context-integrated__title { max-width: none; font-size: 1.35rem; line-height: 1.3; }
.pges-workspace-foundation .crm-context-integrated__meta { margin-top: 7px; gap: 6px; font-size: .75rem; }
.pges-workspace-foundation .crm-context-integrated__meta span { padding: 4px 8px; border-radius: 7px; box-shadow: none; }
.pges-workspace-foundation .crm-context-integrated__controls { gap: 8px; }
.pges-workspace-foundation .crm-context-integrated__controls :is(select, .primary-btn, .secondary-btn) {
  min-height: 38px; font-size: .8rem; border-radius: 9px; box-shadow: none;
}
.pges-workspace-foundation .crm-soft-section { background: #fff; }
.pges-workspace-foundation .crm-hero-shell { padding: 20px; }
.pges-workspace-foundation .crm-hero-shell::before { background: none; }
.pges-workspace-foundation #crm-profile-hero-title { font-size: 1.3rem; line-height: 1.35; letter-spacing: -.025em; max-width: 40ch; }
.pges-workspace-foundation #crm-profile-hero-description { font-size: .87rem; line-height: 1.6; max-width: 62ch; margin-top: 8px; }
.pges-workspace-foundation .crm-chip { border-radius: 7px; font-size: .72rem; }
.pges-workspace-foundation .crm-hero-actions :is(.primary-btn, .secondary-btn) { min-height: 38px; border-radius: 9px; }
.pges-workspace-foundation .crm-hero-total-card { border-radius: 12px; padding: 14px 16px; box-shadow: none; background: #f7f9fd; }
.pges-workspace-foundation .crm-hero-total-card__value { font-size: 1.8rem; }
.pges-workspace-foundation .crm-hero-total-card__label { font-size: .64rem; letter-spacing: .07em; }
.pges-workspace-foundation .crm-hero-total-card__meta { font-size: .78rem; }
.pges-workspace-foundation .crm-hero-title { font-size: 1.45rem; letter-spacing: -.025em; }
.pges-workspace-foundation .crm-hero-text { font-size: .87rem; }
.pges-workspace-foundation .crm-kpi-card { padding: 16px; }
.pges-workspace-foundation .crm-stat-icon { width: 36px; height: 36px; border-radius: 10px; }

/* Planning/Management: retain the guided method, reclaim side/content space. */
.pges-workspace-foundation #app > main { max-width: 1480px; padding: 22px 20px 32px; }
.pges-workspace-foundation.planning-workspace-active #app > main,
.pges-workspace-foundation #app > main:has(.dashboard-planning-intro) {
  width: 100%; max-width: 1840px; padding-inline: clamp(20px, 1.6vw, 30px);
}
.pges-workspace-foundation .dashboard-shell:has(.dashboard-planning-intro) { max-width: none; width: 100%; }
.pges-workspace-foundation #planning-shell:not(.planning-shell--nav-collapsed) { grid-template-columns: 232px minmax(0, 1fr); gap: 20px; }
.pges-workspace-foundation #planning-shell .planning-shell__intro { background: #fff; padding: 14px; border-color: var(--workspace-line); }
.pges-workspace-foundation #planning-shell .planning-block-card { border-color: var(--workspace-line); background: #fff; padding: 12px; }
.pges-workspace-foundation #planning-shell .planning-shell__sidebar-inner { gap: 12px; }
.pges-workspace-foundation #planning-shell .planning-stage-surface { padding: 24px; border-radius: 14px; box-shadow: var(--shadow-sm); }
.pges-workspace-foundation #planning-shell .planning-guide-rail { border-radius: 12px; box-shadow: none; }
.pges-workspace-foundation #mgmt-shell { gap: 20px; }
.pges-workspace-foundation #mgmt-shell .mgmt-sidebar {
  padding: 16px; border-radius: 14px; background: #fff; color: var(--workspace-ink);
  border: 1px solid var(--workspace-line); box-shadow: none;
}
.pges-workspace-foundation #mgmt-shell .mgmt-sidebar::before { background: none; }
.pges-workspace-foundation #mgmt-shell .mgmt-sidebar__brand { border-color: var(--workspace-line); padding: 10px 4px 14px; }
.pges-workspace-foundation #mgmt-shell .mgmt-sidebar__logo { background: #314b79; border-color: #314b79; flex: 0 0 40px; width: 40px; height: 40px; }
.pges-workspace-foundation #mgmt-shell .mgmt-sidebar__logo img { width: 30px; height: 30px; }
.pges-workspace-foundation #mgmt-shell .mgmt-sidebar__title { font-family: "Manrope", "Segoe UI", sans-serif; font-size: 1.1rem; color: var(--workspace-ink); }
.pges-workspace-foundation #mgmt-shell .mgmt-sidebar__subtitle { color: var(--workspace-muted); max-width: 136px; }
.pges-workspace-foundation #mgmt-shell .mgmt-nav__divider { background: var(--workspace-line); }
.pges-workspace-foundation #mgmt-shell .mgmt-nav__item {
  padding: 10px; min-height: 42px; border-radius: 9px; background: transparent;
  border-color: transparent; color: var(--workspace-ink); font-size: .85rem; box-shadow: none; transform: none;
}
.pges-workspace-foundation #mgmt-shell .mgmt-nav__item--muted { color: var(--workspace-muted); }
.pges-workspace-foundation #mgmt-shell .mgmt-nav__item:hover { background: #f3f6fc; border-color: var(--workspace-line); box-shadow: none; transform: none; }
.pges-workspace-foundation #mgmt-shell .mgmt-nav__item.is-active { background: #edf2ff; border-color: #c9d7f6; color: #324eb5; box-shadow: none; }
.pges-workspace-foundation #mgmt-shell .mgmt-page-hero { box-shadow: none; background: #fff; border-radius: 14px; }
.pges-workspace-foundation :is(.dashboard-hub-intro, .dashboard-planning-intro) { box-shadow: none; border-radius: 14px; }
.pges-workspace-foundation .dashboard-planning-intro { padding: 20px 24px; }
.pges-workspace-foundation :is(.dashboard-hub-intro, .dashboard-planning-intro) h2 { font-size: 1.8rem; letter-spacing: -.035em; line-height: 1.25; }
.pges-workspace-foundation :is(.dashboard-hub-intro, .dashboard-planning-intro) p { font-size: .92rem; }
.pges-workspace-foundation .dashboard-planning-route { padding: 14px; border-radius: 11px; }
@media (min-width: 1025px) {
  .pges-workspace-foundation #planning-shell .planning-shell__sidebar { align-self: stretch; }
  .pges-workspace-foundation #planning-shell .planning-shell__sidebar-inner {
    top: 82px; max-height: var(--workspace-sidebar-height, calc(100dvh - 160px));
    min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable;
  }
  .pges-workspace-foundation #mgmt-shell { grid-template-columns: 232px minmax(0, 1fr); }
  .pges-workspace-foundation #mgmt-shell .mgmt-sidebar {
    top: 82px; max-height: var(--workspace-sidebar-height, calc(100dvh - 160px));
    min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable;
  }
}

/* Demandas keeps independent list/detail scrolling and the established workflow. */
.pges-workspace-foundation .ops-workbench {
  --ops-border: var(--workspace-line); --ops-ink: var(--workspace-ink); --ops-muted: var(--workspace-muted);
}
.pges-workspace-foundation .ops-workbench-layout { grid-template-columns: 208px minmax(0, 1fr); gap: 18px; }
.pges-workspace-foundation .ops-workbench-rail { border-right: 1px solid var(--workspace-line); padding-right: 12px; }
.pges-workspace-foundation .ops-workbench-head h1 { font-size: 1.18rem; letter-spacing: -.025em; }
.pges-workspace-foundation .ops-workbench-nav .operations-view-btn { border-radius: 9px; font-size: .86rem; font-weight: 650; }
.pges-workspace-foundation .ops-workbench .operations-toolbar { box-shadow: none; border-radius: 12px; padding: 14px; }
.pges-workspace-foundation .ops-create-menu > summary { background: var(--workspace-blue); border-color: var(--workspace-blue); border-radius: 9px; }
.pges-workspace-foundation .ops-create-menu > summary:hover { background: var(--workspace-blue-hover); }
.pges-workspace-foundation .ops-mailbox { border-radius: 12px; box-shadow: var(--shadow-sm); }
.pges-workspace-foundation .ops-mail-list { background: #fbfcfe; }
.pges-workspace-foundation .ops-mail-list__heading { background: #f8faff; font-size: .82rem; }
.pges-workspace-foundation .ops-mail-item { min-height: 80px; padding: 12px 15px; }
.pges-workspace-foundation .ops-mail-item__title { font-size: .92rem; font-weight: 650; }
.pges-workspace-foundation .ops-mail-item.is-selected { background: #edf2ff; border-left-color: var(--workspace-blue); }
.pges-workspace-foundation .ops-mail-detail h2 { font-size: 1.45rem; letter-spacing: -.03em; }
.pges-workspace-foundation .ops-spaces { --spaces-blue: var(--workspace-blue); --spaces-line: var(--workspace-line); }
.pges-workspace-foundation .ops-spaces-card { background: #fff; box-shadow: var(--shadow-sm); border-radius: 14px; }

@media (min-width: 951px) and (max-width: 1200px) {
  .pges-workspace-foundation .ops-workbench-layout { grid-template-columns: 196px minmax(0, 1fr); gap: 14px; }
}

@media (min-width: 981px) and (max-width: 1320px) {
  .pges-workspace-foundation .pges-global-header__inner { gap: 12px; }
  .pges-workspace-foundation .pges-global-header__link { font-size: .77rem; padding: 0 8px; }
  .pges-workspace-foundation #header-buttons { gap: 4px; }
  .pges-workspace-foundation #header-buttons > button:not(:last-child) { padding: 8px; font-size: .76rem; }
}
@media (max-width: 1100px) {
  .pges-workspace-foundation #planning-shell:not(.planning-shell--nav-collapsed) { grid-template-columns: 190px minmax(0, 1fr); gap: 16px; }
  .pges-workspace-foundation #planning-shell .planning-stage-surface { padding: 20px; }
}
@media (max-width: 980px) {
  .pges-workspace-foundation .pges-global-header__inner { min-height: 60px; width: calc(100% - 28px); padding: 10px 0; gap: 8px; }
  .pges-workspace-foundation .pges-global-header__menu { padding-top: 8px; }
  .pges-workspace-foundation .pges-app-header__container { padding: 10px 14px; }
  .pges-workspace-foundation #planning-shell:not(.planning-shell--nav-collapsed) { grid-template-columns: minmax(0, 1fr); }
  .pges-workspace-foundation .ops-workbench-rail { padding-right: 0; border-right: 0; }
}
@media (max-width: 950px) {
  .pges-workspace-foundation .ops-workbench-layout { display: block; }
}
@media (max-width: 640px) {
  .pges-workspace-foundation #app > main, .pges-workspace-foundation #crm-app > main { padding: 14px 12px 24px; }
  .pges-workspace-foundation #crm-app .pges-module-header__inner { width: calc(100% - 24px); padding-top: 16px; }
  .pges-workspace-foundation #crm-flow-navigation { padding: 0 12px; }
  .pges-workspace-foundation #crm-global-tools { width: calc(100% - 24px); }
  .pges-workspace-foundation #crm-app.pges-workspace-crm-selector .pges-module-header__inner { column-gap: 12px; }
  .pges-workspace-foundation #crm-app.pges-workspace-crm-selector .pges-module-header__subtitle { grid-column: 1 / -1; }
  .pges-workspace-foundation.planning-workspace-active #app > main,
  .pges-workspace-foundation #app > main:has(.dashboard-planning-intro) { padding-inline: 12px; }
  .pges-workspace-foundation .pges-flow-navigation { padding: 12px; }
  .pges-workspace-foundation .pges-module-header__title { font-size: 1.5rem; }
  .pges-workspace-foundation #planning-shell .planning-stage-surface { padding: 16px; }
  .pges-workspace-foundation .dashboard-planning-intro { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { .pges-workspace-foundation * { scroll-behavior: auto; } }
@media print {
  .pges-workspace-skip { display: none; }
  body.pges-workspace-foundation { background: #fff; }
}
